primitive-app 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,5 +4,5 @@
4
4
  export { default as TestRunner } from "./TestRunner.vue";
5
5
  export type { RunnableTest, TestGroup, TestLogFn } from "./types";
6
6
  export type { TestDocumentHandle } from "./lib";
7
- export { TEST_DOCUMENT_PREFIX, beginTestRun, buildRunnableTests, createTestDocument, deleteAllTestDocuments, destroyTestDocument, endTestRun, } from "./lib";
7
+ export { TEST_DOCUMENT_PREFIX, buildRunnableTests, createTestDocument, deleteAllTestDocuments, destroyTestDocument, } from "./lib";
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dev-tools/test-harness/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGzD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGhD,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,GACX,MAAM,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dev-tools/test-harness/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGzD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGhD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,OAAO,CAAC"}
@@ -33,15 +33,6 @@ export declare function createTestDocument(): Promise<TestDocumentHandle>;
33
33
  * Close and delete an ephemeral test document.
34
34
  */
35
35
  export declare function destroyTestDocument(handle: TestDocumentHandle): Promise<void>;
36
- /**
37
- * Close all host application documents before running document-dependent tests.
38
- * Call this at the start of a test run if any tests create test documents.
39
- */
40
- export declare function beginTestRun(): Promise<number>;
41
- /**
42
- * Restore host application documents after a test run.
43
- */
44
- export declare function endTestRun(): Promise<void>;
45
36
  /**
46
37
  * Delete all leftover test documents. Called at startup and when the
47
38
  * overlay initializes to clean up after interrupted test runs.
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/dev-tools/test-harness/lib.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAMvD,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAOD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA+BtE;AAID;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAMD;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAyBpD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBhD;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAmD9D;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAStE"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/dev-tools/test-harness/lib.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAMvD,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAOD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CA+BtE;AAID;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAmD9D;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,YAAY,EAAE,CAStE"}
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsOverlay.vue.d.ts","sourceRoot":"","sources":["../../../src/dev-tools/vite-plugin/DevToolsOverlay.vue"],"names":[],"mappings":"AAoVA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,KAAK;IACb,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AA6bD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"DevToolsOverlay.vue.d.ts","sourceRoot":"","sources":["../../../src/dev-tools/vite-plugin/DevToolsOverlay.vue"],"names":[],"mappings":"AA8UA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,KAAK;IACb,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAubD,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
package/dist/index.cjs CHANGED
@@ -48,4 +48,4 @@ If you want to hide the \`${e}\`, you can wrap it with our VisuallyHidden compon
48
48
 
49
49
  For more information, see https://www.reka-ui.com/docs/components/${r}`,c=`Warning: Missing \`Description\` or \`aria-describedby="undefined"\` for ${n}.`;(0,t.onMounted)(()=>{document.getElementById(i)||console.warn(s);let e=o.value?.getAttribute(`aria-describedby`);a&&e&&(document.getElementById(a)||console.warn(c))})}var Bn=(0,t.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}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,i=n,a=sn(),{forwardRef:o,currentElement:s}=G();return a.titleId||=Jt(void 0,`reka-dialog-title`),a.descriptionId||=Jt(void 0,`reka-dialog-description`),(0,t.onMounted)(()=>{a.contentElement=s,ct()!==document.body&&(a.triggerElement.value=ct())}),process.env.NODE_ENV!==`production`&&zn({titleName:`DialogTitle`,contentName:`DialogContent`,componentLink:`dialog.html#title`,titleId:a.titleId,descriptionId:a.descriptionId,contentElement:s}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(jn),{"as-child":``,loop:``,trapped:r.trapFocus,onMountAutoFocus:n[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:n[6]||=e=>i(`closeAutoFocus`,e)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(_n),(0,t.mergeProps)({id:(0,t.unref)(a).contentId,ref:(0,t.unref)(o),as:e.as,"as-child":e.asChild,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":(0,t.unref)(a).descriptionId,"aria-labelledby":(0,t.unref)(a).titleId,"data-state":(0,t.unref)(Fn)((0,t.unref)(a).open.value)},e.$attrs,{onDismiss:n[0]||=e=>(0,t.unref)(a).onOpenChange(!1),onEscapeKeyDown:n[1]||=e=>i(`escapeKeyDown`,e),onFocusOutside:n[2]||=e=>i(`focusOutside`,e),onInteractOutside:n[3]||=e=>i(`interactOutside`,e),onPointerDownOutside:n[4]||=e=>i(`pointerDownOutside`,e)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`]))}}),Vn=(0,t.defineComponent)({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,i=n,a=sn(),o=At(i),{forwardRef:s,currentElement:c}=G();return Kt(c),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(Bn,(0,t.mergeProps)({...r,...(0,t.unref)(o)},{ref:(0,t.unref)(s),"trap-focus":(0,t.unref)(a).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:n[0]||=e=>{e.defaultPrevented||(e.preventDefault(),(0,t.unref)(a).triggerElement.value?.focus())},onPointerDownOutside:n[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:n[2]||=e=>{e.preventDefault()}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),Hn=(0,t.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}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,i=At(n);G();let a=sn(),o=(0,t.ref)(!1),s=(0,t.ref)(!1);return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(Bn,(0,t.mergeProps)({...r,...(0,t.unref)(i)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:n[0]||=e=>{e.defaultPrevented||(o.value||(0,t.unref)(a).triggerElement.value?.focus(),e.preventDefault()),o.value=!1,s.value=!1},onInteractOutside:n[1]||=e=>{e.defaultPrevented||(o.value=!0,e.detail.originalEvent.type===`pointerdown`&&(s.value=!0));let n=e.target;(0,t.unref)(a).triggerElement.value?.contains(n)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&s.value&&e.preventDefault()}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Un=(0,t.defineComponent)({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,i=n,a=sn(),o=At(i),{forwardRef:s}=G();return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(nn),{present:e.forceMount||(0,t.unref)(a).open.value},{default:(0,t.withCtx)(()=>[(0,t.unref)(a).modal.value?((0,t.openBlock)(),(0,t.createBlock)(Vn,(0,t.mergeProps)({key:0,ref:(0,t.unref)(s)},{...r,...(0,t.unref)(o),...e.$attrs}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)):((0,t.openBlock)(),(0,t.createBlock)(Hn,(0,t.mergeProps)({key:1,ref:(0,t.unref)(s)},{...r,...(0,t.unref)(o),...e.$attrs}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Wn=(0,t.defineComponent)({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let n=e;G();let r=sn();return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)(n,{id:(0,t.unref)(r).descriptionId}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),Gn=(0,t.defineComponent)({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=sn();return Et(!0),G(),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{as:e.as,"as-child":e.asChild,"data-state":(0,t.unref)(n).open.value?`open`:`closed`,style:{"pointer-events":`auto`}},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),Kn=(0,t.defineComponent)({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=sn(),{forwardRef:r}=G();return(e,i)=>(0,t.unref)(n)?.modal.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(nn),{key:0,present:e.forceMount||(0,t.unref)(n).open.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(Gn,(0,t.mergeProps)(e.$attrs,{ref:(0,t.unref)(r),as:e.as,"as-child":e.asChild}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3},8,[`present`])):(0,t.createCommentVNode)(`v-if`,!0)}}),qn=(0,t.defineComponent)({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=(0,i.useMounted)();return(e,r)=>(0,t.unref)(n)||e.forceMount?((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[(0,t.renderSlot)(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):(0,t.createCommentVNode)(`v-if`,!0)}}),Jn=(0,t.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 n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(qn),(0,t.normalizeProps)((0,t.guardReactiveProps)(n)),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Yn=(0,t.defineComponent)({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let n=e,r=sn();return G(),(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)(n,{id:(0,t.unref)(r).titleId}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),Xn=`data-reka-collection-item`;function Zn(e={}){let{key:n=``,isProvider:r=!1}=e,i=`${n}CollectionProvider`,a;if(r){let e=(0,t.ref)(new Map);a={collectionRef:(0,t.ref)(),itemMap:e},(0,t.provide)(i,a)}else a=(0,t.inject)(i);let o=(e=!1)=>{let t=a.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Xn}]`)),r=Array.from(a.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},s=(0,t.defineComponent)({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:n,attrs:r}){let{primitiveElement:i,currentElement:o}=on();return(0,t.watch)(o,()=>{a.collectionRef.value=o.value}),()=>(0,t.h)(rn,{ref:i,...r},n)}}),c=(0,t.defineComponent)({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:n,attrs:r}){let{primitiveElement:i,currentElement:o}=on();return(0,t.watchEffect)(n=>{if(o.value){let r=(0,t.markRaw)(o.value);a.itemMap.value.set(r,{ref:o.value,value:e.value}),n(()=>a.itemMap.value.delete(r))}}),()=>(0,t.h)(rn,{...r,[Xn]:``,ref:i},n)}});return{getItems:o,reactiveItems:(0,t.computed)(()=>Array.from(a.itemMap.value.values())),itemMapSize:(0,t.computed)(()=>a.itemMap.value.size),CollectionSlot:s,CollectionItem:c}}var Qn=(0,t.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,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),$n=(0,t.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 n=e,{primitiveElement:r,currentElement:i}=on();return(0,t.watch)((0,t.computed)(()=>n.checked??n.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,t.openBlock)(),(0,t.createBlock)(Qn,(0,t.mergeProps)({ref_key:`primitiveElement`,ref:r},{...n,...e.$attrs},{as:`input`}),null,16))}}),er=(0,t.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 n=e,r=(0,t.computed)(()=>typeof n.value==`object`&&Array.isArray(n.value)&&n.value.length===0&&n.required),i=(0,t.computed)(()=>typeof n.value==`string`||typeof n.value==`number`||typeof n.value==`boolean`||n.value===null||n.value===void 0?[{name:n.name,value:n.value}]:typeof n.value==`object`&&Array.isArray(n.value)?n.value.flatMap((e,t)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${n.name}[${t}][${e}]`,value:r})):{name:`${n.name}[${t}]`,value:e}):n.value!==null&&typeof n.value==`object`&&!Array.isArray(n.value)?Object.entries(n.value).map(([e,t])=>({name:`${n.name}[${e}]`,value:t})):[]);return(e,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createCommentVNode)(` We render single input if it's required `),r.value?((0,t.openBlock)(),(0,t.createBlock)($n,(0,t.mergeProps)({key:e.name},{...n,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(i.value,r=>((0,t.openBlock)(),(0,t.createBlock)($n,(0,t.mergeProps)({key:r.name},{ref_for:!0},{...n,...e.$attrs},{name:r.name,value:r.value}),null,16,[`name`,`value`]))),128))],2112))}}),[tr,nr]=st(`PopperRoot`),rr=(0,t.defineComponent)({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let n=(0,t.ref)();return nr({anchor:n,onAnchorChange:e=>n.value=e}),(e,n)=>(0,t.renderSlot)(e.$slots,`default`)}}),ir=(0,t.defineComponent)({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,{forwardRef:r,currentElement:i}=G(),a=tr();return(0,t.watchPostEffect)(()=>{a.onAnchorChange(n.reference??i.value)}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{ref:(0,t.unref)(r),as:e.as,"as-child":e.asChild},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function ar(e){return e!==null}function or(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]=sr(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}}function sr(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var cr=[`top`,`right`,`bottom`,`left`],lr=Math.min,ur=Math.max,dr=Math.round,fr=Math.floor,pr=e=>({x:e,y:e}),mr={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function hr(e,t,n){return ur(e,lr(t,n))}function gr(e,t){return typeof e==`function`?e(t):e}function _r(e){return e.split(`-`)[0]}function vr(e){return e.split(`-`)[1]}function yr(e){return e===`x`?`y`:`x`}function br(e){return e===`y`?`height`:`width`}function xr(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Sr(e){return yr(xr(e))}function Cr(e,t,n){n===void 0&&(n=!1);let r=vr(e),i=Sr(e),a=br(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Mr(o)),[o,Mr(o)]}function wr(e){let t=Mr(e);return[Tr(e),t,Tr(t)]}function Tr(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Er=[`left`,`right`],Dr=[`right`,`left`],Or=[`top`,`bottom`],kr=[`bottom`,`top`];function Ar(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Dr:Er:t?Er:Dr;case`left`:case`right`:return t?Or:kr;default:return[]}}function jr(e,t,n,r){let i=vr(e),a=Ar(_r(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Tr)))),a}function Mr(e){let t=_r(e);return mr[t]+e.slice(t.length)}function Nr(e){return{top:0,right:0,bottom:0,left:0,...e}}function Pr(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Nr(e)}function Fr(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 Ir(e,t,n){let{reference:r,floating:i}=e,a=xr(t),o=Sr(t),s=br(o),c=_r(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(vr(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 Lr(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}=gr(t,e),p=Pr(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Fr(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=Fr(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 Rr=50,zr=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Lr},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Ir(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<Rr&&(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}=Ir(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Br=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}=gr(e,t)||{};if(l==null)return{};let d=Pr(u),f={x:n,y:r},p=Sr(i),m=br(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=lr(d[_],T),D=lr(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=hr(O,A,k),M=!c.arrow&&vr(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}}}),Vr=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}=gr(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=_r(r),_=xr(o),v=_r(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Mr(o)]:wr(o)),x=p!==`none`;!d&&x&&b.push(...jr(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=Cr(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`&&_!==xr(t))||T.every(e=>xr(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=xr(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 Hr(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Ur(e){return cr.some(t=>e[t]>=0)}var Wr=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=gr(e,t);switch(i){case`referenceHidden`:{let e=Hr(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Ur(e)}}}case`escaped`:{let e=Hr(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Ur(e)}}}default:return{}}}}},Gr=new Set([`left`,`top`]);async function Kr(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=_r(n),s=vr(n),c=xr(n)===`y`,l=Gr.has(o)?-1:1,u=a&&c?-1:1,d=gr(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 qr=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 Kr(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}}}}},Jr=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}=gr(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=xr(_r(i)),p=yr(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=hr(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=hr(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}}}}}},Yr=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}=gr(e,t),u={x:n,y:r},d=xr(i),f=yr(d),p=u[f],m=u[d],h=gr(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=Gr.has(_r(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Xr=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}=gr(e,t),u=await o.detectOverflow(t,l),d=_r(i),f=vr(i),p=xr(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=lr(h-u[g],v),x=lr(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=ur(u.left,0),t=ur(u.right,0),n=ur(u.top,0),r=ur(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:ur(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:ur(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 Zr(){return typeof window<`u`}function Qr(e){return ti(e)?(e.nodeName||``).toLowerCase():`#document`}function $r(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ei(e){return((ti(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ti(e){return Zr()?e instanceof Node||e instanceof $r(e).Node:!1}function ni(e){return Zr()?e instanceof Element||e instanceof $r(e).Element:!1}function ri(e){return Zr()?e instanceof HTMLElement||e instanceof $r(e).HTMLElement:!1}function ii(e){return!Zr()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof $r(e).ShadowRoot}function ai(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=gi(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function oi(e){return/^(table|td|th)$/.test(Qr(e))}function si(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ci=/transform|translate|scale|rotate|perspective|filter/,li=/paint|layout|strict|content/,ui=e=>!!e&&e!==`none`,di;function fi(e){let t=ni(e)?gi(e):e;return ui(t.transform)||ui(t.translate)||ui(t.scale)||ui(t.rotate)||ui(t.perspective)||!mi()&&(ui(t.backdropFilter)||ui(t.filter))||ci.test(t.willChange||``)||li.test(t.contain||``)}function pi(e){let t=vi(e);for(;ri(t)&&!hi(t);){if(fi(t))return t;if(si(t))return null;t=vi(t)}return null}function mi(){return di??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),di}function hi(e){return/^(html|body|#document)$/.test(Qr(e))}function gi(e){return $r(e).getComputedStyle(e)}function _i(e){return ni(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function vi(e){if(Qr(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ii(e)&&e.host||ei(e);return ii(t)?t.host:t}function yi(e){let t=vi(e);return hi(t)?e.ownerDocument?e.ownerDocument.body:e.body:ri(t)&&ai(t)?t:yi(t)}function bi(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=yi(e),i=r===e.ownerDocument?.body,a=$r(r);if(i){let e=xi(a);return t.concat(a,a.visualViewport||[],ai(r)?r:[],e&&n?bi(e):[])}else return t.concat(r,bi(r,[],n))}function xi(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Si(e){let t=gi(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=ri(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=dr(n)!==a||dr(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Ci(e){return ni(e)?e:e.contextElement}function wi(e){let t=Ci(e);if(!ri(t))return pr(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Si(t),o=(a?dr(n.width):n.width)/r,s=(a?dr(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Ti=pr(0);function Ei(e){let t=$r(e);return!mi()||!t.visualViewport?Ti:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Di(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==$r(e)?!1:t}function Oi(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Ci(e),o=pr(1);t&&(r?ni(r)&&(o=wi(r)):o=wi(e));let s=Di(a,n,r)?Ei(a):pr(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=$r(a),t=r&&ni(r)?$r(r):r,n=e,i=xi(n);for(;i&&r&&t!==n;){let e=wi(i),t=i.getBoundingClientRect(),r=gi(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=$r(i),i=xi(n)}}return Fr({width:u,height:d,x:c,y:l})}function ki(e,t){let n=_i(e).scrollLeft;return t?t.left+n:Oi(ei(e)).left+n}function Ai(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-ki(e,n),y:n.top+t.scrollTop}}function ji(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=ei(r),s=t?si(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=pr(1),u=pr(0),d=ri(r);if((d||!d&&!a)&&((Qr(r)!==`body`||ai(o))&&(c=_i(r)),d)){let e=Oi(r);l=wi(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Ai(o,c):pr(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 Mi(e){return Array.from(e.getClientRects())}function Ni(e){let t=ei(e),n=_i(e),r=e.ownerDocument.body,i=ur(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ur(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+ki(e),s=-n.scrollTop;return gi(r).direction===`rtl`&&(o+=ur(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Pi=25;function Fi(e,t){let n=$r(e),r=ei(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=mi();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=ki(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<=Pi&&(a-=o)}else l<=Pi&&(a+=l);return{width:a,height:o,x:s,y:c}}function Ii(e,t){let n=Oi(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=ri(e)?wi(e):pr(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Li(e,t,n){let r;if(t===`viewport`)r=Fi(e,n);else if(t===`document`)r=Ni(ei(e));else if(ni(t))r=Ii(t,n);else{let n=Ei(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Fr(r)}function Ri(e,t){let n=vi(e);return n===t||!ni(n)||hi(n)?!1:gi(n).position===`fixed`||Ri(n,t)}function zi(e,t){let n=t.get(e);if(n)return n;let r=bi(e,[],!1).filter(e=>ni(e)&&Qr(e)!==`body`),i=null,a=gi(e).position===`fixed`,o=a?vi(e):e;for(;ni(o)&&!hi(o);){let t=gi(o),n=fi(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||ai(o)&&!n&&Ri(e,o))?r=r.filter(e=>e!==o):i=t,o=vi(o)}return t.set(e,r),r}function Bi(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?si(t)?[]:zi(t,this._c):[].concat(n),r],o=Li(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=Li(t,a[e],i);s=ur(n.top,s),c=lr(n.right,c),l=lr(n.bottom,l),u=ur(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Vi(e){let{width:t,height:n}=Si(e);return{width:t,height:n}}function Hi(e,t,n){let r=ri(t),i=ei(t),a=n===`fixed`,o=Oi(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=pr(0);function l(){c.x=ki(i)}if(r||!r&&!a)if((Qr(t)!==`body`||ai(i))&&(s=_i(t)),r){let e=Oi(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?Ai(i,s):pr(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 Ui(e){return gi(e).position===`static`}function Wi(e,t){if(!ri(e)||gi(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return ei(e)===n&&(n=n.ownerDocument.body),n}function Gi(e,t){let n=$r(e);if(si(e))return n;if(!ri(e)){let t=vi(e);for(;t&&!hi(t);){if(ni(t)&&!Ui(t))return t;t=vi(t)}return n}let r=Wi(e,t);for(;r&&oi(r)&&Ui(r);)r=Wi(r,t);return r&&hi(r)&&Ui(r)&&!fi(r)?n:r||pi(e)||n}var Ki=async function(e){let t=this.getOffsetParent||Gi,n=this.getDimensions,r=await n(e.floating);return{reference:Hi(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function qi(e){return gi(e).direction===`rtl`}var Ji={convertOffsetParentRelativeRectToViewportRelativeRect:ji,getDocumentElement:ei,getClippingRect:Bi,getOffsetParent:Gi,getElementRects:Ki,getClientRects:Mi,getDimensions:Vi,getScale:wi,isElement:ni,isRTL:qi};function Yi(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Xi(e,t){let n=null,r,i=ei(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=fr(d),h=fr(i.clientWidth-(u+f)),g=fr(i.clientHeight-(d+p)),_=fr(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:ur(0,lr(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&&!Yi(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 Zi(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=Ci(e),u=i||a?[...l?bi(l):[],...t?bi(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Xi(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?Oi(e):null;c&&g();function g(){let t=Oi(e);h&&!Yi(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 Qi=qr,$i=Jr,ea=Vr,ta=Xr,na=Wr,ra=Br,ia=Yr,aa=(e,t,n)=>{let r=new Map,i={platform:Ji,...n},a={...i.platform,_c:r};return zr(e,t,{...i,platform:a})},q=e.n({Vue:()=>t,Vue2:()=>void 0,del:()=>ca,install:()=>oa,isVue2:()=>!1,isVue3:()=>!0,set:()=>sa});e.r(q,require(`vue`));function oa(){}function sa(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 ca(e,t){if(Array.isArray(e)){e.splice(t,1);return}delete e[t]}function la(e){return typeof e==`object`&&!!e&&`$el`in e}function ua(e){if(la(e)){let t=e.$el;return ti(t)&&Qr(t)===`#comment`?null:t}return e}function da(e){return typeof e==`function`?e():(0,q.unref)(e)}function fa(e){return{name:`arrow`,options:e,fn(t){let n=ua(da(e.element));return n==null?{}:ra({element:n,padding:e.padding}).fn(t)}}}function pa(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ma(e,t){let n=pa(e);return Math.round(t*n)/n}function ha(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=(0,q.computed)(()=>da(n.open)??!0),a=(0,q.computed)(()=>da(n.middleware)),o=(0,q.computed)(()=>da(n.placement)??`bottom`),s=(0,q.computed)(()=>da(n.strategy)??`absolute`),c=(0,q.computed)(()=>da(n.transform)??!0),l=(0,q.computed)(()=>ua(e.value)),u=(0,q.computed)(()=>ua(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=ma(u.value,d.value),n=ma(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...pa(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;aa(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 ga={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},[_a,va]=st(`PopperContent`),ya=(0,t.defineComponent)({inheritAttrs:!1,__name:`PopperContent`,props:(0,t.mergeDefaults)({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...ga}),emits:[`placed`],setup(e,{emit:n}){let r=e,a=n,o=tr(),{forwardRef:s,currentElement:c}=G(),l=(0,t.ref)(),u=(0,t.ref)(),{width:d,height:f}=Yt(u),p=(0,t.computed)(()=>r.side+(r.align===`center`?``:`-${r.align}`)),m=(0,t.computed)(()=>typeof r.collisionPadding==`number`?r.collisionPadding:{top:0,right:0,bottom:0,left:0,...r.collisionPadding}),h=(0,t.computed)(()=>Array.isArray(r.collisionBoundary)?r.collisionBoundary:[r.collisionBoundary]),g=(0,t.computed)(()=>({padding:m.value,boundary:h.value.filter(ar),altBoundary:h.value.length>0})),_=(0,t.computed)(()=>({mainAxis:r.sideFlip,crossAxis:r.alignFlip})),v=(0,i.computedEager)(()=>[Qi({mainAxis:r.sideOffset+f.value,alignmentAxis:r.alignOffset}),r.prioritizePosition&&r.avoidCollisions&&ea({...g.value,..._.value}),r.avoidCollisions&&$i({mainAxis:!0,crossAxis:!!r.prioritizePosition,limiter:r.sticky===`partial`?ia():void 0,...g.value}),!r.prioritizePosition&&r.avoidCollisions&&ea({...g.value,..._.value}),ta({...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&&fa({element:u.value,padding:r.arrowPadding}),or({arrowWidth:d.value,arrowHeight:f.value}),r.hideWhenDetached&&na({strategy:`referenceHidden`,...g.value})]),{floatingStyles:y,placement:b,isPositioned:x,middlewareData:S,update:C}=ha((0,t.computed)(()=>r.reference??o.anchor.value),l,{strategy:r.positionStrategy,placement:p,whileElementsMounted:(...e)=>Zi(...e,{layoutShift:!r.disableUpdateOnLayoutShift,animationFrame:r.updatePositionStrategy===`always`}),middleware:v}),w=(0,t.computed)(()=>sr(b.value)[0]),T=(0,t.computed)(()=>sr(b.value)[1]);(0,t.watchPostEffect)(()=>{x.value&&a(`placed`)});let E=(0,t.computed)(()=>{let e=S.value.arrow?.centerOffset!==0;return r.hideShiftedArrow&&e}),D=(0,t.ref)(``);return(0,t.watchEffect)(()=>{c.value&&(D.value=window.getComputedStyle(c.value).zIndex)}),va({placedSide:w,onArrowChange:e=>u.value=e,arrowX:(0,t.computed)(()=>S.value.arrow?.x??0),arrowY:(0,t.computed)(()=>S.value.arrow?.y??0),shouldHideArrow:E}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`floatingRef`,ref:l,"data-reka-popper-content-wrapper":``,style:(0,t.normalizeStyle)({...(0,t.unref)(y),transform:(0,t.unref)(x)?(0,t.unref)(y).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:D.value,"--reka-popper-transform-origin":[(0,t.unref)(S).transformOrigin?.x,(0,t.unref)(S).transformOrigin?.y].join(` `),...(0,t.unref)(S).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[(0,t.createVNode)((0,t.unref)(K),(0,t.mergeProps)({ref:(0,t.unref)(s)},e.$attrs,{"as-child":r.asChild,as:e.as,"data-side":w.value,"data-align":T.value,style:{animation:(0,t.unref)(x)?void 0:`none`}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}});function ba(e){let n=ft({nonce:(0,t.ref)()});return(0,t.computed)(()=>e?.value||n.nonce?.value)}var xa=(0,t.defineComponent)({__name:`Label`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`label`}},setup(e){let n=e;return G(),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)(n,{onMousedown:r[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Sa=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Ca=[` `,`Enter`];function wa(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Ta(e,t,n)):Ta(e,t,n)}function Ta(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]:at(e,t)}function Ea(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Da={key:0,value:``},[Oa,ka]=st(`SelectRoot`),Aa=(0,t.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},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:n}){let r=e,a=n,{required:o,disabled:s,multiple:c,dir:l}=(0,t.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,t.ref)(),p=(0,t.ref)(),m=(0,t.ref)({x:0,y:0}),h=(0,t.computed)(()=>c.value&&Array.isArray(u.value)?u.value?.length===0:ut(u.value));Zn({isProvider:!0});let g=kt(l),_=Pt(f),v=(0,t.ref)(new Set),y=(0,t.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=>Ta(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=>wa(e,t.value,r.by))}return ka({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,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(rr),null,{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{modelValue:(0,t.unref)(u),open:(0,t.unref)(d)}),(0,t.unref)(_)&&e.name?((0,t.openBlock)(),(0,t.createBlock)(ja,{key:y.value,"aria-hidden":`true`,tabindex:`-1`,multiple:(0,t.unref)(c),required:(0,t.unref)(o),name:e.name,autocomplete:e.autocomplete,disabled:(0,t.unref)(s),value:(0,t.unref)(u)},{default:(0,t.withCtx)(()=>[(0,t.unref)(ut)((0,t.unref)(u))?((0,t.openBlock)(),(0,t.createElementBlock)(`option`,Da)):(0,t.createCommentVNode)(`v-if`,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Array.from(v.value),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,(0,t.mergeProps)({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):(0,t.createCommentVNode)(`v-if`,!0)]),_:3}))}}),ja=(0,t.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 n=e,r=(0,t.ref)(),i=Oa();(0,t.watch)(()=>n.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,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Qn),{"as-child":``},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`select`,(0,t.mergeProps)({ref_key:`selectElement`,ref:r},n,{onInput:a}),[(0,t.renderSlot)(e.$slots,`default`)],16)]),_:3}))}}),Ma=(0,t.defineComponent)({__name:`SelectPopperPosition`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=Ft(e);return(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(ya),(0,t.mergeProps)((0,t.unref)(n),{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,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Na={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[Pa,Fa]=st(`SelectContent`),Ia=(0,t.defineComponent)({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,a=n,o=Oa();Mt(),Et(r.bodyLock);let{CollectionSlot:s,getItems:c}=Zn(),l=(0,t.ref)();Kt(l);let{search:u,handleTypeaheadSearch:d}=Zt(),f=(0,t.ref)(),p=(0,t.ref)(),m=(0,t.ref)(),h=(0,t.ref)(!1),g=(0,t.ref)(!1),_=(0,t.ref)(!1);function v(){p.value&&l.value&&In([p.value,l.value])}(0,t.watch)(h,()=>{v()});let{onOpenChange:y,triggerPointerDownPosRef:b}=o;(0,t.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(()=>In(t)),e.preventDefault()}}let S=Ft((0,t.computed)(()=>r.position===`popper`?r:{}).value);return Fa({content:l,viewport:f,onViewportChange:e=>{f.value=e},itemRefCallback:(e,t,n)=>{let r=!g.value&&!n,i=wa(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;(wa(o.modelValue.value,t,o.by)||r)&&(m.value=e)},focusSelectedItem:v,position:r.position,isPositioned:h,searchRef:u}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(s),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(jn),{"as-child":``,onMountAutoFocus:n[6]||=(0,t.withModifiers)(()=>{},[`prevent`]),onUnmountAutoFocus:n[7]||=e=>{a(`closeAutoFocus`,e),!e.defaultPrevented&&((0,t.unref)(o).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(_n),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:n[2]||=(0,t.withModifiers)(()=>{},[`prevent`]),onDismiss:n[3]||=e=>(0,t.unref)(o).onOpenChange(!1),onEscapeKeyDown:n[4]||=e=>a(`escapeKeyDown`,e),onPointerDownOutside:n[5]||=e=>a(`pointerDownOutside`,e)},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.position===`popper`?Ma:za),(0,t.mergeProps)({...e.$attrs,...(0,t.unref)(S)},{id:(0,t.unref)(o).contentId,ref:e=>{if(!e)return;let n=(0,t.unref)(i.unrefElement)(e);n?.hasAttribute(`data-reka-popper-content-wrapper`)?l.value=n.firstElementChild:l.value=n},role:`listbox`,"data-state":(0,t.unref)(o).open.value?`open`:`closed`,dir:(0,t.unref)(o).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:n[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onPlaced:n[1]||=e=>h.value=!0,onKeydown:x}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[La,Ra]=st(`SelectItemAlignedPosition`),za=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:n}){let r=e,a=n,{getItems:o}=Zn(),s=Oa(),c=Pa(),l=(0,t.ref)(!1),u=(0,t.ref)(!0),d=(0,t.ref)(),{forwardRef:f,currentElement:p}=G(),{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=ot(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=ot(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,t.ref)(``);(0,t.onMounted)(async()=>{await(0,t.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()}),Ra({contentWrapper:d,shouldExpandOnScrollRef:l,onScrollButtonChange:b}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`contentWrapperElement`,ref:d,style:(0,t.normalizeStyle)({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:y.value})},[(0,t.createVNode)((0,t.unref)(K),(0,t.mergeProps)({ref:(0,t.unref)(f),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...r}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)],4))}}),Ba=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return ka(e.context),Fa(Na),(e,n)=>(0,t.renderSlot)(e.$slots,`default`)}}),Va={key:1},Ha=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,i=It(r,n),a=Oa(),o=(0,t.ref)();(0,t.onMounted)(()=>{o.value=new DocumentFragment});let s=(0,t.ref)(),c=(0,t.computed)(()=>r.forceMount||a.open.value),l=(0,t.ref)(c.value);return(0,t.watch)(c,()=>{setTimeout(()=>l.value=c.value)}),(e,n)=>c.value||l.value||s.value?.present?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(nn),{key:0,ref_key:`presenceRef`,ref:s,present:c.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(Ia,(0,t.normalizeProps)((0,t.guardReactiveProps)({...(0,t.unref)(i),...e.$attrs})),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Va,[((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:o.value},[(0,t.createVNode)(Ba,{context:(0,t.unref)(a)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):(0,t.createCommentVNode)(`v-if`,!0)}}),Ua=(0,t.defineComponent)({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{},()=>[n[0]||=(0,t.createTextVNode)(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[Wa,Ga]=st(`SelectItem`),Ka=(0,t.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:n}){let r=e,i=n,{disabled:a}=(0,t.toRefs)(r),o=Oa(),s=Pa(),{forwardRef:c,currentElement:l}=G(),{CollectionItem:u}=Zn(),d=(0,t.computed)(()=>wa(o.modelValue?.value,r.value,o.by)),f=(0,t.ref)(!1),p=(0,t.ref)(r.textValue??``),m=Jt(void 0,`reka-select-item-text`);async function h(e){e.defaultPrevented||lt(`select.select`,g,{originalEvent:e,value:r.value})}async function g(e){await(0,t.nextTick)(),i(`select`,e),!e.defaultPrevented&&(a.value||(o.onValueChange(r.value),o.multiple.value||o.onOpenChange(!1)))}async function _(e){await(0,t.nextTick)(),!e.defaultPrevented&&(a.value?s.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function v(e){await(0,t.nextTick)(),!e.defaultPrevented&&e.currentTarget===ct()&&s.onItemLeave?.()}async function y(e){await(0,t.nextTick)(),!e.defaultPrevented&&(s.searchRef?.value!==``&&e.key===` `||(Ca.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,t.onMounted)(()=>{l.value&&s.itemRefCallback(l.value,r.value,r.disabled)}),Ga({value:r.value,disabled:a,textId:m,isSelected:d,onItemTextChange:e=>{p.value=((p.value||e?.textContent)??``).trim()}}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(u),{value:{textValue:p.value}},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(K),{ref:(0,t.unref)(c),role:`option`,"aria-labelledby":(0,t.unref)(m),"data-highlighted":f.value?``:void 0,"aria-selected":d.value,"data-state":d.value?`checked`:`unchecked`,"aria-disabled":(0,t.unref)(a)||void 0,"data-disabled":(0,t.unref)(a)?``:void 0,tabindex:(0,t.unref)(a)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:n[0]||=e=>f.value=!0,onBlur:n[1]||=e=>f.value=!1,onPointerup:h,onPointerdown:n[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:n[3]||=(0,t.withModifiers)(()=>{},[`prevent`,`stop`]),onPointermove:_,onPointerleave:v,onKeydown:y},{default:(0,t.withCtx)(()=>[(0,t.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`]))}}),qa=(0,t.defineComponent)({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,r=Wa();return(e,i)=>(0,t.unref)(r).isSelected.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)({key:0,"aria-hidden":`true`},n),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)):(0,t.createCommentVNode)(`v-if`,!0)}}),Ja=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,r=Oa(),i=Pa(),a=Wa(),{forwardRef:o,currentElement:s}=G(),c=(0,t.computed)(()=>({value:a.value,disabled:a.disabled.value,textContent:s.value?.textContent??a.value?.toString()??``}));return(0,t.onMounted)(()=>{s.value&&(a.onItemTextChange(s.value),i.itemTextRefCallback(s.value,a.value,a.disabled.value),r.onOptionAdd(c.value))}),(0,t.onUnmounted)(()=>{r.onOptionRemove(c.value)}),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)({id:(0,t.unref)(a).textId,ref:(0,t.unref)(o)},{...n,...e.$attrs}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),Ya=(0,t.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 n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(qn),(0,t.normalizeProps)((0,t.guardReactiveProps)(n)),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Xa=(0,t.defineComponent)({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(e,{emit:n}){let r=n,{getItems:i}=Zn(),a=Pa(),o=(0,t.ref)(null);function s(){o.value!==null&&(window.clearInterval(o.value),o.value=null)}(0,t.watchEffect)(()=>{i().map(e=>e.ref).find(e=>e===ct())?.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,t.onBeforeUnmount)(()=>s()),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)({"aria-hidden":`true`,style:{flexShrink:0}},e.$parent?.$props,{onPointerdown:c,onPointermove:l,onPointerleave:n[0]||=()=>{s()}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Za=(0,t.defineComponent)({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=Pa(),r=n.position===`item-aligned`?La():void 0,{forwardRef:i,currentElement:a}=G(),o=(0,t.ref)(!1);return(0,t.watchEffect)(e=>{if(n.viewport?.value&&n.isPositioned?.value){let r=n.viewport.value;function t(){let e=r.scrollHeight-r.clientHeight;o.value=Math.ceil(r.scrollTop)<e}t(),r.addEventListener(`scroll`,t),e(()=>r.removeEventListener(`scroll`,t))}}),(0,t.watch)(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>o.value?((0,t.openBlock)(),(0,t.createBlock)(Xa,{key:0,ref:(0,t.unref)(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:r}=(0,t.unref)(n);e?.value&&r?.value&&(e.value.scrollTop=e.value.scrollTop+r.value.offsetHeight)}},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},512)):(0,t.createCommentVNode)(`v-if`,!0)}}),Qa=(0,t.defineComponent)({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=Pa(),r=n.position===`item-aligned`?La():void 0,{forwardRef:i,currentElement:a}=G(),o=(0,t.ref)(!1);return(0,t.watchEffect)(e=>{if(n.viewport?.value&&n.isPositioned?.value){let r=n.viewport.value;function t(){o.value=r.scrollTop>0}t(),r.addEventListener(`scroll`,t),e(()=>r.removeEventListener(`scroll`,t))}}),(0,t.watch)(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>o.value?((0,t.openBlock)(),(0,t.createBlock)(Xa,{key:0,ref:(0,t.unref)(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:r}=(0,t.unref)(n);e?.value&&r?.value&&(e.value.scrollTop=e.value.scrollTop-r.value.offsetHeight)}},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},512)):(0,t.createCommentVNode)(`v-if`,!0)}}),$a=(0,t.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 n=e,r=Oa(),{forwardRef:i,currentElement:a}=G(),o=(0,t.computed)(()=>r.disabled?.value||n.disabled);r.contentId||=Jt(void 0,`reka-select-content`),(0,t.onMounted)(()=>{r.onTriggerChange(a.value)});let{getItems:s}=Zn(),{search:c,handleTypeaheadSearch:l,resetTypeahead:u}=Zt();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)}}return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(ir),{"as-child":``,reference:e.reference},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(K),{ref:(0,t.unref)(i),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":(0,t.unref)(r).contentId,"aria-expanded":(0,t.unref)(r).open.value||!1,"aria-required":(0,t.unref)(r).required?.value,"aria-autocomplete":`none`,disabled:o.value,dir:(0,t.unref)(r)?.dir.value,"data-state":(0,t.unref)(r)?.open.value?`open`:`closed`,"data-disabled":o.value?``:void 0,"data-placeholder":(0,t.unref)(Ea)((0,t.unref)(r).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:n[0]||=e=>{(e?.currentTarget)?.focus()},onPointerdown:n[1]||=e=>{if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(f(e),e.preventDefault())},onPointerup:n[2]||=(0,t.withModifiers)(e=>{e.pointerType===`touch`&&f(e)},[`prevent`]),onKeydown:n[3]||=e=>{let n=(0,t.unref)(c)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&n&&e.key===` `||((0,t.unref)(l)(e.key,(0,t.unref)(s)()),(0,t.unref)(Sa).includes(e.key)&&(d(),e.preventDefault()))}},{default:(0,t.withCtx)(()=>[(0,t.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`]))}}),eo=(0,t.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 n=e,{forwardRef:r,currentElement:i}=G(),a=Oa();(0,t.onMounted)(()=>{a.valueElement=i});let o=(0,t.computed)(()=>{let e=[],t=Array.from(a.optionsSet.value),n=e=>t.find(t=>wa(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,t.computed)(()=>o.value.length?o.value.join(`, `):n.placeholder);return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{ref:(0,t.unref)(r),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":o.value.length?void 0:n.placeholder},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{selectedLabel:o.value,modelValue:(0,t.unref)(a).modelValue.value},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(s.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),to=(0,t.defineComponent)({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,{nonce:r}=(0,t.toRefs)(n),i=ba(r),a=Pa(),o=a.position===`item-aligned`?La():void 0,{forwardRef:s,currentElement:c}=G();(0,t.onMounted)(()=>{a?.onViewportChange(c.value)});let l=(0,t.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,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createVNode)((0,t.unref)(K),(0,t.mergeProps)({ref:(0,t.unref)(s),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...n},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:u}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16),(0,t.createVNode)((0,t.unref)(K),{as:`style`,nonce:(0,t.unref)(i)},{default:(0,t.withCtx)(()=>r[0]||=[(0,t.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))}}),[no,ro]=st(`SwitchRoot`),io=(0,t.defineComponent)({__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:n}){let r=e,a=n,{disabled:o}=(0,t.toRefs)(r),s=(0,i.useVModel)(r,`modelValue`,a,{defaultValue:r.defaultValue??r.falseValue,passive:r.modelValue===void 0}),c=(0,t.computed)(()=>s.value===r.trueValue);function l(){o.value||(s.value=c.value?r.falseValue:r.trueValue)}let{forwardRef:u,currentElement:d}=G(),f=Pt(d),p=(0,t.computed)(()=>r.id&&d.value?document.querySelector(`[for="${r.id}"]`)?.innerText:void 0);return ro({checked:c,toggleCheck:l,disabled:o}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)(e.$attrs,{id:e.id,ref:(0,t.unref)(u),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||p.value,"aria-checked":c.value,"aria-required":e.required,"data-state":c.value?`checked`:`unchecked`,"data-disabled":(0,t.unref)(o)?``:void 0,"as-child":e.asChild,as:e.as,disabled:(0,t.unref)(o),onClick:l,onKeydown:(0,t.withKeys)((0,t.withModifiers)(l,[`prevent`]),[`enter`])}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{modelValue:(0,t.unref)(s),checked:c.value}),(0,t.unref)(f)&&e.name?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(er),{key:0,type:`checkbox`,name:e.name,disabled:(0,t.unref)(o),required:e.required,value:e.value,checked:c.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):(0,t.createCommentVNode)(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),ao=(0,t.defineComponent)({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=no();return G(),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{"data-state":(0,t.unref)(n).checked.value?`checked`:`unchecked`,"data-disabled":(0,t.unref)(n).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),oo=(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},so=(e,t)=>({classGroupId:e,validator:t}),co=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),lo=`-`,uo=[],fo=`arbitrary..`,po=e=>{let t=go(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return ho(e);let n=e.split(lo);return mo(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?oo(i,t):t:i||uo}return n[e]||uo}}},mo=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=mo(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(lo):e.slice(t).join(lo),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},ho=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?fo+r:void 0})(),go=e=>{let{theme:t,classGroups:n}=e;return _o(n,t)},_o=(e,t)=>{let n=co();for(let r in e){let i=e[r];vo(i,n,r,t)}return n},vo=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];yo(i,t,n,r)}},yo=(e,t,n,r)=>{if(typeof e==`string`){bo(e,t,n);return}if(typeof e==`function`){xo(e,t,n,r);return}So(e,t,n,r)},bo=(e,t,n)=>{let r=e===``?t:Co(t,e);r.classGroupId=n},xo=(e,t,n,r)=>{if(wo(e)){vo(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(so(n,e))},So=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];vo(o,Co(t,a),n,r)}},Co=(e,t)=>{let n=e,r=t.split(lo),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=co(),n.nextPart.set(t,i)),n=i}return n},wo=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,To=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)}}},Eo=`!`,Do=`:`,Oo=[],ko=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Ao=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===Do){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(Eo)?(c=s.slice(0,-1),l=!0):s.startsWith(Eo)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return ko(t,l,c,u)};if(t){let e=t+Do,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ko(Oo,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},jo=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}},Mo=e=>({cache:To(e.cacheSize),parseClassName:Ao(e),sortModifiers:jo(e),...po(e)}),No=/\s+/,Po=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(No),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+Eo:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},Fo=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Io(n))&&(i&&(i+=` `),i+=r);return i},Io=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Io(e[r]))&&(n&&(n+=` `),n+=t);return n},Lo=(e,...t)=>{let n,r,i,a,o=o=>(n=Mo(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=Po(e,n);return i(e,a),a};return a=o,(...e)=>a(Fo(...e))},Ro=[],J=e=>{let t=t=>t[e]||Ro;return t.isThemeGetter=!0,t},zo=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Bo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Vo=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Ho=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Uo=/\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$/,Wo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Go=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ko=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,qo=e=>Vo.test(e),Y=e=>!!e&&!Number.isNaN(Number(e)),Jo=e=>!!e&&Number.isInteger(Number(e)),Yo=e=>e.endsWith(`%`)&&Y(e.slice(0,-1)),Xo=e=>Ho.test(e),Zo=()=>!0,Qo=e=>Uo.test(e)&&!Wo.test(e),$o=()=>!1,es=e=>Go.test(e),ts=e=>Ko.test(e),ns=e=>!X(e)&&!Z(e),rs=e=>vs(e,Ss,$o),X=e=>zo.test(e),is=e=>vs(e,Cs,Qo),as=e=>vs(e,ws,Y),os=e=>vs(e,Es,Zo),ss=e=>vs(e,Ts,$o),cs=e=>vs(e,bs,$o),ls=e=>vs(e,xs,ts),us=e=>vs(e,Ds,es),Z=e=>Bo.test(e),ds=e=>ys(e,Cs),fs=e=>ys(e,Ts),ps=e=>ys(e,bs),ms=e=>ys(e,Ss),hs=e=>ys(e,xs),gs=e=>ys(e,Ds,!0),_s=e=>ys(e,Es,!0),vs=(e,t,n)=>{let r=zo.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},ys=(e,t,n=!1)=>{let r=Bo.exec(e);return r?r[1]?t(r[1]):n:!1},bs=e=>e===`position`||e===`percentage`,xs=e=>e===`image`||e===`url`,Ss=e=>e===`length`||e===`size`||e===`bg-size`,Cs=e=>e===`length`,ws=e=>e===`number`,Ts=e=>e===`family-name`,Es=e=>e===`number`||e===`weight`,Ds=e=>e===`shadow`,Os=Lo(()=>{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=()=>[qo,`full`,`auto`,...w()],E=()=>[Jo,`none`,`subgrid`,Z,X],D=()=>[`auto`,{span:[`full`,Jo,Z,X]},Jo,Z,X],O=()=>[Jo,`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=()=>[qo,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ee=()=>[qo,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],te=()=>[qo,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,Z,X],F=()=>[...b(),ps,cs,{position:[Z,X]}],I=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ne=()=>[`auto`,`cover`,`contain`,ms,rs,{size:[Z,X]}],L=()=>[Yo,ds,is],R=()=>[``,`none`,`full`,l,Z,X],z=()=>[``,Y,ds,is],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,Yo,ps,cs],ae=()=>[``,`none`,m,Z,X],V=()=>[`none`,Y,Z,X],oe=()=>[`none`,Y,Z,X],se=()=>[Y,Z,X],ce=()=>[qo,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Xo],breakpoint:[Xo],color:[Zo],container:[Xo],"drop-shadow":[Xo],ease:[`in`,`out`,`in-out`],font:[ns],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Xo],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Xo],shadow:[Xo],spacing:[`px`,Y],text:[Xo],"text-shadow":[Xo],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,qo,X,Z,g]}],container:[`container`],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:[Jo,`auto`,Z,X]}],basis:[{basis:[qo,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Y,qo,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,Y,Z,X]}],shrink:[{shrink:[``,Y,Z,X]}],order:[{order:[Jo,`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`,...ee()]}],"min-inline-size":[{"min-inline":[`auto`,...ee()]}],"max-inline-size":[{"max-inline":[`none`,...ee()]}],"block-size":[{block:[`auto`,...te()]}],"min-block-size":[{"min-block":[`auto`,...te()]}],"max-block-size":[{"max-block":[`none`,...te()]}],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,ds,is]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,_s,os]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Yo,X]}],"font-family":[{font:[fs,ss,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,as]}],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:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...re(),`wavy`]}],"text-decoration-thickness":[{decoration:[Y,`from-font`,`auto`,Z,is]}],"text-decoration-color":[{decoration:P()}],"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()}],"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:F()}],"bg-repeat":[{bg:I()}],"bg-size":[{bg:ne()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Jo,Z,X],radial:[``,Z,X],conic:[Jo,Z,X]},hs,ls]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:L()}],"gradient-via-pos":[{via:L()}],"gradient-to-pos":[{to:L()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],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:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...re(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Y,Z,X]}],"outline-w":[{outline:[``,Y,ds,is]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,gs,us]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,gs,us]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:z()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[Y,is]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":z()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,gs,us]}],"text-shadow-color":[{"text-shadow":P()}],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":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"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":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"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":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"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":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"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":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"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":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"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":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"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":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"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":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:F()}],"mask-repeat":[{mask:I()}],"mask-size":[{mask:ne()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,X]}],filter:[{filter:[``,`none`,Z,X]}],blur:[{blur:ae()}],brightness:[{brightness:[Y,Z,X]}],contrast:[{contrast:[Y,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,gs,us]}],"drop-shadow-color":[{"drop-shadow":P()}],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":ae()}],"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:V()}],"rotate-x":[{"rotate-x":V()}],"rotate-y":[{"rotate-y":V()}],"rotate-z":[{"rotate-z":V()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":[`scale-3d`],skew:[{skew:se()}],"skew-x":[{"skew-x":se()}],"skew-y":[{"skew-y":se()}],transform:[{transform:[Z,X,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ce()}],"translate-x":[{"translate-x":ce()}],"translate-y":[{"translate-y":ce()}],"translate-z":[{"translate-z":ce()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"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`]}],"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`,...P()]}],"stroke-w":[{stroke:[Y,ds,is,as]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{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`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Q(...e){return Os($e(e))}var ks=(0,t.defineComponent)({__name:`Button`,props:{variant:{},size:{},class:{type:[Boolean,null,String,Object,Array]},asChild:{type:Boolean},as:{default:`button`}},setup(e){let n=e;return(r,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:(0,t.normalizeClass)((0,t.unref)(Q)((0,t.unref)(As)({variant:e.variant,size:e.size}),n.class))},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(r.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),As=nt(`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`}}),js=(0,t.defineComponent)({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:n}){let r=It(e,n);return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(ln),(0,t.mergeProps)({"data-slot":`dialog`},(0,t.unref)(r)),{default:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,`default`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)))]),_:3},16))}}),Ms=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Ns=e=>e===``,Ps=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Fs=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Is=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Ls=e=>{let t=Is(e);return t.charAt(0).toUpperCase()+t.slice(1)},Rs={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`},zs=({name:e,iconNode:n,absoluteStrokeWidth:r,"absolute-stroke-width":i,strokeWidth:a,"stroke-width":o,size:s=Rs.width,color:c=Rs.stroke,...l},{slots:u})=>(0,t.h)(`svg`,{...Rs,...l,width:s,height:s,stroke:c,"stroke-width":Ns(r)||Ns(i)||r===!0||i===!0?Number(a||o||Rs[`stroke-width`])*24/Number(s):a||o||Rs[`stroke-width`],class:Ps(`lucide`,l.class,...e?[`lucide-${Fs(Ls(e))}-icon`,`lucide-${Fs(e)}`]:[`lucide-icon`]),...!u.default&&!Ms(l)&&{"aria-hidden":`true`}},[...n.map(e=>(0,t.h)(...e)),...u.default?[u.default()]:[]]),Bs=(e,n)=>(r,{slots:i,attrs:a})=>(0,t.h)(zs,{...a,...r,iconNode:n,name:e},i),Vs=Bs(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Hs=Bs(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Us=Bs(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Ws=Bs(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),Gs=Bs(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ks=Bs(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),qs=Bs(`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=Bs(`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`}]]),Ys=Bs(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),Xs=(0,t.defineComponent)({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=(0,i.reactiveOmit)(n,`class`);return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Kn),(0,t.mergeProps)({"data-slot":`dialog-overlay`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`fixed inset-0 z-50 bg-black/80`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),Zs=(0,t.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:n}){let r=e,a=n,o=It((0,i.reactiveOmit)(r,`class`),a);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Jn),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)(Xs),(0,t.createVNode)((0,t.unref)(Un),(0,t.mergeProps)({"data-slot":`dialog-content`},{...n.$attrs,...(0,t.unref)(o)},{class:(0,t.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,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`),e.showCloseButton?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(un),{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,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ys)),i[0]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Close`,-1)]),_:1})):(0,t.createCommentVNode)(``,!0)]),_:3},16,[`class`])]),_:3}))}}),Qs=(0,t.defineComponent)({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Ft((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Wn),(0,t.mergeProps)({"data-slot":`dialog-description`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`text-muted-foreground text-sm`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),$s=(0,t.defineComponent)({__name:`DialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{"data-slot":`dialog-footer`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),ec=(0,t.defineComponent)({__name:`DialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{"data-slot":`dialog-header`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`flex flex-col gap-2 text-center sm:text-left`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),tc=(0,t.defineComponent)({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Ft((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Yn),(0,t.mergeProps)({"data-slot":`dialog-title`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`text-lg leading-none font-semibold`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),nc={class:`space-y-2`},rc={key:0,class:`text-sm text-destructive`},ic=(0,t.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:n}){let r=e,i=n,a=(0,t.computed)({get:()=>r.isOpen,set:e=>{i(`update:isOpen`,e),e||i(`cancel`)}}),o=()=>{i(`confirm`)},s=()=>{r.isDeleting||i(`cancel`)};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(js),{open:a.value,"onUpdate:open":r[0]||=e=>a.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Zs),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ec),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(tc),null,{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)]),_:1}),(0,t.createVNode)((0,t.unref)(Qs),null,{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,nc,[(0,t.createElementVNode)(`p`,null,(0,t.toDisplayString)(e.question),1),e.warning?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,rc,(0,t.toDisplayString)(e.warning),1)):(0,t.createCommentVNode)(``,!0)])]),_:1})]),_:1}),(0,t.createVNode)((0,t.unref)($s),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ks),{variant:`outline`,disabled:e.isDeleting,onClick:s},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.cancelLabel),1)]),_:1},8,[`disabled`]),(0,t.createVNode)((0,t.unref)(ks),{variant:`destructive`,disabled:e.isDeleting,onClick:o},{default:(0,t.withCtx)(()=>[e.isDeleting?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Gs),{key:0,class:`h-4 w-4 mr-1.5 animate-spin`})):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.isDeleting?e.confirmingLabel:e.confirmLabel),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),ac=u.forScope(`useBlobExplorer`);function oc(e){let n=(0,t.ref)([]),r=(0,t.ref)(!1),i=(0,t.ref)(!1),a=(0,t.ref)(0);async function o(t){let i=e();if(!i)return{};r.value=!0;try{let e=await(await m.getClientAsync()).document(i).blobs().list({limit:t.limit,...t.cursor?{cursor:t.cursor}:{}});return n.value=e.items.map(e=>({...e,size:e.size??e.numBytes??null,uploadedAt:e.uploadedAt??e.createdAt??null})),ac.debug(`Blobs page loaded`,{count:n.value.length,docId:i}),console.log(`blobs result`,e),{nextCursor:e.cursor}}catch(e){return ac.error(`Failed to load blobs`,e),U(`Failed to load blobs: `+W(e)),{}}finally{r.value=!1}}async function s(t){let i=e();if(!i)return null;r.value=!0;try{let e=await(await m.getClientAsync()).document(i).blobs().get(t);if(!e)return null;let r={...e,size:e.size??e.numBytes??null,uploadedAt:e.uploadedAt??e.createdAt??null};return n.value=[r],r}catch{return n.value=[],null}finally{r.value=!1}}async function c(t,n){let r=e();if(!r)return null;i.value=!0,a.value=0;try{let e=(await m.getClientAsync()).document(r).blobs(),i=await t.arrayBuffer();n?.(10),a.value=10;let{blobId:o}=await e.upload(new Uint8Array(i),{filename:t.name,contentType:t.type||`application/octet-stream`,disposition:`attachment`});return a.value=100,n?.(100),ac.debug(`Blob uploaded`,{blobId:o,filename:t.name}),Xe(`Uploaded "${t.name}"`),o}catch(e){return ac.error(`Failed to upload blob`,e),U(`Upload failed: `+W(e)),null}finally{i.value=!1,a.value=0}}function l(e){n.value=n.value.filter(t=>t.blobId!==e)}async function u(t){let r=e();if(!r)return!1;try{return await(await m.getClientAsync()).document(r).blobs().delete(t),n.value=n.value.filter(e=>e.blobId!==t),ac.debug(`Blob deleted`,{blobId:t}),!0}catch(e){return ac.error(`Failed to delete blob`,e),U(`Delete failed: `+W(e)),!1}}async function d(t){let r=e();if(!r)return t;let i=[];try{let e=(await m.getClientAsync()).document(r).blobs();await Promise.all(t.map(async t=>{try{await e.delete(t)}catch(e){ac.error(`Failed to delete blob`,{id:t,err:e}),i.push(t)}}));let a=new Set(i);n.value=n.value.filter(e=>a.has(e.blobId)||!t.includes(e.blobId)),i.length>0&&U(`Failed to delete ${i.length} blob(s).`)}catch(e){ac.error(`Failed during bulk delete`,e),U(`Bulk delete failed: `+W(e))}return i}async function f(t,n=`attachment`){let r=e();if(!r)return null;try{return(await m.getClientAsync()).document(r).blobs().downloadUrl(t,{disposition:n})}catch(e){return ac.error(`Failed to get download URL`,e),null}}async function p(t,n=`blob`){let r=e();if(!r)return null;try{return await(await m.getClientAsync()).document(r).blobs().read(t,{as:n})}catch(e){return ac.error(`Failed to read blob content`,e),null}}return{blobs:n,isLoading:r,isUploading:i,uploadProgress:a,loadPage:o,getBlob:s,uploadFile:c,removeBlob:l,deleteBlob:u,deleteBlobsBulk:d,getDownloadUrl:f,readBlobContent:p}}var sc=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 cc(e){let[t=``]=e.split(`;`),n=t.trim().toLowerCase();return sc.has(n)}function lc(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 uc(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 dc(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 fc={class:`relative h-full flex`},pc=[`title`],mc={class:`w-64 lg:w-72 h-full border-l border-border flex flex-col bg-background`},hc={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-6`},gc={class:`flex items-center px-3 py-2 border-b border-border shrink-0`},_c={class:`text-xs font-medium truncate`},vc={class:`flex-1 overflow-y-auto scrollbar-thin p-3 space-y-4`},yc={key:0},bc={key:0,class:`rounded-lg border border-border bg-muted/30 aspect-video flex items-center justify-center`},xc={key:1,class:`rounded-lg overflow-hidden border border-border bg-muted/30`},Sc=[`src`],Cc={key:1,class:`aspect-video flex items-center justify-center p-4`},wc={key:2,class:`rounded-lg overflow-hidden border border-border bg-muted/30`},Tc=[`src`],Ec={key:1,class:`h-24 flex items-center justify-center p-4`},Dc={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`},Oc={key:0},kc={key:1,class:`opacity-40`},Ac={class:`space-y-1`},jc=[`disabled`],Mc={key:0,class:`w-3.5 h-3.5 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Nc={key:1,class:`w-3.5 h-3.5 text-muted-foreground animate-spin`,fill:`none`,viewBox:`0 0 24 24`},Pc=[`disabled`],Fc={key:0,class:`w-3.5 h-3.5 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Ic={key:1,class:`w-3.5 h-3.5 text-muted-foreground animate-spin`,fill:`none`,viewBox:`0 0 24 24`},Lc={class:`space-y-2 text-xs`},Rc=[`title`],zc={class:`text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all`},Bc={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Vc={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`},Hc={class:`flex justify-between`},Uc=[`title`],Wc={class:`flex justify-between min-w-0`},Gc=[`title`],Kc={class:`flex justify-between`},qc={class:`flex justify-between`},Jc={key:0},Yc={class:`text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all`},Xc={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`},Qc=(0,t.defineComponent)({__name:`BlobDetailPanel`,props:{documentId:{},selectedBlob:{},canWrite:{type:Boolean}},emits:[`delete-blob`,`reload-blobs`],setup(e,{emit:n}){let r=e,i=n,{readBlobContent:a,deleteBlob:o}=oc(()=>r.documentId),s=(0,t.ref)(typeof window<`u`?localStorage.getItem(Ke)===`true`:!1);(0,t.watch)(s,e=>{typeof window<`u`&&localStorage.setItem(Ke,String(e))});let c=(0,t.computed)(()=>r.selectedBlob?.contentType.startsWith(`image/`)),l=(0,t.computed)(()=>r.selectedBlob?(r.selectedBlob.contentType.startsWith(`text/`)||r.selectedBlob.contentType===`application/json`)&&r.selectedBlob.contentType!==`text/html`:!1),u=(0,t.computed)(()=>r.selectedBlob?.contentType===`text/csv`||r.selectedBlob?.contentType.includes(`spreadsheet`)===!0),d=(0,t.computed)(()=>r.selectedBlob?.contentType===`application/pdf`),f=(0,t.computed)(()=>!!c.value||!!d.value||l.value||u.value),p=(0,t.ref)(null),m=(0,t.ref)(null),h=(0,t.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,t.watch)(()=>r.selectedBlob,e=>{e?_(e):g()},{immediate:!0}),(0,t.onUnmounted)(()=>{g(),y&&clearTimeout(y)});let v=(0,t.ref)(null),y=null;function b(e,t){dc(e),v.value=t,y&&clearTimeout(y),y=setTimeout(()=>{v.value=null},1200)}let x=(0,t.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,t.computed)(()=>r.selectedBlob?cc(r.selectedBlob.contentType):!1),w=(0,t.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,t.ref)(!1),D=(0,t.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(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,fc,[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:(0,t.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,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`},null,-1)]],2))],8,pc),(0,t.withDirectives)((0,t.createElementVNode)(`div`,mc,[e.selectedBlob?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,gc,[(0,t.createElementVNode)(`span`,_c,(0,t.toDisplayString)(e.selectedBlob.filename),1)]),(0,t.createElementVNode)(`div`,vc,[f.value||h.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yc,[r[11]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Preview `,-1),h.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bc,[...r[7]||=[(0,t.createElementVNode)(`svg`,{class:`w-5 h-5 text-muted-foreground/50 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`div`,xc,[p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:p.value,class:`w-full h-auto object-contain max-h-48`,alt:`Preview`},null,8,Sc)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cc,[...r[8]||=[(0,t.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground/40`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`div`,wc,[p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`iframe`,{key:0,src:p.value,class:`w-full h-48 border-0`,title:`PDF preview`},null,8,Tc)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ec,[...r[9]||=[(0,t.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`Unable to load preview`,-1)]]))])):l.value||u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Dc,[m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Oc,(0,t.toDisplayString)(m.value),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,kc,`Loading…`)),r[10]||=(0,t.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,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,null,[r[17]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Actions `,-1),(0,t.createElementVNode)(`div`,Ac,[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`svg`,Nc,[...r[13]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Mc,[...r[12]||=[(0,t.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,t.createTextVNode)(` `+(0,t.toDisplayString)(x.value?`Downloading…`:`Download`),1)],8,jc),C.value?((0,t.openBlock)(),(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`svg`,Ic,[...r[15]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Fc,[...r[14]||=[(0,t.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,t.createTextVNode)(` `+(0,t.toDisplayString)(w.value?`Opening…`:`Open in new tab`),1)],8,Pc)):(0,t.createCommentVNode)(``,!0),e.canWrite?((0,t.openBlock)(),(0,t.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,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createTextVNode)(` Delete blob `,-1)]])):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`div`,null,[r[28]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Info `,-1),(0,t.createElementVNode)(`div`,Lc,[(0,t.createElementVNode)(`div`,null,[r[20]||=(0,t.createElementVNode)(`div`,{class:`text-muted-foreground mb-0.5`},`Blob ID`,-1),(0,t.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,t.createElementVNode)(`code`,zc,(0,t.toDisplayString)(e.selectedBlob.blobId),1),v.value===`detail_blobid`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Bc,[...r[18]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Vc,[...r[19]||=[(0,t.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,Rc)]),(0,t.createElementVNode)(`div`,Hc,[r[21]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Filename`,-1),(0,t.createElementVNode)(`span`,{class:`font-medium text-right truncate ml-2 max-w-[150px]`,title:e.selectedBlob.filename},(0,t.toDisplayString)(e.selectedBlob.filename),9,Uc)]),(0,t.createElementVNode)(`div`,Wc,[r[22]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground shrink-0`},`Content Type`,-1),(0,t.createElementVNode)(`span`,{class:`font-mono text-[10px] text-right break-all ml-2 min-w-0`,title:e.selectedBlob.contentType},(0,t.toDisplayString)(e.selectedBlob.contentType),9,Gc)]),(0,t.createElementVNode)(`div`,Kc,[r[23]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Size`,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(lc)(e.selectedBlob.size)),1)]),(0,t.createElementVNode)(`div`,qc,[r[24]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Uploaded`,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(uc)(e.selectedBlob.uploadedAt,`long`)),1)]),e.selectedBlob.sha256?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jc,[r[27]||=(0,t.createElementVNode)(`div`,{class:`text-muted-foreground mb-0.5`},`SHA-256`,-1),(0,t.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,t.createElementVNode)(`code`,Yc,(0,t.toDisplayString)(e.selectedBlob.sha256),1),v.value===`detail_sha256`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Xc,[...r[25]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Zc,[...r[26]||=[(0,t.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,t.createCommentVNode)(``,!0)])])])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,hc,[...r[6]||=[(0,t.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground/30 mb-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Select a blob to view details `,-1)]]))],512),[[t.vShow,!s.value]])]),(0,t.createVNode)(ic,{"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))}}),$c={class:`w-48 lg:w-56 border-r border-border flex flex-col bg-background shrink-0`},el={class:`p-2 border-b border-border`},tl={class:`relative`},nl={class:`flex-1 overflow-y-auto scrollbar-thin`},rl={key:1,class:`px-2 py-4 text-center text-xs text-muted-foreground`},il=[`onClick`],al=(0,t.defineComponent)({__name:`BlobExplorerDocumentSidebar`,props:{documents:{},selectedDocId:{},documentListLoaded:{type:Boolean}},emits:[`select-document`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.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(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$c,[(0,t.createElementVNode)(`div`,el,[(0,t.createElementVNode)(`div`,tl,[r[1]||=(0,t.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,t.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,t.withDirectives)((0,t.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),[[t.vModelText,a.value]])])]),r[3]||=(0,t.createElementVNode)(`div`,{class:`flex items-center px-2 py-1.5 bg-muted border-b border-border`},[(0,t.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1`},` Documents `)],-1),(0,t.createElementVNode)(`div`,nl,[e.documentListLoaded?o.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rl,(0,t.toDisplayString)(a.value?`No matches`:`No documents`),1)):((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:2},(0,t.renderList)(o.value,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n.documentId,class:(0,t.normalizeClass)([`w-full flex items-center gap-1 px-2 py-1.5 cursor-pointer border-l-2 text-left`,[e.selectedDocId===n.documentId?`border-primary bg-primary/5`:`border-transparent hover:bg-muted/30`,n.isRoot?`opacity-60`:``]]),onClick:e=>i(`select-document`,n.documentId)},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-xs flex-1 truncate`,e.selectedDocId===n.documentId?`font-medium`:``])},(0,t.toDisplayString)(n.title||n.documentId),3),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-[9px] px-1 py-0.5 rounded shrink-0`,c(n)])},(0,t.toDisplayString)(s(n)),3)],10,il))),128)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(4,e=>(0,t.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2 px-2 py-2`},[...r[2]||=[(0,t.createElementVNode)(`div`,{class:`h-3 bg-muted rounded flex-1 animate-pulse`},null,-1),(0,t.createElementVNode)(`div`,{class:`h-3 w-10 bg-muted rounded animate-pulse`},null,-1)]])),64))])]))}}),ol={class:`bg-background rounded-lg shadow-xl w-96 p-4`},sl={key:0,class:`mb-3 text-[11px] text-destructive font-medium`},cl={key:1,class:`mb-3 p-3 bg-muted/50 rounded-lg border border-border`},ll={class:`flex items-start gap-2`},ul={class:`flex-1 min-w-0`},dl={class:`text-xs font-medium truncate`},fl={class:`text-[10px] text-muted-foreground mt-0.5`},pl={class:`flex items-center gap-1 mt-1`},ml={class:`text-[10px] font-mono text-muted-foreground`},hl={class:`flex justify-end gap-2`},gl=[`disabled`],_l=10*1024*1024,vl=(0,t.defineComponent)({__name:`BlobUploadDialog`,props:{open:{type:Boolean}},emits:[`update:open`,`upload`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.ref)(``),c=(0,t.ref)(!1),l=(0,t.ref)(null);(0,t.watch)(()=>r.open,e=>{e||(a.value=null,s.value=``,o.value=!1,l.value=null)});let u=(0,t.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>_l){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,t.onMounted)(()=>document.addEventListener(`keydown`,x,!0)),(0,t.onUnmounted)(()=>document.removeEventListener(`keydown`,x,!0)),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[e.open?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,"data-devtools-modal":``,onClick:(0,t.withModifiers)(b,[`self`])},[(0,t.createElementVNode)(`div`,ol,[(0,t.createElementVNode)(`div`,{class:`flex items-center justify-between mb-3`},[r[2]||=(0,t.createElementVNode)(`h3`,{class:`text-sm font-semibold`},`Upload Blob`,-1),(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,onClick:b},[...r[1]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),(0,t.createElementVNode)(`div`,{class:(0,t.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=>n.$refs.fileInput.click(),onDrop:g,onDragover:_,onDragleave:v},[r[3]||=(0,t.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground mx-auto mb-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`p`,{class:`text-xs font-medium`},[(0,t.createTextVNode)(` Drop file here or `),(0,t.createElementVNode)(`span`,{class:`text-primary underline`},`browse`)],-1),r[5]||=(0,t.createElementVNode)(`p`,{class:`text-[10px] text-muted-foreground mt-1`},` Max 10 MB per file `,-1),(0,t.createElementVNode)(`input`,{ref:`fileInput`,type:`file`,class:`hidden`,onChange:h},null,544)],34),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,sl,(0,t.toDisplayString)(l.value),1)):(0,t.createCommentVNode)(``,!0),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,cl,[(0,t.createElementVNode)(`div`,ll,[r[8]||=(0,t.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,t.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,t.createElementVNode)(`div`,ul,[(0,t.createElementVNode)(`div`,dl,(0,t.toDisplayString)(a.value.name),1),(0,t.createElementVNode)(`div`,fl,(0,t.toDisplayString)(d(a.value.size)),1),(0,t.createElementVNode)(`div`,pl,[r[6]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`SHA-256:`,-1),(0,t.createElementVNode)(`span`,ml,(0,t.toDisplayString)(c.value?`computing…`:s.value),1)])]),(0,t.createElementVNode)(`button`,{class:`p-0.5 hover:bg-muted rounded text-muted-foreground shrink-0`,onClick:m},[...r[7]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,hl,[(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,onClick:b},` Cancel `),(0,t.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,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createTextVNode)(` Upload `,-1)]],8,gl)])])])):(0,t.createCommentVNode)(``,!0)]))}}),yl={class:`flex flex-col flex-1 min-h-0`},bl={class:`flex-1 relative min-h-0`},xl={class:`absolute inset-0 overflow-auto scrollbar-thin`},Sl={key:0,class:`p-6 space-y-2 animate-pulse`},Cl={key:1,class:`flex flex-col items-center justify-center h-full py-16 text-center`},wl={class:`text-xs text-muted-foreground`},Tl={key:2,class:`w-full min-w-[680px] text-xs`},El={class:`border-b border-border`},Dl={key:0,class:`w-8 px-2 py-1.5 text-left sticky top-0 z-10 bg-muted`},Ol=[`checked`,`indeterminate`],kl={class:`divide-y divide-border`},Al=[`onClick`],jl=[`checked`,`onChange`],Ml={class:`px-2 py-2`},Nl={class:`flex items-center gap-2`},Pl={class:`font-medium truncate max-w-[180px]`},Fl={class:`px-2 py-2 text-muted-foreground text-[10px] font-mono`},Il={class:`px-2 py-2 text-muted-foreground`},Ll={class:`px-2 py-2 text-muted-foreground`},Rl={class:`px-2 py-2`},zl=[`title`,`onClick`],Bl={class:`truncate max-w-[90px]`},Vl={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Hl={key:1,class:`w-3 h-3 opacity-0 group-hover:opacity-100 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Ul={class:`relative flex items-center gap-0.5`},Wl=[`onClick`],Gl=[`onClick`],Kl={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`},ql={class:`flex items-center gap-2 text-muted-foreground`},Jl=[`value`],Yl=[`value`],Xl={class:`flex items-center gap-1`},Zl=[`disabled`],Ql={class:`px-2 py-1 tabular-nums text-muted-foreground`},$l=[`disabled`],eu={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`},tu={class:`max-w-screen-lg mx-auto flex items-center gap-3`},nu={class:`flex-1 min-w-0`},ru={class:`flex items-center justify-between mb-1`},iu={class:`text-[10px] font-medium truncate max-w-xs`},au={class:`text-[10px] text-muted-foreground shrink-0 ml-3`},ou={class:`w-full bg-border rounded-full h-1`},su={key:0,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`},cu={class:`bg-background rounded-lg shadow-xl px-6 py-4 flex items-center gap-3`},lu={class:`text-sm`},uu=`primitive-blob-explorer-page-size`,du=25,fu=(0,t.defineComponent)({__name:`BlobTablePanel`,props:{documentId:{},searchQuery:{},canWrite:{type:Boolean},uploadDialogOpen:{type:Boolean}},emits:[`select-blob`,`update:upload-dialog-open`,`selection-change`],setup(e,{expose:n,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}=oc(()=>i.documentId),_=[10,25,50,100];function v(){try{let e=localStorage.getItem(uu);if(e){let t=Number(e);if(_.includes(t))return t}}catch{}return du}function y(e){try{localStorage.setItem(uu,String(e))}catch{}}let b=(0,t.ref)(1),x=(0,t.ref)(v()),S=(0,t.ref)([void 0]),C=(0,t.computed)(()=>i.searchQuery.trim().length>0),w=null;(0,t.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,t.onMounted)(()=>{C.value||O(1)}),(0,t.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,t.ref)(null),N=(0,t.ref)(new Set),ee=(0,t.computed)(()=>o.value.length>0&&o.value.every(e=>N.value.has(e.blobId))),te=(0,t.computed)(()=>!ee.value&&o.value.some(e=>N.value.has(e.blobId)));function P(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 F(e,t){let n=new Set(N.value);t?n.add(e):n.delete(e),N.value=n,a(`selection-change`,n.size)}function I(){N.value=new Set,a(`selection-change`,0)}function ne(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,t.ref)(null),z=(0,t.ref)(``),re=(0,t.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 ae=(0,t.ref)(!1),V=(0,t.ref)(!1);function oe(){ae.value=!0}async function se(){ae.value=!1,V.value=!0;let e=[...N.value];try{await h(e),M.value&&e.includes(M.value)&&L(),I()}finally{V.value=!1}}function ce(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 H=(0,t.ref)(null);async function le(e){H.value=e.name;let t=await f(e);H.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,t.ref)(null),fe=null;(0,t.onUnmounted)(()=>{fe&&clearTimeout(fe),w&&clearTimeout(w)});function pe(e,t){dc(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 n({executeBulkDelete:oe,refresh:ue,clearSelection:I,handleExternalDelete:ce,selectedCount:(0,t.computed)(()=>N.value.size)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yl,[(0,t.createElementVNode)(`div`,bl,[(0,t.createElementVNode)(`div`,xl,[(0,t.unref)(s)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Sl,[...r[7]||=[(0,t.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1),(0,t.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1),(0,t.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1)]])):(0,t.unref)(o).length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cl,[r[8]||=(0,t.createElementVNode)(`svg`,{class:`w-10 h-10 text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`p`,wl,(0,t.toDisplayString)(C.value?`No blob found with that ID`:`No blobs uploaded yet`),1)])):((0,t.openBlock)(),(0,t.createElementBlock)(`table`,Tl,[(0,t.createElementVNode)(`thead`,null,[(0,t.createElementVNode)(`tr`,El,[e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,Dl,[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:ee.value,indeterminate:te.value,onChange:r[0]||=e=>P(e.target.checked)},null,40,Ol)])):(0,t.createCommentVNode)(``,!0),r[9]||=(0,t.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,t.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,t.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,t.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,t.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,t.createElementVNode)(`th`,{class:`w-0 p-0 sticky top-0 right-0 z-20 bg-muted`},null,-1)])]),(0,t.createElementVNode)(`tbody`,kl,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{key:n.blobId,class:(0,t.normalizeClass)([`hover:bg-muted/30 group cursor-pointer`,{"bg-primary/5":M.value===n.blobId}]),onClick:e=>ne(n)},[e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:0,class:`px-2 py-2`,onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:N.value.has(n.blobId),onChange:e=>F(n.blobId,e.target.checked)},null,40,jl)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`td`,Ml,[(0,t.createElementVNode)(`div`,Nl,[_e(n.contentType)?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{key:0,class:(0,t.normalizeClass)([`w-4 h-4 shrink-0`,ye(n.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[15]||=[(0,t.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(n.contentType)?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{key:1,class:(0,t.normalizeClass)([`w-4 h-4 shrink-0`,ye(n.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[16]||=[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`svg`,{key:2,class:(0,t.normalizeClass)([`w-4 h-4 shrink-0`,ye(n.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[17]||=[(0,t.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,t.createElementVNode)(`span`,Pl,(0,t.toDisplayString)(n.filename),1)])]),(0,t.createElementVNode)(`td`,Fl,(0,t.toDisplayString)(ge(n.contentType)),1),(0,t.createElementVNode)(`td`,Il,(0,t.toDisplayString)((0,t.unref)(lc)(n.size)),1),(0,t.createElementVNode)(`td`,Ll,(0,t.toDisplayString)((0,t.unref)(uc)(n.uploadedAt)),1),(0,t.createElementVNode)(`td`,Rl,[(0,t.createElementVNode)(`button`,{class:`flex items-center gap-1 text-[10px] text-muted-foreground font-mono hover:text-foreground`,title:n.blobId,onClick:(0,t.withModifiers)(e=>pe(n.blobId,n.blobId),[`stop`])},[(0,t.createElementVNode)(`span`,Bl,(0,t.toDisplayString)(he(n.blobId)),1),de.value===n.blobId?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Vl,[...r[18]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Hl,[...r[19]||=[(0,t.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,zl)]),(0,t.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,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`absolute inset-0 bg-primary/5 pointer-events-none`,M.value===n.blobId?`opacity-100 group-hover:opacity-0`:`opacity-0`])},null,2),(0,t.createElementVNode)(`div`,Ul,[(0,t.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground`,title:`Download`,onClick:e=>me(n.blobId,n.filename)},[...r[20]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,Wl),e.canWrite?((0,t.openBlock)(),(0,t.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(n.blobId,n.filename)},[...r[21]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,Gl)):(0,t.createCommentVNode)(``,!0)])])],10,Al))),128))])]))])]),C.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Kl,[(0,t.createElementVNode)(`div`,ql,[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(_,e=>(0,t.createElementVNode)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,Yl)),64))],40,Jl),r[22]||=(0,t.createElementVNode)(`span`,null,`per page`,-1)]),(0,t.createElementVNode)(`div`,Xl,[(0,t.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:b.value<=1,onClick:k},` Previous `,8,Zl),(0,t.createElementVNode)(`span`,Ql,(0,t.toDisplayString)(b.value),1),(0,t.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:(0,t.unref)(o).length===0,onClick:A},` Next `,8,$l)])])),(0,t.createVNode)(vl,{open:e.uploadDialogOpen,"onUpdate:open":r[4]||=e=>a(`update:upload-dialog-open`,e),onUpload:le},null,8,[`open`]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,eu,[(0,t.createElementVNode)(`div`,tu,[r[23]||=(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5 text-muted-foreground shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`div`,nu,[(0,t.createElementVNode)(`div`,ru,[(0,t.createElementVNode)(`span`,iu,(0,t.toDisplayString)(H.value??`Uploading…`),1),(0,t.createElementVNode)(`span`,au,(0,t.toDisplayString)(Math.round((0,t.unref)(l)))+`% `,1)]),(0,t.createElementVNode)(`div`,ou,[(0,t.createElementVNode)(`div`,{class:`bg-primary h-1 rounded-full transition-all duration-300`,style:(0,t.normalizeStyle)({width:(0,t.unref)(l)+`%`})},null,4)])])])])):(0,t.createCommentVNode)(``,!0)])),(0,t.createVNode)(ic,{"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,t.createVNode)(ic,{"is-open":ae.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=>ae.value=!1,onConfirm:se},null,8,[`is-open`,`question`]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[V.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,su,[(0,t.createElementVNode)(`div`,cu,[r[24]||=(0,t.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground animate-spin shrink-0`,fill:`none`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),(0,t.createElementVNode)(`span`,lu,`Deleting `+(0,t.toDisplayString)(N.value.size)+` blob`+(0,t.toDisplayString)(N.value.size===1?``:`s`)+`…`,1)])])):(0,t.createCommentVNode)(``,!0)]))]))}}),pu={class:`flex-1 flex overflow-hidden min-w-0`},mu={class:`flex-1 flex flex-col min-w-0 bg-background`},hu={key:0,class:`absolute inset-0 px-3 bg-muted flex items-center justify-between z-10`},gu={class:`flex items-center gap-2`},_u={class:`text-xs font-medium`},vu={class:`flex items-center gap-2 min-w-0`},yu={class:`flex items-center gap-2 min-w-0`},bu={class:`text-sm font-medium truncate`},xu={key:0,class:`relative ml-1`},Su=[`placeholder`],Cu={key:1,class:`flex items-center gap-1.5 shrink-0`},wu={key:0},Tu={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-6`},Eu={class:`hidden lg:contents`},Du=(0,t.defineComponent)({__name:`BlobExplorerIndex`,setup(e){let n=Ye(),r=(0,t.ref)([]),i=(0,t.ref)(!1),a=(0,t.ref)(null);async function o(){try{let e=await m.getClientAsync();a.value=await e.getRootDocId(),await e.syncMetadata({scope:`all`,includeRoot:!0,pageSize:500}),r.value=(await e.documents.list({refreshFromServer:!0,includeRoot:!0})).map(e=>({...e,isRoot:e.documentId===a.value})),i.value=!0}catch(e){U(`Failed to load documents: `+W(e)),i.value=!0}}let s=null,c=null;(0,t.onMounted)(async()=>{S.value&&(w=new ResizeObserver(e=>{for(let t of e)C.value=t.contentRect.width<500}),w.observe(S.value)),o();let e=await m.getClientAsync(),t=e=>{e.action===`accepted`&&o()};e.on(`invitation`,t),s=()=>e.off(`invitation`,t);let n=()=>{o()};e.on(`documentMetadataChanged`,n),c=()=>e.off(`documentMetadataChanged`,n)}),(0,t.onUnmounted)(()=>{s?.(),c?.(),w?.disconnect()});let l=(0,t.computed)(()=>n.currentDocumentId),u=(0,t.computed)(()=>r.value.find(e=>e.documentId===l.value)??null);async function d(e){if(n.currentDocumentId!==e){f.value=null;try{await n.openDocument(e);let t=r.value.find(t=>t.documentId===e);t&&n.setCurrentDocumentTitle(t.title??e)}catch(e){U(`Failed to open document: `+W(e))}}}let f=(0,t.ref)(null),p=(0,t.ref)(!1),h=(0,t.ref)(``),g=(0,t.ref)(null);(0,t.watch)(l,()=>{f.value=null,h.value=``});let _=(0,t.ref)(0);function v(e){_.value=e}function y(){g.value?.executeBulkDelete()}function b(){g.value?.clearSelection(),_.value=0}let x=(0,t.computed)(()=>{let e=u.value?.permission;return e?e!==`reader`:!1}),S=(0,t.ref)(null),C=(0,t.ref)(!1),w=null;return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pu,[(0,t.createVNode)((0,t.unref)(He),{position:`bottom-right`,duration:3e3}),(0,t.createVNode)(al,{documents:r.value,"selected-doc-id":l.value,"document-list-loaded":i.value,onSelectDocument:d},null,8,[`documents`,`selected-doc-id`,`document-list-loaded`]),(0,t.createElementVNode)(`div`,mu,[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`div`,hu,[(0,t.createElementVNode)(`div`,gu,[(0,t.createElementVNode)(`span`,_u,(0,t.toDisplayString)(_.value)+` selected`,1),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:b},` Clear `)]),(0,t.createElementVNode)(`button`,{class:`px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1`,onClick:y},[...n[7]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createTextVNode)(` Delete `,-1)]])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,vu,[(0,t.createElementVNode)(`div`,yu,[(0,t.createElementVNode)(`span`,bu,(0,t.toDisplayString)(u.value?.title??u.value?.documentId??`Select a document`),1)]),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xu,[n[8]||=(0,t.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,t.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,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":n[0]||=e=>h.value=e,type:`text`,placeholder:C.value?`Blob ID…`:`Search by blob ID…`,class:(0,t.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,Su),[[t.vModelText,h.value]])])):(0,t.createCommentVNode)(``,!0)]),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cu,[i.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground`,title:`Refresh`,onClick:n[1]||=e=>g.value?.refresh()},[...n[11]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:(0,t.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:n[2]||=e=>p.value=!0},[n[12]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,wu,`Upload`))],2)):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[n[9]||=(0,t.createElementVNode)(`div`,{class:`w-6 h-6 bg-muted rounded animate-pulse`},null,-1),n[10]||=(0,t.createElementVNode)(`div`,{class:`w-16 h-6 bg-muted rounded animate-pulse`},null,-1)],64))])):(0,t.createCommentVNode)(``,!0)],512),l.value?((0,t.openBlock)(),(0,t.createBlock)(fu,{key:1,ref_key:`blobTableRef`,ref:g,"document-id":l.value,"search-query":h.value,"can-write":x.value,"upload-dialog-open":p.value,onSelectBlob:n[3]||=e=>f.value=e,"onUpdate:uploadDialogOpen":n[4]||=e=>p.value=e,onSelectionChange:v},null,8,[`document-id`,`search-query`,`can-write`,`upload-dialog-open`])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Tu,[...n[13]||=[(0,t.createElementVNode)(`svg`,{class:`w-10 h-10 text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`p`,{class:`text-sm font-medium text-muted-foreground`},` Select a document `,-1),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground/70 mt-1`},` Choose a document from the left panel to explore its blobs `,-1)]]))]),(0,t.createElementVNode)(`div`,Eu,[(0,t.createVNode)(Qc,{"document-id":l.value??``,"selected-blob":f.value,"can-write":x.value,onDeleteBlob:n[5]||=e=>g.value?.handleExternalDelete(e),onReloadBlobs:n[6]||=e=>g.value?.refresh()},null,8,[`document-id`,`selected-blob`,`can-write`])])]))}}),Ou=e.t(((e,t)=>{var n=`Expected a function`,r=NaN,i=`[object Symbol]`,a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt,u=typeof global==`object`&&global&&global.Object===Object&&global,d=typeof self==`object`&&self&&self.Object===Object&&self,f=u||d||Function(`return this`)(),p=Object.prototype.toString,m=Math.max,h=Math.min,g=function(){return f.Date.now()};function _(e,t,r){var i,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(n);t=x(t)||0,v(r)&&(d=!!r.leading,f=`maxWait`in r,o=f?m(x(r.maxWait)||0,t):o,p=`trailing`in r?!!r.trailing:p);function _(t){var n=i,r=a;return i=a=void 0,u=t,s=e.apply(r,n),s}function y(e){return u=e,c=setTimeout(C,t),d?_(e):s}function b(e){var n=e-l,r=e-u,i=t-n;return f?h(i,o-r):i}function S(e){var n=e-l,r=e-u;return l===void 0||n>=t||n<0||f&&r>=o}function C(){var e=g();if(S(e))return w(e);c=setTimeout(C,b(e))}function w(e){return c=void 0,p&&i?_(e):(i=a=void 0,s)}function T(){c!==void 0&&clearTimeout(c),u=0,i=l=a=c=void 0}function E(){return c===void 0?s:w(g())}function D(){var e=g(),n=S(e);if(i=arguments,a=this,l=e,n){if(c===void 0)return y(l);if(f)return c=setTimeout(C,t),_(l)}return c===void 0&&(c=setTimeout(C,t)),s}return D.cancel=T,D.flush=E,D}function v(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function y(e){return!!e&&typeof e==`object`}function b(e){return typeof e==`symbol`||y(e)&&p.call(e)==i}function x(e){if(typeof e==`number`)return e;if(b(e))return r;if(v(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=v(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=e.replace(a,``);var n=s.test(e);return n||c.test(e)?l(e.slice(2),n?2:8):o.test(e)?r:+e}t.exports=_})),ku=e.i(Ou(),1),$=u.forScope(`useJsBaoDataLoader`);function Au(e,n){return e===void 0?n:!!(0,t.unref)(e)}function ju(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 Mu(e){let{subscribeTo:n,queryParams:r,documentReady:i,loadData:a,pauseUpdates:o,reloadOnDocumentEvents:s=!0,debounceMs:c=50,onError:l}=e,u=(0,t.ref)(null),d=(0,t.ref)(!1),f=(0,t.ref)(!1),p=(0,t.computed)(()=>Au(i,!1)),h=(0,t.computed)(()=>Au(o,!1)),g=(0,t.computed)(()=>(0,t.unref)(r)??null),_=(0,t.computed)(()=>{let e=g.value;return e===null?null:ju(e)}),v=async e=>{if(!p.value){$.debug(`loadData skipped: not ready`,{reason:e,queryParams:(0,t.toRaw)(g.value)});return}if(h.value){$.debug(`loadData skipped: paused`,{reason:e,queryParams:(0,t.toRaw)(g.value)});return}$.debug(`loadData start`,{reason:e,queryParams:(0,t.toRaw)(g.value)});try{let n=await a(g.value);u.value=n,d.value||(d.value=!0,f.value=!0),$.debug(`loadData success`,{reason:e,queryParams:(0,t.toRaw)(g.value),data:n})}catch(n){if(l)try{l(n)}catch(e){$.warn(`onError handler threw`,{handlerError:e})}$.error(`loadData error`,{reason:e,queryParams:(0,t.toRaw)(g.value),error:n})}},y=(0,ku.default)(e=>{$.debug(`Reload scheduled`,{reason:e}),v(e)},c),b=()=>{y(`Manual`)},x=[];return(0,t.onMounted)(async()=>{for(let e of n)try{let t=e.subscribe(()=>{f.value&&p.value&&(h.value||y(`Subscribed models changed`))});x.push(t)}catch(e){$.warn(`Failed to subscribe to model`,{error:e})}if(Au(s,!0))try{let e=await m.getClientAsync(),t=()=>{f.value&&p.value&&(h.value||y(`Document loaded`))},n=()=>{f.value&&p.value&&(h.value||y(`Document closed`))};e.on(`documentLoaded`,t),e.on(`documentClosed`,n),x.push(()=>{e.off(`documentLoaded`,t),e.off(`documentClosed`,n)}),$.debug(`Subscribed to js-bao document events`)}catch(e){$.warn(`Failed to subscribe to js-bao client events`,{error:e})}}),(0,t.onUnmounted)(()=>{for(let e of x)try{e()}catch{}}),(0,t.watch)(p,e=>{if(!e){$.debug(`documentReady became false; resetting state`),d.value=!1,f.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,t.watch)(_,e=>{if(e===null){$.debug(`queryParams disabled (null)`);return}if(!p.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:u,initialDataLoaded:d,reload:b}}var Nu=(0,t.defineComponent)({__name:`PrimitiveLoadingGate`,props:{isReady:{type:Boolean},delayMs:{default:50}},setup(e){let n=e,r=(0,t.computed)(()=>!n.isReady),i=(0,t.ref)(!1),a=null,o=()=>{a!=null&&window.clearTimeout(a),a=null};(0,t.watch)(r,e=>{e?(o(),a=window.setTimeout(()=>{i.value=!0},n.delayMs)):(o(),i.value=!1)},{immediate:!0}),(0,t.onUnmounted)(()=>{o()});let s=(0,t.computed)(()=>r.value&&!i.value),c=(0,t.computed)(()=>r.value&&i.value);return(e,n)=>s.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[],64)):c.value?(0,t.renderSlot)(e.$slots,`loading`,{key:1}):(0,t.renderSlot)(e.$slots,`default`,{key:2})}});function Pu(e){return e}function Fu(){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:Pu(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 Iu(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 Lu(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 Ru(e){return e!==`is_null`&&e!==`is_not_null`}function zu(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 Bu=[`equals`,`not_equals`,`is_null`,`is_not_null`,`contains`,`not_contains`,`starts_with`,`ends_with`,`in`,`not_in`,`gt`,`gte`,`lt`,`lte`],Vu={string:Bu,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 Hu(e,t){return Vu[ed(e,t)?.type??`string`]??Bu}function Uu(e,t){switch(ed(e,t)?.type??`string`){case`id`:case`number`:case`boolean`:case`date`:return`equals`;default:return`contains`}}function Wu(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 Gu(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 Ku(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 qu(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 Ju(){return`filter-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function Yu(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 Xu(e){if(!e||e.length===0)return{};if(e.length===1&&e[0])return Yu(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=>Yu(e));return t.length===0?{}:t.length===1?t[0]??{}:{$and:t}}var Zu=[10,25,50,100];function Qu(){try{let e=localStorage.getItem(qe);if(e){let t=Number(e);if(Zu.includes(t))return t}}catch{}return 25}function $u(e){try{localStorage.setItem(qe,String(e))}catch{}}function ed(e,t){return e.fieldInfo.get(t)?.schema}function td(e,t){return ed(e,t)?.type===`stringset`}function nd(e,t){return ed(e,t)?.type===`date`}function rd(e,t){return ed(e,t)?.type===`number`}function id(e,t){return ed(e,t)?.type===`boolean`}function ad(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 od(e,t){return ed(e,t)?.indexed===!0}function sd(e){return e?{[e.field]:e.direction}:{id:1}}function cd(e){return e===1?`↑`:`↓`}function ld(){try{let e=localStorage.getItem(Je);if(e)return JSON.parse(e)}catch{}return{}}function ud(e){try{localStorage.setItem(Je,JSON.stringify(e))}catch{}}function dd(e){return ld()[e]}function fd(e,t){let n=ld();n[e]=t,ud(n)}function pd(e){switch(e){case`owner`:case`admin`:return`Owner`;case`read-write`:return`Editor`;case`reader`:return`Viewer`;default:return`Owner`}}function md(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 hd(e){return e===`owner`||e===`admin`}var gd={class:`flex items-center px-2 h-10 bg-muted border-b border-border relative`},_d={key:0,class:`absolute inset-0 px-2 bg-muted flex items-center justify-between z-10`},vd={class:`flex items-center gap-2`},yd={class:`text-[10px] font-medium`},bd={class:`flex items-center gap-0.5`},xd={class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1`},Sd={key:0,class:`flex-1 overflow-y-auto scrollbar-thin flex flex-col`},Cd={key:0,class:`p-3 text-center text-[10px] text-muted-foreground`},wd={key:1,class:`p-3 text-center text-[10px] text-muted-foreground`},Td={class:`flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent`},Ed=[`checked`,`indeterminate`],Dd=[`onClick`],Od=[`checked`,`disabled`,`title`,`onChange`],kd={key:0,class:`text-[9px] px-1 py-0.5 bg-amber-500/10 text-amber-600 rounded ml-1`},Ad=(0,t.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:n}){let r=e,i=n,a=(0,t.ref)(new Set),o=(0,t.computed)(()=>a.value.size),s=(0,t.computed)(()=>a.value.size>0),c=(0,t.computed)(()=>Array.from(a.value).some(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&hd(t.permission)&&!t.isRoot})),l=(0,t.computed)(()=>c.value?!1:Array.from(a.value).some(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&!hd(t.permission)&&!t.isRoot})),u=(0,t.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,t.ref)(!1),h=(0,t.ref)([]),g=()=>{let e=Array.from(a.value),t=e.filter(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&hd(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(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`flex flex-col min-h-0`,style:(0,t.normalizeStyle)({flex:e.isExpanded?`1 1 auto`:`0 0 auto`})},[(0,t.createElementVNode)(`div`,gd,[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,_d,[(0,t.createElementVNode)(`div`,vd,[(0,t.createElementVNode)(`span`,yd,(0,t.toDisplayString)(o.value)+` selected `,1),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:(0,t.withModifiers)(p,[`stop`])},` Clear `)]),(0,t.createElementVNode)(`div`,bd,[l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`p-1 text-muted-foreground hover:bg-muted-foreground/10 hover:text-foreground rounded`,title:`Leave Document`,onClick:(0,t.withModifiers)(v,[`stop`])},[...r[4]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createCommentVNode)(``,!0),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`p-1 text-destructive hover:bg-destructive/10 rounded`,title:`Delete Document`,onClick:(0,t.withModifiers)(g,[`stop`])},[...r[5]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createCommentVNode)(``,!0)])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,xd,(0,t.toDisplayString)(e.sectionLabel),1),e.showCreateButton?((0,t.openBlock)(),(0,t.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,t.withModifiers)(e=>i(`create-document`),[`stop`])},[...r[6]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1)]])):(0,t.createCommentVNode)(``,!0)]),e.isExpanded?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Sd,[e.documentListLoaded?e.filteredDocuments.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wd,(0,t.toDisplayString)(e.searchQuery?`No matching documents`:`No documents found`),1)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createElementVNode)(`div`,Td,[(0,t.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,Ed),r[7]||=(0,t.createElementVNode)(`span`,{class:`ml-2 text-[10px] text-muted-foreground`},`Select all`,-1)]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.filteredDocuments,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n.documentId,class:(0,t.normalizeClass)([`flex items-center px-2 py-1.5 cursor-pointer border-l-2`,n.documentId===e.selectedDocId?`border-primary bg-primary/5`:`border-transparent hover:bg-muted/30`,n.isRoot?`opacity-60`:``]),onClick:e=>i(`select-document`,n.documentId)},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border flex-shrink-0`,checked:a.value.has(n.documentId),disabled:n.isRoot,title:n.isRoot?`Cannot select root document`:``,onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`]),onChange:e=>d(n.documentId)},null,40,Od),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`ml-2 text-xs flex-1 truncate`,n.documentId===e.selectedDocId?`font-medium`:``])},(0,t.toDisplayString)(n.title||`Untitled`),3),n.isRoot?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,kd,` root `)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([`text-[9px] px-1 py-0.5 rounded ml-1`,(0,t.unref)(md)(n.permission)])},(0,t.toDisplayString)((0,t.unref)(pd)(n.permission)),3))],10,Dd))),128))],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cd,` Loading documents... `))])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(ic,{"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))}}),jd={key:0,class:`w-10 border-r border-border flex flex-col items-center bg-background`},Md={class:`h-10 flex items-center justify-center border-b border-border w-full`},Nd=[`title`],Pd={key:1,class:`w-48 lg:w-56 border-r border-border flex flex-col bg-background`},Fd={class:`h-10 flex items-center px-2 gap-1 border-b border-border`},Id={class:`relative flex-1 min-w-0`},Ld={class:`flex-1 overflow-y-auto scrollbar-thin`},Rd=(0,t.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:n,emit:r}){let i=e,a=r,o=(0,t.ref)(``),s=(0,t.ref)(!1),c=(0,t.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=>Lu(e,n))):e}return e.filter(e=>Lu(e.title||``,t)||Lu(e.documentId,t)||e.tags?.some(e=>Lu(e,t)))}let u=(0,t.computed)(()=>l(i.ownedDocuments)),d=(0,t.computed)(()=>l(i.sharedDocuments));return n({isCollapsed:s}),(n,r)=>s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jd,[(0,t.createElementVNode)(`div`,Md,[(0,t.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,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 6h16M4 12h16M4 18h16`})],-1)]])]),(0,t.createElementVNode)(`span`,{class:`mt-2 text-[9px] text-muted-foreground tabular-nums`,title:`${c.value} documents`},(0,t.toDisplayString)(c.value),9,Nd)])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Pd,[(0,t.createElementVNode)(`div`,Fd,[(0,t.createElementVNode)(`div`,Id,[r[13]||=(0,t.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,t.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,t.withDirectives)((0,t.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),[[t.vModelText,o.value]])]),(0,t.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,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M11 19l-7-7 7-7`})],-1)]])]),(0,t.createElementVNode)(`div`,Ld,[(0,t.createVNode)(Ad,{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,t.openBlock)(),(0,t.createBlock)(Ad,{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,t.createCommentVNode)(``,!0)])]))}}),zd=(0,t.defineComponent)({__name:`Skeleton`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{"data-slot":`skeleton`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`animate-pulse rounded-md bg-primary/10`,n.class))},null,2))}}),Bd={key:0,class:`space-y-1.5`},Vd={key:1,class:`space-y-1`},Hd=[`onKeydown`,`onBlur`],Ud=[`title`,`onClick`],Wd=[`disabled`,`onClick`],Gd={key:0,class:`flex items-center gap-1`},Kd=[`disabled`,`onKeydown`],qd=(0,t.defineComponent)({__name:`DocumentAliasesSection`,props:{documentId:{},canWrite:{type:Boolean}},setup(e){let n=u.forScope(`DocumentAliasesSection`),r=e,i=(0,t.ref)([]),a=(0,t.ref)(!0),o=(0,t.ref)(``),s=(0,t.ref)(!1),c=(0,t.ref)(null),l=(0,t.ref)(!1),d=(0,t.ref)(null),f=(0,t.ref)(null),p=(0,t.ref)(``),h=(0,t.ref)(null);async function g(e=!1){e||(a.value=!0);try{i.value=await(await m.getClientAsync()).documents.aliases.listForDocument(r.documentId)}catch(e){n.error(`Failed to load aliases:`,e),i.value=[],U(`Failed to load aliases: `+W(e))}finally{a.value=!1}}(0,t.watch)(()=>r.documentId,()=>{i.value=[],a.value=!0,g()},{immediate:!0});async function _(){let e=o.value.trim();if(!e)return;o.value=``;let t={aliasKey:e,scope:`user`};i.value=[...i.value,t],s.value=!0;try{let t=await(await m.getClientAsync()).documents.aliases.set({documentId:r.documentId,scope:`user`,aliasKey:e});n.debug(`Alias set result:`,t),await g(!0),i.value.some(t=>t.aliasKey===e)||(n.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){i.value=i.value.filter(t=>t.aliasKey!==e),n.error(`Failed to add alias:`,t),U(`Failed to add alias: `+W(t))}finally{s.value=!1}}function v(e,t){d.value={aliasKey:e,scope:t},l.value=!0}function y(){l.value=!1,d.value=null}function b(){d.value&&x(d.value.aliasKey,d.value.scope),l.value=!1,d.value=null}async function x(e,t){let r=[...i.value];i.value=i.value.filter(t=>t.aliasKey!==e),c.value=e;try{await(await m.getClientAsync()).documents.aliases.delete({scope:t,aliasKey:e}),await g(!0)}catch(e){i.value=r,n.error(`Failed to remove alias:`,e),U(`Failed to remove alias: `+W(e))}finally{c.value=null}}async function S(e){f.value=e.aliasKey,p.value=e.aliasKey,await(0,t.nextTick)(),h.value?.focus(),h.value?.select()}function C(){f.value=null,p.value=``}async function w(e,t){let a=p.value.trim();if(!a||a===e){C();return}let o=[...i.value];i.value=i.value.map(t=>t.aliasKey===e?{...t,aliasKey:a}:t),C();try{let o=await m.getClientAsync();await o.documents.aliases.delete({scope:t,aliasKey:e});try{let e=await o.documents.aliases.set({documentId:r.documentId,scope:t,aliasKey:a});n.debug(`Alias rename set result:`,e)}catch(i){n.error(`Alias rename: set failed, restoring original alias`,{originalKey:e,newKey:a,setErr:i});try{await o.documents.aliases.set({documentId:r.documentId,scope:t,aliasKey:e})}catch(t){n.error(`Failed to restore original alias after rename failure`,{originalKey:e,restoreErr:t})}throw i}await g(!0),i.value.some(e=>e.aliasKey===a)||(n.warn(`Alias rename: set returned success but alias not found in refreshed list:`,a),U(`Alias "${a}" was not saved. The server may have rejected it.`))}catch(e){i.value=o,n.error(`Failed to edit alias:`,e),U(`Failed to edit alias: `+W(e))}}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[r[3]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Aliases `,-1),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bd,[(0,t.createVNode)(zd,{class:`h-4 w-24`}),(0,t.createVNode)(zd,{class:`h-4 w-32`})])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vd,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(i.value,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n.aliasKey,class:`flex items-center justify-between gap-1 text-xs group min-w-0`},[f.value===n.aliasKey?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:0,ref_for:!0,ref_key:`editInputRef`,ref:h,"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,t.withKeys)((0,t.withModifiers)(e=>w(n.aliasKey,n.scope),[`prevent`]),[`enter`]),(0,t.withKeys)((0,t.withModifiers)(C,[`prevent`]),[`escape`])],onBlur:e=>w(n.aliasKey,n.scope)},null,40,Hd)),[[t.vModelText,p.value]]):((0,t.openBlock)(),(0,t.createElementBlock)(`code`,{key:1,class:(0,t.normalizeClass)([`text-[10px] font-mono text-muted-foreground truncate min-w-0`,e.canWrite?`cursor-pointer hover:text-foreground`:``]),title:n.aliasKey,onClick:t=>e.canWrite?S(n):void 0},(0,t.toDisplayString)(n.aliasKey),11,Ud)),e.canWrite&&f.value!==n.aliasKey?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,class:`opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-destructive flex-shrink-0`,disabled:c.value===n.aliasKey,onClick:e=>v(n.aliasKey,n.scope)},` × `,8,Wd)):(0,t.createCommentVNode)(``,!0)]))),128)),e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Gd,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>o.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:s.value,onKeydown:(0,t.withKeys)((0,t.withModifiers)(_,[`prevent`]),[`enter`])},null,40,Kd),[[t.vModelText,o.value]])])):(0,t.createCommentVNode)(``,!0)])),(0,t.createVNode)(ic,{"is-open":l.value,title:`Remove Alias`,question:`Remove the alias "${d.value?.aliasKey}" from this document?`,warning:``,"confirm-label":`Remove`,"confirming-label":`Removing...`,"is-deleting":c.value!==null,onConfirm:b,onCancel:y,"onUpdate:isOpen":r[2]||=e=>{e||y()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),Jd={key:0,class:`space-y-2.5`},Yd={class:`flex-1 space-y-1`},Xd={key:1,class:`space-y-2`},Zd={class:`flex items-center gap-2 min-w-0 flex-1`},Qd={class:`min-w-0`},$d=[`title`],ef=[`title`],tf={key:0,class:`text-[10px] text-muted-foreground flex-shrink-0`},nf=[`value`,`onChange`],rf={key:0,value:`transfer-ownership`},af={value:`remove`},of={key:2,class:`flex items-center gap-1.5 flex-shrink-0`},sf={class:`text-[10px] text-muted-foreground capitalize`},cf=[`onClick`],lf={key:3,class:`text-[10px] text-muted-foreground capitalize flex-shrink-0`},uf={class:`flex items-center gap-2 min-w-0 flex-1`},df={class:`min-w-0`},ff=[`title`],pf=[`onClick`],mf={class:`flex items-center gap-2 min-w-0 flex-1`},hf={class:`min-w-0`},gf=[`title`],_f={class:`text-[10px] text-muted-foreground truncate`},vf={class:`text-[10px] text-muted-foreground capitalize flex-shrink-0`},yf={key:0,class:`pt-1`},bf=[`onKeydown`],xf={class:`flex items-center gap-1`},Sf=[`disabled`],Cf={key:0,class:`w-2.5 h-2.5 border border-current border-t-transparent rounded-full animate-spin`},wf=(0,t.defineComponent)({__name:`DocumentSharingSection`,props:{documentId:{},canWrite:{type:Boolean}},setup(e){let n=u.forScope(`DocumentSharingSection`),r=e,i=(0,t.ref)(``),a=(0,t.ref)([]),o=(0,t.ref)([]),s=(0,t.ref)([]),c=(0,t.ref)(!0),l=(0,t.ref)(``),d=(0,t.ref)(`read-write`),f=(0,t.ref)(!1),p=(0,t.ref)(!1),h=(0,t.ref)(!1),g=(0,t.ref)(``),_=(0,t.ref)(``),v=(0,t.ref)(!1),y=(0,t.ref)(!1),b=(0,t.ref)(!1),x=(0,t.ref)(``),S=(0,t.ref)(``),C=(0,t.ref)(!1),w=(0,t.ref)(!1),T=(0,t.ref)(!1);async function E(e=!1){e||(c.value=!0);try{let e=await m.getClientAsync();i.value=(await e.me.get())?.userId??``;let[t,c,l]=await Promise.all([e.documents.getPermissions(r.documentId).catch(e=>(n.debug(`getPermissions not available:`,e),[])),e.documents.listPendingInvitations(r.documentId).catch(e=>(n.debug(`listPendingInvitations not available:`,e),[])),e.documents.listGroupPermissions(r.documentId).catch(e=>(n.debug(`listGroupPermissions not available:`,e),[]))]);a.value=t,o.value=c,s.value=await Promise.all(l.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){n.error(`Failed to load sharing info:`,e),a.value=[],o.value=[],s.value=[],U(`Failed to load sharing info: `+W(e))}finally{c.value=!1}}(0,t.watch)(()=>r.documentId,()=>{a.value=[],o.value=[],s.value=[],c.value=!0,E()},{immediate:!0});let D=null,O=!1;(0,t.onMounted)(async()=>{O=!0;try{let e=await m.getClientAsync();if(!O)return;let t=e=>{e.documentId===r.documentId&&(n.debug(`Invitation event received – reloading sharing data`,{action:e.action}),E(!0))};e.on(`invitation`,t),D=()=>e.off(`invitation`,t)}catch(e){n.warn(`Could not subscribe to invitation events:`,e)}}),(0,t.onUnmounted)(()=>{O=!1,D?.()});let k=(0,t.computed)(()=>{let e=a.value.find(e=>e.userId===i.value);return e?hd(e.permission):!1}),A=(0,t.computed)(()=>{let e=a.value.find(e=>e.userId===i.value);return e?hd(e.permission)||e.permission===`read-write`:!1});function j(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function M(e){return e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}function N(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 ee(){let e=l.value.trim().toLowerCase();if(!e)return;if(!j(e)){U(`Please enter a valid email address.`);return}if(a.value.some(t=>t.email.toLowerCase()===e)){U(`${e} already has access to this document.`);return}if(o.value.some(t=>t.email.toLowerCase()===e)){U(`${e} already has a pending invitation.`);return}let t=d.value,i={invitationId:`optimistic-${Date.now()}`,email:e,permission:t,createdAt:new Date().toISOString(),expiresAt:``};o.value=[...o.value,i],l.value=``,p.value=!1,f.value=!0;try{await(await m.getClientAsync()).documents.updatePermissions(r.documentId,{email:e,permission:t}),await E(!0)}catch(e){o.value=o.value.filter(e=>e.invitationId!==i.invitationId),n.error(`Failed to invite collaborator:`,e),U(`Failed to invite: `+W(e))}finally{f.value=!1}}async function te(e){let t=[...o.value];o.value=o.value.filter(t=>t.email!==e);try{await(await m.getClientAsync()).documents.removePermission(r.documentId,{email:e}),await E(!0)}catch(e){o.value=t,n.error(`Failed to cancel invitation:`,e),U(`Failed to cancel invitation: `+W(e))}}async function P(e,t){let i=a.value.slice();a.value=a.value.map(n=>n.userId===e?{...n,permission:t}:n);try{await(await m.getClientAsync()).documents.updatePermissions(r.documentId,{userId:e,permission:t}),await E(!0)}catch(e){a.value=i,n.error(`Failed to update permission:`,e),U(`Failed to update permission: `+W(e))}}async function F(e){let t=a.value.slice();a.value=a.value.filter(t=>t.userId!==e);try{await(await m.getClientAsync()).documents.removePermission(r.documentId,e),await E(!0)}catch(e){a.value=t,n.error(`Failed to remove permission:`,e),U(`Failed to remove permission: `+W(e))}}function I(e,t,n){let r=a.value.find(t=>t.userId===e);t===`remove`?(r&&(n.value=r.permission,_.value=r.name||r.email),g.value=e,v.value=e===i.value,h.value=!0):t===`transfer-ownership`?(r&&(n.value=r.permission,S.value=r.name||r.email),x.value=e,b.value=!0):t===`reader`&&e===i.value?(r&&(n.value=r.permission),w.value=!0):P(e,t)}function ne(){T.value=!0,P(i.value,`reader`).finally(()=>{T.value=!1,w.value=!1})}function L(){w.value=!1}function R(){y.value=!0,F(g.value).finally(()=>{y.value=!1,h.value=!1,g.value=``,_.value=``,v.value=!1})}function z(){h.value=!1,g.value=``,_.value=``,v.value=!1}function re(e){g.value=e.userId,_.value=e.name||e.email,v.value=!0,h.value=!0}async function ie(e){let t=a.value.slice();a.value=a.value.map(t=>t.userId===e?{...t,permission:`owner`}:t.userId===i.value?{...t,permission:`read-write`}:t),C.value=!0;try{let t=await m.getClientAsync();await t.documents.updatePermissions(r.documentId,{userId:e,permission:`owner`}),await t.documents.updatePermissions(r.documentId,{userId:i.value,permission:`read-write`}),await E(!0)}catch(e){a.value=t,n.error(`Failed to transfer ownership:`,e),U(`Failed to transfer ownership: `+W(e))}finally{C.value=!1,b.value=!1,x.value=``,S.value=``}}function B(){ie(x.value)}function ae(){b.value=!1,x.value=``,S.value=``}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[r[16]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Sharing `,-1),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jd,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(2,e=>(0,t.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2`},[(0,t.createVNode)(zd,{class:`h-5 w-5 rounded-full flex-shrink-0`}),(0,t.createElementVNode)(`div`,Yd,[(0,t.createVNode)(zd,{class:`h-3 w-20`}),(0,t.createVNode)(zd,{class:`h-2.5 w-28`})]),(0,t.createVNode)(zd,{class:`h-3 w-10`})])),64))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Xd,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.userId,class:`flex items-center justify-between gap-2 text-xs`},[(0,t.createElementVNode)(`div`,Zd,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`w-5 h-5 rounded-full flex items-center justify-center text-[10px] text-white font-medium flex-shrink-0`,N(e.name||e.email)])},(0,t.toDisplayString)(M(e.name||e.email)),3),(0,t.createElementVNode)(`div`,Qd,[(0,t.createElementVNode)(`div`,{class:`font-medium truncate`,title:e.name||e.email},(0,t.toDisplayString)(e.name||e.email),9,$d),e.name?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`text-[10px] text-muted-foreground truncate`,title:e.email},(0,t.toDisplayString)(e.email),9,ef)):(0,t.createCommentVNode)(``,!0)])]),(0,t.unref)(hd)(e.permission)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,tf,` Owner `)):A.value?((0,t.openBlock)(),(0,t.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=>I(e.userId,t.target.value,t.target)},[r[8]||=(0,t.createElementVNode)(`option`,{value:`read-write`},`Editor`,-1),r[9]||=(0,t.createElementVNode)(`option`,{value:`reader`},`Viewer`,-1),r[10]||=(0,t.createElementVNode)(`option`,{disabled:``},`───`,-1),k.value&&e.userId!==i.value&&e.permission===`read-write`?((0,t.openBlock)(),(0,t.createElementBlock)(`option`,rf,` Transfer Ownership `)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`option`,af,(0,t.toDisplayString)(e.userId===i.value?`Leave`:`Remove`),1)],40,nf)):e.userId===i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,of,[(0,t.createElementVNode)(`span`,sf,(0,t.toDisplayString)((0,t.unref)(pd)(e.permission)),1),(0,t.createElementVNode)(`button`,{class:`text-muted-foreground hover:text-destructive flex-shrink-0`,title:`Leave document`,onClick:t=>re(e)},[...r[11]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,cf)])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,lf,(0,t.toDisplayString)((0,t.unref)(pd)(e.permission)),1))]))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.email,class:`flex items-center justify-between gap-2 text-xs`},[(0,t.createElementVNode)(`div`,uf,[r[13]||=(0,t.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,t.createElementVNode)(`div`,df,[(0,t.createElementVNode)(`div`,{class:`font-medium text-muted-foreground truncate`,title:e.email},(0,t.toDisplayString)(e.email),9,ff),r[12]||=(0,t.createElementVNode)(`div`,{class:`text-[10px] text-amber-600 flex items-center gap-1`},[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createTextVNode)(` Pending invitation `)],-1)])]),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-destructive flex-shrink-0`,onClick:t=>te(e.email)},` Cancel `,8,pf)]))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${e.groupType}/${e.groupId}`,class:`flex items-center justify-between gap-2 text-xs`},[(0,t.createElementVNode)(`div`,mf,[r[14]||=(0,t.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,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`div`,hf,[(0,t.createElementVNode)(`div`,{class:`font-medium truncate`,title:e.groupName??`${e.groupType}/${e.groupId}`},(0,t.toDisplayString)(e.groupName??`${e.groupType}/${e.groupId}`),9,gf),(0,t.createElementVNode)(`div`,_f,(0,t.toDisplayString)(e.groupType)+` group `,1)])]),(0,t.createElementVNode)(`span`,vf,(0,t.toDisplayString)((0,t.unref)(pd)(e.permission)),1)]))),128)),e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yf,[p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,"data-devtools-dropdown":``,class:`space-y-1.5`,onKeydown:r[3]||=(0,t.withKeys)((0,t.withModifiers)(e=>{p.value=!1,l.value=``},[`stop`,`prevent`]),[`escape`])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>l.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,t.withKeys)((0,t.withModifiers)(ee,[`prevent`]),[`enter`])},null,40,bf),[[t.vModelText,l.value]]),(0,t.createElementVNode)(`div`,xf,[(0,t.withDirectives)((0,t.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,t.createElementVNode)(`option`,{value:`read-write`},`Editor`,-1),(0,t.createElementVNode)(`option`,{value:`reader`},`Viewer`,-1)]],512),[[t.vModelSelect,d.value]]),(0,t.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||!l.value.trim()||!j(l.value.trim()),onClick:ee},[f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Cf)):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(f.value?`Sending...`:`Send`),1)],8,Sf),(0,t.createElementVNode)(`button`,{class:`px-2 py-0.5 text-[10px] text-muted-foreground hover:text-foreground`,onClick:r[2]||=e=>{p.value=!1,l.value=``}},` Cancel `)])],32)):((0,t.openBlock)(),(0,t.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,t.createCommentVNode)(``,!0)])),(0,t.createVNode)(ic,{"is-open":h.value,title:v.value?`Leave Document`:`Remove Collaborator`,question:v.value?`Leave this document? You will lose access immediately.`:`Remove ${_.value} from this document? They will lose access immediately.`,warning:``,"confirm-label":v.value?`Leave`:`Remove`,"confirming-label":v.value?`Leaving...`:`Removing...`,"is-deleting":y.value,onConfirm:R,onCancel:z,"onUpdate:isOpen":r[5]||=e=>{e||z()}},null,8,[`is-open`,`title`,`question`,`confirm-label`,`confirming-label`,`is-deleting`]),(0,t.createVNode)(ic,{"is-open":w.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":T.value,onConfirm:ne,onCancel:L,"onUpdate:isOpen":r[6]||=e=>{e||L()}},null,8,[`is-open`,`is-deleting`]),(0,t.createVNode)(ic,{"is-open":b.value,title:`Transfer Ownership`,question:`Transfer ownership to ${S.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":C.value,onConfirm:B,onCancel:ae,"onUpdate:isOpen":r[7]||=e=>{e||ae()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),Tf={class:`flex flex-wrap gap-1 items-center`},Ef=[`title`],Df={class:`truncate min-w-0`},Of=[`disabled`,`onClick`],kf=[`onKeydown`],Af=`__ROOT_TAG__`,jf=(0,t.defineComponent)({__name:`DocumentTagsSection`,props:{documentId:{},baseTags:{},canWrite:{type:Boolean},isRoot:{type:Boolean}},emits:[`documents-changed`],setup(e,{emit:n}){let r=u.forScope(`DocumentTagsSection`),i=e,a=n,o=(0,t.ref)(``),s=(0,t.ref)(!1),c=(0,t.ref)(null),l=(0,t.ref)(!1),d=(0,t.ref)(null),f=(0,t.ref)([]),p=(0,t.ref)(new Set),h=(0,t.ref)([]),g=(0,t.computed)(()=>{let e=new Set([...i.baseTags,...f.value]);for(let t of p.value)e.delete(t);let t=h.value.filter(t=>e.has(t)),n=new Set(t);for(let r of e)n.has(r)||t.push(r);return t});(0,t.watch)(()=>i.baseTags,e=>{if(!e)return;let t=new Set(h.value);for(let n of e)t.has(n)||h.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]);h.value=h.value.filter(e=>n.has(e))},{deep:!0}),(0,t.watch)(()=>i.documentId,()=>{f.value=[],p.value=new Set,h.value=[]});async function _(){let e=o.value.trim();if(e){o.value=``,f.value.includes(e)||f.value.push(e),h.value.includes(e)||h.value.push(e),s.value=!0;try{await(await m.getClientAsync()).documents.addTag(i.documentId,e),a(`documents-changed`),r.debug(`Added tag to document`,{documentId:i.documentId,tag:e})}catch(t){f.value=f.value.filter(t=>t!==e),r.error(`Failed to add tag to document:`,t),U(`Failed to add tag: `+W(t))}finally{s.value=!1}}}function v(e){d.value=e,l.value=!0}function y(){l.value=!1,d.value=null}function b(){d.value&&x(d.value),l.value=!1,d.value=null}async function x(e){p.value.add(e),c.value=e;try{await(await m.getClientAsync()).makeRequest(`DELETE`,`/documents/${i.documentId}/tags/${encodeURIComponent(e)}`),a(`documents-changed`),r.debug(`Removed tag from document`,{documentId:i.documentId,tag:e})}catch(t){p.value.delete(e),r.error(`Failed to remove tag from document:`,t),U(`Failed to remove tag: `+W(t))}finally{c.value=null}}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[r[2]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Tags `,-1),(0,t.createElementVNode)(`div`,Tf,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(g.value,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:n,class:`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] bg-muted rounded group max-w-full`,title:n},[(0,t.createElementVNode)(`span`,Df,(0,t.toDisplayString)(n),1),e.canWrite&&!(e.isRoot&&n===Af)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`opacity-0 group-hover:opacity-100 hover:text-destructive flex-shrink-0`,disabled:c.value===n,onClick:e=>v(n)},` × `,8,Of)):(0,t.createCommentVNode)(``,!0)],8,Ef))),128)),e.canWrite&&!e.isRoot?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:0,"onUpdate:modelValue":r[0]||=e=>o.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,t.withKeys)((0,t.withModifiers)(_,[`prevent`]),[`enter`]),onBlur:_},null,40,kf)),[[t.vModelText,o.value]]):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)(ic,{"is-open":l.value,title:`Remove Tag`,question:`Remove the tag "${d.value}" from this document?`,warning:``,"confirm-label":`Remove`,"confirming-label":`Removing...`,"is-deleting":c.value!==null,onConfirm:b,onCancel:y,"onUpdate:isOpen":r[1]||=e=>{e||y()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),Mf={class:`relative min-h-0`},Nf={class:`w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Pf={key:0,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 19l-7-7 7-7`},Ff={key:1,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`},If={class:`flex-1 overflow-y-auto scrollbar-thin min-h-0 p-3`},Lf={class:`mb-4`},Rf={class:`flex items-center justify-between`},zf={class:`text-base font-semibold truncate`},Bf={key:0,class:`relative`},Vf={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`},Hf={class:`py-1`},Uf={key:0,class:`border-t border-border my-1`},Wf=[`title`],Gf={class:`text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]`},Kf={key:0,class:`w-3 h-3 text-green-500 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},qf={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`},Jf={class:`space-y-3 mb-4 text-xs`},Yf={class:`flex justify-between`},Xf={class:`flex justify-between`},Zf={key:0,class:`flex justify-between`},Qf={class:`mb-4`},$f={class:`mb-4`},ep={key:0,class:`mb-4`},tp={key:1,class:`mb-4`},np={key:0,class:`space-y-1.5`},rp={key:1,class:`space-y-1`},ip={class:`flex items-center gap-1.5 min-w-0`},ap=[`title`],op=[`onClick`],sp={key:2,class:`text-xs text-muted-foreground italic`},cp={class:`mb-4`},lp={key:0,class:`space-y-1`},up={key:0,class:`flex justify-between gap-2 text-xs`},dp=[`title`,`onClick`],fp={class:`text-muted-foreground flex-shrink-0 whitespace-nowrap`},pp={key:1,class:`text-xs text-muted-foreground italic`},mp={class:`bg-background rounded-lg shadow-xl w-80 p-4`},hp={class:`space-y-3`},gp={class:`flex justify-end gap-2`},_p=[`disabled`],vp=(0,t.defineComponent)({__name:`DocumentPropertiesPanel`,props:{document:{},models:{},recordCounts:{}},emits:[`navigate-to-model`,`rename-document`,`delete-document`,`documents-changed`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>r.document.permission!==`reader`),o=(0,t.ref)(typeof window<`u`?localStorage.getItem(Ke)===`true`:!1);(0,t.watch)(o,e=>{typeof window<`u`&&localStorage.setItem(Ke,String(e))});let s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(``),d=(0,t.ref)(null);function f(e){if(e.key===`Escape`){if(s.value){s.value=!1,e.stopPropagation();return}c.value=!1}}function p(){c.value||s.value?document.addEventListener(`keydown`,f):document.removeEventListener(`keydown`,f)}(0,t.watch)(c,e=>{p(),e&&(0,t.nextTick)(()=>d.value?.focus())}),(0,t.watch)(s,()=>p()),(0,t.onUnmounted)(()=>{document.removeEventListener(`keydown`,f)});let h=(0,t.ref)(null),g=null;async function _(e){try{await navigator.clipboard.writeText(e)}catch{}h.value=e,g&&clearTimeout(g),g=setTimeout(()=>{h.value=null},1500)}let v=u.forScope(`DocumentPropertiesPanel`),y=(0,t.ref)([]),b=(0,t.ref)(!1);async function x(){b.value=!0;try{let e=await m.getClientAsync(),t=await e.collections.listCollectionsForDocument(r.document.documentId);y.value=await Promise.all(t.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){v.error(`Failed to load collections:`,e),y.value=[]}finally{b.value=!1}}async function S(e){let t=[...y.value];y.value=y.value.filter(t=>t.collectionId!==e);try{await(await m.getClientAsync()).collections.removeDocument(e,r.document.documentId)}catch{y.value=t}}(0,t.watch)(()=>r.document.documentId,()=>x(),{immediate:!0});function C(){let e=l.value.trim();e&&(i(`rename-document`,r.document.documentId,e),c.value=!1)}function w(e){if(!e)return`Unknown`;try{return new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`})}catch{return e}}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Mf,[(0,t.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=>o.value=!o.value},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Nf,[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`path`,Pf)):((0,t.openBlock)(),(0,t.createElementBlock)(`path`,Ff))]))]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`h-full border-l border-border flex flex-col bg-background transition-all duration-200`,o.value?`w-0 overflow-hidden border-l-0`:`w-64 lg:w-72`])},[(0,t.createElementVNode)(`div`,If,[(0,t.createElementVNode)(`div`,Lf,[(0,t.createElementVNode)(`div`,Rf,[(0,t.createElementVNode)(`h2`,zf,(0,t.toDisplayString)(e.document.title||`Untitled`),1),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bf,[(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,onClick:r[1]||=e=>s.value=!s.value},[...r[9]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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)]]),s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Vf,[(0,t.createElementVNode)(`div`,Hf,[(0,t.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=>{s.value=!1,c.value=!0,l.value=e.document?.title||``}},[(0,t.createVNode)((0,t.unref)(qs),{class:`w-3.5 h-3.5`}),r[10]||=(0,t.createTextVNode)(` Rename Document `,-1)]),e.document.isRoot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Uf)),e.document.isRoot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.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=>{s.value=!1,i(`delete-document`,e.document.documentId)}},[(0,t.createVNode)((0,t.unref)(Js),{class:`w-3.5 h-3.5`}),r[11]||=(0,t.createTextVNode)(` Delete Document `,-1)]))])])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)]),(0,t.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=>_(e.document.documentId)},[(0,t.createElementVNode)(`code`,Gf,(0,t.toDisplayString)(e.document.documentId),1),h.value===e.document.documentId?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Kf,[...r[12]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,qf,[...r[13]||=[(0,t.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,Wf)]),(0,t.createElementVNode)(`div`,Jf,[(0,t.createElementVNode)(`div`,Yf,[r[14]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Created`,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(w(e.document.createdAt||e.document.lastModified)),1)]),(0,t.createElementVNode)(`div`,Xf,[r[15]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Permission`,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(pd)(e.document.permission)),1)]),e.document.isRoot?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zf,[...r[16]||=[(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Type`,-1),(0,t.createElementVNode)(`span`,{class:`text-amber-600`},`Root Document`,-1)]])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,Qf,[(0,t.createVNode)(jf,{"document-id":e.document.documentId,"base-tags":e.document.tags??[],"can-write":a.value,"is-root":e.document.isRoot,onDocumentsChanged:r[5]||=e=>i(`documents-changed`)},null,8,[`document-id`,`base-tags`,`can-write`,`is-root`])]),(0,t.createElementVNode)(`div`,$f,[(0,t.createVNode)(qd,{"document-id":e.document.documentId,"can-write":a.value},null,8,[`document-id`,`can-write`])]),e.document.isRoot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ep,[(0,t.createVNode)(wf,{"document-id":e.document.documentId,"can-write":a.value},null,8,[`document-id`,`can-write`])])),e.document.isRoot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,tp,[r[20]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Collections `,-1),b.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,np,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(2,e=>(0,t.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2`},[...r[17]||=[(0,t.createElementVNode)(`div`,{class:`h-3 w-20 bg-muted animate-pulse rounded`},null,-1)]])),64))])):y.value.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rp,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(y.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.collectionId,class:`flex items-center justify-between gap-2 text-xs group`},[(0,t.createElementVNode)(`div`,ip,[r[18]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-muted-foreground flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`span`,{class:`truncate`,title:e.name||e.collectionId},(0,t.toDisplayString)(e.name||e.collectionId),9,ap)]),a.value?((0,t.openBlock)(),(0,t.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=>S(e.collectionId)},[...r[19]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]],8,op)):(0,t.createCommentVNode)(``,!0)]))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,sp,` Not in any collections `))])),(0,t.createElementVNode)(`div`,cp,[r[21]||=(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`div`,lp,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.models,n=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:n.tableName},[(e.recordCounts[n.tableName]??0)>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,up,[(0,t.createElementVNode)(`button`,{class:`hover:text-primary hover:underline text-left truncate min-w-0`,title:n.name,onClick:e=>i(`navigate-to-model`,n.tableName)},(0,t.toDisplayString)(n.name),9,dp),(0,t.createElementVNode)(`span`,fp,(0,t.toDisplayString)(e.recordCounts[n.tableName])+` records `,1)])):(0,t.createCommentVNode)(``,!0)],64))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,pp,` No records in this document `))])])],2),c.value?((0,t.openBlock)(),(0,t.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,t.withModifiers)(e=>c.value=!1,[`self`])},[(0,t.createElementVNode)(`div`,mp,[r[23]||=(0,t.createElementVNode)(`h3`,{class:`text-sm font-semibold mb-3`},`Rename Document`,-1),(0,t.createElementVNode)(`div`,hp,[(0,t.createElementVNode)(`div`,null,[r[22]||=(0,t.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`Document Name`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref_key:`renameInputRef`,ref:d,"onUpdate:modelValue":r[6]||=e=>l.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,t.withKeys)(C,[`enter`])},null,544),[[t.vModelText,l.value]])]),(0,t.createElementVNode)(`div`,gp,[(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,onClick:r[7]||=e=>c.value=!1},` Cancel `),(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,disabled:!l.value.trim(),onClick:C},` Rename `,8,_p)])])])])):(0,t.createCommentVNode)(``,!0)]))}});function yp(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 bp={class:`bg-background rounded-lg shadow-xl w-80 p-4`},xp={class:`space-y-3`},Sp=[`disabled`],Cp={class:`flex justify-end gap-2`},wp=[`disabled`],Tp=[`disabled`],Ep={key:0,class:`w-3 h-3 border-2 border-primary-foreground border-t-transparent rounded-full animate-spin`},Dp=(0,t.defineComponent)({__name:`CreateDocumentDialog`,props:{open:{type:Boolean},isCreating:{type:Boolean}},emits:[`update:open`,`create`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.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,t.watch)(()=>r.open,e=>{e?(document.addEventListener(`keydown`,l),(0,t.nextTick)(()=>o.value?.focus())):(document.removeEventListener(`keydown`,l),a.value=``)}),(0,t.onUnmounted)(()=>{document.removeEventListener(`keydown`,l)}),(n,r)=>e.open?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,"data-devtools-modal":``,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,onClick:(0,t.withModifiers)(c,[`self`])},[(0,t.createElementVNode)(`div`,bp,[r[2]||=(0,t.createElementVNode)(`h3`,{class:`text-sm font-semibold mb-3`},`Create New Document`,-1),(0,t.createElementVNode)(`div`,xp,[(0,t.createElementVNode)(`div`,null,[r[1]||=(0,t.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`Document Name`,-1),(0,t.withDirectives)((0,t.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,t.withKeys)(s,[`enter`])},null,40,Sp),[[t.vModelText,a.value]])]),(0,t.createElementVNode)(`div`,Cp,[(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,disabled:e.isCreating,onClick:c},` Cancel `,8,wp),(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`div`,Ep)):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.isCreating?`Creating...`:`Create`),1)],8,Tp)])])])])):(0,t.createCommentVNode)(``,!0)}}),Op=(0,t.defineComponent)({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=(0,i.reactiveOmit)(n,`class`);return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(xa),(0,t.mergeProps)({"data-slot":`label`},(0,t.unref)(r),{class:(0,t.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`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),kp=(0,t.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:n}){let r=e,a=n,o=It((0,i.reactiveOmit)(r,`class`),a);return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(io),(0,t.mergeProps)({"data-slot":`switch`},(0,t.unref)(o),{class:(0,t.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,t.withCtx)(n=>[(0,t.createVNode)((0,t.unref)(ao),{"data-slot":`switch-thumb`,class:(0,t.normalizeClass)((0,t.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,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`thumb`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)))]),_:2},1032,[`class`])]),_:3},16,[`class`]))}}),Ap=(0,t.defineComponent)({__name:`Textarea`,props:{class:{type:[Boolean,null,String,Object,Array]},defaultValue:{},modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=(0,i.useVModel)(r,`modelValue`,n,{passive:!0,defaultValue:r.defaultValue});return(e,n)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`textarea`,{"onUpdate:modelValue":n[0]||=e=>(0,t.isRef)(a)?a.value=e:null,"data-slot":`textarea`,class:(0,t.normalizeClass)((0,t.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)),[[t.vModelText,(0,t.unref)(a)]])}}),jp={class:`min-h-10 px-3 py-1.5 border-b border-border bg-muted/20 relative flex items-center`},Mp={class:`flex items-center gap-2 flex-1`},Np=[`onClick`,`onKeydown`],Pp={class:`text-muted-foreground`},Fp={key:0,class:`font-medium truncate max-w-[120px]`},Ip=[`onClick`],Lp={class:`space-y-2`},Rp=[`value`],zp=[`value`],Bp={key:0},Vp=[`value`],Hp=[`placeholder`],Up={key:1,class:`text-[9px] text-muted-foreground`},Wp={class:`flex justify-end gap-2 pt-2`},Gp=[`disabled`],Kp=(0,t.defineComponent)({__name:`FilterBar`,props:{modelInfo:{},filters:{},loadedData:{},showHiddenFields:{type:Boolean}},emits:[`add-filter`,`remove-filter`,`update-filter`,`clear-all`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(null),l=(0,t.ref)(null),u=(0,t.ref)(``),d=(0,t.ref)(`contains`),f=(0,t.ref)(``),p=(0,t.computed)(()=>r.modelInfo?Gu(r.modelInfo,r.loadedData,r.showHiddenFields):[]),m=(0,t.computed)(()=>!r.modelInfo||!u.value?[]:Hu(r.modelInfo,u.value)),h=(0,t.computed)(()=>!r.modelInfo||!u.value?`string`:ed(r.modelInfo,u.value)?.type??`string`),g=(0,t.computed)(()=>d.value===`in`||d.value===`not_in`),_=(0,t.computed)(()=>h.value===`boolean`&&!g.value),v=(0,t.computed)(()=>h.value===`number`&&!g.value),y=()=>{l.value=null;let e=p.value[0]||``;u.value=e,d.value=r.modelInfo&&e?Uu(r.modelInfo,e):`contains`,f.value=``};(0,t.watch)(u,e=>{!r.modelInfo||!e||(Hu(r.modelInfo,e).includes(d.value)||(d.value=Uu(r.modelInfo,e)),(ed(r.modelInfo,e)?.type??`string`)===`boolean`&&f.value!==`true`&&f.value!==`false`&&(f.value=`true`))}),(0,t.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,t.onMounted)(()=>{document.addEventListener(`click`,T),document.addEventListener(`keydown`,w)}),(0,t.onUnmounted)(()=>{document.removeEventListener(`click`,T),document.removeEventListener(`keydown`,w)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jp,[(0,t.createElementVNode)(`div`,Mp,[(0,t.createElementVNode)(`div`,{ref_key:`chipsContainerRef`,ref:c,class:`flex-1 flex items-center gap-1 flex-wrap`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.filters,e=>((0,t.openBlock)(),(0,t.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,t.withKeys)(t=>x(e),[`enter`])},[(0,t.createElementVNode)(`span`,Pp,(0,t.toDisplayString)(e.field),1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(zu)(e.mode)),1),(0,t.unref)(Ru)(e.mode)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Fp,`"`+(0,t.toDisplayString)(e.value)+`"`,1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,class:`ml-1 hover:text-destructive shrink-0`,"aria-label":`Remove filter`,onClick:(0,t.withModifiers)(t=>i(`remove-filter`,e.id),[`stop`])},[(0,t.createVNode)((0,t.unref)(Ys),{class:`w-3 h-3`})],8,Ip)],40,Np))),128)),(0,t.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,t.createVNode)((0,t.unref)(Ks),{class:`w-3 h-3`}),r[7]||=(0,t.createTextVNode)(` Add filter `,-1)],512)],512),e.filters.length>0?((0,t.openBlock)(),(0,t.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,t.createCommentVNode)(``,!0)]),a.value?((0,t.openBlock)(),(0,t.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,t.createElementVNode)(`div`,Lp,[(0,t.createElementVNode)(`div`,null,[r[8]||=(0,t.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Field`,-1),(0,t.withDirectives)((0,t.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,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(p.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,Rp))),128))],512),[[t.vModelSelect,u.value]])]),(0,t.createElementVNode)(`div`,null,[r[9]||=(0,t.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Operator`,-1),(0,t.withDirectives)((0,t.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,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)((0,t.unref)(zu)(e)),9,zp))),128))],512),[[t.vModelSelect,d.value]])]),(0,t.unref)(Ru)(d.value)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Bp,[r[11]||=(0,t.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Value`,-1),_.value?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.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,t.withKeys)(C,[`enter`])},[...r[10]||=[(0,t.createElementVNode)(`option`,{value:`true`},`true`,-1),(0,t.createElementVNode)(`option`,{value:`false`},`false`,-1)]],544)),[[t.vModelSelect,f.value]]):v.value?((0,t.openBlock)(),(0,t.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,t.withKeys)(C,[`enter`])},null,40,Vp)):(0,t.withDirectives)(((0,t.openBlock)(),(0,t.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,t.withKeys)(C,[`enter`])},null,40,Hp)),[[t.vModelText,f.value]])])):(0,t.createCommentVNode)(``,!0),g.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Up,` Tip: Enter comma-separated values `)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Wp,[(0,t.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground`,onClick:S},` Cancel `),(0,t.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] font-medium bg-primary text-primary-foreground rounded disabled:opacity-50`,disabled:!u.value||(0,t.unref)(Ru)(d.value)&&d.value!==`equals`&&d.value!==`not_equals`&&!f.value.trim(),onClick:C},(0,t.toDisplayString)(l.value?`Save`:`Add`),9,Gp)])])],512)):(0,t.createCommentVNode)(``,!0)]))}}),qp={class:`flex items-center gap-2`},Jp={class:`text-xs font-medium`},Yp={class:`flex items-center gap-2 min-w-0 flex-1`},Xp={class:`relative flex items-center gap-1.5 min-w-0`,"data-model-selector":``},Zp={class:`truncate`},Qp={key:0,class:`text-[10px] text-muted-foreground font-mono ml-2 truncate hidden lg:inline`},$p={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`},em={class:`py-1`},tm=[`onClick`],nm={class:`font-medium truncate min-w-0`},rm={class:`text-muted-foreground flex-shrink-0 ml-2`},im={class:`flex items-center gap-1 flex-shrink-0 min-w-0 max-w-[50%]`},am=[`title`],om={key:0,class:`truncate`},sm={key:0,class:`border-b border-border bg-muted/30 max-h-64 overflow-y-auto scrollbar-thin`},cm={class:`p-3`},lm={class:`grid grid-cols-4 gap-4 text-xs`},um={class:`space-y-1`},dm={class:`truncate min-w-0`},fm={class:`text-muted-foreground flex-shrink-0`},pm={key:0,class:`space-y-1.5`},mm={class:`font-medium`},hm={class:`text-[10px] text-blue-600 font-mono`},gm={key:1,class:`text-[10px] text-muted-foreground italic`},_m={key:0,class:`space-y-1.5`},vm={class:`font-medium font-mono`},ym={class:`font-mono text-muted-foreground italic`},bm={class:`font-mono text-muted-foreground`},xm={key:1,class:`text-[10px] text-muted-foreground italic`},Sm={class:`space-y-3`},Cm={key:0,class:`space-y-1`},wm={key:1,class:`text-[10px] text-muted-foreground italic`},Tm={key:0,class:`space-y-1`},Em={key:1,class:`text-[10px] text-muted-foreground italic`},Dm=(0,t.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:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.ref)(null),c=(0,t.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,t.computed)(()=>p(r.currentModel??null)),h=(0,t.computed)(()=>{let e=m.value;return e.instanceMethods.length>0||e.staticMethods.length>0||e.getters.length>0}),g=(0,t.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,t.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,t.onUnmounted)(()=>{document.removeEventListener(`click`,d),document.removeEventListener(`keydown`,f),l?.disconnect()}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,qp,[(0,t.createElementVNode)(`span`,Jp,(0,t.toDisplayString)(e.selectedCount)+` selected `,1),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:r[0]||=e=>i(`clear-selection`)},` Clear `)]),(0,t.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,t.createVNode)((0,t.unref)(Js),{class:`w-3.5 h-3.5`}),r[5]||=(0,t.createTextVNode)(` Delete `,-1)])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,Yp,[(0,t.createElementVNode)(`div`,Xp,[(0,t.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,t.createElementVNode)(`span`,Zp,(0,t.toDisplayString)(e.currentModel?.name||e.modelName)+` model `,1),r[6]||=(0,t.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,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]),e.currentModel?.sourcePath?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Qp,(0,t.toDisplayString)(e.currentModel.sourcePath),1)):(0,t.createCommentVNode)(``,!0),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$p,[(0,t.createElementVNode)(`div`,em,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.models,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n.tableName,class:(0,t.normalizeClass)([`w-full flex items-center justify-between px-3 py-1.5 text-xs text-left hover:bg-muted`,n.tableName===e.modelName?`bg-primary/5`:``]),onClick:e=>u(n.tableName)},[(0,t.createElementVNode)(`span`,nm,(0,t.toDisplayString)(n.name)+` model `,1),(0,t.createElementVNode)(`span`,rm,(0,t.toDisplayString)(e.modelCounts[n.tableName]??`...`),1)],10,tm))),128))])])):(0,t.createCommentVNode)(``,!0)]),(0,t.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,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`div`,im,[e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:(0,t.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,t.createElementVNode)(`svg`,{class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),c.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,om,` New `+(0,t.toDisplayString)(e.currentModel?.name||e.modelName),1))],10,am)):(0,t.createCommentVNode)(``,!0)])],64))],512),o.value&&e.currentModel?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,sm,[(0,t.createElementVNode)(`div`,cm,[(0,t.createElementVNode)(`div`,lm,[(0,t.createElementVNode)(`div`,null,[r[9]||=(0,t.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Schema `,-1),(0,t.createElementVNode)(`div`,um,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.currentModel.fields.filter(e=>e!==`id`&&!e.startsWith(`_`)),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`flex justify-between gap-2`},[(0,t.createElementVNode)(`span`,dm,(0,t.toDisplayString)(n),1),(0,t.createElementVNode)(`span`,fm,(0,t.toDisplayString)((0,t.unref)(ed)(e.currentModel,n)?.type||`string`),1)]))),128))])]),(0,t.createElementVNode)(`div`,null,[r[10]||=(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`div`,pm,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.currentModel.relationships,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`flex items-center justify-between`},[(0,t.createElementVNode)(`span`,mm,(0,t.toDisplayString)(n),1),(0,t.createElementVNode)(`span`,hm,(0,t.toDisplayString)(e.type===`hasMany`?`←`:`→`)+` `+(0,t.toDisplayString)(e.model)+(0,t.toDisplayString)(e.type===`hasMany`?`[]`:``),1)]))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gm,` None `))]),(0,t.createElementVNode)(`div`,null,[r[11]||=(0,t.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Methods `,-1),h.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,_m,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value.instanceMethods,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.name},[(0,t.createElementVNode)(`span`,vm,(0,t.toDisplayString)(e.signature),1)]))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value.getters,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.name},[(0,t.createElementVNode)(`span`,ym,(0,t.toDisplayString)(e.signature),1)]))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value.staticMethods,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.name},[(0,t.createElementVNode)(`span`,bm,(0,t.toDisplayString)(e.signature),1)]))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,xm,` None `))]),(0,t.createElementVNode)(`div`,Sm,[(0,t.createElementVNode)(`div`,null,[r[12]||=(0,t.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Indexes `,-1),g.value.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cm,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(g.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e,class:`px-2 py-1 bg-muted rounded font-mono text-[10px]`},(0,t.toDisplayString)(e),1))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,wm,` None `))]),(0,t.createElementVNode)(`div`,null,[r[13]||=(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`div`,Tm,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.currentModel.uniqueConstraints,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.name,class:`px-2 py-1 bg-muted rounded font-mono text-[10px]`},(0,t.toDisplayString)(e.fields.join(`, `)),1))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Em,` None `))])])])])])):(0,t.createCommentVNode)(``,!0)],64))}}),Om={class:`flex items-center gap-1.5 min-w-0`},km={class:`text-muted-foreground text-[10px] tabular-nums whitespace-nowrap`},Am=[`value`],jm=[`value`],Mm={class:`flex items-center gap-0.5`},Nm=[`disabled`],Pm={class:`text-[10px] px-1 tabular-nums`},Fm={class:`text-muted-foreground`},Im=[`disabled`],Lm={class:`flex items-center gap-2`},Rm={class:`text-muted-foreground`},zm=[`value`],Bm=[`value`],Vm={class:`flex items-center gap-1`},Hm=[`disabled`],Um=[`onClick`],Wm=[`disabled`],Gm=(0,t.defineComponent)({__name:`ModelPaginationBar`,props:{currentPage:{},totalCount:{},pageSize:{},totalPages:{}},emits:[`go-to-page`,`change-page-size`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(!1),s=null;(0,t.onMounted)(()=>{a.value&&(s=new ResizeObserver(e=>{for(let t of e)o.value=t.contentRect.width<480}),s.observe(a.value))}),(0,t.onUnmounted)(()=>{s?.disconnect()});let c=(0,t.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(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`barRef`,ref:a,class:(0,t.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,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,Om,[(0,t.createElementVNode)(`span`,km,(0,t.toDisplayString)(e.totalCount===0?0:(e.currentPage-1)*e.pageSize+1)+`–`+(0,t.toDisplayString)(Math.min(e.currentPage*e.pageSize,e.totalCount))+` / `+(0,t.toDisplayString)(e.totalCount),1),(0,t.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,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Zu),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,jm))),128))],40,Am)]),(0,t.createElementVNode)(`div`,Mm,[(0,t.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,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 19l-7-7 7-7`})],-1)]],8,Nm),(0,t.createElementVNode)(`span`,Pm,[(0,t.createTextVNode)((0,t.toDisplayString)(e.currentPage),1),(0,t.createElementVNode)(`span`,Fm,`/`+(0,t.toDisplayString)(e.totalPages),1)]),(0,t.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,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`})],-1)]],8,Im)])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,Lm,[(0,t.createElementVNode)(`span`,Rm,` Showing `+(0,t.toDisplayString)(e.totalCount===0?0:(e.currentPage-1)*e.pageSize+1)+`-`+(0,t.toDisplayString)(Math.min(e.currentPage*e.pageSize,e.totalCount))+` of `+(0,t.toDisplayString)(e.totalCount),1),(0,t.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,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(Zu),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,Bm))),128))],40,zm),r[8]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`per page`,-1)]),(0,t.createElementVNode)(`div`,Vm,[(0,t.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,Hm),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(c.value,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,class:(0,t.normalizeClass)([`px-2 py-1 rounded`,n===e.currentPage?`bg-primary text-primary-foreground`:`hover:bg-muted`]),onClick:e=>i(`go-to-page`,n)},(0,t.toDisplayString)(n),11,Um))),128)),(0,t.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,Wm)])],64))],2))}}),Km=(0,t.defineComponent)({__name:`Input`,props:{defaultValue:{},modelValue:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=(0,i.useVModel)(r,`modelValue`,n,{passive:!0,defaultValue:r.defaultValue});return(e,n)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{"onUpdate:modelValue":n[0]||=e=>(0,t.isRef)(a)?a.value=e:null,"data-slot":`input`,class:(0,t.normalizeClass)((0,t.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)),[[t.vModelText,(0,t.unref)(a)]])}}),qm=(0,t.defineComponent)({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:n}){let r=It(e,n);return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Aa),(0,t.mergeProps)({"data-slot":`select`},(0,t.unref)(r)),{default:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,`default`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)))]),_:3},16))}}),Jm=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,a=n,o=It((0,i.reactiveOmit)(r,`class`),a);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ya),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ha),(0,t.mergeProps)({"data-slot":`select-content`},{...n.$attrs,...(0,t.unref)(o)},{class:(0,t.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,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Qm)),(0,t.createVNode)((0,t.unref)(to),{class:(0,t.normalizeClass)((0,t.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,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`class`]),(0,t.createVNode)((0,t.unref)(Zm))]),_:3},16,[`class`])]),_:3}))}}),Ym={class:`absolute right-2 flex size-3.5 items-center justify-center`},Xm=(0,t.defineComponent)({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Ft((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ka),(0,t.mergeProps)({"data-slot":`select-item`},(0,t.unref)(r),{class:(0,t.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`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Ym,[(0,t.createVNode)((0,t.unref)(qa),null,{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`indicator-icon`,{},()=>[(0,t.createVNode)((0,t.unref)(Vs),{class:`size-4`})])]),_:3})]),(0,t.createVNode)((0,t.unref)(Ja),null,{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),Zm=(0,t.defineComponent)({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Ft((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Za),(0,t.mergeProps)({"data-slot":`select-scroll-down-button`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`flex cursor-default items-center justify-center py-1`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{},()=>[(0,t.createVNode)((0,t.unref)(Hs),{class:`size-4`})])]),_:3},16,[`class`]))}}),Qm=(0,t.defineComponent)({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Ft((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Qa),(0,t.mergeProps)({"data-slot":`select-scroll-up-button`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`flex cursor-default items-center justify-center py-1`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{},()=>[(0,t.createVNode)((0,t.unref)(Us),{class:`size-4`})])]),_:3},16,[`class`]))}}),$m=(0,t.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 n=e,r=Ft((0,i.reactiveOmit)(n,`class`,`size`));return(i,a)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)($a),(0,t.mergeProps)({"data-slot":`select-trigger`,"data-size":e.size},(0,t.unref)(r),{class:(0,t.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`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(i.$slots,`default`),(0,t.createVNode)((0,t.unref)(Ua),{"as-child":``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Hs),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`data-size`,`class`]))}}),eh=(0,t.defineComponent)({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(eo),(0,t.mergeProps)({"data-slot":`select-value`},n),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),th=[`title`,`onClick`],nh={class:`text-xs font-mono truncate`},rh={key:0,class:`w-3 h-3 flex-shrink-0 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},ih={key:1,class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},ah=[`for`,`title`],oh={key:0,class:`opacity-50`},sh={key:0,class:`space-y-1.5 mt-1`},ch={key:0,class:`flex gap-1`},lh={key:0,class:`text-muted-foreground ml-2`},uh={class:`text-[10px] text-muted-foreground`},dh={key:1,class:`mt-1 space-y-1.5`},fh={class:`flex flex-wrap gap-1`},ph=[`onClick`],mh={key:0,class:`text-xs text-muted-foreground`},hh={class:`flex gap-1`},gh={key:2,class:`mt-1 space-y-1`},_h=[`id`,`value`,`onChange`],vh={key:0,class:`text-[10px] text-destructive`},yh={key:1,class:`text-[10px] text-muted-foreground`},bh={class:`flex items-center gap-1`},xh=[`onClick`],Sh=[`onClick`],Ch={key:3,class:`mt-1 flex items-center gap-2`},wh=[`id`,`checked`,`onChange`],Th={class:`text-xs text-muted-foreground`},Eh=(0,t.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:n}){let r=e,i=n,a=(0,t.ref)({}),o=(0,t.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,t.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(n,r)=>((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.excludeId?e.fields.filter(e=>e!==`id`):e.fields,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`min-w-0`},[n===`id`&&!e.excludeId?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[r[2]||=(0,t.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`id`,-1),(0,t.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[n]}`,onClick:t=>i(`copy-id`,String(e.formData[n]))},[(0,t.createElementVNode)(`code`,nh,(0,t.toDisplayString)(e.formData[n]),1),e.copiedId===String(e.formData[n])?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,rh,[...r[0]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,ih,[...r[1]||=[(0,t.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,th)],64)):n!==`id`||!e.excludeId?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`label`,{for:`${e.idPrefix}-${n}`,class:`text-xs text-muted-foreground block truncate`,title:n},[(0,t.createTextVNode)((0,t.toDisplayString)(n)+` `,1),n.startsWith(`_`)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,oh,`(hidden)`)):(0,t.createCommentVNode)(``,!0)],8,ah),(0,t.unref)(Ku)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,sh,[e.customIdFields.has(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ch,[(0,t.createVNode)((0,t.unref)(Km),{id:`${e.idPrefix}-${n}`,"model-value":e.formData[n]||``,placeholder:`Enter new ID...`,class:`h-8 text-xs flex-1`,"onUpdate:modelValue":e=>u(n,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`]),(0,t.createVNode)((0,t.unref)(ks),{type:`button`,variant:`ghost`,size:`sm`,class:`h-8 w-8 p-0`,title:`Back to dropdown`,onClick:e=>i(`toggle-custom-id`,n,!1)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ys),{class:`h-3 w-3`})]),_:1},8,[`onClick`])])):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(qm),{key:1,"model-value":e.formData[n]||``,"onUpdate:modelValue":e=>{e===`__custom_id__`?(i(`toggle-custom-id`,n,!0),u(n,``)):e===`__null__`?u(n,null):u(n,e)}},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)($m),{id:`${e.idPrefix}-${n}`,class:`h-8 text-xs`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(eh),{placeholder:`Select a record...`})]),_:1},8,[`id`]),(0,t.createVNode)((0,t.unref)(Jm),null,{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.relatedModelData[(0,t.unref)(Ku)(e.modelInfo,n)?.relatedModel??``]||[],e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xm),{key:e.id,value:e.id},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.id)+` `,1),e.name||e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,lh,` (`+(0,t.toDisplayString)(e.name||e.title)+`) `,1)):(0,t.createCommentVNode)(``,!0)]),_:2},1032,[`value`]))),128)),(0,t.createVNode)((0,t.unref)(Xm),{value:`__custom_id__`,class:`text-primary`},{default:(0,t.withCtx)(()=>[...r[3]||=[(0,t.createTextVNode)(` + Add new ID `,-1)]]),_:1}),e.formData[n]?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xm),{key:0,value:`__null__`,class:`text-destructive`},{default:(0,t.withCtx)(()=>[...r[4]||=[(0,t.createTextVNode)(` Set null `,-1)]]),_:1})):(0,t.createCommentVNode)(``,!0)]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])),(0,t.createElementVNode)(`div`,uh,` → `+(0,t.toDisplayString)((0,t.unref)(Ku)(e.modelInfo,n)?.relatedModel),1)])):(0,t.unref)(td)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dh,[(0,t.createElementVNode)(`div`,fh,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.formData[n]||[],e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:`inline-flex items-center gap-1 px-2 py-0.5 text-xs bg-muted rounded`},[(0,t.createTextVNode)((0,t.toDisplayString)(e)+` `,1),(0,t.createElementVNode)(`button`,{type:`button`,class:`hover:text-destructive`,onClick:t=>f(n,e)},[(0,t.createVNode)((0,t.unref)(Ys),{class:`h-3 w-3`})],8,ph)]))),128)),!e.formData[n]||e.formData[n].length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,mh,` No items `)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,hh,[(0,t.createVNode)((0,t.unref)(Km),{id:`${e.idPrefix}-stringset-${n}`,modelValue:a.value[n],"onUpdate:modelValue":e=>a.value[n]=e,placeholder:`Add item...`,class:`flex-1 h-8 text-xs`,onKeyup:(0,t.withKeys)(e=>d(n),[`enter`])},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`onKeyup`]),(0,t.createVNode)((0,t.unref)(ks),{type:`button`,variant:`outline`,size:`sm`,class:`h-8 px-2 text-xs`,onClick:e=>d(n)},{default:(0,t.withCtx)(()=>[...r[5]||=[(0,t.createTextVNode)(` Add `,-1)]]),_:1},8,[`onClick`])])])):(0,t.unref)(nd)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,gh,[o.value.has(n)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createVNode)((0,t.unref)(Km),{id:`${e.idPrefix}-${n}`,"model-value":String(e.formData[n]??``),placeholder:`e.g. 2024-01-15T00:00:00.000Z`,class:(0,t.normalizeClass)([`h-8 text-xs font-mono`,{"border-destructive focus-visible:ring-destructive/50":e.formData[n]&&!l.value[n]}]),"onUpdate:modelValue":e=>u(n,e||void 0)},null,8,[`id`,`model-value`,`class`,`onUpdate:modelValue`]),e.formData[n]&&!l.value[n]?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,vh,` Invalid date — use ISO 8601 format `)):e.formData[n]&&l.value[n]?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,yh,(0,t.toDisplayString)(new Date(e.formData[n]).toLocaleDateString(void 0,{weekday:`short`,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})),1)):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:0,id:`${e.idPrefix}-${n}`,type:`date`,value:p(e.formData[n]),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(n,m(e.target.value)||void 0)},null,40,_h)),(0,t.createElementVNode)(`div`,bh,[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors`,o.value.has(n)?`text-muted-foreground hover:text-foreground hover:bg-muted`:`bg-primary text-primary-foreground`]),onClick:()=>{o.value.has(n)&&s(n)}},` Picker `,10,xh),(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors`,o.value.has(n)?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground hover:bg-muted`]),onClick:()=>{o.value.has(n)||s(n)}},` ISO `,10,Sh)])])):(0,t.unref)(id)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ch,[(0,t.createElementVNode)(`input`,{id:`${e.idPrefix}-${n}`,type:`checkbox`,class:`w-4 h-4 rounded border-border`,checked:!!e.formData[n],onChange:e=>u(n,e.target.checked)},null,40,wh),(0,t.createElementVNode)(`span`,Th,(0,t.toDisplayString)(e.formData[n]?`Yes`:`No`),1)])):(0,t.unref)(rd)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Km),{key:4,id:`${e.idPrefix}-${n}`,type:`number`,"model-value":String(e.formData[n]??``),class:`mt-1 h-8 text-xs`,"onUpdate:modelValue":e=>u(n,e===``?void 0:Number(e))},null,8,[`id`,`model-value`,`onUpdate:modelValue`])):(0,t.unref)(qu)(e.formData[n])||(0,t.unref)(Wu)(e.formData[n])===`textarea`?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ap),{key:5,id:`${e.idPrefix}-${n}`,"model-value":typeof e.formData[n]==`object`?(0,t.unref)(Iu)(e.formData[n],2):String(e.formData[n]??``),rows:`4`,class:`mt-1 font-mono text-xs resize-vertical`,"onUpdate:modelValue":e=>u(n,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`])):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ap),{key:6,id:`${e.idPrefix}-${n}`,"model-value":String(e.formData[n]??``),rows:`1`,class:`mt-1 text-xs min-h-[2rem] resize-vertical`,"onUpdate:modelValue":e=>u(n,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`]))],64)):(0,t.createCommentVNode)(``,!0)]))),128))}}),Dh=(0,t.defineComponent)({__name:`Table`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`table`,{"data-slot":`table`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`w-full caption-bottom text-sm`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),Oh=(0,t.defineComponent)({__name:`TableBody`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tbody`,{"data-slot":`table-body`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`[&_tr:last-child]:border-0`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),kh=(0,t.defineComponent)({__name:`TableCell`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{"data-slot":`table-cell`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),Ah=(0,t.defineComponent)({__name:`TableRow`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{"data-slot":`table-row`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),jh=(0,t.defineComponent)({__name:`TableHead`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{"data-slot":`table-head`,class:(0,t.normalizeClass)((0,t.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]`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),Mh=(0,t.defineComponent)({__name:`TableHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`thead`,{"data-slot":`table-header`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`[&_tr]:border-b`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),Nh={class:`flex-1 relative min-h-[200px]`},Ph=[`checked`,`indeterminate`],Fh=[`title`,`onClick`],Ih={class:`truncate`},Lh={key:0,class:`text-primary font-bold text-xs flex-shrink-0`},Rh=[`title`],zh=[`checked`,`onChange`],Bh={class:`truncate`},Vh=[`title`,`onClick`],Hh={class:`overflow-hidden whitespace-nowrap`},Uh={key:0,class:`w-3 h-3 flex-shrink-0 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Wh={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`},Gh={key:1,class:`text-[10px] font-mono text-muted-foreground/50`},Kh={key:2,class:`flex gap-0.5 overflow-hidden`},qh={key:0,class:`text-[9px] text-muted-foreground shrink-0`},Jh={key:0},Yh=[`checked`],Xh={key:5,class:`text-xs bg-muted px-1 py-0.5 rounded`},Zh={class:`flex items-center gap-0.5`},Qh=[`onClick`],$h=[`onClick`],eg={key:0,class:`absolute inset-0 flex items-center justify-center pointer-events-none`,style:{top:`1.5rem`}},tg=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})((0,t.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:n}){let r=e,i=n,a=(0,t.computed)(()=>Gu(r.modelInfo,r.loadedData,r.showHiddenFields)),o=(0,t.computed)(()=>r.selectedRecordIds.size===0?!1:r.selectedRecordIds.size===r.records.length?!0:`indeterminate`),s=(0,t.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=>od(r.modelInfo,e),d=e=>!r.sorting||r.sorting.field!==e?``:cd(r.sorting.direction),f=(e,t=8)=>{let n=String(e??``);return n.length<=t?n:`…`+n.slice(-t)},p=e=>e===`id`?`120px`:id(r.modelInfo,e)?`60px`:nd(r.modelInfo,e)?`110px`:td(r.modelInfo,e)?`160px`:`180px`,m=(0,t.ref)(null),h=(0,t.ref)(null),g=(0,t.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,t.watch)(()=>r.highlightedRecordId,async e=>{if(!e)return;g.value=!1,h.value=e,await(0,t.nextTick)();let n=m.value?.querySelector(`tr[data-highlight-id="${e}"]`);n&&n.scrollIntoView({block:`nearest`,behavior:`smooth`}),_&&clearTimeout(_),_=setTimeout(()=>{g.value=!0,_=setTimeout(()=>{h.value=null,g.value=!1},2200)},600)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Nh,[(0,t.createElementVNode)(`div`,{ref_key:`tableContainer`,ref:m,class:`absolute inset-0 overflow-auto`},[(0,t.createVNode)((0,t.unref)(Dh),{class:`text-xs`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Mh),{class:`sticky top-0 z-10 bg-muted`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ah),null,{default:(0,t.withCtx)(()=>[e.canWrite?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(jh),{key:0,class:`w-8 px-2`},{default:(0,t.withCtx)(()=>[(0,t.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,Ph)]),_:1})):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(jh),{key:e,class:`px-2 text-left font-medium text-muted-foreground overflow-hidden`,style:(0,t.normalizeStyle)({width:p(e),minWidth:p(e),maxWidth:p(e)})},{default:(0,t.withCtx)(()=>[u(e)?((0,t.openBlock)(),(0,t.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,t.createElementVNode)(`span`,Ih,(0,t.toDisplayString)(e),1),d(e)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Lh,(0,t.toDisplayString)(d(e)),1)):(0,t.createCommentVNode)(``,!0)],8,Fh)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:`truncate block`,title:e},(0,t.toDisplayString)(e),9,Rh))]),_:2},1032,[`style`]))),128)),e.canWrite?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(jh),{key:1,class:`w-0 p-0`})):(0,t.createCommentVNode)(``,!0)]),_:1})]),_:1}),(0,t.createVNode)((0,t.unref)(Oh),null,{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.records,n=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ah),{key:n.id,class:(0,t.normalizeClass)(`hover:bg-muted/30 group border-none`),style:(0,t.normalizeStyle)(v(n.id)),"data-highlight-id":n.id,onClick:e=>i(`edit-record`,n)},{default:(0,t.withCtx)(()=>[e.canWrite?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(kh),{key:0,class:`px-2 w-8`,onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:e.selectedRecordIds.has(n.id),onChange:e=>i(`toggle-record-selection`,n.id)},null,40,zh)]),_:2},1024)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,i=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(kh),{key:i,class:`px-2 overflow-hidden`,style:(0,t.normalizeStyle)({width:p(i),minWidth:p(i),maxWidth:p(i)})},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Bh,[i===`id`?((0,t.openBlock)(),(0,t.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: ${n[i]}`,onClick:(0,t.withModifiers)(e=>l(String(n[i])),[`stop`])},[(0,t.createElementVNode)(`span`,Hh,(0,t.toDisplayString)(f(n[i])),1),s.value===String(n[i])?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Uh,[...r[3]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Wh,[...r[4]||=[(0,t.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,Vh)):n[i]==null?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Gh,`NULL`)):(0,t.unref)(td)(e.modelInfo,i)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Kh,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n[i]&&typeof n[i].toArray==`function`?n[i].toArray().slice(0,3):[],e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:`px-1 text-[9px] bg-muted rounded truncate shrink-0`},(0,t.toDisplayString)(e),1))),128)),n[i]&&typeof n[i].toArray==`function`&&n[i].toArray().length>3?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,qh,` +`+(0,t.toDisplayString)(n[i].toArray().length-3),1)):(0,t.createCommentVNode)(``,!0)])):(0,t.unref)(nd)(e.modelInfo,i)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:3},[n[i]?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Jh,(0,t.toDisplayString)(new Date(n[i]).toLocaleDateString()),1)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.unref)(id)(e.modelInfo,i)?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:4,type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:!!n[i],disabled:``},null,8,Yh)):(0,t.unref)(qu)(n[i])?((0,t.openBlock)(),(0,t.createElementBlock)(`code`,Xh,(0,t.toDisplayString)((0,t.unref)(Iu)(n[i]).slice(0,50))+(0,t.toDisplayString)((0,t.unref)(Iu)(n[i]).length>50?`...`:``),1)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:6},[(0,t.createTextVNode)((0,t.toDisplayString)(n[i]),1)],64))])]),_:2},1032,[`style`]))),128)),e.canWrite?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(kh),{key:1,class:`px-2 sticky right-0 group-hover:bg-white`,onClick:r[2]||=(0,t.withModifiers)(()=>{},[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Zh,[(0,t.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`,n)},[(0,t.createVNode)((0,t.unref)(qs),{class:`w-3.5 h-3.5`})],8,Qh),(0,t.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`,n.id)},[(0,t.createVNode)((0,t.unref)(Js),{class:`w-3.5 h-3.5`})],8,$h)])]),_:2},1024)):(0,t.createCommentVNode)(``,!0)]),_:2},1032,[`style`,`data-highlight-id`,`onClick`]))),128))]),_:1})]),_:1})],512),e.records.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,eg,[...r[5]||=[(0,t.createElementVNode)(`span`,{class:`text-muted-foreground text-xs`},`No records found`,-1)]])):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-8b45a90c`]]),ng=u.forScope(`ModelPagination`);function rg(e,n,r,i){let a=(0,t.ref)([]),o=(0,t.ref)(!1),s=(0,t.ref)(Qu()),c=(0,t.ref)({currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}),l=(0,t.computed)(()=>Math.max(1,Math.ceil(c.value.totalCount/s.value))),u=(0,t.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,t=1,a=null)=>{try{let o=e.modelClass,l=Xu(r.value),u=n.value,d={documents:u},f=await o.count(l,d),p=sd(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=t,c.value.totalCount=f,c.value.hasMore=h.hasMore??!1,c.value.nextCursor=h.nextCursor??null,c.value.prevCursor=h.prevCursor??null,h.nextCursor&&t>=1&&c.value.pageCursors.set(t+1,h.nextCursor),{data:h.data||[],totalCount:f,hasMore:h.hasMore??!1,nextCursor:h.nextCursor??null,prevCursor:h.prevCursor??null}}catch(t){return ng.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,ng.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,$u(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 ig=u.forScope(`RecordCrud`);function ag(e,n,r,i,a){let o=(0,t.ref)(!1),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(null),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=(0,t.ref)({}),p=(0,t.ref)(null),m=(0,t.ref)({}),h=(0,t.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))td(e.value,n)&&(f.value[n]=ad(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))td(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){ig.error(`Error saving record:`,e),U(`Failed to save record: `+W(e))}},y=async()=>{if(!e.value)return null;d.value=!0;try{let t={},r={};for(let[n,i]of Object.entries(f.value))td(e.value,n)?r[n]=i||[]:t[n]=i;let i=e.value.modelClass,a=new i(t);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:n.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 ig.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){ig.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 ig.debug(`Deleted ${n.length} records from ${e.value.tableName}`),c.value=!1,{success:!0}}catch(e){return ig.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 t=n.value,r={};for(let n of Object.values(e.value.relationships)){if(n.type!==`refersTo`||!n.model||r[n.model])continue;let e=a.value.find(e=>e.tableName===n.model);if(e)try{let i=await e.modelClass.query({},{documents:t,limit:500});r[n.model]=i.data||[]}catch(e){ig.error(`Error loading related model data for ${n.model}:`,e),r[n.model]=[],U(`Failed to load related ${n.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 og={class:`h-full flex flex-col min-w-0`},sg={key:0,class:`flex-1 flex items-center justify-center`},cg={class:`text-center py-12 px-8`},lg={class:`text-muted-foreground`},ug={class:`flex-1 flex flex-col min-h-0`},dg={class:`space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1`},fg={class:`space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1`},pg={key:0,class:`w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin mr-1`},mg={class:`flex-1 flex flex-col min-h-0 gap-4`},hg={class:`flex items-center gap-2`},gg=(0,t.defineComponent)({__name:`DocumentExplorerModel`,props:{modelName:{},documentPermission:{}},emits:[`back`,`switchModel`],setup(e,{emit:n}){let r=u.forScope(`DocumentExplorerModel`),i=e,a=(0,t.computed)(()=>i.documentPermission!==`reader`),o=n,s=(0,t.computed)(()=>i.modelName),c=Ye(),l=(0,t.computed)(()=>c.currentDocumentId),d=(0,t.computed)(()=>Fu()),f=(0,t.computed)(()=>d.value.find(e=>e.tableName===s.value)),p=(0,t.ref)({}),m=async()=>{if(!l.value)return;let e={};for(let t of d.value)try{let n=t.modelClass;e[t.tableName]=await n.count({},{documents:l.value})}catch(n){r.debug(`Could not load count for ${t.tableName}:`,n),e[t.tableName]=0}p.value=e},h=(0,t.computed)({get:()=>c.showHiddenFields,set:e=>{c.showHiddenFields=e}}),g=(0,t.ref)([]),_=(0,t.ref)(null),{records:v,initialDataLoaded:y,paginationState:b,pageSize:x,totalPages:S,loadModelData:C,loadInitialData:w,goToPage:T,goToPageContainingRecord:E,handlePageSizeChange:D,reloadModelData:O}=rg(f,l,g,_),k=(0,t.computed)(()=>f.value?{[f.value.tableName]:v.value}:{}),{editDialogOpen:A,createDialogOpen:j,bulkDeleteDialogOpen:M,deleteRecordId:N,isDeleting:ee,isCreating:te,editFormData:P,relatedModelData:F,customIdFields:I,openEditDialog:ne,openCreateDialog:L,handleSaveRecord:R,handleCreateRecord:z,handleDeleteRecord:re,handleBulkDeleteRecords:ie,updateFormField:B,handleToggleCustomId:ae}=ag(f,l,h,k,d),V=(0,t.ref)(new Set),oe=e=>{let t=new Set(V.value);t.has(e)?t.delete(e):t.add(e),V.value=t},se=()=>{V.value=V.value.size===v.value.length?new Set:new Set(v.value.map(e=>e.id))},ce=()=>{V.value=new Set},H=(0,t.ref)(null),le=null,ue=e=>{le&&clearTimeout(le),H.value=e,le=setTimeout(()=>{H.value=null},5200)},de=(0,t.ref)(!1),fe=(0,t.ref)(``),pe=(0,t.ref)(null),me=(0,t.ref)(!1),he=(0,t.computed)(()=>{let e=pe.value;if(e==null)return``;if(typeof e==`object`)return Iu(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,P.value&&fe.value&&(P.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};fd(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)){Ze(`This filter is already applied.`);return}g.value.push({id:Ju(),...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||!od(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,t.ref)(!1),we=async()=>{Ce.value=!0,await(0,t.nextTick)(),await new Promise(e=>requestAnimationFrame(e)),(await ie(V.value)).success&&ce(),Ce.value=!1},Te=async()=>{je=!0;try{let e=await z();e&&(await E(e),ue(e))}finally{je=!1}},Ee=(0,t.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,t.computed)(()=>f.value?Gu(f.value,k.value,h.value):[]);(0,t.watch)(()=>f.value,()=>{if(f.value){let e=dd(f.value.tableName);g.value=e?.filters?e.filters:[],_.value=e?.sorts?e.sorts:null,w(e?.page??1),m()}},{immediate:!0}),(0,t.watch)(()=>b.value.totalCount,e=>{f.value&&(p.value={...p.value,[f.value.tableName]:e})}),(0,t.watch)([g,_,()=>b.value.currentPage],()=>_e(),{deep:!0}),(0,t.watch)(()=>c.isDocumentReady,e=>{e&&f.value&&w()});let Ae=null,je=!1;function Me(){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)})}}),r.debug(`Subscribed to model changes:`,f.value.name))}return(0,t.onMounted)(()=>Me()),(0,t.watch)(()=>c.currentDocumentId,()=>{c.isDocumentReady&&Me()}),(0,t.onUnmounted)(()=>{if(Ae){try{Ae()}catch{}Ae=null}}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,og,[(0,t.createVNode)(Dm,{"current-model":f.value,"model-name":s.value,models:d.value,"model-counts":p.value,"can-write":a.value,"selected-count":V.value.size,onSwitchModel:n[0]||=e=>o(`switchModel`,e),onOpenCreate:(0,t.unref)(L),onClearSelection:ce,onOpenBulkDelete:n[1]||=e=>M.value=!0},null,8,[`current-model`,`model-name`,`models`,`model-counts`,`can-write`,`selected-count`,`onOpenCreate`]),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createVNode)(Kp,{"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,t.createVNode)(Nu,{"is-ready":(0,t.unref)(y),class:`flex-1 flex flex-col min-h-0`},{loading:(0,t.withCtx)(()=>[...n[14]||=[(0,t.createElementVNode)(`div`,{class:`flex-1 flex items-center justify-center p-6`},[(0,t.createElementVNode)(`div`,{class:`w-full max-w-lg animate-pulse space-y-4`},[(0,t.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`}),(0,t.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`}),(0,t.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`})])],-1)]]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,ug,[(0,t.createVNode)(tg,{records:(0,t.unref)(v),"model-info":f.value,"can-write":a.value,"show-hidden-fields":h.value,"loaded-data":k.value,sorting:_.value,"selected-record-ids":V.value,"highlighted-record-id":H.value,onEditRecord:(0,t.unref)(ne),onDeleteRecord:n[3]||=e=>N.value=e,onToggleColumnSort:Se,onToggleRecordSelection:oe,onToggleSelectAll:se},null,8,[`records`,`model-info`,`can-write`,`show-hidden-fields`,`loaded-data`,`sorting`,`selected-record-ids`,`highlighted-record-id`,`onEditRecord`]),(0,t.createVNode)(Gm,{"current-page":(0,t.unref)(b).currentPage,"total-count":(0,t.unref)(b).totalCount,"page-size":(0,t.unref)(x),"total-pages":(0,t.unref)(S),onGoToPage:(0,t.unref)(T),onChangePageSize:(0,t.unref)(D)},null,8,[`current-page`,`total-count`,`page-size`,`total-pages`,`onGoToPage`,`onChangePageSize`])])]),_:1},8,[`is-ready`])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,sg,[(0,t.createElementVNode)(`div`,cg,[(0,t.createElementVNode)(`p`,lg,`Model "`+(0,t.toDisplayString)(s.value)+`" not found`,1),(0,t.createVNode)((0,t.unref)(ks),{class:`mt-4`,onClick:n[2]||=e=>o(`back`)},{default:(0,t.withCtx)(()=>[...n[13]||=[(0,t.createTextVNode)(`Go Back`,-1)]]),_:1})])])),(0,t.createVNode)((0,t.unref)(js),{open:(0,t.unref)(A),"onUpdate:open":n[5]||=e=>(0,t.isRef)(A)?A.value=e:null},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Zs),{class:`sm:max-w-md max-h-[80vh] flex flex-col`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ec),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(tc),{class:`text-sm font-semibold`},{default:(0,t.withCtx)(()=>[...n[15]||=[(0,t.createTextVNode)(`Edit Record`,-1)]]),_:1})]),_:1}),(0,t.createElementVNode)(`div`,dg,[f.value?((0,t.openBlock)(),(0,t.createBlock)(Eh,{key:0,"model-info":f.value,"form-data":(0,t.unref)(P),fields:ke.value,"related-model-data":(0,t.unref)(F),"custom-id-fields":(0,t.unref)(I),"copied-id":Ee.value,"id-prefix":`edit`,onUpdateField:(0,t.unref)(B),onCopyId:Oe,onToggleCustomId:(0,t.unref)(ae)},null,8,[`model-info`,`form-data`,`fields`,`related-model-data`,`custom-id-fields`,`copied-id`,`onUpdateField`,`onToggleCustomId`])):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)((0,t.unref)($s),{class:`border-t border-border pt-3 mt-3`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ks),{variant:`outline`,size:`sm`,onClick:n[4]||=e=>A.value=!1},{default:(0,t.withCtx)(()=>[...n[16]||=[(0,t.createTextVNode)(` Cancel `,-1)]]),_:1}),(0,t.createVNode)((0,t.unref)(ks),{size:`sm`,onClick:(0,t.unref)(R)},{default:(0,t.withCtx)(()=>[...n[17]||=[(0,t.createTextVNode)(`Save Changes`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`open`]),(0,t.createVNode)((0,t.unref)(js),{open:(0,t.unref)(j),"onUpdate:open":n[7]||=e=>(0,t.isRef)(j)?j.value=e:null},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Zs),{class:`sm:max-w-md max-h-[80vh] flex flex-col`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ec),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(tc),{class:`text-sm font-semibold`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)(` New `+(0,t.toDisplayString)(f.value?.name||s.value),1)]),_:1})]),_:1}),(0,t.createElementVNode)(`div`,fg,[f.value?((0,t.openBlock)(),(0,t.createBlock)(Eh,{key:0,"model-info":f.value,"form-data":(0,t.unref)(P),fields:ke.value,"exclude-id":!0,"related-model-data":(0,t.unref)(F),"custom-id-fields":(0,t.unref)(I),"id-prefix":`create`,onUpdateField:(0,t.unref)(B),onToggleCustomId:(0,t.unref)(ae)},null,8,[`model-info`,`form-data`,`fields`,`related-model-data`,`custom-id-fields`,`onUpdateField`,`onToggleCustomId`])):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)((0,t.unref)($s),{class:`border-t border-border pt-3 mt-3`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ks),{variant:`outline`,size:`sm`,disabled:(0,t.unref)(te),onClick:n[6]||=e=>j.value=!1},{default:(0,t.withCtx)(()=>[...n[18]||=[(0,t.createTextVNode)(` Cancel `,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)((0,t.unref)(ks),{size:`sm`,disabled:(0,t.unref)(te),onClick:Te},{default:(0,t.withCtx)(()=>[(0,t.unref)(te)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,pg)):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)((0,t.unref)(te)?`Creating...`:`Create`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),(0,t.createVNode)(ic,{"is-open":!!(0,t.unref)(N),title:`Delete Record`,question:`Are you sure you want to delete this record?`,warning:`This action cannot be undone.`,"is-deleting":(0,t.unref)(ee),onCancel:n[8]||=e=>N.value=null,onConfirm:(0,t.unref)(re)},null,8,[`is-open`,`is-deleting`,`onConfirm`]),(0,t.createVNode)(ic,{"is-open":(0,t.unref)(M),title:`Delete Records`,question:`Delete ${V.value.size} record${V.value.size===1?``:`s`}? This action cannot be undone.`,warning:void 0,"confirm-label":`Delete`,"is-deleting":Ce.value,onCancel:n[9]||=e=>M.value=!1,onConfirm:we},null,8,[`is-open`,`question`,`is-deleting`]),(0,t.createVNode)((0,t.unref)(js),{open:de.value,"onUpdate:open":n[12]||=e=>de.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Zs),{class:`max-w-4xl max-h-[90vh] flex flex-col`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ec),{class:`flex-shrink-0`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(tc),{class:`flex items-center gap-2`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ws),{class:`h-5 w-5`}),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(fe.value),1)]),_:1})]),_:1}),(0,t.createElementVNode)(`div`,mg,[(0,t.createElementVNode)(`div`,hg,[(0,t.createVNode)((0,t.unref)(kp),{id:`pretty-print`,checked:me.value,"onUpdate:checked":n[10]||=e=>me.value=e},null,8,[`checked`]),(0,t.createVNode)((0,t.unref)(Op),{for:`pretty-print`,class:`text-sm`},{default:(0,t.withCtx)(()=>[...n[19]||=[(0,t.createTextVNode)(`Pretty Print JSON`,-1)]]),_:1})]),(0,t.createVNode)((0,t.unref)(Ap),{"model-value":he.value,class:`flex-1 font-mono text-sm min-h-[300px]`,"onUpdate:modelValue":ge},null,8,[`model-value`])]),(0,t.createVNode)((0,t.unref)($s),{class:`flex-shrink-0`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ks),{variant:`outline`,onClick:n[11]||=e=>de.value=!1},{default:(0,t.withCtx)(()=>[...n[20]||=[(0,t.createTextVNode)(` Close `,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}}),_g={class:`h-full flex flex-col`},vg={class:`flex-1 flex overflow-hidden min-w-0`},yg={class:`flex-1 flex flex-col min-w-0 bg-background`},bg={key:0,class:`flex-1 flex items-center justify-center`},xg={key:1,class:`flex-1 flex items-center justify-center`},Sg={key:0,class:`flex-1 flex items-center justify-center`},Cg={class:`hidden lg:contents`},wg=(0,t.defineComponent)({__name:`DocumentExplorerIndex`,setup(e){let n=u.forScope(`DocumentExplorer`),r=Ye(),i=(0,t.ref)([]),a=(0,t.ref)([]),o=(0,t.ref)(!1),s=(0,t.ref)(null),c=(0,t.computed)(()=>[...i.value,...a.value]),l=(0,t.ref)(new Set);async function d(){try{let e=await m.getClientAsync();s.value=await e.getRootDocId(),await e.syncMetadata({scope:`all`,includeRoot:!0,pageSize:500});let[t,r]=await Promise.all([e.me.ownedDocuments({refreshFromServer:!0,includeRoot:!0}),e.me.sharedDocuments()]);i.value=t,a.value=r.documents,o.value=!0,n.debug(`Documents loaded`,{owned:t.length,shared:r.documents.length,rootDocId:s.value})}catch(e){n.error(`Failed to load documents from client`,e),U(`Failed to load documents: `+W(e))}}let f=null,p=!1;(0,t.onMounted)(async()=>{let e=d();try{let e=await m.getClientAsync(),t=()=>{if(p){n.debug(`Document metadata changed (suppressed – bulk operation in progress)`);return}n.debug(`Document metadata changed, refreshing documents`),d()};e.on(`documentMetadataChanged`,t),f=()=>e.off(`documentMetadataChanged`,t)}catch(e){n.debug(`Could not subscribe to real-time events`,e)}if(await e,r.currentDocumentId&&!c.value.some(e=>e.documentId===r.currentDocumentId)&&(n.debug(`Persisted document no longer exists, clearing selection:`,r.currentDocumentId),r.setCurrentDocumentId(null)),r.currentDocumentId&&!r.isDocumentReady){n.debug(`Restoring previously selected document:`,r.currentDocumentId);try{await r.openDocument(r.currentDocumentId);let e=c.value.find(e=>e.documentId===r.currentDocumentId);r.setCurrentDocumentTitle(e?.title||`Untitled`)}catch(e){n.error(`Failed to restore document:`,e),r.setCurrentDocumentId(null)}}r.isDocumentReady&&ie()}),(0,t.onUnmounted)(()=>{f&&=(f(),null)});let h=(0,t.computed)(()=>Fu()),g=(0,t.computed)(()=>{let e={};for(let t of h.value)e[t.tableName]={query:{}};return e}),_=(0,t.computed)({get:()=>r.currentDocumentId,set:e=>r.setCurrentDocumentId(e)}),v=(0,t.ref)(null),y=(0,t.computed)(()=>v.value??r.currentDocumentId),b=(0,t.computed)({get:()=>r.currentModelName,set:e=>r.setCurrentModelName(e)}),x=(0,t.ref)(null),S=(0,t.ref)(!1),C=(0,t.ref)(!1),w=(0,t.ref)(!1),T=(0,t.ref)(!1),E=(0,t.ref)([]),D=(0,t.ref)([]),O=(0,t.ref)([]),k=(0,t.ref)(``),A=(0,t.ref)({});function j(){return{currentPage:1,totalCount:0,pageSize:Qu(),nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}}function M(e){return A.value[e]||(A.value[e]=j()),A.value[e]??j()}let{optimisticFieldUpdate:N}=yp(i,`documentId`),{optimisticFieldUpdate:ee}=yp(a,`documentId`);async function te(e){try{let t=r.currentDocumentId;return await e.modelClass.count({},{documents:t})}catch(t){return n.error(`Error loading count for ${e.name}:`,t),0}}let{initialDataLoaded:P}=Mu({subscribeTo:h.value.map(e=>e.modelClass),queryParams:g,documentReady:(0,t.computed)(()=>r.isDocumentReady),loadData:async()=>{let e={};for(let t of h.value){let n=await te(t),r=M(t.tableName);r.totalCount=n,e[t.tableName]=[]}let t=Object.values(A.value).reduce((e,t)=>e+(t?.totalCount??0),0);if(n.debug(`Loaded model counts:`,{models:h.value.length,totalRecords:t}),!L.value?.isRoot){let t=b.value?M(b.value).totalCount:0;if(!b.value||t===0){let t=h.value.find(e=>M(e.tableName).totalCount>0);if(t)return b.value=t.tableName,e}}return ie(),e},onError:e=>{n.error(`Error loading data:`,e),U(`Failed to load model data: `+W(e))}});function F(e){let t=l.value;return e.filter(e=>e&&!t.has(e.documentId)).map(e=>({...e,isRoot:e.documentId===s.value})).sort((e,t)=>e.isRoot&&!t.isRoot?-1:!e.isRoot&&t.isRoot?1:(e.title||``).localeCompare(t.title||``))}let I=(0,t.computed)(()=>F(i.value)),ne=(0,t.computed)(()=>F(a.value)),L=(0,t.computed)(()=>{let e=_.value;return I.value.find(t=>t.documentId===e)??ne.value.find(t=>t.documentId===e)}),R=(0,t.computed)(()=>{let e={};for(let t of h.value)e[t.tableName]=M(t.tableName).totalCount;return e}),z=(0,t.computed)(()=>c.value.find(e=>e.documentId===x.value)?.title);function re(){return h.value.length===0?``:L.value?.isRoot&&h.value.some(e=>e.tableName===`user_prefs`)?`user_prefs`:h.value[0]?.tableName??``}function ie(){h.value.length!==0&&(b.value&&!h.value.some(e=>e.tableName===b.value)&&(b.value=null),b.value||=re())}function B(e){b.value=e}function ae(){b.value=h.value.length>0?re():null}async function V(e){if(e===y.value&&r.isDocumentReady)return;n.debug(`Switching to document:`,e),v.value=e,b.value=null;let t=c.value.find(t=>t.documentId===e);r.setCurrentDocumentTitle(t?.title||`Untitled`);try{await r.switchDocument(e),ie()}finally{v.value=null}}async function oe(e){try{let{metadata:t}=await(await m.getClientAsync()).documents.create({title:e});n.debug(`Created new document:`,t),await d(),await r.switchDocument(t.documentId)}catch(e){throw n.error(`Failed to create document:`,e),e}}async function se(e){w.value=!0;try{await oe(e),C.value=!1}catch(e){U(`Failed to create document: `+W(e))}finally{w.value=!1}}async function ce(e,t){e===r.currentDocumentId&&r.setCurrentDocumentTitle(t);let{success:a}=await(i.value.some(t=>t.documentId===e)?N:ee)(e,`title`,t,async()=>{await(await m.getClientAsync()).documents.update(e,{title:t}),n.debug(`Renamed document:`,e,`to`,t)});if(!a){let t=c.value.find(t=>t.documentId===e);e===r.currentDocumentId&&r.setCurrentDocumentTitle(t?.title||`Untitled`),U(`Failed to rename document`)}}async function H(e){S.value=!0,_.value===e&&r.setCurrentDocumentId(null),S.value=!1,x.value=null,l.value=new Set([...l.value,e]);try{await(await m.getClientAsync()).documents.delete(e,{forceCloseIfOpen:!0}),await d()}catch{U(`Failed to delete document`)}finally{let t=new Set(l.value);t.delete(e),l.value=t}}async function le(e){_.value&&e.includes(_.value)&&r.setCurrentDocumentId(null),l.value=new Set([...l.value,...e]),p=!0;try{let t=await m.getClientAsync(),r=[];for(let i of e)try{await t.documents.delete(i,{forceCloseIfOpen:!0})}catch(e){n.error(`Failed to delete document ${i}:`,e),r.push(i)}await d(),r.length>0&&U(`Failed to delete ${r.length} document(s). They have been restored.`)}finally{let t=new Set(l.value);for(let n of e)t.delete(n);l.value=t,p=!1}}async function ue(e){try{if(!(await(await m.getClientAsync()).me.get())?.userId){U(`Could not determine current user.`);return}let t=[],n=[];for(let r of e){let e=c.value.find(e=>e.documentId===r);!e||e.documentId===s.value||(!e.permission||e.permission===`owner`||e.permission===`admin`?n.push(r):t.push(r))}if(t.length===0&&n.length===0)return;let r=[];n.length>0&&r.push(`delete ${n.length}`),t.length>0&&r.push(`leave ${t.length}`),E.value=e,D.value=t,O.value=n,k.value=`This will ${r.join(` and `)} document(s). Continue?`,T.value=!0}catch(e){n.error(`Failed to process bulk leave:`,e),U(`Failed to leave documents: `+W(e))}}async function de(){T.value=!1;let e=D.value,t=O.value;E.value=[],D.value=[],O.value=[],k.value=``;try{let i=await m.getClientAsync(),a=await i.me.get();if(!a?.userId){U(`Could not determine current user.`);return}let o=[...e,...t];_.value&&o.includes(_.value)&&r.setCurrentDocumentId(null),l.value=new Set([...l.value,...o]),p=!0;try{let r=[];for(let t of e)try{await i.documents.removePermission(t,a.userId)}catch(e){n.error(`Failed to leave document ${t}:`,e),r.push(t)}for(let e of t)try{await i.documents.delete(e,{forceCloseIfOpen:!0})}catch(t){n.error(`Failed to delete document ${e}:`,t),r.push(e)}await d(),r.length>0&&U(`Failed to process ${r.length} document(s). They have been restored.`)}finally{let e=new Set(l.value);for(let t of o)e.delete(t);l.value=e,p=!1}}catch(e){n.error(`Failed to process bulk leave:`,e),U(`Failed to leave documents: `+W(e))}}return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,_g,[(0,t.createVNode)((0,t.unref)(He),{position:`bottom-right`,expand:!1,"rich-colors":``}),(0,t.createElementVNode)(`div`,vg,[(0,t.createVNode)(Rd,{"owned-documents":I.value,"shared-documents":ne.value,"selected-doc-id":y.value,"document-list-loaded":o.value,onSelectDocument:V,onCreateDocument:n[0]||=e=>C.value=!0,onBulkDelete:le,onBulkLeave:ue,onBulkDeleteMixed:ue},null,8,[`owned-documents`,`shared-documents`,`selected-doc-id`,`document-list-loaded`]),(0,t.createElementVNode)(`div`,yg,[o.value?L.value?((0,t.openBlock)(),(0,t.createBlock)(Nu,{key:2,"is-ready":(0,t.unref)(P)},{loading:(0,t.withCtx)(()=>[...n[9]||=[(0,t.createElementVNode)(`div`,{class:`flex-1 flex items-center justify-center`},[(0,t.createElementVNode)(`div`,{class:`text-center`},[(0,t.createElementVNode)(`div`,{class:`w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2`}),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`Loading data...`)])],-1)]]),default:(0,t.withCtx)(()=>[h.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Sg,[...n[10]||=[(0,t.createElementVNode)(`div`,{class:`text-center`},[(0,t.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,t.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,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Add models to get started `)],-1)]])):b.value?((0,t.openBlock)(),(0,t.createBlock)(gg,{key:b.value,"model-name":b.value,"document-permission":L.value?.permission,onBack:ae,onSwitchModel:B},null,8,[`model-name`,`document-permission`])):(0,t.createCommentVNode)(``,!0)]),_:1},8,[`is-ready`])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,xg,[...n[8]||=[(0,t.createElementVNode)(`div`,{class:`text-center`},[(0,t.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,t.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,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Select a document to explore `)],-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bg,[...n[7]||=[(0,t.createElementVNode)(`div`,{class:`text-center`},[(0,t.createElementVNode)(`div`,{class:`w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2`}),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`Loading documents...`)],-1)]]))]),(0,t.createElementVNode)(`div`,Cg,[L.value?((0,t.openBlock)(),(0,t.createBlock)(vp,{key:0,document:L.value,models:h.value,"record-counts":R.value,onNavigateToModel:B,onRenameDocument:ce,onDeleteDocument:n[1]||=e=>x.value=e,onDocumentsChanged:d},null,8,[`document`,`models`,`record-counts`])):(0,t.createCommentVNode)(``,!0)])]),(0,t.createVNode)(Dp,{open:C.value,"is-creating":w.value,"onUpdate:open":n[2]||=e=>C.value=e,onCreate:se},null,8,[`open`,`is-creating`]),(0,t.createVNode)(ic,{"is-open":!!x.value,title:`Delete Document`,question:`Are you sure you want to delete "${z.value}"?`,warning:`This action cannot be undone.`,"is-deleting":S.value,onCancel:n[3]||=e=>x.value=null,onConfirm:n[4]||=e=>x.value&&H(x.value)},null,8,[`is-open`,`question`,`is-deleting`]),(0,t.createVNode)(ic,{"is-open":T.value,title:`Leave / Delete Documents`,question:k.value,warning:``,"confirm-label":`Continue`,"confirming-label":`Processing...`,"is-deleting":!1,onConfirm:de,onCancel:n[5]||=e=>{T.value=!1,E.value=[],D.value=[],O.value=[],k.value=``},"onUpdate:isOpen":n[6]||=e=>{e||(T.value=!1,E.value=[],D.value=[],O.value=[],k.value=``)}},null,8,[`is-open`,`question`])]))}}),Tg={class:`h-full flex flex-col overflow-hidden`},Eg={key:0,class:`px-3 py-2 bg-destructive/10 border-b border-destructive/30 text-xs`},Dg={class:`flex items-start gap-2`},Og={class:`font-medium text-destructive`},kg={class:`mt-1 space-y-0.5 text-muted-foreground`},Ag={class:`flex-1 flex overflow-hidden`},jg={class:`w-64 lg:w-72 border-r border-border flex flex-col bg-background`},Mg={class:`px-3 py-2 border-b border-border bg-muted/30 relative`},Ng={key:0,class:`absolute inset-0 px-3 bg-muted flex items-center justify-between z-10`},Pg={class:`flex items-center gap-2`},Fg={class:`text-[10px] font-medium`},Ig=[`disabled`],Lg={class:`flex items-center gap-2`},Rg=[`checked`,`indeterminate`],zg={class:`flex-1 overflow-y-auto scrollbar-thin`},Bg=[`onClick`],Vg=[`checked`,`indeterminate`,`onClick`],Hg={class:`ml-2 text-xs font-medium flex-1`},Ug={class:`text-[10px] text-muted-foreground`},Wg=[`onClick`],Gg=[`checked`,`onClick`],Kg={class:`ml-2 w-4 h-4 flex items-center justify-center`},qg={key:0,class:`w-3.5 h-3.5 text-blue-500 animate-spin`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Jg={key:1,class:`w-3.5 h-3.5 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Yg={key:2,class:`w-3.5 h-3.5 text-red-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Xg={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`},Zg={class:`ml-1.5 text-xs flex-1 truncate`},Qg={key:0,class:`px-1 py-0.5 text-[9px] bg-green-100 text-green-700 rounded`},$g={key:1,class:`px-1 py-0.5 text-[9px] bg-red-100 text-red-700 rounded`},e_={key:2,class:`px-1 py-0.5 text-[9px] bg-blue-100 text-blue-700 rounded`},t_={key:0,class:`text-center py-8 text-muted-foreground`},n_={class:`px-3 py-2 border-t border-border bg-muted/20 text-[10px] text-muted-foreground`},r_={class:`flex items-center justify-between`},i_={key:0},a_={key:0,class:`text-green-600`},o_={key:1},s_={key:2,class:`text-red-600`},c_={class:`flex-1 flex flex-col min-w-0 bg-background`},l_={class:`flex items-center justify-between px-3 py-2 border-b border-border bg-muted/30`},u_={class:`flex items-center gap-1`},d_=[`disabled`],f_=[`disabled`],p_=[`disabled`],m_={key:0,class:`text-muted-foreground`},h_={key:1,class:`space-y-0.5`},g_=[`data-test-id`],__={key:0,class:`px-3 py-2 border-t border-border bg-muted/20`},v_={class:`flex items-center justify-between text-[10px] mb-1`},y_={class:`text-muted-foreground truncate pr-2`},b_={class:`font-medium flex-shrink-0`},x_={class:`h-1 bg-muted rounded-full overflow-hidden`},S_=(0,t.defineComponent)({__name:`TestRunner`,props:{tests:{},testLoadErrors:{},onTestsComplete:{type:Function}},setup(e){let n=u.forScope(`TestRunner`),r=e,i=(0,t.ref)({}),a=(0,t.ref)([]),o=(0,t.ref)(!1),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.reactive)(new Map),d=(0,t.ref)(null),f=(0,t.ref)(null),p=(0,t.ref)(0),m=(0,t.ref)(0),h=(0,t.ref)(``);(0,t.watchEffect)(()=>{let e={};r.tests.forEach(t=>{e[t.id]=!0}),i.value=e});let g=(0,t.computed)(()=>{let e=new Map;return r.tests.forEach(t=>{e.has(t.group)||e.set(t.group,[]),e.get(t.group).push(t)}),Array.from(e.entries())}),_=(0,t.computed)(()=>Object.values(i.value).filter(Boolean).length),v=(0,t.computed)(()=>r.tests.length),y=(0,t.computed)(()=>({passed:Array.from(l.values()).filter(e=>e.status===`passed`||e.status===`scored`).length,failed:Array.from(l.values()).filter(e=>e.status===`failed`).length})),b=e=>l.get(e)?.status??`pending`,x=e=>e.every(e=>i.value[e.id]),S=e=>{let t=e.some(e=>i.value[e.id]),n=e.every(e=>i.value[e.id]);return t&&!n},C=e=>e.filter(e=>i.value[e.id]).length,w=(0,t.computed)(()=>r.tests.every(e=>i.value[e.id])),T=(0,t.computed)(()=>r.tests.some(e=>i.value[e.id])&&!w.value),E=(e,n=`normal`,r)=>{let i=new Date().toLocaleTimeString();a.value=[...a.value,{text:`${i} - ${e}`,type:n,testId:r}],f.value||(0,t.nextTick)(()=>{d.value&&(d.value.scrollTop=d.value.scrollHeight)})},D=async()=>{if(!c.value){c.value=!0,a.value=[],p.value=g.value.flatMap(([,e])=>e.filter(e=>i.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(!i.value[n.id])continue;l.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]);l.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 l.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);l.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`),r.onTestsComplete)try{await r.onTestsComplete()}catch(e){E(`Warning: Cleanup failed: ${e instanceof Error?e.message:String(e)}`)}c.value=!1}}},O=e=>{i.value={...i.value,[e]:!i.value[e]}},k=e=>{let t=x(e),n={...i.value};e.forEach(e=>{n[e.id]=!t}),i.value=n},A=()=>{let e=w.value,t={};r.tests.forEach(n=>{t[n.id]=!e}),i.value=t},j=()=>{i.value={}},M=async()=>{try{await navigator.clipboard.writeText(a.value.map(e=>e.text).join(`
50
50
  `)),o.value=!0,window.setTimeout(()=>{o.value=!1},1500)}catch(e){n.error(`Copy to clipboard failed in test runner`,{err:e})}},N=async()=>{try{let e=new Set(Array.from(l.entries()).filter(([,e])=>e.status===`failed`).map(([e])=>e)),t=a.value.filter(t=>t.testId&&e.has(t.testId)).map(e=>e.text).join(`
51
- `);await navigator.clipboard.writeText(t),s.value=!0,window.setTimeout(()=>{s.value=!1},1500)}catch(e){n.error(`Copy failed tests to clipboard failed`,{err:e})}},ee=e=>{if(f.value===e){f.value=null;return}f.value=e,(0,t.nextTick)(()=>{if(d.value){let t=d.value.querySelector(`[data-test-id="${e}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}})},te=()=>{a.value=[],l.clear(),f.value=null},P=(0,t.computed)(()=>Array.from(l.values()).some(e=>e.status===`failed`)),F=(0,t.computed)(()=>p.value===0?0:Math.round(m.value/p.value*100));return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Tg,[r.testLoadErrors&&r.testLoadErrors.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Eg,[(0,t.createElementVNode)(`div`,Dg,[n[0]||=(0,t.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,t.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,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`span`,Og,(0,t.toDisplayString)(r.testLoadErrors.length)+` test file`+(0,t.toDisplayString)(r.testLoadErrors.length>1?`s`:``)+` failed to load `,1),(0,t.createElementVNode)(`ul`,kg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.testLoadErrors,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.file,class:`font-mono text-[10px]`},(0,t.toDisplayString)(e.file),1))),128))])])])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Ag,[(0,t.createElementVNode)(`div`,jg,[(0,t.createElementVNode)(`div`,Mg,[_.value>0&&!c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ng,[(0,t.createElementVNode)(`div`,Pg,[(0,t.createElementVNode)(`span`,Fg,(0,t.toDisplayString)(_.value)+` selected `,1),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:j},` Clear `)]),(0,t.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:c.value,onClick:D},[...n[1]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.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,t.createTextVNode)(` Run `,-1)]],8,Ig)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Lg,[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:w.value,indeterminate:T.value,onChange:A},null,40,Rg),n[2]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Available Tests `,-1)])]),(0,t.createElementVNode)(`div`,zg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(g.value,([e,r])=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e},[(0,t.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,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:x(r),indeterminate:S(r),onClick:(0,t.withModifiers)(e=>k(r),[`stop`])},null,8,Vg),(0,t.createElementVNode)(`span`,Hg,(0,t.toDisplayString)(e),1),(0,t.createElementVNode)(`span`,Ug,(0,t.toDisplayString)(C(r))+`/`+(0,t.toDisplayString)(r.length),1)],8,Bg),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.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=>ee(e.id)},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:i.value[e.id],onClick:(0,t.withModifiers)(t=>O(e.id),[`stop`])},null,8,Gg),(0,t.createElementVNode)(`span`,Kg,[b(e.id)===`running`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,qg,[...n[3]||=[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`svg`,Jg,[...n[4]||=[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`svg`,Yg,[...n[5]||=[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`div`,Xg,` % `)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`span`,Zg,(0,t.toDisplayString)(e.name),1),l.get(e.id)?.status===`passed`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Qg,` Passed `)):l.get(e.id)?.status===`failed`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,$g,` Failed `)):l.get(e.id)?.status===`scored`&&l.get(e.id)?.score?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,e_,(0,t.toDisplayString)(l.get(e.id).score.passed)+`/`+(0,t.toDisplayString)(l.get(e.id).score.total)+` (`+(0,t.toDisplayString)(l.get(e.id).score.percentage)+`%) `,1)):(0,t.createCommentVNode)(``,!0)],10,Wg))),128))]))),128)),g.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,t_,[...n[6]||=[(0,t.createElementVNode)(`p`,{class:`text-xs`},`No tests found.`,-1),(0,t.createElementVNode)(`p`,{class:`text-[10px] mt-1`},` Create test files with the .primitive-test.ts extension. `,-1)]])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,n_,[(0,t.createElementVNode)(`div`,r_,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(v.value)+` tests in `+(0,t.toDisplayString)(g.value.length)+` groups`,1),y.value.passed>0||y.value.failed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,i_,[y.value.passed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,a_,(0,t.toDisplayString)(y.value.passed)+` passed `,1)):(0,t.createCommentVNode)(``,!0),y.value.passed>0&&y.value.failed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,o_,`, `)):(0,t.createCommentVNode)(``,!0),y.value.failed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,s_,(0,t.toDisplayString)(y.value.failed)+` failed `,1)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)])])]),(0,t.createElementVNode)(`div`,c_,[(0,t.createElementVNode)(`div`,l_,[n[16]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Test Output `,-1),(0,t.createElementVNode)(`div`,u_,[(0,t.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:a.value.length===0,onClick:M},[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[n[7]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),n[8]||=(0,t.createTextVNode)(` Copied! `,-1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[n[9]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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),n[10]||=(0,t.createTextVNode)(` Copy `,-1)],64))],8,d_),(0,t.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:!P.value,onClick:N},[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[n[11]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),n[12]||=(0,t.createTextVNode)(` Copied! `,-1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[n[13]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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),n[14]||=(0,t.createTextVNode)(` Copy Failing Tests `,-1)],64))],8,f_),(0,t.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:a.value.length===0,onClick:te},[...n[15]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createTextVNode)(` Clear `,-1)]],8,p_)])]),(0,t.createElementVNode)(`div`,{ref_key:`outputEl`,ref:d,class:`flex-1 overflow-y-auto scrollbar-thin bg-muted/10 font-mono text-xs p-3`},[a.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,m_,` Select tests and click "Run" to see output... `)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,h_,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,"data-test-id":e.testId,class:(0,t.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,t.toDisplayString)(e.text),11,g_))),128))]))],512),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,__,[(0,t.createElementVNode)(`div`,v_,[(0,t.createElementVNode)(`span`,y_,` Running: `+(0,t.toDisplayString)(h.value),1),(0,t.createElementVNode)(`span`,b_,(0,t.toDisplayString)(m.value)+`/`+(0,t.toDisplayString)(p.value),1)]),(0,t.createElementVNode)(`div`,x_,[(0,t.createElementVNode)(`div`,{class:`h-full bg-primary transition-all duration-300`,style:(0,t.normalizeStyle)({width:`${F.value}%`})},null,4)])])):(0,t.createCommentVNode)(``,!0)])])]))}}),C_={class:`fixed inset-0 z-40 bg-background flex flex-col overflow-hidden`},w_={class:`flex items-center justify-between px-4 py-2 border-b border-border bg-muted/30`},T_={class:`flex items-center gap-3 min-w-0 flex-1`},E_={class:`text-sm font-semibold truncate`},D_={class:`flex-1 flex overflow-hidden min-w-0`},O_={class:`w-10 bg-muted/50 border-r border-border flex flex-col items-center py-2 gap-1`},k_={class:`flex-1 flex flex-col overflow-hidden min-w-0`},A_={key:0,class:`flex-1 flex items-center justify-center`},j_={class:`text-center max-w-md`},M_={class:`text-xs text-muted-foreground mb-4`},N_={key:1,class:`flex-1 flex items-center justify-center`},P_={class:`text-center`},F_={key:0,class:`flex-1 overflow-hidden`},I_={key:1,class:`flex-1 overflow-hidden flex`},L_={key:2,class:`flex-1 overflow-hidden`},R_=`primitive-devtools-active-tab`,z_=(0,t.defineComponent)({__name:`DevToolsOverlay`,props:{testGroups:{},testLoadErrors:{},appName:{}},emits:[`close`],setup(e,{emit:n}){let r=u.forScope(`DevToolsOverlay`),i=e,a=n,o=[`documents`,`blobs`,`tests`];function s(){let e=localStorage.getItem(R_);return o.includes(e)?e:`documents`}let c=(0,t.ref)(s());(0,t.watch)(c,e=>localStorage.setItem(R_,e));let l=(0,t.ref)(!1),d=(0,t.ref)(null),f=(0,t.ref)(!1);async function p(){if(!l.value)try{await x(),l.value=!0}catch(e){r.error(`Failed to initialize dev tools`,{err:e}),d.value=e instanceof Error?e.message:`Failed to initialize`}}let m=(0,t.ref)(``);function h(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}v()}(0,t.onMounted)(()=>{m.value=document.body.style.overflow,document.body.style.overflow=`hidden`,document.addEventListener(`keydown`,h,!0),p()}),(0,t.onUnmounted)(()=>{document.body.style.overflow=m.value,document.removeEventListener(`keydown`,h,!0)});let g=(0,t.computed)(()=>S(i.testGroups));async function _(){if(!f.value){f.value=!0;try{await x()}finally{f.value=!1}}}function v(){a(`close`)}let y=Ye(),b=(0,t.computed)(()=>{if(c.value===`tests`)return`Test Harness`;if(c.value===`blobs`){let e=y.currentDocumentTitle;return e?`Blob Explorer: ${e}`:`Blob Explorer`}let e=y.currentDocumentTitle;return e?`Document Explorer: ${e}`:`Document Explorer`});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,C_,[(0,t.createElementVNode)(`div`,w_,[(0,t.createElementVNode)(`div`,T_,[(0,t.createElementVNode)(`span`,E_,(0,t.toDisplayString)(b.value),1)]),(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,title:`Close`,onClick:v},[...n[3]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),(0,t.createElementVNode)(`div`,D_,[(0,t.createElementVNode)(`div`,O_,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`p-2 rounded`,c.value===`documents`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Document Explorer`,onClick:n[0]||=e=>c.value=`documents`},[...n[4]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`p-2 rounded`,c.value===`tests`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Test Harness`,onClick:n[1]||=e=>c.value=`tests`},[...n[5]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`p-2 rounded`,c.value===`blobs`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Blob Explorer`,onClick:n[2]||=e=>c.value=`blobs`},[...n[6]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`div`,k_,[d.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,A_,[(0,t.createElementVNode)(`div`,j_,[n[7]||=(0,t.createElementVNode)(`h2`,{class:`text-sm font-semibold text-destructive mb-2`},` Initialization Failed `,-1),(0,t.createElementVNode)(`p`,M_,(0,t.toDisplayString)(d.value),1),(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,onClick:p},` Retry `)])])):l.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[c.value===`documents`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,F_,[(0,t.createVNode)(wg)])):(0,t.createCommentVNode)(``,!0),c.value===`blobs`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,I_,[(0,t.createVNode)(Du)])):(0,t.createCommentVNode)(``,!0),c.value===`tests`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,L_,[(0,t.createVNode)(S_,{tests:g.value,"test-load-errors":i.testLoadErrors,"on-tests-complete":_},null,8,[`tests`,`test-load-errors`])])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,N_,[(0,t.createElementVNode)(`div`,P_,[(0,t.createVNode)(te),n[8]||=(0,t.createElementVNode)(`p`,{class:`mt-4 text-xs text-muted-foreground`},` Initializing dev tools... `,-1)])]))])])]))}}),B_=`#devtools`,V_=(0,t.defineComponent)({__name:`DevToolsRoot`,props:{testGroups:{},testLoadErrors:{},appName:{},keyboardShortcut:{}},setup(e){let n=u.forScope(`DevToolsRoot`),r=e,i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=typeof navigator<`u`&&/mac/i.test(navigator.platform);function s(e){let t=e.toLowerCase().split(`+`);return o?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 c=(0,t.computed)(()=>{if(r.keyboardShortcut)return s(r.keyboardShortcut)});function l(e,t){let n=t.toLowerCase().split(`+`),r=n.pop(),i=new Set(n),a=i.has(`cmd`)||i.has(`meta`),s=i.has(`ctrl`),c=i.has(`shift`),l=i.has(`alt`);if(o){if(a!==e.metaKey||s!==e.ctrlKey)return!1}else if((a||s)!==e.ctrlKey||e.metaKey)return!1;return!(c!==e.shiftKey||l!==e.altKey||e.key.toLowerCase()!==r)}function d(e){!r.keyboardShortcut||!a.value||l(e,r.keyboardShortcut)&&(e.preventDefault(),b())}let f=!1,p=null;function h(){!i.value&&a.value&&window.location.hash===B_&&(i.value=!0)}async function g(){try{let e=await m.getClientAsync();a.value=e.isAuthenticated(),h(),a.value&&x().catch(e=>{n.debug(`Startup cleanup of leftover test documents failed`,{err:e})});let t=()=>{a.value=!0,h()},r=()=>{a.value=!1},i=()=>{a.value=!1,y()};e.on(`auth-success`,t),e.on(`auth-failed`,r),e.on(`auth:logout`,i),p=()=>{e.off(`auth-success`,t),e.off(`auth-failed`,r),e.off(`auth:logout`,i)}}catch{a.value=!1}}function _(){let e=window.location.hash===B_;i.value&&!e?(i.value=!1,f=!1):!i.value&&e&&a.value&&(i.value=!0)}(0,t.onMounted)(()=>{window.addEventListener(`popstate`,_),document.addEventListener(`keydown`,d),g()}),(0,t.onUnmounted)(()=>{window.removeEventListener(`popstate`,_),document.removeEventListener(`keydown`,d),p?.(),p=null});function v(){i.value||(i.value=!0,f=!0,history.pushState({primitiveDevtools:!0},``,B_))}function y(){i.value&&(i.value=!1,window.location.hash===B_&&(f?(f=!1,history.back()):history.replaceState(null,``,window.location.pathname+window.location.search)))}function b(){i.value?y():v()}return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[a.value?((0,t.openBlock)(),(0,t.createBlock)(M,{key:0,"is-open":i.value,"shortcut-hint":c.value,onClick:b},null,8,[`is-open`,`shortcut-hint`])):(0,t.createCommentVNode)(``,!0),i.value?((0,t.openBlock)(),(0,t.createBlock)(z_,{key:1,"test-groups":r.testGroups,"test-load-errors":r.testLoadErrors,"app-name":r.appName,onClose:y},null,8,[`test-groups`,`test-load-errors`,`app-name`])):(0,t.createCommentVNode)(``,!0)]))}});exports.DevToolsRoot=V_,exports.createTestDocument=v,exports.destroyTestDocument=b,exports.initializeJsBao=h,exports.jsBaoClientService=m,exports.setPrimitiveAppLogLevel=d;
51
+ `);await navigator.clipboard.writeText(t),s.value=!0,window.setTimeout(()=>{s.value=!1},1500)}catch(e){n.error(`Copy failed tests to clipboard failed`,{err:e})}},ee=e=>{if(f.value===e){f.value=null;return}f.value=e,(0,t.nextTick)(()=>{if(d.value){let t=d.value.querySelector(`[data-test-id="${e}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}})},te=()=>{a.value=[],l.clear(),f.value=null},P=(0,t.computed)(()=>Array.from(l.values()).some(e=>e.status===`failed`)),F=(0,t.computed)(()=>p.value===0?0:Math.round(m.value/p.value*100));return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Tg,[r.testLoadErrors&&r.testLoadErrors.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Eg,[(0,t.createElementVNode)(`div`,Dg,[n[0]||=(0,t.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,t.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,t.createElementVNode)(`div`,null,[(0,t.createElementVNode)(`span`,Og,(0,t.toDisplayString)(r.testLoadErrors.length)+` test file`+(0,t.toDisplayString)(r.testLoadErrors.length>1?`s`:``)+` failed to load `,1),(0,t.createElementVNode)(`ul`,kg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r.testLoadErrors,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{key:e.file,class:`font-mono text-[10px]`},(0,t.toDisplayString)(e.file),1))),128))])])])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Ag,[(0,t.createElementVNode)(`div`,jg,[(0,t.createElementVNode)(`div`,Mg,[_.value>0&&!c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ng,[(0,t.createElementVNode)(`div`,Pg,[(0,t.createElementVNode)(`span`,Fg,(0,t.toDisplayString)(_.value)+` selected `,1),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:j},` Clear `)]),(0,t.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:c.value,onClick:D},[...n[1]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.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,t.createTextVNode)(` Run `,-1)]],8,Ig)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Lg,[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:w.value,indeterminate:T.value,onChange:A},null,40,Rg),n[2]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Available Tests `,-1)])]),(0,t.createElementVNode)(`div`,zg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(g.value,([e,r])=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e},[(0,t.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,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:x(r),indeterminate:S(r),onClick:(0,t.withModifiers)(e=>k(r),[`stop`])},null,8,Vg),(0,t.createElementVNode)(`span`,Hg,(0,t.toDisplayString)(e),1),(0,t.createElementVNode)(`span`,Ug,(0,t.toDisplayString)(C(r))+`/`+(0,t.toDisplayString)(r.length),1)],8,Bg),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.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=>ee(e.id)},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:i.value[e.id],onClick:(0,t.withModifiers)(t=>O(e.id),[`stop`])},null,8,Gg),(0,t.createElementVNode)(`span`,Kg,[b(e.id)===`running`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,qg,[...n[3]||=[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`svg`,Jg,[...n[4]||=[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`svg`,Yg,[...n[5]||=[(0,t.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,t.openBlock)(),(0,t.createElementBlock)(`div`,Xg,` % `)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`span`,Zg,(0,t.toDisplayString)(e.name),1),l.get(e.id)?.status===`passed`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Qg,` Passed `)):l.get(e.id)?.status===`failed`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,$g,` Failed `)):l.get(e.id)?.status===`scored`&&l.get(e.id)?.score?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,e_,(0,t.toDisplayString)(l.get(e.id).score.passed)+`/`+(0,t.toDisplayString)(l.get(e.id).score.total)+` (`+(0,t.toDisplayString)(l.get(e.id).score.percentage)+`%) `,1)):(0,t.createCommentVNode)(``,!0)],10,Wg))),128))]))),128)),g.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,t_,[...n[6]||=[(0,t.createElementVNode)(`p`,{class:`text-xs`},`No tests found.`,-1),(0,t.createElementVNode)(`p`,{class:`text-[10px] mt-1`},` Create test files with the .primitive-test.ts extension. `,-1)]])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,n_,[(0,t.createElementVNode)(`div`,r_,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(v.value)+` tests in `+(0,t.toDisplayString)(g.value.length)+` groups`,1),y.value.passed>0||y.value.failed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,i_,[y.value.passed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,a_,(0,t.toDisplayString)(y.value.passed)+` passed `,1)):(0,t.createCommentVNode)(``,!0),y.value.passed>0&&y.value.failed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,o_,`, `)):(0,t.createCommentVNode)(``,!0),y.value.failed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,s_,(0,t.toDisplayString)(y.value.failed)+` failed `,1)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)])])]),(0,t.createElementVNode)(`div`,c_,[(0,t.createElementVNode)(`div`,l_,[n[16]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Test Output `,-1),(0,t.createElementVNode)(`div`,u_,[(0,t.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:a.value.length===0,onClick:M},[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[n[7]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),n[8]||=(0,t.createTextVNode)(` Copied! `,-1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[n[9]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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),n[10]||=(0,t.createTextVNode)(` Copy `,-1)],64))],8,d_),(0,t.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:!P.value,onClick:N},[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[n[11]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),n[12]||=(0,t.createTextVNode)(` Copied! `,-1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[n[13]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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),n[14]||=(0,t.createTextVNode)(` Copy Failing Tests `,-1)],64))],8,f_),(0,t.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:a.value.length===0,onClick:te},[...n[15]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createTextVNode)(` Clear `,-1)]],8,p_)])]),(0,t.createElementVNode)(`div`,{ref_key:`outputEl`,ref:d,class:`flex-1 overflow-y-auto scrollbar-thin bg-muted/10 font-mono text-xs p-3`},[a.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,m_,` Select tests and click "Run" to see output... `)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,h_,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,"data-test-id":e.testId,class:(0,t.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,t.toDisplayString)(e.text),11,g_))),128))]))],512),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,__,[(0,t.createElementVNode)(`div`,v_,[(0,t.createElementVNode)(`span`,y_,` Running: `+(0,t.toDisplayString)(h.value),1),(0,t.createElementVNode)(`span`,b_,(0,t.toDisplayString)(m.value)+`/`+(0,t.toDisplayString)(p.value),1)]),(0,t.createElementVNode)(`div`,x_,[(0,t.createElementVNode)(`div`,{class:`h-full bg-primary transition-all duration-300`,style:(0,t.normalizeStyle)({width:`${F.value}%`})},null,4)])])):(0,t.createCommentVNode)(``,!0)])])]))}}),C_={class:`fixed inset-0 z-40 bg-background flex flex-col overflow-hidden`},w_={class:`flex items-center justify-between px-4 py-2 border-b border-border bg-muted/30`},T_={class:`flex items-center gap-3 min-w-0 flex-1`},E_={class:`text-sm font-semibold truncate`},D_={class:`flex-1 flex overflow-hidden min-w-0`},O_={class:`w-10 bg-muted/50 border-r border-border flex flex-col items-center py-2 gap-1`},k_={class:`flex-1 flex flex-col overflow-hidden min-w-0`},A_={key:0,class:`flex-1 flex items-center justify-center`},j_={class:`text-center max-w-md`},M_={class:`text-xs text-muted-foreground mb-4`},N_={key:1,class:`flex-1 flex items-center justify-center`},P_={class:`text-center`},F_={key:0,class:`flex-1 overflow-hidden`},I_={key:1,class:`flex-1 overflow-hidden flex`},L_={key:2,class:`flex-1 overflow-hidden`},R_=(0,t.defineComponent)({__name:`DevToolsOverlay`,props:{testGroups:{},testLoadErrors:{},appName:{}},emits:[`close`],setup(e,{emit:n}){let r=u.forScope(`DevToolsOverlay`),i=e,a=n,o=(0,t.ref)(`documents`),s=(0,t.ref)(!1),c=(0,t.ref)(null),l=(0,t.ref)(!1);async function d(){if(!s.value)try{await x(),s.value=!0}catch(e){r.error(`Failed to initialize dev tools`,{err:e}),c.value=e instanceof Error?e.message:`Failed to initialize`}}let f=(0,t.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,t.onMounted)(()=>{f.value=document.body.style.overflow,document.body.style.overflow=`hidden`,document.addEventListener(`keydown`,p,!0),d()}),(0,t.onUnmounted)(()=>{document.body.style.overflow=f.value,document.removeEventListener(`keydown`,p,!0)});let m=(0,t.computed)(()=>S(i.testGroups));async function h(){if(!l.value){l.value=!0;try{await x()}finally{l.value=!1}}}function g(){a(`close`)}let _=Ye(),v=(0,t.computed)(()=>{if(o.value===`tests`)return`Test Harness`;if(o.value===`blobs`){let e=_.currentDocumentTitle;return e?`Blob Explorer: ${e}`:`Blob Explorer`}let e=_.currentDocumentTitle;return e?`Document Explorer: ${e}`:`Document Explorer`});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,C_,[(0,t.createElementVNode)(`div`,w_,[(0,t.createElementVNode)(`div`,T_,[(0,t.createElementVNode)(`span`,E_,(0,t.toDisplayString)(v.value),1)]),(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,title:`Close`,onClick:g},[...n[3]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),(0,t.createElementVNode)(`div`,D_,[(0,t.createElementVNode)(`div`,O_,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`p-2 rounded`,o.value===`documents`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Document Explorer`,onClick:n[0]||=e=>o.value=`documents`},[...n[4]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`p-2 rounded`,o.value===`tests`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Test Harness`,onClick:n[1]||=e=>o.value=`tests`},[...n[5]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`p-2 rounded`,o.value===`blobs`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Blob Explorer`,onClick:n[2]||=e=>o.value=`blobs`},[...n[6]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.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,t.createElementVNode)(`div`,k_,[c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,A_,[(0,t.createElementVNode)(`div`,j_,[n[7]||=(0,t.createElementVNode)(`h2`,{class:`text-sm font-semibold text-destructive mb-2`},` Initialization Failed `,-1),(0,t.createElementVNode)(`p`,M_,(0,t.toDisplayString)(c.value),1),(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,onClick:d},` Retry `)])])):s.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[o.value===`documents`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,F_,[(0,t.createVNode)(wg)])):(0,t.createCommentVNode)(``,!0),o.value===`blobs`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,I_,[(0,t.createVNode)(Du)])):(0,t.createCommentVNode)(``,!0),o.value===`tests`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,L_,[(0,t.createVNode)(S_,{tests:m.value,"test-load-errors":i.testLoadErrors,"on-tests-complete":h},null,8,[`tests`,`test-load-errors`])])):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,N_,[(0,t.createElementVNode)(`div`,P_,[(0,t.createVNode)(te),n[8]||=(0,t.createElementVNode)(`p`,{class:`mt-4 text-xs text-muted-foreground`},` Initializing dev tools... `,-1)])]))])])]))}}),z_=`#devtools`,B_=(0,t.defineComponent)({__name:`DevToolsRoot`,props:{testGroups:{},testLoadErrors:{},appName:{},keyboardShortcut:{}},setup(e){let n=u.forScope(`DevToolsRoot`),r=e,i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=typeof navigator<`u`&&/mac/i.test(navigator.platform);function s(e){let t=e.toLowerCase().split(`+`);return o?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 c=(0,t.computed)(()=>{if(r.keyboardShortcut)return s(r.keyboardShortcut)});function l(e,t){let n=t.toLowerCase().split(`+`),r=n.pop(),i=new Set(n),a=i.has(`cmd`)||i.has(`meta`),s=i.has(`ctrl`),c=i.has(`shift`),l=i.has(`alt`);if(o){if(a!==e.metaKey||s!==e.ctrlKey)return!1}else if((a||s)!==e.ctrlKey||e.metaKey)return!1;return!(c!==e.shiftKey||l!==e.altKey||e.key.toLowerCase()!==r)}function d(e){!r.keyboardShortcut||!a.value||l(e,r.keyboardShortcut)&&(e.preventDefault(),b())}let f=!1,p=null;function h(){!i.value&&a.value&&window.location.hash===z_&&(i.value=!0)}async function g(){try{let e=await m.getClientAsync();a.value=e.isAuthenticated(),h(),a.value&&x().catch(e=>{n.debug(`Startup cleanup of leftover test documents failed`,{err:e})});let t=()=>{a.value=!0,h()},r=()=>{a.value=!1},i=()=>{a.value=!1,y()};e.on(`auth-success`,t),e.on(`auth-failed`,r),e.on(`auth:logout`,i),p=()=>{e.off(`auth-success`,t),e.off(`auth-failed`,r),e.off(`auth:logout`,i)}}catch{a.value=!1}}function _(){let e=window.location.hash===z_;i.value&&!e?(i.value=!1,f=!1):!i.value&&e&&a.value&&(i.value=!0)}(0,t.onMounted)(()=>{window.addEventListener(`popstate`,_),document.addEventListener(`keydown`,d),g()}),(0,t.onUnmounted)(()=>{window.removeEventListener(`popstate`,_),document.removeEventListener(`keydown`,d),p?.(),p=null});function v(){i.value||(i.value=!0,f=!0,history.pushState({primitiveDevtools:!0},``,z_))}function y(){i.value&&(i.value=!1,window.location.hash===z_&&(f?(f=!1,history.back()):history.replaceState(null,``,window.location.pathname+window.location.search)))}function b(){i.value?y():v()}return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[a.value?((0,t.openBlock)(),(0,t.createBlock)(M,{key:0,"is-open":i.value,"shortcut-hint":c.value,onClick:b},null,8,[`is-open`,`shortcut-hint`])):(0,t.createCommentVNode)(``,!0),i.value?((0,t.openBlock)(),(0,t.createBlock)(R_,{key:1,"test-groups":r.testGroups,"test-load-errors":r.testLoadErrors,"app-name":r.appName,onClose:y},null,8,[`test-groups`,`test-load-errors`,`app-name`])):(0,t.createCommentVNode)(``,!0)]))}});exports.DevToolsRoot=B_,exports.createTestDocument=v,exports.destroyTestDocument=b,exports.initializeJsBao=h,exports.jsBaoClientService=m,exports.setPrimitiveAppLogLevel=d;
package/dist/index.js CHANGED
@@ -13949,7 +13949,7 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
13949
13949
  }, cy = {
13950
13950
  key: 2,
13951
13951
  class: "flex-1 overflow-hidden"
13952
- }, ly = "primitive-devtools-active-tab", uy = /* @__PURE__ */ m({
13952
+ }, ly = /* @__PURE__ */ m({
13953
13953
  __name: "DevToolsOverlay",
13954
13954
  props: {
13955
13955
  testGroups: {},
@@ -13958,67 +13958,56 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
13958
13958
  },
13959
13959
  emits: ["close"],
13960
13960
  setup(e, { emit: t }) {
13961
- let r = Ve.forScope("DevToolsOverlay"), i = e, a = t, s = [
13962
- "documents",
13963
- "blobs",
13964
- "tests"
13965
- ];
13966
- function d() {
13967
- let e = localStorage.getItem(ly);
13968
- return s.includes(e) ? e : "documents";
13969
- }
13970
- let p = L(d());
13971
- G(p, (e) => localStorage.setItem(ly, e));
13972
- let m = L(!1), h = L(null), g = L(!1);
13973
- async function _() {
13974
- if (!m.value) try {
13975
- await Ze(), m.value = !0;
13961
+ let r = Ve.forScope("DevToolsOverlay"), i = e, a = t, s = L("documents"), d = L(!1), p = L(null), m = L(!1);
13962
+ async function h() {
13963
+ if (!d.value) try {
13964
+ await Ze(), d.value = !0;
13976
13965
  } catch (e) {
13977
- r.error("Failed to initialize dev tools", { err: e }), h.value = e instanceof Error ? e.message : "Failed to initialize";
13966
+ r.error("Failed to initialize dev tools", { err: e }), p.value = e instanceof Error ? e.message : "Failed to initialize";
13978
13967
  }
13979
13968
  }
13980
- let v = L("");
13981
- function y(e) {
13969
+ let g = L("");
13970
+ function _(e) {
13982
13971
  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;
13983
13972
  let t = document.activeElement;
13984
13973
  if (t && t !== document.body && (t.tagName === "INPUT" || t.tagName === "TEXTAREA" || t.tagName === "SELECT" || t.isContentEditable)) {
13985
13974
  t.blur();
13986
13975
  return;
13987
13976
  }
13988
- S();
13977
+ b();
13989
13978
  }
13990
13979
  A(() => {
13991
- v.value = document.body.style.overflow, document.body.style.overflow = "hidden", document.addEventListener("keydown", y, !0), _();
13980
+ g.value = document.body.style.overflow, document.body.style.overflow = "hidden", document.addEventListener("keydown", _, !0), h();
13992
13981
  }), M(() => {
13993
- document.body.style.overflow = v.value, document.removeEventListener("keydown", y, !0);
13982
+ document.body.style.overflow = g.value, document.removeEventListener("keydown", _, !0);
13994
13983
  });
13995
- let b = o(() => Qe(i.testGroups));
13996
- async function x() {
13997
- if (!g.value) {
13998
- g.value = !0;
13984
+ let v = o(() => Qe(i.testGroups));
13985
+ async function y() {
13986
+ if (!m.value) {
13987
+ m.value = !0;
13999
13988
  try {
14000
13989
  await Ze();
14001
13990
  } finally {
14002
- g.value = !1;
13991
+ m.value = !1;
14003
13992
  }
14004
13993
  }
14005
13994
  }
14006
- function S() {
13995
+ function b() {
14007
13996
  a("close");
14008
13997
  }
14009
- let C = hn(), w = o(() => {
14010
- if (p.value === "tests") return "Test Harness";
14011
- if (p.value === "blobs") {
14012
- let e = C.currentDocumentTitle;
13998
+ let x = hn(), S = o(() => {
13999
+ if (s.value === "tests") return "Test Harness";
14000
+ if (s.value === "blobs") {
14001
+ let e = x.currentDocumentTitle;
14013
14002
  return e ? `Blob Explorer: ${e}` : "Blob Explorer";
14014
14003
  }
14015
- let e = C.currentDocumentTitle;
14004
+ let e = x.currentDocumentTitle;
14016
14005
  return e ? `Document Explorer: ${e}` : "Document Explorer";
14017
14006
  });
14018
- return (e, t) => (P(), l("div", Jv, [u("div", Yv, [u("div", Xv, [u("span", Zv, B(w.value), 1)]), u("button", {
14007
+ return (e, t) => (P(), l("div", Jv, [u("div", Yv, [u("div", Xv, [u("span", Zv, B(S.value), 1)]), u("button", {
14019
14008
  class: "p-1 hover:bg-muted rounded",
14020
14009
  title: "Close",
14021
- onClick: S
14010
+ onClick: b
14022
14011
  }, [...t[3] ||= [u("svg", {
14023
14012
  class: "w-4 h-4",
14024
14013
  fill: "none",
@@ -14031,9 +14020,9 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
14031
14020
  d: "M6 18L18 6M6 6l12 12"
14032
14021
  })], -1)]])]), u("div", Qv, [u("div", $v, [
14033
14022
  u("button", {
14034
- class: E(["p-2 rounded", p.value === "documents" ? "bg-primary/10 text-primary" : "hover:bg-muted text-muted-foreground"]),
14023
+ class: E(["p-2 rounded", s.value === "documents" ? "bg-primary/10 text-primary" : "hover:bg-muted text-muted-foreground"]),
14035
14024
  title: "Document Explorer",
14036
- onClick: t[0] ||= (e) => p.value = "documents"
14025
+ onClick: t[0] ||= (e) => s.value = "documents"
14037
14026
  }, [...t[4] ||= [u("svg", {
14038
14027
  class: "w-4 h-4",
14039
14028
  fill: "none",
@@ -14046,9 +14035,9 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
14046
14035
  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"
14047
14036
  })], -1)]], 2),
14048
14037
  u("button", {
14049
- class: E(["p-2 rounded", p.value === "tests" ? "bg-primary/10 text-primary" : "hover:bg-muted text-muted-foreground"]),
14038
+ class: E(["p-2 rounded", s.value === "tests" ? "bg-primary/10 text-primary" : "hover:bg-muted text-muted-foreground"]),
14050
14039
  title: "Test Harness",
14051
- onClick: t[1] ||= (e) => p.value = "tests"
14040
+ onClick: t[1] ||= (e) => s.value = "tests"
14052
14041
  }, [...t[5] ||= [u("svg", {
14053
14042
  class: "w-4 h-4",
14054
14043
  fill: "none",
@@ -14061,9 +14050,9 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
14061
14050
  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"
14062
14051
  })], -1)]], 2),
14063
14052
  u("button", {
14064
- class: E(["p-2 rounded", p.value === "blobs" ? "bg-primary/10 text-primary" : "hover:bg-muted text-muted-foreground"]),
14053
+ class: E(["p-2 rounded", s.value === "blobs" ? "bg-primary/10 text-primary" : "hover:bg-muted text-muted-foreground"]),
14065
14054
  title: "Blob Explorer",
14066
- onClick: t[2] ||= (e) => p.value = "blobs"
14055
+ onClick: t[2] ||= (e) => s.value = "blobs"
14067
14056
  }, [...t[6] ||= [u("svg", {
14068
14057
  class: "w-4 h-4",
14069
14058
  fill: "none",
@@ -14075,24 +14064,24 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
14075
14064
  "stroke-width": "2",
14076
14065
  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"
14077
14066
  })], -1)]], 2)
14078
- ]), u("div", ey, [h.value ? (P(), l("div", ty, [u("div", ny, [
14067
+ ]), u("div", ey, [p.value ? (P(), l("div", ty, [u("div", ny, [
14079
14068
  t[7] ||= u("h2", { class: "text-sm font-semibold text-destructive mb-2" }, " Initialization Failed ", -1),
14080
- u("p", ry, B(h.value), 1),
14069
+ u("p", ry, B(p.value), 1),
14081
14070
  u("button", {
14082
14071
  class: "px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90",
14083
- onClick: _
14072
+ onClick: h
14084
14073
  }, " Retry ")
14085
- ])])) : m.value ? (P(), l(n, { key: 2 }, [
14086
- p.value === "documents" ? (P(), l("div", oy, [f(Y_)])) : c("", !0),
14087
- p.value === "blobs" ? (P(), l("div", sy, [f(Qd)])) : c("", !0),
14088
- p.value === "tests" ? (P(), l("div", cy, [f(qv, {
14089
- tests: b.value,
14074
+ ])])) : d.value ? (P(), l(n, { key: 2 }, [
14075
+ s.value === "documents" ? (P(), l("div", oy, [f(Y_)])) : c("", !0),
14076
+ s.value === "blobs" ? (P(), l("div", sy, [f(Qd)])) : c("", !0),
14077
+ s.value === "tests" ? (P(), l("div", cy, [f(qv, {
14078
+ tests: v.value,
14090
14079
  "test-load-errors": i.testLoadErrors,
14091
- "on-tests-complete": x
14080
+ "on-tests-complete": y
14092
14081
  }, null, 8, ["tests", "test-load-errors"])])) : c("", !0)
14093
14082
  ], 64)) : (P(), l("div", iy, [u("div", ay, [f(dt), t[8] ||= u("p", { class: "mt-4 text-xs text-muted-foreground" }, " Initializing dev tools... ", -1)])]))])])]));
14094
14083
  }
14095
- }), dy = "#devtools", fy = /* @__PURE__ */ m({
14084
+ }), uy = "#devtools", dy = /* @__PURE__ */ m({
14096
14085
  __name: "DevToolsRoot",
14097
14086
  props: {
14098
14087
  testGroups: {},
@@ -14121,7 +14110,7 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
14121
14110
  }
14122
14111
  let m = !1, h = null;
14123
14112
  function g() {
14124
- !i.value && a.value && window.location.hash === dy && (i.value = !0);
14113
+ !i.value && a.value && window.location.hash === uy && (i.value = !0);
14125
14114
  }
14126
14115
  async function _() {
14127
14116
  try {
@@ -14144,7 +14133,7 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
14144
14133
  }
14145
14134
  }
14146
14135
  function v() {
14147
- let e = window.location.hash === dy;
14136
+ let e = window.location.hash === uy;
14148
14137
  i.value && !e ? (i.value = !1, m = !1) : !i.value && e && a.value && (i.value = !0);
14149
14138
  }
14150
14139
  A(() => {
@@ -14153,10 +14142,10 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
14153
14142
  window.removeEventListener("popstate", v), document.removeEventListener("keydown", p), h?.(), h = null;
14154
14143
  });
14155
14144
  function y() {
14156
- i.value || (i.value = !0, m = !0, history.pushState({ primitiveDevtools: !0 }, "", dy));
14145
+ i.value || (i.value = !0, m = !0, history.pushState({ primitiveDevtools: !0 }, "", uy));
14157
14146
  }
14158
14147
  function b() {
14159
- i.value && (i.value = !1, window.location.hash === dy && (m ? (m = !1, history.back()) : history.replaceState(null, "", window.location.pathname + window.location.search)));
14148
+ i.value && (i.value = !1, window.location.hash === uy && (m ? (m = !1, history.back()) : history.replaceState(null, "", window.location.pathname + window.location.search)));
14160
14149
  }
14161
14150
  function x() {
14162
14151
  i.value ? b() : y();
@@ -14166,7 +14155,7 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
14166
14155
  "is-open": i.value,
14167
14156
  "shortcut-hint": d.value,
14168
14157
  onClick: x
14169
- }, null, 8, ["is-open", "shortcut-hint"])) : c("", !0), i.value ? (P(), s(uy, {
14158
+ }, null, 8, ["is-open", "shortcut-hint"])) : c("", !0), i.value ? (P(), s(ly, {
14170
14159
  key: 1,
14171
14160
  "test-groups": n.testGroups,
14172
14161
  "test-load-errors": n.testLoadErrors,
@@ -14180,4 +14169,4 @@ var j_ = { class: "h-full flex flex-col min-w-0" }, M_ = {
14180
14169
  }
14181
14170
  });
14182
14171
  //#endregion
14183
- export { fy as DevToolsRoot, Je as createTestDocument, Xe as destroyTestDocument, Ge as initializeJsBao, J as jsBaoClientService, He as setPrimitiveAppLogLevel };
14172
+ export { dy as DevToolsRoot, Je as createTestDocument, Xe as destroyTestDocument, Ge as initializeJsBao, J as jsBaoClientService, He as setPrimitiveAppLogLevel };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "primitive-app",
3
- "version": "3.0.0",
3
+ "version": "3.0.1",
4
4
  "license": "UNLICENSED",
5
5
  "author": "Primitive LLC",
6
6
  "type": "module",