primitive-app 2.1.5 → 2.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/shared/DeleteConfirmationDialog.vue.d.ts +2 -2
- package/dist/components/ui/button/index.d.ts +1 -1
- package/dist/components/ui/native-select/NativeSelectOptGroup.vue.d.ts +4 -4
- package/dist/components/ui/native-select/NativeSelectOption.vue.d.ts +4 -4
- package/dist/dev-tools/blob-explorer/BlobDetailPanel.vue.d.ts +17 -0
- package/dist/dev-tools/blob-explorer/BlobDetailPanel.vue.d.ts.map +1 -0
- package/dist/dev-tools/blob-explorer/BlobExplorerDocumentSidebar.vue.d.ts +14 -0
- package/dist/dev-tools/blob-explorer/BlobExplorerDocumentSidebar.vue.d.ts.map +1 -0
- package/dist/dev-tools/blob-explorer/BlobExplorerIndex.vue.d.ts +4 -0
- package/dist/dev-tools/blob-explorer/BlobExplorerIndex.vue.d.ts.map +1 -0
- package/dist/dev-tools/blob-explorer/BlobTablePanel.vue.d.ts +30 -0
- package/dist/dev-tools/blob-explorer/BlobTablePanel.vue.d.ts.map +1 -0
- package/dist/dev-tools/blob-explorer/BlobUploadDialog.vue.d.ts +13 -0
- package/dist/dev-tools/blob-explorer/BlobUploadDialog.vue.d.ts.map +1 -0
- package/dist/dev-tools/blob-explorer/blobExplorerTypes.d.ts +17 -0
- package/dist/dev-tools/blob-explorer/blobExplorerTypes.d.ts.map +1 -0
- package/dist/dev-tools/blob-explorer/blobExplorerUtils.d.ts +11 -0
- package/dist/dev-tools/blob-explorer/blobExplorerUtils.d.ts.map +1 -0
- package/dist/dev-tools/blob-explorer/useBlobExplorer.d.ts +35 -0
- package/dist/dev-tools/blob-explorer/useBlobExplorer.d.ts.map +1 -0
- package/dist/dev-tools/document-explorer/components/DocumentSharingSection.vue.d.ts.map +1 -1
- package/dist/dev-tools/document-explorer/components/RecordTable.vue.d.ts.map +1 -1
- package/dist/dev-tools/document-explorer/utils.d.ts.map +1 -1
- package/dist/dev-tools/index.d.ts +7 -14
- package/dist/dev-tools/index.d.ts.map +1 -1
- package/dist/dev-tools/test-harness/lib.d.ts +3 -1
- package/dist/dev-tools/test-harness/lib.d.ts.map +1 -1
- package/dist/dev-tools/vite-plugin/DevToolsOverlay.vue.d.ts.map +1 -1
- package/dist/dev-tools/vite-plugin/index.cjs +1 -1
- package/dist/dev-tools/vite-plugin/index.js +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11497 -11778
- package/dist/primitive-app.css +1 -1
- package/dist/services/JsBaoClientService.d.ts +77 -0
- package/dist/services/JsBaoClientService.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),Ra=require("js-bao-wss-client"),ee=require("@vueuse/core"),qa=require("js-bao"),Fa=require("pinia");require("yjs");function La(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const Po=La(e);const $o=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ja=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,o,r)=>r?r.toUpperCase():o.toLowerCase()),Ha=t=>{const n=ja(t);return n.charAt(0).toUpperCase()+n.slice(1)},Wa=(...t)=>t.filter((n,o,r)=>!!n&&n.trim()!==""&&r.indexOf(n)===o).join(" ").trim(),Oo=t=>t==="";var zt={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"};const Ua=({name:t,iconNode:n,absoluteStrokeWidth:o,"absolute-stroke-width":r,strokeWidth:a,"stroke-width":l,size:s=zt.width,color:i=zt.stroke,...c},{slots:u})=>e.h("svg",{...zt,...c,width:s,height:s,stroke:i,"stroke-width":Oo(o)||Oo(r)||o===!0||r===!0?Number(a||l||zt["stroke-width"])*24/Number(s):a||l||zt["stroke-width"],class:Wa("lucide",c.class,...t?[`lucide-${$o(Ha(t))}-icon`,`lucide-${$o(t)}`]:["lucide-icon"])},[...n.map(d=>e.h(...d)),...u.default?[u.default()]:[]]);const ke=(t,n)=>(o,{slots:r,attrs:a})=>e.h(Ua,{...a,...o,iconNode:n,name:t},r);const Ga=ke("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);const Ka=ke("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const Cr=ke("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Ya=ke("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const Qa=ke("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const Xa=ke("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);const Za=ke("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);const Ja=ke("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]);const el=ke("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);const jn=ke("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const tl=ke("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);const nl=ke("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);const co=ke("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"}]]);const Tt=ke("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"}]]);const ol=ke("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);const Pt=ke("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),rl=["title"],Br=e.defineComponent({__name:"DevToolsFloatingButton",props:{isOpen:{type:Boolean},customStyle:{},shortcutHint:{}},emits:["click"],setup(t,{emit:n}){const o=t,r=n;function a(){const s=`${o.isOpen?"Close":"Open"} Primitive Dev Tools`;return o.shortcutHint?`${s} (${o.shortcutHint})`:s}return(l,s)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:"fixed bottom-4 right-4 z-[9999] w-12 h-12 rounded-full bg-violet-600 hover:bg-violet-700 text-white shadow-lg flex items-center justify-center transition-all hover:scale-110 active:scale-95",style:e.normalizeStyle(o.customStyle),title:a(),onClick:s[0]||(s[0]=i=>r("click"))},[e.createVNode(e.unref(Ga),{class:"w-6 h-6"})],12,rl))}}),al="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg0AAAINCAMAAACKxrymAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAtNQTFRFAAAAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMznrAyvAAAAPF0Uk5TABRrvf/yoE8Ym+lpBXfaTVDcvCjA+5IPEpX87GoDbu7XP0OvIrL4iAsNi/nnYAFkzDc70KUZHKn1fggKgfbhVlrjxC8zyP0Wn/7xdEzdkR+zhzhcDoqmAmXtkwd4t0gEF5xTfYLz1Izgc1ErrvrmpCWWX1ua8Nmq91XkS5Bv9GYxngm+tFlJ239B3ra6gEZAESB5zdEb6D7WRHHvsEdhjoQaPc8nHaxXEMLlFU56LCmnbJQ009iYrTqGsaPLY6LOe99dhXBo643qXpdUibWDbWJ2WOJ1UnyhwcceOZ3FZ49Kci7VxgwhLai5MLgyykI1vxsWnKEAAB7OSURBVHic7Z19mFVVvcfX8hoqoTGKMIaETKMyQoMYojAxycCAGKH5QEhTgBgp4E1etEzLyLfI0geVwus75Ev04jV8q0gn8C3T9MEyJLqpEQ+KhHU1rqUP5w6gHuacs/ZZ37XXXuu31v59/rhX56zZZ4cfZs45n71/SwqGeRfp+wQYQrANTBG2gSnCNjBF2AamCNvAFGEbmCJsA1OEbWCKsA0dfwYd7Pq///J9Jr5hG/aVb737j13kP32eiX/ybkM3+WZhj3/tKv/h7VQIkHMbusvXS75ygPyblzMhQa5tOEj+vfyLNVK+4v5UaJBjG2ql3FLxgV5SbnR8LkTIrQ19pNykfPBQ+YLDU6FDXm2o2/HXxMf7yj85OhNK5NOG+up/9+ukfN7FqZAijzY0SLleY1l/KZ/N/FxokT8bGuWGf2suHSifyfRUyJE7G46Ra4HVR8snMzsTguTMhqHyt9g3DJHysWxOhSK5sqFJysfhbxouV2dwKjTJkw0nyIeNvq9ZPmj5TKiSHxtGy3bTb215uFPaipe82DBWylUpvn2MXP2GtXOhSz5sKOnWJnRtvtfKqZAmFzZ0H/GAhaPkoHXnwIaK3dqEmmFPRN66o7dB2a1NiL11R25DYrc2Ie7WHbcN1bq1CX0H/tT6MakQsw31AzN5G1A3YF2srTteGzS7tQnRtu5YbQC6tQmRtu5IbcC6tRAj95cPYPZE2bqjtAHt1iMO3PCsmCjX/hn5phhbd4Q2oN16yN6FR3f9Q33hJeiJ4mvd8dmAdutTX/zNe//c70DsF0xsrTs2G9BuPWhbp0+TJkv5I+TbI2vdcdmAdusuEworSr5U27LqNeQQUbXumGxokyugv6h1gwo/rvDlg066E3raiFp3RDag3XrK46rbqaauwT7QjqZ1R2MD2q0PbV6ufnBa+2bop0wsrTsSG9BuPenRkcsSF0yXmx5CDhhH647CBrRb17Q+9HLVRaPWgj9sImjdMdiAduvuBb1f8zNexV6IhN+6w7cB7dbjDr5Zd2nbygFPIYcOvnWHbgPareW+E24Hlg897HXoA4zAW3fYNqDduqV34VbwKQb3wD7cDLp1B20D3K13GGSFxsO3YeEj4NYdsA1G3dqEJrkFa90D1gXauoO1oalhvVm3NiEvrTtUG8Bu3br/Ht3ahHy07jBtgLv1jtQv7SbLldgL1hBbd4g2WOjWJkyUv4q9dYdnQ5vc7xZkvaJbmxB96w7OBrRb2x0DGnnrDswGuFvbTknT2pugS+XCat1B2WC9WxudRMtWsHU32XjV4oSAbMikW5uAtu4Zq0Jp3eHYgHbrKfdn9ys71tYdig1wt65JuNAtPW0rsU8TAmndYdjQ0PxIlt3ahOny5fhadwg2OOjWJkTYugOwAe3W3Qc5SgTxtW7yNsDdup/2hW7paZJvQ5fKUW/dxG1w2q1NGHrYXdD6z6+j3Lpp2+C6W5sQU+umbAParUdu9fIyLaLWTdcGuFuPM7zQLT3oWJgxfb9Ps3VTtcFjtzahflgUrZuoDbM3+uzWJkTRuknaMGcFloVKBrT4IYbWTdAGuFsXrFzolh50LEyvv4+nceLvQc4GMt3aBPRiHGqtm5oNlLq1CWjrPmsjpdZNywa0WycOaPFD0K2bkg0NzV2WIuvlIRlc6JYedCzM7HYyrZuODUS7tQmj9gq0dZOxgWy3NgFu3XMeI9G6idiAdmtgQIsfwmzdJGyAu/VzmV/olh50LAyF1k3BhhC6tQmD9wqtdfu3IZBubUJwrdu3DWi3Nh7Q4ofAWrdfG+Bu3dPxhW7pQcfCeG3dXm0Ir1ub0K8Atu6pizM6k6p4tCHIbm1COK3bmw21U1ZA3drSgBY/hNK6PdkAd+sTvF7olh50LIyf1u3HhtC7tQlTX6Pfun3YEEG3NiGA1u3eBrRbZzKgxQ9w6977l24/XHFtA9qtSV3olh50LIzj1u3YBrhba24sEg4zXsCizBEuW7dTG6Lr1iZQbt0ObUC7tYMBLX6g27rd2bDgaehHJOEL3dKDjoVx1bpd2QB3a5ONRcIBvVSupfFKF63bjQ1j20fF3K1NQLdAmfeGg9btwga0Wzsf0OIHtHXP/0PmrduBDWC3DuZCt/SgY2Eyb92Z2wB36/Qbi4QDeqlc1q07Yxty1a1NQLdAybZ1Z2rDtHasW3se0OIHSq07Sxvqtm6H1od5oVt60LEw2bXu7GyAu3UEe9Qbgl4ql1nrzsqGHHdrE9AtUDJq3dnY0HgU+Fo5rm5tAonWnYkNaLeO4UK39IBjYbJo3RnYMHTkldD6jDcWCQf0Ujn7rdu6DU0NPb4DnUCs3doEdAuUz9d80+rz27ZhwT5XIMuj7tYm+G3ddm1AuzXpAS1+8Nq6bdoAd2uXG4uEA3qp3Lw3ttt6c27PBu7W1kC3QJn/vsvsPLE1G7hb28RT67ZkA9qtAxrQ4ge4dZ95g4XWbcUGuFv721gkHNCxMDZatwUbpn1oOXfrLEC3QEnfutPbwN06O1y37rQ2oN062AEtfnDcutPZAHdrKhuLhAM6FiZV605jA3drJ6BboKRo3Sls4G7tCmet29gGtFtHMqDFD2jrvmCTWes2tAHu1jQ3FgkHdCyMWes2s4G7tXvQLVBMWreJDdytveCgdeM2oN06ygEtfsi8dcM2fP3n2JyaEDYWCQd0LMz8rguR5agN37gEWc3d2jroFijnIG/9MBsult9AlnO3zgC0dY+9T38tZsOlC4HFORjQ4gewdX/jQu2lkA2XX6S/NsCNRcIBGgvT/9Pa/9kQG/rM/pr2Wu7W2YJsgXLp+borERtmX6+7krt15gCte9IjGzVXIjac8129dbkb0OIH/dZ92Zc1D4nYcMUFOquC31gkHHTHwpx2m+YBERv21lnE3dolelugjP6Z5uEs28Dd2jFarfub52keDbCh25vVVuR8QIsfNFr3onM1j2XRhpYefKGbF6qOhfFgA3drf1TZAsW5DdytvZLcuh3bwANavJPUup3a0FrLF7oRQD0WxqkNH+FuTYMrFZ85urRh1rX6x2Cy5KovVf4625BH2AamCNvAFGEbmCJsA1OEbWCKsA1MEbaBKcI2MEUCsqF+TsezzdV/OuYd5vYV4lGtS01DseFqKeft/P+Llk0C7tBhxMnDuu36GzT+P56rPuwtDBu++3/F+zuuOXuH/lPmndopxT/bc9f/d7XlQdiw9NJOI5CXyDP1nzTXXC9n7fmvhU9V+X0Rgg0Xfqv0K9ct4tvyqnPT+qtKvrLkl8k6BGDDnP0rzAs7Ykc223vGw9z7Kty8+PXkG2EDsOELFS+YvGbfGfrPnD96LZpZ8es3Tk/6Lvo23PwFxQODdvAlUwrUQ3prvjMt4fvo27BE/RHDqTwGqCLL5enKx6bfmPCN5G24bXrSIS9daXl7zwi4XU5NePTQFxMeJG/D+/+VeMzhs6bon0AeaGpY/3jigttOUz9G3oYJ91c56u3X8y1aRRYc95kqK66dpX6MvA0n/rLqcUefMUn/JKJGZ0hvt4R7LsnbME8jYoyRq9/QP41oGSulxmTQixNGqpC34QytW/gvOXyi/nlEyk++rTWk94enqh8jb8N4zbEiiz78Kf0ziZB9xuhtSHLuooQHydtw8Yr1eke3s71noOhvVnTWkoQHydsg7tb+HdDreyfrn0xM1F6f8NO/hKQXkQHYcA/wG+DuDfP0F0fD+3voby77008kPUrfBnH/BP2nEPdcl257z/BAhsKK1nNOTHo4ABsuPuYU/ecQddeek6fWXf+9k5DlV30x+WH6NohlByE6iNl7l17kES39P34TtP7DVV6Rh2CDaLhmnP6zdPCz8/LRuh9cn/xXvYRz36q28UgQNnS8mz4Oa5W/+LLh9p4BccyVrdD6A675bLUlgdgg2k5de7n+MwlxQcsNcY8VG3rYXdD6/bcnx+BdhGKDEMd+69vQ/lwPLot45ODwQgHaK07uW9ApOeHYIMTorb/Xf7IOmhs0d0AIjjuXQr84WwuFn2stDMkG0bjk5Wr1vhM9b5wR46jiUYU10PqRhepXBewmKBuEaFp0BrI/l1jacENsY8zlviOgDbFHFH6lvTYwG4Q4+axPAquF6NoD0oc63T5e+AWyftiR64C94oKzQYh+rdjLw4VbF0PrKTN+zXZo/UcL0FXlAdogJn9RNiPrZ31mxjrsGYhyUOF/ofWDCk9jTxCiDUL0mvlfmvtz7eaRxX8If5/VXsc9Dv2P7jIB/h8dpg1CzF2e8V8Taky+tzt0MY/RD8RQbRDiwrewOLWgPeQbs9y8WArXBtHtcy9l+PKaFCf3uQ5ab/pGKmAbsn3rTYj+V/+now9ZgrYhy4/lyNB4w+3fQ9b3vHuC8QewgdsgxMcL2XxkTwWncSZ4G7LKeTQ49vKroHB7+fOpwm34NnT8kfXLIPVToG3mQ9hFHYPuSndRRww2CDF4r7XQ+u6FEPbqfnL7KGR563mpL/iKwwbROPcq6Erpntd9gXrrnrMOe4E8sEf6F8iR2NDxNuy2aZq36O1m0mlnb7TwtFkh71sMvXm+o/ZsC5+9R2ODEPXnnwWtP1RWGKFHg2kz1yXM3Cin7qbzrXywFpEN4G1HHdw/m+YQ0rqtWLe2doNZVDaIPkt+8CNk/ZHLPkvvxqy5nzsOWj9jlbWfcXHZsPN25bO2IOv7z19Mq3U33HzHUmT9msI1K6w9eWw2IKMMdkNqCOnk/uM+hqy3PLQiPhuE2Kfr69B6OkNIjxmCfZR4wFS7F/nFaIPoJt8sIOuHSElhCOnQkdXuk+zM/PddZvkMorRBiLHDfw19vk9gCGnTtT+sMGtfzbw3tlu/OSBSG4QYtVf10Yl70iz9DiFdsM8VyPKWh7Eff3pEa4MQJ8iHkeXZ/PlqojP2c08ycjdiG6qPXC5hTN/v+2ndY9tHYb/X5OpsTiRmGzpel8nfQuu7Nt+b0Zkk0Cb3uwVZn+Fr3rht6HjPJrHWbfs9W3W6j9Ab+/kuR8vsBpXEbkPCNi6VcTyElNZnZdHbIERDcxfss97W8fY+602mVkpSn6PnwAYh5vZYCK232IGS6LPyFP2xnx0c+bbMuLHlwgaPjTiBuh1Yf3ewCWhObPB2/YiSevBaGyfX5uTFho7f0StPgX5H39F3Zna/oxsG/gG7bm9FbxfX7eXHBj/XnVakcflj0NjPmtYH3bzPyZMNHS8P+yds41OOhWvSK0H3ev982YAPIU17v0o5Qy/ANl1yeS9QzmzwPoR0+IT7oHYin2py2E5yZ4PfIaTPysHI8tbjH3N6D3EObRCNN7yEDSFNcQ98J9BrLkbucHzNRR5t8DSEVE7fhM0eGX1h6ucEyacNHoaQdvv1l7C5RIWC+7lEebXB9RDSD5z/NWg9OPbTEvm1AR9C+u81pkNIMx/7aYkc24APITWYx7nraQoF7GkOL3i6/yvXNjgZQtqnUMDGfpr/CEpNzm3IfI43fN/4+N97vG889zZkO4TU1dhPS7ANGQ4h7d/wHPaxxl/+4ndvFbZhJ/AQUp0PCRtHv42N/Zx8p+9ZVGzDbtAhpNUDwuAClkO6T/a/Jxvb8A6Wh5AeO/yP2NjPTwxAlmcE2/AeFoeQtl34A+gyitM/8gSJvVzZhj2wdVHSkzfdiBym9aq5RGZfsw2dePD90KAdcXBj+X/HhacNhI7x3Bwyc/HZhs70v+14aP25ry04otMXNpyH3dg7eyIUS7KFbSil/kTsAyNx900XTNn9+eHoV3+yBfxv+8ktlPbTYRvKqbv2ZPh7ht/y6XXQ3b+7+Ght9rd0IbANFUCHkBoy4ylq+/CxDRVBh5AasKb2K65uBdeGbVCADlYAmTX/eJdjIjRhG5SgQ0gR3I+Q0YJtUIMOIdVm/uzDMjluatiGJMZKCdUGLeadfZHfbq2GbUgGHeRYlZbGK/2NpawG21ANcAhpFWzexmcftqEq6BDSBD5f801LR8oGtkEDdAipgiED1lEYdZ8A26AFOoS0Aq1HPJbd2E9LsA16NB41F2vdpQyUhLbIUcE26IJuONWJ/lLS2j6rMmyDPugQ0veoG7CO3tZ6lWAbENAhpLvpK2luu1kO2wCBDiEVpLfkLYNtAAGHkPba7GTspyXYBpi//E+r9trf/XxuhmdiHbbBgDM0q9M1b87P9kRswzaYcPlKnfuyXlg5J/MzsQvbYMQ9p1YPkS/K3g7OxCpsgxn9/lXtteQl+wX1kmEXbIMhfz4i+fExN37QzYnYhG0w5fnk++ueOtrRediEbTDljzcnbXt9wDZnJ2IRtsGYp5Lu2Nx4iLPzsAjbYEyvM9UzGv5a6/BE7ME2mHPIq8qH7j3R4XnYg20wp5+yQDzzEZfnYQ+2IQVTVPfu3nC60/OwBtuQgldUHzY+3ej0PKzBNqRA+a7i1s86PQ9rsA0peKJJ8cDbTk/DHmxDCm46s/LXl850ex7WYBtSsEWRIoZjc4rpwDakYO6Syl+/5Ctuz8MabEMK2IZS2IZy2AYN2AbqsA0pYBtKYRvKYRs0YBuowzakgG0ohW0oh23QgG2gDtuQArahFLahHLZBA7aBOmxDCtiGUtiGctgGDdgG6rANKWAbSmEbymEbNGAbqMM2pIBtKIVtKIdt0IBtoA7bkAK2oRS2oRy2QQO2gTpsQwrYhlLYhnLYBg3YBuqwDSlgG0phG8phGzRgG6jDNqSAbSiFbSiHbdCAbaAO25ACtqEUtqEctkEDtoE6bEMK2IZS2IZy2AYN2AbqsA0pYBtKYRvKYRs0YBuowzakgG0ohW0oh23QgG2gDtuQArahFLahHLZBA7aBOmxDCtiGUtiGctgGDdgG6rANKWAbSmEbymEbNGAbqMM2pIBtKIVtKIdt0IBtoA7bkAK2oRS2oRy2QQO2gTpsQwrYhlLYhnLYBg3YBuqwDSlgG0phG8phGzRgG6jDNqSAbSiFbSiHbdCAbaAO25ACtqEUtqEctkEDtoE6bEMK2IZS2IZy2AYN2AbqsA0pYBtKYRvKYRs0YBuowzakgG0ohW0oh23QgG2gDtuQArahFLahHLZBA7aBOmxDCtiGUtiGctgGDdgG6rANKWAbSmEbymEbNGAbqMM2pIBtKIVtKIdt0IBtoA7bkAK2oRQLNogpj/9J/yiEiM2GqWv+WvkBpzaIukGFH+sfhwxx2XDQSXeqHnJrgxBdJhRW6B+JCDHZUNuy6jXlg65tEGLQthf0D0WDeGyYLOWPEh52b4MQp774G/2DUSAaG/oduDbxcR82iCF7Fx7VP5x/IrGhvvBSlRVZ2CD2rrpixIEbngUO6JkobJgo1/652prNB2seDLFhzEPV14zc+gxwRL9EYEPj4Q/8u/qq5Z/RPBxiw+pRGotaawu3Asf0Sfg2DO7RrrPspJWax0Ns+Lben5Lcd8LtwFH9EboNQw97fZXWwgHJLzKLIDY8c6zmwnEH3wwc1hth29Ak335Kb2XLB2/VPCZiQ6/Tv6O7tPugB4EDeyJoG2a88LDu0gXf0l2J2CCO+qP20pYeD72MHNoHAdswau3f9Re/3EN3JWRD/56P6S+e9OjIZcjB3ROsDdPlJo23d++yoZ/2UsgGsfCOqu9t9+DQ5uXQ0V0TqA1tK98sAMtf6fuG9lrMBvFiPbR8yv1/w47vlDBtmPraA8jyn7UC6oA2iC1nQOdScwLh1h2iDQnduiK/+Crwyx22QWxq1X8puRPCrTs8GxK7dQUekcdBx4dt6PhD7LEQWk+2dYdmw7T2pqRuXcaRb8vnsWcwsEGIuq3bofV9JclL5QKzoV9BcaGbgusWwX/qRjaIaR9avglZT/NSuaBsqN6tO3OoNPiJbGZDx2+wKSu2IOu7jKPXugOyQadb78mkFb03GjyNqQ1CzFkBfBwmKLbuYGyYLFdqdOsiNVK+YvRE5jYIMXsj9G6zdX9il8qFYsPgvXQb5G4OkKaf8qSxQbTJ/W5B1hO7VC4MG7S79Ttcsugfxs+VygYhxraPgk51RD9CrTsEG/S79W7GXHG8/gfRZaS0QYjRUuvym/cg1Lrp29B4+Dbtbr2Tlt63IgmjjNQ2CLFgnyuQ5S29qVwqR96GUXthf9OaZcq/aRZsEE0NPbQvg9n1nEQulSNuA9athRg+a0rap7RhQ8crnZFXQuvH1VBo3aRtALu1GCIl0qcqY8cGIY6R2LsgCq2bsg0zXoXevVu60c2WDaLxKPATklbvl8rRteEgiX2yN2iHnU/2rNkgRENzl6XIeu+XylG1Ae3W/ecvtvSpv0UbhKgfeC+03qis2IOmDdl3azVWbQisdZO0QTmgRYFBt1Zj2YagWjdBG+qHYRe6Wf7patsGg9bt7VI5cjag3brXZqNurca+DXjrtvWKGIWYDc66tZosbAilddOyodqAllLMu7WabGwIo3VTsgG90K2rNO/WajKywaB1ux8LQ8eGJrkFesEwRq5O0a3VZGYD3rpH7nDcuqnY4Lpbq8nQBvKtm4gNmgNa3iN1t1aTqQ3EWzcJG9AL3Sx0azXZ2mDQuh2OhSFgQ9vKAdCFbla6tZqsbcBbd/eCq9bt3wa4W7/wZEZnspvsbaDbun3bAA1oES4+pXNgA9nW7dcG9EI3e91ajRMbDFq3i7EwPm2Y1r4ZepdYJ+11azWObMBbt4MtUDzagHZrR+XfmQ0dfxsksdbtzQZ0QIuzq4Lc2UCvdXuyAb3QrZeUdru1Gpc2GLTuTMfCeLGhysYiZWTQrdW4tQFu3ZlugeLDBgrdWo1rGyi1bvc20OjWapzbQKh1u7YBvdAtq26txoMNBq07m7Ewbm3Q21ikSHbdWo0XG4RY8DRU9LPZAsWpDYS6tRpPNoimhvWPI+uzaN0ObSDVrdX4sqHjD0j+Flpvv3U7swEd0JJxt1bjzwaD1m15LIwrG4CNRXZxtMy2W6vxaYNolBuwF1Z2t0BxYwO9bq3Gqw2eW7cLGyh2azWebfDaurO3AR3Q4qZbq/FuQ8cfwQ6s7lobC5O5DeDGIv6nsxOwQfSRWOu2tQVKxjaQ7dZqKNjgq3VnagPhbq2Ghg1+Wvexihfvq0amPjQ6oMVpt1ZDxQa8daf/JdvYu/Lngwu/mvLA8MYibru1Gjo2wK27rmfa1t1c+RO/T9+R7rDUu7UaQjYIMVZKp6373MUVv/zly9IclH63VkPKBtet+/KLKn1VvpXikOiAFh/dWg0xG4Q4QWKtO9VYmHtPqfDFZ48yPyC6sYiXbq2GnA1w6x7ynHnr3taz/Gt3LDbuh4F0azX0bHDauj/269KvDLv9Q4bHCqZbq6Fog8vW/dCYki/8YKLZgdABLR67tRqaNuCt23gszKJOHy70+n2N2WHQjUUGSmo7AO6EqA1465aHGLbuhcNPevcf5702+jSjY8DdWkpyu4PuhKwNDlv31Sf0vX7bh5+smTrT7Pd4aN1aDWEbPLZuCHRAi/durYa0DXjrdr8FCrqxCIFurYa2DULUSgm17kkFpzPMg+zWaqjbQO2+7k4E2q3V0LfBR+vWAx3QQqVbqwnBBrx1u9gCBd1YhE63VhOEDXjr7jIu4xnmIXdrNYHYQOa+7t3A3fph7BMJXwRjg+PWnQg6oIVYt1YTkA14685mLMzQw+6C1g+XqzM4i0wIyQa8dY/oZ32GeQTdWk1YNni/rzuKbq0mNBsctu4KoANaaHZrNcHZsLN1P7IeWW9tLMx0+TL0Npdqt1YToA146x5XY+G+7ni6tZogbfDRuiPq1moCtcF160YHtJDu1mpCtcGgdZuPhalt2Qpd6Ea8W6sJ1wZnF5rA3XrYE7S7tZqQbRCi+4jsf5nH163VhG1D9q0bHdDStRl7u0OLwG0waN3IWJiJ8lfQhW5hdGs1wduAt27tS+Vi7dZqIrABbt2aW6BE263VRGFDFq0bHdASULdWE4cNBq07eSxMk9wCXegWVLdWE4sNeOtOuFQu8m6tJh4b4Nat3AIl9m6tJiIbhGiQMn3rRge0hNet1URlg0HrLh0L07ZyAHShW92AdcF1azWR2YC37s6XysHdeuBPofXEic4GuHXvsQVKTrq1mvhsMG7d6ICWYLu1mhhtMGjdzcuntW+GPlYOuFuridMGvHVvPjY/3VpNrDaINrkiu4QUdrdWE60NeOvWJvRurSZiG/DWrUX43VpN1Dbgrbs6EXRrNZHbIJqkhFp3FaLo1mpitwFv3QlE0q3VxG8D3rpVxNKt1eTBBrh1VySebq0mFzbgrbuMmLq1mpzYgLfuTsTVrdXkxga8dReJrFuryZENcOt+h+i6tZo82YC3bhFlt1aTLxvg1h1lt1aTNxuw1h1nt1aTPxtEN6mZnWLt1mpyaINm6463W6vJpQ0arTvmbq0mpzZUa91Rd2s1ubUhqXVH3q3V5NcGZeseMmBd3N1aTZ5tqNy64+/WavJtQ3nrzkO3VpNzG4SY+ImZxX+Z3f47f2dCgNzbIMR3N4//2K5/uKV52UWez8UzbMNOrv5n2833fOk036fhHbaBKcI2MEXYBqYI28AUYRuYImwDU4RtYIqwDUyR/wcZGqjRY/v1sQAAAABJRU5ErkJggg==",ll=["src","width","height"],sl=e.defineComponent({__name:"PrimitiveLogoSpinner",props:{className:{},size:{default:128}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fixed inset-0 z-50 flex items-center justify-center bg-white",n.className])},[e.createElementVNode("img",{src:e.unref(al),alt:"Primitive Logo",width:n.size,height:n.size,class:"animate-spin",style:{"transform-origin":"center center"}},null,8,ll)],2))}}),Bn={debug:0,info:1,warn:2,error:3,none:4},il="warn";class fo{#e;scope;constructor(n,o){this.#e=n,this.scope=o}get level(){return this.#e.level}set level(n){this.setLevel(n)}debug(...n){this.#t("debug",n)}log(...n){this.#t("info",n,"log")}warn(...n){this.#t("warn",n)}error(...n){this.#t("error",n)}shouldLog(n){return Bn[n]>=Bn[this.level]}getLevel(){return this.level}setLevel(n){n in Bn&&(this.#e.level=n)}forScope(n){const o=n.trim(),r=o?[...this.scope,o]:this.scope;return new fo(this.#e,r)}#t(n,o,r){if(!this.shouldLog(n))return;const a=r??(n==="info"?"log":n),l=this.scope.length?`[${this.scope.join(":")}]`:void 0,s=l?[l,...o]:o;console[a](...s)}}const Er={level:il},ul=new fo(Er,[]),Ee=ul.forScope("PrimitiveApp");function cl(t){Er.level=t}let Hn=1;var dl=class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=t=>(this.subscribers.push(t),()=>{const n=this.subscribers.indexOf(t);this.subscribers.splice(n,1)});publish=t=>{this.subscribers.forEach(n=>n(t))};addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]};create=t=>{const{message:n,...o}=t,r=typeof t.id=="number"||t.id&&t.id?.length>0?t.id:Hn++,a=this.toasts.find(s=>s.id===r),l=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),a?this.toasts=this.toasts.map(s=>s.id===r?(this.publish({...s,...t,id:r,title:n}),{...s,...t,id:r,dismissible:l,title:n}):s):this.addToast({title:n,...o,dismissible:l,id:r}),r};dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(n=>n({id:t,dismiss:!0})))):this.toasts.forEach(n=>{this.subscribers.forEach(o=>o({id:n.id,dismiss:!0}))}),t);message=(t,n)=>this.create({...n,message:t,type:"default"});error=(t,n)=>this.create({...n,type:"error",message:t});success=(t,n)=>this.create({...n,type:"success",message:t});info=(t,n)=>this.create({...n,type:"info",message:t});warning=(t,n)=>this.create({...n,type:"warning",message:t});loading=(t,n)=>this.create({...n,type:"loading",message:t});promise=(t,n)=>{if(!n)return;let o;n.loading!==void 0&&(o=this.create({...n,promise:t,type:"loading",message:n.loading,description:typeof n.description!="function"?n.description:void 0}));const r=Promise.resolve(t instanceof Function?t():t);let a=o!==void 0,l;const s=r.then(async c=>{if(l=["resolve",c],e.isVNode(c))a=!1,this.create({id:o,type:"default",message:c});else if(ml(c)&&!c.ok){a=!1;const d=typeof n.error=="function"?await n.error(`HTTP error! status: ${c.status}`):n.error,f=typeof n.description=="function"?await n.description(`HTTP error! status: ${c.status}`):n.description,k=typeof d=="object"&&!e.isVNode(d)?d:{message:d||"",id:o||""};this.create({id:o,type:"error",description:f,...k})}else if(c instanceof Error){a=!1;const d=typeof n.error=="function"?await n.error(c):n.error,f=typeof n.description=="function"?await n.description(c):n.description,k=typeof d=="object"&&!e.isVNode(d)?d:{message:d||"",id:o||""};this.create({id:o,type:"error",description:f,...k})}else if(n.success!==void 0){a=!1;const d=typeof n.success=="function"?await n.success(c):n.success,f=typeof n.description=="function"?await n.description(c):n.description,k=typeof d=="object"&&!e.isVNode(d)?d:{message:d||"",id:o||""};this.create({id:o,type:"success",description:f,...k})}}).catch(async c=>{if(l=["reject",c],n.error!==void 0){a=!1;const u=typeof n.error=="function"?await n.error(c):n.error,d=typeof n.description=="function"?await n.description(c):n.description,g=typeof u=="object"&&!e.isVNode(u)?u:{message:u||"",id:o||""};this.create({id:o,type:"error",description:d,...g})}}).finally(()=>{a&&(this.dismiss(o),o=void 0),n.finally?.()}),i=()=>new Promise((c,u)=>s.then(()=>l[0]==="reject"?u(l[1]):c(l[1])).catch(u));return typeof o!="string"&&typeof o!="number"?{unwrap:i}:Object.assign(o,{unwrap:i})};custom=(t,n)=>{const o=n?.id||Hn++,r=this.toasts.find(l=>l.id===o),a=n?.dismissible===void 0?!0:n.dismissible;return this.dismissedToasts.has(o)&&this.dismissedToasts.delete(o),r?this.toasts=this.toasts.map(l=>l.id===o?(this.publish({...l,component:t,dismissible:a,id:o,...n}),{...l,component:t,dismissible:a,id:o,...n}):l):this.addToast({component:t,dismissible:a,id:o,...n}),o};getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id))};const Be=new dl;function fl(t,n){const o=n?.id||Hn++;return Be.create({message:t,id:o,type:"default",...n}),o}const ml=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",pl=fl,vl=()=>Be.toasts,gl=()=>Be.getActiveToasts(),Sr=Object.assign(pl,{success:Be.success,info:Be.info,warning:Be.warning,error:Be.error,custom:Be.custom,message:Be.message,promise:Be.promise,dismiss:Be.dismiss,loading:Be.loading},{getHistory:vl,getToasts:gl});function Gt(t){return t.label!==void 0}const hl=3,Nr="24px",Mr="16px",Ro=4e3,yl=356,bl=14,wl=45,Dr=200;function xl(){const t=e.ref(!1);return e.watchEffect(()=>{const n=()=>{t.value=document.hidden};return document.addEventListener("visibilitychange",n),()=>window.removeEventListener("visibilitychange",n)}),{isDocumentHidden:t}}function Ge(...t){return t.filter(Boolean).join(" ")}function kl(t){const[n,o]=t.split("-"),r=[];return n&&r.push(n),o&&r.push(o),r}function Cl(t,n){const o={};return[t,n].forEach((r,a)=>{const l=a===1,s=l?"--mobile-offset":"--offset",i=l?Mr:Nr;function c(u){["top","right","bottom","left"].forEach(d=>{o[`${s}-${d}`]=typeof u=="number"?`${u}px`:u})}typeof r=="number"||typeof r=="string"?c(r):typeof r=="object"?["top","right","bottom","left"].forEach(u=>{r[u]===void 0?o[`${s}-${u}`]=i:o[`${s}-${u}`]=typeof r[u]=="number"?`${r[u]}px`:r[u]}):c(i)}),o}const Bl=["data-rich-colors","data-styled","data-mounted","data-promise","data-swiped","data-removed","data-visible","data-y-position","data-x-position","data-index","data-front","data-swiping","data-dismissible","data-type","data-invert","data-swipe-out","data-swipe-direction","data-expanded","data-testid"],El=["aria-label","data-disabled","data-close-button-position"];var Sl=e.defineComponent({__name:"Toast",props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:["update:heights","update:height","removeToast"],setup(t,{emit:n}){const o=t,r=n,a=e.ref(null),l=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref(!1),u=e.ref(!1),d=e.ref(!1),f=e.ref(0),g=e.ref(0),k=e.ref(o.toast.duration||o.duration||Ro),b=e.ref(null),y=e.ref(null),v=e.computed(()=>o.index===0),h=e.computed(()=>o.index+1<=o.visibleToasts),m=e.computed(()=>o.toast.type),C=e.computed(()=>o.toast.dismissible!==!1),p=e.computed(()=>o.toast.class||""),w=e.computed(()=>o.descriptionClass||""),E=e.computed(()=>{const M=o.toast.position||o.position,F=o.heights.filter(Z=>Z.position===M).findIndex(Z=>Z.toastId===o.toast.id);return F>=0?F:0}),N=e.computed(()=>{const M=o.toast.position||o.position;return o.heights.filter(F=>F.position===M).reduce((F,Z,ue)=>ue>=E.value?F:F+Z.height,0)}),x=e.computed(()=>E.value*o.gap+N.value||0),S=e.computed(()=>o.toast.closeButton??o.closeButton),B=e.computed(()=>o.toast.duration||o.duration||Ro),D=e.ref(0),V=e.ref(0),P=e.ref(null),R=e.computed(()=>o.position.split("-")),Q=e.computed(()=>R.value[0]),X=e.computed(()=>R.value[1]),J=e.computed(()=>typeof o.toast.title!="string"),O=e.computed(()=>typeof o.toast.description!="string"),{isDocumentHidden:ie}=xl(),L=e.computed(()=>m.value&&m.value==="loading");e.onMounted(()=>{s.value=!0,k.value=B.value}),e.watchEffect(async()=>{if(!s.value||!y.value)return;await e.nextTick();const M=y.value,G=M.style.height;M.style.height="auto";const F=M.getBoundingClientRect().height;M.style.height=G,g.value=F,r("update:height",{toastId:o.toast.id,height:F,position:o.toast.position||o.position})});function T(){i.value=!0,f.value=x.value,setTimeout(()=>{r("removeToast",o.toast)},Dr)}function U(){if(L.value||!C.value)return{};T(),o.toast.onDismiss?.(o.toast)}function Y(M){M.button!==2&&(L.value||!C.value||(b.value=new Date,f.value=x.value,M.target.setPointerCapture(M.pointerId),M.target.tagName!=="BUTTON"&&(c.value=!0,P.value={x:M.clientX,y:M.clientY})))}function _(){if(u.value||!C.value)return;P.value=null;const M=Number(y.value?.style.getPropertyValue("--swipe-amount-x").replace("px","")||0),G=Number(y.value?.style.getPropertyValue("--swipe-amount-y").replace("px","")||0),F=new Date().getTime()-(b.value?.getTime()||0),Z=a.value==="x"?M:G,ue=Math.abs(Z)/F;if(Math.abs(Z)>=wl||ue>.11){f.value=x.value,o.toast.onDismiss?.(o.toast),a.value==="x"?l.value=M>0?"right":"left":l.value=G>0?"down":"up",T(),u.value=!0;return}else y.value?.style.setProperty("--swipe-amount-x","0px"),y.value?.style.setProperty("--swipe-amount-y","0px");d.value=!1,c.value=!1,a.value=null}function q(M){if(!P.value||!C.value||(window?.getSelection()?.toString()?.length??!1))return;const F=M.clientY-P.value.y,Z=M.clientX-P.value.x,ue=o.swipeDirections??kl(o.position);!a.value&&(Math.abs(Z)>1||Math.abs(F)>1)&&(a.value=Math.abs(Z)>Math.abs(F)?"x":"y");let me={x:0,y:0};const Ve=Ne=>1/(1.5+Math.abs(Ne)/20);if(a.value==="y"){if(ue.includes("top")||ue.includes("bottom"))if(ue.includes("top")&&F<0||ue.includes("bottom")&&F>0)me.y=F;else{const Ne=F*Ve(F);me.y=Math.abs(Ne)<Math.abs(F)?Ne:F}}else if(a.value==="x"&&(ue.includes("left")||ue.includes("right")))if(ue.includes("left")&&Z<0||ue.includes("right")&&Z>0)me.x=Z;else{const Ne=Z*Ve(Z);me.x=Math.abs(Ne)<Math.abs(Z)?Ne:Z}(Math.abs(me.x)>0||Math.abs(me.y)>0)&&(d.value=!0),y.value?.style.setProperty("--swipe-amount-x",`${me.x}px`),y.value?.style.setProperty("--swipe-amount-y",`${me.y}px`)}e.onMounted(()=>{if(s.value=!0,!y.value)return;const M=y.value.getBoundingClientRect().height;g.value=M;const G=[{toastId:o.toast.id,height:M,position:o.toast.position},...o.heights];r("update:heights",G)}),e.onBeforeUnmount(()=>{y.value&&r("removeToast",o.toast)}),e.watchEffect(M=>{if(o.toast.promise&&m.value==="loading"||o.toast.duration===1/0||o.toast.type==="loading")return;let G;const F=()=>{if(V.value<D.value){const ue=new Date().getTime()-D.value;k.value=k.value-ue}V.value=new Date().getTime()},Z=()=>{k.value!==1/0&&(D.value=new Date().getTime(),G=setTimeout(()=>{o.toast.onAutoClose?.(o.toast),T()},k.value))};o.expanded||o.interacting||ie.value?F():Z(),M(()=>{clearTimeout(G)})}),e.watch(()=>o.toast.delete,M=>{M!==void 0&&M&&(T(),o.toast.onDismiss?.(o.toast))},{deep:!0});function I(){c.value=!1,a.value=null,P.value=null}return(M,G)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"0",ref_key:"toastRef",ref:y,class:e.normalizeClass(e.unref(Ge)(o.class,p.value,M.classes?.toast,M.toast.classes?.toast,M.classes?.[m.value],M.toast?.classes?.[m.value])),"data-sonner-toast":"","data-rich-colors":M.toast.richColors??M.defaultRichColors,"data-styled":!(M.toast.component||M.toast?.unstyled||M.unstyled),"data-mounted":s.value,"data-promise":!!M.toast.promise,"data-swiped":d.value,"data-removed":i.value,"data-visible":h.value,"data-y-position":Q.value,"data-x-position":X.value,"data-index":M.index,"data-front":v.value,"data-swiping":c.value,"data-dismissible":C.value,"data-type":m.value,"data-invert":M.toast.invert||M.invert,"data-swipe-out":u.value,"data-swipe-direction":l.value,"data-expanded":!!(M.expanded||M.expandByDefault&&s.value),"data-testid":M.toast.testId,style:e.normalizeStyle({"--index":M.index,"--toasts-before":M.index,"--z-index":M.toasts.length-M.index,"--offset":`${i.value?f.value:x.value}px`,"--initial-height":M.expandByDefault?"auto":`${g.value}px`,...M.style,...o.toast.style}),onDragend:I,onPointerdown:Y,onPointerup:_,onPointermove:q},[S.value&&!M.toast.component&&m.value!=="loading"?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":M.closeButtonAriaLabel||"Close toast","data-disabled":L.value,"data-close-button":"true","data-close-button-position":M.closeButtonPosition,class:e.normalizeClass(e.unref(Ge)(M.classes?.closeButton,M.toast?.classes?.closeButton)),onClick:U},[M.icons?.close?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.icons?.close),{key:0})):e.renderSlot(M.$slots,"close-icon",{key:1})],10,El)):e.createCommentVNode("v-if",!0),M.toast.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.toast.component),e.mergeProps({key:1},M.toast.componentProps,{onCloseToast:U,isPaused:M.$props.expanded||M.$props.interacting||e.unref(ie)}),null,16,["isPaused"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[m.value!=="default"||M.toast.icon||M.toast.promise?(e.openBlock(),e.createElementBlock("div",{key:0,"data-icon":"",class:e.normalizeClass(e.unref(Ge)(M.classes?.icon,M.toast?.classes?.icon))},[M.toast.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.toast.icon),{key:0})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[m.value==="loading"?e.renderSlot(M.$slots,"loading-icon",{key:0}):m.value==="success"?e.renderSlot(M.$slots,"success-icon",{key:1}):m.value==="error"?e.renderSlot(M.$slots,"error-icon",{key:2}):m.value==="warning"?e.renderSlot(M.$slots,"warning-icon",{key:3}):m.value==="info"?e.renderSlot(M.$slots,"info-icon",{key:4}):e.createCommentVNode("v-if",!0)],64))],2)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{"data-content":"",class:e.normalizeClass(e.unref(Ge)(M.classes?.content,M.toast?.classes?.content))},[e.createElementVNode("div",{"data-title":"",class:e.normalizeClass(e.unref(Ge)(M.classes?.title,M.toast.classes?.title))},[J.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.toast.title),e.normalizeProps(e.mergeProps({key:0},M.toast.componentProps)),null,16)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(M.toast.title),1)],64))],2),M.toast.description?(e.openBlock(),e.createElementBlock("div",{key:0,"data-description":"",class:e.normalizeClass(e.unref(Ge)(M.descriptionClass,w.value,M.classes?.description,M.toast.classes?.description))},[O.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(M.toast.description),e.normalizeProps(e.mergeProps({key:0},M.toast.componentProps)),null,16)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(M.toast.description),1)],64))],2)):e.createCommentVNode("v-if",!0)],2),M.toast.cancel?(e.openBlock(),e.createElementBlock("button",{key:1,style:e.normalizeStyle(M.toast.cancelButtonStyle||M.cancelButtonStyle),class:e.normalizeClass(e.unref(Ge)(M.classes?.cancelButton,M.toast.classes?.cancelButton)),"data-button":"","data-cancel":"",onClick:G[0]||(G[0]=F=>{e.unref(Gt)(M.toast.cancel)&&C.value&&(M.toast.cancel.onClick?.(F),T())})},e.toDisplayString(e.unref(Gt)(M.toast.cancel)?M.toast.cancel?.label:M.toast.cancel),7)):e.createCommentVNode("v-if",!0),M.toast.action?(e.openBlock(),e.createElementBlock("button",{key:2,style:e.normalizeStyle(M.toast.actionButtonStyle||M.actionButtonStyle),class:e.normalizeClass(e.unref(Ge)(M.classes?.actionButton,M.toast.classes?.actionButton)),"data-button":"","data-action":"",onClick:G[1]||(G[1]=F=>{e.unref(Gt)(M.toast.action)&&(M.toast.action.onClick?.(F),!F.defaultPrevented&&T())})},e.toDisplayString(e.unref(Gt)(M.toast.action)?M.toast.action?.label:M.toast.action),7)):e.createCommentVNode("v-if",!0)],64))],46,Bl))}}),Nl=Sl,Ft=(t,n)=>{const o=t.__vccOpts||t;for(const[r,a]of n)o[r]=a;return o};const Ml={},Dl={xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stoke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"};function Vl(t,n){return e.openBlock(),e.createElementBlock("svg",Dl,n[0]||(n[0]=[e.createElementVNode("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),e.createElementVNode("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)]))}var _l=Ft(Ml,[["render",Vl]]);const zl=["data-visible"],Il={class:"sonner-spinner"};var Al=e.defineComponent({__name:"Loader",props:{visible:{type:Boolean}},setup(t){const n=Array(12).fill(0);return(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:"sonner-loading-wrapper","data-visible":o.visible},[e.createElementVNode("div",Il,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),a=>(e.openBlock(),e.createElementBlock("div",{key:`spinner-bar-${a}`,class:"sonner-loading-bar"}))),128))])],8,zl))}}),Tl=Al;const Pl={},$l={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function Ol(t,n){return e.openBlock(),e.createElementBlock("svg",$l,n[0]||(n[0]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z","clip-rule":"evenodd"},null,-1)]))}var Rl=Ft(Pl,[["render",Ol]]);const ql={},Fl={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function Ll(t,n){return e.openBlock(),e.createElementBlock("svg",Fl,n[0]||(n[0]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z","clip-rule":"evenodd"},null,-1)]))}var jl=Ft(ql,[["render",Ll]]);const Hl={},Wl={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"};function Ul(t,n){return e.openBlock(),e.createElementBlock("svg",Wl,n[0]||(n[0]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z","clip-rule":"evenodd"},null,-1)]))}var Gl=Ft(Hl,[["render",Ul]]);const Kl={},Yl={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function Ql(t,n){return e.openBlock(),e.createElementBlock("svg",Yl,n[0]||(n[0]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z","clip-rule":"evenodd"},null,-1)]))}var Xl=Ft(Kl,[["render",Ql]]);const Zl=["aria-label"],Jl=["data-sonner-theme","dir","data-theme","data-rich-colors","data-y-position","data-x-position"],es=typeof window<"u"&&typeof document<"u";function ts(){if(typeof window>"u"||typeof document>"u")return"ltr";const t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}var ns=e.defineComponent({name:"Toaster",inheritAttrs:!1,__name:"Toaster",props:{id:{},invert:{type:Boolean,default:!1},theme:{default:"light"},position:{default:"bottom-right"},closeButtonPosition:{default:"top-left"},hotkey:{default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:bl},visibleToasts:{default:hl},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:""},style:{},offset:{default:Nr},mobileOffset:{default:Mr},dir:{default:"auto"},swipeDirections:{},icons:{},containerAriaLabel:{default:"Notifications"}},setup(t){const n=t,o=e.useAttrs(),r=e.ref([]),a=e.computed(()=>n.id?r.value.filter(B=>B.toasterId===n.id):r.value.filter(B=>!B.toasterId));function l(B,D){return a.value.filter(V=>!V.position&&D===0||V.position===B)}const s=e.computed(()=>{const B=a.value.filter(D=>D.position).map(D=>D.position);return B.length>0?Array.from(new Set([n.position].concat(B))):[n.position]}),i=e.computed(()=>{const B={};return s.value.forEach(D=>{B[D]=r.value.filter(V=>V.position===D)}),B}),c=e.ref([]),u=e.ref({}),d=e.ref(!1);e.watchEffect(()=>{s.value.forEach(B=>{B in u.value||(u.value[B]=!1)})});const f=e.ref(n.theme!=="system"?n.theme:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),g=e.ref(null),k=e.ref(null),b=e.ref(!1),y=n.hotkey.join("+").replace(/Key/g,"").replace(/Digit/g,"");function v(B){r.value.find(D=>D.id===B.id)?.delete||Be.dismiss(B.id),r.value=r.value.filter(({id:D})=>D!==B.id),setTimeout(()=>{r.value.find(D=>D.id===B.id)||(c.value=c.value.filter(D=>D.toastId!==B.id))},Dr+50)}function h(B){b.value&&!B.currentTarget?.contains?.(B.relatedTarget)&&(b.value=!1,k.value&&(k.value.focus({preventScroll:!0}),k.value=null))}function m(B){B.target instanceof HTMLElement&&B.target.dataset.dismissible==="false"||b.value||(b.value=!0,k.value=B.relatedTarget)}function C(B){B.target&&B.target instanceof HTMLElement&&B.target.dataset.dismissible==="false"||(d.value=!0)}e.watchEffect(B=>{const D=Be.subscribe(V=>{if(V.dismiss){requestAnimationFrame(()=>{r.value=r.value.map(P=>P.id===V.id?{...P,delete:!0}:P)});return}e.nextTick(()=>{const P=r.value.findIndex(R=>R.id===V.id);P!==-1?r.value=[...r.value.slice(0,P),{...r.value[P],...V},...r.value.slice(P+1)]:r.value=[V,...r.value]})});B(D)}),e.watchEffect(B=>{if(typeof window>"u")return;if(n.theme!=="system"){f.value=n.theme;return}const D=window.matchMedia("(prefers-color-scheme: dark)"),V=R=>{f.value=R?"dark":"light"};V(D.matches);const P=R=>{V(R.matches)};try{D.addEventListener("change",P)}catch{D.addListener(P)}B(()=>{try{D.removeEventListener("change",P)}catch{D.removeListener(P)}})}),e.watchEffect(()=>{g.value&&k.value&&(k.value.focus({preventScroll:!0}),k.value=null,b.value=!1)}),e.watchEffect(()=>{r.value.length<=1&&Object.keys(u.value).forEach(B=>{u.value[B]=!1})}),e.watchEffect(B=>{function D(V){const P=n.hotkey.every(X=>V[X]||V.code===X),R=Array.isArray(g.value)?g.value[0]:g.value;P&&(s.value.forEach(X=>{u.value[X]=!0}),R?.focus());const Q=document.activeElement===g.value||R?.contains(document.activeElement);V.code==="Escape"&&Q&&s.value.forEach(X=>{u.value[X]=!1})}es&&(document.addEventListener("keydown",D),B(()=>{document.removeEventListener("keydown",D)}))});function p(B){const D=B.currentTarget,V=D.getAttribute("data-y-position")+"-"+D.getAttribute("data-x-position");u.value[V]=!0}function w(B){if(!d.value){const D=B.currentTarget,V=D.getAttribute("data-y-position")+"-"+D.getAttribute("data-x-position");u.value[V]=!1}}function E(){Object.keys(u.value).forEach(B=>{u.value[B]=!1})}function N(){d.value=!1}function x(B){c.value=B}function S(B){const D=c.value.findIndex(V=>V.toastId===B.toastId);if(D!==-1)c.value[D]=B;else{const V=c.value.findIndex(P=>P.position===B.position);V!==-1?c.value.splice(V,0,B):c.value.unshift(B)}}return(B,D)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createCommentVNode(" Remove item from normal navigation flow, only available via hotkey "),e.createElementVNode("section",{"aria-label":`${B.containerAriaLabel} ${e.unref(y)}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(V,P)=>(e.openBlock(),e.createElementBlock("ol",e.mergeProps({key:V,ref_for:!0,ref_key:"listRef",ref:g,"data-sonner-toaster":"","data-sonner-theme":f.value,class:n.class,dir:B.dir==="auto"?ts():B.dir,tabIndex:-1,"data-theme":B.theme,"data-rich-colors":B.richColors,"data-y-position":V.split("-")[0],"data-x-position":V.split("-")[1],style:{"--front-toast-height":`${c.value[0]?.height||0}px`,"--width":`${e.unref(yl)}px`,"--gap":`${B.gap}px`,...B.style,...e.unref(o).style,...e.unref(Cl)(B.offset,B.mobileOffset)}},{ref_for:!0},B.$attrs,{onBlur:h,onFocus:m,onMouseenter:p,onMousemove:p,onMouseleave:w,onDragend:E,onPointerdown:C,onPointerup:N}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l(V,P),(R,Q)=>(e.openBlock(),e.createBlock(Nl,{key:R.id,heights:c.value,icons:B.icons,index:Q,toast:R,defaultRichColors:B.richColors,duration:B.toastOptions?.duration??B.duration,class:e.normalizeClass(B.toastOptions?.class??""),descriptionClass:B.toastOptions?.descriptionClass,invert:B.invert,visibleToasts:B.visibleToasts,closeButton:B.toastOptions?.closeButton??B.closeButton,interacting:d.value,position:V,closeButtonPosition:B.toastOptions?.closeButtonPosition??B.closeButtonPosition,style:e.normalizeStyle(B.toastOptions?.style),unstyled:B.toastOptions?.unstyled,classes:B.toastOptions?.classes,cancelButtonStyle:B.toastOptions?.cancelButtonStyle,actionButtonStyle:B.toastOptions?.actionButtonStyle,"close-button-aria-label":B.toastOptions?.closeButtonAriaLabel,toasts:i.value[V],expandByDefault:B.expand,gap:B.gap,expanded:u.value[V]||!1,swipeDirections:n.swipeDirections,"onUpdate:heights":x,"onUpdate:height":S,onRemoveToast:v},{"close-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"close-icon",{},()=>[e.createVNode(_l)])]),"loading-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"loading-icon",{},()=>[e.createVNode(Tl,{visible:R.type==="loading"},null,8,["visible"])])]),"success-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"success-icon",{},()=>[e.createVNode(Rl)])]),"error-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"error-icon",{},()=>[e.createVNode(Xl)])]),"warning-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"warning-icon",{},()=>[e.createVNode(Gl)])]),"info-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"info-icon",{},()=>[e.createVNode(jl)])]),_:2},1032,["heights","icons","index","toast","defaultRichColors","duration","class","descriptionClass","invert","visibleToasts","closeButton","interacting","position","closeButtonPosition","style","unstyled","classes","cancelButtonStyle","actionButtonStyle","close-button-aria-label","toasts","expandByDefault","gap","expanded","swipeDirections"]))),128))],16,Jl))),128))],8,Zl)],2112))}}),os=ns,Kt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function rs(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var En,qo;function as(){if(qo)return En;qo=1;var t="Expected a function",n=NaN,o="[object Symbol]",r=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,s=/^0o[0-7]+$/i,i=parseInt,c=typeof Kt=="object"&&Kt&&Kt.Object===Object&&Kt,u=typeof self=="object"&&self&&self.Object===Object&&self,d=c||u||Function("return this")(),f=Object.prototype,g=f.toString,k=Math.max,b=Math.min,y=function(){return d.Date.now()};function v(w,E,N){var x,S,B,D,V,P,R=0,Q=!1,X=!1,J=!0;if(typeof w!="function")throw new TypeError(t);E=p(E)||0,h(N)&&(Q=!!N.leading,X="maxWait"in N,B=X?k(p(N.maxWait)||0,E):B,J="trailing"in N?!!N.trailing:J);function O(M){var G=x,F=S;return x=S=void 0,R=M,D=w.apply(F,G),D}function ie(M){return R=M,V=setTimeout(U,E),Q?O(M):D}function L(M){var G=M-P,F=M-R,Z=E-G;return X?b(Z,B-F):Z}function T(M){var G=M-P,F=M-R;return P===void 0||G>=E||G<0||X&&F>=B}function U(){var M=y();if(T(M))return Y(M);V=setTimeout(U,L(M))}function Y(M){return V=void 0,J&&x?O(M):(x=S=void 0,D)}function _(){V!==void 0&&clearTimeout(V),R=0,x=P=S=V=void 0}function q(){return V===void 0?D:Y(y())}function I(){var M=y(),G=T(M);if(x=arguments,S=this,P=M,G){if(V===void 0)return ie(P);if(X)return V=setTimeout(U,E),O(P)}return V===void 0&&(V=setTimeout(U,E)),D}return I.cancel=_,I.flush=q,I}function h(w){var E=typeof w;return!!w&&(E=="object"||E=="function")}function m(w){return!!w&&typeof w=="object"}function C(w){return typeof w=="symbol"||m(w)&&g.call(w)==o}function p(w){if(typeof w=="number")return w;if(C(w))return n;if(h(w)){var E=typeof w.valueOf=="function"?w.valueOf():w;w=h(E)?E+"":E}if(typeof w!="string")return w===0?w:+w;w=w.replace(r,"");var N=l.test(w);return N||s.test(w)?i(w.slice(2),N?2:8):a.test(w)?n:+w}return En=v,En}var ls=as();const ss=rs(ls),Ce=Ee.forScope("JsBaoClientService");function Fo(){if(typeof window>"u")return!1;const t=window.location.hostname;return t==="localhost"||t==="127.0.0.1"||t==="[::1]"||t.endsWith(".localhost")||t.endsWith(".local")}class is{client=null;clientInitializationPromise=null;config=null;initialize(n){Ce.debug("Initializing with config:",{appId:n.appId?`${n.appId.substring(0,10)}...`:"MISSING",apiUrl:n.apiUrl,wsUrl:n.wsUrl,oauthRedirectUri:n.oauthRedirectUri});const o=[];(!n.appId||n.appId==="MISSING_APP_ID")&&o.push("appId"),(!n.apiUrl||n.apiUrl==="MISSING_API_URL")&&o.push("apiUrl"),(!n.wsUrl||n.wsUrl==="MISSING_WS_URL")&&o.push("wsUrl"),(!n.oauthRedirectUri||n.oauthRedirectUri==="MISSING_OAUTH_REDIRECT_URI")&&o.push("oauthRedirectUri"),o.length>0&&(Ce.error("❌ Configuration validation failed!"),Ce.error("Missing or invalid fields:",o),Ce.error("This will cause OAuth and API calls to fail."),Ce.error("Please check your .env file configuration.")),this.config=n}getConfig(){return this.config}async getClientAsync(){if(!this.config)throw new Error("JsBaoClientService not initialized. Call initialize() first.");return Ce.debug("Getting client async"),this.clientInitializationPromise?this.clientInitializationPromise:(this.clientInitializationPromise=(async()=>{Ce.debug("=== INITIALIZING CLIENT ==="),Ce.debug("Configuration:",this.config);const n=await Ra.initializeClient(this.config);if(n.on("status",o=>{Ce.debug("Client status changed:",o)}),n.on("error",o=>{Ce.error("Client error:",o)}),this.client=n,Fo()&&(window.__primitiveAppClient=n,this.config?.models&&Array.isArray(this.config.models))){const o={};for(const r of this.config.models){const l=r.schema?.name;if(l){const s=l.charAt(0).toUpperCase()+l.slice(1);o[s]=r}}window.__primitiveAppModels=o,Ce.debug("Registered models on window:",Object.keys(o))}return Ce.debug("=== CLIENT INITIALIZATION COMPLETE ==="),n})(),this.clientInitializationPromise)}setExternalClient(n){Ce.debug("Setting external client from host app"),this.client=n,this.clientInitializationPromise=Promise.resolve(n)}async clearClient(){Ce.debug("Clearing client singleton..."),this.client&&(this.client.disconnect().catch(n=>{Ce.warn("Background disconnect failed (this is usually harmless):",n)}),this.client=null,this.clientInitializationPromise=null,Fo()&&(window.__primitiveAppClient=void 0,window.__primitiveAppModels=void 0))}}const re=new is;function us(t){re.initialize(t)}const be=Ee.forScope("useJsBaoDataLoader");function Sn(t,n){return t===void 0?n:!!e.unref(t)}function cs(t){const n=new WeakSet,o=r=>{if(r&&typeof r=="object"){if(n.has(r))return"[Circular]";if(n.add(r),Array.isArray(r))return r.map(o);const a=Object.keys(r).sort(),l={};for(const s of a)l[s]=o(r[s]);return l}return r};try{return JSON.stringify(o(t))}catch{return"__non_serializable__"}}function ds(t){const{subscribeTo:n,queryParams:o,documentReady:r,loadData:a,pauseUpdates:l,reloadOnDocumentEvents:s=!0,debounceMs:i=50,onError:c}=t,u=e.ref(null),d=e.ref(!1),f=e.ref(!1),g=e.computed(()=>Sn(r,!1)),k=e.computed(()=>Sn(l,!1)),b=e.computed(()=>e.unref(o)??null),y=e.computed(()=>{const p=b.value;return p===null?null:cs(p)}),v=async p=>{if(!g.value){be.debug("loadData skipped: not ready",{reason:p,queryParams:e.toRaw(b.value)});return}if(k.value){be.debug("loadData skipped: paused",{reason:p,queryParams:e.toRaw(b.value)});return}be.debug("loadData start",{reason:p,queryParams:e.toRaw(b.value)});try{const w=await a(b.value);u.value=w,d.value||(d.value=!0,f.value=!0),be.debug("loadData success",{reason:p,queryParams:e.toRaw(b.value),data:w})}catch(w){if(c)try{c(w)}catch(E){be.warn("onError handler threw",{handlerError:E})}be.error("loadData error",{reason:p,queryParams:e.toRaw(b.value),error:w})}},h=ss(p=>{be.debug("Reload scheduled",{reason:p}),v(p)},i),m=()=>{h("Manual")},C=[];return e.onMounted(async()=>{for(const p of n)try{const w=p.subscribe(()=>{f.value&&g.value&&(k.value||h("Subscribed models changed"))});C.push(w)}catch(w){be.warn("Failed to subscribe to model",{error:w})}if(Sn(s,!0))try{const p=await re.getClientAsync(),w=()=>{f.value&&g.value&&(k.value||h("Document loaded"))},E=()=>{f.value&&g.value&&(k.value||h("Document closed"))};p.on("documentLoaded",w),p.on("documentClosed",E),C.push(()=>{p.off("documentLoaded",w),p.off("documentClosed",E)}),be.debug("Subscribed to js-bao document events")}catch(p){be.warn("Failed to subscribe to js-bao client events",{error:p})}}),e.onUnmounted(()=>{for(const p of C)try{p()}catch{}}),e.watch(g,p=>{if(!p){be.debug("documentReady became false; resetting state"),d.value=!1,f.value=!1;return}k.value?be.debug("documentReady became true but updates are paused; not scheduling load"):(be.debug("documentReady became true; scheduling initial load"),h("Document became ready"))},{immediate:!0}),e.watch(y,p=>{if(p===null){be.debug("queryParams disabled (null)");return}if(!g.value){be.debug("queryParams changed but document not ready; ignoring",{signature:p});return}if(k.value){be.debug("queryParams changed but updates are paused; ignoring",{signature:p});return}be.debug("queryParams changed; scheduling reload",{signature:p}),h("Queries changed")}),{data:u,initialDataLoaded:d,reload:m}}function Vr(t){var n,o,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var a=t.length;for(n=0;n<a;n++)t[n]&&(o=Vr(t[n]))&&(r&&(r+=" "),r+=o)}else for(o in t)t[o]&&(r&&(r+=" "),r+=o);return r}function _r(){for(var t,n,o=0,r="",a=arguments.length;o<a;o++)(t=arguments[o])&&(n=Vr(t))&&(r&&(r+=" "),r+=n);return r}const Lo=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,jo=_r,zr=(t,n)=>o=>{var r;if(n?.variants==null)return jo(t,o?.class,o?.className);const{variants:a,defaultVariants:l}=n,s=Object.keys(a).map(u=>{const d=o?.[u],f=l?.[u];if(d===null)return null;const g=Lo(d)||Lo(f);return a[u][g]}),i=o&&Object.entries(o).reduce((u,d)=>{let[f,g]=d;return g===void 0||(u[f]=g),u},{}),c=n==null||(r=n.compoundVariants)===null||r===void 0?void 0:r.reduce((u,d)=>{let{class:f,className:g,...k}=d;return Object.entries(k).every(b=>{let[y,v]=b;return Array.isArray(v)?v.includes({...l,...i}[y]):{...l,...i}[y]===v})?[...u,f,g]:u},[]);return jo(t,s,c,o?.class,o?.className)};function Ho(t){return typeof t=="string"?`'${t}'`:new fs().serialize(t)}const fs=(function(){class t{#e=new Map;compare(o,r){const a=typeof o,l=typeof r;return a==="string"&&l==="string"?o.localeCompare(r):a==="number"&&l==="number"?o-r:String.prototype.localeCompare.call(this.serialize(o,!0),this.serialize(r,!0))}serialize(o,r){if(o===null)return"null";switch(typeof o){case"string":return r?o:`'${o}'`;case"bigint":return`${o}n`;case"object":return this.$object(o);case"function":return this.$function(o)}return String(o)}serializeObject(o){const r=Object.prototype.toString.call(o);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),o);const a=o.constructor,l=a===Object||a===void 0?"":a.name;if(l!==""&&globalThis[l]===a)return this.serializeBuiltInType(l,o);if(typeof o.toJSON=="function"){const s=o.toJSON();return l+(s!==null&&typeof s=="object"?this.$object(s):`(${this.serialize(s)})`)}return this.serializeObjectEntries(l,Object.entries(o))}serializeBuiltInType(o,r){const a=this["$"+o];if(a)return a.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(o,r.entries());throw new Error(`Cannot serialize ${o}`)}serializeObjectEntries(o,r){const a=Array.from(r).sort((s,i)=>this.compare(s[0],i[0]));let l=`${o}{`;for(let s=0;s<a.length;s++){const[i,c]=a[s];l+=`${this.serialize(i,!0)}:${this.serialize(c)}`,s<a.length-1&&(l+=",")}return l+"}"}$object(o){let r=this.#e.get(o);return r===void 0&&(this.#e.set(o,`#${this.#e.size}`),r=this.serializeObject(o),this.#e.set(o,r)),r}$function(o){const r=Function.prototype.toString.call(o);return r.slice(-15)==="[native code] }"?`${o.name||""}()[native]`:`${o.name}(${o.length})${r.replace(/\s*\n\s*/g,"")}`}$Array(o){let r="[";for(let a=0;a<o.length;a++)r+=this.serialize(o[a]),a<o.length-1&&(r+=",");return r+"]"}$Date(o){try{return`Date(${o.toISOString()})`}catch{return"Date(null)"}}$ArrayBuffer(o){return`ArrayBuffer[${new Uint8Array(o).join(",")}]`}$Set(o){return`Set${this.$Array(Array.from(o).sort((r,a)=>this.compare(r,a)))}`}$Map(o){return this.serializeObjectEntries("Map",o.entries())}}for(const n of["Error","RegExp","URL"])t.prototype["$"+n]=function(o){return`${n}(${o})`};for(const n of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])t.prototype["$"+n]=function(o){return`${n}[${o.join(",")}]`};for(const n of["BigInt64Array","BigUint64Array"])t.prototype["$"+n]=function(o){return`${n}[${o.join("n,")}${o.length>0?"n":""}]`};return t})();function ms(t,n){return t===n||Ho(t)===Ho(n)}function Wo(t,n=Number.NEGATIVE_INFINITY,o=Number.POSITIVE_INFINITY){return Math.min(o,Math.max(n,t))}function Se(t,n){const o=typeof t=="string"&&!n?`${t}Context`:n,r=Symbol(o);return[s=>{const i=e.inject(r,s);if(i||i===null)return i;throw new Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(t)?`one of the following components: ${t.join(", ")}`:`\`${t}\``}`)},s=>(e.provide(r,s),s)]}function xe(){let t=document.activeElement;if(t==null)return null;for(;t!=null&&t.shadowRoot!=null&&t.shadowRoot.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function mo(t,n,o){const r=o.originalEvent.target,a=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:o});n&&r.addEventListener(t,n,{once:!0}),r.dispatchEvent(a)}function Wn(t){return t==null}function po(t){return t?t.flatMap(n=>n.type===e.Fragment?po(n.children):[n]):[]}const ps=["INPUT","TEXTAREA"];function vs(t,n,o,r={}){if(!n||r.enableIgnoredElement&&ps.includes(n.nodeName))return null;const{arrowKeyOptions:a="both",attributeName:l="[data-reka-collection-item]",itemsArray:s=[],loop:i=!0,dir:c="ltr",preventScroll:u=!0,focus:d=!1}=r,[f,g,k,b,y,v]=[t.key==="ArrowRight",t.key==="ArrowLeft",t.key==="ArrowUp",t.key==="ArrowDown",t.key==="Home",t.key==="End"],h=k||b,m=f||g;if(!y&&!v&&(!h&&!m||a==="vertical"&&m||a==="horizontal"&&h))return null;const C=o?Array.from(o.querySelectorAll(l)):s;if(!C.length)return null;u&&t.preventDefault();let p=null;return m||h?p=Ir(C,n,{goForward:h?b:c==="ltr"?f:g,loop:i}):y?p=C.at(0)||null:v&&(p=C.at(-1)||null),d&&p?.focus(),p}function Ir(t,n,o,r=t.length){if(--r===0)return null;const a=t.indexOf(n),l=o.goForward?a+1:a-1;if(!o.loop&&(l<0||l>=t.length))return null;const s=(l+t.length)%t.length,i=t[s];return i?i.hasAttribute("disabled")&&i.getAttribute("disabled")!=="false"?Ir(t,i,o,r):i:null}const[cn]=Se("ConfigProvider");function gs(t,n){return e.getCurrentScope()?(e.onScopeDispose(t,n),!0):!1}const St=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function hs(t){return e.getCurrentInstance()}function ys(t,n=1e4){return e.customRef((o,r)=>{let a=e.toValue(t),l;const s=()=>setTimeout(()=>{a=e.toValue(t),r()},e.toValue(n));return gs(()=>{clearTimeout(l)}),{get(){return o(),a},set(i){a=i,r(),clearTimeout(l),l=s()}}})}function bs(t,n){hs()&&e.onBeforeUnmount(t,n)}function Nn(t){if(t===null||typeof t!="object")return!1;const n=Object.getPrototypeOf(t);return n!==null&&n!==Object.prototype&&Object.getPrototypeOf(n)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function Un(t,n,o=".",r){if(!Nn(n))return Un(t,{},o,r);const a=Object.assign({},n);for(const l in t){if(l==="__proto__"||l==="constructor")continue;const s=t[l];s!=null&&(r&&r(a,l,s,o)||(Array.isArray(s)&&Array.isArray(a[l])?a[l]=[...s,...a[l]]:Nn(s)&&Nn(a[l])?a[l]=Un(s,a[l],(o?`${o}.`:"")+l.toString(),r):a[l]=s))}return a}function ws(t){return(...n)=>n.reduce((o,r)=>Un(o,r,"",t),{})}const xs=ws(),ks=ee.createSharedComposable(()=>{const t=e.ref(new Map),n=e.ref(),o=e.computed(()=>{for(const l of t.value.values())if(l)return!0;return!1}),r=cn({scrollBody:e.ref(!0)}),a=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.documentElement.style.removeProperty("--scrollbar-width"),document.body.style.overflow=n.value??"",n.value=void 0};return e.watch(o,(l,s)=>{if(!St)return;if(!l){s&&a();return}n.value===void 0&&(n.value=document.body.style.overflow);const i=window.innerWidth-document.documentElement.clientWidth,c={padding:i,margin:0},u=r.scrollBody?.value?typeof r.scrollBody.value=="object"?xs({padding:r.scrollBody.value.padding===!0?i:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?i:r.scrollBody.value.margin},c):c:{padding:0,margin:0};i>0&&(document.body.style.paddingRight=typeof u.padding=="number"?`${u.padding}px`:String(u.padding),document.body.style.marginRight=typeof u.margin=="number"?`${u.margin}px`:String(u.margin),document.documentElement.style.setProperty("--scrollbar-width",`${i}px`),document.body.style.overflow="hidden"),e.nextTick(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})},{immediate:!0,flush:"sync"}),t});function vo(t){const n=Math.random().toString(36).substring(2,7),o=ks();o.value.set(n,t??!1);const r=e.computed({get:()=>o.value.get(n)??!1,set:a=>o.value.set(n,a)});return bs(()=>{o.value.delete(n)}),r}function dn(t){const n=cn({dir:e.ref("ltr")});return e.computed(()=>t?.value||n.dir?.value||"ltr")}function Lt(t){const n=e.getCurrentInstance(),o=n?.type.emits,r={};return o?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),o?.forEach(a=>{r[e.toHandlerKey(e.camelize(a))]=(...l)=>t(a,...l)}),r}let Mn=0;function Ar(){e.watchEffect(t=>{if(!St)return;const n=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",n[0]??Uo()),document.body.insertAdjacentElement("beforeend",n[1]??Uo()),Mn++,t(()=>{Mn===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(o=>o.remove()),Mn--})})}function Uo(){const t=document.createElement("span");return t.setAttribute("data-reka-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}function Tr(t){return e.computed(()=>e.toValue(t)?!!ee.unrefElement(t)?.closest("form"):!0)}function le(){const t=e.getCurrentInstance(),n=e.ref(),o=e.computed(()=>["#text","#comment"].includes(n.value?.$el.nodeName)?n.value?.$el.nextElementSibling:ee.unrefElement(n)),r=Object.assign({},t.exposed),a={};for(const s in t.props)Object.defineProperty(a,s,{enumerable:!0,configurable:!0,get:()=>t.props[s]});if(Object.keys(r).length>0)for(const s in r)Object.defineProperty(a,s,{enumerable:!0,configurable:!0,get:()=>r[s]});Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>t.vnode.el}),t.exposed=a;function l(s){if(n.value=s,!!s&&(Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>s instanceof Element?s:s.$el}),!(s instanceof Element)&&!Object.hasOwn(s,"$el"))){const i=s.$.exposed,c=Object.assign({},a);for(const u in i)Object.defineProperty(c,u,{enumerable:!0,configurable:!0,get:()=>i[u]});t.exposed=c}}return{forwardRef:l,currentRef:n,currentElement:o}}function $e(t){const n=e.getCurrentInstance(),o=Object.keys(n?.type.props??{}).reduce((a,l)=>{const s=(n?.type.props[l]).default;return s!==void 0&&(a[l]=s),a},{}),r=e.toRef(t);return e.computed(()=>{const a={},l=n?.vnode.props??{};return Object.keys(l).forEach(s=>{a[e.camelize(s)]=l[s]}),Object.keys({...o,...a}).reduce((s,i)=>(r.value[i]!==void 0&&(s[i]=r.value[i]),s),{})})}function ze(t,n){const o=$e(t),r=n?Lt(n):{};return e.computed(()=>({...o.value,...r}))}var Cs=function(t){if(typeof document>"u")return null;var n=Array.isArray(t)?t[0]:t;return n.ownerDocument.body},dt=new WeakMap,Yt=new WeakMap,Qt={},Dn=0,Pr=function(t){return t&&(t.host||Pr(t.parentNode))},Bs=function(t,n){return n.map(function(o){if(t.contains(o))return o;var r=Pr(o);return r&&t.contains(r)?r:(console.error("aria-hidden",o,"in not contained inside",t,". Doing nothing"),null)}).filter(function(o){return!!o})},Es=function(t,n,o,r){var a=Bs(n,Array.isArray(t)?t:[t]);Qt[o]||(Qt[o]=new WeakMap);var l=Qt[o],s=[],i=new Set,c=new Set(a),u=function(f){!f||i.has(f)||(i.add(f),u(f.parentNode))};a.forEach(u);var d=function(f){!f||c.has(f)||Array.prototype.forEach.call(f.children,function(g){if(i.has(g))d(g);else try{var k=g.getAttribute(r),b=k!==null&&k!=="false",y=(dt.get(g)||0)+1,v=(l.get(g)||0)+1;dt.set(g,y),l.set(g,v),s.push(g),y===1&&b&&Yt.set(g,!0),v===1&&g.setAttribute(o,"true"),b||g.setAttribute(r,"true")}catch(h){console.error("aria-hidden: cannot operate on ",g,h)}})};return d(n),i.clear(),Dn++,function(){s.forEach(function(f){var g=dt.get(f)-1,k=l.get(f)-1;dt.set(f,g),l.set(f,k),g||(Yt.has(f)||f.removeAttribute(r),Yt.delete(f)),k||f.removeAttribute(o)}),Dn--,Dn||(dt=new WeakMap,dt=new WeakMap,Yt=new WeakMap,Qt={})}},Ss=function(t,n,o){o===void 0&&(o="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),a=Cs(t);return a?(r.push.apply(r,Array.from(a.querySelectorAll("[aria-live], script"))),Es(r,a,o,"aria-hidden")):function(){return null}};function go(t){let n;e.watch(()=>ee.unrefElement(t),o=>{o?n=Ss(o):n&&n()}),e.onUnmounted(()=>{n&&n()})}let Ns=0;function Bt(t,n="reka"){if("useId"in Po)return`${n}-${Po.useId?.()}`;const o=cn({useId:void 0});return o.useId?`${n}-${o.useId()}`:`${n}-${++Ns}`}function Ms(t){const n=e.ref(),o=e.computed(()=>n.value?.width??0),r=e.computed(()=>n.value?.height??0);return e.onMounted(()=>{const a=ee.unrefElement(t);if(a){n.value={width:a.offsetWidth,height:a.offsetHeight};const l=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const i=s[0];let c,u;if("borderBoxSize"in i){const d=i.borderBoxSize,f=Array.isArray(d)?d[0]:d;c=f.inlineSize,u=f.blockSize}else c=a.offsetWidth,u=a.offsetHeight;n.value={width:c,height:u}});return l.observe(a,{box:"border-box"}),()=>l.unobserve(a)}else n.value=void 0}),{width:o,height:r}}function Ds(t,n){const o=e.ref(t);function r(l){return n[o.value][l]??o.value}return{state:o,dispatch:l=>{o.value=r(l)}}}function ho(t){const n=ys("",1e3);return{search:n,handleTypeaheadSearch:(a,l)=>{n.value=n.value+a;{const s=xe(),i=l.map(g=>({...g,textValue:g.value?.textValue??g.ref.textContent?.trim()??""})),c=i.find(g=>g.ref===s),u=i.map(g=>g.textValue),d=_s(u,n.value,c?.textValue),f=i.find(g=>g.textValue===d);return f&&f.ref.focus(),f?.ref}},resetTypeahead:()=>{n.value=""}}}function Vs(t,n){return t.map((o,r)=>t[(n+r)%t.length])}function _s(t,n,o){const a=n.length>1&&Array.from(n).every(u=>u===n[0])?n[0]:n,l=o?t.indexOf(o):-1;let s=Vs(t,Math.max(l,0));a.length===1&&(s=s.filter(u=>u!==o));const c=s.find(u=>u.toLowerCase().startsWith(a.toLowerCase()));return c!==o?c:void 0}function zs(t,n){const o=e.ref({}),r=e.ref("none"),a=e.ref(t),l=t.value?"mounted":"unmounted";let s;const i=n.value?.ownerDocument.defaultView??ee.defaultWindow,{state:c,dispatch:u}=Ds(l,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=v=>{if(St){const h=new CustomEvent(v,{bubbles:!1,cancelable:!1});n.value?.dispatchEvent(h)}};e.watch(t,async(v,h)=>{const m=h!==v;if(await e.nextTick(),m){const C=r.value,p=Xt(n.value);v?(u("MOUNT"),d("enter"),p==="none"&&d("after-enter")):p==="none"||p==="undefined"||o.value?.display==="none"?(u("UNMOUNT"),d("leave"),d("after-leave")):h&&C!==p?(u("ANIMATION_OUT"),d("leave")):(u("UNMOUNT"),d("after-leave"))}},{immediate:!0});const f=v=>{const h=Xt(n.value),m=h.includes(CSS.escape(v.animationName)),C=c.value==="mounted"?"enter":"leave";if(v.target===n.value&&m&&(d(`after-${C}`),u("ANIMATION_END"),!a.value)){const p=n.value.style.animationFillMode;n.value.style.animationFillMode="forwards",s=i?.setTimeout(()=>{n.value?.style.animationFillMode==="forwards"&&(n.value.style.animationFillMode=p)})}v.target===n.value&&h==="none"&&u("ANIMATION_END")},g=v=>{v.target===n.value&&(r.value=Xt(n.value))},k=e.watch(n,(v,h)=>{v?(o.value=getComputedStyle(v),v.addEventListener("animationstart",g),v.addEventListener("animationcancel",f),v.addEventListener("animationend",f)):(u("ANIMATION_END"),s!==void 0&&i?.clearTimeout(s),h?.removeEventListener("animationstart",g),h?.removeEventListener("animationcancel",f),h?.removeEventListener("animationend",f))},{immediate:!0}),b=e.watch(c,()=>{const v=Xt(n.value);r.value=c.value==="mounted"?v:"none"});return e.onUnmounted(()=>{k(),b()}),{isPresent:e.computed(()=>["mounted","unmountSuspended"].includes(c.value))}}function Xt(t){return t&&getComputedStyle(t).animationName||"none"}var fn=e.defineComponent({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(t,{slots:n,expose:o}){const{present:r,forceMount:a}=e.toRefs(t),l=e.ref(),{isPresent:s}=zs(r,l);o({present:s});let i=n.default({present:s.value});i=po(i||[]);const c=e.getCurrentInstance();if(i&&i?.length>1){const u=c?.parent?.type.name?`<${c.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${u}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),wl=require("js-bao-wss-client");require("yjs");const kl=require("pinia"),se=require("@vueuse/core"),xl=require("js-bao");function Cl(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const bn=Cl(e),bo={debug:0,info:1,warn:2,error:3,none:4},El="warn";class Jo{#e;scope;constructor(o,n){this.#e=o,this.scope=n}get level(){return this.#e.level}set level(o){this.setLevel(o)}debug(...o){this.#t("debug",o)}log(...o){this.#t("info",o,"log")}warn(...o){this.#t("warn",o)}error(...o){this.#t("error",o)}shouldLog(o){return bo[o]>=bo[this.level]}getLevel(){return this.level}setLevel(o){o in bo&&(this.#e.level=o)}forScope(o){const n=o.trim(),r=n?[...this.scope,n]:this.scope;return new Jo(this.#e,r)}#t(o,n,r){if(!this.shouldLog(o))return;const l=r??(o==="info"?"log":o),s=this.scope.length?`[${this.scope.join(":")}]`:void 0,a=s?[s,...n]:n;console[l](...a)}}const cr={level:El},Bl=new Jo(cr,[]),Ee=Bl.forScope("PrimitiveApp");function Nl(t){cr.level=t}const xe=Ee.forScope("JsBaoClientService");function wn(){if(typeof window>"u")return!1;const t=window.location.hostname;return t==="localhost"||t==="127.0.0.1"||t==="[::1]"||t.endsWith(".localhost")||t.endsWith(".local")}class Sl{client=null;clientInitializationPromise=null;config=null;initialize(o){xe.debug("Initializing with config:",{appId:o.appId?`${o.appId.substring(0,10)}...`:"MISSING",apiUrl:o.apiUrl,wsUrl:o.wsUrl,oauthRedirectUri:o.oauthRedirectUri});const n=[];(!o.appId||o.appId==="MISSING_APP_ID")&&n.push("appId"),(!o.apiUrl||o.apiUrl==="MISSING_API_URL")&&n.push("apiUrl"),(!o.wsUrl||o.wsUrl==="MISSING_WS_URL")&&n.push("wsUrl"),(!o.oauthRedirectUri||o.oauthRedirectUri==="MISSING_OAUTH_REDIRECT_URI")&&n.push("oauthRedirectUri"),n.length>0&&(xe.error("❌ Configuration validation failed!"),xe.error("Missing or invalid fields:",n),xe.error("This will cause OAuth and API calls to fail."),xe.error("Please check your .env file configuration.")),this.config=o}getConfig(){return this.config}async getClientAsync(){if(!this.config)throw new Error("JsBaoClientService not initialized. Call initialize() first.");return xe.debug("Getting client async"),this.clientInitializationPromise?this.clientInitializationPromise:(this.clientInitializationPromise=(async()=>{xe.debug("=== INITIALIZING CLIENT ==="),xe.debug("Configuration:",this.config);const o=await wl.initializeClient(this.config);if(o.on("status",n=>{xe.debug("Client status changed:",n)}),o.on("error",n=>{xe.error("Client error:",n)}),this.client=o,wn()&&(window.__primitiveAppClient=o,this.config?.models&&Array.isArray(this.config.models))){const n={};for(const r of this.config.models){const s=r.schema?.name;if(s){const a=s.charAt(0).toUpperCase()+s.slice(1);n[a]=r}}window.__primitiveAppModels=n,xe.debug("Registered models on window:",Object.keys(n))}return xe.debug("=== CLIENT INITIALIZATION COMPLETE ==="),o})(),this.clientInitializationPromise)}setExternalClient(o){xe.debug("Setting external client from host app"),this.client=o,this.clientInitializationPromise=Promise.resolve(o)}async clearClient(){xe.debug("Clearing client singleton..."),this.client&&(this.client.disconnect().catch(o=>{xe.warn("Background disconnect failed (this is usually harmless):",o)}),this.client=null,this.clientInitializationPromise=null,wn()&&(window.__primitiveAppClient=void 0,window.__primitiveAppModels=void 0))}}const te=new Sl;function Vl(t){te.initialize(t)}const he=Ee.forScope("TestHarness"),ur="===TEST===";let st=[];async function Ml(){await eo();const t=await te.getClientAsync(),o=t.documents.listOpen();if(o.length===0)return st=[],he.debug("No host app documents to close before test run"),0;he.debug("Closing host app documents before test run",{count:o.length});for(const n of o)try{await t.documents.close(n)}catch(r){he.warn("Failed to close host app document",{docId:n,err:r})}return st=o,o.length}async function Dl(){const t=await te.getClientAsync();if(st.length>0){he.debug("Restoring host app documents after test run",{count:st.length,docIds:st});for(const o of st)try{await t.documents.open(o,{waitForLoad:"local"})}catch(n){he.warn("Failed to restore host app document",{docId:o,err:n})}st=[]}else he.debug("No host app documents to restore after test run")}async function zl(){const t=await te.getClientAsync(),o=t.documents.listOpen();if(o.length>0)throw new Error(`[TestHarness] Expected no open documents at test start, but found ${o.length}: ${o.join(", ")}. This indicates the previous test did not properly clean up its document.`);const n=Date.now(),r=Math.random().toString(36).substring(2,11),l=`${n}-${r}`,{metadata:s}=await t.documents.create({title:`${ur} ${l}`,localOnly:!0}),a=s.documentId,{doc:c}=await t.documents.open(a,{waitForLoad:"local",enableNetworkSync:!1});if(!c)throw new Error("[TestHarness] Failed to open test document");return t.setDefaultDocumentId(a),he.debug("Created test document",{docId:a}),{client:t,docId:a,yDoc:c}}async function $l(t){try{await t.client.documents.close(t.docId),await t.client.documents.evict(t.docId,{force:!0})}catch(o){he.error("Evict failed for test document",{docId:t.docId,err:o})}}async function eo(){try{const t=await te.getClientAsync();he.debug("[deleteAllTestDocuments] Starting cleanup..."),he.debug("[deleteAllTestDocuments] Syncing metadata..."),await t.syncMetadata({scope:"all"}),he.debug("[deleteAllTestDocuments] Metadata synced, listing docs...");const o=await t.documents.list();he.debug("[deleteAllTestDocuments] Total documents from list()",{count:o.length,titles:o.map(l=>l.title??"(no title)")});const n=o.filter(l=>l.title?.startsWith(ur));if(n.length===0)return he.debug("[deleteAllTestDocuments] No test documents found to clean up"),0;he.debug("[deleteAllTestDocuments] Found test documents to delete",{count:n.length,docIds:n.map(l=>l.documentId),titles:n.map(l=>l.title)});let r=0;for(const l of n)try{he.debug("[deleteAllTestDocuments] Deleting test document...",{documentId:l.documentId,title:l.title}),t.documents.isOpen(l.documentId)&&await t.documents.close(l.documentId),await t.documents.evict(l.documentId,{force:!0}),r++,he.debug("[deleteAllTestDocuments] Deleted successfully",{documentId:l.documentId})}catch(s){he.error("[deleteAllTestDocuments] Failed to delete test document",{documentId:l.documentId,title:l.title,err:s})}return he.debug("[deleteAllTestDocuments] Cleanup complete",{evictedCount:r,totalTestDocs:n.length}),r}catch(t){return he.error("[deleteAllTestDocuments] Top-level error during cleanup",{err:t}),0}}function Il(t){return async o=>{const n=await zl(),r={docId:n.docId};try{return await t(r,o)}finally{await $l(n)}}}function _l(t){return t.flatMap(o=>o.tests.map(n=>({id:n.id,name:n.name,group:o.name,run:Il(n.run)})))}const kn=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Al=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(o,n,r)=>r?r.toUpperCase():n.toLowerCase()),Tl=t=>{const o=Al(t);return o.charAt(0).toUpperCase()+o.slice(1)},Pl=(...t)=>t.filter((o,n,r)=>!!o&&o.trim()!==""&&r.indexOf(o)===n).join(" ").trim(),xn=t=>t==="";var zt={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"};const Ol=({name:t,iconNode:o,absoluteStrokeWidth:n,"absolute-stroke-width":r,strokeWidth:l,"stroke-width":s,size:a=zt.width,color:c=zt.stroke,...u},{slots:i})=>e.h("svg",{...zt,...u,width:a,height:a,stroke:c,"stroke-width":xn(n)||xn(r)||n===!0||r===!0?Number(l||s||zt["stroke-width"])*24/Number(a):l||s||zt["stroke-width"],class:Pl("lucide",u.class,...t?[`lucide-${kn(Tl(t))}-icon`,`lucide-${kn(t)}`]:["lucide-icon"])},[...o.map(d=>e.h(...d)),...i.default?[i.default()]:[]]);const Fe=(t,o)=>(n,{slots:r,attrs:l})=>e.h(Ol,{...l,...n,iconNode:o,name:t},r);const Rl=Fe("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);const Ll=Fe("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const dr=Fe("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const Fl=Fe("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);const ql=Fe("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);const jl=Fe("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);const Hl=Fe("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const fr=Fe("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"}]]);const en=Fe("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"}]]);const to=Fe("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),Ul=["title"],Wl=e.defineComponent({__name:"DevToolsFloatingButton",props:{isOpen:{type:Boolean},customStyle:{},shortcutHint:{}},emits:["click"],setup(t,{emit:o}){const n=t,r=o;function l(){const a=`${n.isOpen?"Close":"Open"} Primitive Dev Tools`;return n.shortcutHint?`${a} (${n.shortcutHint})`:a}return(s,a)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:"fixed bottom-4 right-4 z-[9999] w-12 h-12 rounded-full bg-violet-600 hover:bg-violet-700 text-white shadow-lg flex items-center justify-center transition-all hover:scale-110 active:scale-95",style:e.normalizeStyle(n.customStyle),title:l(),onClick:a[0]||(a[0]=c=>r("click"))},[e.createVNode(e.unref(Rl),{class:"w-6 h-6"})],12,Ul))}}),Gl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg0AAAINCAMAAACKxrymAAAAAXNSR0IB2cksfwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAtNQTFRFAAAAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMznrAyvAAAAPF0Uk5TABRrvf/yoE8Ym+lpBXfaTVDcvCjA+5IPEpX87GoDbu7XP0OvIrL4iAsNi/nnYAFkzDc70KUZHKn1fggKgfbhVlrjxC8zyP0Wn/7xdEzdkR+zhzhcDoqmAmXtkwd4t0gEF5xTfYLz1Izgc1ErrvrmpCWWX1ua8Nmq91XkS5Bv9GYxngm+tFlJ239B3ra6gEZAESB5zdEb6D7WRHHvsEdhjoQaPc8nHaxXEMLlFU56LCmnbJQ009iYrTqGsaPLY6LOe99dhXBo643qXpdUibWDbWJ2WOJ1UnyhwcceOZ3FZ49Kci7VxgwhLai5MLgyykI1vxsWnKEAAB7OSURBVHic7Z19mFVVvcfX8hoqoTGKMIaETKMyQoMYojAxycCAGKH5QEhTgBgp4E1etEzLyLfI0geVwus75Ev04jV8q0gn8C3T9MEyJLqpEQ+KhHU1rqUP5w6gHuacs/ZZ37XXXuu31v59/rhX56zZZ4cfZs45n71/SwqGeRfp+wQYQrANTBG2gSnCNjBF2AamCNvAFGEbmCJsA1OEbWCKsA0dfwYd7Pq///J9Jr5hG/aVb737j13kP32eiX/ybkM3+WZhj3/tKv/h7VQIkHMbusvXS75ygPyblzMhQa5tOEj+vfyLNVK+4v5UaJBjG2ql3FLxgV5SbnR8LkTIrQ19pNykfPBQ+YLDU6FDXm2o2/HXxMf7yj85OhNK5NOG+up/9+ukfN7FqZAijzY0SLleY1l/KZ/N/FxokT8bGuWGf2suHSifyfRUyJE7G46Ra4HVR8snMzsTguTMhqHyt9g3DJHysWxOhSK5sqFJysfhbxouV2dwKjTJkw0nyIeNvq9ZPmj5TKiSHxtGy3bTb215uFPaipe82DBWylUpvn2MXP2GtXOhSz5sKOnWJnRtvtfKqZAmFzZ0H/GAhaPkoHXnwIaK3dqEmmFPRN66o7dB2a1NiL11R25DYrc2Ie7WHbcN1bq1CX0H/tT6MakQsw31AzN5G1A3YF2srTteGzS7tQnRtu5YbQC6tQmRtu5IbcC6tRAj95cPYPZE2bqjtAHt1iMO3PCsmCjX/hn5phhbd4Q2oN16yN6FR3f9Q33hJeiJ4mvd8dmAdutTX/zNe//c70DsF0xsrTs2G9BuPWhbp0+TJkv5I+TbI2vdcdmAdusuEworSr5U27LqNeQQUbXumGxokyugv6h1gwo/rvDlg066E3raiFp3RDag3XrK46rbqaauwT7QjqZ1R2MD2q0PbV6ufnBa+2bop0wsrTsSG9BuPenRkcsSF0yXmx5CDhhH647CBrRb17Q+9HLVRaPWgj9sImjdMdiAduvuBb1f8zNexV6IhN+6w7cB7dbjDr5Zd2nbygFPIYcOvnWHbgPareW+E24Hlg897HXoA4zAW3fYNqDduqV34VbwKQb3wD7cDLp1B20D3K13GGSFxsO3YeEj4NYdsA1G3dqEJrkFa90D1gXauoO1oalhvVm3NiEvrTtUG8Bu3br/Ht3ahHy07jBtgLv1jtQv7SbLldgL1hBbd4g2WOjWJkyUv4q9dYdnQ5vc7xZkvaJbmxB96w7OBrRb2x0DGnnrDswGuFvbTknT2pugS+XCat1B2WC9WxudRMtWsHU32XjV4oSAbMikW5uAtu4Zq0Jp3eHYgHbrKfdn9ys71tYdig1wt65JuNAtPW0rsU8TAmndYdjQ0PxIlt3ahOny5fhadwg2OOjWJkTYugOwAe3W3Qc5SgTxtW7yNsDdup/2hW7paZJvQ5fKUW/dxG1w2q1NGHrYXdD6z6+j3Lpp2+C6W5sQU+umbAParUdu9fIyLaLWTdcGuFuPM7zQLT3oWJgxfb9Ps3VTtcFjtzahflgUrZuoDbM3+uzWJkTRuknaMGcFloVKBrT4IYbWTdAGuFsXrFzolh50LEyvv4+nceLvQc4GMt3aBPRiHGqtm5oNlLq1CWjrPmsjpdZNywa0WycOaPFD0K2bkg0NzV2WIuvlIRlc6JYedCzM7HYyrZuODUS7tQmj9gq0dZOxgWy3NgFu3XMeI9G6idiAdmtgQIsfwmzdJGyAu/VzmV/olh50LAyF1k3BhhC6tQmD9wqtdfu3IZBubUJwrdu3DWi3Nh7Q4ofAWrdfG+Bu3dPxhW7pQcfCeG3dXm0Ir1ub0K8Atu6pizM6k6p4tCHIbm1COK3bmw21U1ZA3drSgBY/hNK6PdkAd+sTvF7olh50LIyf1u3HhtC7tQlTX6Pfun3YEEG3NiGA1u3eBrRbZzKgxQ9w6977l24/XHFtA9qtSV3olh50LIzj1u3YBrhba24sEg4zXsCizBEuW7dTG6Lr1iZQbt0ObUC7tYMBLX6g27rd2bDgaehHJOEL3dKDjoVx1bpd2QB3a5ONRcIBvVSupfFKF63bjQ1j20fF3K1NQLdAmfeGg9btwga0Wzsf0OIHtHXP/0PmrduBDWC3DuZCt/SgY2Eyb92Z2wB36/Qbi4QDeqlc1q07Yxty1a1NQLdAybZ1Z2rDtHasW3se0OIHSq07Sxvqtm6H1od5oVt60LEw2bXu7GyAu3UEe9Qbgl4ql1nrzsqGHHdrE9AtUDJq3dnY0HgU+Fo5rm5tAonWnYkNaLeO4UK39IBjYbJo3RnYMHTkldD6jDcWCQf0Ujn7rdu6DU0NPb4DnUCs3doEdAuUz9d80+rz27ZhwT5XIMuj7tYm+G3ddm1AuzXpAS1+8Nq6bdoAd2uXG4uEA3qp3Lw3ttt6c27PBu7W1kC3QJn/vsvsPLE1G7hb28RT67ZkA9qtAxrQ4ge4dZ95g4XWbcUGuFv721gkHNCxMDZatwUbpn1oOXfrLEC3QEnfutPbwN06O1y37rQ2oN062AEtfnDcutPZAHdrKhuLhAM6FiZV605jA3drJ6BboKRo3Sls4G7tCmet29gGtFtHMqDFD2jrvmCTWes2tAHu1jQ3FgkHdCyMWes2s4G7tXvQLVBMWreJDdytveCgdeM2oN06ygEtfsi8dcM2fP3n2JyaEDYWCQd0LMz8rguR5agN37gEWc3d2jroFijnIG/9MBsult9AlnO3zgC0dY+9T38tZsOlC4HFORjQ4gewdX/jQu2lkA2XX6S/NsCNRcIBGgvT/9Pa/9kQG/rM/pr2Wu7W2YJsgXLp+borERtmX6+7krt15gCte9IjGzVXIjac8129dbkb0OIH/dZ92Zc1D4nYcMUFOquC31gkHHTHwpx2m+YBERv21lnE3dolelugjP6Z5uEs28Dd2jFarfub52keDbCh25vVVuR8QIsfNFr3onM1j2XRhpYefKGbF6qOhfFgA3drf1TZAsW5DdytvZLcuh3bwANavJPUup3a0FrLF7oRQD0WxqkNH+FuTYMrFZ85urRh1rX6x2Cy5KovVf4625BH2AamCNvAFGEbmCJsA1OEbWCKsA1MEbaBKcI2MEUCsqF+TsezzdV/OuYd5vYV4lGtS01DseFqKeft/P+Llk0C7tBhxMnDuu36GzT+P56rPuwtDBu++3/F+zuuOXuH/lPmndopxT/bc9f/d7XlQdiw9NJOI5CXyDP1nzTXXC9n7fmvhU9V+X0Rgg0Xfqv0K9ct4tvyqnPT+qtKvrLkl8k6BGDDnP0rzAs7Ykc223vGw9z7Kty8+PXkG2EDsOELFS+YvGbfGfrPnD96LZpZ8es3Tk/6Lvo23PwFxQODdvAlUwrUQ3prvjMt4fvo27BE/RHDqTwGqCLL5enKx6bfmPCN5G24bXrSIS9daXl7zwi4XU5NePTQFxMeJG/D+/+VeMzhs6bon0AeaGpY/3jigttOUz9G3oYJ91c56u3X8y1aRRYc95kqK66dpX6MvA0n/rLqcUefMUn/JKJGZ0hvt4R7LsnbME8jYoyRq9/QP41oGSulxmTQixNGqpC34QytW/gvOXyi/nlEyk++rTWk94enqh8jb8N4zbEiiz78Kf0ziZB9xuhtSHLuooQHydtw8Yr1eke3s71noOhvVnTWkoQHydsg7tb+HdDreyfrn0xM1F6f8NO/hKQXkQHYcA/wG+DuDfP0F0fD+3voby77008kPUrfBnH/BP2nEPdcl257z/BAhsKK1nNOTHo4ABsuPuYU/ecQddeek6fWXf+9k5DlV30x+WH6NohlByE6iNl7l17kES39P34TtP7DVV6Rh2CDaLhmnP6zdPCz8/LRuh9cn/xXvYRz36q28UgQNnS8mz4Oa5W/+LLh9p4BccyVrdD6A675bLUlgdgg2k5de7n+MwlxQcsNcY8VG3rYXdD6/bcnx+BdhGKDEMd+69vQ/lwPLot45ODwQgHaK07uW9ApOeHYIMTorb/Xf7IOmhs0d0AIjjuXQr84WwuFn2stDMkG0bjk5Wr1vhM9b5wR46jiUYU10PqRhepXBewmKBuEaFp0BrI/l1jacENsY8zlviOgDbFHFH6lvTYwG4Q4+axPAquF6NoD0oc63T5e+AWyftiR64C94oKzQYh+rdjLw4VbF0PrKTN+zXZo/UcL0FXlAdogJn9RNiPrZ31mxjrsGYhyUOF/ofWDCk9jTxCiDUL0mvlfmvtz7eaRxX8If5/VXsc9Dv2P7jIB/h8dpg1CzF2e8V8Taky+tzt0MY/RD8RQbRDiwrewOLWgPeQbs9y8WArXBtHtcy9l+PKaFCf3uQ5ab/pGKmAbsn3rTYj+V/+now9ZgrYhy4/lyNB4w+3fQ9b3vHuC8QewgdsgxMcL2XxkTwWncSZ4G7LKeTQ49vKroHB7+fOpwm34NnT8kfXLIPVToG3mQ9hFHYPuSndRRww2CDF4r7XQ+u6FEPbqfnL7KGR563mpL/iKwwbROPcq6Erpntd9gXrrnrMOe4E8sEf6F8iR2NDxNuy2aZq36O1m0mlnb7TwtFkh71sMvXm+o/ZsC5+9R2ODEPXnnwWtP1RWGKFHg2kz1yXM3Cin7qbzrXywFpEN4G1HHdw/m+YQ0rqtWLe2doNZVDaIPkt+8CNk/ZHLPkvvxqy5nzsOWj9jlbWfcXHZsPN25bO2IOv7z19Mq3U33HzHUmT9msI1K6w9eWw2IKMMdkNqCOnk/uM+hqy3PLQiPhuE2Kfr69B6OkNIjxmCfZR4wFS7F/nFaIPoJt8sIOuHSElhCOnQkdXuk+zM/PddZvkMorRBiLHDfw19vk9gCGnTtT+sMGtfzbw3tlu/OSBSG4QYtVf10Yl70iz9DiFdsM8VyPKWh7Eff3pEa4MQJ8iHkeXZ/PlqojP2c08ycjdiG6qPXC5hTN/v+2ndY9tHYb/X5OpsTiRmGzpel8nfQuu7Nt+b0Zkk0Cb3uwVZn+Fr3rht6HjPJrHWbfs9W3W6j9Ab+/kuR8vsBpXEbkPCNi6VcTyElNZnZdHbIERDcxfss97W8fY+602mVkpSn6PnwAYh5vZYCK232IGS6LPyFP2xnx0c+bbMuLHlwgaPjTiBuh1Yf3ewCWhObPB2/YiSevBaGyfX5uTFho7f0StPgX5H39F3Zna/oxsG/gG7bm9FbxfX7eXHBj/XnVakcflj0NjPmtYH3bzPyZMNHS8P+yds41OOhWvSK0H3ev982YAPIU17v0o5Qy/ANl1yeS9QzmzwPoR0+IT7oHYin2py2E5yZ4PfIaTPysHI8tbjH3N6D3EObRCNN7yEDSFNcQ98J9BrLkbucHzNRR5t8DSEVE7fhM0eGX1h6ucEyacNHoaQdvv1l7C5RIWC+7lEebXB9RDSD5z/NWg9OPbTEvm1AR9C+u81pkNIMx/7aYkc24APITWYx7nraQoF7GkOL3i6/yvXNjgZQtqnUMDGfpr/CEpNzm3IfI43fN/4+N97vG889zZkO4TU1dhPS7ANGQ4h7d/wHPaxxl/+4ndvFbZhJ/AQUp0PCRtHv42N/Zx8p+9ZVGzDbtAhpNUDwuAClkO6T/a/Jxvb8A6Wh5AeO/yP2NjPTwxAlmcE2/AeFoeQtl34A+gyitM/8gSJvVzZhj2wdVHSkzfdiBym9aq5RGZfsw2dePD90KAdcXBj+X/HhacNhI7x3Bwyc/HZhs70v+14aP25ry04otMXNpyH3dg7eyIUS7KFbSil/kTsAyNx900XTNn9+eHoV3+yBfxv+8ktlPbTYRvKqbv2ZPh7ht/y6XXQ3b+7+Ght9rd0IbANFUCHkBoy4ylq+/CxDRVBh5AasKb2K65uBdeGbVCADlYAmTX/eJdjIjRhG5SgQ0gR3I+Q0YJtUIMOIdVm/uzDMjluatiGJMZKCdUGLeadfZHfbq2GbUgGHeRYlZbGK/2NpawG21ANcAhpFWzexmcftqEq6BDSBD5f801LR8oGtkEDdAipgiED1lEYdZ8A26AFOoS0Aq1HPJbd2E9LsA16NB41F2vdpQyUhLbIUcE26IJuONWJ/lLS2j6rMmyDPugQ0veoG7CO3tZ6lWAbENAhpLvpK2luu1kO2wCBDiEVpLfkLYNtAAGHkPba7GTspyXYBpi//E+r9trf/XxuhmdiHbbBgDM0q9M1b87P9kRswzaYcPlKnfuyXlg5J/MzsQvbYMQ9p1YPkS/K3g7OxCpsgxn9/lXtteQl+wX1kmEXbIMhfz4i+fExN37QzYnYhG0w5fnk++ueOtrRediEbTDljzcnbXt9wDZnJ2IRtsGYp5Lu2Nx4iLPzsAjbYEyvM9UzGv5a6/BE7ME2mHPIq8qH7j3R4XnYg20wp5+yQDzzEZfnYQ+2IQVTVPfu3nC60/OwBtuQgldUHzY+3ej0PKzBNqRA+a7i1s86PQ9rsA0peKJJ8cDbTk/DHmxDCm46s/LXl850ex7WYBtSsEWRIoZjc4rpwDakYO6Syl+/5Ctuz8MabEMK2IZS2IZy2AYN2AbqsA0pYBtKYRvKYRs0YBuowzakgG0ohW0oh23QgG2gDtuQArahFLahHLZBA7aBOmxDCtiGUtiGctgGDdgG6rANKWAbSmEbymEbNGAbqMM2pIBtKIVtKIdt0IBtoA7bkAK2oRS2oRy2QQO2gTpsQwrYhlLYhnLYBg3YBuqwDSlgG0phG8phGzRgG6jDNqSAbSiFbSiHbdCAbaAO25ACtqEUtqEctkEDtoE6bEMK2IZS2IZy2AYN2AbqsA0pYBtKYRvKYRs0YBuowzakgG0ohW0oh23QgG2gDtuQArahFLahHLZBA7aBOmxDCtiGUtiGctgGDdgG6rANKWAbSmEbymEbNGAbqMM2pIBtKIVtKIdt0IBtoA7bkAK2oRS2oRy2QQO2gTpsQwrYhlLYhnLYBg3YBuqwDSlgG0phG8phGzRgG6jDNqSAbSiFbSiHbdCAbaAO25ACtqEUtqEctkEDtoE6bEMK2IZS2IZy2AYN2AbqsA0pYBtKYRvKYRs0YBuowzakgG0ohW0oh23QgG2gDtuQArahFLahHLZBA7aBOmxDCtiGUtiGctgGDdgG6rANKWAbSmEbymEbNGAbqMM2pIBtKIVtKIdt0IBtoA7bkAK2oRQLNogpj/9J/yiEiM2GqWv+WvkBpzaIukGFH+sfhwxx2XDQSXeqHnJrgxBdJhRW6B+JCDHZUNuy6jXlg65tEGLQthf0D0WDeGyYLOWPEh52b4MQp774G/2DUSAaG/oduDbxcR82iCF7Fx7VP5x/IrGhvvBSlRVZ2CD2rrpixIEbngUO6JkobJgo1/652prNB2seDLFhzEPV14zc+gxwRL9EYEPj4Q/8u/qq5Z/RPBxiw+pRGotaawu3Asf0Sfg2DO7RrrPspJWax0Ns+Lben5Lcd8LtwFH9EboNQw97fZXWwgHJLzKLIDY8c6zmwnEH3wwc1hth29Ak335Kb2XLB2/VPCZiQ6/Tv6O7tPugB4EDeyJoG2a88LDu0gXf0l2J2CCO+qP20pYeD72MHNoHAdswau3f9Re/3EN3JWRD/56P6S+e9OjIZcjB3ROsDdPlJo23d++yoZ/2UsgGsfCOqu9t9+DQ5uXQ0V0TqA1tK98sAMtf6fuG9lrMBvFiPbR8yv1/w47vlDBtmPraA8jyn7UC6oA2iC1nQOdScwLh1h2iDQnduiK/+Crwyx22QWxq1X8puRPCrTs8GxK7dQUekcdBx4dt6PhD7LEQWk+2dYdmw7T2pqRuXcaRb8vnsWcwsEGIuq3bofV9JclL5QKzoV9BcaGbgusWwX/qRjaIaR9avglZT/NSuaBsqN6tO3OoNPiJbGZDx2+wKSu2IOu7jKPXugOyQadb78mkFb03GjyNqQ1CzFkBfBwmKLbuYGyYLFdqdOsiNVK+YvRE5jYIMXsj9G6zdX9il8qFYsPgvXQb5G4OkKaf8qSxQbTJ/W5B1hO7VC4MG7S79Ttcsugfxs+VygYhxraPgk51RD9CrTsEG/S79W7GXHG8/gfRZaS0QYjRUuvym/cg1Lrp29B4+Dbtbr2Tlt63IgmjjNQ2CLFgnyuQ5S29qVwqR96GUXthf9OaZcq/aRZsEE0NPbQvg9n1nEQulSNuA9athRg+a0rap7RhQ8crnZFXQuvH1VBo3aRtALu1GCIl0qcqY8cGIY6R2LsgCq2bsg0zXoXevVu60c2WDaLxKPATklbvl8rRteEgiX2yN2iHnU/2rNkgRENzl6XIeu+XylG1Ae3W/ecvtvSpv0UbhKgfeC+03qis2IOmDdl3azVWbQisdZO0QTmgRYFBt1Zj2YagWjdBG+qHYRe6Wf7patsGg9bt7VI5cjag3brXZqNurca+DXjrtvWKGIWYDc66tZosbAilddOyodqAllLMu7WabGwIo3VTsgG90K2rNO/WajKywaB1ux8LQ8eGJrkFesEwRq5O0a3VZGYD3rpH7nDcuqnY4Lpbq8nQBvKtm4gNmgNa3iN1t1aTqQ3EWzcJG9AL3Sx0azXZ2mDQuh2OhSFgQ9vKAdCFbla6tZqsbcBbd/eCq9bt3wa4W7/wZEZnspvsbaDbun3bAA1oES4+pXNgA9nW7dcG9EI3e91ajRMbDFq3i7EwPm2Y1r4ZepdYJ+11azWObMBbt4MtUDzagHZrR+XfmQ0dfxsksdbtzQZ0QIuzq4Lc2UCvdXuyAb3QrZeUdru1Gpc2GLTuTMfCeLGhysYiZWTQrdW4tQFu3ZlugeLDBgrdWo1rGyi1bvc20OjWapzbQKh1u7YBvdAtq26txoMNBq07m7Ewbm3Q21ikSHbdWo0XG4RY8DRU9LPZAsWpDYS6tRpPNoimhvWPI+uzaN0ObSDVrdX4sqHjD0j+Flpvv3U7swEd0JJxt1bjzwaD1m15LIwrG4CNRXZxtMy2W6vxaYNolBuwF1Z2t0BxYwO9bq3Gqw2eW7cLGyh2azWebfDaurO3AR3Q4qZbq/FuQ8cfwQ6s7lobC5O5DeDGIv6nsxOwQfSRWOu2tQVKxjaQ7dZqKNjgq3VnagPhbq2Ghg1+Wvexihfvq0amPjQ6oMVpt1ZDxQa8daf/JdvYu/Lngwu/mvLA8MYibru1Gjo2wK27rmfa1t1c+RO/T9+R7rDUu7UaQjYIMVZKp6373MUVv/zly9IclH63VkPKBtet+/KLKn1VvpXikOiAFh/dWg0xG4Q4QWKtO9VYmHtPqfDFZ48yPyC6sYiXbq2GnA1w6x7ynHnr3taz/Gt3LDbuh4F0azX0bHDauj/269KvDLv9Q4bHCqZbq6Fog8vW/dCYki/8YKLZgdABLR67tRqaNuCt23gszKJOHy70+n2N2WHQjUUGSmo7AO6EqA1465aHGLbuhcNPevcf5702+jSjY8DdWkpyu4PuhKwNDlv31Sf0vX7bh5+smTrT7Pd4aN1aDWEbPLZuCHRAi/durYa0DXjrdr8FCrqxCIFurYa2DULUSgm17kkFpzPMg+zWaqjbQO2+7k4E2q3V0LfBR+vWAx3QQqVbqwnBBrx1u9gCBd1YhE63VhOEDXjr7jIu4xnmIXdrNYHYQOa+7t3A3fph7BMJXwRjg+PWnQg6oIVYt1YTkA14685mLMzQw+6C1g+XqzM4i0wIyQa8dY/oZ32GeQTdWk1YNni/rzuKbq0mNBsctu4KoANaaHZrNcHZsLN1P7IeWW9tLMx0+TL0Npdqt1YToA146x5XY+G+7ni6tZogbfDRuiPq1moCtcF160YHtJDu1mpCtcGgdZuPhalt2Qpd6Ea8W6sJ1wZnF5rA3XrYE7S7tZqQbRCi+4jsf5nH163VhG1D9q0bHdDStRl7u0OLwG0waN3IWJiJ8lfQhW5hdGs1wduAt27tS+Vi7dZqIrABbt2aW6BE263VRGFDFq0bHdASULdWE4cNBq07eSxMk9wCXegWVLdWE4sNeOtOuFQu8m6tJh4b4Nat3AIl9m6tJiIbhGiQMn3rRge0hNet1URlg0HrLh0L07ZyAHShW92AdcF1azWR2YC37s6XysHdeuBPofXEic4GuHXvsQVKTrq1mvhsMG7d6ICWYLu1mhhtMGjdzcuntW+GPlYOuFuridMGvHVvPjY/3VpNrDaINrkiu4QUdrdWE60NeOvWJvRurSZiG/DWrUX43VpN1Dbgrbs6EXRrNZHbIJqkhFp3FaLo1mpitwFv3QlE0q3VxG8D3rpVxNKt1eTBBrh1VySebq0mFzbgrbuMmLq1mpzYgLfuTsTVrdXkxga8dReJrFuryZENcOt+h+i6tZo82YC3bhFlt1aTLxvg1h1lt1aTNxuw1h1nt1aTPxtEN6mZnWLt1mpyaINm6463W6vJpQ0arTvmbq0mpzZUa91Rd2s1ubUhqXVH3q3V5NcGZeseMmBd3N1aTZ5tqNy64+/WavJtQ3nrzkO3VpNzG4SY+ImZxX+Z3f47f2dCgNzbIMR3N4//2K5/uKV52UWez8UzbMNOrv5n2833fOk036fhHbaBKcI2MEXYBqYI28AUYRuYImwDU4RtYIqwDUyR/wcZGqjRY/v1sQAAAABJRU5ErkJggg==",Kl=["src","width","height"],Yl=e.defineComponent({__name:"PrimitiveLogoSpinner",props:{className:{},size:{default:128}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["fixed inset-0 z-50 flex items-center justify-center bg-white",o.className])},[e.createElementVNode("img",{src:e.unref(Gl),alt:"Primitive Logo",width:o.size,height:o.size,class:"animate-spin",style:{"transform-origin":"center center"}},null,8,Kl)],2))}});let Po=1;var Ql=class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=t=>(this.subscribers.push(t),()=>{const o=this.subscribers.indexOf(t);this.subscribers.splice(o,1)});publish=t=>{this.subscribers.forEach(o=>o(t))};addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]};create=t=>{const{message:o,...n}=t,r=typeof t.id=="number"||t.id&&t.id?.length>0?t.id:Po++,l=this.toasts.find(a=>a.id===r),s=t.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),l?this.toasts=this.toasts.map(a=>a.id===r?(this.publish({...a,...t,id:r,title:o}),{...a,...t,id:r,dismissible:s,title:o}):a):this.addToast({title:o,...n,dismissible:s,id:r}),r};dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(o=>o({id:t,dismiss:!0})))):this.toasts.forEach(o=>{this.subscribers.forEach(n=>n({id:o.id,dismiss:!0}))}),t);message=(t,o)=>this.create({...o,message:t,type:"default"});error=(t,o)=>this.create({...o,type:"error",message:t});success=(t,o)=>this.create({...o,type:"success",message:t});info=(t,o)=>this.create({...o,type:"info",message:t});warning=(t,o)=>this.create({...o,type:"warning",message:t});loading=(t,o)=>this.create({...o,type:"loading",message:t});promise=(t,o)=>{if(!o)return;let n;o.loading!==void 0&&(n=this.create({...o,promise:t,type:"loading",message:o.loading,description:typeof o.description!="function"?o.description:void 0}));const r=Promise.resolve(t instanceof Function?t():t);let l=n!==void 0,s;const a=r.then(async u=>{if(s=["resolve",u],e.isVNode(u))l=!1,this.create({id:n,type:"default",message:u});else if(Zl(u)&&!u.ok){l=!1;const d=typeof o.error=="function"?await o.error(`HTTP error! status: ${u.status}`):o.error,f=typeof o.description=="function"?await o.description(`HTTP error! status: ${u.status}`):o.description,b=typeof d=="object"&&!e.isVNode(d)?d:{message:d||"",id:n||""};this.create({id:n,type:"error",description:f,...b})}else if(u instanceof Error){l=!1;const d=typeof o.error=="function"?await o.error(u):o.error,f=typeof o.description=="function"?await o.description(u):o.description,b=typeof d=="object"&&!e.isVNode(d)?d:{message:d||"",id:n||""};this.create({id:n,type:"error",description:f,...b})}else if(o.success!==void 0){l=!1;const d=typeof o.success=="function"?await o.success(u):o.success,f=typeof o.description=="function"?await o.description(u):o.description,b=typeof d=="object"&&!e.isVNode(d)?d:{message:d||"",id:n||""};this.create({id:n,type:"success",description:f,...b})}}).catch(async u=>{if(s=["reject",u],o.error!==void 0){l=!1;const i=typeof o.error=="function"?await o.error(u):o.error,d=typeof o.description=="function"?await o.description(u):o.description,x=typeof i=="object"&&!e.isVNode(i)?i:{message:i||"",id:n||""};this.create({id:n,type:"error",description:d,...x})}}).finally(()=>{l&&(this.dismiss(n),n=void 0),o.finally?.()}),c=()=>new Promise((u,i)=>a.then(()=>s[0]==="reject"?i(s[1]):u(s[1])).catch(i));return typeof n!="string"&&typeof n!="number"?{unwrap:c}:Object.assign(n,{unwrap:c})};custom=(t,o)=>{const n=o?.id||Po++,r=this.toasts.find(s=>s.id===n),l=o?.dismissible===void 0?!0:o.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(s=>s.id===n?(this.publish({...s,component:t,dismissible:l,id:n,...o}),{...s,component:t,dismissible:l,id:n,...o}):s):this.addToast({component:t,dismissible:l,id:n,...o}),n};getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id))};const Be=new Ql;function Xl(t,o){const n=o?.id||Po++;return Be.create({message:t,id:n,type:"default",...o}),n}const Zl=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",Jl=Xl,ea=()=>Be.toasts,ta=()=>Be.getActiveToasts(),tn=Object.assign(Jl,{success:Be.success,info:Be.info,warning:Be.warning,error:Be.error,custom:Be.custom,message:Be.message,promise:Be.promise,dismiss:Be.dismiss,loading:Be.loading},{getHistory:ea,getToasts:ta});function Ot(t){return t.label!==void 0}const oa=3,mr="24px",pr="16px",Cn=4e3,na=356,ra=14,la=45,vr=200;function aa(){const t=e.ref(!1);return e.watchEffect(()=>{const o=()=>{t.value=document.hidden};return document.addEventListener("visibilitychange",o),()=>window.removeEventListener("visibilitychange",o)}),{isDocumentHidden:t}}function Qe(...t){return t.filter(Boolean).join(" ")}function sa(t){const[o,n]=t.split("-"),r=[];return o&&r.push(o),n&&r.push(n),r}function ia(t,o){const n={};return[t,o].forEach((r,l)=>{const s=l===1,a=s?"--mobile-offset":"--offset",c=s?pr:mr;function u(i){["top","right","bottom","left"].forEach(d=>{n[`${a}-${d}`]=typeof i=="number"?`${i}px`:i})}typeof r=="number"||typeof r=="string"?u(r):typeof r=="object"?["top","right","bottom","left"].forEach(i=>{r[i]===void 0?n[`${a}-${i}`]=c:n[`${a}-${i}`]=typeof r[i]=="number"?`${r[i]}px`:r[i]}):u(c)}),n}const ca=["data-rich-colors","data-styled","data-mounted","data-promise","data-swiped","data-removed","data-visible","data-y-position","data-x-position","data-index","data-front","data-swiping","data-dismissible","data-type","data-invert","data-swipe-out","data-swipe-direction","data-expanded","data-testid"],ua=["aria-label","data-disabled","data-close-button-position"];var da=e.defineComponent({__name:"Toast",props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:["update:heights","update:height","removeToast"],setup(t,{emit:o}){const n=t,r=o,l=e.ref(null),s=e.ref(null),a=e.ref(!1),c=e.ref(!1),u=e.ref(!1),i=e.ref(!1),d=e.ref(!1),f=e.ref(0),x=e.ref(0),b=e.ref(n.toast.duration||n.duration||Cn),h=e.ref(null),w=e.ref(null),v=e.computed(()=>n.index===0),C=e.computed(()=>n.index+1<=n.visibleToasts),p=e.computed(()=>n.toast.type),k=e.computed(()=>n.toast.dismissible!==!1),m=e.computed(()=>n.toast.class||""),y=e.computed(()=>n.descriptionClass||""),g=e.computed(()=>{const S=n.toast.position||n.position,$=n.heights.filter(j=>j.position===S).findIndex(j=>j.toastId===n.toast.id);return $>=0?$:0}),N=e.computed(()=>{const S=n.toast.position||n.position;return n.heights.filter($=>$.position===S).reduce(($,j,ne)=>ne>=g.value?$:$+j.height,0)}),E=e.computed(()=>g.value*n.gap+N.value||0),V=e.computed(()=>n.toast.closeButton??n.closeButton),B=e.computed(()=>n.toast.duration||n.duration||Cn),M=e.ref(0),z=e.ref(0),D=e.ref(null),R=e.computed(()=>n.position.split("-")),K=e.computed(()=>R.value[0]),U=e.computed(()=>R.value[1]),ee=e.computed(()=>typeof n.toast.title!="string"),L=e.computed(()=>typeof n.toast.description!="string"),{isDocumentHidden:ie}=aa(),H=e.computed(()=>p.value&&p.value==="loading");e.onMounted(()=>{a.value=!0,b.value=B.value}),e.watchEffect(async()=>{if(!a.value||!w.value)return;await e.nextTick();const S=w.value,_=S.style.height;S.style.height="auto";const $=S.getBoundingClientRect().height;S.style.height=_,x.value=$,r("update:height",{toastId:n.toast.id,height:$,position:n.toast.position||n.position})});function O(){c.value=!0,f.value=E.value,setTimeout(()=>{r("removeToast",n.toast)},vr)}function G(){if(H.value||!k.value)return{};O(),n.toast.onDismiss?.(n.toast)}function Z(S){S.button!==2&&(H.value||!k.value||(h.value=new Date,f.value=E.value,S.target.setPointerCapture(S.pointerId),S.target.tagName!=="BUTTON"&&(u.value=!0,D.value={x:S.clientX,y:S.clientY})))}function W(){if(i.value||!k.value)return;D.value=null;const S=Number(w.value?.style.getPropertyValue("--swipe-amount-x").replace("px","")||0),_=Number(w.value?.style.getPropertyValue("--swipe-amount-y").replace("px","")||0),$=new Date().getTime()-(h.value?.getTime()||0),j=l.value==="x"?S:_,ne=Math.abs(j)/$;if(Math.abs(j)>=la||ne>.11){f.value=E.value,n.toast.onDismiss?.(n.toast),l.value==="x"?s.value=S>0?"right":"left":s.value=_>0?"down":"up",O(),i.value=!0;return}else w.value?.style.setProperty("--swipe-amount-x","0px"),w.value?.style.setProperty("--swipe-amount-y","0px");d.value=!1,u.value=!1,l.value=null}function me(S){if(!D.value||!k.value||(window?.getSelection()?.toString()?.length??!1))return;const $=S.clientY-D.value.y,j=S.clientX-D.value.x,ne=n.swipeDirections??sa(n.position);!l.value&&(Math.abs(j)>1||Math.abs($)>1)&&(l.value=Math.abs(j)>Math.abs($)?"x":"y");let re={x:0,y:0};const ke=be=>1/(1.5+Math.abs(be)/20);if(l.value==="y"){if(ne.includes("top")||ne.includes("bottom"))if(ne.includes("top")&&$<0||ne.includes("bottom")&&$>0)re.y=$;else{const be=$*ke($);re.y=Math.abs(be)<Math.abs($)?be:$}}else if(l.value==="x"&&(ne.includes("left")||ne.includes("right")))if(ne.includes("left")&&j<0||ne.includes("right")&&j>0)re.x=j;else{const be=j*ke(j);re.x=Math.abs(be)<Math.abs(j)?be:j}(Math.abs(re.x)>0||Math.abs(re.y)>0)&&(d.value=!0),w.value?.style.setProperty("--swipe-amount-x",`${re.x}px`),w.value?.style.setProperty("--swipe-amount-y",`${re.y}px`)}e.onMounted(()=>{if(a.value=!0,!w.value)return;const S=w.value.getBoundingClientRect().height;x.value=S;const _=[{toastId:n.toast.id,height:S,position:n.toast.position},...n.heights];r("update:heights",_)}),e.onBeforeUnmount(()=>{w.value&&r("removeToast",n.toast)}),e.watchEffect(S=>{if(n.toast.promise&&p.value==="loading"||n.toast.duration===1/0||n.toast.type==="loading")return;let _;const $=()=>{if(z.value<M.value){const ne=new Date().getTime()-M.value;b.value=b.value-ne}z.value=new Date().getTime()},j=()=>{b.value!==1/0&&(M.value=new Date().getTime(),_=setTimeout(()=>{n.toast.onAutoClose?.(n.toast),O()},b.value))};n.expanded||n.interacting||ie.value?$():j(),S(()=>{clearTimeout(_)})}),e.watch(()=>n.toast.delete,S=>{S!==void 0&&S&&(O(),n.toast.onDismiss?.(n.toast))},{deep:!0});function le(){u.value=!1,l.value=null,D.value=null}return(S,_)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"0",ref_key:"toastRef",ref:w,class:e.normalizeClass(e.unref(Qe)(n.class,m.value,S.classes?.toast,S.toast.classes?.toast,S.classes?.[p.value],S.toast?.classes?.[p.value])),"data-sonner-toast":"","data-rich-colors":S.toast.richColors??S.defaultRichColors,"data-styled":!(S.toast.component||S.toast?.unstyled||S.unstyled),"data-mounted":a.value,"data-promise":!!S.toast.promise,"data-swiped":d.value,"data-removed":c.value,"data-visible":C.value,"data-y-position":K.value,"data-x-position":U.value,"data-index":S.index,"data-front":v.value,"data-swiping":u.value,"data-dismissible":k.value,"data-type":p.value,"data-invert":S.toast.invert||S.invert,"data-swipe-out":i.value,"data-swipe-direction":s.value,"data-expanded":!!(S.expanded||S.expandByDefault&&a.value),"data-testid":S.toast.testId,style:e.normalizeStyle({"--index":S.index,"--toasts-before":S.index,"--z-index":S.toasts.length-S.index,"--offset":`${c.value?f.value:E.value}px`,"--initial-height":S.expandByDefault?"auto":`${x.value}px`,...S.style,...n.toast.style}),onDragend:le,onPointerdown:Z,onPointerup:W,onPointermove:me},[V.value&&!S.toast.component&&p.value!=="loading"?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":S.closeButtonAriaLabel||"Close toast","data-disabled":H.value,"data-close-button":"true","data-close-button-position":S.closeButtonPosition,class:e.normalizeClass(e.unref(Qe)(S.classes?.closeButton,S.toast?.classes?.closeButton)),onClick:G},[S.icons?.close?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.icons?.close),{key:0})):e.renderSlot(S.$slots,"close-icon",{key:1})],10,ua)):e.createCommentVNode("v-if",!0),S.toast.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.toast.component),e.mergeProps({key:1},S.toast.componentProps,{onCloseToast:G,isPaused:S.$props.expanded||S.$props.interacting||e.unref(ie)}),null,16,["isPaused"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[p.value!=="default"||S.toast.icon||S.toast.promise?(e.openBlock(),e.createElementBlock("div",{key:0,"data-icon":"",class:e.normalizeClass(e.unref(Qe)(S.classes?.icon,S.toast?.classes?.icon))},[S.toast.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.toast.icon),{key:0})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[p.value==="loading"?e.renderSlot(S.$slots,"loading-icon",{key:0}):p.value==="success"?e.renderSlot(S.$slots,"success-icon",{key:1}):p.value==="error"?e.renderSlot(S.$slots,"error-icon",{key:2}):p.value==="warning"?e.renderSlot(S.$slots,"warning-icon",{key:3}):p.value==="info"?e.renderSlot(S.$slots,"info-icon",{key:4}):e.createCommentVNode("v-if",!0)],64))],2)):e.createCommentVNode("v-if",!0),e.createElementVNode("div",{"data-content":"",class:e.normalizeClass(e.unref(Qe)(S.classes?.content,S.toast?.classes?.content))},[e.createElementVNode("div",{"data-title":"",class:e.normalizeClass(e.unref(Qe)(S.classes?.title,S.toast.classes?.title))},[ee.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.toast.title),e.normalizeProps(e.mergeProps({key:0},S.toast.componentProps)),null,16)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(S.toast.title),1)],64))],2),S.toast.description?(e.openBlock(),e.createElementBlock("div",{key:0,"data-description":"",class:e.normalizeClass(e.unref(Qe)(S.descriptionClass,y.value,S.classes?.description,S.toast.classes?.description))},[L.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S.toast.description),e.normalizeProps(e.mergeProps({key:0},S.toast.componentProps)),null,16)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(S.toast.description),1)],64))],2)):e.createCommentVNode("v-if",!0)],2),S.toast.cancel?(e.openBlock(),e.createElementBlock("button",{key:1,style:e.normalizeStyle(S.toast.cancelButtonStyle||S.cancelButtonStyle),class:e.normalizeClass(e.unref(Qe)(S.classes?.cancelButton,S.toast.classes?.cancelButton)),"data-button":"","data-cancel":"",onClick:_[0]||(_[0]=$=>{e.unref(Ot)(S.toast.cancel)&&k.value&&(S.toast.cancel.onClick?.($),O())})},e.toDisplayString(e.unref(Ot)(S.toast.cancel)?S.toast.cancel?.label:S.toast.cancel),7)):e.createCommentVNode("v-if",!0),S.toast.action?(e.openBlock(),e.createElementBlock("button",{key:2,style:e.normalizeStyle(S.toast.actionButtonStyle||S.actionButtonStyle),class:e.normalizeClass(e.unref(Qe)(S.classes?.actionButton,S.toast.classes?.actionButton)),"data-button":"","data-action":"",onClick:_[1]||(_[1]=$=>{e.unref(Ot)(S.toast.action)&&(S.toast.action.onClick?.($),!$.defaultPrevented&&O())})},e.toDisplayString(e.unref(Ot)(S.toast.action)?S.toast.action?.label:S.toast.action),7)):e.createCommentVNode("v-if",!0)],64))],46,ca))}}),fa=da,Tt=(t,o)=>{const n=t.__vccOpts||t;for(const[r,l]of o)n[r]=l;return n};const ma={},pa={xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stoke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"};function va(t,o){return e.openBlock(),e.createElementBlock("svg",pa,o[0]||(o[0]=[e.createElementVNode("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),e.createElementVNode("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)]))}var ga=Tt(ma,[["render",va]]);const ha=["data-visible"],ya={class:"sonner-spinner"};var ba=e.defineComponent({__name:"Loader",props:{visible:{type:Boolean}},setup(t){const o=Array(12).fill(0);return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:"sonner-loading-wrapper","data-visible":n.visible},[e.createElementVNode("div",ya,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),l=>(e.openBlock(),e.createElementBlock("div",{key:`spinner-bar-${l}`,class:"sonner-loading-bar"}))),128))])],8,ha))}}),wa=ba;const ka={},xa={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function Ca(t,o){return e.openBlock(),e.createElementBlock("svg",xa,o[0]||(o[0]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z","clip-rule":"evenodd"},null,-1)]))}var Ea=Tt(ka,[["render",Ca]]);const Ba={},Na={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function Sa(t,o){return e.openBlock(),e.createElementBlock("svg",Na,o[0]||(o[0]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z","clip-rule":"evenodd"},null,-1)]))}var Va=Tt(Ba,[["render",Sa]]);const Ma={},Da={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"};function za(t,o){return e.openBlock(),e.createElementBlock("svg",Da,o[0]||(o[0]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z","clip-rule":"evenodd"},null,-1)]))}var $a=Tt(Ma,[["render",za]]);const Ia={},_a={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function Aa(t,o){return e.openBlock(),e.createElementBlock("svg",_a,o[0]||(o[0]=[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z","clip-rule":"evenodd"},null,-1)]))}var Ta=Tt(Ia,[["render",Aa]]);const Pa=["aria-label"],Oa=["data-sonner-theme","dir","data-theme","data-rich-colors","data-y-position","data-x-position"],Ra=typeof window<"u"&&typeof document<"u";function La(){if(typeof window>"u"||typeof document>"u")return"ltr";const t=document.documentElement.getAttribute("dir");return t==="auto"||!t?window.getComputedStyle(document.documentElement).direction:t}var Fa=e.defineComponent({name:"Toaster",inheritAttrs:!1,__name:"Toaster",props:{id:{},invert:{type:Boolean,default:!1},theme:{default:"light"},position:{default:"bottom-right"},closeButtonPosition:{default:"top-left"},hotkey:{default:()=>["altKey","KeyT"]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:ra},visibleToasts:{default:oa},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:""},style:{},offset:{default:mr},mobileOffset:{default:pr},dir:{default:"auto"},swipeDirections:{},icons:{},containerAriaLabel:{default:"Notifications"}},setup(t){const o=t,n=e.useAttrs(),r=e.ref([]),l=e.computed(()=>o.id?r.value.filter(B=>B.toasterId===o.id):r.value.filter(B=>!B.toasterId));function s(B,M){return l.value.filter(z=>!z.position&&M===0||z.position===B)}const a=e.computed(()=>{const B=l.value.filter(M=>M.position).map(M=>M.position);return B.length>0?Array.from(new Set([o.position].concat(B))):[o.position]}),c=e.computed(()=>{const B={};return a.value.forEach(M=>{B[M]=r.value.filter(z=>z.position===M)}),B}),u=e.ref([]),i=e.ref({}),d=e.ref(!1);e.watchEffect(()=>{a.value.forEach(B=>{B in i.value||(i.value[B]=!1)})});const f=e.ref(o.theme!=="system"?o.theme:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),x=e.ref(null),b=e.ref(null),h=e.ref(!1),w=o.hotkey.join("+").replace(/Key/g,"").replace(/Digit/g,"");function v(B){r.value.find(M=>M.id===B.id)?.delete||Be.dismiss(B.id),r.value=r.value.filter(({id:M})=>M!==B.id),setTimeout(()=>{r.value.find(M=>M.id===B.id)||(u.value=u.value.filter(M=>M.toastId!==B.id))},vr+50)}function C(B){h.value&&!B.currentTarget?.contains?.(B.relatedTarget)&&(h.value=!1,b.value&&(b.value.focus({preventScroll:!0}),b.value=null))}function p(B){B.target instanceof HTMLElement&&B.target.dataset.dismissible==="false"||h.value||(h.value=!0,b.value=B.relatedTarget)}function k(B){B.target&&B.target instanceof HTMLElement&&B.target.dataset.dismissible==="false"||(d.value=!0)}e.watchEffect(B=>{const M=Be.subscribe(z=>{if(z.dismiss){requestAnimationFrame(()=>{r.value=r.value.map(D=>D.id===z.id?{...D,delete:!0}:D)});return}e.nextTick(()=>{const D=r.value.findIndex(R=>R.id===z.id);D!==-1?r.value=[...r.value.slice(0,D),{...r.value[D],...z},...r.value.slice(D+1)]:r.value=[z,...r.value]})});B(M)}),e.watchEffect(B=>{if(typeof window>"u")return;if(o.theme!=="system"){f.value=o.theme;return}const M=window.matchMedia("(prefers-color-scheme: dark)"),z=R=>{f.value=R?"dark":"light"};z(M.matches);const D=R=>{z(R.matches)};try{M.addEventListener("change",D)}catch{M.addListener(D)}B(()=>{try{M.removeEventListener("change",D)}catch{M.removeListener(D)}})}),e.watchEffect(()=>{x.value&&b.value&&(b.value.focus({preventScroll:!0}),b.value=null,h.value=!1)}),e.watchEffect(()=>{r.value.length<=1&&Object.keys(i.value).forEach(B=>{i.value[B]=!1})}),e.watchEffect(B=>{function M(z){const D=o.hotkey.every(U=>z[U]||z.code===U),R=Array.isArray(x.value)?x.value[0]:x.value;D&&(a.value.forEach(U=>{i.value[U]=!0}),R?.focus());const K=document.activeElement===x.value||R?.contains(document.activeElement);z.code==="Escape"&&K&&a.value.forEach(U=>{i.value[U]=!1})}Ra&&(document.addEventListener("keydown",M),B(()=>{document.removeEventListener("keydown",M)}))});function m(B){const M=B.currentTarget,z=M.getAttribute("data-y-position")+"-"+M.getAttribute("data-x-position");i.value[z]=!0}function y(B){if(!d.value){const M=B.currentTarget,z=M.getAttribute("data-y-position")+"-"+M.getAttribute("data-x-position");i.value[z]=!1}}function g(){Object.keys(i.value).forEach(B=>{i.value[B]=!1})}function N(){d.value=!1}function E(B){u.value=B}function V(B){const M=u.value.findIndex(z=>z.toastId===B.toastId);if(M!==-1)u.value[M]=B;else{const z=u.value.findIndex(D=>D.position===B.position);z!==-1?u.value.splice(z,0,B):u.value.unshift(B)}}return(B,M)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createCommentVNode(" Remove item from normal navigation flow, only available via hotkey "),e.createElementVNode("section",{"aria-label":`${B.containerAriaLabel} ${e.unref(w)}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(z,D)=>(e.openBlock(),e.createElementBlock("ol",e.mergeProps({key:z,ref_for:!0,ref_key:"listRef",ref:x,"data-sonner-toaster":"","data-sonner-theme":f.value,class:o.class,dir:B.dir==="auto"?La():B.dir,tabIndex:-1,"data-theme":B.theme,"data-rich-colors":B.richColors,"data-y-position":z.split("-")[0],"data-x-position":z.split("-")[1],style:{"--front-toast-height":`${u.value[0]?.height||0}px`,"--width":`${e.unref(na)}px`,"--gap":`${B.gap}px`,...B.style,...e.unref(n).style,...e.unref(ia)(B.offset,B.mobileOffset)}},{ref_for:!0},B.$attrs,{onBlur:C,onFocus:p,onMouseenter:m,onMousemove:m,onMouseleave:y,onDragend:g,onPointerdown:k,onPointerup:N}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s(z,D),(R,K)=>(e.openBlock(),e.createBlock(fa,{key:R.id,heights:u.value,icons:B.icons,index:K,toast:R,defaultRichColors:B.richColors,duration:B.toastOptions?.duration??B.duration,class:e.normalizeClass(B.toastOptions?.class??""),descriptionClass:B.toastOptions?.descriptionClass,invert:B.invert,visibleToasts:B.visibleToasts,closeButton:B.toastOptions?.closeButton??B.closeButton,interacting:d.value,position:z,closeButtonPosition:B.toastOptions?.closeButtonPosition??B.closeButtonPosition,style:e.normalizeStyle(B.toastOptions?.style),unstyled:B.toastOptions?.unstyled,classes:B.toastOptions?.classes,cancelButtonStyle:B.toastOptions?.cancelButtonStyle,actionButtonStyle:B.toastOptions?.actionButtonStyle,"close-button-aria-label":B.toastOptions?.closeButtonAriaLabel,toasts:c.value[z],expandByDefault:B.expand,gap:B.gap,expanded:i.value[z]||!1,swipeDirections:o.swipeDirections,"onUpdate:heights":E,"onUpdate:height":V,onRemoveToast:v},{"close-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"close-icon",{},()=>[e.createVNode(ga)])]),"loading-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"loading-icon",{},()=>[e.createVNode(wa,{visible:R.type==="loading"},null,8,["visible"])])]),"success-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"success-icon",{},()=>[e.createVNode(Ea)])]),"error-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"error-icon",{},()=>[e.createVNode(Ta)])]),"warning-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"warning-icon",{},()=>[e.createVNode($a)])]),"info-icon":e.withCtx(()=>[e.renderSlot(B.$slots,"info-icon",{},()=>[e.createVNode(Va)])]),_:2},1032,["heights","icons","index","toast","defaultRichColors","duration","class","descriptionClass","invert","visibleToasts","closeButton","interacting","position","closeButtonPosition","style","unstyled","classes","cancelButtonStyle","actionButtonStyle","close-button-aria-label","toasts","expandByDefault","gap","expanded","swipeDirections"]))),128))],16,Oa))),128))],8,Pa)],2112))}}),gr=Fa;const wo="documentExplorer:selectedDocId",ko="documentExplorer:selectedModel",xo="documentExplorer:showHiddenFields",xt="devtools:rightPanelCollapsed",hr="primitive-doc-explorer-page-size",yr="primitive-doc-explorer-model-view-state",io=kl.defineStore("documentExplorer",()=>{const t=Ee.forScope("documentExplorerStore"),o=w=>{try{return typeof window<"u"?localStorage.getItem(w):null}catch{return null}},n=(w,v)=>{try{typeof window<"u"&&(v!==null?localStorage.setItem(w,v):localStorage.removeItem(w))}catch{}},r=e.ref(o(xo)==="true");e.watch(r,w=>{n(xo,String(w))});const l=e.ref(o(wo)),s=e.ref(o(ko)),a=e.ref(null),c=e.ref(!1);e.watch(l,w=>{n(wo,w)},{immediate:!1}),e.watch(s,w=>{n(ko,w)},{immediate:!1});const u=e.computed(()=>l.value?{documentId:l.value}:null),i=async w=>{const v=t.forScope("openDocument");if(l.value===w&&c.value){v.debug("Document already open",{documentId:w});return}try{v.debug("Opening document",{documentId:w}),c.value=!1;const C=await te.getClientAsync();if(l.value&&l.value!==w)try{await C.documents.close(l.value),v.debug("Closed previous document",{documentId:l.value})}catch(p){v.warn("Error closing previous document",p)}await C.documents.open(w),v.debug("Document opened via js-bao client",{documentId:w}),await C.setDefaultDocumentId(w),await new Promise(p=>setTimeout(p,50)),l.value=w,c.value=!0,v.debug("Document opened successfully",{documentId:w})}catch(C){throw v.error("Failed to open document",{documentId:w,error:C}),C}};return{showHiddenFields:r,currentDocumentId:l,currentModelName:s,currentDocumentTitle:a,currentDocumentMetadata:u,isDocumentReady:c,openDocument:i,switchDocument:async w=>{await i(w)},setCurrentDocumentId:w=>{l.value=w,w||(c.value=!1,a.value=null)},setCurrentModelName:w=>{s.value=w},setCurrentDocumentTitle:w=>{a.value=w},reset:()=>{r.value=!1,l.value=null,s.value=null,a.value=null,c.value=!1,n(wo,null),n(ko,null),n(xo,null)}}});function J(t){tn.error(t,{duration:5e3})}function qa(t){tn.success(t,{duration:3e3})}function ja(t){tn.warning(t,{duration:4e3})}function ae(t){return t instanceof Error?t.message:typeof t=="string"?t:"An unexpected error occurred"}function br(t){var o,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var l=t.length;for(o=0;o<l;o++)t[o]&&(n=br(t[o]))&&(r&&(r+=" "),r+=n)}else for(n in t)t[n]&&(r&&(r+=" "),r+=n);return r}function wr(){for(var t,o,n=0,r="",l=arguments.length;n<l;n++)(t=arguments[n])&&(o=br(t))&&(r&&(r+=" "),r+=o);return r}const En=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,Bn=wr,Ha=(t,o)=>n=>{var r;if(o?.variants==null)return Bn(t,n?.class,n?.className);const{variants:l,defaultVariants:s}=o,a=Object.keys(l).map(i=>{const d=n?.[i],f=s?.[i];if(d===null)return null;const x=En(d)||En(f);return l[i][x]}),c=n&&Object.entries(n).reduce((i,d)=>{let[f,x]=d;return x===void 0||(i[f]=x),i},{}),u=o==null||(r=o.compoundVariants)===null||r===void 0?void 0:r.reduce((i,d)=>{let{class:f,className:x,...b}=d;return Object.entries(b).every(h=>{let[w,v]=h;return Array.isArray(v)?v.includes({...s,...c}[w]):{...s,...c}[w]===v})?[...i,f,x]:i},[]);return Bn(t,a,u,n?.class,n?.className)};function Nn(t){return typeof t=="string"?`'${t}'`:new Ua().serialize(t)}const Ua=(function(){class t{#e=new Map;compare(n,r){const l=typeof n,s=typeof r;return l==="string"&&s==="string"?n.localeCompare(r):l==="number"&&s==="number"?n-r:String.prototype.localeCompare.call(this.serialize(n,!0),this.serialize(r,!0))}serialize(n,r){if(n===null)return"null";switch(typeof n){case"string":return r?n:`'${n}'`;case"bigint":return`${n}n`;case"object":return this.$object(n);case"function":return this.$function(n)}return String(n)}serializeObject(n){const r=Object.prototype.toString.call(n);if(r!=="[object Object]")return this.serializeBuiltInType(r.length<10?`unknown:${r}`:r.slice(8,-1),n);const l=n.constructor,s=l===Object||l===void 0?"":l.name;if(s!==""&&globalThis[s]===l)return this.serializeBuiltInType(s,n);if(typeof n.toJSON=="function"){const a=n.toJSON();return s+(a!==null&&typeof a=="object"?this.$object(a):`(${this.serialize(a)})`)}return this.serializeObjectEntries(s,Object.entries(n))}serializeBuiltInType(n,r){const l=this["$"+n];if(l)return l.call(this,r);if(typeof r?.entries=="function")return this.serializeObjectEntries(n,r.entries());throw new Error(`Cannot serialize ${n}`)}serializeObjectEntries(n,r){const l=Array.from(r).sort((a,c)=>this.compare(a[0],c[0]));let s=`${n}{`;for(let a=0;a<l.length;a++){const[c,u]=l[a];s+=`${this.serialize(c,!0)}:${this.serialize(u)}`,a<l.length-1&&(s+=",")}return s+"}"}$object(n){let r=this.#e.get(n);return r===void 0&&(this.#e.set(n,`#${this.#e.size}`),r=this.serializeObject(n),this.#e.set(n,r)),r}$function(n){const r=Function.prototype.toString.call(n);return r.slice(-15)==="[native code] }"?`${n.name||""}()[native]`:`${n.name}(${n.length})${r.replace(/\s*\n\s*/g,"")}`}$Array(n){let r="[";for(let l=0;l<n.length;l++)r+=this.serialize(n[l]),l<n.length-1&&(r+=",");return r+"]"}$Date(n){try{return`Date(${n.toISOString()})`}catch{return"Date(null)"}}$ArrayBuffer(n){return`ArrayBuffer[${new Uint8Array(n).join(",")}]`}$Set(n){return`Set${this.$Array(Array.from(n).sort((r,l)=>this.compare(r,l)))}`}$Map(n){return this.serializeObjectEntries("Map",n.entries())}}for(const o of["Error","RegExp","URL"])t.prototype["$"+o]=function(n){return`${o}(${n})`};for(const o of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])t.prototype["$"+o]=function(n){return`${o}[${n.join(",")}]`};for(const o of["BigInt64Array","BigUint64Array"])t.prototype["$"+o]=function(n){return`${o}[${n.join("n,")}${n.length>0?"n":""}]`};return t})();function Wa(t,o){return t===o||Nn(t)===Nn(o)}function Sn(t,o=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY){return Math.min(n,Math.max(o,t))}function We(t,o){const n=typeof t=="string"&&!o?`${t}Context`:o,r=Symbol(n);return[a=>{const c=e.inject(r,a);if(c||c===null)return c;throw new Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(t)?`one of the following components: ${t.join(", ")}`:`\`${t}\``}`)},a=>(e.provide(r,a),a)]}function Se(){let t=document.activeElement;if(t==null)return null;for(;t!=null&&t.shadowRoot!=null&&t.shadowRoot.activeElement!=null;)t=t.shadowRoot.activeElement;return t}function on(t,o,n){const r=n.originalEvent.target,l=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});o&&r.addEventListener(t,o,{once:!0}),r.dispatchEvent(l)}function Oo(t){return t==null}function nn(t){return t?t.flatMap(o=>o.type===e.Fragment?nn(o.children):[o]):[]}const[co]=We("ConfigProvider");function Ga(t,o){return e.getCurrentScope()?(e.onScopeDispose(t,o),!0):!1}const Et=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function Ka(t){return e.getCurrentInstance()}function Ya(t,o=1e4){return e.customRef((n,r)=>{let l=e.toValue(t),s;const a=()=>setTimeout(()=>{l=e.toValue(t),r()},e.toValue(o));return Ga(()=>{clearTimeout(s)}),{get(){return n(),l},set(c){l=c,r(),clearTimeout(s),s=a()}}})}function Qa(t,o){Ka()&&e.onBeforeUnmount(t,o)}function Co(t){if(t===null||typeof t!="object")return!1;const o=Object.getPrototypeOf(t);return o!==null&&o!==Object.prototype&&Object.getPrototypeOf(o)!==null||Symbol.iterator in t?!1:Symbol.toStringTag in t?Object.prototype.toString.call(t)==="[object Module]":!0}function Ro(t,o,n=".",r){if(!Co(o))return Ro(t,{},n,r);const l=Object.assign({},o);for(const s in t){if(s==="__proto__"||s==="constructor")continue;const a=t[s];a!=null&&(r&&r(l,s,a,n)||(Array.isArray(a)&&Array.isArray(l[s])?l[s]=[...a,...l[s]]:Co(a)&&Co(l[s])?l[s]=Ro(a,l[s],(n?`${n}.`:"")+s.toString(),r):l[s]=a))}return l}function Xa(t){return(...o)=>o.reduce((n,r)=>Ro(n,r,"",t),{})}const Za=Xa(),Ja=se.createSharedComposable(()=>{const t=e.ref(new Map),o=e.ref(),n=e.computed(()=>{for(const s of t.value.values())if(s)return!0;return!1}),r=co({scrollBody:e.ref(!0)}),l=()=>{document.body.style.paddingRight="",document.body.style.marginRight="",document.body.style.pointerEvents="",document.documentElement.style.removeProperty("--scrollbar-width"),document.body.style.overflow=o.value??"",o.value=void 0};return e.watch(n,(s,a)=>{if(!Et)return;if(!s){a&&l();return}o.value===void 0&&(o.value=document.body.style.overflow);const c=window.innerWidth-document.documentElement.clientWidth,u={padding:c,margin:0},i=r.scrollBody?.value?typeof r.scrollBody.value=="object"?Za({padding:r.scrollBody.value.padding===!0?c:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?c:r.scrollBody.value.margin},u):u:{padding:0,margin:0};c>0&&(document.body.style.paddingRight=typeof i.padding=="number"?`${i.padding}px`:String(i.padding),document.body.style.marginRight=typeof i.margin=="number"?`${i.margin}px`:String(i.margin),document.documentElement.style.setProperty("--scrollbar-width",`${c}px`),document.body.style.overflow="hidden"),e.nextTick(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})},{immediate:!0,flush:"sync"}),t});function kr(t){const o=Math.random().toString(36).substring(2,7),n=Ja();n.value.set(o,t??!1);const r=e.computed({get:()=>n.value.get(o)??!1,set:l=>n.value.set(o,l)});return Qa(()=>{n.value.delete(o)}),r}function es(t){const o=co({dir:e.ref("ltr")});return e.computed(()=>t?.value||o.dir?.value||"ltr")}function uo(t){const o=e.getCurrentInstance(),n=o?.type.emits,r={};return n?.length||console.warn(`No emitted event found. Please check component: ${o?.type.__name}`),n?.forEach(l=>{r[e.toHandlerKey(e.camelize(l))]=(...s)=>t(l,...s)}),r}let Eo=0;function ts(){e.watchEffect(t=>{if(!Et)return;const o=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",o[0]??Vn()),document.body.insertAdjacentElement("beforeend",o[1]??Vn()),Eo++,t(()=>{Eo===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(n=>n.remove()),Eo--})})}function Vn(){const t=document.createElement("span");return t.setAttribute("data-reka-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}function xr(t){return e.computed(()=>e.toValue(t)?!!se.unrefElement(t)?.closest("form"):!0)}function pe(){const t=e.getCurrentInstance(),o=e.ref(),n=e.computed(()=>["#text","#comment"].includes(o.value?.$el.nodeName)?o.value?.$el.nextElementSibling:se.unrefElement(o)),r=Object.assign({},t.exposed),l={};for(const a in t.props)Object.defineProperty(l,a,{enumerable:!0,configurable:!0,get:()=>t.props[a]});if(Object.keys(r).length>0)for(const a in r)Object.defineProperty(l,a,{enumerable:!0,configurable:!0,get:()=>r[a]});Object.defineProperty(l,"$el",{enumerable:!0,configurable:!0,get:()=>t.vnode.el}),t.exposed=l;function s(a){if(o.value=a,!!a&&(Object.defineProperty(l,"$el",{enumerable:!0,configurable:!0,get:()=>a instanceof Element?a:a.$el}),!(a instanceof Element)&&!Object.hasOwn(a,"$el"))){const c=a.$.exposed,u=Object.assign({},l);for(const i in c)Object.defineProperty(u,i,{enumerable:!0,configurable:!0,get:()=>c[i]});t.exposed=u}}return{forwardRef:s,currentRef:o,currentElement:n}}function Ge(t){const o=e.getCurrentInstance(),n=Object.keys(o?.type.props??{}).reduce((l,s)=>{const a=(o?.type.props[s]).default;return a!==void 0&&(l[s]=a),l},{}),r=e.toRef(t);return e.computed(()=>{const l={},s=o?.vnode.props??{};return Object.keys(s).forEach(a=>{l[e.camelize(a)]=s[a]}),Object.keys({...n,...l}).reduce((a,c)=>(r.value[c]!==void 0&&(a[c]=r.value[c]),a),{})})}function Bt(t,o){const n=Ge(t),r=o?uo(o):{};return e.computed(()=>({...n.value,...r}))}var os=function(t){if(typeof document>"u")return null;var o=Array.isArray(t)?t[0]:t;return o.ownerDocument.body},pt=new WeakMap,Rt=new WeakMap,Lt={},Bo=0,Cr=function(t){return t&&(t.host||Cr(t.parentNode))},ns=function(t,o){return o.map(function(n){if(t.contains(n))return n;var r=Cr(n);return r&&t.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},rs=function(t,o,n,r){var l=ns(o,Array.isArray(t)?t:[t]);Lt[n]||(Lt[n]=new WeakMap);var s=Lt[n],a=[],c=new Set,u=new Set(l),i=function(f){!f||c.has(f)||(c.add(f),i(f.parentNode))};l.forEach(i);var d=function(f){!f||u.has(f)||Array.prototype.forEach.call(f.children,function(x){if(c.has(x))d(x);else try{var b=x.getAttribute(r),h=b!==null&&b!=="false",w=(pt.get(x)||0)+1,v=(s.get(x)||0)+1;pt.set(x,w),s.set(x,v),a.push(x),w===1&&h&&Rt.set(x,!0),v===1&&x.setAttribute(n,"true"),h||x.setAttribute(r,"true")}catch(C){console.error("aria-hidden: cannot operate on ",x,C)}})};return d(o),c.clear(),Bo++,function(){a.forEach(function(f){var x=pt.get(f)-1,b=s.get(f)-1;pt.set(f,x),s.set(f,b),x||(Rt.has(f)||f.removeAttribute(r),Rt.delete(f)),b||f.removeAttribute(n)}),Bo--,Bo||(pt=new WeakMap,pt=new WeakMap,Rt=new WeakMap,Lt={})}},ls=function(t,o,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),l=os(t);return l?(r.push.apply(r,Array.from(l.querySelectorAll("[aria-live], script"))),rs(r,l,n,"aria-hidden")):function(){return null}};function Er(t){let o;e.watch(()=>se.unrefElement(t),n=>{n?o=ls(n):o&&o()}),e.onUnmounted(()=>{o&&o()})}let as=0;function oo(t,o="reka"){if("useId"in bn)return`${o}-${bn.useId?.()}`;const n=co({useId:void 0});return n.useId?`${o}-${n.useId()}`:`${o}-${++as}`}function ss(t){const o=e.ref(),n=e.computed(()=>o.value?.width??0),r=e.computed(()=>o.value?.height??0);return e.onMounted(()=>{const l=se.unrefElement(t);if(l){o.value={width:l.offsetWidth,height:l.offsetHeight};const s=new ResizeObserver(a=>{if(!Array.isArray(a)||!a.length)return;const c=a[0];let u,i;if("borderBoxSize"in c){const d=c.borderBoxSize,f=Array.isArray(d)?d[0]:d;u=f.inlineSize,i=f.blockSize}else u=l.offsetWidth,i=l.offsetHeight;o.value={width:u,height:i}});return s.observe(l,{box:"border-box"}),()=>s.unobserve(l)}else o.value=void 0}),{width:n,height:r}}function is(t,o){const n=e.ref(t);function r(s){return o[n.value][s]??n.value}return{state:n,dispatch:s=>{n.value=r(s)}}}function Br(t){const o=Ya("",1e3);return{search:o,handleTypeaheadSearch:(l,s)=>{o.value=o.value+l;{const a=Se(),c=s.map(x=>({...x,textValue:x.value?.textValue??x.ref.textContent?.trim()??""})),u=c.find(x=>x.ref===a),i=c.map(x=>x.textValue),d=us(i,o.value,u?.textValue),f=c.find(x=>x.textValue===d);return f&&f.ref.focus(),f?.ref}},resetTypeahead:()=>{o.value=""}}}function cs(t,o){return t.map((n,r)=>t[(o+r)%t.length])}function us(t,o,n){const l=o.length>1&&Array.from(o).every(i=>i===o[0])?o[0]:o,s=n?t.indexOf(n):-1;let a=cs(t,Math.max(s,0));l.length===1&&(a=a.filter(i=>i!==n));const u=a.find(i=>i.toLowerCase().startsWith(l.toLowerCase()));return u!==n?u:void 0}function ds(t,o){const n=e.ref({}),r=e.ref("none"),l=e.ref(t),s=t.value?"mounted":"unmounted";let a;const c=o.value?.ownerDocument.defaultView??se.defaultWindow,{state:u,dispatch:i}=is(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=v=>{if(Et){const C=new CustomEvent(v,{bubbles:!1,cancelable:!1});o.value?.dispatchEvent(C)}};e.watch(t,async(v,C)=>{const p=C!==v;if(await e.nextTick(),p){const k=r.value,m=Ft(o.value);v?(i("MOUNT"),d("enter"),m==="none"&&d("after-enter")):m==="none"||m==="undefined"||n.value?.display==="none"?(i("UNMOUNT"),d("leave"),d("after-leave")):C&&k!==m?(i("ANIMATION_OUT"),d("leave")):(i("UNMOUNT"),d("after-leave"))}},{immediate:!0});const f=v=>{const C=Ft(o.value),p=C.includes(CSS.escape(v.animationName)),k=u.value==="mounted"?"enter":"leave";if(v.target===o.value&&p&&(d(`after-${k}`),i("ANIMATION_END"),!l.value)){const m=o.value.style.animationFillMode;o.value.style.animationFillMode="forwards",a=c?.setTimeout(()=>{o.value?.style.animationFillMode==="forwards"&&(o.value.style.animationFillMode=m)})}v.target===o.value&&C==="none"&&i("ANIMATION_END")},x=v=>{v.target===o.value&&(r.value=Ft(o.value))},b=e.watch(o,(v,C)=>{v?(n.value=getComputedStyle(v),v.addEventListener("animationstart",x),v.addEventListener("animationcancel",f),v.addEventListener("animationend",f)):(i("ANIMATION_END"),a!==void 0&&c?.clearTimeout(a),C?.removeEventListener("animationstart",x),C?.removeEventListener("animationcancel",f),C?.removeEventListener("animationend",f))},{immediate:!0}),h=e.watch(u,()=>{const v=Ft(o.value);r.value=u.value==="mounted"?v:"none"});return e.onUnmounted(()=>{b(),h()}),{isPresent:e.computed(()=>["mounted","unmountSuspended"].includes(u.value))}}function Ft(t){return t&&getComputedStyle(t).animationName||"none"}var rn=e.defineComponent({name:"Presence",props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(t,{slots:o,expose:n}){const{present:r,forceMount:l}=e.toRefs(t),s=e.ref(),{isPresent:a}=ds(r,s);n({present:a});let c=o.default({present:a.value});c=nn(c||[]);const u=e.getCurrentInstance();if(c&&c?.length>1){const i=u?.parent?.type.name?`<${u.parent.type.name} />`:"component";throw new Error([`Detected an invalid children for \`${i}\` for \`Presence\` component.`,"","Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.","You can apply a few solutions:",["Provide a single child element so that `presence` directive attach correctly.","Ensure the first child is an actual element instead of a raw text node or comment node."].map(d=>` - ${d}`).join(`
|
|
2
2
|
`)].join(`
|
|
3
|
-
`))}return()=>a.value||r.value||s.value?e.h(n.default({present:s.value})[0],{ref:u=>{const d=ee.unrefElement(u);return typeof d?.hasAttribute>"u"||(d?.hasAttribute("data-reka-popper-content-wrapper")?l.value=d.firstElementChild:l.value=d),d}}):null}});const Gn=e.defineComponent({name:"PrimitiveSlot",inheritAttrs:!1,setup(t,{attrs:n,slots:o}){return()=>{if(!o.default)return null;const r=po(o.default()),a=r.findIndex(c=>c.type!==e.Comment);if(a===-1)return r;const l=r[a];delete l.props?.ref;const s=l.props?e.mergeProps(n,l.props):n,i=e.cloneVNode({...l,props:{}},s);return r.length===1?i:(r[a]=i,r)}}}),Is=["area","img","input"],de=e.defineComponent({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(t,{attrs:n,slots:o}){const r=t.asChild?"template":t.as;return typeof r=="string"&&Is.includes(r)?()=>e.h(r,n):r!=="template"?()=>e.h(t.as,n,{default:o.default}):()=>e.h(Gn,n,{default:o.default})}});function Kn(){const t=e.ref(),n=e.computed(()=>["#text","#comment"].includes(t.value?.$el.nodeName)?t.value?.$el.nextElementSibling:ee.unrefElement(t));return{primitiveElement:t,currentElement:n}}const[Ue,As]=Se("DialogRoot");var Ts=e.defineComponent({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(t,{emit:n}){const o=t,r=n,a=ee.useVModel(o,"open",r,{defaultValue:o.defaultOpen,passive:o.open===void 0}),l=e.ref(),s=e.ref(),{modal:i}=e.toRefs(o);return As({open:a,modal:i,openModal:()=>{a.value=!0},onOpenChange:c=>{a.value=c},onOpenToggle:()=>{a.value=!a.value},contentId:"",titleId:"",descriptionId:"",triggerElement:l,contentElement:s}),(c,u)=>e.renderSlot(c.$slots,"default",{open:e.unref(a),close:()=>a.value=!1})}}),Ps=Ts,$s=e.defineComponent({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t;le();const o=Ue();return(r,a)=>(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps(n,{type:r.as==="button"?"button":void 0,onClick:a[0]||(a[0]=l=>e.unref(o).onOpenChange(!1))}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["type"]))}}),Os=$s;const Rs="dismissableLayer.pointerDownOutside",qs="dismissableLayer.focusOutside";function $r(t,n){const o=n.closest("[data-dismissable-layer]"),r=t.dataset.dismissableLayer===""?t:t.querySelector("[data-dismissable-layer]"),a=Array.from(t.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(o&&(r===o||a.indexOf(r)<a.indexOf(o)))}function Fs(t,n,o=!0){const r=n?.value?.ownerDocument??globalThis?.document,a=e.ref(!1),l=e.ref(()=>{});return e.watchEffect(s=>{if(!St||!e.toValue(o))return;const i=async u=>{const d=u.target;if(!(!n?.value||!d)){if($r(n.value,d)){a.value=!1;return}if(u.target&&!a.value){let g=function(){mo(Rs,t,f)};const f={originalEvent:u};u.pointerType==="touch"?(r.removeEventListener("click",l.value),l.value=g,r.addEventListener("click",l.value,{once:!0})):g()}else r.removeEventListener("click",l.value);a.value=!1}},c=window.setTimeout(()=>{r.addEventListener("pointerdown",i)},0);s(()=>{window.clearTimeout(c),r.removeEventListener("pointerdown",i),r.removeEventListener("click",l.value)})}),{onPointerDownCapture:()=>{e.toValue(o)&&(a.value=!0)}}}function Ls(t,n,o=!0){const r=n?.value?.ownerDocument??globalThis?.document,a=e.ref(!1);return e.watchEffect(l=>{if(!St||!e.toValue(o))return;const s=async i=>{if(!n?.value)return;await e.nextTick(),await e.nextTick();const c=i.target;!n.value||!c||$r(n.value,c)||i.target&&!a.value&&mo(qs,t,{originalEvent:i})};r.addEventListener("focusin",s),l(()=>r.removeEventListener("focusin",s))}),{onFocusCapture:()=>{e.toValue(o)&&(a.value=!0)},onBlurCapture:()=>{e.toValue(o)&&(a.value=!1)}}}const _e=e.reactive({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var js=e.defineComponent({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(t,{emit:n}){const o=t,r=n,{forwardRef:a,currentElement:l}=le(),s=e.computed(()=>l.value?.ownerDocument??globalThis.document),i=e.computed(()=>_e.layersRoot),c=e.computed(()=>l.value?Array.from(i.value).indexOf(l.value):-1),u=e.computed(()=>_e.layersWithOutsidePointerEventsDisabled.size>0),d=e.computed(()=>{const k=Array.from(i.value),[b]=[..._e.layersWithOutsidePointerEventsDisabled].slice(-1),y=k.indexOf(b);return c.value>=y}),f=Fs(async k=>{const b=[..._e.branches].some(y=>y?.contains(k.target));!d.value||b||(r("pointerDownOutside",k),r("interactOutside",k),await e.nextTick(),k.defaultPrevented||r("dismiss"))},l),g=Ls(k=>{[..._e.branches].some(y=>y?.contains(k.target))||(r("focusOutside",k),r("interactOutside",k),k.defaultPrevented||r("dismiss"))},l);return ee.onKeyStroke("Escape",k=>{c.value===i.value.size-1&&(r("escapeKeyDown",k),k.defaultPrevented||r("dismiss"))}),e.watchEffect(k=>{l.value&&(o.disableOutsidePointerEvents&&(_e.layersWithOutsidePointerEventsDisabled.size===0&&(_e.originalBodyPointerEvents=s.value.body.style.pointerEvents,s.value.body.style.pointerEvents="none"),_e.layersWithOutsidePointerEventsDisabled.add(l.value)),i.value.add(l.value),k(()=>{o.disableOutsidePointerEvents&&_e.layersWithOutsidePointerEventsDisabled.size===1&&!Wn(_e.originalBodyPointerEvents)&&(s.value.body.style.pointerEvents=_e.originalBodyPointerEvents)}))}),e.watchEffect(k=>{k(()=>{l.value&&(i.value.delete(l.value),_e.layersWithOutsidePointerEventsDisabled.delete(l.value))})}),(k,b)=>(e.openBlock(),e.createBlock(e.unref(de),{ref:e.unref(a),"as-child":k.asChild,as:k.as,"data-dismissable-layer":"",style:e.normalizeStyle({pointerEvents:u.value?d.value?"auto":"none":void 0}),onFocusCapture:e.unref(g).onFocusCapture,onBlurCapture:e.unref(g).onBlurCapture,onPointerdownCapture:e.unref(f).onPointerDownCapture},{default:e.withCtx(()=>[e.renderSlot(k.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),yo=js;const Hs=ee.createGlobalState(()=>e.ref([]));function Ws(){const t=Hs();return{add(n){const o=t.value[0];n!==o&&o?.pause(),t.value=Go(t.value,n),t.value.unshift(n)},remove(n){t.value=Go(t.value,n),t.value[0]?.resume()}}}function Go(t,n){const o=[...t],r=o.indexOf(n);return r!==-1&&o.splice(r,1),o}const Vn="focusScope.autoFocusOnMount",_n="focusScope.autoFocusOnUnmount",Ko={bubbles:!1,cancelable:!0};function Us(t,{select:n=!1}={}){const o=xe();for(const r of t)if(Ye(r,{select:n}),xe()!==o)return!0}function Gs(t){const n=Or(t),o=Yo(n,t),r=Yo(n.reverse(),t);return[o,r]}function Or(t){const n=[],o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const a=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||a?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)n.push(o.currentNode);return n}function Yo(t,n){for(const o of t)if(!Ks(o,{upTo:n}))return o}function Ks(t,{upTo:n}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(n!==void 0&&t===n)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function Ys(t){return t instanceof HTMLInputElement&&"select"in t}function Ye(t,{select:n=!1}={}){if(t&&t.focus){const o=xe();t.focus({preventScroll:!0}),t!==o&&Ys(t)&&n&&t.select()}}var Qs=e.defineComponent({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(t,{emit:n}){const o=t,r=n,{currentRef:a,currentElement:l}=le(),s=e.ref(null),i=Ws(),c=e.reactive({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});e.watchEffect(d=>{if(!St)return;const f=l.value;if(!o.trapped)return;function g(v){if(c.paused||!f)return;const h=v.target;f.contains(h)?s.value=h:Ye(s.value,{select:!0})}function k(v){if(c.paused||!f)return;const h=v.relatedTarget;h!==null&&(f.contains(h)||Ye(s.value,{select:!0}))}function b(v){f.contains(s.value)||Ye(f)}document.addEventListener("focusin",g),document.addEventListener("focusout",k);const y=new MutationObserver(b);f&&y.observe(f,{childList:!0,subtree:!0}),d(()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",k),y.disconnect()})}),e.watchEffect(async d=>{const f=l.value;if(await e.nextTick(),!f)return;i.add(c);const g=xe();if(!f.contains(g)){const b=new CustomEvent(Vn,Ko);f.addEventListener(Vn,y=>r("mountAutoFocus",y)),f.dispatchEvent(b),b.defaultPrevented||(Us(Or(f),{select:!0}),xe()===g&&Ye(f))}d(()=>{f.removeEventListener(Vn,v=>r("mountAutoFocus",v));const b=new CustomEvent(_n,Ko),y=v=>{r("unmountAutoFocus",v)};f.addEventListener(_n,y),f.dispatchEvent(b),setTimeout(()=>{b.defaultPrevented||Ye(g??document.body,{select:!0}),f.removeEventListener(_n,y),i.remove(c)},0)})});function u(d){if(!o.loop&&!o.trapped||c.paused)return;const f=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,g=xe();if(f&&g){const k=d.currentTarget,[b,y]=Gs(k);b&&y?!d.shiftKey&&g===y?(d.preventDefault(),o.loop&&Ye(b,{select:!0})):d.shiftKey&&g===b&&(d.preventDefault(),o.loop&&Ye(y,{select:!0})):g===k&&d.preventDefault()}}return(d,f)=>(e.openBlock(),e.createBlock(e.unref(de),{ref_key:"currentRef",ref:a,tabindex:"-1","as-child":d.asChild,as:d.as,onKeydown:u},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},8,["as-child","as"]))}}),bo=Qs;const Xs="menu.itemSelect",Yn=["Enter"," "],Zs=["ArrowDown","PageUp","Home"],Rr=["ArrowUp","PageDown","End"],Js=[...Zs,...Rr];[...Yn],[...Yn];function qr(t){return t?"open":"closed"}function Qn(t){const n=xe();for(const o of t)if(o===n||(o.focus(),xe()!==n))return}function ei(t,n){const{x:o,y:r}=t;let a=!1;for(let l=0,s=n.length-1;l<n.length;s=l++){const i=n[l].x,c=n[l].y,u=n[s].x,d=n[s].y;c>r!=d>r&&o<(u-i)*(r-c)/(d-c)+i&&(a=!a)}return a}function ti(t,n){if(!n)return!1;const o={x:t.clientX,y:t.clientY};return ei(o,n)}function Xn(t){return t.pointerType==="mouse"}const ni="DialogTitle",oi="DialogContent";function ri({titleName:t=ni,contentName:n=oi,componentLink:o="dialog.html#title",titleId:r,descriptionId:a,contentElement:l}){const s=`Warning: \`${n}\` requires a \`${t}\` for the component to be accessible for screen reader users.
|
|
3
|
+
`))}return()=>l.value||r.value||a.value?e.h(o.default({present:a.value})[0],{ref:i=>{const d=se.unrefElement(i);return typeof d?.hasAttribute>"u"||(d?.hasAttribute("data-reka-popper-content-wrapper")?s.value=d.firstElementChild:s.value=d),d}}):null}});const Lo=e.defineComponent({name:"PrimitiveSlot",inheritAttrs:!1,setup(t,{attrs:o,slots:n}){return()=>{if(!n.default)return null;const r=nn(n.default()),l=r.findIndex(u=>u.type!==e.Comment);if(l===-1)return r;const s=r[l];delete s.props?.ref;const a=s.props?e.mergeProps(o,s.props):o,c=e.cloneVNode({...s,props:{}},a);return r.length===1?c:(r[l]=c,r)}}}),fs=["area","img","input"],ve=e.defineComponent({name:"Primitive",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:"div"}},setup(t,{attrs:o,slots:n}){const r=t.asChild?"template":t.as;return typeof r=="string"&&fs.includes(r)?()=>e.h(r,o):r!=="template"?()=>e.h(t.as,o,{default:n.default}):()=>e.h(Lo,o,{default:n.default})}});function Fo(){const t=e.ref(),o=e.computed(()=>["#text","#comment"].includes(t.value?.$el.nodeName)?t.value?.$el.nextElementSibling:se.unrefElement(t));return{primitiveElement:t,currentElement:o}}const[Ke,ms]=We("DialogRoot");var ps=e.defineComponent({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(t,{emit:o}){const n=t,r=o,l=se.useVModel(n,"open",r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),s=e.ref(),a=e.ref(),{modal:c}=e.toRefs(n);return ms({open:l,modal:c,openModal:()=>{l.value=!0},onOpenChange:u=>{l.value=u},onOpenToggle:()=>{l.value=!l.value},contentId:"",titleId:"",descriptionId:"",triggerElement:s,contentElement:a}),(u,i)=>e.renderSlot(u.$slots,"default",{open:e.unref(l),close:()=>l.value=!1})}}),vs=ps,gs=e.defineComponent({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const o=t;pe();const n=Ke();return(r,l)=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps(o,{type:r.as==="button"?"button":void 0,onClick:l[0]||(l[0]=s=>e.unref(n).onOpenChange(!1))}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["type"]))}}),hs=gs;const ys="dismissableLayer.pointerDownOutside",bs="dismissableLayer.focusOutside";function Nr(t,o){const n=o.closest("[data-dismissable-layer]"),r=t.dataset.dismissableLayer===""?t:t.querySelector("[data-dismissable-layer]"),l=Array.from(t.ownerDocument.querySelectorAll("[data-dismissable-layer]"));return!!(n&&(r===n||l.indexOf(r)<l.indexOf(n)))}function ws(t,o,n=!0){const r=o?.value?.ownerDocument??globalThis?.document,l=e.ref(!1),s=e.ref(()=>{});return e.watchEffect(a=>{if(!Et||!e.toValue(n))return;const c=async i=>{const d=i.target;if(!(!o?.value||!d)){if(Nr(o.value,d)){l.value=!1;return}if(i.target&&!l.value){let x=function(){on(ys,t,f)};const f={originalEvent:i};i.pointerType==="touch"?(r.removeEventListener("click",s.value),s.value=x,r.addEventListener("click",s.value,{once:!0})):x()}else r.removeEventListener("click",s.value);l.value=!1}},u=window.setTimeout(()=>{r.addEventListener("pointerdown",c)},0);a(()=>{window.clearTimeout(u),r.removeEventListener("pointerdown",c),r.removeEventListener("click",s.value)})}),{onPointerDownCapture:()=>{e.toValue(n)&&(l.value=!0)}}}function ks(t,o,n=!0){const r=o?.value?.ownerDocument??globalThis?.document,l=e.ref(!1);return e.watchEffect(s=>{if(!Et||!e.toValue(n))return;const a=async c=>{if(!o?.value)return;await e.nextTick(),await e.nextTick();const u=c.target;!o.value||!u||Nr(o.value,u)||c.target&&!l.value&&on(bs,t,{originalEvent:c})};r.addEventListener("focusin",a),s(()=>r.removeEventListener("focusin",a))}),{onFocusCapture:()=>{e.toValue(n)&&(l.value=!0)},onBlurCapture:()=>{e.toValue(n)&&(l.value=!1)}}}const Me=e.reactive({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var xs=e.defineComponent({__name:"DismissableLayer",props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","dismiss"],setup(t,{emit:o}){const n=t,r=o,{forwardRef:l,currentElement:s}=pe(),a=e.computed(()=>s.value?.ownerDocument??globalThis.document),c=e.computed(()=>Me.layersRoot),u=e.computed(()=>s.value?Array.from(c.value).indexOf(s.value):-1),i=e.computed(()=>Me.layersWithOutsidePointerEventsDisabled.size>0),d=e.computed(()=>{const b=Array.from(c.value),[h]=[...Me.layersWithOutsidePointerEventsDisabled].slice(-1),w=b.indexOf(h);return u.value>=w}),f=ws(async b=>{const h=[...Me.branches].some(w=>w?.contains(b.target));!d.value||h||(r("pointerDownOutside",b),r("interactOutside",b),await e.nextTick(),b.defaultPrevented||r("dismiss"))},s),x=ks(b=>{[...Me.branches].some(w=>w?.contains(b.target))||(r("focusOutside",b),r("interactOutside",b),b.defaultPrevented||r("dismiss"))},s);return se.onKeyStroke("Escape",b=>{u.value===c.value.size-1&&(r("escapeKeyDown",b),b.defaultPrevented||r("dismiss"))}),e.watchEffect(b=>{s.value&&(n.disableOutsidePointerEvents&&(Me.layersWithOutsidePointerEventsDisabled.size===0&&(Me.originalBodyPointerEvents=a.value.body.style.pointerEvents,a.value.body.style.pointerEvents="none"),Me.layersWithOutsidePointerEventsDisabled.add(s.value)),c.value.add(s.value),b(()=>{n.disableOutsidePointerEvents&&Me.layersWithOutsidePointerEventsDisabled.size===1&&!Oo(Me.originalBodyPointerEvents)&&(a.value.body.style.pointerEvents=Me.originalBodyPointerEvents)}))}),e.watchEffect(b=>{b(()=>{s.value&&(c.value.delete(s.value),Me.layersWithOutsidePointerEventsDisabled.delete(s.value))})}),(b,h)=>(e.openBlock(),e.createBlock(e.unref(ve),{ref:e.unref(l),"as-child":b.asChild,as:b.as,"data-dismissable-layer":"",style:e.normalizeStyle({pointerEvents:i.value?d.value?"auto":"none":void 0}),onFocusCapture:e.unref(x).onFocusCapture,onBlurCapture:e.unref(x).onBlurCapture,onPointerdownCapture:e.unref(f).onPointerDownCapture},{default:e.withCtx(()=>[e.renderSlot(b.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),Sr=xs;const Cs=se.createGlobalState(()=>e.ref([]));function Es(){const t=Cs();return{add(o){const n=t.value[0];o!==n&&n?.pause(),t.value=Mn(t.value,o),t.value.unshift(o)},remove(o){t.value=Mn(t.value,o),t.value[0]?.resume()}}}function Mn(t,o){const n=[...t],r=n.indexOf(o);return r!==-1&&n.splice(r,1),n}const No="focusScope.autoFocusOnMount",So="focusScope.autoFocusOnUnmount",Dn={bubbles:!1,cancelable:!0};function Bs(t,{select:o=!1}={}){const n=Se();for(const r of t)if(Ze(r,{select:o}),Se()!==n)return!0}function Ns(t){const o=Vr(t),n=zn(o,t),r=zn(o.reverse(),t);return[n,r]}function Vr(t){const o=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const l=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||l?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)o.push(n.currentNode);return o}function zn(t,o){for(const n of t)if(!Ss(n,{upTo:o}))return n}function Ss(t,{upTo:o}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(o!==void 0&&t===o)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function Vs(t){return t instanceof HTMLInputElement&&"select"in t}function Ze(t,{select:o=!1}={}){if(t&&t.focus){const n=Se();t.focus({preventScroll:!0}),t!==n&&Vs(t)&&o&&t.select()}}var Ms=e.defineComponent({__name:"FocusScope",props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["mountAutoFocus","unmountAutoFocus"],setup(t,{emit:o}){const n=t,r=o,{currentRef:l,currentElement:s}=pe(),a=e.ref(null),c=Es(),u=e.reactive({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});e.watchEffect(d=>{if(!Et)return;const f=s.value;if(!n.trapped)return;function x(v){if(u.paused||!f)return;const C=v.target;f.contains(C)?a.value=C:Ze(a.value,{select:!0})}function b(v){if(u.paused||!f)return;const C=v.relatedTarget;C!==null&&(f.contains(C)||Ze(a.value,{select:!0}))}function h(v){f.contains(a.value)||Ze(f)}document.addEventListener("focusin",x),document.addEventListener("focusout",b);const w=new MutationObserver(h);f&&w.observe(f,{childList:!0,subtree:!0}),d(()=>{document.removeEventListener("focusin",x),document.removeEventListener("focusout",b),w.disconnect()})}),e.watchEffect(async d=>{const f=s.value;if(await e.nextTick(),!f)return;c.add(u);const x=Se();if(!f.contains(x)){const h=new CustomEvent(No,Dn);f.addEventListener(No,w=>r("mountAutoFocus",w)),f.dispatchEvent(h),h.defaultPrevented||(Bs(Vr(f),{select:!0}),Se()===x&&Ze(f))}d(()=>{f.removeEventListener(No,v=>r("mountAutoFocus",v));const h=new CustomEvent(So,Dn),w=v=>{r("unmountAutoFocus",v)};f.addEventListener(So,w),f.dispatchEvent(h),setTimeout(()=>{h.defaultPrevented||Ze(x??document.body,{select:!0}),f.removeEventListener(So,w),c.remove(u)},0)})});function i(d){if(!n.loop&&!n.trapped||u.paused)return;const f=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,x=Se();if(f&&x){const b=d.currentTarget,[h,w]=Ns(b);h&&w?!d.shiftKey&&x===w?(d.preventDefault(),n.loop&&Ze(h,{select:!0})):d.shiftKey&&x===h&&(d.preventDefault(),n.loop&&Ze(w,{select:!0})):x===b&&d.preventDefault()}}return(d,f)=>(e.openBlock(),e.createBlock(e.unref(ve),{ref_key:"currentRef",ref:l,tabindex:"-1","as-child":d.asChild,as:d.as,onKeydown:i},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},8,["as-child","as"]))}}),Mr=Ms;function Ds(t){return t?"open":"closed"}function $n(t){const o=Se();for(const n of t)if(n===o||(n.focus(),Se()!==o))return}const zs="DialogTitle",$s="DialogContent";function Is({titleName:t=zs,contentName:o=$s,componentLink:n="dialog.html#title",titleId:r,descriptionId:l,contentElement:s}){const a=`Warning: \`${o}\` requires a \`${t}\` for the component to be accessible for screen reader users.
|
|
4
4
|
|
|
5
5
|
If you want to hide the \`${t}\`, you can wrap it with our VisuallyHidden component.
|
|
6
6
|
|
|
7
|
-
For more information, see https://www.reka-ui.com/docs/components/${o}`,i=`Warning: Missing \`Description\` or \`aria-describedby="undefined"\` for ${n}.`;e.onMounted(()=>{document.getElementById(r)||console.warn(s);const u=l.value?.getAttribute("aria-describedby");a&&u&&(document.getElementById(a)||console.warn(i))})}var ai=e.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(t,{emit:n}){const o=t,r=n,a=Ue(),{forwardRef:l,currentElement:s}=le();return a.titleId||=Bt(void 0,"reka-dialog-title"),a.descriptionId||=Bt(void 0,"reka-dialog-description"),e.onMounted(()=>{a.contentElement=s,xe()!==document.body&&(a.triggerElement.value=xe())}),process.env.NODE_ENV!=="production"&&ri({titleName:"DialogTitle",contentName:"DialogContent",componentLink:"dialog.html#title",titleId:a.titleId,descriptionId:a.descriptionId,contentElement:s}),(i,c)=>(e.openBlock(),e.createBlock(e.unref(bo),{"as-child":"",loop:"",trapped:o.trapFocus,onMountAutoFocus:c[5]||(c[5]=u=>r("openAutoFocus",u)),onUnmountAutoFocus:c[6]||(c[6]=u=>r("closeAutoFocus",u))},{default:e.withCtx(()=>[e.createVNode(e.unref(yo),e.mergeProps({id:e.unref(a).contentId,ref:e.unref(l),as:i.as,"as-child":i.asChild,"disable-outside-pointer-events":i.disableOutsidePointerEvents,role:"dialog","aria-describedby":e.unref(a).descriptionId,"aria-labelledby":e.unref(a).titleId,"data-state":e.unref(qr)(e.unref(a).open.value)},i.$attrs,{onDismiss:c[0]||(c[0]=u=>e.unref(a).onOpenChange(!1)),onEscapeKeyDown:c[1]||(c[1]=u=>r("escapeKeyDown",u)),onFocusOutside:c[2]||(c[2]=u=>r("focusOutside",u)),onInteractOutside:c[3]||(c[3]=u=>r("interactOutside",u)),onPointerDownOutside:c[4]||(c[4]=u=>r("pointerDownOutside",u))}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),Fr=ai,li=e.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(t,{emit:n}){const o=t,r=n,a=Ue(),l=Lt(r),{forwardRef:s,currentElement:i}=le();return go(i),(c,u)=>(e.openBlock(),e.createBlock(Fr,e.mergeProps({...o,...e.unref(l)},{ref:e.unref(s),"trap-focus":e.unref(a).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:u[0]||(u[0]=d=>{d.defaultPrevented||(d.preventDefault(),e.unref(a).triggerElement.value?.focus())}),onPointerDownOutside:u[1]||(u[1]=d=>{const f=d.detail.originalEvent,g=f.button===0&&f.ctrlKey===!0;(f.button===2||g)&&d.preventDefault()}),onFocusOutside:u[2]||(u[2]=d=>{d.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["trap-focus"]))}}),si=li,ii=e.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(t,{emit:n}){const o=t,a=Lt(n);le();const l=Ue(),s=e.ref(!1),i=e.ref(!1);return(c,u)=>(e.openBlock(),e.createBlock(Fr,e.mergeProps({...o,...e.unref(a)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:u[0]||(u[0]=d=>{d.defaultPrevented||(s.value||e.unref(l).triggerElement.value?.focus(),d.preventDefault()),s.value=!1,i.value=!1}),onInteractOutside:u[1]||(u[1]=d=>{d.defaultPrevented||(s.value=!0,d.detail.originalEvent.type==="pointerdown"&&(i.value=!0));const f=d.target;e.unref(l).triggerElement.value?.contains(f)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&i.value&&d.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16))}}),ui=ii,ci=e.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(t,{emit:n}){const o=t,r=n,a=Ue(),l=Lt(r),{forwardRef:s}=le();return(i,c)=>(e.openBlock(),e.createBlock(e.unref(fn),{present:i.forceMount||e.unref(a).open.value},{default:e.withCtx(()=>[e.unref(a).modal.value?(e.openBlock(),e.createBlock(si,e.mergeProps({key:0,ref:e.unref(s)},{...o,...e.unref(l),...i.$attrs}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(ui,e.mergeProps({key:1,ref:e.unref(s)},{...o,...e.unref(l),...i.$attrs}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),di=ci,fi=e.defineComponent({__name:"DialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(t){const n=t;le();const o=Ue();return(r,a)=>(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps(n,{id:e.unref(o).descriptionId}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["id"]))}}),mi=fi,pi=e.defineComponent({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=Ue();return vo(!0),le(),(o,r)=>(e.openBlock(),e.createBlock(e.unref(de),{as:o.as,"as-child":o.asChild,"data-state":e.unref(n).open.value?"open":"closed",style:{"pointer-events":"auto"}},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),vi=pi,gi=e.defineComponent({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=Ue(),{forwardRef:o}=le();return(r,a)=>e.unref(n)?.modal.value?(e.openBlock(),e.createBlock(e.unref(fn),{key:0,present:r.forceMount||e.unref(n).open.value},{default:e.withCtx(()=>[e.createVNode(vi,e.mergeProps(r.$attrs,{ref:e.unref(o),as:r.as,"as-child":r.asChild}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):e.createCommentVNode("v-if",!0)}}),hi=gi,yi=e.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(t){const n=ee.useMounted();return(o,r)=>e.unref(n)||o.forceMount?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:o.to,disabled:o.disabled,defer:o.defer},[e.renderSlot(o.$slots,"default")],8,["to","disabled","defer"])):e.createCommentVNode("v-if",!0)}}),wo=yi,bi=e.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(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(wo),e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),wi=bi,xi=e.defineComponent({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(t){const n=t,o=Ue();return le(),(r,a)=>(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps(n,{id:e.unref(o).titleId}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["id"]))}}),ki=xi;const Qo="data-reka-collection-item";function Ze(t={}){const{key:n="",isProvider:o=!1}=t,r=`${n}CollectionProvider`;let a;if(o){const d=e.ref(new Map);a={collectionRef:e.ref(),itemMap:d},e.provide(r,a)}else a=e.inject(r);const l=(d=!1)=>{const f=a.collectionRef.value;if(!f)return[];const g=Array.from(f.querySelectorAll(`[${Qo}]`)),b=Array.from(a.itemMap.value.values()).sort((y,v)=>g.indexOf(y.ref)-g.indexOf(v.ref));return d?b:b.filter(y=>y.ref.dataset.disabled!=="")},s=e.defineComponent({name:"CollectionSlot",inheritAttrs:!1,setup(d,{slots:f,attrs:g}){const{primitiveElement:k,currentElement:b}=Kn();return e.watch(b,()=>{a.collectionRef.value=b.value}),()=>e.h(Gn,{ref:k,...g},f)}}),i=e.defineComponent({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(d,{slots:f,attrs:g}){const{primitiveElement:k,currentElement:b}=Kn();return e.watchEffect(y=>{if(b.value){const v=e.markRaw(b.value);a.itemMap.value.set(v,{ref:b.value,value:d.value}),y(()=>a.itemMap.value.delete(v))}}),()=>e.h(Gn,{...g,[Qo]:"",ref:k},f)}}),c=e.computed(()=>Array.from(a.itemMap.value.values())),u=e.computed(()=>a.itemMap.value.size);return{getItems:l,reactiveItems:c,itemMapSize:u,CollectionSlot:s,CollectionItem:i}}const Ci="rovingFocusGroup.onEntryFocus",Bi={bubbles:!1,cancelable:!0};function Ei(t,n=!1){const o=xe();for(const r of t)if(r===o||(r.focus({preventScroll:n}),xe()!==o))return}const[jb,Si]=Se("RovingFocusGroup");var Ni=e.defineComponent({__name:"RovingFocusGroup",props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["entryFocus","update:currentTabStopId"],setup(t,{expose:n,emit:o}){const r=t,a=o,{loop:l,orientation:s,dir:i}=e.toRefs(r),c=dn(i),u=ee.useVModel(r,"currentTabStopId",a,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),d=e.ref(!1),f=e.ref(!1),g=e.ref(0),{getItems:k,CollectionSlot:b}=Ze({isProvider:!0});function y(h){const m=!f.value;if(h.currentTarget&&h.target===h.currentTarget&&m&&!d.value){const C=new CustomEvent(Ci,Bi);if(h.currentTarget.dispatchEvent(C),a("entryFocus",C),!C.defaultPrevented){const p=k().map(S=>S.ref).filter(S=>S.dataset.disabled!==""),w=p.find(S=>S.getAttribute("data-active")===""),E=p.find(S=>S.getAttribute("data-highlighted")===""),N=p.find(S=>S.id===u.value),x=[w,E,N,...p].filter(Boolean);Ei(x,r.preventScrollOnEntryFocus)}}f.value=!1}function v(){setTimeout(()=>{f.value=!1},1)}return n({getItems:k}),Si({loop:l,dir:c,orientation:s,currentTabStopId:u,onItemFocus:h=>{u.value=h},onItemShiftTab:()=>{d.value=!0},onFocusableItemAdd:()=>{g.value++},onFocusableItemRemove:()=>{g.value--}}),(h,m)=>(e.openBlock(),e.createBlock(e.unref(b),null,{default:e.withCtx(()=>[e.createVNode(e.unref(de),{tabindex:d.value||g.value===0?-1:0,"data-orientation":e.unref(s),as:h.as,"as-child":h.asChild,dir:e.unref(c),style:{outline:"none"},onMousedown:m[0]||(m[0]=C=>f.value=!0),onMouseup:v,onFocus:y,onBlur:m[1]||(m[1]=C=>d.value=!1)},{default:e.withCtx(()=>[e.renderSlot(h.$slots,"default")]),_:3},8,["tabindex","data-orientation","as","as-child","dir"])]),_:3}))}}),Mi=Ni,Di=e.defineComponent({__name:"VisuallyHidden",props:{feature:{type:String,required:!1,default:"focusable"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){return(n,o)=>(e.openBlock(),e.createBlock(e.unref(de),{as:n.as,"as-child":n.asChild,"aria-hidden":n.feature==="focusable"?"true":void 0,"data-hidden":n.feature==="fully-hidden"?"":void 0,tabindex:n.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:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),Lr=Di,Vi=e.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(t){const n=t,{primitiveElement:o,currentElement:r}=Kn(),a=e.computed(()=>n.checked??n.value);return e.watch(a,(l,s)=>{if(!r.value)return;const i=r.value,c=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(c,"value").set;if(d&&l!==s){const f=new Event("input",{bubbles:!0}),g=new Event("change",{bubbles:!0});d.call(i,l),i.dispatchEvent(f),i.dispatchEvent(g)}}),(l,s)=>(e.openBlock(),e.createBlock(Lr,e.mergeProps({ref_key:"primitiveElement",ref:o},{...n,...l.$attrs},{as:"input"}),null,16))}}),Xo=Vi,_i=e.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(t){const n=t,o=e.computed(()=>typeof n.value=="object"&&Array.isArray(n.value)&&n.value.length===0&&n.required),r=e.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((a,l)=>typeof a=="object"?Object.entries(a).map(([s,i])=>({name:`${n.name}[${l}][${s}]`,value:i})):{name:`${n.name}[${l}]`,value:a}):n.value!==null&&typeof n.value=="object"&&!Array.isArray(n.value)?Object.entries(n.value).map(([a,l])=>({name:`${n.name}[${a}]`,value:l})):[]);return(a,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createCommentVNode(" We render single input if it's required "),o.value?(e.openBlock(),e.createBlock(Xo,e.mergeProps({key:a.name},{...n,...a.$attrs},{name:a.name,value:a.value}),null,16,["name","value"])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(r.value,s=>(e.openBlock(),e.createBlock(Xo,e.mergeProps({key:s.name},{ref_for:!0},{...n,...a.$attrs},{name:s.name,value:s.value}),null,16,["name","value"]))),128))],2112))}}),zi=_i;const[jr,Ii]=Se("PopperRoot");var Ai=e.defineComponent({inheritAttrs:!1,__name:"PopperRoot",setup(t){const n=e.ref();return Ii({anchor:n,onAnchorChange:o=>n.value=o}),(o,r)=>e.renderSlot(o.$slots,"default")}}),Hr=Ai,Ti=e.defineComponent({__name:"PopperAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t,{forwardRef:o,currentElement:r}=le(),a=jr();return e.watchPostEffect(()=>{a.onAnchorChange(n.reference??r.value)}),(l,s)=>(e.openBlock(),e.createBlock(e.unref(de),{ref:e.unref(o),as:l.as,"as-child":l.asChild},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["as","as-child"]))}}),Wr=Ti;function Pi(t){return t!==null}function $i(t){return{name:"transformOrigin",options:t,fn(n){const{placement:o,rects:r,middlewareData:a}=n,s=a.arrow?.centerOffset!==0,i=s?0:t.arrowWidth,c=s?0:t.arrowHeight,[u,d]=Zn(o),f={start:"0%",center:"50%",end:"100%"}[d],g=(a.arrow?.x??0)+i/2,k=(a.arrow?.y??0)+c/2;let b="",y="";return u==="bottom"?(b=s?f:`${g}px`,y=`${-c}px`):u==="top"?(b=s?f:`${g}px`,y=`${r.floating.height+c}px`):u==="right"?(b=`${-c}px`,y=s?f:`${k}px`):u==="left"&&(b=`${r.floating.width+c}px`,y=s?f:`${k}px`),{data:{x:b,y}}}}}function Zn(t){const[n,o="center"]=t.split("-");return[n,o]}const Oi=["top","right","bottom","left"],Qe=Math.min,Me=Math.max,on=Math.round,Zt=Math.floor,Re=t=>({x:t,y:t}),Ri={left:"right",right:"left",bottom:"top",top:"bottom"},qi={start:"end",end:"start"};function Jn(t,n,o){return Me(t,Qe(n,o))}function He(t,n){return typeof t=="function"?t(n):t}function We(t){return t.split("-")[0]}function Nt(t){return t.split("-")[1]}function xo(t){return t==="x"?"y":"x"}function ko(t){return t==="y"?"height":"width"}const Fi=new Set(["top","bottom"]);function Oe(t){return Fi.has(We(t))?"y":"x"}function Co(t){return xo(Oe(t))}function Li(t,n,o){o===void 0&&(o=!1);const r=Nt(t),a=Co(t),l=ko(a);let s=a==="x"?r===(o?"end":"start")?"right":"left":r==="start"?"bottom":"top";return n.reference[l]>n.floating[l]&&(s=rn(s)),[s,rn(s)]}function ji(t){const n=rn(t);return[eo(t),n,eo(n)]}function eo(t){return t.replace(/start|end/g,n=>qi[n])}const Zo=["left","right"],Jo=["right","left"],Hi=["top","bottom"],Wi=["bottom","top"];function Ui(t,n,o){switch(t){case"top":case"bottom":return o?n?Jo:Zo:n?Zo:Jo;case"left":case"right":return n?Hi:Wi;default:return[]}}function Gi(t,n,o,r){const a=Nt(t);let l=Ui(We(t),o==="start",r);return a&&(l=l.map(s=>s+"-"+a),n&&(l=l.concat(l.map(eo)))),l}function rn(t){return t.replace(/left|right|bottom|top/g,n=>Ri[n])}function Ki(t){return{top:0,right:0,bottom:0,left:0,...t}}function Ur(t){return typeof t!="number"?Ki(t):{top:t,right:t,bottom:t,left:t}}function an(t){const{x:n,y:o,width:r,height:a}=t;return{width:r,height:a,top:o,left:n,right:n+r,bottom:o+a,x:n,y:o}}function er(t,n,o){let{reference:r,floating:a}=t;const l=Oe(n),s=Co(n),i=ko(s),c=We(n),u=l==="y",d=r.x+r.width/2-a.width/2,f=r.y+r.height/2-a.height/2,g=r[i]/2-a[i]/2;let k;switch(c){case"top":k={x:d,y:r.y-a.height};break;case"bottom":k={x:d,y:r.y+r.height};break;case"right":k={x:r.x+r.width,y:f};break;case"left":k={x:r.x-a.width,y:f};break;default:k={x:r.x,y:r.y}}switch(Nt(n)){case"start":k[s]-=g*(o&&u?-1:1);break;case"end":k[s]+=g*(o&&u?-1:1);break}return k}async function Yi(t,n){var o;n===void 0&&(n={});const{x:r,y:a,platform:l,rects:s,elements:i,strategy:c}=t,{boundary:u="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:g=!1,padding:k=0}=He(n,t),b=Ur(k),v=i[g?f==="floating"?"reference":"floating":f],h=an(await l.getClippingRect({element:(o=await(l.isElement==null?void 0:l.isElement(v)))==null||o?v:v.contextElement||await(l.getDocumentElement==null?void 0:l.getDocumentElement(i.floating)),boundary:u,rootBoundary:d,strategy:c})),m=f==="floating"?{x:r,y:a,width:s.floating.width,height:s.floating.height}:s.reference,C=await(l.getOffsetParent==null?void 0:l.getOffsetParent(i.floating)),p=await(l.isElement==null?void 0:l.isElement(C))?await(l.getScale==null?void 0:l.getScale(C))||{x:1,y:1}:{x:1,y:1},w=an(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:m,offsetParent:C,strategy:c}):m);return{top:(h.top-w.top+b.top)/p.y,bottom:(w.bottom-h.bottom+b.bottom)/p.y,left:(h.left-w.left+b.left)/p.x,right:(w.right-h.right+b.right)/p.x}}const Qi=async(t,n,o)=>{const{placement:r="bottom",strategy:a="absolute",middleware:l=[],platform:s}=o,i=l.filter(Boolean),c=await(s.isRTL==null?void 0:s.isRTL(n));let u=await s.getElementRects({reference:t,floating:n,strategy:a}),{x:d,y:f}=er(u,r,c),g=r,k={},b=0;for(let v=0;v<i.length;v++){var y;const{name:h,fn:m}=i[v],{x:C,y:p,data:w,reset:E}=await m({x:d,y:f,initialPlacement:r,placement:g,strategy:a,middlewareData:k,rects:u,platform:{...s,detectOverflow:(y=s.detectOverflow)!=null?y:Yi},elements:{reference:t,floating:n}});d=C??d,f=p??f,k={...k,[h]:{...k[h],...w}},E&&b<=50&&(b++,typeof E=="object"&&(E.placement&&(g=E.placement),E.rects&&(u=E.rects===!0?await s.getElementRects({reference:t,floating:n,strategy:a}):E.rects),{x:d,y:f}=er(u,g,c)),v=-1)}return{x:d,y:f,placement:g,strategy:a,middlewareData:k}},Xi=t=>({name:"arrow",options:t,async fn(n){const{x:o,y:r,placement:a,rects:l,platform:s,elements:i,middlewareData:c}=n,{element:u,padding:d=0}=He(t,n)||{};if(u==null)return{};const f=Ur(d),g={x:o,y:r},k=Co(a),b=ko(k),y=await s.getDimensions(u),v=k==="y",h=v?"top":"left",m=v?"bottom":"right",C=v?"clientHeight":"clientWidth",p=l.reference[b]+l.reference[k]-g[k]-l.floating[b],w=g[k]-l.reference[k],E=await(s.getOffsetParent==null?void 0:s.getOffsetParent(u));let N=E?E[C]:0;(!N||!await(s.isElement==null?void 0:s.isElement(E)))&&(N=i.floating[C]||l.floating[b]);const x=p/2-w/2,S=N/2-y[b]/2-1,B=Qe(f[h],S),D=Qe(f[m],S),V=B,P=N-y[b]-D,R=N/2-y[b]/2+x,Q=Jn(V,R,P),X=!c.arrow&&Nt(a)!=null&&R!==Q&&l.reference[b]/2-(R<V?B:D)-y[b]/2<0,J=X?R<V?R-V:R-P:0;return{[k]:g[k]+J,data:{[k]:Q,centerOffset:R-Q-J,...X&&{alignmentOffset:J}},reset:X}}}),Zi=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(n){var o,r;const{placement:a,middlewareData:l,rects:s,initialPlacement:i,platform:c,elements:u}=n,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:g,fallbackStrategy:k="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:y=!0,...v}=He(t,n);if((o=l.arrow)!=null&&o.alignmentOffset)return{};const h=We(a),m=Oe(i),C=We(i)===i,p=await(c.isRTL==null?void 0:c.isRTL(u.floating)),w=g||(C||!y?[rn(i)]:ji(i)),E=b!=="none";!g&&E&&w.push(...Gi(i,y,b,p));const N=[i,...w],x=await c.detectOverflow(n,v),S=[];let B=((r=l.flip)==null?void 0:r.overflows)||[];if(d&&S.push(x[h]),f){const R=Li(a,s,p);S.push(x[R[0]],x[R[1]])}if(B=[...B,{placement:a,overflows:S}],!S.every(R=>R<=0)){var D,V;const R=(((D=l.flip)==null?void 0:D.index)||0)+1,Q=N[R];if(Q&&(!(f==="alignment"?m!==Oe(Q):!1)||B.every(O=>Oe(O.placement)===m?O.overflows[0]>0:!0)))return{data:{index:R,overflows:B},reset:{placement:Q}};let X=(V=B.filter(J=>J.overflows[0]<=0).sort((J,O)=>J.overflows[1]-O.overflows[1])[0])==null?void 0:V.placement;if(!X)switch(k){case"bestFit":{var P;const J=(P=B.filter(O=>{if(E){const ie=Oe(O.placement);return ie===m||ie==="y"}return!0}).map(O=>[O.placement,O.overflows.filter(ie=>ie>0).reduce((ie,L)=>ie+L,0)]).sort((O,ie)=>O[1]-ie[1])[0])==null?void 0:P[0];J&&(X=J);break}case"initialPlacement":X=i;break}if(a!==X)return{reset:{placement:X}}}return{}}}};function tr(t,n){return{top:t.top-n.height,right:t.right-n.width,bottom:t.bottom-n.height,left:t.left-n.width}}function nr(t){return Oi.some(n=>t[n]>=0)}const Ji=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(n){const{rects:o,platform:r}=n,{strategy:a="referenceHidden",...l}=He(t,n);switch(a){case"referenceHidden":{const s=await r.detectOverflow(n,{...l,elementContext:"reference"}),i=tr(s,o.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:nr(i)}}}case"escaped":{const s=await r.detectOverflow(n,{...l,altBoundary:!0}),i=tr(s,o.floating);return{data:{escapedOffsets:i,escaped:nr(i)}}}default:return{}}}}},Gr=new Set(["left","top"]);async function eu(t,n){const{placement:o,platform:r,elements:a}=t,l=await(r.isRTL==null?void 0:r.isRTL(a.floating)),s=We(o),i=Nt(o),c=Oe(o)==="y",u=Gr.has(s)?-1:1,d=l&&c?-1:1,f=He(n,t);let{mainAxis:g,crossAxis:k,alignmentAxis:b}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return i&&typeof b=="number"&&(k=i==="end"?b*-1:b),c?{x:k*d,y:g*u}:{x:g*u,y:k*d}}const tu=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(n){var o,r;const{x:a,y:l,placement:s,middlewareData:i}=n,c=await eu(n,t);return s===((o=i.offset)==null?void 0:o.placement)&&(r=i.arrow)!=null&&r.alignmentOffset?{}:{x:a+c.x,y:l+c.y,data:{...c,placement:s}}}}},nu=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(n){const{x:o,y:r,placement:a,platform:l}=n,{mainAxis:s=!0,crossAxis:i=!1,limiter:c={fn:h=>{let{x:m,y:C}=h;return{x:m,y:C}}},...u}=He(t,n),d={x:o,y:r},f=await l.detectOverflow(n,u),g=Oe(We(a)),k=xo(g);let b=d[k],y=d[g];if(s){const h=k==="y"?"top":"left",m=k==="y"?"bottom":"right",C=b+f[h],p=b-f[m];b=Jn(C,b,p)}if(i){const h=g==="y"?"top":"left",m=g==="y"?"bottom":"right",C=y+f[h],p=y-f[m];y=Jn(C,y,p)}const v=c.fn({...n,[k]:b,[g]:y});return{...v,data:{x:v.x-o,y:v.y-r,enabled:{[k]:s,[g]:i}}}}}},ou=function(t){return t===void 0&&(t={}),{options:t,fn(n){const{x:o,y:r,placement:a,rects:l,middlewareData:s}=n,{offset:i=0,mainAxis:c=!0,crossAxis:u=!0}=He(t,n),d={x:o,y:r},f=Oe(a),g=xo(f);let k=d[g],b=d[f];const y=He(i,n),v=typeof y=="number"?{mainAxis:y,crossAxis:0}:{mainAxis:0,crossAxis:0,...y};if(c){const C=g==="y"?"height":"width",p=l.reference[g]-l.floating[C]+v.mainAxis,w=l.reference[g]+l.reference[C]-v.mainAxis;k<p?k=p:k>w&&(k=w)}if(u){var h,m;const C=g==="y"?"width":"height",p=Gr.has(We(a)),w=l.reference[f]-l.floating[C]+(p&&((h=s.offset)==null?void 0:h[f])||0)+(p?0:v.crossAxis),E=l.reference[f]+l.reference[C]+(p?0:((m=s.offset)==null?void 0:m[f])||0)-(p?v.crossAxis:0);b<w?b=w:b>E&&(b=E)}return{[g]:k,[f]:b}}}},ru=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(n){var o,r;const{placement:a,rects:l,platform:s,elements:i}=n,{apply:c=()=>{},...u}=He(t,n),d=await s.detectOverflow(n,u),f=We(a),g=Nt(a),k=Oe(a)==="y",{width:b,height:y}=l.floating;let v,h;f==="top"||f==="bottom"?(v=f,h=g===(await(s.isRTL==null?void 0:s.isRTL(i.floating))?"start":"end")?"left":"right"):(h=f,v=g==="end"?"top":"bottom");const m=y-d.top-d.bottom,C=b-d.left-d.right,p=Qe(y-d[v],m),w=Qe(b-d[h],C),E=!n.middlewareData.shift;let N=p,x=w;if((o=n.middlewareData.shift)!=null&&o.enabled.x&&(x=C),(r=n.middlewareData.shift)!=null&&r.enabled.y&&(N=m),E&&!g){const B=Me(d.left,0),D=Me(d.right,0),V=Me(d.top,0),P=Me(d.bottom,0);k?x=b-2*(B!==0||D!==0?B+D:Me(d.left,d.right)):N=y-2*(V!==0||P!==0?V+P:Me(d.top,d.bottom))}await c({...n,availableWidth:x,availableHeight:N});const S=await s.getDimensions(i.floating);return b!==S.width||y!==S.height?{reset:{rects:!0}}:{}}}};function mn(){return typeof window<"u"}function lt(t){return Bo(t)?(t.nodeName||"").toLowerCase():"#document"}function De(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function Le(t){var n;return(n=(Bo(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function Bo(t){return mn()?t instanceof Node||t instanceof De(t).Node:!1}function Ae(t){return mn()?t instanceof Element||t instanceof De(t).Element:!1}function qe(t){return mn()?t instanceof HTMLElement||t instanceof De(t).HTMLElement:!1}function or(t){return!mn()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof De(t).ShadowRoot}const au=new Set(["inline","contents"]);function jt(t){const{overflow:n,overflowX:o,overflowY:r,display:a}=Te(t);return/auto|scroll|overlay|hidden|clip/.test(n+r+o)&&!au.has(a)}const lu=new Set(["table","td","th"]);function su(t){return lu.has(lt(t))}const iu=[":popover-open",":modal"];function pn(t){return iu.some(n=>{try{return t.matches(n)}catch{return!1}})}const uu=["transform","translate","scale","rotate","perspective"],cu=["transform","translate","scale","rotate","perspective","filter"],du=["paint","layout","strict","content"];function Eo(t){const n=So(),o=Ae(t)?Te(t):t;return uu.some(r=>o[r]?o[r]!=="none":!1)||(o.containerType?o.containerType!=="normal":!1)||!n&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!n&&(o.filter?o.filter!=="none":!1)||cu.some(r=>(o.willChange||"").includes(r))||du.some(r=>(o.contain||"").includes(r))}function fu(t){let n=Xe(t);for(;qe(n)&&!Et(n);){if(Eo(n))return n;if(pn(n))return null;n=Xe(n)}return null}function So(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const mu=new Set(["html","body","#document"]);function Et(t){return mu.has(lt(t))}function Te(t){return De(t).getComputedStyle(t)}function vn(t){return Ae(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Xe(t){if(lt(t)==="html")return t;const n=t.assignedSlot||t.parentNode||or(t)&&t.host||Le(t);return or(n)?n.host:n}function Kr(t){const n=Xe(t);return Et(n)?t.ownerDocument?t.ownerDocument.body:t.body:qe(n)&&jt(n)?n:Kr(n)}function $t(t,n,o){var r;n===void 0&&(n=[]),o===void 0&&(o=!0);const a=Kr(t),l=a===((r=t.ownerDocument)==null?void 0:r.body),s=De(a);if(l){const i=to(s);return n.concat(s,s.visualViewport||[],jt(a)?a:[],i&&o?$t(i):[])}return n.concat(a,$t(a,[],o))}function to(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Yr(t){const n=Te(t);let o=parseFloat(n.width)||0,r=parseFloat(n.height)||0;const a=qe(t),l=a?t.offsetWidth:o,s=a?t.offsetHeight:r,i=on(o)!==l||on(r)!==s;return i&&(o=l,r=s),{width:o,height:r,$:i}}function No(t){return Ae(t)?t:t.contextElement}function ht(t){const n=No(t);if(!qe(n))return Re(1);const o=n.getBoundingClientRect(),{width:r,height:a,$:l}=Yr(n);let s=(l?on(o.width):o.width)/r,i=(l?on(o.height):o.height)/a;return(!s||!Number.isFinite(s))&&(s=1),(!i||!Number.isFinite(i))&&(i=1),{x:s,y:i}}const pu=Re(0);function Qr(t){const n=De(t);return!So()||!n.visualViewport?pu:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function vu(t,n,o){return n===void 0&&(n=!1),!o||n&&o!==De(t)?!1:n}function at(t,n,o,r){n===void 0&&(n=!1),o===void 0&&(o=!1);const a=t.getBoundingClientRect(),l=No(t);let s=Re(1);n&&(r?Ae(r)&&(s=ht(r)):s=ht(t));const i=vu(l,o,r)?Qr(l):Re(0);let c=(a.left+i.x)/s.x,u=(a.top+i.y)/s.y,d=a.width/s.x,f=a.height/s.y;if(l){const g=De(l),k=r&&Ae(r)?De(r):r;let b=g,y=to(b);for(;y&&r&&k!==b;){const v=ht(y),h=y.getBoundingClientRect(),m=Te(y),C=h.left+(y.clientLeft+parseFloat(m.paddingLeft))*v.x,p=h.top+(y.clientTop+parseFloat(m.paddingTop))*v.y;c*=v.x,u*=v.y,d*=v.x,f*=v.y,c+=C,u+=p,b=De(y),y=to(b)}}return an({width:d,height:f,x:c,y:u})}function gn(t,n){const o=vn(t).scrollLeft;return n?n.left+o:at(Le(t)).left+o}function Xr(t,n){const o=t.getBoundingClientRect(),r=o.left+n.scrollLeft-gn(t,o),a=o.top+n.scrollTop;return{x:r,y:a}}function gu(t){let{elements:n,rect:o,offsetParent:r,strategy:a}=t;const l=a==="fixed",s=Le(r),i=n?pn(n.floating):!1;if(r===s||i&&l)return o;let c={scrollLeft:0,scrollTop:0},u=Re(1);const d=Re(0),f=qe(r);if((f||!f&&!l)&&((lt(r)!=="body"||jt(s))&&(c=vn(r)),qe(r))){const k=at(r);u=ht(r),d.x=k.x+r.clientLeft,d.y=k.y+r.clientTop}const g=s&&!f&&!l?Xr(s,c):Re(0);return{width:o.width*u.x,height:o.height*u.y,x:o.x*u.x-c.scrollLeft*u.x+d.x+g.x,y:o.y*u.y-c.scrollTop*u.y+d.y+g.y}}function hu(t){return Array.from(t.getClientRects())}function yu(t){const n=Le(t),o=vn(t),r=t.ownerDocument.body,a=Me(n.scrollWidth,n.clientWidth,r.scrollWidth,r.clientWidth),l=Me(n.scrollHeight,n.clientHeight,r.scrollHeight,r.clientHeight);let s=-o.scrollLeft+gn(t);const i=-o.scrollTop;return Te(r).direction==="rtl"&&(s+=Me(n.clientWidth,r.clientWidth)-a),{width:a,height:l,x:s,y:i}}const rr=25;function bu(t,n){const o=De(t),r=Le(t),a=o.visualViewport;let l=r.clientWidth,s=r.clientHeight,i=0,c=0;if(a){l=a.width,s=a.height;const d=So();(!d||d&&n==="fixed")&&(i=a.offsetLeft,c=a.offsetTop)}const u=gn(r);if(u<=0){const d=r.ownerDocument,f=d.body,g=getComputedStyle(f),k=d.compatMode==="CSS1Compat"&&parseFloat(g.marginLeft)+parseFloat(g.marginRight)||0,b=Math.abs(r.clientWidth-f.clientWidth-k);b<=rr&&(l-=b)}else u<=rr&&(l+=u);return{width:l,height:s,x:i,y:c}}const wu=new Set(["absolute","fixed"]);function xu(t,n){const o=at(t,!0,n==="fixed"),r=o.top+t.clientTop,a=o.left+t.clientLeft,l=qe(t)?ht(t):Re(1),s=t.clientWidth*l.x,i=t.clientHeight*l.y,c=a*l.x,u=r*l.y;return{width:s,height:i,x:c,y:u}}function ar(t,n,o){let r;if(n==="viewport")r=bu(t,o);else if(n==="document")r=yu(Le(t));else if(Ae(n))r=xu(n,o);else{const a=Qr(t);r={x:n.x-a.x,y:n.y-a.y,width:n.width,height:n.height}}return an(r)}function Zr(t,n){const o=Xe(t);return o===n||!Ae(o)||Et(o)?!1:Te(o).position==="fixed"||Zr(o,n)}function ku(t,n){const o=n.get(t);if(o)return o;let r=$t(t,[],!1).filter(i=>Ae(i)&<(i)!=="body"),a=null;const l=Te(t).position==="fixed";let s=l?Xe(t):t;for(;Ae(s)&&!Et(s);){const i=Te(s),c=Eo(s);!c&&i.position==="fixed"&&(a=null),(l?!c&&!a:!c&&i.position==="static"&&!!a&&wu.has(a.position)||jt(s)&&!c&&Zr(t,s))?r=r.filter(d=>d!==s):a=i,s=Xe(s)}return n.set(t,r),r}function Cu(t){let{element:n,boundary:o,rootBoundary:r,strategy:a}=t;const s=[...o==="clippingAncestors"?pn(n)?[]:ku(n,this._c):[].concat(o),r],i=s[0],c=s.reduce((u,d)=>{const f=ar(n,d,a);return u.top=Me(f.top,u.top),u.right=Qe(f.right,u.right),u.bottom=Qe(f.bottom,u.bottom),u.left=Me(f.left,u.left),u},ar(n,i,a));return{width:c.right-c.left,height:c.bottom-c.top,x:c.left,y:c.top}}function Bu(t){const{width:n,height:o}=Yr(t);return{width:n,height:o}}function Eu(t,n,o){const r=qe(n),a=Le(n),l=o==="fixed",s=at(t,!0,l,n);let i={scrollLeft:0,scrollTop:0};const c=Re(0);function u(){c.x=gn(a)}if(r||!r&&!l)if((lt(n)!=="body"||jt(a))&&(i=vn(n)),r){const k=at(n,!0,l,n);c.x=k.x+n.clientLeft,c.y=k.y+n.clientTop}else a&&u();l&&!r&&a&&u();const d=a&&!r&&!l?Xr(a,i):Re(0),f=s.left+i.scrollLeft-c.x-d.x,g=s.top+i.scrollTop-c.y-d.y;return{x:f,y:g,width:s.width,height:s.height}}function zn(t){return Te(t).position==="static"}function lr(t,n){if(!qe(t)||Te(t).position==="fixed")return null;if(n)return n(t);let o=t.offsetParent;return Le(t)===o&&(o=o.ownerDocument.body),o}function Jr(t,n){const o=De(t);if(pn(t))return o;if(!qe(t)){let a=Xe(t);for(;a&&!Et(a);){if(Ae(a)&&!zn(a))return a;a=Xe(a)}return o}let r=lr(t,n);for(;r&&su(r)&&zn(r);)r=lr(r,n);return r&&Et(r)&&zn(r)&&!Eo(r)?o:r||fu(t)||o}const Su=async function(t){const n=this.getOffsetParent||Jr,o=this.getDimensions,r=await o(t.floating);return{reference:Eu(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Nu(t){return Te(t).direction==="rtl"}const Mu={convertOffsetParentRelativeRectToViewportRelativeRect:gu,getDocumentElement:Le,getClippingRect:Cu,getOffsetParent:Jr,getElementRects:Su,getClientRects:hu,getDimensions:Bu,getScale:ht,isElement:Ae,isRTL:Nu};function ea(t,n){return t.x===n.x&&t.y===n.y&&t.width===n.width&&t.height===n.height}function Du(t,n){let o=null,r;const a=Le(t);function l(){var i;clearTimeout(r),(i=o)==null||i.disconnect(),o=null}function s(i,c){i===void 0&&(i=!1),c===void 0&&(c=1),l();const u=t.getBoundingClientRect(),{left:d,top:f,width:g,height:k}=u;if(i||n(),!g||!k)return;const b=Zt(f),y=Zt(a.clientWidth-(d+g)),v=Zt(a.clientHeight-(f+k)),h=Zt(d),C={rootMargin:-b+"px "+-y+"px "+-v+"px "+-h+"px",threshold:Me(0,Qe(1,c))||1};let p=!0;function w(E){const N=E[0].intersectionRatio;if(N!==c){if(!p)return s();N?s(!1,N):r=setTimeout(()=>{s(!1,1e-7)},1e3)}N===1&&!ea(u,t.getBoundingClientRect())&&s(),p=!1}try{o=new IntersectionObserver(w,{...C,root:a.ownerDocument})}catch{o=new IntersectionObserver(w,C)}o.observe(t)}return s(!0),l}function Vu(t,n,o,r){r===void 0&&(r={});const{ancestorScroll:a=!0,ancestorResize:l=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:c=!1}=r,u=No(t),d=a||l?[...u?$t(u):[],...$t(n)]:[];d.forEach(h=>{a&&h.addEventListener("scroll",o,{passive:!0}),l&&h.addEventListener("resize",o)});const f=u&&i?Du(u,o):null;let g=-1,k=null;s&&(k=new ResizeObserver(h=>{let[m]=h;m&&m.target===u&&k&&(k.unobserve(n),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var C;(C=k)==null||C.observe(n)})),o()}),u&&!c&&k.observe(u),k.observe(n));let b,y=c?at(t):null;c&&v();function v(){const h=at(t);y&&!ea(y,h)&&o(),y=h,b=requestAnimationFrame(v)}return o(),()=>{var h;d.forEach(m=>{a&&m.removeEventListener("scroll",o),l&&m.removeEventListener("resize",o)}),f?.(),(h=k)==null||h.disconnect(),k=null,c&&cancelAnimationFrame(b)}}const _u=tu,zu=nu,sr=Zi,Iu=ru,Au=Ji,Tu=Xi,Pu=ou,$u=(t,n,o)=>{const r=new Map,a={platform:Mu,...o},l={...a.platform,_c:r};return Qi(t,n,{...a,platform:l})};function Ou(t){return t!=null&&typeof t=="object"&&"$el"in t}function no(t){if(Ou(t)){const n=t.$el;return Bo(n)&<(n)==="#comment"?null:n}return t}function vt(t){return typeof t=="function"?t():e.unref(t)}function Ru(t){return{name:"arrow",options:t,fn(n){const o=no(vt(t.element));return o==null?{}:Tu({element:o,padding:t.padding}).fn(n)}}}function ta(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function ir(t,n){const o=ta(t);return Math.round(n*o)/o}function qu(t,n,o){o===void 0&&(o={});const r=o.whileElementsMounted,a=e.computed(()=>{var N;return(N=vt(o.open))!=null?N:!0}),l=e.computed(()=>vt(o.middleware)),s=e.computed(()=>{var N;return(N=vt(o.placement))!=null?N:"bottom"}),i=e.computed(()=>{var N;return(N=vt(o.strategy))!=null?N:"absolute"}),c=e.computed(()=>{var N;return(N=vt(o.transform))!=null?N:!0}),u=e.computed(()=>no(t.value)),d=e.computed(()=>no(n.value)),f=e.ref(0),g=e.ref(0),k=e.ref(i.value),b=e.ref(s.value),y=e.shallowRef({}),v=e.ref(!1),h=e.computed(()=>{const N={position:k.value,left:"0",top:"0"};if(!d.value)return N;const x=ir(d.value,f.value),S=ir(d.value,g.value);return c.value?{...N,transform:"translate("+x+"px, "+S+"px)",...ta(d.value)>=1.5&&{willChange:"transform"}}:{position:k.value,left:x+"px",top:S+"px"}});let m;function C(){if(u.value==null||d.value==null)return;const N=a.value;$u(u.value,d.value,{middleware:l.value,placement:s.value,strategy:i.value}).then(x=>{f.value=x.x,g.value=x.y,k.value=x.strategy,b.value=x.placement,y.value=x.middlewareData,v.value=N!==!1})}function p(){typeof m=="function"&&(m(),m=void 0)}function w(){if(p(),r===void 0){C();return}if(u.value!=null&&d.value!=null){m=r(u.value,d.value,C);return}}function E(){a.value||(v.value=!1)}return e.watch([l,s,i,a],C,{flush:"sync"}),e.watch([u,d],w,{flush:"sync"}),e.watch(a,E,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(p),{x:e.shallowReadonly(f),y:e.shallowReadonly(g),strategy:e.shallowReadonly(k),placement:e.shallowReadonly(b),middlewareData:e.shallowReadonly(y),isPositioned:e.shallowReadonly(v),floatingStyles:h,update:C}}const na={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},[Hb,Fu]=Se("PopperContent");var Lu=e.defineComponent({inheritAttrs:!1,__name:"PopperContent",props:e.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}},{...na}),emits:["placed"],setup(t,{emit:n}){const o=t,r=n,a=jr(),{forwardRef:l,currentElement:s}=le(),i=e.ref(),c=e.ref(),{width:u,height:d}=Ms(c),f=e.computed(()=>o.side+(o.align!=="center"?`-${o.align}`:"")),g=e.computed(()=>typeof o.collisionPadding=="number"?o.collisionPadding:{top:0,right:0,bottom:0,left:0,...o.collisionPadding}),k=e.computed(()=>Array.isArray(o.collisionBoundary)?o.collisionBoundary:[o.collisionBoundary]),b=e.computed(()=>({padding:g.value,boundary:k.value.filter(Pi),altBoundary:k.value.length>0})),y=e.computed(()=>({mainAxis:o.sideFlip,crossAxis:o.alignFlip})),v=ee.computedEager(()=>[_u({mainAxis:o.sideOffset+d.value,alignmentAxis:o.alignOffset}),o.prioritizePosition&&o.avoidCollisions&&sr({...b.value,...y.value}),o.avoidCollisions&&zu({mainAxis:!0,crossAxis:!!o.prioritizePosition,limiter:o.sticky==="partial"?Pu():void 0,...b.value}),!o.prioritizePosition&&o.avoidCollisions&&sr({...b.value,...y.value}),Iu({...b.value,apply:({elements:V,rects:P,availableWidth:R,availableHeight:Q})=>{const{width:X,height:J}=P.reference,O=V.floating.style;O.setProperty("--reka-popper-available-width",`${R}px`),O.setProperty("--reka-popper-available-height",`${Q}px`),O.setProperty("--reka-popper-anchor-width",`${X}px`),O.setProperty("--reka-popper-anchor-height",`${J}px`)}}),c.value&&Ru({element:c.value,padding:o.arrowPadding}),$i({arrowWidth:u.value,arrowHeight:d.value}),o.hideWhenDetached&&Au({strategy:"referenceHidden",...b.value})]),h=e.computed(()=>o.reference??a.anchor.value),{floatingStyles:m,placement:C,isPositioned:p,middlewareData:w}=qu(h,i,{strategy:o.positionStrategy,placement:f,whileElementsMounted:(...V)=>Vu(...V,{layoutShift:!o.disableUpdateOnLayoutShift,animationFrame:o.updatePositionStrategy==="always"}),middleware:v}),E=e.computed(()=>Zn(C.value)[0]),N=e.computed(()=>Zn(C.value)[1]);e.watchPostEffect(()=>{p.value&&r("placed")});const x=e.computed(()=>{const V=w.value.arrow?.centerOffset!==0;return o.hideShiftedArrow&&V}),S=e.ref("");e.watchEffect(()=>{s.value&&(S.value=window.getComputedStyle(s.value).zIndex)});const B=e.computed(()=>w.value.arrow?.x??0),D=e.computed(()=>w.value.arrow?.y??0);return Fu({placedSide:E,onArrowChange:V=>c.value=V,arrowX:B,arrowY:D,shouldHideArrow:x}),(V,P)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"floatingRef",ref:i,"data-reka-popper-content-wrapper":"",style:e.normalizeStyle({...e.unref(m),transform:e.unref(p)?e.unref(m).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:S.value,"--reka-popper-transform-origin":[e.unref(w).transformOrigin?.x,e.unref(w).transformOrigin?.y].join(" "),...e.unref(w).hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}})},[e.createVNode(e.unref(de),e.mergeProps({ref:e.unref(l)},V.$attrs,{"as-child":o.asChild,as:V.as,"data-side":E.value,"data-align":N.value,style:{animation:e.unref(p)?void 0:"none"}}),{default:e.withCtx(()=>[e.renderSlot(V.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4))}}),oa=Lu;function ju(t){const n=cn({nonce:e.ref()});return e.computed(()=>t?.value||n.nonce?.value)}var Hu=e.defineComponent({__name:"MenuAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(Wr),e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),Wu=Hu;function Uu(){const t=e.ref(!1);return e.onMounted(()=>{ee.useEventListener("keydown",()=>{t.value=!0},{capture:!0,passive:!0}),ee.useEventListener(["pointerdown","pointermove"],()=>{t.value=!1},{capture:!0,passive:!0})}),t}const Gu=ee.createSharedComposable(Uu),[hn,Ku]=Se(["MenuRoot","MenuSub"],"MenuContext"),[Mo,Yu]=Se("MenuRoot");var Qu=e.defineComponent({__name:"MenuRoot",props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(t,{emit:n}){const o=t,r=n,{modal:a,dir:l}=e.toRefs(o),s=dn(l),i=ee.useVModel(o,"open",r),c=e.ref(),u=Gu();return Ku({open:i,onOpenChange:d=>{i.value=d},content:c,onContentChange:d=>{c.value=d}}),Yu({onClose:()=>{i.value=!1},isUsingKeyboardRef:u,dir:s,modal:a}),(d,f)=>(e.openBlock(),e.createBlock(e.unref(Hr),null,{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3}))}}),Xu=Qu;const[ra,Zu]=Se("MenuContent");var Ju=e.defineComponent({__name:"MenuContentImpl",props:e.mergeDefaults({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...na}),emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus","dismiss"],setup(t,{emit:n}){const o=t,r=n,a=hn(),l=Mo(),{trapFocus:s,disableOutsidePointerEvents:i,loop:c}=e.toRefs(o);Ar(),vo(i.value);const u=e.ref(""),d=e.ref(0),f=e.ref(0),g=e.ref(null),k=e.ref("right"),b=e.ref(0),y=e.ref(null),v=e.ref(),{forwardRef:h,currentElement:m}=le(),{handleTypeaheadSearch:C}=ho();e.watch(m,S=>{a.onContentChange(S)}),e.onUnmounted(()=>{window.clearTimeout(d.value)});function p(S){return k.value===g.value?.side&&ti(S,g.value?.area)}async function w(S){r("openAutoFocus",S),!S.defaultPrevented&&(S.preventDefault(),m.value?.focus({preventScroll:!0}))}function E(S){if(S.defaultPrevented)return;const D=S.target.closest("[data-reka-menu-content]")===S.currentTarget,V=S.ctrlKey||S.altKey||S.metaKey,P=S.key.length===1,R=vs(S,xe(),m.value,{loop:c.value,arrowKeyOptions:"vertical",dir:l?.dir.value,focus:!0,attributeName:"[data-reka-collection-item]:not([data-disabled])"});if(R)return R?.focus();if(S.code==="Space")return;const Q=v.value?.getItems()??[];if(D&&(S.key==="Tab"&&S.preventDefault(),!V&&P&&C(S.key,Q)),S.target!==m.value||!Js.includes(S.key))return;S.preventDefault();const X=[...Q.map(J=>J.ref)];Rr.includes(S.key)&&X.reverse(),Qn(X)}function N(S){S?.currentTarget?.contains?.(S.target)||(window.clearTimeout(d.value),u.value="")}function x(S){if(!Xn(S))return;const B=S.target,D=b.value!==S.clientX;if(S?.currentTarget?.contains(B)&&D){const V=S.clientX>b.value?"right":"left";k.value=V,b.value=S.clientX}}return Zu({onItemEnter:S=>!!p(S),onItemLeave:S=>{p(S)||(m.value?.focus(),y.value=null)},onTriggerLeave:S=>!!p(S),searchRef:u,pointerGraceTimerRef:f,onPointerGraceIntentChange:S=>{g.value=S}}),(S,B)=>(e.openBlock(),e.createBlock(e.unref(bo),{"as-child":"",trapped:e.unref(s),onMountAutoFocus:w,onUnmountAutoFocus:B[7]||(B[7]=D=>r("closeAutoFocus",D))},{default:e.withCtx(()=>[e.createVNode(e.unref(yo),{"as-child":"","disable-outside-pointer-events":e.unref(i),onEscapeKeyDown:B[2]||(B[2]=D=>r("escapeKeyDown",D)),onPointerDownOutside:B[3]||(B[3]=D=>r("pointerDownOutside",D)),onFocusOutside:B[4]||(B[4]=D=>r("focusOutside",D)),onInteractOutside:B[5]||(B[5]=D=>r("interactOutside",D)),onDismiss:B[6]||(B[6]=D=>r("dismiss"))},{default:e.withCtx(()=>[e.createVNode(e.unref(Mi),{ref_key:"rovingFocusGroupRef",ref:v,"current-tab-stop-id":y.value,"onUpdate:currentTabStopId":B[0]||(B[0]=D=>y.value=D),"as-child":"",orientation:"vertical",dir:e.unref(l).dir.value,loop:e.unref(c),onEntryFocus:B[1]||(B[1]=D=>{r("entryFocus",D),e.unref(l).isUsingKeyboardRef.value||D.preventDefault()})},{default:e.withCtx(()=>[e.createVNode(e.unref(oa),{ref:e.unref(h),role:"menu",as:S.as,"as-child":S.asChild,"aria-orientation":"vertical","data-reka-menu-content":"","data-state":e.unref(qr)(e.unref(a).open.value),dir:e.unref(l).dir.value,side:S.side,"side-offset":S.sideOffset,align:S.align,"align-offset":S.alignOffset,"avoid-collisions":S.avoidCollisions,"collision-boundary":S.collisionBoundary,"collision-padding":S.collisionPadding,"arrow-padding":S.arrowPadding,"prioritize-position":S.prioritizePosition,"position-strategy":S.positionStrategy,"update-position-strategy":S.updatePositionStrategy,sticky:S.sticky,"hide-when-detached":S.hideWhenDetached,reference:S.reference,onKeydown:E,onBlur:N,onPointermove:x},{default:e.withCtx(()=>[e.renderSlot(S.$slots,"default")]),_:3},8,["as","as-child","data-state","dir","side","side-offset","align","align-offset","avoid-collisions","collision-boundary","collision-padding","arrow-padding","prioritize-position","position-strategy","update-position-strategy","sticky","hide-when-detached","reference"])]),_:3},8,["current-tab-stop-id","dir","loop"])]),_:3},8,["disable-outside-pointer-events"])]),_:3},8,["trapped"]))}}),aa=Ju,ec=e.defineComponent({inheritAttrs:!1,__name:"MenuItemImpl",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t,o=ra(),{forwardRef:r}=le(),{CollectionItem:a}=Ze(),l=e.ref(!1);async function s(c){c.defaultPrevented||Xn(c)&&(n.disabled?o.onItemLeave(c):o.onItemEnter(c)||c.currentTarget?.focus({preventScroll:!0}))}async function i(c){await e.nextTick(),!c.defaultPrevented&&Xn(c)&&o.onItemLeave(c)}return(c,u)=>(e.openBlock(),e.createBlock(e.unref(a),{value:{textValue:c.textValue}},{default:e.withCtx(()=>[e.createVNode(e.unref(de),e.mergeProps({ref:e.unref(r),role:"menuitem",tabindex:"-1"},c.$attrs,{as:c.as,"as-child":c.asChild,"aria-disabled":c.disabled||void 0,"data-disabled":c.disabled?"":void 0,"data-highlighted":l.value?"":void 0,onPointermove:s,onPointerleave:i,onFocus:u[0]||(u[0]=async d=>{await e.nextTick(),!(d.defaultPrevented||c.disabled)&&(l.value=!0)}),onBlur:u[1]||(u[1]=async d=>{await e.nextTick(),!d.defaultPrevented&&(l.value=!1)})}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["as","as-child","aria-disabled","data-disabled","data-highlighted"])]),_:3},8,["value"]))}}),tc=ec,nc=e.defineComponent({__name:"MenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(t,{emit:n}){const o=t,r=n,{forwardRef:a,currentElement:l}=le(),s=Mo(),i=ra(),c=e.ref(!1);async function u(){const d=l.value;if(!o.disabled&&d){const f=new CustomEvent(Xs,{bubbles:!0,cancelable:!0});r("select",f),await e.nextTick(),f.defaultPrevented?c.value=!1:s.onClose()}}return(d,f)=>(e.openBlock(),e.createBlock(tc,e.mergeProps(o,{ref:e.unref(a),onClick:u,onPointerdown:f[0]||(f[0]=()=>{c.value=!0}),onPointerup:f[1]||(f[1]=async g=>{await e.nextTick(),!g.defaultPrevented&&(c.value||g.currentTarget?.click())}),onKeydown:f[2]||(f[2]=async g=>{const k=e.unref(i).searchRef.value!=="";d.disabled||k&&g.key===" "||e.unref(Yn).includes(g.key)&&(g.currentTarget.click(),g.preventDefault())})}),{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},16))}}),oc=nc,rc=e.defineComponent({__name:"MenuRootContentModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,a=ze(o,r),l=hn(),{forwardRef:s,currentElement:i}=le();return go(i),(c,u)=>(e.openBlock(),e.createBlock(aa,e.mergeProps(e.unref(a),{ref:e.unref(s),"trap-focus":e.unref(l).open.value,"disable-outside-pointer-events":e.unref(l).open.value,"disable-outside-scroll":!0,onDismiss:u[0]||(u[0]=d=>e.unref(l).onOpenChange(!1)),onFocusOutside:u[1]||(u[1]=e.withModifiers(d=>r("focusOutside",d),["prevent"]))}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["trap-focus","disable-outside-pointer-events"]))}}),ac=rc,lc=e.defineComponent({__name:"MenuRootContentNonModal",props:{loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const a=ze(t,n),l=hn();return(s,i)=>(e.openBlock(),e.createBlock(aa,e.mergeProps(e.unref(a),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:i[0]||(i[0]=c=>e.unref(l).onOpenChange(!1))}),{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},16))}}),sc=lc,ic=e.defineComponent({__name:"MenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","entryFocus","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const a=ze(t,n),l=hn(),s=Mo();return(i,c)=>(e.openBlock(),e.createBlock(e.unref(fn),{present:i.forceMount||e.unref(l).open.value},{default:e.withCtx(()=>[e.unref(s).modal.value?(e.openBlock(),e.createBlock(ac,e.normalizeProps(e.mergeProps({key:0},{...i.$attrs,...e.unref(a)})),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(sc,e.normalizeProps(e.mergeProps({key:1},{...i.$attrs,...e.unref(a)})),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),uc=ic,cc=e.defineComponent({__name:"MenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(wo),e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),dc=cc,fc=e.defineComponent({__name:"MenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps(n,{role:"separator","aria-orientation":"horizontal"}),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),mc=fc;const[la,pc]=Se("DropdownMenuRoot");var vc=e.defineComponent({__name:"DropdownMenuRoot",props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(t,{emit:n}){const o=t,r=n;le();const a=ee.useVModel(o,"open",r,{defaultValue:o.defaultOpen,passive:o.open===void 0}),l=e.ref(),{modal:s,dir:i}=e.toRefs(o),c=dn(i);return pc({open:a,onOpenChange:u=>{a.value=u},onOpenToggle:()=>{a.value=!a.value},triggerId:"",triggerElement:l,contentId:"",modal:s,dir:c}),(u,d)=>(e.openBlock(),e.createBlock(e.unref(Xu),{open:e.unref(a),"onUpdate:open":d[0]||(d[0]=f=>e.isRef(a)?a.value=f:null),dir:e.unref(c),modal:e.unref(s)},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default",{open:e.unref(a)})]),_:3},8,["open","dir","modal"]))}}),gc=vc,hc=e.defineComponent({__name:"DropdownMenuContent",props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(t,{emit:n}){const a=ze(t,n);le();const l=la(),s=e.ref(!1);function i(c){c.defaultPrevented||(s.value||setTimeout(()=>{l.triggerElement.value?.focus()},0),s.value=!1,c.preventDefault())}return l.contentId||=Bt(void 0,"reka-dropdown-menu-content"),(c,u)=>(e.openBlock(),e.createBlock(e.unref(uc),e.mergeProps(e.unref(a),{id:e.unref(l).contentId,"aria-labelledby":e.unref(l)?.triggerId,style:{"--reka-dropdown-menu-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-dropdown-menu-content-available-width":"var(--reka-popper-available-width)","--reka-dropdown-menu-content-available-height":"var(--reka-popper-available-height)","--reka-dropdown-menu-trigger-width":"var(--reka-popper-anchor-width)","--reka-dropdown-menu-trigger-height":"var(--reka-popper-anchor-height)"},onCloseAutoFocus:i,onInteractOutside:u[0]||(u[0]=d=>{if(d.defaultPrevented)return;const f=d.detail.originalEvent,g=f.button===0&&f.ctrlKey===!0,k=f.button===2||g;(!e.unref(l).modal.value||k)&&(s.value=!0),e.unref(l).triggerElement.value?.contains(d.target)&&d.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["id","aria-labelledby"]))}}),yc=hc,bc=e.defineComponent({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(t,{emit:n}){const o=t,a=Lt(n);return le(),(l,s)=>(e.openBlock(),e.createBlock(e.unref(oc),e.normalizeProps(e.guardReactiveProps({...o,...e.unref(a)})),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},16))}}),wc=bc,xc=e.defineComponent({__name:"DropdownMenuPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(dc),e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),kc=xc,Cc=e.defineComponent({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t;return le(),(o,r)=>(e.openBlock(),e.createBlock(e.unref(mc),e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),Bc=Cc,Ec=e.defineComponent({__name:"DropdownMenuTrigger",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(t){const n=t,o=la(),{forwardRef:r,currentElement:a}=le();return e.onMounted(()=>{o.triggerElement=a}),o.triggerId||=Bt(void 0,"reka-dropdown-menu-trigger"),(l,s)=>(e.openBlock(),e.createBlock(e.unref(Wu),{"as-child":""},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{id:e.unref(o).triggerId,ref:e.unref(r),type:l.as==="button"?"button":void 0,"as-child":n.asChild,as:l.as,"aria-haspopup":"menu","aria-expanded":e.unref(o).open.value,"aria-controls":e.unref(o).open.value?e.unref(o).contentId:void 0,"data-disabled":l.disabled?"":void 0,disabled:l.disabled,"data-state":e.unref(o).open.value?"open":"closed",onClick:s[0]||(s[0]=async i=>{!l.disabled&&i.button===0&&i.ctrlKey===!1&&(e.unref(o)?.onOpenToggle(),await e.nextTick(),e.unref(o).open.value&&i.preventDefault())}),onKeydown:s[1]||(s[1]=e.withKeys(i=>{l.disabled||(["Enter"," "].includes(i.key)&&e.unref(o).onOpenToggle(),i.key==="ArrowDown"&&e.unref(o).onOpenChange(!0),["Enter"," ","ArrowDown"].includes(i.key)&&i.preventDefault())},["enter","space","arrow-down"]))},{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["id","type","as-child","as","aria-expanded","aria-controls","data-disabled","disabled","data-state"])]),_:3}))}}),Sc=Ec,Nc=e.defineComponent({__name:"Label",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"label"}},setup(t){const n=t;return le(),(o,r)=>(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps(n,{onMousedown:r[0]||(r[0]=a=>{!a.defaultPrevented&&a.detail>1&&a.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),Mc=Nc;const Dc=[" ","Enter","ArrowUp","ArrowDown"],Vc=[" ","Enter"],Ie=10;function Ot(t,n,o){return t===void 0?!1:Array.isArray(t)?t.some(r=>oo(r,n,o)):oo(t,n,o)}function oo(t,n,o){return t===void 0||n===void 0?!1:typeof t=="string"?t===n:typeof o=="function"?o(t,n):typeof o=="string"?t?.[o]===n?.[o]:ms(t,n)}function _c(t){return t==null||t===""||Array.isArray(t)&&t.length===0}const zc={key:0,value:""},[Je,sa]=Se("SelectRoot");var Ic=e.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(t,{emit:n}){const o=t,r=n,{required:a,disabled:l,multiple:s,dir:i}=e.toRefs(o),c=ee.useVModel(o,"modelValue",r,{defaultValue:o.defaultValue??(s.value?[]:void 0),passive:o.modelValue===void 0,deep:!0}),u=ee.useVModel(o,"open",r,{defaultValue:o.defaultOpen,passive:o.open===void 0}),d=e.ref(),f=e.ref(),g=e.ref({x:0,y:0}),k=e.computed(()=>s.value&&Array.isArray(c.value)?c.value?.length===0:Wn(c.value));Ze({isProvider:!0});const b=dn(i),y=Tr(d),v=e.ref(new Set),h=e.computed(()=>Array.from(v.value).map(p=>p.value).join(";"));function m(p){if(s.value){const w=Array.isArray(c.value)?[...c.value]:[],E=w.findIndex(N=>oo(N,p,o.by));E===-1?w.push(p):w.splice(E,1),c.value=[...w]}else c.value=p}function C(p){return Array.from(v.value).find(w=>Ot(p,w.value,o.by))}return sa({triggerElement:d,onTriggerChange:p=>{d.value=p},valueElement:f,onValueElementChange:p=>{f.value=p},contentId:"",modelValue:c,onValueChange:m,by:o.by,open:u,multiple:s,required:a,onOpenChange:p=>{u.value=p},dir:b,triggerPointerDownPosRef:g,disabled:l,isEmptyModelValue:k,optionsSet:v,onOptionAdd:p=>{const w=C(p.value);w&&v.value.delete(w),v.value.add(p)},onOptionRemove:p=>{const w=C(p.value);w&&v.value.delete(w)}}),(p,w)=>(e.openBlock(),e.createBlock(e.unref(Hr),null,{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default",{modelValue:e.unref(c),open:e.unref(u)}),e.unref(y)?(e.openBlock(),e.createBlock(Pc,{key:h.value,"aria-hidden":"true",tabindex:"-1",multiple:e.unref(s),required:e.unref(a),name:p.name,autocomplete:p.autocomplete,disabled:e.unref(l),value:e.unref(c)},{default:e.withCtx(()=>[e.unref(Wn)(e.unref(c))?(e.openBlock(),e.createElementBlock("option",zc)):e.createCommentVNode("v-if",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Array.from(v.value),E=>(e.openBlock(),e.createElementBlock("option",e.mergeProps({key:E.value??""},{ref_for:!0},E),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):e.createCommentVNode("v-if",!0)]),_:3}))}}),Ac=Ic,Tc=e.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(t){const n=t,o=e.ref(),r=Je();e.watch(()=>n.value,(l,s)=>{const i=window.HTMLSelectElement.prototype,u=Object.getOwnPropertyDescriptor(i,"value").set;if(l!==s&&u&&o.value){const d=new Event("change",{bubbles:!0});u.call(o.value,l),o.value.dispatchEvent(d)}});function a(l){r.onValueChange(l.target.value)}return(l,s)=>(e.openBlock(),e.createBlock(e.unref(Lr),{"as-child":""},{default:e.withCtx(()=>[e.createElementVNode("select",e.mergeProps({ref_key:"selectElement",ref:o},n,{onInput:a}),[e.renderSlot(l.$slots,"default")],16)]),_:3}))}}),Pc=Tc,$c=e.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:Ie},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(t){const o=$e(t);return(r,a)=>(e.openBlock(),e.createBlock(e.unref(oa),e.mergeProps(e.unref(o),{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:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16))}}),Oc=$c;const Rc={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[st,ia]=Se("SelectContent");var qc=e.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(t,{emit:n}){const o=t,r=n,a=Je();Ar(),vo(o.bodyLock);const{CollectionSlot:l,getItems:s}=Ze(),i=e.ref();go(i);const{search:c,handleTypeaheadSearch:u}=ho(),d=e.ref(),f=e.ref(),g=e.ref(),k=e.ref(!1),b=e.ref(!1),y=e.ref(!1);function v(){f.value&&i.value&&Qn([f.value,i.value])}e.watch(k,()=>{v()});const{onOpenChange:h,triggerPointerDownPosRef:m}=a;e.watchEffect(E=>{if(!i.value)return;let N={x:0,y:0};const x=B=>{N={x:Math.abs(Math.round(B.pageX)-(m.value?.x??0)),y:Math.abs(Math.round(B.pageY)-(m.value?.y??0))}},S=B=>{B.pointerType!=="touch"&&(N.x<=10&&N.y<=10?B.preventDefault():i.value?.contains(B.target)||h(!1),document.removeEventListener("pointermove",x),m.value=null)};m.value!==null&&(document.addEventListener("pointermove",x),document.addEventListener("pointerup",S,{capture:!0,once:!0})),E(()=>{document.removeEventListener("pointermove",x),document.removeEventListener("pointerup",S,{capture:!0})})});function C(E){const N=E.ctrlKey||E.altKey||E.metaKey;if(E.key==="Tab"&&E.preventDefault(),!N&&E.key.length===1&&u(E.key,s()),["ArrowUp","ArrowDown","Home","End"].includes(E.key)){let S=[...s().map(B=>B.ref)];if(["ArrowUp","End"].includes(E.key)&&(S=S.slice().reverse()),["ArrowUp","ArrowDown"].includes(E.key)){const B=E.target,D=S.indexOf(B);S=S.slice(D+1)}setTimeout(()=>Qn(S)),E.preventDefault()}}const p=e.computed(()=>o.position==="popper"?o:{}),w=$e(p.value);return ia({content:i,viewport:d,onViewportChange:E=>{d.value=E},itemRefCallback:(E,N,x)=>{const S=!b.value&&!x,B=Ot(a.modelValue.value,N,a.by);if(a.multiple.value){if(y.value)return;(B||S)&&(f.value=E,B&&(y.value=!0))}else(B||S)&&(f.value=E);S&&(b.value=!0)},selectedItem:f,selectedItemText:g,onItemLeave:()=>{i.value?.focus()},itemTextRefCallback:(E,N,x)=>{const S=!b.value&&!x;(Ot(a.modelValue.value,N,a.by)||S)&&(g.value=E)},focusSelectedItem:v,position:o.position,isPositioned:k,searchRef:c}),(E,N)=>(e.openBlock(),e.createBlock(e.unref(l),null,{default:e.withCtx(()=>[e.createVNode(e.unref(bo),{"as-child":"",onMountAutoFocus:N[6]||(N[6]=e.withModifiers(()=>{},["prevent"])),onUnmountAutoFocus:N[7]||(N[7]=x=>{r("closeAutoFocus",x),!x.defaultPrevented&&(e.unref(a).triggerElement.value?.focus({preventScroll:!0}),x.preventDefault())})},{default:e.withCtx(()=>[e.createVNode(e.unref(yo),{"as-child":"","disable-outside-pointer-events":E.disableOutsidePointerEvents,onFocusOutside:N[2]||(N[2]=e.withModifiers(()=>{},["prevent"])),onDismiss:N[3]||(N[3]=x=>e.unref(a).onOpenChange(!1)),onEscapeKeyDown:N[4]||(N[4]=x=>r("escapeKeyDown",x)),onPointerDownOutside:N[5]||(N[5]=x=>r("pointerDownOutside",x))},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.position==="popper"?Oc:Hc),e.mergeProps({...E.$attrs,...e.unref(w)},{id:e.unref(a).contentId,ref:x=>{const S=e.unref(ee.unrefElement)(x);S?.hasAttribute("data-reka-popper-content-wrapper")?i.value=S.firstElementChild:i.value=S},role:"listbox","data-state":e.unref(a).open.value?"open":"closed",dir:e.unref(a).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:N[0]||(N[0]=e.withModifiers(()=>{},["prevent"])),onPlaced:N[1]||(N[1]=x=>k.value=!0),onKeydown:C}),{default:e.withCtx(()=>[e.renderSlot(E.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),Fc=qc;const[Do,Lc]=Se("SelectItemAlignedPosition");var jc=e.defineComponent({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(t,{emit:n}){const o=t,r=n,{getItems:a}=Ze(),l=Je(),s=st(),i=e.ref(!1),c=e.ref(!0),u=e.ref(),{forwardRef:d,currentElement:f}=le(),{viewport:g,selectedItem:k,selectedItemText:b,focusSelectedItem:y}=s;function v(){if(l.triggerElement.value&&l.valueElement.value&&u.value&&f.value&&g?.value&&k?.value&&b?.value){const C=l.triggerElement.value.getBoundingClientRect(),p=f.value.getBoundingClientRect(),w=l.valueElement.value.getBoundingClientRect(),E=b.value.getBoundingClientRect();if(l.dir.value!=="rtl"){const M=E.left-p.left,G=w.left-M,F=C.left-G,Z=C.width+F,ue=Math.max(Z,p.width),me=window.innerWidth-Ie,Ve=Wo(G,Ie,Math.max(Ie,me-ue));u.value.style.minWidth=`${Z}px`,u.value.style.left=`${Ve}px`}else{const M=p.right-E.right,G=window.innerWidth-w.right-M,F=window.innerWidth-C.right-G,Z=C.width+F,ue=Math.max(Z,p.width),me=window.innerWidth-Ie,Ve=Wo(G,Ie,Math.max(Ie,me-ue));u.value.style.minWidth=`${Z}px`,u.value.style.right=`${Ve}px`}const N=a().map(M=>M.ref),x=window.innerHeight-Ie*2,S=g.value.scrollHeight,B=window.getComputedStyle(f.value),D=Number.parseInt(B.borderTopWidth,10),V=Number.parseInt(B.paddingTop,10),P=Number.parseInt(B.borderBottomWidth,10),R=Number.parseInt(B.paddingBottom,10),Q=D+V+S+R+P,X=Math.min(k.value.offsetHeight*5,Q),J=window.getComputedStyle(g.value),O=Number.parseInt(J.paddingTop,10),ie=Number.parseInt(J.paddingBottom,10),L=C.top+C.height/2-Ie,T=x-L,U=k.value.offsetHeight/2,Y=k.value.offsetTop+U,_=D+V+Y,q=Q-_;if(_<=L){const M=k.value===N[N.length-1];u.value.style.bottom="0px";const G=f.value.clientHeight-g.value.offsetTop-g.value.offsetHeight,F=Math.max(T,U+(M?ie:0)+G+P),Z=_+F;u.value.style.height=`${Z}px`}else{const M=k.value===N[0];u.value.style.top="0px";const F=Math.max(L,D+g.value.offsetTop+(M?O:0)+U)+q;u.value.style.height=`${F}px`,g.value.scrollTop=_-L+g.value.offsetTop}u.value.style.margin=`${Ie}px 0`,u.value.style.minHeight=`${X}px`,u.value.style.maxHeight=`${x}px`,r("placed"),requestAnimationFrame(()=>i.value=!0)}}const h=e.ref("");e.onMounted(async()=>{await e.nextTick(),v(),f.value&&(h.value=window.getComputedStyle(f.value).zIndex)});function m(C){C&&c.value===!0&&(v(),y?.(),c.value=!1)}return ee.useResizeObserver(l.triggerElement,()=>{v()}),Lc({contentWrapper:u,shouldExpandOnScrollRef:i,onScrollButtonChange:m}),(C,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"contentWrapperElement",ref:u,style:e.normalizeStyle({display:"flex",flexDirection:"column",position:"fixed",zIndex:h.value})},[e.createVNode(e.unref(de),e.mergeProps({ref:e.unref(d),style:{boxSizing:"border-box",maxHeight:"100%"}},{...C.$attrs,...o}),{default:e.withCtx(()=>[e.renderSlot(C.$slots,"default")]),_:3},16)],4))}}),Hc=jc,Wc=e.defineComponent({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(t){return sa(t.context),ia(Rc),(o,r)=>e.renderSlot(o.$slots,"default")}}),Uc=Wc;const Gc={key:1};var Kc=e.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(t,{emit:n}){const o=t,a=ze(o,n),l=Je(),s=e.ref();e.onMounted(()=>{s.value=new DocumentFragment});const i=e.ref(),c=e.computed(()=>o.forceMount||l.open.value),u=e.ref(c.value);return e.watch(c,()=>{setTimeout(()=>u.value=c.value)}),(d,f)=>c.value||u.value||i.value?.present?(e.openBlock(),e.createBlock(e.unref(fn),{key:0,ref_key:"presenceRef",ref:i,present:c.value},{default:e.withCtx(()=>[e.createVNode(Fc,e.normalizeProps(e.guardReactiveProps({...e.unref(a),...d.$attrs})),{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},16)]),_:3},8,["present"])):s.value?(e.openBlock(),e.createElementBlock("div",Gc,[(e.openBlock(),e.createBlock(e.Teleport,{to:s.value},[e.createVNode(Uc,{context:e.unref(l)},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):e.createCommentVNode("v-if",!0)}}),Yc=Kc,Qc=e.defineComponent({__name:"SelectIcon",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){return(n,o)=>(e.openBlock(),e.createBlock(e.unref(de),{"aria-hidden":"true",as:n.as,"as-child":n.asChild},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default",{},()=>[o[0]||(o[0]=e.createTextVNode("▼"))])]),_:3},8,["as","as-child"]))}}),Xc=Qc;const[ua,Zc]=Se("SelectItem");var Jc=e.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(t,{emit:n}){const o=t,r=n,{disabled:a}=e.toRefs(o),l=Je(),s=st(),{forwardRef:i,currentElement:c}=le(),{CollectionItem:u}=Ze(),d=e.computed(()=>Ot(l.modelValue?.value,o.value,l.by)),f=e.ref(!1),g=e.ref(o.textValue??""),k=Bt(void 0,"reka-select-item-text"),b="select.select";async function y(p){if(p.defaultPrevented)return;const w={originalEvent:p,value:o.value};mo(b,v,w)}async function v(p){await e.nextTick(),r("select",p),!p.defaultPrevented&&(a.value||(l.onValueChange(o.value),l.multiple.value||l.onOpenChange(!1)))}async function h(p){await e.nextTick(),!p.defaultPrevented&&(a.value?s.onItemLeave?.():p.currentTarget?.focus({preventScroll:!0}))}async function m(p){await e.nextTick(),!p.defaultPrevented&&p.currentTarget===xe()&&s.onItemLeave?.()}async function C(p){await e.nextTick(),!(p.defaultPrevented||s.searchRef?.value!==""&&p.key===" ")&&(Vc.includes(p.key)&&y(p),p.key===" "&&p.preventDefault())}if(o.value==="")throw new 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 e.onMounted(()=>{c.value&&s.itemRefCallback(c.value,o.value,o.disabled)}),Zc({value:o.value,disabled:a,textId:k,isSelected:d,onItemTextChange:p=>{g.value=((g.value||p?.textContent)??"").trim()}}),(p,w)=>(e.openBlock(),e.createBlock(e.unref(u),{value:{textValue:g.value}},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{ref:e.unref(i),role:"option","aria-labelledby":e.unref(k),"data-highlighted":f.value?"":void 0,"aria-selected":d.value,"data-state":d.value?"checked":"unchecked","aria-disabled":e.unref(a)||void 0,"data-disabled":e.unref(a)?"":void 0,tabindex:e.unref(a)?void 0:-1,as:p.as,"as-child":p.asChild,onFocus:w[0]||(w[0]=E=>f.value=!0),onBlur:w[1]||(w[1]=E=>f.value=!1),onPointerup:y,onPointerdown:w[2]||(w[2]=E=>{E.currentTarget.focus({preventScroll:!0})}),onTouchend:w[3]||(w[3]=e.withModifiers(()=>{},["prevent","stop"])),onPointermove:h,onPointerleave:m,onKeydown:C},{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),ed=Jc,td=e.defineComponent({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const n=t,o=ua();return(r,a)=>e.unref(o).isSelected.value?(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps({key:0,"aria-hidden":"true"},n),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16)):e.createCommentVNode("v-if",!0)}}),nd=td,od=e.defineComponent({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const n=t,o=Je(),r=st(),a=ua(),{forwardRef:l,currentElement:s}=le(),i=e.computed(()=>({value:a.value,disabled:a.disabled.value,textContent:s.value?.textContent??a.value?.toString()??""}));return e.onMounted(()=>{s.value&&(a.onItemTextChange(s.value),r.itemTextRefCallback(s.value,a.value,a.disabled.value),o.onOptionAdd(i.value))}),e.onUnmounted(()=>{o.onOptionRemove(i.value)}),(c,u)=>(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps({id:e.unref(a).textId,ref:e.unref(l)},{...n,...c.$attrs}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["id"]))}}),rd=od,ad=e.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(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(wo),e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),ld=ad,sd=e.defineComponent({__name:"SelectScrollButtonImpl",emits:["autoScroll"],setup(t,{emit:n}){const o=n,{getItems:r}=Ze(),a=st(),l=e.ref(null);function s(){l.value!==null&&(window.clearInterval(l.value),l.value=null)}e.watchEffect(()=>{r().map(d=>d.ref).find(d=>d===xe())?.scrollIntoView({block:"nearest"})});function i(){l.value===null&&(l.value=window.setInterval(()=>{o("autoScroll")},50))}function c(){a.onItemLeave?.(),l.value===null&&(l.value=window.setInterval(()=>{o("autoScroll")},50))}return e.onBeforeUnmount(()=>s()),(u,d)=>(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps({"aria-hidden":"true",style:{flexShrink:0}},u.$parent?.$props,{onPointerdown:i,onPointermove:c,onPointerleave:d[0]||(d[0]=()=>{s()})}),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},16))}}),ca=sd,id=e.defineComponent({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=st(),o=n.position==="item-aligned"?Do():void 0,{forwardRef:r,currentElement:a}=le(),l=e.ref(!1);return e.watchEffect(s=>{if(n.viewport?.value&&n.isPositioned?.value){let c=function(){const u=i.scrollHeight-i.clientHeight;l.value=Math.ceil(i.scrollTop)<u};const i=n.viewport.value;c(),i.addEventListener("scroll",c),s(()=>i.removeEventListener("scroll",c))}}),e.watch(a,()=>{a.value&&o?.onScrollButtonChange(a.value)}),(s,i)=>l.value?(e.openBlock(),e.createBlock(ca,{key:0,ref:e.unref(r),onAutoScroll:i[0]||(i[0]=()=>{const{viewport:c,selectedItem:u}=e.unref(n);c?.value&&u?.value&&(c.value.scrollTop=c.value.scrollTop+u.value.offsetHeight)})},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512)):e.createCommentVNode("v-if",!0)}}),ud=id,cd=e.defineComponent({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=st(),o=n.position==="item-aligned"?Do():void 0,{forwardRef:r,currentElement:a}=le(),l=e.ref(!1);return e.watchEffect(s=>{if(n.viewport?.value&&n.isPositioned?.value){let c=function(){l.value=i.scrollTop>0};const i=n.viewport.value;c(),i.addEventListener("scroll",c),s(()=>i.removeEventListener("scroll",c))}}),e.watch(a,()=>{a.value&&o?.onScrollButtonChange(a.value)}),(s,i)=>l.value?(e.openBlock(),e.createBlock(ca,{key:0,ref:e.unref(r),onAutoScroll:i[0]||(i[0]=()=>{const{viewport:c,selectedItem:u}=e.unref(n);c?.value&&u?.value&&(c.value.scrollTop=c.value.scrollTop-u.value.offsetHeight)})},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},512)):e.createCommentVNode("v-if",!0)}}),dd=cd,fd=e.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(t){const n=t,o=Je(),{forwardRef:r,currentElement:a}=le(),l=e.computed(()=>o.disabled?.value||n.disabled);o.contentId||=Bt(void 0,"reka-select-content"),e.onMounted(()=>{o.onTriggerChange(a.value)});const{getItems:s}=Ze(),{search:i,handleTypeaheadSearch:c,resetTypeahead:u}=ho();function d(){l.value||(o.onOpenChange(!0),u())}function f(g){d(),o.triggerPointerDownPosRef.value={x:Math.round(g.pageX),y:Math.round(g.pageY)}}return(g,k)=>(e.openBlock(),e.createBlock(e.unref(Wr),{"as-child":"",reference:g.reference},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{ref:e.unref(r),role:"combobox",type:g.as==="button"?"button":void 0,"aria-controls":e.unref(o).contentId,"aria-expanded":e.unref(o).open.value||!1,"aria-required":e.unref(o).required?.value,"aria-autocomplete":"none",disabled:l.value,dir:e.unref(o)?.dir.value,"data-state":e.unref(o)?.open.value?"open":"closed","data-disabled":l.value?"":void 0,"data-placeholder":e.unref(_c)(e.unref(o).modelValue?.value)?"":void 0,"as-child":g.asChild,as:g.as,onClick:k[0]||(k[0]=b=>{b?.currentTarget?.focus()}),onPointerdown:k[1]||(k[1]=b=>{if(b.pointerType==="touch")return b.preventDefault();const y=b.target;y.hasPointerCapture(b.pointerId)&&y.releasePointerCapture(b.pointerId),b.button===0&&b.ctrlKey===!1&&(f(b),b.preventDefault())}),onPointerup:k[2]||(k[2]=e.withModifiers(b=>{b.pointerType==="touch"&&f(b)},["prevent"])),onKeydown:k[3]||(k[3]=b=>{const y=e.unref(i)!=="";!(b.ctrlKey||b.altKey||b.metaKey)&&b.key.length===1&&y&&b.key===" "||(e.unref(c)(b.key,e.unref(s)()),e.unref(Dc).includes(b.key)&&(d(),b.preventDefault()))})},{default:e.withCtx(()=>[e.renderSlot(g.$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"]))}}),md=fd,pd=e.defineComponent({__name:"SelectValue",props:{placeholder:{type:String,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const n=t,{forwardRef:o,currentElement:r}=le(),a=Je();e.onMounted(()=>{a.valueElement=r});const l=e.computed(()=>{let i=[];const c=Array.from(a.optionsSet.value),u=d=>c.find(f=>Ot(d,f.value,a.by));return Array.isArray(a.modelValue.value)?i=a.modelValue.value.map(d=>u(d)?.textContent??""):i=[u(a.modelValue.value)?.textContent??""],i.filter(Boolean)}),s=e.computed(()=>l.value.length?l.value.join(", "):n.placeholder);return(i,c)=>(e.openBlock(),e.createBlock(e.unref(de),{ref:e.unref(o),as:i.as,"as-child":i.asChild,style:{pointerEvents:"none"},"data-placeholder":l.value.length?void 0:n.placeholder},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default",{selectedLabel:l.value,modelValue:e.unref(a).modelValue.value},()=>[e.createTextVNode(e.toDisplayString(s.value),1)])]),_:3},8,["as","as-child","data-placeholder"]))}}),vd=pd,gd=e.defineComponent({__name:"SelectViewport",props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const n=t,{nonce:o}=e.toRefs(n),r=ju(o),a=st(),l=a.position==="item-aligned"?Do():void 0,{forwardRef:s,currentElement:i}=le();e.onMounted(()=>{a?.onViewportChange(i.value)});const c=e.ref(0);function u(d){const f=d.currentTarget,{shouldExpandOnScrollRef:g,contentWrapper:k}=l??{};if(g?.value&&k?.value){const b=Math.abs(c.value-f.scrollTop);if(b>0){const y=window.innerHeight-Ie*2,v=Number.parseFloat(k.value.style.minHeight),h=Number.parseFloat(k.value.style.height),m=Math.max(v,h);if(m<y){const C=m+b,p=Math.min(y,C),w=C-p;k.value.style.height=`${p}px`,k.value.style.bottom==="0px"&&(f.scrollTop=w>0?w:0,k.value.style.justifyContent="flex-end")}}}c.value=f.scrollTop}return(d,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(de),e.mergeProps({ref:e.unref(s),"data-reka-select-viewport":"",role:"presentation"},{...d.$attrs,...n},{style:{position:"relative",flex:1,overflow:"hidden auto"},onScroll:u}),{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},16),e.createVNode(e.unref(de),{as:"style",nonce:e.unref(r)},{default:e.withCtx(()=>f[0]||(f[0]=[e.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))}}),hd=gd;const[yd,bd]=Se("SwitchRoot");var wd=e.defineComponent({__name:"SwitchRoot",props:{defaultValue:{type:Boolean,required:!1},modelValue:{type:[Boolean,null],required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},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(t,{emit:n}){const o=t,r=n,{disabled:a}=e.toRefs(o),l=ee.useVModel(o,"modelValue",r,{defaultValue:o.defaultValue,passive:o.modelValue===void 0});function s(){a.value||(l.value=!l.value)}const{forwardRef:i,currentElement:c}=le(),u=Tr(c),d=e.computed(()=>o.id&&c.value?document.querySelector(`[for="${o.id}"]`)?.innerText:void 0);return bd({modelValue:l,toggleCheck:s,disabled:a}),(f,g)=>(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps(f.$attrs,{id:f.id,ref:e.unref(i),role:"switch",type:f.as==="button"?"button":void 0,value:f.value,"aria-label":f.$attrs["aria-label"]||d.value,"aria-checked":e.unref(l),"aria-required":f.required,"data-state":e.unref(l)?"checked":"unchecked","data-disabled":e.unref(a)?"":void 0,"as-child":f.asChild,as:f.as,disabled:e.unref(a),onClick:s,onKeydown:e.withKeys(e.withModifiers(s,["prevent"]),["enter"])}),{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{modelValue:e.unref(l)}),e.unref(u)&&f.name?(e.openBlock(),e.createBlock(e.unref(zi),{key:0,type:"checkbox",name:f.name,disabled:e.unref(a),required:f.required,value:f.value,checked:!!e.unref(l)},null,8,["name","disabled","required","value","checked"])):e.createCommentVNode("v-if",!0)]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]))}}),xd=wd,kd=e.defineComponent({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const n=yd();return le(),(o,r)=>(e.openBlock(),e.createBlock(e.unref(de),{"data-state":e.unref(n).modelValue?.value?"checked":"unchecked","data-disabled":e.unref(n).disabled.value?"":void 0,"as-child":o.asChild,as:o.as},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),Cd=kd;const Bd=(t,n)=>{const o=new Array(t.length+n.length);for(let r=0;r<t.length;r++)o[r]=t[r];for(let r=0;r<n.length;r++)o[t.length+r]=n[r];return o},Ed=(t,n)=>({classGroupId:t,validator:n}),da=(t=new Map,n=null,o)=>({nextPart:t,validators:n,classGroupId:o}),ln="-",ur=[],Sd="arbitrary..",Nd=t=>{const n=Dd(t),{conflictingClassGroups:o,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return Md(s);const i=s.split(ln),c=i[0]===""&&i.length>1?1:0;return fa(i,c,n)},getConflictingClassGroupIds:(s,i)=>{if(i){const c=r[s],u=o[s];return c?u?Bd(u,c):c:u||ur}return o[s]||ur}}},fa=(t,n,o)=>{if(t.length-n===0)return o.classGroupId;const a=t[n],l=o.nextPart.get(a);if(l){const u=fa(t,n+1,l);if(u)return u}const s=o.validators;if(s===null)return;const i=n===0?t.join(ln):t.slice(n).join(ln),c=s.length;for(let u=0;u<c;u++){const d=s[u];if(d.validator(i))return d.classGroupId}},Md=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const n=t.slice(1,-1),o=n.indexOf(":"),r=n.slice(0,o);return r?Sd+r:void 0})(),Dd=t=>{const{theme:n,classGroups:o}=t;return Vd(o,n)},Vd=(t,n)=>{const o=da();for(const r in t){const a=t[r];Vo(a,o,r,n)}return o},Vo=(t,n,o,r)=>{const a=t.length;for(let l=0;l<a;l++){const s=t[l];_d(s,n,o,r)}},_d=(t,n,o,r)=>{if(typeof t=="string"){zd(t,n,o);return}if(typeof t=="function"){Id(t,n,o,r);return}Ad(t,n,o,r)},zd=(t,n,o)=>{const r=t===""?n:ma(n,t);r.classGroupId=o},Id=(t,n,o,r)=>{if(Td(t)){Vo(t(r),n,o,r);return}n.validators===null&&(n.validators=[]),n.validators.push(Ed(o,t))},Ad=(t,n,o,r)=>{const a=Object.entries(t),l=a.length;for(let s=0;s<l;s++){const[i,c]=a[s];Vo(c,ma(n,i),o,r)}},ma=(t,n)=>{let o=t;const r=n.split(ln),a=r.length;for(let l=0;l<a;l++){const s=r[l];let i=o.nextPart.get(s);i||(i=da(),o.nextPart.set(s,i)),o=i}return o},Td=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,Pd=t=>{if(t<1)return{get:()=>{},set:()=>{}};let n=0,o=Object.create(null),r=Object.create(null);const a=(l,s)=>{o[l]=s,n++,n>t&&(n=0,r=o,o=Object.create(null))};return{get(l){let s=o[l];if(s!==void 0)return s;if((s=r[l])!==void 0)return a(l,s),s},set(l,s){l in o?o[l]=s:a(l,s)}}},ro="!",cr=":",$d=[],dr=(t,n,o,r,a)=>({modifiers:t,hasImportantModifier:n,baseClassName:o,maybePostfixModifierPosition:r,isExternal:a}),Od=t=>{const{prefix:n,experimentalParseClassName:o}=t;let r=a=>{const l=[];let s=0,i=0,c=0,u;const d=a.length;for(let y=0;y<d;y++){const v=a[y];if(s===0&&i===0){if(v===cr){l.push(a.slice(c,y)),c=y+1;continue}if(v==="/"){u=y;continue}}v==="["?s++:v==="]"?s--:v==="("?i++:v===")"&&i--}const f=l.length===0?a:a.slice(c);let g=f,k=!1;f.endsWith(ro)?(g=f.slice(0,-1),k=!0):f.startsWith(ro)&&(g=f.slice(1),k=!0);const b=u&&u>c?u-c:void 0;return dr(l,k,g,b)};if(n){const a=n+cr,l=r;r=s=>s.startsWith(a)?l(s.slice(a.length)):dr($d,!1,s,void 0,!0)}if(o){const a=r;r=l=>o({className:l,parseClassName:a})}return r},Rd=t=>{const n=new Map;return t.orderSensitiveModifiers.forEach((o,r)=>{n.set(o,1e6+r)}),o=>{const r=[];let a=[];for(let l=0;l<o.length;l++){const s=o[l],i=s[0]==="[",c=n.has(s);i||c?(a.length>0&&(a.sort(),r.push(...a),a=[]),r.push(s)):a.push(s)}return a.length>0&&(a.sort(),r.push(...a)),r}},qd=t=>({cache:Pd(t.cacheSize),parseClassName:Od(t),sortModifiers:Rd(t),...Nd(t)}),Fd=/\s+/,Ld=(t,n)=>{const{parseClassName:o,getClassGroupId:r,getConflictingClassGroupIds:a,sortModifiers:l}=n,s=[],i=t.trim().split(Fd);let c="";for(let u=i.length-1;u>=0;u-=1){const d=i[u],{isExternal:f,modifiers:g,hasImportantModifier:k,baseClassName:b,maybePostfixModifierPosition:y}=o(d);if(f){c=d+(c.length>0?" "+c:c);continue}let v=!!y,h=r(v?b.substring(0,y):b);if(!h){if(!v){c=d+(c.length>0?" "+c:c);continue}if(h=r(b),!h){c=d+(c.length>0?" "+c:c);continue}v=!1}const m=g.length===0?"":g.length===1?g[0]:l(g).join(":"),C=k?m+ro:m,p=C+h;if(s.indexOf(p)>-1)continue;s.push(p);const w=a(h,v);for(let E=0;E<w.length;++E){const N=w[E];s.push(C+N)}c=d+(c.length>0?" "+c:c)}return c},jd=(...t)=>{let n=0,o,r,a="";for(;n<t.length;)(o=t[n++])&&(r=pa(o))&&(a&&(a+=" "),a+=r);return a},pa=t=>{if(typeof t=="string")return t;let n,o="";for(let r=0;r<t.length;r++)t[r]&&(n=pa(t[r]))&&(o&&(o+=" "),o+=n);return o},Hd=(t,...n)=>{let o,r,a,l;const s=c=>{const u=n.reduce((d,f)=>f(d),t());return o=qd(u),r=o.cache.get,a=o.cache.set,l=i,i(c)},i=c=>{const u=r(c);if(u)return u;const d=Ld(c,o);return a(c,d),d};return l=s,(...c)=>l(jd(...c))},Wd=[],ge=t=>{const n=o=>o[t]||Wd;return n.isThemeGetter=!0,n},va=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ga=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Ud=/^\d+\/\d+$/,Gd=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Kd=/\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$/,Yd=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Qd=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Xd=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ft=t=>Ud.test(t),ne=t=>!!t&&!Number.isNaN(Number(t)),Ke=t=>!!t&&Number.isInteger(Number(t)),In=t=>t.endsWith("%")&&ne(t.slice(0,-1)),je=t=>Gd.test(t),Zd=()=>!0,Jd=t=>Kd.test(t)&&!Yd.test(t),ha=()=>!1,ef=t=>Qd.test(t),tf=t=>Xd.test(t),nf=t=>!H(t)&&!W(t),of=t=>Mt(t,wa,ha),H=t=>va.test(t),tt=t=>Mt(t,xa,Jd),An=t=>Mt(t,uf,ne),fr=t=>Mt(t,ya,ha),rf=t=>Mt(t,ba,tf),Jt=t=>Mt(t,ka,ef),W=t=>ga.test(t),It=t=>Dt(t,xa),af=t=>Dt(t,cf),mr=t=>Dt(t,ya),lf=t=>Dt(t,wa),sf=t=>Dt(t,ba),en=t=>Dt(t,ka,!0),Mt=(t,n,o)=>{const r=va.exec(t);return r?r[1]?n(r[1]):o(r[2]):!1},Dt=(t,n,o=!1)=>{const r=ga.exec(t);return r?r[1]?n(r[1]):o:!1},ya=t=>t==="position"||t==="percentage",ba=t=>t==="image"||t==="url",wa=t=>t==="length"||t==="size"||t==="bg-size",xa=t=>t==="length",uf=t=>t==="number",cf=t=>t==="family-name",ka=t=>t==="shadow",df=()=>{const t=ge("color"),n=ge("font"),o=ge("text"),r=ge("font-weight"),a=ge("tracking"),l=ge("leading"),s=ge("breakpoint"),i=ge("container"),c=ge("spacing"),u=ge("radius"),d=ge("shadow"),f=ge("inset-shadow"),g=ge("text-shadow"),k=ge("drop-shadow"),b=ge("blur"),y=ge("perspective"),v=ge("aspect"),h=ge("ease"),m=ge("animate"),C=()=>["auto","avoid","all","avoid-page","page","left","right","column"],p=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...p(),W,H],E=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],x=()=>[W,H,c],S=()=>[ft,"full","auto",...x()],B=()=>[Ke,"none","subgrid",W,H],D=()=>["auto",{span:["full",Ke,W,H]},Ke,W,H],V=()=>[Ke,"auto",W,H],P=()=>["auto","min","max","fr",W,H],R=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Q=()=>["start","end","center","stretch","center-safe","end-safe"],X=()=>["auto",...x()],J=()=>[ft,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...x()],O=()=>[t,W,H],ie=()=>[...p(),mr,fr,{position:[W,H]}],L=()=>["no-repeat",{repeat:["","x","y","space","round"]}],T=()=>["auto","cover","contain",lf,of,{size:[W,H]}],U=()=>[In,It,tt],Y=()=>["","none","full",u,W,H],_=()=>["",ne,It,tt],q=()=>["solid","dashed","dotted","double"],I=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],M=()=>[ne,In,mr,fr],G=()=>["","none",b,W,H],F=()=>["none",ne,W,H],Z=()=>["none",ne,W,H],ue=()=>[ne,W,H],me=()=>[ft,"full",...x()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[je],breakpoint:[je],color:[Zd],container:[je],"drop-shadow":[je],ease:["in","out","in-out"],font:[nf],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[je],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[je],shadow:[je],spacing:["px",ne],text:[je],"text-shadow":[je],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ft,H,W,v]}],container:["container"],columns:[{columns:[ne,H,W,i]}],"break-after":[{"break-after":C()}],"break-before":[{"break-before":C()}],"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:w()}],overflow:[{overflow:E()}],"overflow-x":[{"overflow-x":E()}],"overflow-y":[{"overflow-y":E()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:S()}],"inset-x":[{"inset-x":S()}],"inset-y":[{"inset-y":S()}],start:[{start:S()}],end:[{end:S()}],top:[{top:S()}],right:[{right:S()}],bottom:[{bottom:S()}],left:[{left:S()}],visibility:["visible","invisible","collapse"],z:[{z:[Ke,"auto",W,H]}],basis:[{basis:[ft,"full","auto",i,...x()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ne,ft,"auto","initial","none",H]}],grow:[{grow:["",ne,W,H]}],shrink:[{shrink:["",ne,W,H]}],order:[{order:[Ke,"first","last","none",W,H]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":V()}],"col-end":[{"col-end":V()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":V()}],"row-end":[{"row-end":V()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":P()}],"auto-rows":[{"auto-rows":P()}],gap:[{gap:x()}],"gap-x":[{"gap-x":x()}],"gap-y":[{"gap-y":x()}],"justify-content":[{justify:[...R(),"normal"]}],"justify-items":[{"justify-items":[...Q(),"normal"]}],"justify-self":[{"justify-self":["auto",...Q()]}],"align-content":[{content:["normal",...R()]}],"align-items":[{items:[...Q(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Q(),{baseline:["","last"]}]}],"place-content":[{"place-content":R()}],"place-items":[{"place-items":[...Q(),"baseline"]}],"place-self":[{"place-self":["auto",...Q()]}],p:[{p:x()}],px:[{px:x()}],py:[{py:x()}],ps:[{ps:x()}],pe:[{pe:x()}],pt:[{pt:x()}],pr:[{pr:x()}],pb:[{pb:x()}],pl:[{pl:x()}],m:[{m:X()}],mx:[{mx:X()}],my:[{my:X()}],ms:[{ms:X()}],me:[{me:X()}],mt:[{mt:X()}],mr:[{mr:X()}],mb:[{mb:X()}],ml:[{ml:X()}],"space-x":[{"space-x":x()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":x()}],"space-y-reverse":["space-y-reverse"],size:[{size:J()}],w:[{w:[i,"screen",...J()]}],"min-w":[{"min-w":[i,"screen","none",...J()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...J()]}],h:[{h:["screen","lh",...J()]}],"min-h":[{"min-h":["screen","lh","none",...J()]}],"max-h":[{"max-h":["screen","lh",...J()]}],"font-size":[{text:["base",o,It,tt]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,W,An]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",In,H]}],"font-family":[{font:[af,H,n]}],"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:[a,W,H]}],"line-clamp":[{"line-clamp":[ne,"none",W,An]}],leading:[{leading:[l,...x()]}],"list-image":[{"list-image":["none",W,H]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",W,H]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:O()}],"text-color":[{text:O()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...q(),"wavy"]}],"text-decoration-thickness":[{decoration:[ne,"from-font","auto",W,tt]}],"text-decoration-color":[{decoration:O()}],"underline-offset":[{"underline-offset":[ne,"auto",W,H]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:x()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",W,H]}],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",W,H]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ie()}],"bg-repeat":[{bg:L()}],"bg-size":[{bg:T()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ke,W,H],radial:["",W,H],conic:[Ke,W,H]},sf,rf]}],"bg-color":[{bg:O()}],"gradient-from-pos":[{from:U()}],"gradient-via-pos":[{via:U()}],"gradient-to-pos":[{to:U()}],"gradient-from":[{from:O()}],"gradient-via":[{via:O()}],"gradient-to":[{to:O()}],rounded:[{rounded:Y()}],"rounded-s":[{"rounded-s":Y()}],"rounded-e":[{"rounded-e":Y()}],"rounded-t":[{"rounded-t":Y()}],"rounded-r":[{"rounded-r":Y()}],"rounded-b":[{"rounded-b":Y()}],"rounded-l":[{"rounded-l":Y()}],"rounded-ss":[{"rounded-ss":Y()}],"rounded-se":[{"rounded-se":Y()}],"rounded-ee":[{"rounded-ee":Y()}],"rounded-es":[{"rounded-es":Y()}],"rounded-tl":[{"rounded-tl":Y()}],"rounded-tr":[{"rounded-tr":Y()}],"rounded-br":[{"rounded-br":Y()}],"rounded-bl":[{"rounded-bl":Y()}],"border-w":[{border:_()}],"border-w-x":[{"border-x":_()}],"border-w-y":[{"border-y":_()}],"border-w-s":[{"border-s":_()}],"border-w-e":[{"border-e":_()}],"border-w-t":[{"border-t":_()}],"border-w-r":[{"border-r":_()}],"border-w-b":[{"border-b":_()}],"border-w-l":[{"border-l":_()}],"divide-x":[{"divide-x":_()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":_()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...q(),"hidden","none"]}],"divide-style":[{divide:[...q(),"hidden","none"]}],"border-color":[{border:O()}],"border-color-x":[{"border-x":O()}],"border-color-y":[{"border-y":O()}],"border-color-s":[{"border-s":O()}],"border-color-e":[{"border-e":O()}],"border-color-t":[{"border-t":O()}],"border-color-r":[{"border-r":O()}],"border-color-b":[{"border-b":O()}],"border-color-l":[{"border-l":O()}],"divide-color":[{divide:O()}],"outline-style":[{outline:[...q(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ne,W,H]}],"outline-w":[{outline:["",ne,It,tt]}],"outline-color":[{outline:O()}],shadow:[{shadow:["","none",d,en,Jt]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":["none",f,en,Jt]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:_()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[ne,tt]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":_()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":["none",g,en,Jt]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[ne,W,H]}],"mix-blend":[{"mix-blend":[...I(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":I()}],"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":[ne]}],"mask-image-linear-from-pos":[{"mask-linear-from":M()}],"mask-image-linear-to-pos":[{"mask-linear-to":M()}],"mask-image-linear-from-color":[{"mask-linear-from":O()}],"mask-image-linear-to-color":[{"mask-linear-to":O()}],"mask-image-t-from-pos":[{"mask-t-from":M()}],"mask-image-t-to-pos":[{"mask-t-to":M()}],"mask-image-t-from-color":[{"mask-t-from":O()}],"mask-image-t-to-color":[{"mask-t-to":O()}],"mask-image-r-from-pos":[{"mask-r-from":M()}],"mask-image-r-to-pos":[{"mask-r-to":M()}],"mask-image-r-from-color":[{"mask-r-from":O()}],"mask-image-r-to-color":[{"mask-r-to":O()}],"mask-image-b-from-pos":[{"mask-b-from":M()}],"mask-image-b-to-pos":[{"mask-b-to":M()}],"mask-image-b-from-color":[{"mask-b-from":O()}],"mask-image-b-to-color":[{"mask-b-to":O()}],"mask-image-l-from-pos":[{"mask-l-from":M()}],"mask-image-l-to-pos":[{"mask-l-to":M()}],"mask-image-l-from-color":[{"mask-l-from":O()}],"mask-image-l-to-color":[{"mask-l-to":O()}],"mask-image-x-from-pos":[{"mask-x-from":M()}],"mask-image-x-to-pos":[{"mask-x-to":M()}],"mask-image-x-from-color":[{"mask-x-from":O()}],"mask-image-x-to-color":[{"mask-x-to":O()}],"mask-image-y-from-pos":[{"mask-y-from":M()}],"mask-image-y-to-pos":[{"mask-y-to":M()}],"mask-image-y-from-color":[{"mask-y-from":O()}],"mask-image-y-to-color":[{"mask-y-to":O()}],"mask-image-radial":[{"mask-radial":[W,H]}],"mask-image-radial-from-pos":[{"mask-radial-from":M()}],"mask-image-radial-to-pos":[{"mask-radial-to":M()}],"mask-image-radial-from-color":[{"mask-radial-from":O()}],"mask-image-radial-to-color":[{"mask-radial-to":O()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":p()}],"mask-image-conic-pos":[{"mask-conic":[ne]}],"mask-image-conic-from-pos":[{"mask-conic-from":M()}],"mask-image-conic-to-pos":[{"mask-conic-to":M()}],"mask-image-conic-from-color":[{"mask-conic-from":O()}],"mask-image-conic-to-color":[{"mask-conic-to":O()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ie()}],"mask-repeat":[{mask:L()}],"mask-size":[{mask:T()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",W,H]}],filter:[{filter:["","none",W,H]}],blur:[{blur:G()}],brightness:[{brightness:[ne,W,H]}],contrast:[{contrast:[ne,W,H]}],"drop-shadow":[{"drop-shadow":["","none",k,en,Jt]}],"drop-shadow-color":[{"drop-shadow":O()}],grayscale:[{grayscale:["",ne,W,H]}],"hue-rotate":[{"hue-rotate":[ne,W,H]}],invert:[{invert:["",ne,W,H]}],saturate:[{saturate:[ne,W,H]}],sepia:[{sepia:["",ne,W,H]}],"backdrop-filter":[{"backdrop-filter":["","none",W,H]}],"backdrop-blur":[{"backdrop-blur":G()}],"backdrop-brightness":[{"backdrop-brightness":[ne,W,H]}],"backdrop-contrast":[{"backdrop-contrast":[ne,W,H]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ne,W,H]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ne,W,H]}],"backdrop-invert":[{"backdrop-invert":["",ne,W,H]}],"backdrop-opacity":[{"backdrop-opacity":[ne,W,H]}],"backdrop-saturate":[{"backdrop-saturate":[ne,W,H]}],"backdrop-sepia":[{"backdrop-sepia":["",ne,W,H]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":x()}],"border-spacing-x":[{"border-spacing-x":x()}],"border-spacing-y":[{"border-spacing-y":x()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",W,H]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ne,"initial",W,H]}],ease:[{ease:["linear","initial",h,W,H]}],delay:[{delay:[ne,W,H]}],animate:[{animate:["none",m,W,H]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,W,H]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:F()}],"rotate-x":[{"rotate-x":F()}],"rotate-y":[{"rotate-y":F()}],"rotate-z":[{"rotate-z":F()}],scale:[{scale:Z()}],"scale-x":[{"scale-x":Z()}],"scale-y":[{"scale-y":Z()}],"scale-z":[{"scale-z":Z()}],"scale-3d":["scale-3d"],skew:[{skew:ue()}],"skew-x":[{"skew-x":ue()}],"skew-y":[{"skew-y":ue()}],transform:[{transform:[W,H,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:me()}],"translate-x":[{"translate-x":me()}],"translate-y":[{"translate-y":me()}],"translate-z":[{"translate-z":me()}],"translate-none":["translate-none"],accent:[{accent:O()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:O()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",W,H]}],"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":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"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",W,H]}],fill:[{fill:["none",...O()]}],"stroke-w":[{stroke:[ne,It,tt,An]}],stroke:[{stroke:["none",...O()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-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-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-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-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"]}},ff=Hd(df);function ae(...t){return ff(_r(t))}const pe=e.defineComponent({__name:"Button",props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:"button"}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(de),{"data-slot":"button",as:t.as,"as-child":t.asChild,class:e.normalizeClass(e.unref(ae)(e.unref(mf)({variant:t.variant,size:t.size}),n.class))},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["as","as-child","class"]))}}),mf=zr("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"}}),yt=e.defineComponent({__name:"Dialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(t,{emit:n}){const a=ze(t,n);return(l,s)=>(e.openBlock(),e.createBlock(e.unref(Ps),e.mergeProps({"data-slot":"dialog"},e.unref(a)),{default:e.withCtx(i=>[e.renderSlot(l.$slots,"default",e.normalizeProps(e.guardReactiveProps(i)))]),_:3},16))}}),pf=e.defineComponent({__name:"DialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=ee.reactiveOmit(n,"class");return(r,a)=>(e.openBlock(),e.createBlock(e.unref(hi),e.mergeProps({"data-slot":"dialog-overlay"},e.unref(o),{class:e.unref(ae)("fixed inset-0 z-50 bg-black/80",n.class)}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),bt=e.defineComponent({inheritAttrs:!1,__name:"DialogContent",props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{},showCloseButton:{type:Boolean,default:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,a=ee.reactiveOmit(o,"class"),l=ze(a,r);return(s,i)=>(e.openBlock(),e.createBlock(e.unref(wi),null,{default:e.withCtx(()=>[e.createVNode(pf),e.createVNode(e.unref(di),e.mergeProps({"data-slot":"dialog-content"},{...s.$attrs,...e.unref(l)},{class:e.unref(ae)("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",o.class)}),{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default"),t.showCloseButton?(e.openBlock(),e.createBlock(e.unref(Os),{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:e.withCtx(()=>[e.createVNode(e.unref(Pt)),i[0]||(i[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))]),_:1})):e.createCommentVNode("",!0)]),_:3},16,["class"])]),_:3}))}}),vf=e.defineComponent({__name:"DialogDescription",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=ee.reactiveOmit(n,"class"),r=$e(o);return(a,l)=>(e.openBlock(),e.createBlock(e.unref(mi),e.mergeProps({"data-slot":"dialog-description"},e.unref(r),{class:e.unref(ae)("text-muted-foreground text-sm",n.class)}),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16,["class"]))}}),wt=e.defineComponent({__name:"DialogFooter",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"dialog-footer",class:e.normalizeClass(e.unref(ae)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),xt=e.defineComponent({__name:"DialogHeader",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"dialog-header",class:e.normalizeClass(e.unref(ae)("flex flex-col gap-2 text-center sm:text-left",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),kt=e.defineComponent({__name:"DialogTitle",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=ee.reactiveOmit(n,"class"),r=$e(o);return(a,l)=>(e.openBlock(),e.createBlock(e.unref(ki),e.mergeProps({"data-slot":"dialog-title"},e.unref(r),{class:e.unref(ae)("text-lg leading-none font-semibold",n.class)}),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16,["class"]))}}),gf={class:"space-y-2"},hf={key:0,class:"text-sm text-destructive"},Pe=e.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(t,{emit:n}){const o=t,r=n,a=e.computed({get:()=>o.isOpen,set:i=>{r("update:isOpen",i),i||r("cancel")}}),l=()=>{r("confirm")},s=()=>{o.isDeleting||r("cancel")};return(i,c)=>(e.openBlock(),e.createBlock(e.unref(yt),{open:a.value,"onUpdate:open":c[0]||(c[0]=u=>a.value=u)},{default:e.withCtx(()=>[e.createVNode(e.unref(bt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(xt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(kt),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1}),e.createVNode(e.unref(vf),null,{default:e.withCtx(()=>[e.createElementVNode("div",gf,[e.createElementVNode("p",null,e.toDisplayString(t.question),1),t.warning?(e.openBlock(),e.createElementBlock("p",hf,e.toDisplayString(t.warning),1)):e.createCommentVNode("",!0)])]),_:1})]),_:1}),e.createVNode(e.unref(wt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(pe),{variant:"outline",disabled:t.isDeleting,onClick:s},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelLabel),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(pe),{variant:"destructive",disabled:t.isDeleting,onClick:l},{default:e.withCtx(()=>[t.isDeleting?(e.openBlock(),e.createBlock(e.unref(el),{key:0,class:"h-4 w-4 mr-1.5 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.isDeleting?t.confirmingLabel:t.confirmLabel),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"]))}}),_o=e.defineComponent({__name:"PrimitiveLoadingGate",props:{isReady:{type:Boolean},delayMs:{default:50}},setup(t){const n=t,o=e.computed(()=>!n.isReady),r=e.ref(!1);let a=null;const l=()=>{a!=null&&window.clearTimeout(a),a=null};e.watch(o,c=>{c?(l(),a=window.setTimeout(()=>{r.value=!0},n.delayMs)):(l(),r.value=!1)},{immediate:!0}),e.onUnmounted(()=>{l()});const s=e.computed(()=>o.value&&!r.value),i=e.computed(()=>o.value&&r.value);return(c,u)=>s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[],64)):i.value?e.renderSlot(c.$slots,"loading",{key:1}):e.renderSlot(c.$slots,"default",{key:2})}});function Ca(){return qa.ModelRegistry.getInstance().getAllRegisteredModelsInfo().map(o=>{const r=new Map;for(const[l,s]of o.fields.entries()){const i=s;r.set(l,{name:l,hidden:i.hidden??l.startsWith("_"),schema:{type:i.type??"string",indexed:i.indexed,default:i.default,autoAssign:i.autoAssign,maxCount:i.maxCount,maxLength:i.maxLength}})}const a=o.options.uniqueConstraints??[];return{name:o.class.name,modelClass:o.class,tableName:o.options.name,fields:Array.from(o.fields.keys()),fieldInfo:r,relationships:o.options.relationships,uniqueConstraints:a,sourcePath:o.options.sourcePath??void 0}})}const Tn="documentExplorer:selectedDocId",Pn="documentExplorer:selectedModel",$n="documentExplorer:showHiddenFields",sn="devtools:rightPanelCollapsed",Ba="primitive-doc-explorer-page-size",Ea="primitive-doc-explorer-model-view-state";function un(t,n){const o=new WeakSet;return JSON.stringify(t,(r,a)=>{if(a===void 0)return"[undefined]";if(typeof a=="function")return"[Function]";if(typeof a=="symbol")return a.toString();if(a!==null&&typeof a=="object"){if(o.has(a))return"[Circular]";if(o.add(a),a.constructor&&a.constructor.name&&(a.constructor.name.includes("Set")||a.constructor.name.includes("Map")||a.constructor.name.includes("Model")))return Array.isArray(a)?a:a.toString&&a.toString()!=="[object Object]"?a.toString():`[${a.constructor.name}]`}return a},n)}function gt(t,n){const o=t.toLowerCase(),r=n.toLowerCase().trim();if(!r||o.includes(r))return!0;let a=0;for(let l=0;l<o.length&&a<r.length;l++)o[l]===r[a]&&a++;return a===r.length}function On(t){return t!=="is_null"&&t!=="is_not_null"}function pr(t){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:"<="}[t]||t}const Sa=["equals","not_equals","is_null","is_not_null","contains","not_contains","starts_with","ends_with","in","not_in","gt","gte","lt","lte"],yf={string:Sa,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 vr(t,n){const r=Fe(t,n)?.type??"string";return yf[r]??Sa}function gr(t,n){switch(Fe(t,n)?.type??"string"){case"id":case"number":case"boolean":case"date":return"equals";default:return"contains"}}function bf(t){if(t==null)return"string";if(typeof t=="boolean")return"boolean";if(typeof t=="number")return"number";if(typeof t=="string"){if(t.startsWith("{")||t.startsWith("["))try{return JSON.parse(t),"json"}catch{return"string"}if(t.length>100)return"textarea"}return"string"}function zo(t,n,o=!1){let r=[];const a=new Set(t.fields||[]),s=(n[t.tableName]||[])[0];return s&&(Object.keys(s).filter(u=>u!=="type").forEach(u=>a.add(u)),Object.getOwnPropertyNames(s).filter(u=>u!=="type").forEach(u=>a.add(u))),r=Array.from(a),o||(r=r.filter(i=>!(t.fieldInfo.get(i)?.hidden??i.startsWith("_")))),r.includes("id")&&(r=["id",...r.filter(i=>i!=="id")]),r}function Rn(t,n){if(!t.relationships)return null;for(const[o,r]of Object.entries(t.relationships))if(r.type==="refersTo"&&r.relatedIdField===n)return{relationshipName:o,relatedModel:r.model,relatedIdField:r.relatedIdField};return null}function Na(t){if(typeof t=="object"&&t!==null)return!0;if(typeof t=="string"){const n=t.trim();if(n.startsWith("{")||n.startsWith("["))try{return JSON.parse(n),!0}catch{return!1}}return!1}function wf(){return`filter-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function hr(t){const{field:n,mode:o,value:r}=t;switch(o){case"equals":return!isNaN(Number(r))&&r.trim()!==""?{[n]:Number(r)}:r.toLowerCase()==="true"?{[n]:!0}:r.toLowerCase()==="false"?{[n]:!1}:{[n]:r};case"not_equals":return!isNaN(Number(r))&&r.trim()!==""?{[n]:{$ne:Number(r)}}:r.toLowerCase()==="true"?{[n]:{$ne:!0}}:r.toLowerCase()==="false"?{[n]:{$ne:!1}}:{[n]:{$ne:r}};case"is_null":return{[n]:null};case"is_not_null":return{[n]:{$ne:null}};case"contains":return{[n]:{$containsText:r}};case"not_contains":return{[n]:{$not:{$containsText:r}}};case"in":{const l=r.split(",").map(s=>s.trim()).map(s=>!isNaN(Number(s))&&s!==""?Number(s):s);return{[n]:{$in:l}}}case"not_in":{const l=r.split(",").map(s=>s.trim()).map(s=>!isNaN(Number(s))&&s!==""?Number(s):s);return{[n]:{$nin:l}}}case"starts_with":return{[n]:{$startsWith:r}};case"ends_with":return{[n]:{$endsWith:r}};case"gt":return{[n]:{$gt:Number(r)}};case"gte":return{[n]:{$gte:Number(r)}};case"lt":return{[n]:{$lt:Number(r)}};case"lte":return{[n]:{$lte:Number(r)}};default:return{}}}function xf(t){if(!t||t.length===0)return{};if(t.length===1&&t[0])return hr(t[0]);const n=t.filter(o=>o&&o.field!=null&&o.field!==""&&(o.mode==="is_null"||o.mode==="is_not_null"||o.mode==="equals"||o.mode==="not_equals"||o.value!==void 0&&o.value!=="")).map(o=>hr(o));return n.length===0?{}:n.length===1?n[0]??{}:{$and:n}}const kf=25,ao=[10,25,50,100];function Ma(){try{const t=localStorage.getItem(Ba);if(t){const n=Number(t);if(ao.includes(n))return n}}catch{}return kf}function Cf(t){try{localStorage.setItem(Ba,String(t))}catch{}}function Fe(t,n){return t.fieldInfo.get(n)?.schema}function Ct(t,n){return Fe(t,n)?.type==="stringset"}function lo(t,n){return Fe(t,n)?.type==="date"}function Bf(t,n){return Fe(t,n)?.type==="number"}function so(t,n){return Fe(t,n)?.type==="boolean"}function Ef(t){if(t==null)return[];if(typeof t=="object"&&t!==null){if("toArray"in t&&typeof t.toArray=="function")return t.toArray();if(Symbol.iterator in t)return Array.from(t)}return Array.isArray(t)?t.map(String):[]}function Da(t,n){return Fe(t,n)?.indexed===!0}function Sf(t){return t?{[t.field]:t.direction}:{id:1}}function Nf(t){return t===1?"↑":"↓"}function Va(){try{const t=localStorage.getItem(Ea);if(t)return JSON.parse(t)}catch{}return{}}function Mf(t){try{localStorage.setItem(Ea,JSON.stringify(t))}catch{}}function Df(t){return Va()[t]}function Vf(t,n){const o=Va();o[t]=n,Mf(o)}function Rt(t){switch(t){case"owner":case"admin":return"Owner";case"read-write":return"Editor";case"reader":return"Viewer";default:return"Owner"}}function _a(t){switch(t){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 At(t){return t==="owner"||t==="admin"}const _f={key:0,class:"absolute inset-0 px-2 bg-muted flex items-center justify-between z-10"},zf={class:"flex items-center gap-2"},If={class:"text-[10px] font-medium"},Af={class:"flex items-center gap-0.5"},Tf={key:0,class:"flex-1 overflow-y-auto scrollbar-thin flex flex-col"},Pf={key:0,class:"p-3 text-center text-[10px] text-muted-foreground"},$f={key:1,class:"p-3 text-center text-[10px] text-muted-foreground"},Of={class:"flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent"},Rf=["checked","indeterminate"],qf=["onClick"],Ff=["checked","disabled","title","onChange"],Lf={key:0,class:"text-[9px] px-1 py-0.5 bg-amber-500/10 text-amber-600 rounded ml-1"},jf=e.defineComponent({__name:"DocumentListSection",props:{documents:{},filteredDocuments:{},selectedDocId:{},isExpanded:{type:Boolean},documentListLoaded:{type:Boolean},searchQuery:{}},emits:["select-document","create-document","bulk-delete","bulk-leave","bulk-delete-mixed","toggle-section"],setup(t,{emit:n}){const o=t,r=n,a=e.ref(new Set),l=e.computed(()=>a.value.size),s=e.computed(()=>a.value.size>0),i=e.computed(()=>Array.from(a.value).some(m=>{const C=o.documents.find(p=>p.documentId===m);return C&&At(C.permission)&&!C.isRoot})),c=e.computed(()=>i.value?!1:Array.from(a.value).some(m=>{const C=o.documents.find(p=>p.documentId===m);return C&&!At(C.permission)&&!C.isRoot})),u=e.computed(()=>{const m=o.filteredDocuments.filter(p=>!p.isRoot);if(m.length===0)return!1;const C=m.filter(p=>a.value.has(p.documentId)).length;return C===0?!1:C===m.length?!0:"indeterminate"}),d=(m,C)=>{const p=new Set(a.value);p.has(m)?p.delete(m):p.add(m),a.value=p},f=()=>{const m=o.filteredDocuments.filter(w=>!w.isRoot),C=m.every(w=>a.value.has(w.documentId)),p=new Set(a.value);C?m.forEach(w=>p.delete(w.documentId)):m.forEach(w=>p.add(w.documentId)),a.value=p},g=()=>{a.value=new Set},k=e.ref(!1),b=e.ref([]),y=()=>{const m=Array.from(a.value),C=m.filter(w=>{const E=o.documents.find(N=>N.documentId===w);return E&&At(E.permission)&&!E.isRoot});if(C.length===0)return;C.length<m.length?(r("bulk-delete-mixed",m),g()):(b.value=C,k.value=!0)},v=()=>{r("bulk-delete",b.value),g(),k.value=!1,b.value=[]},h=()=>{r("bulk-leave",Array.from(a.value))};return(m,C)=>(e.openBlock(),e.createElementBlock("div",{class:"flex flex-col min-h-0",style:e.normalizeStyle({flex:t.isExpanded?"1 1 auto":"0 0 auto"})},[e.createElementVNode("div",{class:"flex items-center px-2 h-10 bg-muted border-b border-border cursor-pointer relative",onClick:C[1]||(C[1]=p=>r("toggle-section"))},[s.value?(e.openBlock(),e.createElementBlock("div",_f,[e.createElementVNode("div",zf,[e.createElementVNode("span",If,e.toDisplayString(l.value)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:e.withModifiers(g,["stop"])}," Clear ")]),e.createElementVNode("div",Af,[c.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"p-1 text-muted-foreground hover:bg-muted-foreground/10 hover:text-foreground rounded",title:"Leave Document",onClick:e.withModifiers(h,["stop"])},[...C[5]||(C[5]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)])])):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createElementBlock("button",{key:1,class:"p-1 text-destructive hover:bg-destructive/10 rounded",title:"Delete Document",onClick:e.withModifiers(y,["stop"])},[...C[6]||(C[6]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)])])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["w-3 h-3 text-muted-foreground transition-transform",t.isExpanded?"":"-rotate-90"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...C[7]||(C[7]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2)),C[9]||(C[9]=e.createElementVNode("span",{class:"ml-1.5 text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1"}," Documents ",-1)),e.createElementVNode("button",{class:"p-0.5 hover:bg-background/50 rounded text-muted-foreground hover:text-foreground",title:"New Document",onClick:C[0]||(C[0]=e.withModifiers(p=>r("create-document"),["stop"]))},[...C[8]||(C[8]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)])])]),t.isExpanded?(e.openBlock(),e.createElementBlock("div",Tf,[t.documentListLoaded?t.filteredDocuments.length===0?(e.openBlock(),e.createElementBlock("div",$f,e.toDisplayString(t.searchQuery?"No matching documents":"No documents found"),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",Of,[e.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,Rf),C[10]||(C[10]=e.createElementVNode("span",{class:"ml-2 text-[10px] text-muted-foreground"},"Select all",-1))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.filteredDocuments,p=>(e.openBlock(),e.createElementBlock("div",{key:p.documentId,class:e.normalizeClass(["flex items-center px-2 py-1.5 cursor-pointer border-l-2",p.documentId===t.selectedDocId?"border-primary bg-primary/5":"border-transparent hover:bg-muted/30",p.isRoot?"opacity-60":""]),onClick:w=>r("select-document",p.documentId)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border flex-shrink-0",checked:a.value.has(p.documentId),disabled:p.isRoot,title:p.isRoot?"Cannot select root document":"",onClick:C[2]||(C[2]=e.withModifiers(()=>{},["stop"])),onChange:w=>d(p.documentId)},null,40,Ff),e.createElementVNode("span",{class:e.normalizeClass(["ml-2 text-xs flex-1 truncate",p.documentId===t.selectedDocId?"font-medium":""])},e.toDisplayString(p.title||"Untitled"),3),p.isRoot?(e.openBlock(),e.createElementBlock("span",Lf," root ")):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["text-[9px] px-1 py-0.5 rounded ml-1",e.unref(_a)(p.permission)])},e.toDisplayString(e.unref(Rt)(p.permission)),3))],10,qf))),128))],64)):(e.openBlock(),e.createElementBlock("div",Pf," Loading documents... "))])):e.createCommentVNode("",!0),e.createVNode(Pe,{"is-open":k.value,title:"Delete Documents",question:`Delete ${b.value.length} document(s)? This action cannot be undone.`,warning:"","is-deleting":!1,onConfirm:v,onCancel:C[3]||(C[3]=p=>{k.value=!1,b.value=[]}),"onUpdate:isOpen":C[4]||(C[4]=p=>{p||(k.value=!1,b.value=[])})},null,8,["is-open","question"])],4))}}),Hf={key:0,class:"w-10 border-r border-border flex flex-col items-center bg-background"},Wf={class:"h-10 flex items-center justify-center border-b border-border w-full"},Uf=["title"],Gf=["title"],Kf={key:1,class:"w-48 lg:w-56 border-r border-border flex flex-col bg-background"},Yf={class:"h-10 flex items-center px-2 gap-1 border-b border-border"},Qf={class:"relative flex-1 min-w-0"},Xf={class:"flex-1 overflow-hidden flex flex-col"},Zf={key:0,class:"absolute inset-0 px-2 bg-muted flex items-center justify-between z-10"},Jf={key:0,class:"flex items-center gap-2"},em={class:"text-[10px] font-medium text-muted-foreground"},tm={class:"flex items-center gap-2"},nm={class:"text-[10px] font-medium"},om={class:"flex items-center gap-0.5"},rm={key:1,class:"text-[9px] px-1.5 py-0.5 bg-amber-500/10 text-amber-600 rounded-full font-medium"},am={key:0,class:"flex-1 overflow-y-auto scrollbar-thin"},lm={key:0,class:"p-3 text-center text-[10px] text-muted-foreground"},sm={class:"flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent"},im=["checked","indeterminate","disabled"],um=["onClick"],cm=["checked","disabled","onChange"],dm={class:"ml-2 flex-1 min-w-0"},fm={class:"text-xs font-medium truncate block"},mm={class:"text-[10px] text-muted-foreground truncate"},pm=e.defineComponent({__name:"DocumentListPanel",props:{documents:{},selectedDocId:{},selectedInvitationId:{},documentListLoaded:{type:Boolean},pendingInvitations:{},isAcceptingInvitations:{type:Boolean}},emits:["select-document","select-invitation","create-document","bulk-delete","bulk-leave","bulk-delete-mixed","accept-invitations","decline-invitations"],setup(t,{expose:n,emit:o}){const r=t,a=o,l=e.ref(""),s=e.ref("docs"),i=e.ref(!1),c=e.computed(()=>{if(!l.value.trim())return r.documents;const w=l.value.trim();if(w.toLowerCase().startsWith("tag:")){const E=w.slice(4);return E?r.documents.filter(N=>N.tags?.some(x=>gt(x,E))):r.documents}return r.documents.filter(E=>gt(E.title||"",w)||gt(E.documentId,w)||E.tags?.some(N=>gt(N,w)))}),u=e.ref(new Set),d=e.computed(()=>u.value.size),f=e.computed(()=>u.value.size>0),g=e.computed(()=>{const w=r.pendingInvitations;if(w.length===0)return!1;const E=w.filter(N=>u.value.has(N.documentId)).length;return E===0?!1:E===w.length?!0:"indeterminate"}),k=(w,E)=>{const N=new Set(u.value);N.has(w)?N.delete(w):N.add(w),u.value=N},b=()=>{const w=r.pendingInvitations.every(N=>u.value.has(N.documentId)),E=new Set(u.value);w?r.pendingInvitations.forEach(N=>E.delete(N.documentId)):r.pendingInvitations.forEach(N=>E.add(N.documentId)),u.value=E},y=()=>{u.value=new Set},v=()=>{a("accept-invitations",Array.from(u.value))},h=e.ref(!1),m=()=>{h.value=!0},C=()=>{a("decline-invitations",Array.from(u.value)),y(),h.value=!1};e.watch(()=>r.isAcceptingInvitations,(w,E)=>{E&&!w&&y()});function p(){s.value="docs"}return n({showDocsSection:p,isCollapsed:i}),(w,E)=>i.value?(e.openBlock(),e.createElementBlock("div",Hf,[e.createElementVNode("div",Wf,[e.createElementVNode("button",{class:"p-1.5 hover:bg-muted rounded text-muted-foreground",title:"Expand document list",onClick:E[0]||(E[0]=N=>i.value=!1)},[...E[13]||(E[13]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])])]),e.createElementVNode("span",{class:"mt-2 text-[9px] text-muted-foreground tabular-nums",title:`${t.documents.length} documents`},e.toDisplayString(t.documents.length),9,Uf),t.pendingInvitations.length>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"mt-1 text-[9px] px-1 py-0.5 bg-amber-500/10 text-amber-600 rounded-full font-medium tabular-nums",title:`${t.pendingInvitations.length} pending invitations`},e.toDisplayString(t.pendingInvitations.length),9,Gf)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",Kf,[e.createElementVNode("div",Yf,[e.createElementVNode("div",Qf,[E[14]||(E[14]=e.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"},[e.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)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E[1]||(E[1]=N=>l.value=N),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),[[e.vModelText,l.value]])]),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded text-muted-foreground flex-shrink-0 md:hidden",title:"Collapse panel",onClick:E[2]||(E[2]=N=>i.value=!0)},[...E[15]||(E[15]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 19l-7-7 7-7"})],-1)])])]),e.createElementVNode("div",Xf,[e.createVNode(jf,{documents:t.documents,"filtered-documents":c.value,"selected-doc-id":t.selectedDocId,"is-expanded":s.value==="docs","document-list-loaded":t.documentListLoaded,"search-query":l.value,onSelectDocument:E[3]||(E[3]=N=>a("select-document",N)),onCreateDocument:E[4]||(E[4]=N=>a("create-document")),onBulkDelete:E[5]||(E[5]=N=>a("bulk-delete",N)),onBulkLeave:E[6]||(E[6]=N=>a("bulk-leave",N)),onBulkDeleteMixed:E[7]||(E[7]=N=>a("bulk-delete-mixed",N)),onToggleSection:E[8]||(E[8]=N=>s.value="docs")},null,8,["documents","filtered-documents","selected-doc-id","is-expanded","document-list-loaded","search-query"]),e.createElementVNode("div",{class:"flex flex-col min-h-0",style:e.normalizeStyle({flex:s.value==="invitations"?"1 1 auto":"0 0 auto"})},[e.createElementVNode("div",{class:"flex items-center px-2 h-8 bg-muted border-b border-t border-border cursor-pointer relative",onClick:E[9]||(E[9]=N=>s.value="invitations")},[f.value?(e.openBlock(),e.createElementBlock("div",Zf,[t.isAcceptingInvitations?(e.openBlock(),e.createElementBlock("div",Jf,[E[16]||(E[16]=e.createElementVNode("span",{class:"w-3 h-3 border-2 border-green-600 border-t-transparent rounded-full animate-spin flex-shrink-0"},null,-1)),e.createElementVNode("span",em," Accepting "+e.toDisplayString(d.value)+" invitation"+e.toDisplayString(d.value!==1?"s":"")+"… ",1)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",tm,[e.createElementVNode("span",nm,e.toDisplayString(d.value)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:e.withModifiers(y,["stop"])}," Clear ")]),e.createElementVNode("div",om,[e.createElementVNode("button",{class:"p-1 text-green-600 hover:bg-green-500/10 rounded",title:"Accept Invitation",onClick:e.withModifiers(v,["stop"])},[...E[17]||(E[17]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)])]),e.createElementVNode("button",{class:"p-1 text-amber-600 hover:bg-amber-500/10 rounded",title:"Decline Invitation",onClick:e.withModifiers(m,["stop"])},[...E[18]||(E[18]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"})],-1)])])])],64))])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["w-3 h-3 text-muted-foreground transition-transform",s.value!=="invitations"?"-rotate-90":""]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...E[19]||(E[19]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2)),E[20]||(E[20]=e.createElementVNode("span",{class:"ml-1.5 text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1"}," Pending Invitations ",-1)),t.pendingInvitations.length>0?(e.openBlock(),e.createElementBlock("span",rm,e.toDisplayString(t.pendingInvitations.length),1)):e.createCommentVNode("",!0)]),s.value==="invitations"?(e.openBlock(),e.createElementBlock("div",am,[t.pendingInvitations.length===0?(e.openBlock(),e.createElementBlock("div",lm," No pending invitations ")):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",sm,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:g.value===!0,indeterminate:g.value==="indeterminate",disabled:t.isAcceptingInvitations,onChange:b},null,40,im),E[21]||(E[21]=e.createElementVNode("span",{class:"ml-2 text-[10px] text-muted-foreground"},"Select all",-1))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pendingInvitations,N=>(e.openBlock(),e.createElementBlock("div",{key:N.invitationId,class:e.normalizeClass(["flex items-center px-2 py-1.5 border-l-2",t.isAcceptingInvitations?"pointer-events-none opacity-60":"cursor-pointer",N.documentId===t.selectedInvitationId?"border-primary bg-primary/5":"border-transparent hover:bg-muted/30"]),onClick:x=>!t.isAcceptingInvitations&&a("select-invitation",N)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border flex-shrink-0",checked:u.value.has(N.documentId),disabled:t.isAcceptingInvitations,onClick:E[10]||(E[10]=e.withModifiers(()=>{},["stop"])),onChange:x=>k(N.documentId)},null,40,cm),e.createElementVNode("div",dm,[e.createElementVNode("span",fm,e.toDisplayString(N.title||N.document?.title||"Untitled"),1),e.createElementVNode("div",mm," From "+e.toDisplayString(N.invitedBy),1)])],10,um))),128))],64))])):e.createCommentVNode("",!0)],4)]),e.createVNode(Pe,{"is-open":h.value,title:"Decline Invitations",question:`Decline ${u.value.size} invitation(s)? This cannot be undone.`,warning:"","confirm-label":"Decline","confirming-label":"Declining...","is-deleting":!1,onConfirm:C,onCancel:E[11]||(E[11]=N=>h.value=!1),"onUpdate:isOpen":E[12]||(E[12]=N=>{N||(h.value=!1)})},null,8,["is-open","question"])]))}}),ot=e.defineComponent({__name:"Skeleton",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"skeleton",class:e.normalizeClass(e.unref(ae)("animate-pulse rounded-md bg-primary/10",n.class))},null,2))}});function te(t){Sr.error(t,{duration:5e3})}function vm(t){Sr.warning(t,{duration:4e3})}function fe(t){return t instanceof Error?t.message:typeof t=="string"?t:"An unexpected error occurred"}const gm={key:0,class:"space-y-1.5"},hm={key:1,class:"space-y-1"},ym=["onKeydown","onBlur"],bm=["title","onClick"],wm=["disabled","onClick"],xm={key:0,class:"flex items-center gap-1"},km=["disabled","onKeydown"],Cm=e.defineComponent({__name:"DocumentAliasesSection",props:{documentId:{},canWrite:{type:Boolean}},setup(t){const n=Ee.forScope("DocumentAliasesSection"),o=t,r=e.ref([]),a=e.ref(!0),l=e.ref(""),s=e.ref(!1),i=e.ref(null),c=e.ref(!1),u=e.ref(null),d=e.ref(null),f=e.ref(""),g=e.ref(null);async function k(E=!1){E||(a.value=!0);try{const x=await(await re.getClientAsync()).documents.aliases.listForDocument(o.documentId);r.value=x}catch(N){n.error("Failed to load aliases:",N),r.value=[],te("Failed to load aliases: "+fe(N))}finally{a.value=!1}}e.watch(()=>o.documentId,()=>{r.value=[],a.value=!0,k()},{immediate:!0});async function b(){const E=l.value.trim();if(!E)return;l.value="";const N={aliasKey:E,scope:"user"};r.value=[...r.value,N],s.value=!0;try{const S=await(await re.getClientAsync()).documents.aliases.set({documentId:o.documentId,scope:"user",aliasKey:E});n.debug("Alias set result:",S),await k(!0),r.value.some(D=>D.aliasKey===E)||(n.warn("Alias set returned success but alias not found in refreshed list:",E),te(`Alias "${E}" was not saved. The server may have rejected it.`))}catch(x){r.value=r.value.filter(S=>S.aliasKey!==E),n.error("Failed to add alias:",x),te("Failed to add alias: "+fe(x))}finally{s.value=!1}}function y(E,N){u.value={aliasKey:E,scope:N},c.value=!0}function v(){c.value=!1,u.value=null}function h(){u.value&&m(u.value.aliasKey,u.value.scope),c.value=!1,u.value=null}async function m(E,N){const x=[...r.value];r.value=r.value.filter(S=>S.aliasKey!==E),i.value=E;try{await(await re.getClientAsync()).documents.aliases.delete({scope:N,aliasKey:E}),await k(!0)}catch(S){r.value=x,n.error("Failed to remove alias:",S),te("Failed to remove alias: "+fe(S))}finally{i.value=null}}async function C(E){d.value=E.aliasKey,f.value=E.aliasKey,await e.nextTick(),g.value?.focus(),g.value?.select()}function p(){d.value=null,f.value=""}async function w(E,N){const x=f.value.trim();if(!x||x===E){p();return}const S=[...r.value];r.value=r.value.map(B=>B.aliasKey===E?{...B,aliasKey:x}:B),p();try{const B=await re.getClientAsync();await B.documents.aliases.delete({scope:N,aliasKey:E});try{const V=await B.documents.aliases.set({documentId:o.documentId,scope:N,aliasKey:x});n.debug("Alias rename set result:",V)}catch(V){n.error("Alias rename: set failed, restoring original alias",{originalKey:E,newKey:x,setErr:V});try{await B.documents.aliases.set({documentId:o.documentId,scope:N,aliasKey:E})}catch(P){n.error("Failed to restore original alias after rename failure",{originalKey:E,restoreErr:P})}throw V}await k(!0),r.value.some(V=>V.aliasKey===x)||(n.warn("Alias rename: set returned success but alias not found in refreshed list:",x),te(`Alias "${x}" was not saved. The server may have rejected it.`))}catch(B){r.value=S,n.error("Failed to edit alias:",B),te("Failed to edit alias: "+fe(B))}}return(E,N)=>(e.openBlock(),e.createElementBlock("div",null,[N[3]||(N[3]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Aliases ",-1)),a.value?(e.openBlock(),e.createElementBlock("div",gm,[e.createVNode(ot,{class:"h-4 w-24"}),e.createVNode(ot,{class:"h-4 w-32"})])):(e.openBlock(),e.createElementBlock("div",hm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,x=>(e.openBlock(),e.createElementBlock("div",{key:x.aliasKey,class:"flex items-center justify-between gap-1 text-xs group min-w-0"},[d.value===x.aliasKey?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,ref_for:!0,ref_key:"editInputRef",ref:g,"onUpdate:modelValue":N[0]||(N[0]=S=>f.value=S),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:[e.withKeys(e.withModifiers(S=>w(x.aliasKey,x.scope),["prevent"]),["enter"]),e.withKeys(e.withModifiers(p,["prevent"]),["escape"])],onBlur:S=>w(x.aliasKey,x.scope)},null,40,ym)),[[e.vModelText,f.value]]):(e.openBlock(),e.createElementBlock("code",{key:1,class:e.normalizeClass(["text-[10px] font-mono text-muted-foreground truncate min-w-0",t.canWrite?"cursor-pointer hover:text-foreground":""]),title:x.aliasKey,onClick:S=>t.canWrite?C(x):void 0},e.toDisplayString(x.aliasKey),11,bm)),t.canWrite&&d.value!==x.aliasKey?(e.openBlock(),e.createElementBlock("button",{key:2,class:"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-destructive flex-shrink-0",disabled:i.value===x.aliasKey,onClick:S=>y(x.aliasKey,x.scope)}," × ",8,wm)):e.createCommentVNode("",!0)]))),128)),t.canWrite?(e.openBlock(),e.createElementBlock("div",xm,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":N[1]||(N[1]=x=>l.value=x),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:e.withKeys(e.withModifiers(b,["prevent"]),["enter"])},null,40,km),[[e.vModelText,l.value]])])):e.createCommentVNode("",!0)])),e.createVNode(Pe,{"is-open":c.value,title:"Remove Alias",question:`Remove the alias "${u.value?.aliasKey}" from this document?`,warning:"","confirm-label":"Remove","confirming-label":"Removing...","is-deleting":i.value!==null,onConfirm:h,onCancel:v,"onUpdate:isOpen":N[2]||(N[2]=x=>{x||v()})},null,8,["is-open","question","is-deleting"])]))}}),Bm={key:0,class:"space-y-2.5"},Em={class:"flex-1 space-y-1"},Sm={key:1,class:"space-y-2"},Nm={class:"flex items-center gap-2 min-w-0 flex-1"},Mm={class:"min-w-0"},Dm=["title"],Vm=["title"],_m={key:0,class:"text-[10px] text-muted-foreground flex-shrink-0"},zm=["value","onChange"],Im={key:0,value:"transfer-ownership"},Am={value:"remove"},Tm={key:2,class:"flex items-center gap-1.5 flex-shrink-0"},Pm={class:"text-[10px] text-muted-foreground capitalize"},$m=["onClick"],Om={key:3,class:"text-[10px] text-muted-foreground capitalize flex-shrink-0"},Rm={class:"flex items-center gap-2 min-w-0 flex-1"},qm={class:"min-w-0"},Fm=["title"],Lm=["onClick"],jm={key:0,class:"pt-1"},Hm=["onKeydown"],Wm={class:"flex items-center gap-1"},Um=["disabled"],Gm={key:0,class:"w-2.5 h-2.5 border border-current border-t-transparent rounded-full animate-spin"},Km=5e3,Ym=e.defineComponent({__name:"DocumentSharingSection",props:{documentId:{},canWrite:{type:Boolean}},setup(t){const n=Ee.forScope("DocumentSharingSection"),o=t,r=e.ref(""),a=e.ref([]),l=e.ref([]),s=e.ref(!0),i=e.ref(""),c=e.ref("read-write"),u=e.ref(!1),d=e.ref(!1),f=e.ref(!1),g=e.ref(""),k=e.ref(""),b=e.ref(!1),y=e.ref(!1),v=e.ref(!1),h=e.ref(""),m=e.ref(""),C=e.ref(!1);async function p(_=!1){_||(s.value=!0);try{const q=await re.getClientAsync(),[I,M,G]=await Promise.all([q.documents.getPermissions(o.documentId),q.documents.listInvitations(o.documentId),q.me.get()]);r.value=G?.userId??"",a.value=I,l.value=M.filter(F=>!F.accepted)}catch(q){n.error("Failed to load sharing info:",q),a.value=[],l.value=[],te("Failed to load sharing info: "+fe(q))}finally{s.value=!1}}e.watch(()=>o.documentId,()=>{a.value=[],l.value=[],s.value=!0,p()},{immediate:!0});let w=null;function E(){w===null&&(w=setInterval(()=>{p(!0)},Km),n.debug("Started outgoing invitation acceptance poll"))}function N(){w!==null&&(clearInterval(w),w=null,n.debug("Stopped outgoing invitation acceptance poll"))}function x(){document.hidden?N():l.value.length>0&&E()}e.watch(()=>l.value.length,_=>{_>0&&!document.hidden?E():N()}),e.onMounted(()=>{document.addEventListener("visibilitychange",x)}),e.onUnmounted(()=>{N(),document.removeEventListener("visibilitychange",x)});const S=e.computed(()=>{const _=a.value.find(q=>q.userId===r.value);return _?At(_.permission):!1});function B(_){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(_)}function D(_){return _.split(" ").map(q=>q[0]).join("").toUpperCase().slice(0,2)}function V(_){const q=["bg-blue-500","bg-green-500","bg-purple-500","bg-pink-500","bg-orange-500","bg-teal-500"];let I=0;for(let M=0;M<_.length;M++)I=_.charCodeAt(M)+((I<<5)-I);return q[Math.abs(I)%q.length]??"bg-blue-500"}async function P(){const _=i.value.trim().toLowerCase();if(!_)return;if(!B(_)){te("Please enter a valid email address.");return}if(a.value.some(F=>F.email.toLowerCase()===_)){te(`${_} already has access to this document.`);return}if(l.value.some(F=>F.email.toLowerCase()===_)){te(`${_} already has a pending invitation.`);return}const M=c.value,G={invitationId:`optimistic-${Date.now()}`,email:_,permission:M,invitedBy:"",invitedAt:new Date().toISOString(),accepted:!1};l.value=[...l.value,G],i.value="",d.value=!1,u.value=!0;try{await(await re.getClientAsync()).documents.createInvitation(o.documentId,_,M),await p(!0)}catch(F){l.value=l.value.filter(Z=>Z.invitationId!==G.invitationId),n.error("Failed to invite collaborator:",F),te("Failed to invite: "+fe(F))}finally{u.value=!1}}async function R(_){const q=[...l.value];l.value=l.value.filter(I=>I.invitationId!==_);try{await(await re.getClientAsync()).documents.deleteInvitation(o.documentId,_),await p(!0)}catch(I){l.value=q,n.error("Failed to cancel invitation:",I),te("Failed to cancel invitation: "+fe(I))}}async function Q(_,q){const I=a.value.slice();a.value=a.value.map(M=>M.userId===_?{...M,permission:q}:M);try{await(await re.getClientAsync()).documents.updatePermissions(o.documentId,{userId:_,permission:q}),await p(!0)}catch(M){a.value=I,n.error("Failed to update permission:",M),te("Failed to update permission: "+fe(M))}}async function X(_){const q=a.value.slice();a.value=a.value.filter(I=>I.userId!==_);try{await(await re.getClientAsync()).documents.removePermission(o.documentId,_),await p(!0)}catch(I){a.value=q,n.error("Failed to remove permission:",I),te("Failed to remove permission: "+fe(I))}}function J(_,q,I){const M=a.value.find(G=>G.userId===_);q==="remove"?(M&&(I.value=M.permission,k.value=M.name||M.email),g.value=_,b.value=_===r.value,f.value=!0):q==="transfer-ownership"?(M&&(I.value=M.permission,m.value=M.name||M.email),h.value=_,v.value=!0):Q(_,q)}function O(){y.value=!0,X(g.value).finally(()=>{y.value=!1,f.value=!1,g.value="",k.value="",b.value=!1})}function ie(){f.value=!1,g.value="",k.value="",b.value=!1}function L(_){g.value=_.userId,k.value=_.name||_.email,b.value=!0,f.value=!0}async function T(_){const q=a.value.slice();a.value=a.value.map(I=>I.userId===_?{...I,permission:"owner"}:I.userId===r.value?{...I,permission:"read-write"}:I),C.value=!0;try{const I=await re.getClientAsync();await I.documents.updatePermissions(o.documentId,{userId:_,permission:"owner"}),await I.documents.updatePermissions(o.documentId,{userId:r.value,permission:"read-write"}),await p(!0)}catch(I){a.value=q,n.error("Failed to transfer ownership:",I),te("Failed to transfer ownership: "+fe(I))}finally{C.value=!1,v.value=!1,h.value="",m.value=""}}function U(){T(h.value)}function Y(){v.value=!1,h.value="",m.value=""}return(_,q)=>(e.openBlock(),e.createElementBlock("div",null,[q[14]||(q[14]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Sharing ",-1)),s.value?(e.openBlock(),e.createElementBlock("div",Bm,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,I=>e.createElementVNode("div",{key:I,class:"flex items-center gap-2"},[e.createVNode(ot,{class:"h-5 w-5 rounded-full flex-shrink-0"}),e.createElementVNode("div",Em,[e.createVNode(ot,{class:"h-3 w-20"}),e.createVNode(ot,{class:"h-2.5 w-28"})]),e.createVNode(ot,{class:"h-3 w-10"})])),64))])):(e.openBlock(),e.createElementBlock("div",Sm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,I=>(e.openBlock(),e.createElementBlock("div",{key:I.userId,class:"flex items-center justify-between gap-2 text-xs"},[e.createElementVNode("div",Nm,[e.createElementVNode("div",{class:e.normalizeClass(["w-5 h-5 rounded-full flex items-center justify-center text-[10px] text-white font-medium flex-shrink-0",V(I.name||I.email)])},e.toDisplayString(D(I.name||I.email)),3),e.createElementVNode("div",Mm,[e.createElementVNode("div",{class:"font-medium truncate",title:I.name||I.email},e.toDisplayString(I.name||I.email),9,Dm),I.name?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-[10px] text-muted-foreground truncate",title:I.email},e.toDisplayString(I.email),9,Vm)):e.createCommentVNode("",!0)])]),e.unref(At)(I.permission)?(e.openBlock(),e.createElementBlock("span",_m," Owner ")):S.value?(e.openBlock(),e.createElementBlock("select",{key:1,value:I.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:M=>J(I.userId,M.target.value,M.target)},[q[7]||(q[7]=e.createElementVNode("option",{value:"read-write"},"Editor",-1)),q[8]||(q[8]=e.createElementVNode("option",{value:"reader"},"Viewer",-1)),q[9]||(q[9]=e.createElementVNode("option",{disabled:""},"───",-1)),I.userId!==r.value?(e.openBlock(),e.createElementBlock("option",Im," Transfer Ownership ")):e.createCommentVNode("",!0),e.createElementVNode("option",Am,e.toDisplayString(I.userId===r.value?"Leave":"Remove"),1)],40,zm)):I.userId===r.value?(e.openBlock(),e.createElementBlock("div",Tm,[e.createElementVNode("span",Pm,e.toDisplayString(e.unref(Rt)(I.permission)),1),e.createElementVNode("button",{class:"text-muted-foreground hover:text-destructive flex-shrink-0",title:"Leave document",onClick:M=>L(I)},[...q[10]||(q[10]=[e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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,$m)])):(e.openBlock(),e.createElementBlock("span",Om,e.toDisplayString(e.unref(Rt)(I.permission)),1))]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,I=>(e.openBlock(),e.createElementBlock("div",{key:I.invitationId,class:"flex items-center justify-between gap-2 text-xs"},[e.createElementVNode("div",Rm,[q[12]||(q[12]=e.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)),e.createElementVNode("div",qm,[e.createElementVNode("div",{class:"font-medium text-muted-foreground truncate",title:I.email},e.toDisplayString(I.email),9,Fm),q[11]||(q[11]=e.createElementVNode("div",{class:"text-[10px] text-amber-600 flex items-center gap-1"},[e.createElementVNode("svg",{class:"w-3 h-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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"})]),e.createTextVNode(" Pending invitation ")],-1))])]),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-destructive flex-shrink-0",onClick:M=>R(I.invitationId)}," Cancel ",8,Lm)]))),128)),t.canWrite?(e.openBlock(),e.createElementBlock("div",jm,[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,"data-devtools-dropdown":"",class:"space-y-1.5",onKeydown:q[3]||(q[3]=e.withKeys(e.withModifiers(I=>{d.value=!1,i.value=""},["stop","prevent"]),["escape"]))},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":q[0]||(q[0]=I=>i.value=I),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:e.withKeys(e.withModifiers(P,["prevent"]),["enter"])},null,40,Hm),[[e.vModelText,i.value]]),e.createElementVNode("div",Wm,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":q[1]||(q[1]=I=>c.value=I),class:"flex-1 px-1 py-0.5 text-[10px] border border-border rounded bg-background"},[...q[13]||(q[13]=[e.createElementVNode("option",{value:"read-write"},"Editor",-1),e.createElementVNode("option",{value:"reader"},"Viewer",-1)])],512),[[e.vModelSelect,c.value]]),e.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:u.value||!i.value.trim()||!B(i.value.trim()),onClick:P},[u.value?(e.openBlock(),e.createElementBlock("span",Gm)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(u.value?"Sending...":"Send"),1)],8,Um),e.createElementVNode("button",{class:"px-2 py-0.5 text-[10px] text-muted-foreground hover:text-foreground",onClick:q[2]||(q[2]=I=>{d.value=!1,i.value=""})}," Cancel ")])],32)):(e.openBlock(),e.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:q[4]||(q[4]=I=>d.value=!0)}," + Invite collaborator "))])):e.createCommentVNode("",!0)])),e.createVNode(Pe,{"is-open":f.value,title:b.value?"Leave Document":"Remove Collaborator",question:b.value?"Leave this document? You will lose access immediately.":`Remove ${k.value} from this document? They will lose access immediately.`,warning:"","confirm-label":b.value?"Leave":"Remove","confirming-label":b.value?"Leaving...":"Removing...","is-deleting":y.value,onConfirm:O,onCancel:ie,"onUpdate:isOpen":q[5]||(q[5]=I=>{I||ie()})},null,8,["is-open","title","question","confirm-label","confirming-label","is-deleting"]),e.createVNode(Pe,{"is-open":v.value,title:"Transfer Ownership",question:`Transfer ownership to ${m.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:U,onCancel:Y,"onUpdate:isOpen":q[6]||(q[6]=I=>{I||Y()})},null,8,["is-open","question","is-deleting"])]))}}),Qm={class:"flex flex-wrap gap-1 items-center"},Xm=["title"],Zm={class:"truncate min-w-0"},Jm=["disabled","onClick"],ep=["onKeydown"],tp="__ROOT_TAG__",np=e.defineComponent({__name:"DocumentTagsSection",props:{documentId:{},baseTags:{},canWrite:{type:Boolean},isRoot:{type:Boolean}},emits:["documents-changed"],setup(t,{emit:n}){const o=Ee.forScope("DocumentTagsSection"),r=t,a=n,l=e.ref(""),s=e.ref(!1),i=e.ref(null),c=e.ref(!1),u=e.ref(null),d=e.ref([]),f=e.ref(new Set),g=e.ref([]),k=e.computed(()=>{const C=new Set([...r.baseTags,...d.value]);for(const E of f.value)C.delete(E);const p=g.value.filter(E=>C.has(E)),w=new Set(p);for(const E of C)w.has(E)||p.push(E);return p});e.watch(()=>r.baseTags,C=>{if(!C)return;const p=new Set(g.value);for(const E of C)p.has(E)||g.value.push(E);d.value=d.value.filter(E=>!C.includes(E));for(const E of f.value)C.includes(E)||f.value.delete(E);const w=new Set([...C,...d.value]);g.value=g.value.filter(E=>w.has(E))},{deep:!0}),e.watch(()=>r.documentId,()=>{d.value=[],f.value=new Set,g.value=[]});async function b(){const C=l.value.trim();if(C){l.value="",d.value.includes(C)||d.value.push(C),g.value.includes(C)||g.value.push(C),s.value=!0;try{await(await re.getClientAsync()).documents.addTag(r.documentId,C),a("documents-changed"),o.debug("Added tag to document",{documentId:r.documentId,tag:C})}catch(p){d.value=d.value.filter(w=>w!==C),o.error("Failed to add tag to document:",p),te("Failed to add tag: "+fe(p))}finally{s.value=!1}}}function y(C){u.value=C,c.value=!0}function v(){c.value=!1,u.value=null}function h(){u.value&&m(u.value),c.value=!1,u.value=null}async function m(C){f.value.add(C),i.value=C;try{await(await re.getClientAsync()).makeRequest("DELETE",`/documents/${r.documentId}/tags/${encodeURIComponent(C)}`),a("documents-changed"),o.debug("Removed tag from document",{documentId:r.documentId,tag:C})}catch(p){f.value.delete(C),o.error("Failed to remove tag from document:",p),te("Failed to remove tag: "+fe(p))}finally{i.value=null}}return(C,p)=>(e.openBlock(),e.createElementBlock("div",null,[p[2]||(p[2]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Tags ",-1)),e.createElementVNode("div",Qm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,w=>(e.openBlock(),e.createElementBlock("span",{key:w,class:"inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] bg-muted rounded group max-w-full",title:w},[e.createElementVNode("span",Zm,e.toDisplayString(w),1),t.canWrite&&!(t.isRoot&&w===tp)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"opacity-0 group-hover:opacity-100 hover:text-destructive flex-shrink-0",disabled:i.value===w,onClick:E=>y(w)}," × ",8,Jm)):e.createCommentVNode("",!0)],8,Xm))),128)),t.canWrite&&!t.isRoot?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":p[0]||(p[0]=w=>l.value=w),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:e.withKeys(e.withModifiers(b,["prevent"]),["enter"]),onBlur:b},null,40,ep)),[[e.vModelText,l.value]]):e.createCommentVNode("",!0)]),e.createVNode(Pe,{"is-open":c.value,title:"Remove Tag",question:`Remove the tag "${u.value}" from this document?`,warning:"","confirm-label":"Remove","confirming-label":"Removing...","is-deleting":i.value!==null,onConfirm:h,onCancel:v,"onUpdate:isOpen":p[1]||(p[1]=w=>{w||v()})},null,8,["is-open","question","is-deleting"])]))}}),op={class:"relative min-h-0"},rp={class:"w-3 h-3 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ap={key:0,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"},lp={key:1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},sp={class:"flex-1 overflow-y-auto scrollbar-thin min-h-0 p-3"},ip={class:"mb-4"},up={class:"flex items-center justify-between"},cp={class:"text-base font-semibold truncate"},dp={key:0,class:"relative"},fp={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"},mp={class:"py-1"},pp={key:0,class:"border-t border-border my-1"},vp=["title"],gp={class:"text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]"},hp={key:0,class:"w-3 h-3 text-green-500 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},yp={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"},bp={class:"space-y-3 mb-4 text-xs"},wp={class:"flex justify-between"},xp={class:"flex justify-between"},kp={key:0,class:"flex justify-between"},Cp={class:"mb-4"},Bp={class:"mb-4"},Ep={key:0,class:"mb-4"},Sp={class:"mb-4"},Np={key:0,class:"space-y-1"},Mp={key:0,class:"flex justify-between gap-2 text-xs"},Dp=["title","onClick"],Vp={class:"text-muted-foreground flex-shrink-0 whitespace-nowrap"},_p={key:1,class:"text-xs text-muted-foreground italic"},zp={class:"bg-background rounded-lg shadow-xl w-80 p-4"},Ip={class:"space-y-3"},Ap={class:"flex justify-end gap-2"},Tp=["disabled"],Pp=e.defineComponent({__name:"DocumentPropertiesPanel",props:{document:{},models:{},recordCounts:{}},emits:["navigate-to-model","rename-document","delete-document","documents-changed"],setup(t,{emit:n}){const o=t,r=n,a=e.computed(()=>o.document.permission!=="reader"),l=e.ref(typeof window<"u"?localStorage.getItem(sn)==="true":!1);e.watch(l,h=>{typeof window<"u"&&localStorage.setItem(sn,String(h))});const s=e.ref(!1),i=e.ref(!1),c=e.ref(""),u=e.ref(null);function d(h){if(h.key==="Escape"){if(s.value){s.value=!1,h.stopPropagation();return}i.value=!1}}function f(){i.value||s.value?document.addEventListener("keydown",d):document.removeEventListener("keydown",d)}e.watch(i,h=>{f(),h&&e.nextTick(()=>u.value?.focus())}),e.watch(s,()=>f()),e.onUnmounted(()=>{document.removeEventListener("keydown",d)});const g=e.ref(null);let k=null;async function b(h){try{await navigator.clipboard.writeText(h)}catch{}g.value=h,k&&clearTimeout(k),k=setTimeout(()=>{g.value=null},1500)}function y(){const h=c.value.trim();h&&(r("rename-document",o.document.documentId,h),i.value=!1)}function v(h){if(!h)return"Unknown";try{return new Date(h).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch{return h}}return(h,m)=>(e.openBlock(),e.createElementBlock("div",op,[e.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:m[0]||(m[0]=C=>l.value=!l.value)},[(e.openBlock(),e.createElementBlock("svg",rp,[l.value?(e.openBlock(),e.createElementBlock("path",ap)):(e.openBlock(),e.createElementBlock("path",lp))]))]),e.createElementVNode("div",{class:e.normalizeClass(["h-full border-l border-border flex flex-col bg-background transition-all duration-200",l.value?"w-0 overflow-hidden border-l-0":"w-64 lg:w-72"])},[e.createElementVNode("div",sp,[e.createElementVNode("div",ip,[e.createElementVNode("div",up,[e.createElementVNode("h2",cp,e.toDisplayString(t.document.title||"Untitled"),1),a.value?(e.openBlock(),e.createElementBlock("div",dp,[e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded",onClick:m[1]||(m[1]=C=>s.value=!s.value)},[...m[9]||(m[9]=[e.createElementVNode("svg",{class:"w-4 h-4 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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?(e.openBlock(),e.createElementBlock("div",fp,[e.createElementVNode("div",mp,[e.createElementVNode("button",{class:"w-full px-3 py-1.5 text-xs text-left hover:bg-muted flex items-center gap-2",onClick:m[2]||(m[2]=C=>{s.value=!1,i.value=!0,c.value=t.document?.title||""})},[e.createVNode(e.unref(co),{class:"w-3.5 h-3.5"}),m[10]||(m[10]=e.createTextVNode(" Rename Document ",-1))]),t.document.isRoot?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",pp)),t.document.isRoot?e.createCommentVNode("",!0):(e.openBlock(),e.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:m[3]||(m[3]=C=>{s.value=!1,r("delete-document",t.document.documentId)})},[e.createVNode(e.unref(Tt),{class:"w-3.5 h-3.5"}),m[11]||(m[11]=e.createTextVNode(" Delete Document ",-1))]))])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("button",{class:"flex items-center gap-1 mt-1 group hover:text-foreground",title:`Click to copy: ${t.document.documentId}`,onClick:m[4]||(m[4]=C=>b(t.document.documentId))},[e.createElementVNode("code",gp,e.toDisplayString(t.document.documentId),1),g.value===t.document.documentId?(e.openBlock(),e.createElementBlock("svg",hp,[...m[12]||(m[12]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",yp,[...m[13]||(m[13]=[e.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,vp)]),e.createElementVNode("div",bp,[e.createElementVNode("div",wp,[m[14]||(m[14]=e.createElementVNode("span",{class:"text-muted-foreground"},"Created",-1)),e.createElementVNode("span",null,e.toDisplayString(v(t.document.createdAt||t.document.lastModified)),1)]),e.createElementVNode("div",xp,[m[15]||(m[15]=e.createElementVNode("span",{class:"text-muted-foreground"},"Permission",-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(Rt)(t.document.permission)),1)]),t.document.isRoot?(e.openBlock(),e.createElementBlock("div",kp,[...m[16]||(m[16]=[e.createElementVNode("span",{class:"text-muted-foreground"},"Type",-1),e.createElementVNode("span",{class:"text-amber-600"},"Root Document",-1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Cp,[e.createVNode(np,{"document-id":t.document.documentId,"base-tags":t.document.tags??[],"can-write":a.value,"is-root":t.document.isRoot,onDocumentsChanged:m[5]||(m[5]=C=>r("documents-changed"))},null,8,["document-id","base-tags","can-write","is-root"])]),e.createElementVNode("div",Bp,[e.createVNode(Cm,{"document-id":t.document.documentId,"can-write":a.value},null,8,["document-id","can-write"])]),t.document.isRoot?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ep,[e.createVNode(Ym,{"document-id":t.document.documentId,"can-write":a.value},null,8,["document-id","can-write"])])),e.createElementVNode("div",Sp,[m[17]||(m[17]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Models ",-1)),t.models.some(C=>(t.recordCounts[C.tableName]??0)>0)?(e.openBlock(),e.createElementBlock("div",Np,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.models,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.tableName},[(t.recordCounts[C.tableName]??0)>0?(e.openBlock(),e.createElementBlock("div",Mp,[e.createElementVNode("button",{class:"hover:text-primary hover:underline text-left truncate min-w-0",title:C.name,onClick:p=>r("navigate-to-model",C.tableName)},e.toDisplayString(C.name),9,Dp),e.createElementVNode("span",Vp,e.toDisplayString(t.recordCounts[C.tableName])+" records ",1)])):e.createCommentVNode("",!0)],64))),128))])):(e.openBlock(),e.createElementBlock("p",_p," No records in this document "))])])],2),i.value?(e.openBlock(),e.createElementBlock("div",{key:0,"data-devtools-modal":"",class:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:m[8]||(m[8]=e.withModifiers(C=>i.value=!1,["self"]))},[e.createElementVNode("div",zp,[m[19]||(m[19]=e.createElementVNode("h3",{class:"text-sm font-semibold mb-3"},"Rename Document",-1)),e.createElementVNode("div",Ip,[e.createElementVNode("div",null,[m[18]||(m[18]=e.createElementVNode("label",{class:"text-xs text-muted-foreground"},"Document Name",-1)),e.withDirectives(e.createElementVNode("input",{ref_key:"renameInputRef",ref:u,"onUpdate:modelValue":m[6]||(m[6]=C=>c.value=C),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:e.withKeys(y,["enter"])},null,544),[[e.vModelText,c.value]])]),e.createElementVNode("div",Ap,[e.createElementVNode("button",{class:"px-3 py-1.5 text-xs hover:bg-muted rounded",onClick:m[7]||(m[7]=C=>i.value=!1)}," Cancel "),e.createElementVNode("button",{class:"px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90",disabled:!c.value.trim(),onClick:y}," Rename ",8,Tp)])])])])):e.createCommentVNode("",!0)]))}}),$p={class:"relative min-h-0"},Op={class:"w-3 h-3 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Rp={key:0,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"},qp={key:1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},Fp={class:"flex-1 overflow-y-auto scrollbar-thin min-h-0 p-3"},Lp={class:"mb-4"},jp={class:"flex items-center gap-2"},Hp={class:"text-base font-semibold truncate"},Wp=["title"],Up={class:"text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]"},Gp={key:0,class:"w-3 h-3 text-green-500 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Kp={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"},Yp={class:"flex items-center gap-2 mb-4 pb-4 border-b border-border"},Qp=["disabled"],Xp={key:0,class:"w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin"},Zp=["disabled"],Jp={class:"space-y-2 text-xs mb-4"},ev={class:"flex items-center justify-between"},tv={class:"flex items-center justify-between"},nv={class:"flex items-center justify-between"},ov=e.defineComponent({__name:"InvitationPropertiesPanel",props:{invitation:{}},emits:["accept-invitation","decline-invitation"],setup(t,{emit:n}){const o=t,r=n,a=e.ref(typeof window<"u"?localStorage.getItem(sn)==="true":!1);e.watch(a,v=>{typeof window<"u"&&localStorage.setItem(sn,String(v))});const l=e.ref(null);let s=null;const i=async v=>{try{await navigator.clipboard.writeText(v)}catch{}l.value=v,s&&clearTimeout(s),s=setTimeout(()=>{l.value=null},1500)},c=e.ref(!1),u=e.ref(!1),d=()=>{c.value=!0,r("accept-invitation",o.invitation.documentId)},f=e.ref(!1),g=()=>{f.value=!0},k=()=>{u.value=!0,r("decline-invitation",o.invitation.documentId),f.value=!1},b=v=>{if(!v)return"Unknown";try{return new Date(v).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}catch{return v}},y=()=>o.invitation.title||o.invitation.document?.title||"Untitled";return(v,h)=>(e.openBlock(),e.createElementBlock("div",$p,[e.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:h[0]||(h[0]=m=>a.value=!a.value)},[(e.openBlock(),e.createElementBlock("svg",Op,[a.value?(e.openBlock(),e.createElementBlock("path",Rp)):(e.openBlock(),e.createElementBlock("path",qp))]))]),e.createElementVNode("div",{class:e.normalizeClass(["h-full border-l border-border flex flex-col bg-background transition-all duration-200",a.value?"w-0 overflow-hidden border-l-0":"w-64 lg:w-72"])},[e.createElementVNode("div",Fp,[e.createElementVNode("div",Lp,[e.createElementVNode("div",jp,[e.createElementVNode("h2",Hp,e.toDisplayString(y()),1),h[4]||(h[4]=e.createElementVNode("span",{class:"inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-medium bg-amber-500/10 text-amber-600 rounded border border-amber-500/20 flex-shrink-0"},[e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})]),e.createTextVNode(" Pending ")],-1))]),e.createElementVNode("button",{class:"flex items-center gap-1 mt-1 group hover:text-foreground",title:`Click to copy: ${t.invitation.documentId}`,onClick:h[1]||(h[1]=m=>i(t.invitation.documentId))},[e.createElementVNode("code",Up,e.toDisplayString(t.invitation.documentId),1),l.value===t.invitation.documentId?(e.openBlock(),e.createElementBlock("svg",Gp,[...h[5]||(h[5]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Kp,[...h[6]||(h[6]=[e.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,Wp)]),e.createElementVNode("div",Yp,[e.createElementVNode("button",{class:"flex-1 px-3 py-2 text-xs font-medium bg-primary text-primary-foreground rounded hover:bg-primary/90 disabled:opacity-50 flex items-center justify-center gap-1.5",disabled:c.value||u.value,onClick:d},[c.value?(e.openBlock(),e.createElementBlock("span",Xp)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(c.value?"Accepting...":"Accept Invitation"),1)],8,Qp),e.createElementVNode("button",{class:"px-3 py-2 text-xs font-medium text-muted-foreground border border-border rounded hover:bg-muted disabled:opacity-50",disabled:c.value||u.value,onClick:g},e.toDisplayString(u.value?"...":"Decline"),9,Zp)]),e.createElementVNode("div",Jp,[e.createElementVNode("div",ev,[h[7]||(h[7]=e.createElementVNode("span",{class:"text-muted-foreground"},"Email",-1)),e.createElementVNode("span",null,e.toDisplayString(t.invitation.email),1)]),e.createElementVNode("div",tv,[h[8]||(h[8]=e.createElementVNode("span",{class:"text-muted-foreground"},"Permission",-1)),e.createElementVNode("span",{class:e.normalizeClass(["inline-flex items-center px-1.5 py-0.5 text-[10px] font-medium rounded",e.unref(_a)(t.invitation.permission)])},e.toDisplayString(e.unref(Rt)(t.invitation.permission)),3)]),e.createElementVNode("div",nv,[h[9]||(h[9]=e.createElementVNode("span",{class:"text-muted-foreground"},"Invited On",-1)),e.createElementVNode("span",null,e.toDisplayString(b(t.invitation.invitedAt)),1)])])])],2),e.createVNode(Pe,{"is-open":f.value,title:"Decline Invitation",question:"Are you sure you want to decline this invitation?",warning:"","confirm-label":"Decline","confirming-label":"Declining...","is-deleting":u.value,onConfirm:k,onCancel:h[2]||(h[2]=m=>f.value=!1),"onUpdate:isOpen":h[3]||(h[3]=m=>{m||(f.value=!1)})},null,8,["is-open","is-deleting"])]))}});function yr(t,n){function o(l,s){const i=[...t.value],c=t.value.find(d=>d[n]===l),u=t.value.findIndex(d=>d[n]===l);return t.value=t.value.filter(d=>d[n]!==l),s().then(()=>({success:!0})).catch(()=>{if(c&&u>=0){const d=[...t.value];d.splice(u,0,c),t.value=d}else c?t.value=[...t.value,c]:t.value=i;return{success:!1}})}async function r(l,s){const i=[...t.value],c=new Set(l);t.value=t.value.filter(u=>!c.has(u[n]));try{const u=await s(l);if(u.length>0){const d=new Set(u),f=i.filter(y=>d.has(y[n])),g=t.value,k=new Set(g.map(y=>y[n])),b=[];for(const y of i){const v=y[n];(k.has(v)||d.has(v))&&b.push(g.find(h=>h[n]===v)??f.find(h=>h[n]===v)??y)}for(const y of g)b.some(v=>v[n]===y[n])||b.push(y);t.value=b}return{failedIds:u}}catch{return t.value=i,{failedIds:l}}}async function a(l,s,i,c){const u=t.value.find(f=>f[n]===l),d=u?u[s]:void 0;t.value=t.value.map(f=>f[n]===l?{...f,[s]:i}:f);try{return await c(),{success:!0}}catch{return d!==void 0&&(t.value=t.value.map(f=>f[n]===l?{...f,[s]:d}:f)),{success:!1}}}return{optimisticRemove:o,optimisticBulkRemove:r,optimisticFieldUpdate:a}}const rv={class:"bg-background rounded-lg shadow-xl w-80 p-4"},av={class:"space-y-3"},lv=["disabled"],sv={class:"flex justify-end gap-2"},iv=["disabled"],uv=["disabled"],cv={key:0,class:"w-3 h-3 border-2 border-primary-foreground border-t-transparent rounded-full animate-spin"},dv=e.defineComponent({__name:"CreateDocumentDialog",props:{open:{type:Boolean},isCreating:{type:Boolean}},emits:["update:open","create"],setup(t,{emit:n}){const o=t,r=n,a=e.ref(""),l=e.ref(null),s=()=>{if(o.isCreating)return;const u=a.value.trim();u&&r("create",u)},i=()=>{o.isCreating||r("update:open",!1)};function c(u){u.key==="Escape"&&!o.isCreating&&i()}return e.watch(()=>o.open,u=>{u?(document.addEventListener("keydown",c),e.nextTick(()=>l.value?.focus())):(document.removeEventListener("keydown",c),a.value="")}),e.onUnmounted(()=>{document.removeEventListener("keydown",c)}),(u,d)=>t.open?(e.openBlock(),e.createElementBlock("div",{key:0,"data-devtools-modal":"",class:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e.withModifiers(i,["self"])},[e.createElementVNode("div",rv,[d[2]||(d[2]=e.createElementVNode("h3",{class:"text-sm font-semibold mb-3"},"Create New Document",-1)),e.createElementVNode("div",av,[e.createElementVNode("div",null,[d[1]||(d[1]=e.createElementVNode("label",{class:"text-xs text-muted-foreground"},"Document Name",-1)),e.withDirectives(e.createElementVNode("input",{ref_key:"titleInputRef",ref:l,"onUpdate:modelValue":d[0]||(d[0]=f=>a.value=f),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:t.isCreating,onKeydown:e.withKeys(s,["enter"])},null,40,lv),[[e.vModelText,a.value]])]),e.createElementVNode("div",sv,[e.createElementVNode("button",{class:"px-3 py-1.5 text-xs hover:bg-muted rounded",disabled:t.isCreating,onClick:i}," Cancel ",8,iv),e.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()||t.isCreating,onClick:s},[t.isCreating?(e.openBlock(),e.createElementBlock("div",cv)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.isCreating?"Creating...":"Create"),1)],8,uv)])])])])):e.createCommentVNode("",!0)}}),io=e.defineComponent({__name:"Label",props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=ee.reactiveOmit(n,"class");return(r,a)=>(e.openBlock(),e.createBlock(e.unref(Mc),e.mergeProps({"data-slot":"label"},e.unref(o),{class:e.unref(ae)("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:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),fv=e.defineComponent({__name:"Switch",props:{defaultValue:{type:Boolean},modelValue:{type:[Boolean,null]},disabled:{type:Boolean},id:{},value:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,r=n,a=ee.reactiveOmit(o,"class"),l=ze(a,r);return(s,i)=>(e.openBlock(),e.createBlock(e.unref(xd),e.mergeProps({"data-slot":"switch"},e.unref(l),{class:e.unref(ae)("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",o.class)}),{default:e.withCtx(c=>[e.createVNode(e.unref(Cd),{"data-slot":"switch-thumb",class:e.normalizeClass(e.unref(ae)("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:e.withCtx(()=>[e.renderSlot(s.$slots,"thumb",e.normalizeProps(e.guardReactiveProps(c)))]),_:2},1032,["class"])]),_:3},16,["class"]))}}),uo=e.defineComponent({__name:"Textarea",props:{class:{},defaultValue:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,r=n,a=ee.useVModel(o,"modelValue",r,{passive:!0,defaultValue:o.defaultValue});return(l,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",{"onUpdate:modelValue":s[0]||(s[0]=i=>e.isRef(a)?a.value=i:null),"data-slot":"textarea",class:e.normalizeClass(e.unref(ae)("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",o.class))},null,2)),[[e.vModelText,e.unref(a)]])}}),mv={class:"min-h-10 px-3 py-1.5 border-b border-border bg-muted/20 relative flex items-center"},pv={class:"flex items-center gap-2 flex-1"},vv=["onClick","onKeydown"],gv={class:"text-muted-foreground"},hv={key:0,class:"font-medium truncate max-w-[120px]"},yv=["onClick"],bv={class:"space-y-2"},wv=["value"],xv=["value"],kv={key:0},Cv=["value"],Bv=["placeholder"],Ev={key:1,class:"text-[9px] text-muted-foreground"},Sv={class:"flex justify-end gap-2 pt-2"},Nv=["disabled"],Mv=e.defineComponent({__name:"FilterBar",props:{modelInfo:{},filters:{},loadedData:{},showHiddenFields:{type:Boolean}},emits:["add-filter","remove-filter","update-filter","clear-all"],setup(t,{emit:n}){const o=t,r=n,a=e.ref(!1),l=e.ref(null),s=e.ref(null),i=e.ref(null),c=e.ref(null),u=e.ref(""),d=e.ref("contains"),f=e.ref(""),g=e.computed(()=>o.modelInfo?zo(o.modelInfo,o.loadedData,o.showHiddenFields):[]),k=e.computed(()=>!o.modelInfo||!u.value?[]:vr(o.modelInfo,u.value)),b=e.computed(()=>!o.modelInfo||!u.value?"string":Fe(o.modelInfo,u.value)?.type??"string"),y=e.computed(()=>d.value==="in"||d.value==="not_in"),v=e.computed(()=>b.value==="boolean"&&!y.value),h=e.computed(()=>b.value==="number"&&!y.value),m=()=>{c.value=null;const S=g.value[0]||"";u.value=S,d.value=o.modelInfo&&S?gr(o.modelInfo,S):"contains",f.value=""};e.watch(u,S=>{if(!o.modelInfo||!S)return;vr(o.modelInfo,S).includes(d.value)||(d.value=gr(o.modelInfo,S)),(Fe(o.modelInfo,S)?.type??"string")==="boolean"&&f.value!=="true"&&f.value!=="false"&&(f.value="true")}),e.watch(()=>o.modelInfo,()=>m(),{immediate:!0});const C=()=>{m(),a.value=!0},p=S=>{c.value=S.id,u.value=S.field,d.value=S.mode,f.value=S.value,a.value=!0},w=()=>{a.value=!1,c.value=null},E=()=>{u.value&&(c.value?r("update-filter",{id:c.value,field:u.value,mode:d.value,value:f.value}):r("add-filter",{field:u.value,mode:d.value,value:f.value}),m(),w())},N=S=>{S.key==="Escape"&&a.value&&w()},x=S=>{if(!a.value)return;const B=S.target,D=l.value?.contains(B),V=s.value?.contains(B),P=i.value?.contains(B);!D&&!V&&!P&&w()};return e.onMounted(()=>{document.addEventListener("click",x),document.addEventListener("keydown",N)}),e.onUnmounted(()=>{document.removeEventListener("click",x),document.removeEventListener("keydown",N)}),(S,B)=>(e.openBlock(),e.createElementBlock("div",mv,[e.createElementVNode("div",pv,[e.createElementVNode("div",{ref_key:"chipsContainerRef",ref:i,class:"flex-1 flex items-center gap-1 flex-wrap"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.filters,D=>(e.openBlock(),e.createElementBlock("div",{key:D.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:V=>p(D),onKeydown:e.withKeys(V=>p(D),["enter"])},[e.createElementVNode("span",gv,e.toDisplayString(D.field),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(pr)(D.mode)),1),e.unref(On)(D.mode)?(e.openBlock(),e.createElementBlock("span",hv,'"'+e.toDisplayString(D.value)+'"',1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"ml-1 hover:text-destructive shrink-0","aria-label":"Remove filter",onClick:e.withModifiers(V=>r("remove-filter",D.id),["stop"])},[e.createVNode(e.unref(Pt),{class:"w-3 h-3"})],8,yv)],40,vv))),128)),e.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:B[0]||(B[0]=D=>a.value?w():C())},[e.createVNode(e.unref(jn),{class:"w-3 h-3"}),B[7]||(B[7]=e.createTextVNode(" Add filter ",-1))],512)],512),t.filters.length>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-[10px] text-muted-foreground hover:text-foreground flex-shrink-0",onClick:B[1]||(B[1]=D=>r("clear-all"))}," Clear all ")):e.createCommentVNode("",!0)]),a.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:l,"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"},[e.createElementVNode("div",bv,[e.createElementVNode("div",null,[B[8]||(B[8]=e.createElementVNode("label",{class:"text-[10px] font-medium text-muted-foreground"},"Field",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":B[2]||(B[2]=D=>u.value=D),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"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,D=>(e.openBlock(),e.createElementBlock("option",{key:D,value:D},e.toDisplayString(D),9,wv))),128))],512),[[e.vModelSelect,u.value]])]),e.createElementVNode("div",null,[B[9]||(B[9]=e.createElementVNode("label",{class:"text-[10px] font-medium text-muted-foreground"},"Operator",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":B[3]||(B[3]=D=>d.value=D),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"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,D=>(e.openBlock(),e.createElementBlock("option",{key:D,value:D},e.toDisplayString(e.unref(pr)(D)),9,xv))),128))],512),[[e.vModelSelect,d.value]])]),e.unref(On)(d.value)?(e.openBlock(),e.createElementBlock("div",kv,[B[11]||(B[11]=e.createElementVNode("label",{class:"text-[10px] font-medium text-muted-foreground"},"Value",-1)),v.value?e.withDirectives((e.openBlock(),e.createElementBlock("select",{key:0,"onUpdate:modelValue":B[4]||(B[4]=D=>f.value=D),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:e.withKeys(E,["enter"])},[...B[10]||(B[10]=[e.createElementVNode("option",{value:"true"},"true",-1),e.createElementVNode("option",{value:"false"},"false",-1)])],544)),[[e.vModelSelect,f.value]]):h.value?(e.openBlock(),e.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:B[5]||(B[5]=D=>f.value=D.target.value),onKeyup:e.withKeys(E,["enter"])},null,40,Cv)):e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:2,"onUpdate:modelValue":B[6]||(B[6]=D=>f.value=D),type:"text",placeholder:y.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:e.withKeys(E,["enter"])},null,40,Bv)),[[e.vModelText,f.value]])])):e.createCommentVNode("",!0),y.value?(e.openBlock(),e.createElementBlock("div",Ev," Tip: Enter comma-separated values ")):e.createCommentVNode("",!0),e.createElementVNode("div",Sv,[e.createElementVNode("button",{class:"px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground",onClick:w}," Cancel "),e.createElementVNode("button",{class:"px-2 py-1 text-[10px] font-medium bg-primary text-primary-foreground rounded disabled:opacity-50",disabled:!u.value||e.unref(On)(d.value)&&d.value!=="equals"&&d.value!=="not_equals"&&!f.value.trim(),onClick:E},e.toDisplayString(c.value?"Save":"Add"),9,Nv)])])],512)):e.createCommentVNode("",!0)]))}}),Dv={class:"flex items-center gap-2"},Vv={class:"text-xs font-medium"},_v={class:"flex items-center gap-2 min-w-0 flex-1"},zv={class:"relative flex items-center gap-1.5 min-w-0","data-model-selector":""},Iv={class:"truncate"},Av={key:0,class:"text-[10px] text-muted-foreground font-mono ml-2 truncate hidden lg:inline"},Tv={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"},Pv={class:"py-1"},$v=["onClick"],Ov={class:"font-medium truncate min-w-0"},Rv={class:"text-muted-foreground flex-shrink-0 ml-2"},qv={class:"flex items-center gap-1 flex-shrink-0 min-w-0 max-w-[50%]"},Fv=["title"],Lv={key:0,class:"truncate"},jv={key:0,class:"border-b border-border bg-muted/30 max-h-64 overflow-y-auto scrollbar-thin"},Hv={class:"p-3"},Wv={class:"grid grid-cols-4 gap-4 text-xs"},Uv={class:"space-y-1"},Gv={class:"truncate min-w-0"},Kv={class:"text-muted-foreground flex-shrink-0"},Yv={key:0,class:"space-y-1.5"},Qv={class:"font-medium"},Xv={class:"text-[10px] text-blue-600 font-mono"},Zv={key:1,class:"text-[10px] text-muted-foreground italic"},Jv={key:0,class:"space-y-1.5"},eg={class:"font-medium font-mono"},tg={class:"font-mono text-muted-foreground italic"},ng={class:"font-mono text-muted-foreground"},og={key:1,class:"text-[10px] text-muted-foreground italic"},rg={class:"space-y-3"},ag={key:0,class:"space-y-1"},lg={key:1,class:"text-[10px] text-muted-foreground italic"},sg={key:0,class:"space-y-1"},ig={key:1,class:"text-[10px] text-muted-foreground italic"},ug=e.defineComponent({__name:"ModelHeader",props:{currentModel:{},modelName:{},models:{},modelCounts:{},canWrite:{type:Boolean},selectedCount:{}},emits:["switch-model","open-create","clear-selection","open-bulk-delete"],setup(t,{emit:n}){const o=t,r=n,a=e.ref(!1),l=e.ref(!1),s=e.ref(null),i=e.ref(!1);let c=null;const u=v=>{a.value=!1,r("switch-model",v)},d=v=>{a.value&&(v.target.closest("[data-model-selector]")||(a.value=!1))},f=v=>{v.key==="Escape"&&a.value&&(a.value=!1)},g=v=>{if(!v?.modelClass)return{instanceMethods:[],staticMethods:[],getters:[]};const h=v.modelClass,m=new Set(["constructor","save","delete","update","reload","toJSON","toString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","_initStringSet","_getStringSet","_buildQuery","_buildUpdate",...v.fields]),C=[],p=[],w=h.prototype,E=Object.getOwnPropertyDescriptors(w);for(const[B,D]of Object.entries(E))if(!(m.has(B)||B.startsWith("_"))){if(D.get&&!D.set)p.push({name:B,type:"getter",signature:`get ${B}`});else if(typeof D.value=="function"&&B!=="constructor"){const R=D.value.toString().match(/\(([^)]*)\)/),Q=R?R[1]:"";C.push({name:B,type:"method",signature:`${B}(${Q})`})}}const N=[],x=Object.getOwnPropertyDescriptors(h),S=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"]);for(const[B,D]of Object.entries(x))if(!(S.has(B)||B.startsWith("_"))&&typeof D.value=="function"){const R=D.value.toString().match(/\(([^)]*)\)/),Q=R?R[1]:"";N.push({name:B,type:"static-method",signature:`static ${B}(${Q})`})}return{instanceMethods:C.sort((B,D)=>B.name.localeCompare(D.name)),staticMethods:N.sort((B,D)=>B.name.localeCompare(D.name)),getters:p.sort((B,D)=>B.name.localeCompare(D.name))}},k=e.computed(()=>g(o.currentModel??null)),b=e.computed(()=>{const v=k.value;return v.instanceMethods.length>0||v.staticMethods.length>0||v.getters.length>0}),y=e.computed(()=>{if(!o.currentModel)return[];const v=[];for(const[h,m]of o.currentModel.fieldInfo.entries())m.schema?.indexed&&v.push(h);return v.sort()});return e.onMounted(()=>{document.addEventListener("click",d),document.addEventListener("keydown",f),s.value&&(c=new ResizeObserver(v=>{for(const h of v)i.value=h.contentRect.width<400}),c.observe(s.value))}),e.onUnmounted(()=>{document.removeEventListener("click",d),document.removeEventListener("keydown",f),c?.disconnect()}),(v,h)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.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"},[t.selectedCount>0&&t.canWrite?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Dv,[e.createElementVNode("span",Vv,e.toDisplayString(t.selectedCount)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:h[0]||(h[0]=m=>r("clear-selection"))}," Clear ")]),e.createElementVNode("button",{class:"px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1",onClick:h[1]||(h[1]=m=>r("open-bulk-delete"))},[e.createVNode(e.unref(Tt),{class:"w-3.5 h-3.5"}),h[5]||(h[5]=e.createTextVNode(" Delete ",-1))])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",_v,[e.createElementVNode("div",zv,[e.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:h[2]||(h[2]=m=>a.value=!a.value)},[e.createElementVNode("span",Iv,e.toDisplayString(t.currentModel?.name||t.modelName)+" model ",1),h[6]||(h[6]=e.createElementVNode("svg",{class:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),t.currentModel?.sourcePath?(e.openBlock(),e.createElementBlock("span",Av,e.toDisplayString(t.currentModel.sourcePath),1)):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("div",Tv,[e.createElementVNode("div",Pv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.models,m=>(e.openBlock(),e.createElementBlock("button",{key:m.tableName,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-1.5 text-xs text-left hover:bg-muted",m.tableName===t.modelName?"bg-primary/5":""]),onClick:C=>u(m.tableName)},[e.createElementVNode("span",Ov,e.toDisplayString(m.name)+" model ",1),e.createElementVNode("span",Rv,e.toDisplayString(t.modelCounts[m.tableName]??"..."),1)],10,$v))),128))])])):e.createCommentVNode("",!0)]),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded text-muted-foreground",title:"Show model properties",onClick:h[3]||(h[3]=m=>l.value=!l.value)},[...h[7]||(h[7]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)])])]),e.createElementVNode("div",qv,[t.canWrite?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["ml-1 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center min-w-0",i.value?"p-1.5":"px-2 py-1 gap-1"]),title:`New ${t.currentModel?.name||t.modelName}`,onClick:h[4]||(h[4]=m=>r("open-create"))},[h[8]||(h[8]=e.createElementVNode("svg",{class:"w-3 h-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),i.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Lv," New "+e.toDisplayString(t.currentModel?.name||t.modelName),1))],10,Fv)):e.createCommentVNode("",!0)])],64))],512),l.value&&t.currentModel?(e.openBlock(),e.createElementBlock("div",jv,[e.createElementVNode("div",Hv,[e.createElementVNode("div",Wv,[e.createElementVNode("div",null,[h[9]||(h[9]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Schema ",-1)),e.createElementVNode("div",Uv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.currentModel.fields.filter(m=>m!=="id"&&!m.startsWith("_")),m=>(e.openBlock(),e.createElementBlock("div",{key:m,class:"flex justify-between gap-2"},[e.createElementVNode("span",Gv,e.toDisplayString(m),1),e.createElementVNode("span",Kv,e.toDisplayString(e.unref(Fe)(t.currentModel,m)?.type||"string"),1)]))),128))])]),e.createElementVNode("div",null,[h[10]||(h[10]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Relationships ",-1)),t.currentModel.relationships&&Object.keys(t.currentModel.relationships).length>0?(e.openBlock(),e.createElementBlock("div",Yv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.currentModel.relationships,(m,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"flex items-center justify-between"},[e.createElementVNode("span",Qv,e.toDisplayString(C),1),e.createElementVNode("span",Xv,e.toDisplayString(m.type==="hasMany"?"←":"→")+" "+e.toDisplayString(m.model)+e.toDisplayString(m.type==="hasMany"?"[]":""),1)]))),128))])):(e.openBlock(),e.createElementBlock("span",Zv," None "))]),e.createElementVNode("div",null,[h[11]||(h[11]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Methods ",-1)),b.value?(e.openBlock(),e.createElementBlock("div",Jv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value.instanceMethods,m=>(e.openBlock(),e.createElementBlock("div",{key:m.name},[e.createElementVNode("span",eg,e.toDisplayString(m.signature),1)]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value.getters,m=>(e.openBlock(),e.createElementBlock("div",{key:m.name},[e.createElementVNode("span",tg,e.toDisplayString(m.signature),1)]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value.staticMethods,m=>(e.openBlock(),e.createElementBlock("div",{key:m.name},[e.createElementVNode("span",ng,e.toDisplayString(m.signature),1)]))),128))])):(e.openBlock(),e.createElementBlock("span",og," None "))]),e.createElementVNode("div",rg,[e.createElementVNode("div",null,[h[12]||(h[12]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Indexes ",-1)),y.value.length>0?(e.openBlock(),e.createElementBlock("div",ag,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,m=>(e.openBlock(),e.createElementBlock("div",{key:m,class:"px-2 py-1 bg-muted rounded font-mono text-[10px]"},e.toDisplayString(m),1))),128))])):(e.openBlock(),e.createElementBlock("span",lg," None "))]),e.createElementVNode("div",null,[h[13]||(h[13]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Unique Constraints ",-1)),t.currentModel.uniqueConstraints&&t.currentModel.uniqueConstraints.length>0?(e.openBlock(),e.createElementBlock("div",sg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.currentModel.uniqueConstraints,m=>(e.openBlock(),e.createElementBlock("div",{key:m.name,class:"px-2 py-1 bg-muted rounded font-mono text-[10px]"},e.toDisplayString(m.fields.join(", ")),1))),128))])):(e.openBlock(),e.createElementBlock("span",ig," None "))])])])])])):e.createCommentVNode("",!0)],64))}}),cg={class:"flex items-center gap-1.5 min-w-0"},dg={class:"text-muted-foreground text-[10px] tabular-nums whitespace-nowrap"},fg=["value"],mg=["value"],pg={class:"flex items-center gap-0.5"},vg=["disabled"],gg={class:"text-[10px] px-1 tabular-nums"},hg={class:"text-muted-foreground"},yg=["disabled"],bg={class:"flex items-center gap-2"},wg={class:"text-muted-foreground"},xg=["value"],kg=["value"],Cg={class:"flex items-center gap-1"},Bg=["disabled"],Eg=["onClick"],Sg=["disabled"],Ng=e.defineComponent({__name:"ModelPaginationBar",props:{currentPage:{},totalCount:{},pageSize:{},totalPages:{}},emits:["go-to-page","change-page-size"],setup(t,{emit:n}){const o=t,r=n,a=e.ref(null),l=e.ref(!1);let s=null;e.onMounted(()=>{a.value&&(s=new ResizeObserver(c=>{for(const u of c)l.value=u.contentRect.width<480}),s.observe(a.value))}),e.onUnmounted(()=>{s?.disconnect()});const i=e.computed(()=>{const c=o.totalPages,u=o.currentPage,d=[],f=5;if(c<=f)for(let g=1;g<=c;g++)d.push(g);else{let g=Math.max(1,u-Math.floor(f/2));const k=Math.min(c,g+f-1);k-g<f-1&&(g=Math.max(1,k-f+1));for(let b=g;b<=k;b++)d.push(b)}return d});return(c,u)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"barRef",ref:a,class:e.normalizeClass(["flex-shrink-0 flex items-center justify-between py-2 border-t border-border bg-muted/20 text-xs",l.value?"pl-2 pr-16 gap-2":"pl-3 pr-16"])},[l.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",cg,[e.createElementVNode("span",dg,e.toDisplayString(t.totalCount===0?0:(t.currentPage-1)*t.pageSize+1)+"–"+e.toDisplayString(Math.min(t.currentPage*t.pageSize,t.totalCount))+" / "+e.toDisplayString(t.totalCount),1),e.createElementVNode("select",{class:"px-1 py-0.5 text-[10px] bg-background border border-border rounded",value:t.pageSize,onChange:u[0]||(u[0]=d=>r("change-page-size",Number(d.target.value)))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ao),d=>(e.openBlock(),e.createElementBlock("option",{key:d,value:d},e.toDisplayString(d),9,mg))),128))],40,fg)]),e.createElementVNode("div",pg,[e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded disabled:opacity-30",disabled:t.currentPage<=1,title:"Previous page",onClick:u[1]||(u[1]=d=>r("go-to-page",t.currentPage-1))},[...u[6]||(u[6]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])],8,vg),e.createElementVNode("span",gg,[e.createTextVNode(e.toDisplayString(t.currentPage),1),e.createElementVNode("span",hg,"/"+e.toDisplayString(t.totalPages),1)]),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded disabled:opacity-30",disabled:t.currentPage>=t.totalPages,title:"Next page",onClick:u[2]||(u[2]=d=>r("go-to-page",t.currentPage+1))},[...u[7]||(u[7]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)])],8,yg)])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",bg,[e.createElementVNode("span",wg," Showing "+e.toDisplayString(t.totalCount===0?0:(t.currentPage-1)*t.pageSize+1)+"-"+e.toDisplayString(Math.min(t.currentPage*t.pageSize,t.totalCount))+" of "+e.toDisplayString(t.totalCount),1),e.createElementVNode("select",{class:"px-1 py-0.5 text-[10px] bg-background border border-border rounded",value:t.pageSize,onChange:u[3]||(u[3]=d=>r("change-page-size",Number(d.target.value)))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ao),d=>(e.openBlock(),e.createElementBlock("option",{key:d,value:d},e.toDisplayString(d),9,kg))),128))],40,xg),u[8]||(u[8]=e.createElementVNode("span",{class:"text-muted-foreground"},"per page",-1))]),e.createElementVNode("div",Cg,[e.createElementVNode("button",{class:"px-2 py-1 hover:bg-muted rounded disabled:opacity-50",disabled:t.currentPage<=1,onClick:u[4]||(u[4]=d=>r("go-to-page",t.currentPage-1))}," Previous ",8,Bg),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,d=>(e.openBlock(),e.createElementBlock("button",{key:d,class:e.normalizeClass(["px-2 py-1 rounded",d===t.currentPage?"bg-primary text-primary-foreground":"hover:bg-muted"]),onClick:f=>r("go-to-page",d)},e.toDisplayString(d),11,Eg))),128)),e.createElementVNode("button",{class:"px-2 py-1 hover:bg-muted rounded disabled:opacity-50",disabled:t.currentPage>=t.totalPages,onClick:u[5]||(u[5]=d=>r("go-to-page",t.currentPage+1))}," Next ",8,Sg)])],64))],2))}}),rt=e.defineComponent({__name:"Input",props:{defaultValue:{},modelValue:{},class:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,r=n,a=ee.useVModel(o,"modelValue",r,{passive:!0,defaultValue:o.defaultValue});return(l,s)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":s[0]||(s[0]=i=>e.isRef(a)?a.value=i:null),"data-slot":"input",class:e.normalizeClass(e.unref(ae)("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",o.class))},null,2)),[[e.vModelText,e.unref(a)]])}}),Mg=e.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(t,{emit:n}){const a=ze(t,n);return(l,s)=>(e.openBlock(),e.createBlock(e.unref(Ac),e.mergeProps({"data-slot":"select"},e.unref(a)),{default:e.withCtx(i=>[e.renderSlot(l.$slots,"default",e.normalizeProps(e.guardReactiveProps(i)))]),_:3},16))}}),Dg=e.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:{}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(t,{emit:n}){const o=t,r=n,a=ee.reactiveOmit(o,"class"),l=ze(a,r);return(s,i)=>(e.openBlock(),e.createBlock(e.unref(ld),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Yc),e.mergeProps({"data-slot":"select-content"},{...s.$attrs,...e.unref(l)},{class:e.unref(ae)("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",t.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",o.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(zg)),e.createVNode(e.unref(hd),{class:e.normalizeClass(e.unref(ae)("p-1",t.position==="popper"&&"h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1"))},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},8,["class"]),e.createVNode(e.unref(_g))]),_:3},16,["class"])]),_:3}))}}),Vg={class:"absolute right-2 flex size-3.5 items-center justify-center"},qn=e.defineComponent({__name:"SelectItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=ee.reactiveOmit(n,"class"),r=$e(o);return(a,l)=>(e.openBlock(),e.createBlock(e.unref(ed),e.mergeProps({"data-slot":"select-item"},e.unref(r),{class:e.unref(ae)("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:e.withCtx(()=>[e.createElementVNode("span",Vg,[e.createVNode(e.unref(nd),null,{default:e.withCtx(()=>[e.renderSlot(a.$slots,"indicator-icon",{},()=>[e.createVNode(e.unref(Ka),{class:"size-4"})])]),_:3})]),e.createVNode(e.unref(rd),null,{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3})]),_:3},16,["class"]))}}),_g=e.defineComponent({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=ee.reactiveOmit(n,"class"),r=$e(o);return(a,l)=>(e.openBlock(),e.createBlock(e.unref(ud),e.mergeProps({"data-slot":"select-scroll-down-button"},e.unref(r),{class:e.unref(ae)("flex cursor-default items-center justify-center py-1",n.class)}),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default",{},()=>[e.createVNode(e.unref(Cr),{class:"size-4"})])]),_:3},16,["class"]))}}),zg=e.defineComponent({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=ee.reactiveOmit(n,"class"),r=$e(o);return(a,l)=>(e.openBlock(),e.createBlock(e.unref(dd),e.mergeProps({"data-slot":"select-scroll-up-button"},e.unref(r),{class:e.unref(ae)("flex cursor-default items-center justify-center py-1",n.class)}),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default",{},()=>[e.createVNode(e.unref(Xa),{class:"size-4"})])]),_:3},16,["class"]))}}),Ig=e.defineComponent({__name:"SelectTrigger",props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{},size:{default:"default"}},setup(t){const n=t,o=ee.reactiveOmit(n,"class","size"),r=$e(o);return(a,l)=>(e.openBlock(),e.createBlock(e.unref(md),e.mergeProps({"data-slot":"select-trigger","data-size":t.size},e.unref(r),{class:e.unref(ae)("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:e.withCtx(()=>[e.renderSlot(a.$slots,"default"),e.createVNode(e.unref(Xc),{"as-child":""},{default:e.withCtx(()=>[e.createVNode(e.unref(Cr),{class:"size-4 opacity-50"})]),_:1})]),_:3},16,["data-size","class"]))}}),Ag=e.defineComponent({__name:"SelectValue",props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createBlock(e.unref(vd),e.mergeProps({"data-slot":"select-value"},n),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),Tg=["title","onClick"],Pg={class:"text-xs font-mono truncate"},$g={key:0,class:"w-3 h-3 flex-shrink-0 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Og={key:1,class:"w-3 h-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Rg=["for","title"],qg={key:0,class:"opacity-50"},Fg={key:0,class:"space-y-1.5 mt-1"},Lg={key:0,class:"flex gap-1"},jg={key:0,class:"text-muted-foreground ml-2"},Hg={class:"text-[10px] text-muted-foreground"},Wg={key:1,class:"mt-1 space-y-1.5"},Ug={class:"flex flex-wrap gap-1"},Gg=["onClick"],Kg={key:0,class:"text-xs text-muted-foreground"},Yg={class:"flex gap-1"},Qg={key:2,class:"mt-1 space-y-1"},Xg=["id","value","onChange"],Zg={key:0,class:"text-[10px] text-destructive"},Jg={key:1,class:"text-[10px] text-muted-foreground"},eh={class:"flex items-center gap-1"},th=["onClick"],nh=["onClick"],oh={key:3,class:"mt-1 flex items-center gap-2"},rh=["id","checked","onChange"],ah={class:"text-xs text-muted-foreground"},br=e.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(t,{emit:n}){const o=t,r=n,a=e.ref({}),l=e.ref(new Set);function s(b){const y=new Set(l.value);y.has(b)?y.delete(b):y.add(b),l.value=y}function i(b){if(!b)return!0;const y=new Date(b);return!isNaN(y.getTime())}const c=e.computed(()=>{const b={};for(const y of l.value){const v=o.formData[y];b[y]=i(v==null?"":String(v))}return b});function u(b,y){r("update-field",b,y)}function d(b){const y=a.value[b]?.trim();if(!y)return;const v=o.formData[b]||[];v.includes(y)||r("update-field",b,[...v,y]),a.value[b]=""}function f(b,y){const v=o.formData[b]||[];r("update-field",b,v.filter(h=>h!==y))}function g(b){if(!b)return"";try{const y=new Date(String(b));if(isNaN(y.getTime()))return"";const v=y.getFullYear().toString().padStart(4,"0"),h=(y.getMonth()+1).toString().padStart(2,"0"),m=y.getDate().toString().padStart(2,"0");return`${v}-${h}-${m}`}catch{return""}}function k(b){if(!b)return"";try{const[y,v,h]=b.split("-").map(Number),m=new Date(0);return m.setFullYear(y,v-1,h),m.setHours(0,0,0,0),isNaN(m.getTime())?"":m.toISOString()}catch{return""}}return(b,y)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.excludeId?t.fields.filter(v=>v!=="id"):t.fields,v=>(e.openBlock(),e.createElementBlock("div",{key:v,class:"min-w-0"},[v==="id"&&!t.excludeId?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y[2]||(y[2]=e.createElementVNode("label",{class:"text-xs text-muted-foreground"},"id",-1)),e.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: ${t.formData[v]}`,onClick:h=>r("copy-id",String(t.formData[v]))},[e.createElementVNode("code",Pg,e.toDisplayString(t.formData[v]),1),t.copiedId===String(t.formData[v])?(e.openBlock(),e.createElementBlock("svg",$g,[...y[0]||(y[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Og,[...y[1]||(y[1]=[e.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,Tg)],64)):v!=="id"||!t.excludeId?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("label",{for:`${t.idPrefix}-${v}`,class:"text-xs text-muted-foreground block truncate",title:v},[e.createTextVNode(e.toDisplayString(v)+" ",1),v.startsWith("_")?(e.openBlock(),e.createElementBlock("span",qg,"(hidden)")):e.createCommentVNode("",!0)],8,Rg),e.unref(Rn)(t.modelInfo,v)?(e.openBlock(),e.createElementBlock("div",Fg,[t.customIdFields.has(v)?(e.openBlock(),e.createElementBlock("div",Lg,[e.createVNode(e.unref(rt),{id:`${t.idPrefix}-${v}`,"model-value":t.formData[v]||"",placeholder:"Enter new ID...",class:"h-8 text-xs flex-1","onUpdate:modelValue":h=>u(v,h)},null,8,["id","model-value","onUpdate:modelValue"]),e.createVNode(e.unref(pe),{type:"button",variant:"ghost",size:"sm",class:"h-8 w-8 p-0",title:"Back to dropdown",onClick:h=>r("toggle-custom-id",v,!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(Pt),{class:"h-3 w-3"})]),_:1},8,["onClick"])])):(e.openBlock(),e.createBlock(e.unref(Mg),{key:1,"model-value":t.formData[v]||"","onUpdate:modelValue":h=>{h==="__custom_id__"?(r("toggle-custom-id",v,!0),u(v,"")):h==="__null__"?u(v,null):u(v,h)}},{default:e.withCtx(()=>[e.createVNode(e.unref(Ig),{id:`${t.idPrefix}-${v}`,class:"h-8 text-xs"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ag),{placeholder:"Select a record..."})]),_:1},8,["id"]),e.createVNode(e.unref(Dg),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.relatedModelData[e.unref(Rn)(t.modelInfo,v)?.relatedModel??""]||[],h=>(e.openBlock(),e.createBlock(e.unref(qn),{key:h.id,value:h.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.id)+" ",1),h.name||h.title?(e.openBlock(),e.createElementBlock("span",jg," ("+e.toDisplayString(h.name||h.title)+") ",1)):e.createCommentVNode("",!0)]),_:2},1032,["value"]))),128)),e.createVNode(e.unref(qn),{value:"__custom_id__",class:"text-primary"},{default:e.withCtx(()=>[...y[3]||(y[3]=[e.createTextVNode(" + Add new ID ",-1)])]),_:1}),t.formData[v]?(e.openBlock(),e.createBlock(e.unref(qn),{key:0,value:"__null__",class:"text-destructive"},{default:e.withCtx(()=>[...y[4]||(y[4]=[e.createTextVNode(" Set null ",-1)])]),_:1})):e.createCommentVNode("",!0)]),_:2},1024)]),_:2},1032,["model-value","onUpdate:modelValue"])),e.createElementVNode("div",Hg," → "+e.toDisplayString(e.unref(Rn)(t.modelInfo,v)?.relatedModel),1)])):e.unref(Ct)(t.modelInfo,v)?(e.openBlock(),e.createElementBlock("div",Wg,[e.createElementVNode("div",Ug,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.formData[v]||[],h=>(e.openBlock(),e.createElementBlock("span",{key:h,class:"inline-flex items-center gap-1 px-2 py-0.5 text-xs bg-muted rounded"},[e.createTextVNode(e.toDisplayString(h)+" ",1),e.createElementVNode("button",{type:"button",class:"hover:text-destructive",onClick:m=>f(v,h)},[e.createVNode(e.unref(Pt),{class:"h-3 w-3"})],8,Gg)]))),128)),!t.formData[v]||t.formData[v].length===0?(e.openBlock(),e.createElementBlock("span",Kg," No items ")):e.createCommentVNode("",!0)]),e.createElementVNode("div",Yg,[e.createVNode(e.unref(rt),{id:`${t.idPrefix}-stringset-${v}`,modelValue:a.value[v],"onUpdate:modelValue":h=>a.value[v]=h,placeholder:"Add item...",class:"flex-1 h-8 text-xs",onKeyup:e.withKeys(h=>d(v),["enter"])},null,8,["id","modelValue","onUpdate:modelValue","onKeyup"]),e.createVNode(e.unref(pe),{type:"button",variant:"outline",size:"sm",class:"h-8 px-2 text-xs",onClick:h=>d(v)},{default:e.withCtx(()=>[...y[5]||(y[5]=[e.createTextVNode(" Add ",-1)])]),_:1},8,["onClick"])])])):e.unref(lo)(t.modelInfo,v)?(e.openBlock(),e.createElementBlock("div",Qg,[l.value.has(v)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(rt),{id:`${t.idPrefix}-${v}`,"model-value":String(t.formData[v]??""),placeholder:"e.g. 2024-01-15T00:00:00.000Z",class:e.normalizeClass(["h-8 text-xs font-mono",{"border-destructive focus-visible:ring-destructive/50":t.formData[v]&&!c.value[v]}]),"onUpdate:modelValue":h=>u(v,h||void 0)},null,8,["id","model-value","class","onUpdate:modelValue"]),t.formData[v]&&!c.value[v]?(e.openBlock(),e.createElementBlock("p",Zg," Invalid date — use ISO 8601 format ")):t.formData[v]&&c.value[v]?(e.openBlock(),e.createElementBlock("p",Jg,e.toDisplayString(new Date(t.formData[v]).toLocaleDateString(void 0,{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("input",{key:0,id:`${t.idPrefix}-${v}`,type:"date",value:g(t.formData[v]),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:h=>u(v,k(h.target.value)||void 0)},null,40,Xg)),e.createElementVNode("div",eh,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors",l.value.has(v)?"text-muted-foreground hover:text-foreground hover:bg-muted":"bg-primary text-primary-foreground"]),onClick:()=>{l.value.has(v)&&s(v)}}," Picker ",10,th),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors",l.value.has(v)?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:()=>{l.value.has(v)||s(v)}}," ISO ",10,nh)])])):e.unref(so)(t.modelInfo,v)?(e.openBlock(),e.createElementBlock("div",oh,[e.createElementVNode("input",{id:`${t.idPrefix}-${v}`,type:"checkbox",class:"w-4 h-4 rounded border-border",checked:!!t.formData[v],onChange:h=>u(v,h.target.checked)},null,40,rh),e.createElementVNode("span",ah,e.toDisplayString(t.formData[v]?"Yes":"No"),1)])):e.unref(Bf)(t.modelInfo,v)?(e.openBlock(),e.createBlock(e.unref(rt),{key:4,id:`${t.idPrefix}-${v}`,type:"number","model-value":String(t.formData[v]??""),class:"mt-1 h-8 text-xs","onUpdate:modelValue":h=>u(v,h===""?void 0:Number(h))},null,8,["id","model-value","onUpdate:modelValue"])):e.unref(Na)(t.formData[v])||e.unref(bf)(t.formData[v])==="textarea"?(e.openBlock(),e.createBlock(e.unref(uo),{key:5,id:`${t.idPrefix}-${v}`,"model-value":typeof t.formData[v]=="object"?e.unref(un)(t.formData[v],2):String(t.formData[v]??""),rows:"4",class:"mt-1 font-mono text-xs resize-vertical","onUpdate:modelValue":h=>u(v,h)},null,8,["id","model-value","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(e.unref(uo),{key:6,id:`${t.idPrefix}-${v}`,"model-value":String(t.formData[v]??""),rows:"1",class:"mt-1 text-xs min-h-[2rem] resize-vertical","onUpdate:modelValue":h=>u(v,h)},null,8,["id","model-value","onUpdate:modelValue"]))],64)):e.createCommentVNode("",!0)]))),128))}}),lh=e.defineComponent({__name:"Table",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("table",{"data-slot":"table",class:e.normalizeClass(e.unref(ae)("w-full caption-bottom text-sm",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),sh=e.defineComponent({__name:"TableBody",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("tbody",{"data-slot":"table-body",class:e.normalizeClass(e.unref(ae)("[&_tr:last-child]:border-0",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),Fn=e.defineComponent({__name:"TableCell",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("td",{"data-slot":"table-cell",class:e.normalizeClass(e.unref(ae)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),wr=e.defineComponent({__name:"TableRow",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("tr",{"data-slot":"table-row",class:e.normalizeClass(e.unref(ae)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),Ln=e.defineComponent({__name:"TableHead",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("th",{"data-slot":"table-head",class:e.normalizeClass(e.unref(ae)("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))},[e.renderSlot(o.$slots,"default")],2))}}),ih=e.defineComponent({__name:"TableHeader",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("thead",{"data-slot":"table-header",class:e.normalizeClass(e.unref(ae)("[&_tr]:border-b",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),uh={class:"flex-1 relative min-h-[200px]"},ch=["checked","indeterminate"],dh=["title","onClick"],fh={class:"truncate"},mh={key:0,class:"text-primary font-bold text-xs flex-shrink-0"},ph=["title"],vh=["checked","onChange"],gh={class:"truncate"},hh=["title","onClick"],yh={class:"overflow-hidden whitespace-nowrap"},bh={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"},xh={key:1,class:"flex gap-0.5 overflow-hidden"},kh={key:0,class:"text-[9px] text-muted-foreground shrink-0"},Ch={key:0},Bh=["checked"],Eh={key:4,class:"text-xs bg-muted px-1 py-0.5 rounded"},Sh={class:"flex items-center gap-0.5"},Nh=["onClick"],Mh=["onClick"],Dh={key:0,class:"absolute inset-0 flex items-center justify-center pointer-events-none",style:{top:"1.5rem"}},Vh=e.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(t,{emit:n}){const o=t,r=n,a=e.computed(()=>zo(o.modelInfo,o.loadedData,o.showHiddenFields)),l=e.computed(()=>o.selectedRecordIds.size===0?!1:o.selectedRecordIds.size===o.records.length?!0:"indeterminate"),s=e.ref(null);let i=null;const c=async m=>{try{await navigator.clipboard.writeText(m)}catch{const C=document.createElement("textarea");C.value=m,document.body.appendChild(C),C.select(),document.execCommand("copy"),document.body.removeChild(C)}s.value=m,i&&clearTimeout(i),i=setTimeout(()=>{s.value=null},1500)},u=m=>Da(o.modelInfo,m),d=m=>!o.sorting||o.sorting.field!==m?"":Nf(o.sorting.direction),f=(m,C=8)=>{const p=String(m??"");return p.length<=C?p:"…"+p.slice(-C)},g=m=>m==="id"?"120px":so(o.modelInfo,m)?"60px":lo(o.modelInfo,m)?"110px":Ct(o.modelInfo,m)?"160px":"180px",k=e.ref(null),b=e.ref(null),y=e.ref(!1);let v=null;const h=m=>{if(b.value===m)return{backgroundColor:y.value?"transparent":"rgba(250, 204, 21, 0.35)",transition:"background-color 2s ease-out"}};return e.watch(()=>o.highlightedRecordId,async m=>{if(!m)return;y.value=!1,b.value=m,await e.nextTick();const C=k.value?.querySelector(`tr[data-highlight-id="${m}"]`);C&&C.scrollIntoView({block:"nearest",behavior:"smooth"}),v&&clearTimeout(v),v=setTimeout(()=>{y.value=!0,v=setTimeout(()=>{b.value=null,y.value=!1},2200)},600)}),(m,C)=>(e.openBlock(),e.createElementBlock("div",uh,[e.createElementVNode("div",{ref_key:"tableContainer",ref:k,class:"absolute inset-0 overflow-auto"},[e.createVNode(e.unref(lh),{class:"text-xs"},{default:e.withCtx(()=>[e.createVNode(e.unref(ih),{class:"sticky top-0 z-10 bg-muted"},{default:e.withCtx(()=>[e.createVNode(e.unref(wr),null,{default:e.withCtx(()=>[t.canWrite?(e.openBlock(),e.createBlock(e.unref(Ln),{key:0,class:"w-8 px-2"},{default:e.withCtx(()=>[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:l.value===!0,indeterminate:l.value==="indeterminate",onChange:C[0]||(C[0]=p=>r("toggle-select-all"))},null,40,ch)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,p=>(e.openBlock(),e.createBlock(e.unref(Ln),{key:p,class:"px-2 text-left font-medium text-muted-foreground overflow-hidden",style:e.normalizeStyle({width:g(p),minWidth:g(p),maxWidth:g(p)})},{default:e.withCtx(()=>[u(p)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"flex items-center gap-0.5 hover:text-foreground max-w-full min-w-0",title:p,onClick:w=>r("toggle-column-sort",p)},[e.createElementVNode("span",fh,e.toDisplayString(p),1),d(p)?(e.openBlock(),e.createElementBlock("span",mh,e.toDisplayString(d(p)),1)):e.createCommentVNode("",!0)],8,dh)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"truncate block",title:p},e.toDisplayString(p),9,ph))]),_:2},1032,["style"]))),128)),t.canWrite?(e.openBlock(),e.createBlock(e.unref(Ln),{key:1,class:"w-0 p-0"})):e.createCommentVNode("",!0)]),_:1})]),_:1}),e.createVNode(e.unref(sh),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.records,p=>(e.openBlock(),e.createBlock(e.unref(wr),{key:p.id,class:e.normalizeClass("hover:bg-muted/30 group border-none"),style:e.normalizeStyle(h(p.id)),"data-highlight-id":p.id,onClick:w=>r("edit-record",p)},{default:e.withCtx(()=>[t.canWrite?(e.openBlock(),e.createBlock(e.unref(Fn),{key:0,class:"px-2 w-8",onClick:C[1]||(C[1]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:t.selectedRecordIds.has(p.id),onChange:w=>r("toggle-record-selection",p.id)},null,40,vh)]),_:2},1024)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,w=>(e.openBlock(),e.createBlock(e.unref(Fn),{key:w,class:"px-2 overflow-hidden",style:e.normalizeStyle({width:g(w),minWidth:g(w),maxWidth:g(w)})},{default:e.withCtx(()=>[e.createElementVNode("div",gh,[w==="id"?(e.openBlock(),e.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: ${p[w]}`,onClick:e.withModifiers(E=>c(String(p[w])),["stop"])},[e.createElementVNode("span",yh,e.toDisplayString(f(p[w])),1),s.value===String(p[w])?(e.openBlock(),e.createElementBlock("svg",bh,[...C[3]||(C[3]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",wh,[...C[4]||(C[4]=[e.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,hh)):e.unref(Ct)(t.modelInfo,w)?(e.openBlock(),e.createElementBlock("div",xh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p[w]&&typeof p[w].toArray=="function"?p[w].toArray().slice(0,3):[],E=>(e.openBlock(),e.createElementBlock("span",{key:E,class:"px-1 text-[9px] bg-muted rounded truncate shrink-0"},e.toDisplayString(E),1))),128)),p[w]&&typeof p[w].toArray=="function"&&p[w].toArray().length>3?(e.openBlock(),e.createElementBlock("span",kh," +"+e.toDisplayString(p[w].toArray().length-3),1)):e.createCommentVNode("",!0)])):e.unref(lo)(t.modelInfo,w)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[p[w]?(e.openBlock(),e.createElementBlock("span",Ch,e.toDisplayString(new Date(p[w]).toLocaleDateString()),1)):e.createCommentVNode("",!0)],64)):e.unref(so)(t.modelInfo,w)?(e.openBlock(),e.createElementBlock("input",{key:3,type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:!!p[w],disabled:""},null,8,Bh)):e.unref(Na)(p[w])?(e.openBlock(),e.createElementBlock("code",Eh,e.toDisplayString(e.unref(un)(p[w]).slice(0,50))+e.toDisplayString(e.unref(un)(p[w]).length>50?"...":""),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[e.createTextVNode(e.toDisplayString(p[w]),1)],64))])]),_:2},1032,["style"]))),128)),t.canWrite?(e.openBlock(),e.createBlock(e.unref(Fn),{key:1,class:"px-2 sticky right-0 group-hover:bg-white",onClick:C[2]||(C[2]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createElementVNode("div",Sh,[e.createElementVNode("button",{class:"p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground",title:"Edit",onClick:w=>r("edit-record",p)},[e.createVNode(e.unref(co),{class:"w-3.5 h-3.5"})],8,Nh),e.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:w=>r("delete-record",p.id)},[e.createVNode(e.unref(Tt),{class:"w-3.5 h-3.5"})],8,Mh)])]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1032,["style","data-highlight-id","onClick"]))),128))]),_:1})]),_:1})],512),t.records.length===0?(e.openBlock(),e.createElementBlock("div",Dh,[...C[5]||(C[5]=[e.createElementVNode("span",{class:"text-muted-foreground text-xs"},"No records found",-1)])])):e.createCommentVNode("",!0)]))}}),_h=(t,n)=>{const o=t.__vccOpts||t;for(const[r,a]of n)o[r]=a;return o},zh=_h(Vh,[["__scopeId","data-v-4ffa00ee"]]),xr=Ee.forScope("ModelPagination");function Ih(t,n,o,r){const a=e.ref([]),l=e.ref(!1),s=e.ref(Ma()),i=e.ref({currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}),c=e.computed(()=>Math.max(1,Math.ceil(i.value.totalCount/s.value))),u=e.computed(()=>{const m=c.value,C=i.value.currentPage,p=[],w=5;if(m<=w)for(let E=1;E<=m;E++)p.push(E);else{let E=Math.max(1,C-Math.floor(w/2));const N=Math.min(m,E+w-1);N-E<w-1&&(E=Math.max(1,N-w+1));for(let x=E;x<=N;x++)p.push(x)}return p}),d=async(m,C=1,p=null)=>{try{const w=m.modelClass,E=xf(o.value),N=n.value,x={documents:N},S=await w.count(E,x),B=Sf(r.value),D={limit:s.value,sort:B,documents:N};p&&(D.uniqueStartKey=p);const V=await w.query(E,D);return i.value.currentPage=C,i.value.totalCount=S,i.value.hasMore=V.hasMore??!1,i.value.nextCursor=V.nextCursor??null,i.value.prevCursor=V.prevCursor??null,V.nextCursor&&C>=1&&i.value.pageCursors.set(C+1,V.nextCursor),{data:V.data||[],totalCount:S,hasMore:V.hasMore??!1,nextCursor:V.nextCursor??null,prevCursor:V.prevCursor??null}}catch(w){return xr.error(`Error loading ${m.name}:`,w),te(`Failed to load ${m.name} records: `+fe(w)),{data:[],totalCount:0,hasMore:!1,nextCursor:null,prevCursor:null}}},f=async(m=1)=>{if(!t.value)return;const C=await d(t.value,1,null);if(a.value=C.data,l.value=!0,xr.debug("Loaded model data:",{model:t.value.name,totalRecords:C.totalCount}),m>1&&C.totalCount>0){const p=Math.ceil(C.totalCount/s.value);m<=p&&await g(m)}},g=async m=>{if(!t.value)return;const C=Math.ceil(i.value.totalCount/s.value);if(m<1||m>C)return;let p=null;if(m>1&&(p=i.value.pageCursors.get(m)??null,!p)){let E=1,N=null;for(let x=m-1;x>=1;x--)if(i.value.pageCursors.has(x)){E=x,N=i.value.pageCursors.get(x)??null;break}for(let x=E;x<m&&(N=(await d(t.value,x,N)).nextCursor,!!N);x++);p=N}const w=await d(t.value,m,p);a.value=w.data};return{records:a,initialDataLoaded:l,paginationState:i,pageSize:s,totalPages:c,visiblePageNumbers:u,loadModelData:d,loadInitialData:f,goToPage:g,goToPrevPage:()=>g(i.value.currentPage-1),goToNextPage:()=>g(i.value.currentPage+1),goToPageContainingRecord:async m=>{if(!t.value)return!1;i.value={currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};let C=await d(t.value,1,null);if(C.data.some(w=>w.id===m))return a.value=C.data,!0;const p=Math.ceil(C.totalCount/s.value);for(let w=2;w<=p;w++){const E=i.value.pageCursors.get(w)??null;if(E===null&&w>2)break;if(C=await d(t.value,w,E),C.data.some(N=>N.id===m))return a.value=C.data,!0}return a.value=C.data,!1},handlePageSizeChange:async m=>{if(s.value=m,Cf(m),!t.value)return;i.value={currentPage:1,totalCount:i.value.totalCount,pageSize:m,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};const C=await d(t.value,1,null);a.value=C.data},reloadModelData:async()=>{if(!t.value)return;i.value={currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};const m=await d(t.value,1,null);a.value=m.data}}}const mt=Ee.forScope("RecordCrud");function Ah(t,n,o,r,a){const l=e.ref(!1),s=e.ref(!1),i=e.ref(!1),c=e.ref(null),u=e.ref(!1),d=e.ref(!1),f=e.ref({}),g=e.ref(null),k=e.ref({}),b=e.ref(new Set),y=x=>{if(t.value){g.value=x;try{f.value=JSON.parse(JSON.stringify(x))}catch{const S={};for(const B of Object.getOwnPropertyNames(x))try{S[B]=x[B]}catch{}for(const B of Object.keys(x))if(!(B in S))try{S[B]=x[B]}catch{}f.value=S}for(const S of Object.keys(f.value))Ct(t.value,S)&&(f.value[S]=Ef(x[S]));b.value=new Set,l.value=!0,N()}},v=()=>{t.value&&(f.value={},b.value=new Set,s.value=!0,N())},h=async()=>{if(t.value)try{const x=t.value.modelClass,S=g.value?await x.find(g.value.id):null;if(S){const B={},D={};for(const[V,P]of Object.entries(f.value))Ct(t.value,V)?D[V]=P||[]:B[V]=P;Object.assign(S,B);for(const[V,P]of Object.entries(D)){const R=S[V];if(R&&typeof R.clear=="function"){R.clear();for(const Q of P)R.add(Q)}}await S.save()}l.value=!1,s.value=!1}catch(x){mt.error("Error saving record:",x),te("Failed to save record: "+fe(x))}},m=async()=>{if(!t.value)return null;d.value=!0;try{const x={},S={};for(const[P,R]of Object.entries(f.value))Ct(t.value,P)?S[P]=R||[]:x[P]=R;const B=t.value.modelClass,D=new B(x);for(const[P,R]of Object.entries(S)){const Q=D[P];if(Q&&typeof Q.add=="function")for(const X of R)Q.add(X)}await D.save({targetDocument:n.value??void 0});const V=D.id??null;return V?(s.value=!1,f.value={},V):(te("Failed to create record: no ID was returned after save"),null)}catch(x){return mt.error("Error creating record:",x),te("Failed to create record: "+fe(x)),null}finally{d.value=!1}},C=async()=>{if(!(!c.value||!t.value)){u.value=!0;try{const S=await t.value.modelClass.find(c.value);S&&(await S.delete(),c.value=null)}catch(x){mt.error("Error deleting record:",x),te("Failed to delete record: "+fe(x))}finally{u.value=!1}}},p=async x=>{if(!t.value||x.size===0)return{success:!1};const S=Array.from(x);try{const B=t.value.modelClass;for(let D=0;D<S.length;D++){const V=S[D],P=await B.find(V);P&&await P.delete(),D%5===4&&await new Promise(R=>setTimeout(R,0))}return mt.debug(`Deleted ${S.length} records from ${t.value.tableName}`),i.value=!1,{success:!0}}catch(B){return mt.error("Error deleting records:",B),te("Failed to delete records: "+fe(B)),{success:!1}}},w=(x,S)=>{f.value={...f.value,[x]:S}},E=(x,S)=>{if(S)b.value=new Set([...b.value,x]),w(x,"");else{const B=new Set(b.value);B.delete(x),b.value=B}},N=async()=>{if(!t.value?.relationships)return;const x=n.value,S={};for(const B of Object.values(t.value.relationships)){if(B.type!=="refersTo"||!B.model||S[B.model])continue;const D=a.value.find(V=>V.tableName===B.model);if(D)try{const P=await D.modelClass.query({},{documents:x,limit:500});S[B.model]=P.data||[]}catch(V){mt.error(`Error loading related model data for ${B.model}:`,V),S[B.model]=[],te(`Failed to load related ${B.model} data: `+fe(V))}}k.value=S};return{editDialogOpen:l,createDialogOpen:s,bulkDeleteDialogOpen:i,deleteRecordId:c,isDeleting:u,isCreating:d,editFormData:f,selectedRecord:g,relatedModelData:k,customIdFields:b,openEditDialog:y,openCreateDialog:v,handleSaveRecord:h,handleCreateRecord:m,handleDeleteRecord:C,handleBulkDeleteRecords:p,updateFormField:w,handleToggleCustomId:E,loadRelatedModelData:N}}const Ht=Fa.defineStore("documentExplorer",()=>{const t=Ee.forScope("documentExplorerStore"),n=y=>{try{return typeof window<"u"?localStorage.getItem(y):null}catch{return null}},o=(y,v)=>{try{typeof window<"u"&&(v!==null?localStorage.setItem(y,v):localStorage.removeItem(y))}catch{}},r=e.ref(n($n)==="true");e.watch(r,y=>{o($n,String(y))});const a=e.ref(n(Tn)),l=e.ref(n(Pn)),s=e.ref(null),i=e.ref(!1);e.watch(a,y=>{o(Tn,y)},{immediate:!1}),e.watch(l,y=>{o(Pn,y)},{immediate:!1});const c=e.computed(()=>a.value?{documentId:a.value}:null),u=async y=>{const v=t.forScope("openDocument");if(a.value===y&&i.value){v.debug("Document already open",{documentId:y});return}try{v.debug("Opening document",{documentId:y}),i.value=!1;const h=await re.getClientAsync();if(a.value&&a.value!==y)try{await h.documents.close(a.value),v.debug("Closed previous document",{documentId:a.value})}catch(m){v.warn("Error closing previous document",m)}await h.documents.open(y),v.debug("Document opened via js-bao client",{documentId:y}),await h.setDefaultDocumentId(y),await new Promise(m=>setTimeout(m,50)),a.value=y,i.value=!0,v.debug("Document opened successfully",{documentId:y})}catch(h){throw v.error("Failed to open document",{documentId:y,error:h}),h}};return{showHiddenFields:r,currentDocumentId:a,currentModelName:l,currentDocumentTitle:s,currentDocumentMetadata:c,isDocumentReady:i,openDocument:u,switchDocument:async y=>{await u(y)},setCurrentDocumentId:y=>{a.value=y,y||(i.value=!1,s.value=null)},setCurrentModelName:y=>{l.value=y},setCurrentDocumentTitle:y=>{s.value=y},reset:()=>{r.value=!1,a.value=null,l.value=null,s.value=null,i.value=!1,o(Tn,null),o(Pn,null),o($n,null)}}}),Th={class:"h-full flex flex-col min-w-0"},Ph={key:0,class:"flex-1 flex items-center justify-center"},$h={class:"text-center py-12 px-8"},Oh={class:"text-muted-foreground"},Rh={class:"flex-1 flex flex-col min-h-0"},qh={class:"space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1"},Fh={class:"space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1"},Lh={key:0,class:"w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin mr-1"},jh={class:"flex-1 flex flex-col min-h-0 gap-4"},Hh={class:"flex items-center gap-2"},za=e.defineComponent({__name:"DocumentExplorerModel",props:{modelName:{},documentPermission:{}},emits:["back","switchModel"],setup(t,{emit:n}){const o=Ee.forScope("DocumentExplorerModel"),r=t,a=e.computed(()=>r.documentPermission!=="reader"),l=n,s=e.computed(()=>r.modelName),i=Ht(),c=e.computed(()=>i.currentDocumentId),u=e.computed(()=>Ca()),d=e.computed(()=>u.value.find(j=>j.tableName===s.value)),f=e.ref({}),g=async()=>{if(!c.value)return;const j={};for(const $ of u.value)try{const ce=$.modelClass;j[$.tableName]=await ce.count({},{documents:c.value})}catch(ce){o.debug(`Could not load count for ${$.tableName}:`,ce),j[$.tableName]=0}f.value=j},k=e.computed({get:()=>i.showHiddenFields,set:j=>{i.showHiddenFields=j}}),b=e.ref([]),y=e.ref(null),{records:v,initialDataLoaded:h,paginationState:m,pageSize:C,totalPages:p,loadModelData:w,loadInitialData:E,goToPage:N,goToPageContainingRecord:x,handlePageSizeChange:S,reloadModelData:B}=Ih(d,c,b,y),D=e.computed(()=>d.value?{[d.value.tableName]:v.value}:{}),{editDialogOpen:V,createDialogOpen:P,bulkDeleteDialogOpen:R,deleteRecordId:Q,isDeleting:X,isCreating:J,editFormData:O,relatedModelData:ie,customIdFields:L,openEditDialog:T,openCreateDialog:U,handleSaveRecord:Y,handleCreateRecord:_,handleDeleteRecord:q,handleBulkDeleteRecords:I,updateFormField:M,handleToggleCustomId:G}=Ah(d,c,k,D,u),F=e.ref(new Set),Z=j=>{const $=new Set(F.value);$.has(j)?$.delete(j):$.add(j),F.value=$},ue=()=>{F.value=F.value.size===v.value.length?new Set:new Set(v.value.map(j=>j.id))},me=()=>{F.value=new Set},Ve=e.ref(null);let Ne=null;const Wt=j=>{Ne&&clearTimeout(Ne),Ve.value=j,Ne=setTimeout(()=>{Ve.value=null},5200)},Vt=e.ref(!1),it=e.ref(""),Ut=e.ref(null),ut=e.ref(!1),yn=e.computed(()=>{const j=Ut.value;if(j==null)return"";if(typeof j=="object")return un(j,ut.value?2:void 0);const $=String(j);if(ut.value)try{if($.startsWith("{")||$.startsWith("["))return JSON.stringify(JSON.parse($),null,2)}catch{}return $}),_t=j=>{const $=String(j);Ut.value=$,O.value&&it.value&&(O.value[it.value]=$)},bn=()=>{if(!d.value)return;const j={page:m.value.currentPage,filters:b.value.map($=>({id:$.id,field:$.field,mode:$.mode,value:$.value})),sorts:y.value?{field:y.value.field,direction:y.value.direction}:null};Vf(d.value.tableName,j)},wn=async j=>{const $=j.value.trim();if(b.value.some(Cn=>Cn.field===j.field&&Cn.mode===j.mode&&Cn.value.trim()===$)){vm("This filter is already applied.");return}b.value.push({id:wf(),...j}),await B()},A=async j=>{b.value=b.value.filter($=>$.id!==j),await B()},z=async j=>{const $=b.value.findIndex(ce=>ce.id===j.id);$!==-1&&(b.value[$]=j),await B()},K=async()=>{b.value=[],await B()},oe=async j=>{if(!d.value||!Da(d.value,j))return;const $=y.value;$&&$.field===j?$.direction===1?y.value={field:j,direction:-1}:y.value=null:y.value={field:j,direction:1},await B()},se=e.ref(!1),we=async()=>{se.value=!0,await e.nextTick(),await new Promise($=>requestAnimationFrame($)),(await I(F.value)).success&&me(),se.value=!1},ve=async()=>{kn=!0;try{const j=await _();j&&(await x(j),Wt(j))}finally{kn=!1}},ye=e.ref(null);let ct=null;const xn=async j=>{try{await navigator.clipboard.writeText(j)}catch{const $=document.createElement("textarea");$.value=j,document.body.appendChild($),$.select(),document.execCommand("copy"),document.body.removeChild($)}ye.value=j,ct&&clearTimeout(ct),ct=setTimeout(()=>{ye.value=null},1500)},Ao=e.computed(()=>d.value?zo(d.value,D.value,k.value):[]);e.watch(()=>d.value,()=>{if(d.value){const j=Df(d.value.tableName);b.value=j?.filters?j.filters:[],y.value=j?.sorts?j.sorts:null,E(j?.page??1),g()}},{immediate:!0}),e.watch(()=>m.value.totalCount,j=>{d.value&&(f.value={...f.value,[d.value.tableName]:j})}),e.watch([b,y,()=>m.value.currentPage],()=>bn(),{deep:!0}),e.watch(()=>i.isDocumentReady,j=>{j&&d.value&&E()});let et=null,kn=!1;function To(){if(et){try{et()}catch{}et=null}if(!d.value)return;const j=d.value.modelClass;j&&typeof j.subscribe=="function"&&(et=j.subscribe(()=>{if(!kn&&d.value){const $=m.value.currentPage>1?m.value.pageCursors.get(m.value.currentPage)??null:null;w(d.value,m.value.currentPage,$).then(ce=>{v.value=ce.data,ce.data.length===0&&m.value.currentPage>1&&N(m.value.currentPage-1)})}}),o.debug("Subscribed to model changes:",d.value.name))}return e.onMounted(()=>To()),e.watch(()=>i.currentDocumentId,()=>{i.isDocumentReady&&To()}),e.onUnmounted(()=>{if(et){try{et()}catch{}et=null}}),(j,$)=>(e.openBlock(),e.createElementBlock("div",Th,[e.createVNode(ug,{"current-model":d.value,"model-name":s.value,models:u.value,"model-counts":f.value,"can-write":a.value,"selected-count":F.value.size,onSwitchModel:$[0]||($[0]=ce=>l("switchModel",ce)),onOpenCreate:e.unref(U),onClearSelection:me,onOpenBulkDelete:$[1]||($[1]=ce=>R.value=!0)},null,8,["current-model","model-name","models","model-counts","can-write","selected-count","onOpenCreate"]),d.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Mv,{"model-info":d.value,filters:b.value,"loaded-data":D.value,"show-hidden-fields":k.value,onAddFilter:wn,onRemoveFilter:A,onUpdateFilter:z,onClearAll:K},null,8,["model-info","filters","loaded-data","show-hidden-fields"]),e.createVNode(_o,{"is-ready":e.unref(h),class:"flex-1 flex flex-col min-h-0"},{loading:e.withCtx(()=>[...$[14]||($[14]=[e.createElementVNode("div",{class:"flex-1 flex items-center justify-center p-6"},[e.createElementVNode("div",{class:"w-full max-w-lg animate-pulse space-y-4"},[e.createElementVNode("div",{class:"h-8 bg-muted rounded w-full"}),e.createElementVNode("div",{class:"h-8 bg-muted rounded w-full"}),e.createElementVNode("div",{class:"h-8 bg-muted rounded w-full"})])],-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",Rh,[e.createVNode(zh,{records:e.unref(v),"model-info":d.value,"can-write":a.value,"show-hidden-fields":k.value,"loaded-data":D.value,sorting:y.value,"selected-record-ids":F.value,"highlighted-record-id":Ve.value,onEditRecord:e.unref(T),onDeleteRecord:$[3]||($[3]=ce=>Q.value=ce),onToggleColumnSort:oe,onToggleRecordSelection:Z,onToggleSelectAll:ue},null,8,["records","model-info","can-write","show-hidden-fields","loaded-data","sorting","selected-record-ids","highlighted-record-id","onEditRecord"]),e.createVNode(Ng,{"current-page":e.unref(m).currentPage,"total-count":e.unref(m).totalCount,"page-size":e.unref(C),"total-pages":e.unref(p),onGoToPage:e.unref(N),onChangePageSize:e.unref(S)},null,8,["current-page","total-count","page-size","total-pages","onGoToPage","onChangePageSize"])])]),_:1},8,["is-ready"])],64)):(e.openBlock(),e.createElementBlock("div",Ph,[e.createElementVNode("div",$h,[e.createElementVNode("p",Oh,'Model "'+e.toDisplayString(s.value)+'" not found',1),e.createVNode(e.unref(pe),{class:"mt-4",onClick:$[2]||($[2]=ce=>l("back"))},{default:e.withCtx(()=>[...$[13]||($[13]=[e.createTextVNode("Go Back",-1)])]),_:1})])])),e.createVNode(e.unref(yt),{open:e.unref(V),"onUpdate:open":$[5]||($[5]=ce=>e.isRef(V)?V.value=ce:null)},{default:e.withCtx(()=>[e.createVNode(e.unref(bt),{class:"sm:max-w-md max-h-[80vh] flex flex-col"},{default:e.withCtx(()=>[e.createVNode(e.unref(xt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(kt),{class:"text-sm font-semibold"},{default:e.withCtx(()=>[...$[15]||($[15]=[e.createTextVNode("Edit Record",-1)])]),_:1})]),_:1}),e.createElementVNode("div",qh,[d.value?(e.openBlock(),e.createBlock(br,{key:0,"model-info":d.value,"form-data":e.unref(O),fields:Ao.value,"related-model-data":e.unref(ie),"custom-id-fields":e.unref(L),"copied-id":ye.value,"id-prefix":"edit",onUpdateField:e.unref(M),onCopyId:xn,onToggleCustomId:e.unref(G)},null,8,["model-info","form-data","fields","related-model-data","custom-id-fields","copied-id","onUpdateField","onToggleCustomId"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(wt),{class:"border-t border-border pt-3 mt-3"},{default:e.withCtx(()=>[e.createVNode(e.unref(pe),{variant:"outline",size:"sm",onClick:$[4]||($[4]=ce=>V.value=!1)},{default:e.withCtx(()=>[...$[16]||($[16]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(e.unref(pe),{size:"sm",onClick:e.unref(Y)},{default:e.withCtx(()=>[...$[17]||($[17]=[e.createTextVNode("Save Changes",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["open"]),e.createVNode(e.unref(yt),{open:e.unref(P),"onUpdate:open":$[7]||($[7]=ce=>e.isRef(P)?P.value=ce:null)},{default:e.withCtx(()=>[e.createVNode(e.unref(bt),{class:"sm:max-w-md max-h-[80vh] flex flex-col"},{default:e.withCtx(()=>[e.createVNode(e.unref(xt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(kt),{class:"text-sm font-semibold"},{default:e.withCtx(()=>[e.createTextVNode(" New "+e.toDisplayString(d.value?.name||s.value),1)]),_:1})]),_:1}),e.createElementVNode("div",Fh,[d.value?(e.openBlock(),e.createBlock(br,{key:0,"model-info":d.value,"form-data":e.unref(O),fields:Ao.value,"exclude-id":!0,"related-model-data":e.unref(ie),"custom-id-fields":e.unref(L),"id-prefix":"create",onUpdateField:e.unref(M),onToggleCustomId:e.unref(G)},null,8,["model-info","form-data","fields","related-model-data","custom-id-fields","onUpdateField","onToggleCustomId"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(wt),{class:"border-t border-border pt-3 mt-3"},{default:e.withCtx(()=>[e.createVNode(e.unref(pe),{variant:"outline",size:"sm",disabled:e.unref(J),onClick:$[6]||($[6]=ce=>P.value=!1)},{default:e.withCtx(()=>[...$[18]||($[18]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(e.unref(pe),{size:"sm",disabled:e.unref(J),onClick:ve},{default:e.withCtx(()=>[e.unref(J)?(e.openBlock(),e.createElementBlock("span",Lh)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(e.unref(J)?"Creating...":"Create"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"]),e.createVNode(Pe,{"is-open":!!e.unref(Q),title:"Delete Record",question:"Are you sure you want to delete this record?",warning:"This action cannot be undone.","is-deleting":e.unref(X),onCancel:$[8]||($[8]=ce=>Q.value=null),onConfirm:e.unref(q)},null,8,["is-open","is-deleting","onConfirm"]),e.createVNode(Pe,{"is-open":e.unref(R),title:"Delete Records",question:`Delete ${F.value.size} record${F.value.size!==1?"s":""}? This action cannot be undone.`,warning:void 0,"confirm-label":"Delete","is-deleting":se.value,onCancel:$[9]||($[9]=ce=>R.value=!1),onConfirm:we},null,8,["is-open","question","is-deleting"]),e.createVNode(e.unref(yt),{open:Vt.value,"onUpdate:open":$[12]||($[12]=ce=>Vt.value=ce)},{default:e.withCtx(()=>[e.createVNode(e.unref(bt),{class:"max-w-4xl max-h-[90vh] flex flex-col"},{default:e.withCtx(()=>[e.createVNode(e.unref(xt),{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(e.unref(kt),{class:"flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(Za),{class:"h-5 w-5"}),e.createTextVNode(" "+e.toDisplayString(it.value),1)]),_:1})]),_:1}),e.createElementVNode("div",jh,[e.createElementVNode("div",Hh,[e.createVNode(e.unref(fv),{id:"pretty-print",checked:ut.value,"onUpdate:checked":$[10]||($[10]=ce=>ut.value=ce)},null,8,["checked"]),e.createVNode(e.unref(io),{for:"pretty-print",class:"text-sm"},{default:e.withCtx(()=>[...$[19]||($[19]=[e.createTextVNode("Pretty Print JSON",-1)])]),_:1})]),e.createVNode(e.unref(uo),{"model-value":yn.value,class:"flex-1 font-mono text-sm min-h-[300px]","onUpdate:modelValue":_t},null,8,["model-value"])]),e.createVNode(e.unref(wt),{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(e.unref(pe),{variant:"outline",onClick:$[11]||($[11]=ce=>Vt.value=!1)},{default:e.withCtx(()=>[...$[20]||($[20]=[e.createTextVNode(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])]))}}),Wh={class:"h-full flex flex-col"},Uh={class:"flex-1 flex overflow-hidden min-w-0"},Gh={class:"flex-1 flex flex-col min-w-0 bg-background"},Kh={key:0,class:"flex-1 flex items-center justify-center"},Yh={key:1,class:"flex-1 flex items-center justify-center"},Qh={key:2,class:"flex-1 flex items-center justify-center"},Xh={key:0,class:"flex-1 flex items-center justify-center"},Zh={class:"hidden lg:contents"},Ia=e.defineComponent({__name:"DocumentExplorerIndex",setup(t){const n=Ee.forScope("DocumentExplorer"),o=Ht(),r=e.ref([]),a=e.ref(!1),l=e.ref(null),s=e.ref(new Set);async function i(){try{const A=await re.getClientAsync();l.value=await A.getRootDocId(),await A.syncMetadata({scope:"all",includeRoot:!0,pageSize:500});const z=await A.documents.list({refreshFromServer:!0,includeRoot:!0});r.value=z,a.value=!0,n.debug("Documents loaded from cache after sync",{count:z.length,rootDocId:l.value})}catch(A){n.error("Failed to load documents from client",A),te("Failed to load documents: "+fe(A))}}const c=e.ref([]);async function u(){try{const K=[...await(await re.getClientAsync()).me.pendingDocumentInvitations()];c.value=K,w.value&&!K.some(oe=>oe.documentId===w.value.documentId)&&(w.value=null),n.debug("Pending invitations loaded",{count:K.length})}catch(A){n.error("Failed to load pending invitations",A),c.value=[],w.value&&(w.value=null),te("Failed to load pending invitations: "+fe(A))}}let d=null,f=null,g=!1;e.onMounted(async()=>{const A=i();u();try{const z=await re.getClientAsync(),K=se=>{n.debug("Invitation event received",{action:se.action,documentId:se.documentId}),u(),se.action==="accepted"&&(i(),w.value?.documentId===se.documentId&&(w.value=null),Z(se.documentId),P.value?.showDocsSection())};z.on("invitation",K),d=()=>z.off("invitation",K);const oe=()=>{if(g){n.debug("Document metadata changed (suppressed – bulk operation in progress)");return}n.debug("Document metadata changed, refreshing documents"),i(),u()};z.on("documentMetadataChanged",oe),f=()=>z.off("documentMetadataChanged",oe)}catch(z){n.debug("Could not subscribe to real-time events",z)}if(await A,o.currentDocumentId&&!r.value.some(z=>z.documentId===o.currentDocumentId)&&(n.debug("Persisted document no longer exists, clearing selection:",o.currentDocumentId),o.setCurrentDocumentId(null)),o.currentDocumentId&&!o.isDocumentReady){n.debug("Restoring previously selected document:",o.currentDocumentId);try{await o.openDocument(o.currentDocumentId);const z=r.value.find(K=>K.documentId===o.currentDocumentId);o.setCurrentDocumentTitle(z?.title||"Untitled")}catch(z){n.error("Failed to restore document:",z),o.setCurrentDocumentId(null)}}o.isDocumentReady&&M()}),e.onUnmounted(()=>{d&&(d(),d=null),f&&(f(),f=null)});const k=e.computed(()=>Ca()),b=e.computed(()=>{const A={};for(const z of k.value)A[z.tableName]={query:{}};return A}),y=e.computed({get:()=>o.currentDocumentId,set:A=>o.setCurrentDocumentId(A)}),v=e.ref(null),h=e.computed(()=>v.value??o.currentDocumentId),m=e.computed({get:()=>o.currentModelName,set:A=>o.setCurrentModelName(A)}),C=e.ref(null),p=e.ref(!1),w=e.ref(null),E=e.ref(!1),N=e.ref(!1),x=e.ref(!1),S=e.ref([]),B=e.ref([]),D=e.ref([]),V=e.ref(""),P=e.ref(null),R=e.ref({});function Q(){return{currentPage:1,totalCount:0,pageSize:Ma(),nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}}function X(A){return R.value[A]||(R.value[A]=Q()),R.value[A]??Q()}const{optimisticFieldUpdate:J}=yr(r,"documentId"),{optimisticRemove:O,optimisticBulkRemove:ie}=yr(c,"documentId");async function L(A){try{const z=o.currentDocumentId;return await A.modelClass.count({},{documents:z})}catch(z){return n.error(`Error loading count for ${A.name}:`,z),0}}const{initialDataLoaded:T}=ds({subscribeTo:k.value.map(A=>A.modelClass),queryParams:b,documentReady:e.computed(()=>o.isDocumentReady),loadData:async()=>{const A={};for(const K of k.value){const oe=await L(K),se=X(K.tableName);se.totalCount=oe,A[K.tableName]=[]}const z=Object.values(R.value).reduce((K,oe)=>K+(oe?.totalCount??0),0);return n.debug("Loaded model counts:",{models:k.value.length,totalRecords:z}),M(),A},onError:A=>{n.error("Error loading data:",A),te("Failed to load model data: "+fe(A))}}),U=e.computed(()=>{const A=s.value;return[...r.value||[]].filter(z=>z&&!A.has(z.documentId)).map(z=>({...z,isRoot:z.documentId===l.value})).sort((z,K)=>z.isRoot&&!K.isRoot?-1:!z.isRoot&&K.isRoot?1:(z.title||"").localeCompare(K.title||""))}),Y=e.computed(()=>U.value.find(A=>A.documentId===y.value)),_=e.computed(()=>{const A={};for(const z of k.value)A[z.tableName]=X(z.tableName).totalCount;return A}),q=e.computed(()=>U.value.find(A=>A.documentId===C.value)?.title);function I(){return k.value.length===0?"":Y.value?.isRoot&&k.value.some(A=>A.tableName==="user_prefs")?"user_prefs":k.value[0]?.tableName??""}function M(){k.value.length!==0&&(m.value&&!k.value.some(A=>A.tableName===m.value)&&(m.value=null),m.value||(m.value=I()))}function G(A){m.value=A}function F(){m.value=k.value.length>0?I():null}async function Z(A){if(w.value=null,A===h.value&&o.isDocumentReady)return;n.debug("Switching to document:",A),v.value=A,m.value=null;const z=r.value.find(K=>K.documentId===A);o.setCurrentDocumentTitle(z?.title||"Untitled");try{await o.switchDocument(A),M()}finally{v.value=null}}function ue(A){w.value=A}async function me(A){try{const z=await re.getClientAsync(),{metadata:K}=await z.documents.create({title:A});n.debug("Created new document:",K),await i(),await o.switchDocument(K.documentId)}catch(z){throw n.error("Failed to create document:",z),z}}async function Ve(A){N.value=!0;try{await me(A),E.value=!1}catch(z){te("Failed to create document: "+fe(z))}finally{N.value=!1}}async function Ne(A,z){A===o.currentDocumentId&&o.setCurrentDocumentTitle(z);const{success:K}=await J(A,"title",z,async()=>{await(await re.getClientAsync()).documents.update(A,{title:z}),n.debug("Renamed document:",A,"to",z)});if(!K){const oe=r.value.find(se=>se.documentId===A);A===o.currentDocumentId&&o.setCurrentDocumentTitle(oe?.title||"Untitled"),te("Failed to rename document")}}async function Wt(A){p.value=!0,y.value===A&&o.setCurrentDocumentId(null),p.value=!1,C.value=null,s.value=new Set([...s.value,A]);try{await(await re.getClientAsync()).documents.delete(A,{forceCloseIfOpen:!0}),await i()}catch{te("Failed to delete document")}finally{const z=new Set(s.value);z.delete(A),s.value=z}}async function Vt(A){y.value&&A.includes(y.value)&&o.setCurrentDocumentId(null),s.value=new Set([...s.value,...A]),g=!0;try{const z=await re.getClientAsync(),K=[];for(const oe of A)try{await z.documents.delete(oe,{forceCloseIfOpen:!0})}catch(se){n.error(`Failed to delete document ${oe}:`,se),K.push(oe)}await i(),K.length>0&&te(`Failed to delete ${K.length} document(s). They have been restored.`)}finally{const z=new Set(s.value);for(const K of A)z.delete(K);s.value=z,g=!1}}async function it(A){try{if(!(await(await re.getClientAsync()).me.get())?.userId){te("Could not determine current user.");return}const oe=[],se=[];for(const ve of A){const ye=U.value.find(xn=>xn.documentId===ve);if(!ye||ye.isRoot)continue;!ye.permission||ye.permission==="owner"||ye.permission==="admin"?se.push(ve):oe.push(ve)}if(oe.length===0&&se.length===0)return;const we=[];se.length>0&&we.push(`delete ${se.length}`),oe.length>0&&we.push(`leave ${oe.length}`),S.value=A,B.value=oe,D.value=se,V.value=`This will ${we.join(" and ")} document(s). Continue?`,x.value=!0}catch(z){n.error("Failed to process bulk leave:",z),te("Failed to leave documents: "+fe(z))}}async function Ut(){x.value=!1;const A=B.value,z=D.value;S.value=[],B.value=[],D.value=[],V.value="";try{const K=await re.getClientAsync(),oe=await K.me.get();if(!oe?.userId){te("Could not determine current user.");return}const se=[...A,...z];y.value&&se.includes(y.value)&&o.setCurrentDocumentId(null),s.value=new Set([...s.value,...se]),g=!0;try{const we=[];for(const ve of A)try{await K.documents.removePermission(ve,oe.userId)}catch(ye){n.error(`Failed to leave document ${ve}:`,ye),we.push(ve)}for(const ve of z)try{await K.documents.delete(ve,{forceCloseIfOpen:!0})}catch(ye){n.error(`Failed to delete document ${ve}:`,ye),we.push(ve)}await i(),we.length>0&&te(`Failed to process ${we.length} document(s). They have been restored.`)}finally{const we=new Set(s.value);for(const ve of se)we.delete(ve);s.value=we,g=!1}}catch(K){n.error("Failed to process bulk leave:",K),te("Failed to leave documents: "+fe(K))}}async function ut(A){try{await(await re.getClientAsync()).documents.acceptInvitation(A),n.debug("Accepted invitation for document:",A)}catch(z){n.error("Failed to accept invitation:",z),te("Failed to accept invitation: "+fe(z))}}async function yn(A){const z=c.value.find(oe=>oe.documentId===A);w.value?.documentId===A&&(w.value=null);const{success:K}=await O(A,async()=>{const oe=await re.getClientAsync();z&&await oe.documents.declineInvitation(A,z.invitationId),n.debug("Declined invitation for document:",A),u()});K||te("Failed to decline invitation")}const _t=e.ref(!1);async function bn(A){_t.value=!0;try{const z=await re.getClientAsync(),K=[];await Promise.all(A.map(async oe=>{try{await z.documents.acceptInvitation(oe)}catch(se){n.error("Failed to accept invitation:",se),K.push(oe)}})),await Promise.all([i(),u()]),K.length>0&&te(`Failed to accept ${K.length} invitation(s).`)}finally{_t.value=!1}}async function wn(A){const z=[...c.value];w.value&&A.includes(w.value.documentId)&&(w.value=null);const{failedIds:K}=await ie(A,async oe=>{const se=await re.getClientAsync(),we=[];return await Promise.all(oe.map(async ve=>{try{const ye=z.find(ct=>ct.documentId===ve);ye&&await se.documents.declineInvitation(ve,ye.invitationId)}catch(ye){n.error("Failed to decline invitation:",ye),we.push(ve)}})),await u(),we});K.length>0&&te(`Failed to decline ${K.length} invitation(s).`)}return(A,z)=>(e.openBlock(),e.createElementBlock("div",Wh,[e.createVNode(e.unref(os),{position:"bottom-right",expand:!1,"rich-colors":""}),e.createElementVNode("div",Uh,[e.createVNode(pm,{ref_key:"documentListPanelRef",ref:P,documents:U.value,"selected-doc-id":w.value?null:h.value,"selected-invitation-id":w.value?.documentId??null,"document-list-loaded":a.value,"pending-invitations":c.value,"is-accepting-invitations":_t.value,onSelectDocument:Z,onSelectInvitation:ue,onCreateDocument:z[0]||(z[0]=K=>E.value=!0),onBulkDelete:Vt,onBulkLeave:it,onBulkDeleteMixed:it,onAcceptInvitations:bn,onDeclineInvitations:wn},null,8,["documents","selected-doc-id","selected-invitation-id","document-list-loaded","pending-invitations","is-accepting-invitations"]),e.createElementVNode("div",Gh,[w.value?(e.openBlock(),e.createElementBlock("div",Kh,[...z[7]||(z[7]=[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("svg",{class:"w-12 h-12 mx-auto text-amber-500/30 mb-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})]),e.createElementVNode("p",{class:"text-xs text-muted-foreground"}," Accept this invitation to explore the document ")],-1)])])):a.value?Y.value?(e.openBlock(),e.createBlock(_o,{key:3,"is-ready":e.unref(T)},{loading:e.withCtx(()=>[...z[10]||(z[10]=[e.createElementVNode("div",{class:"flex-1 flex items-center justify-center"},[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("div",{class:"w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2"}),e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Loading data...")])],-1)])]),default:e.withCtx(()=>[k.value.length===0?(e.openBlock(),e.createElementBlock("div",Xh,[...z[11]||(z[11]=[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("svg",{class:"w-12 h-12 mx-auto text-muted-foreground/30 mb-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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"})]),e.createElementVNode("p",{class:"text-xs text-muted-foreground"}," Add models to get started ")],-1)])])):m.value?(e.openBlock(),e.createBlock(za,{key:m.value,"model-name":m.value,"document-permission":Y.value?.permission,onBack:F,onSwitchModel:G},null,8,["model-name","document-permission"])):e.createCommentVNode("",!0)]),_:1},8,["is-ready"])):(e.openBlock(),e.createElementBlock("div",Qh,[...z[9]||(z[9]=[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("svg",{class:"w-12 h-12 mx-auto text-muted-foreground/30 mb-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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"})]),e.createElementVNode("p",{class:"text-xs text-muted-foreground"}," Select a document to explore ")],-1)])])):(e.openBlock(),e.createElementBlock("div",Yh,[...z[8]||(z[8]=[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("div",{class:"w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2"}),e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Loading documents...")],-1)])]))]),e.createElementVNode("div",Zh,[w.value?(e.openBlock(),e.createBlock(ov,{key:0,invitation:w.value,onAcceptInvitation:ut,onDeclineInvitation:yn},null,8,["invitation"])):Y.value?(e.openBlock(),e.createBlock(Pp,{key:1,document:Y.value,models:k.value,"record-counts":_.value,onNavigateToModel:G,onRenameDocument:Ne,onDeleteDocument:z[1]||(z[1]=K=>C.value=K),onDocumentsChanged:i},null,8,["document","models","record-counts"])):e.createCommentVNode("",!0)])]),e.createVNode(dv,{open:E.value,"is-creating":N.value,"onUpdate:open":z[2]||(z[2]=K=>E.value=K),onCreate:Ve},null,8,["open","is-creating"]),e.createVNode(Pe,{"is-open":!!C.value,title:"Delete Document",question:`Are you sure you want to delete "${q.value}"?`,warning:"This action cannot be undone.","is-deleting":p.value,onCancel:z[3]||(z[3]=K=>C.value=null),onConfirm:z[4]||(z[4]=K=>C.value&&Wt(C.value))},null,8,["is-open","question","is-deleting"]),e.createVNode(Pe,{"is-open":x.value,title:"Leave / Delete Documents",question:V.value,warning:"","confirm-label":"Continue","confirming-label":"Processing...","is-deleting":!1,onConfirm:Ut,onCancel:z[5]||(z[5]=K=>{x.value=!1,S.value=[],B.value=[],D.value=[],V.value=""}),"onUpdate:isOpen":z[6]||(z[6]=K=>{K||(x.value=!1,S.value=[],B.value=[],D.value=[],V.value="")})},null,8,["is-open","question"])]))}}),he=Ee.forScope("TestHarness"),Io="===TEST===";let nt=[];async function Aa(){await qt();const t=await re.getClientAsync(),n=t.documents.listOpen();if(n.length===0)return nt=[],he.debug("No host app documents to close before test run"),0;he.debug("Closing host app documents before test run",{count:n.length});for(const o of n)try{await t.documents.close(o)}catch(r){he.warn("Failed to close host app document",{docId:o,err:r})}return nt=n,n.length}async function Ta(){const t=await re.getClientAsync();if(nt.length>0){he.debug("Restoring host app documents after test run",{count:nt.length,docIds:nt});for(const n of nt)try{await t.documents.open(n,{waitForLoad:"local"})}catch(o){he.warn("Failed to restore host app document",{docId:n,err:o})}nt=[]}else he.debug("No host app documents to restore after test run")}async function Jh(){const t=await re.getClientAsync(),n=t.documents.listOpen();if(n.length>0)throw new Error(`[TestHarness] Expected no open documents at test start, but found ${n.length}: ${n.join(", ")}. This indicates the previous test did not properly clean up its document.`);const o=Date.now(),r=Math.random().toString(36).substring(2,11),a=`${o}-${r}`,{metadata:l}=await t.documents.create({title:`${Io} ${a}`,localOnly:!0}),s=l.documentId,{doc:i}=await t.documents.open(s,{waitForLoad:"local",enableNetworkSync:!1});if(!i)throw new Error("[TestHarness] Failed to open test document");return t.setDefaultDocumentId(s),he.debug("Created test document",{docId:s}),{client:t,docId:s,yDoc:i}}async function ey(t){try{await t.client.documents.delete(t.docId,{forceCloseIfOpen:!0})}catch(n){he.error("Delete failed for test document",{docId:t.docId,err:n})}}async function qt(){try{const t=await re.getClientAsync();he.debug("[deleteAllTestDocuments] Starting cleanup..."),he.debug("[deleteAllTestDocuments] Syncing metadata..."),await t.syncMetadata({scope:"all"}),he.debug("[deleteAllTestDocuments] Metadata synced, listing docs...");const n=await t.documents.list();he.debug("[deleteAllTestDocuments] Total documents from list()",{count:n.length,titles:n.map(a=>a.title??"(no title)")});const o=n.filter(a=>a.title?.startsWith(Io));if(o.length===0)return he.debug("[deleteAllTestDocuments] No test documents found to clean up"),0;he.debug("[deleteAllTestDocuments] Found test documents to delete",{count:o.length,docIds:o.map(a=>a.documentId),titles:o.map(a=>a.title)});let r=0;for(const a of o)try{he.debug("[deleteAllTestDocuments] Deleting test document...",{documentId:a.documentId,title:a.title}),await t.documents.delete(a.documentId,{forceCloseIfOpen:!0}),r++,he.debug("[deleteAllTestDocuments] Deleted successfully",{documentId:a.documentId})}catch(l){he.error("[deleteAllTestDocuments] Failed to delete test document",{documentId:a.documentId,title:a.title,err:l})}return he.debug("[deleteAllTestDocuments] Cleanup complete",{evictedCount:r,totalTestDocs:o.length}),r}catch(t){return he.error("[deleteAllTestDocuments] Top-level error during cleanup",{err:t}),0}}function ty(t){return async n=>{const o=await Jh(),r={docId:o.docId};try{return await t(r,n)}finally{await ey(o)}}}function Pa(t){return t.flatMap(n=>n.tests.map(o=>({id:o.id,name:o.name,group:n.name,run:ty(o.run)})))}const ny={class:"h-full flex overflow-hidden"},oy={class:"w-64 lg:w-72 border-r border-border flex flex-col bg-background"},ry={class:"px-3 py-2 border-b border-border bg-muted/30 relative"},ay={key:0,class:"absolute inset-0 px-3 bg-muted flex items-center justify-between z-10"},ly={class:"flex items-center gap-2"},sy={class:"text-[10px] font-medium"},iy=["disabled"],uy={class:"flex items-center gap-2"},cy=["checked","indeterminate"],dy={class:"flex-1 overflow-y-auto scrollbar-thin"},fy=["onClick"],my=["checked","indeterminate","onClick"],py={class:"ml-2 text-xs font-medium flex-1"},vy={class:"text-[10px] text-muted-foreground"},gy=["onClick"],hy=["checked","onClick"],yy={class:"ml-2 w-4 h-4 flex items-center justify-center"},by={key:0,class:"w-3.5 h-3.5 text-blue-500 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},wy={key:1,class:"w-3.5 h-3.5 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},xy={key:2,class:"w-3.5 h-3.5 text-red-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ky={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"},Cy={class:"ml-1.5 text-xs flex-1 truncate"},By={key:0,class:"px-1 py-0.5 text-[9px] bg-green-100 text-green-700 rounded"},Ey={key:1,class:"px-1 py-0.5 text-[9px] bg-red-100 text-red-700 rounded"},Sy={key:2,class:"px-1 py-0.5 text-[9px] bg-blue-100 text-blue-700 rounded"},Ny={key:0,class:"text-center py-8 text-muted-foreground"},My={class:"px-3 py-2 border-t border-border bg-muted/20 text-[10px] text-muted-foreground"},Dy={class:"flex items-center justify-between"},Vy={key:0},_y={key:0,class:"text-green-600"},zy={key:1},Iy={key:2,class:"text-red-600"},Ay={class:"flex-1 flex flex-col min-w-0 bg-background"},Ty={class:"flex items-center justify-between px-3 py-2 border-b border-border bg-muted/30"},Py={class:"flex items-center gap-1"},$y=["disabled"],Oy=["disabled"],Ry=["disabled"],qy={key:0,class:"text-muted-foreground"},Fy={key:1,class:"space-y-0.5"},Ly=["data-test-id"],jy={key:0,class:"px-3 py-2 border-t border-border bg-muted/20"},Hy={class:"flex items-center justify-between text-[10px] mb-1"},Wy={class:"text-muted-foreground truncate pr-2"},Uy={class:"font-medium flex-shrink-0"},Gy={class:"h-1 bg-muted rounded-full overflow-hidden"},$a=e.defineComponent({__name:"TestRunner",props:{tests:{},onTestsComplete:{type:Function}},setup(t){const n=Ee.forScope("TestRunner"),o=t,r=e.ref({}),a=e.ref([]),l=e.ref(!1),s=e.ref(!1),i=e.ref(!1),c=e.reactive(new Map),u=e.ref(null),d=e.ref(null),f=e.ref(0),g=e.ref(0),k=e.ref("");e.watchEffect(()=>{const L={};o.tests.forEach(T=>{L[T.id]=!0}),r.value=L});const b=e.computed(()=>{const L=new Map;return o.tests.forEach(T=>{L.has(T.group)||L.set(T.group,[]),L.get(T.group).push(T)}),Array.from(L.entries())}),y=e.computed(()=>Object.values(r.value).filter(Boolean).length),v=e.computed(()=>o.tests.length),h=e.computed(()=>{const L=Array.from(c.values()).filter(U=>U.status==="passed"||U.status==="scored").length,T=Array.from(c.values()).filter(U=>U.status==="failed").length;return{passed:L,failed:T}}),m=L=>c.get(L)?.status??"pending",C=L=>L.every(T=>r.value[T.id]),p=L=>{const T=L.some(Y=>r.value[Y.id]),U=L.every(Y=>r.value[Y.id]);return T&&!U},w=L=>L.filter(T=>r.value[T.id]).length,E=e.computed(()=>o.tests.every(L=>r.value[L.id])),N=e.computed(()=>o.tests.some(T=>r.value[T.id])&&!E.value),x=(L,T="normal",U)=>{const Y=new Date().toLocaleTimeString();a.value=[...a.value,{text:`${Y} - ${L}`,type:T,testId:U}],d.value||e.nextTick(()=>{u.value&&(u.value.scrollTop=u.value.scrollHeight)})},S=async()=>{if(i.value)return;i.value=!0,a.value=[];const L=b.value.flatMap(([,T])=>T.filter(U=>r.value[U.id]));f.value=L.length,g.value=0,k.value="",x("=".repeat(60),"header"),x("Starting test run","header"),x("=".repeat(60),"header");try{const T=await Aa();T>0&&x(`Closed ${T} host app document(s) for test isolation`);for(const[U,Y]of b.value)for(const _ of Y){if(!r.value[_.id])continue;c.set(_.id,{status:"running"}),k.value=`${U} :: ${_.name}`,x(`Running ${U} :: ${_.name}`,"normal",_.id);const q=performance.now();try{const I=await _.run(F=>x(`[${_.id}] ${F}`,"normal",_.id)),M=Math.round(performance.now()-q),G=I.match(/^(\d+)\/(\d+)\s*\((\d+(?:\.\d+)?)%\)/);if(G&&G[1]&&G[2]&&G[3]){const F=Number.parseInt(G[1],10),Z=Number.parseInt(G[2],10),ue=Number.parseFloat(G[3]);c.set(_.id,{status:"scored",durationMs:M,message:I,score:{passed:F,total:Z,percentage:ue}}),x(`Scored (${M}ms): ${I}`,"success",_.id)}else c.set(_.id,{status:"passed",durationMs:M,message:I}),x(`Passed (${M}ms): ${I}`,"success",_.id)}catch(I){const M=Math.round(performance.now()-q),G=I instanceof Error?I.message:String(I);c.set(_.id,{status:"failed",durationMs:M,message:G}),x(`Failed (${M}ms): ${G}`,"error",_.id)}g.value++}}finally{x("=".repeat(60),"header"),x("Test run complete","header"),x("=".repeat(60),"header");try{await Ta(),x("Host app documents restored")}catch(T){x(`Warning: Failed to restore host app documents: ${T instanceof Error?T.message:String(T)}`)}if(o.onTestsComplete)try{x("Cleaning up test documents..."),await o.onTestsComplete(),x("Test documents cleaned up successfully")}catch(T){x(`Warning: Failed to clean up test documents: ${T instanceof Error?T.message:String(T)}`)}i.value=!1}},B=L=>{r.value={...r.value,[L]:!r.value[L]}},D=L=>{const T=C(L),U={...r.value};L.forEach(Y=>{U[Y.id]=!T}),r.value=U},V=()=>{const L=E.value,T={};o.tests.forEach(U=>{T[U.id]=!L}),r.value=T},P=()=>{r.value={}},R=async()=>{try{await navigator.clipboard.writeText(a.value.map(L=>L.text).join(`
|
|
8
|
-
`)),
|
|
9
|
-
`);await navigator.clipboard.writeText(T),s.value=!0,window.setTimeout(()=>{s.value=!1},1500)}catch(L){n.error("Copy failed tests to clipboard failed",{err:L})}},X=L=>{if(d.value===L){d.value=null;return}d.value=L,e.nextTick(()=>{if(u.value){const T=u.value.querySelector(`[data-test-id="${L}"]`);T&&T.scrollIntoView({behavior:"smooth",block:"start"})}})},J=()=>{a.value=[],c.clear(),d.value=null},O=e.computed(()=>Array.from(c.values()).some(L=>L.status==="failed")),ie=e.computed(()=>f.value===0?0:Math.round(g.value/f.value*100));return(L,T)=>(e.openBlock(),e.createElementBlock("div",ny,[e.createElementVNode("div",oy,[e.createElementVNode("div",ry,[y.value>0&&!i.value?(e.openBlock(),e.createElementBlock("div",ay,[e.createElementVNode("div",ly,[e.createElementVNode("span",sy,e.toDisplayString(y.value)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:P}," Clear ")]),e.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:i.value,onClick:S},[...T[0]||(T[0]=[e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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"}),e.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),e.createTextVNode(" Run ",-1)])],8,iy)])):e.createCommentVNode("",!0),e.createElementVNode("div",uy,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:E.value,indeterminate:N.value,onChange:V},null,40,cy),T[1]||(T[1]=e.createElementVNode("span",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide"}," Available Tests ",-1))])]),e.createElementVNode("div",dy,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,([U,Y])=>(e.openBlock(),e.createElementBlock("div",{key:U},[e.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:_=>D(Y)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:C(Y),indeterminate:p(Y),onClick:e.withModifiers(_=>D(Y),["stop"])},null,8,my),e.createElementVNode("span",py,e.toDisplayString(U),1),e.createElementVNode("span",vy,e.toDisplayString(w(Y))+"/"+e.toDisplayString(Y.length),1)],8,fy),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Y,_=>(e.openBlock(),e.createElementBlock("div",{key:_.id,class:e.normalizeClass(["flex items-center px-3 py-1.5 hover:bg-muted/30 cursor-pointer",{"bg-primary/10 border-l-2 border-l-primary":d.value===_.id}]),onClick:q=>X(_.id)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:r.value[_.id],onClick:e.withModifiers(q=>B(_.id),["stop"])},null,8,hy),e.createElementVNode("span",yy,[m(_.id)==="running"?(e.openBlock(),e.createElementBlock("svg",by,[...T[2]||(T[2]=[e.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)])])):m(_.id)==="passed"?(e.openBlock(),e.createElementBlock("svg",wy,[...T[3]||(T[3]=[e.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)])])):m(_.id)==="failed"?(e.openBlock(),e.createElementBlock("svg",xy,[...T[4]||(T[4]=[e.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)])])):m(_.id)==="scored"?(e.openBlock(),e.createElementBlock("div",ky," % ")):e.createCommentVNode("",!0)]),e.createElementVNode("span",Cy,e.toDisplayString(_.name),1),c.get(_.id)?.status==="passed"?(e.openBlock(),e.createElementBlock("span",By," Passed ")):c.get(_.id)?.status==="failed"?(e.openBlock(),e.createElementBlock("span",Ey," Failed ")):c.get(_.id)?.status==="scored"&&c.get(_.id)?.score?(e.openBlock(),e.createElementBlock("span",Sy,e.toDisplayString(c.get(_.id).score.passed)+"/"+e.toDisplayString(c.get(_.id).score.total)+" ("+e.toDisplayString(c.get(_.id).score.percentage)+"%) ",1)):e.createCommentVNode("",!0)],10,gy))),128))]))),128)),b.value.length===0?(e.openBlock(),e.createElementBlock("div",Ny,[...T[5]||(T[5]=[e.createElementVNode("p",{class:"text-xs"},"No tests found.",-1),e.createElementVNode("p",{class:"text-[10px] mt-1"}," Create test files with the .primitive-test.ts extension. ",-1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",My,[e.createElementVNode("div",Dy,[e.createElementVNode("span",null,e.toDisplayString(v.value)+" tests in "+e.toDisplayString(b.value.length)+" groups",1),h.value.passed>0||h.value.failed>0?(e.openBlock(),e.createElementBlock("span",Vy,[h.value.passed>0?(e.openBlock(),e.createElementBlock("span",_y,e.toDisplayString(h.value.passed)+" passed ",1)):e.createCommentVNode("",!0),h.value.passed>0&&h.value.failed>0?(e.openBlock(),e.createElementBlock("span",zy,", ")):e.createCommentVNode("",!0),h.value.failed>0?(e.openBlock(),e.createElementBlock("span",Iy,e.toDisplayString(h.value.failed)+" failed ",1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",Ay,[e.createElementVNode("div",Ty,[T[15]||(T[15]=e.createElementVNode("span",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide"}," Test Output ",-1)),e.createElementVNode("div",Py,[e.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:R},[l.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[T[6]||(T[6]=e.createElementVNode("svg",{class:"w-3 h-3 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)),T[7]||(T[7]=e.createTextVNode(" Copied! ",-1))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[T[8]||(T[8]=e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)),T[9]||(T[9]=e.createTextVNode(" Copy ",-1))],64))],8,$y),e.createElementVNode("button",{class:"px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50",disabled:!O.value,onClick:Q},[s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[T[10]||(T[10]=e.createElementVNode("svg",{class:"w-3 h-3 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)),T[11]||(T[11]=e.createTextVNode(" Copied! ",-1))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[T[12]||(T[12]=e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})],-1)),T[13]||(T[13]=e.createTextVNode(" Copy Failing Tests ",-1))],64))],8,Oy),e.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:J},[...T[14]||(T[14]=[e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createTextVNode(" Clear ",-1)])],8,Ry)])]),e.createElementVNode("div",{ref_key:"outputEl",ref:u,class:"flex-1 overflow-y-auto scrollbar-thin bg-muted/10 font-mono text-xs p-3"},[a.value.length===0?(e.openBlock(),e.createElementBlock("div",qy,' Select tests and click "Run" to see output... ')):(e.openBlock(),e.createElementBlock("div",Fy,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(U,Y)=>(e.openBlock(),e.createElementBlock("div",{key:Y,"data-test-id":U.testId,class:e.normalizeClass([U.type==="header"?"text-muted-foreground font-medium":U.type==="success"?"text-green-600":U.type==="error"?"text-red-600":"",d.value&&U.testId!==d.value?"opacity-20":"",d.value&&U.testId===d.value?"bg-primary/5 -mx-1 px-1 rounded":""])},e.toDisplayString(U.text),11,Ly))),128))]))],512),i.value?(e.openBlock(),e.createElementBlock("div",jy,[e.createElementVNode("div",Hy,[e.createElementVNode("span",Wy," Running: "+e.toDisplayString(k.value),1),e.createElementVNode("span",Uy,e.toDisplayString(g.value)+"/"+e.toDisplayString(f.value),1)]),e.createElementVNode("div",Gy,[e.createElementVNode("div",{class:"h-full bg-primary transition-all duration-300",style:e.normalizeStyle({width:`${ie.value}%`})},null,4)])])):e.createCommentVNode("",!0)])]))}}),Ky={class:"fixed inset-0 z-40 bg-background flex flex-col overflow-hidden"},Yy={class:"flex items-center justify-between px-4 py-2 border-b border-border bg-muted/30"},Qy={class:"flex items-center gap-3 min-w-0 flex-1"},Xy={class:"text-sm font-semibold truncate"},Zy={class:"flex-1 flex overflow-hidden min-w-0"},Jy={class:"w-10 bg-muted/50 border-r border-border flex flex-col items-center py-2 gap-1"},eb={class:"flex-1 flex flex-col overflow-hidden min-w-0"},tb={key:0,class:"flex-1 flex items-center justify-center"},nb={class:"text-center max-w-md"},ob={class:"text-xs text-muted-foreground mb-4"},rb={key:1,class:"flex-1 flex items-center justify-center"},ab={class:"text-center"},lb={class:"flex-1 overflow-hidden"},sb={class:"flex-1 overflow-hidden"},Oa=e.defineComponent({__name:"DevToolsOverlay",props:{testGroups:{},appName:{}},emits:["close"],setup(t,{emit:n}){const o=Ee.forScope("DevToolsOverlay"),r=t,a=n,l=e.ref("documents"),s=e.ref(!1),i=e.ref(null),c=e.ref(!1);async function u(){if(!s.value)try{await qt(),s.value=!0}catch(h){o.error("Failed to initialize dev tools",{err:h}),i.value=h instanceof Error?h.message:"Failed to initialize"}}const d=e.ref("");function f(h){if(h.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;const w=document.activeElement;if(w&&w!==document.body&&(w.tagName==="INPUT"||w.tagName==="TEXTAREA"||w.tagName==="SELECT"||w.isContentEditable)){w.blur();return}b()}e.onMounted(()=>{d.value=document.body.style.overflow,document.body.style.overflow="hidden",document.addEventListener("keydown",f,!0),u()}),e.onUnmounted(()=>{document.body.style.overflow=d.value,document.removeEventListener("keydown",f,!0)});const g=e.computed(()=>Pa(r.testGroups));async function k(){if(!c.value){c.value=!0;try{await qt()}finally{c.value=!1}}}function b(){a("close")}const y=Ht(),v=e.computed(()=>{if(l.value==="tests")return"Test Harness";const h=y.currentDocumentTitle;return h?`Document Explorer: ${h}`:"Document Explorer"});return(h,m)=>(e.openBlock(),e.createElementBlock("div",Ky,[e.createElementVNode("div",Yy,[e.createElementVNode("div",Qy,[e.createElementVNode("span",Xy,e.toDisplayString(v.value),1)]),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded",title:"Close",onClick:b},[...m[2]||(m[2]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),e.createElementVNode("div",Zy,[e.createElementVNode("div",Jy,[e.createElementVNode("button",{class:e.normalizeClass(["p-2 rounded",l.value==="documents"?"bg-primary/10 text-primary":"hover:bg-muted text-muted-foreground"]),title:"Document Explorer",onClick:m[0]||(m[0]=C=>l.value="documents")},[...m[3]||(m[3]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createElementVNode("button",{class:e.normalizeClass(["p-2 rounded",l.value==="tests"?"bg-primary/10 text-primary":"hover:bg-muted text-muted-foreground"]),title:"Test Harness",onClick:m[1]||(m[1]=C=>l.value="tests")},[...m[4]||(m[4]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)]),e.createElementVNode("div",eb,[i.value?(e.openBlock(),e.createElementBlock("div",tb,[e.createElementVNode("div",nb,[m[5]||(m[5]=e.createElementVNode("h2",{class:"text-sm font-semibold text-destructive mb-2"}," Initialization Failed ",-1)),e.createElementVNode("p",ob,e.toDisplayString(i.value),1),e.createElementVNode("button",{class:"px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90",onClick:u}," Retry ")])])):s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.withDirectives(e.createElementVNode("div",lb,[e.createVNode(Ia)],512),[[e.vShow,l.value==="documents"]]),e.withDirectives(e.createElementVNode("div",sb,[e.createVNode($a,{tests:g.value,"on-tests-complete":k},null,8,["tests"])],512),[[e.vShow,l.value==="tests"]])],64)):(e.openBlock(),e.createElementBlock("div",rb,[e.createElementVNode("div",ab,[e.createVNode(sl),m[6]||(m[6]=e.createElementVNode("p",{class:"mt-4 text-xs text-muted-foreground"}," Initializing dev tools... ",-1))])]))])])]))}}),tn="#devtools",ib=e.defineComponent({__name:"DevToolsRoot",props:{testGroups:{},appName:{},buttonStyle:{},keyboardShortcut:{}},setup(t){const n=Ee.forScope("DevToolsRoot"),o=t,r=e.ref(!1),a=e.ref(!1),l=typeof navigator<"u"&&/mac/i.test(navigator.platform);function s(m){const C=m.toLowerCase().split("+");return l?C.map(p=>p==="cmd"||p==="meta"?"⌘":p==="ctrl"?"⌃":p==="shift"?"⇧":p==="alt"?"⌥":p.toUpperCase()).join(""):C.map(p=>p==="cmd"||p==="meta"||p==="ctrl"?"Ctrl":p==="shift"?"Shift":p==="alt"?"Alt":p.toUpperCase()).join("+")}const i=e.computed(()=>{if(o.keyboardShortcut)return s(o.keyboardShortcut)});function c(m,C){const p=C.toLowerCase().split("+"),w=p.pop(),E=new Set(p),N=E.has("cmd")||E.has("meta"),x=E.has("ctrl"),S=E.has("shift"),B=E.has("alt");if(l){if(N!==m.metaKey||x!==m.ctrlKey)return!1}else if((N||x)!==m.ctrlKey||m.metaKey)return!1;return!(S!==m.shiftKey||B!==m.altKey||m.key.toLowerCase()!==w)}function u(m){!o.keyboardShortcut||!a.value||c(m,o.keyboardShortcut)&&(m.preventDefault(),h())}let d=!1,f=null;function g(){!r.value&&a.value&&window.location.hash===tn&&(r.value=!0)}async function k(){try{const m=await re.getClientAsync();a.value=m.isAuthenticated(),g(),a.value&&qt().catch(E=>{n.debug("Startup cleanup of leftover test documents failed",{err:E})});const C=()=>{a.value=!0,g()},p=()=>{a.value=!1},w=()=>{a.value=!1,v()};m.on("auth-success",C),m.on("auth-failed",p),m.on("auth:logout",w),f=()=>{m.off("auth-success",C),m.off("auth-failed",p),m.off("auth:logout",w)}}catch{a.value=!1}}function b(){const m=window.location.hash===tn;r.value&&!m?(r.value=!1,d=!1):!r.value&&m&&a.value&&(r.value=!0)}e.onMounted(()=>{window.addEventListener("popstate",b),document.addEventListener("keydown",u),k()}),e.onUnmounted(()=>{window.removeEventListener("popstate",b),document.removeEventListener("keydown",u),f?.(),f=null});function y(){r.value||(r.value=!0,d=!0,history.pushState({primitiveDevtools:!0},"",tn))}function v(){r.value&&(r.value=!1,window.location.hash===tn&&(d?(d=!1,history.back()):history.replaceState(null,"",window.location.pathname+window.location.search)))}function h(){r.value?v():y()}return(m,C)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[a.value?(e.openBlock(),e.createBlock(Br,{key:0,"is-open":r.value,"custom-style":o.buttonStyle,"shortcut-hint":i.value,onClick:h},null,8,["is-open","custom-style","shortcut-hint"])):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createBlock(Oa,{key:1,"test-groups":o.testGroups,"app-name":o.appName,onClose:v},null,8,["test-groups","app-name"])):e.createCommentVNode("",!0)]))}}),nn=e.defineComponent({__name:"Badge",props:{asChild:{type:Boolean},as:{},variant:{},class:{}},setup(t){const n=t,o=ee.reactiveOmit(n,"class");return(r,a)=>(e.openBlock(),e.createBlock(e.unref(de),e.mergeProps({"data-slot":"badge",class:e.unref(ae)(e.unref(ub)({variant:t.variant}),n.class)},e.unref(o)),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),ub=zr("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-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 transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}}),cb=e.defineComponent({__name:"Card",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"card",class:e.normalizeClass(e.unref(ae)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),db=e.defineComponent({__name:"CardContent",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"card-content",class:e.normalizeClass(e.unref(ae)("px-6",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),fb=e.defineComponent({__name:"CardDescription",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("p",{"data-slot":"card-description",class:e.normalizeClass(e.unref(ae)("text-muted-foreground text-sm",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),mb=e.defineComponent({__name:"CardHeader",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"card-header",class:e.normalizeClass(e.unref(ae)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),pb=e.defineComponent({__name:"CardTitle",props:{class:{}},setup(t){const n=t;return(o,r)=>(e.openBlock(),e.createElementBlock("h3",{"data-slot":"card-title",class:e.normalizeClass(e.unref(ae)("leading-none font-semibold",n.class))},[e.renderSlot(o.$slots,"default")],2))}}),vb=e.defineComponent({__name:"DropdownMenu",props:{defaultOpen:{type:Boolean},open:{type:Boolean},dir:{},modal:{type:Boolean}},emits:["update:open"],setup(t,{emit:n}){const a=ze(t,n);return(l,s)=>(e.openBlock(),e.createBlock(e.unref(gc),e.mergeProps({"data-slot":"dropdown-menu"},e.unref(a)),{default:e.withCtx(i=>[e.renderSlot(l.$slots,"default",e.normalizeProps(e.guardReactiveProps(i)))]),_:3},16))}}),gb=e.defineComponent({inheritAttrs:!1,__name:"DropdownMenuContent",props:{forceMount:{type:Boolean},loop:{type:Boolean},side:{},sideOffset:{default:4},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","closeAutoFocus"],setup(t,{emit:n}){const o=t,r=n,a=ee.reactiveOmit(o,"class"),l=ze(a,r);return(s,i)=>(e.openBlock(),e.createBlock(e.unref(kc),null,{default:e.withCtx(()=>[e.createVNode(e.unref(yc),e.mergeProps({"data-slot":"dropdown-menu-content"},{...s.$attrs,...e.unref(l)},{class:e.unref(ae)("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 z-50 max-h-(--reka-dropdown-menu-content-available-height) min-w-[8rem] origin-(--reka-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",o.class)}),{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},16,["class"])]),_:3}))}}),kr=e.defineComponent({__name:"DropdownMenuItem",props:{disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{},inset:{type:Boolean},variant:{default:"default"}},setup(t){const n=t,o=ee.reactiveOmit(n,"inset","variant","class"),r=$e(o);return(a,l)=>(e.openBlock(),e.createBlock(e.unref(wc),e.mergeProps({"data-slot":"dropdown-menu-item","data-inset":t.inset?"":void 0,"data-variant":t.variant},e.unref(r),{class:e.unref(ae)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n.class)}),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16,["data-inset","data-variant","class"]))}}),hb=e.defineComponent({__name:"DropdownMenuSeparator",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const n=t,o=ee.reactiveOmit(n,"class");return(r,a)=>(e.openBlock(),e.createBlock(e.unref(Bc),e.mergeProps({"data-slot":"dropdown-menu-separator"},e.unref(o),{class:e.unref(ae)("bg-border -mx-1 my-1 h-px",n.class)}),null,16,["class"]))}}),yb=e.defineComponent({__name:"DropdownMenuTrigger",props:{disabled:{type:Boolean},asChild:{type:Boolean},as:{}},setup(t){const o=$e(t);return(r,a)=>(e.openBlock(),e.createBlock(e.unref(Sc),e.mergeProps({"data-slot":"dropdown-menu-trigger"},e.unref(o)),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16))}}),bb={key:0,class:"text-primary animate-pulse"},wb={class:"flex gap-2 pt-2"},xb={key:1,class:"text-xs text-muted-foreground px-2 py-1.5 block"},kb={class:"px-4 pb-3"},Cb={class:"relative"},Bb={class:"p-4 space-y-2"},Eb={class:"divide-y max-h-[50vh] overflow-y-auto"},Sb={key:0,class:"p-4 text-center text-muted-foreground text-sm"},Nb=["onClick"],Mb={class:"flex items-start justify-between gap-2"},Db={class:"flex-1 min-w-0"},Vb={class:"font-medium truncate"},_b={class:"text-xs text-muted-foreground truncate"},zb={class:"flex flex-wrap gap-1 mt-1"},Ib={class:"flex gap-1 shrink-0"},Ab={key:0,class:"flex items-center justify-between px-4 py-2 border-t text-xs"},Tb={class:"text-muted-foreground"},Pb={class:"flex items-center gap-1"},$b={class:"px-2 text-muted-foreground"},Ob={class:"space-y-4 py-4"},Rb={class:"space-y-2"},qb={class:"space-y-4 py-4"},Fb={class:"space-y-2"},pt=25,Lb=e.defineComponent({__name:"DocumentSidebar",props:{documents:{},selectedDocId:{},currentDocumentId:{},documentListLoaded:{type:Boolean},deletableDocumentsCount:{},isSyncing:{type:Boolean}},emits:["select","delete","mass-delete","add-document","rename-document"],setup(t,{emit:n}){const o=t,r=N=>N.permission==="owner",a=N=>{switch(N){case"owner":return"Owner";case"read-write":return"Editor";case"reader":return"Viewer";case"admin":return"Admin";default:return"Unknown"}},l=n,s=e.ref(!1),i=e.ref(""),c=e.ref(!1),u=e.ref(null),d=e.ref(""),f=()=>{i.value=`New Document ${new Date().toLocaleDateString()}`,s.value=!0},g=()=>{i.value.trim()&&(l("add-document",i.value.trim()),s.value=!1,i.value="")},k=N=>{u.value=N.documentId,d.value=N.title||"",c.value=!0},b=()=>{u.value&&d.value.trim()&&(l("rename-document",u.value,d.value.trim()),c.value=!1,u.value=null,d.value="")},y=e.ref(""),v=e.ref(1),h=e.computed(()=>[...o.documents].filter(N=>N).sort((N,x)=>(N.title||"").localeCompare(x.title||""))),m=e.computed(()=>{const N=y.value.trim();return N?h.value.filter(x=>{const S=gt(x.title,N),B=gt(x.documentId,N);return S||B}):h.value}),C=e.computed(()=>Math.max(1,Math.ceil(m.value.length/pt))),p=e.computed(()=>{const N=(v.value-1)*pt,x=N+pt;return m.value.slice(N,x)});e.watch(y,()=>{v.value=1});const w=()=>{v.value>1&&v.value--},E=()=>{v.value<C.value&&v.value++};return(N,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(cb),{class:"col-span-3 h-fit"},{default:e.withCtx(()=>[e.createVNode(e.unref(mb),{class:"pb-3"},{default:e.withCtx(()=>[e.createVNode(e.unref(pb),{class:"text-lg"},{default:e.withCtx(()=>[...x[9]||(x[9]=[e.createTextVNode("Documents",-1)])]),_:1}),e.createVNode(e.unref(fb),null,{default:e.withCtx(()=>[t.isSyncing?(e.openBlock(),e.createElementBlock("span",bb,"Syncing documents...")):y.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(m.value.length)+" of "+e.toDisplayString(h.value.length)+" document"+e.toDisplayString(h.value.length!==1?"s":""),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(h.value.length)+" document"+e.toDisplayString(h.value.length!==1?"s":""),1)],64))]),_:1}),e.createElementVNode("div",wb,[e.createVNode(e.unref(pe),{size:"sm",variant:"outline",onClick:f},{default:e.withCtx(()=>[e.createVNode(e.unref(jn),{class:"h-4 w-4 mr-1"}),x[10]||(x[10]=e.createTextVNode(" Add ",-1))]),_:1}),e.createVNode(e.unref(vb),null,{default:e.withCtx(()=>[e.createVNode(e.unref(yb),{"as-child":""},{default:e.withCtx(()=>[e.createVNode(e.unref(pe),{size:"sm",variant:"outline"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ja),{class:"h-4 w-4"})]),_:1})]),_:1}),e.createVNode(e.unref(gb),{align:"end"},{default:e.withCtx(()=>[e.createVNode(e.unref(kr),{onClick:f},{default:e.withCtx(()=>[e.createVNode(e.unref(jn),{class:"h-4 w-4 mr-2"}),x[11]||(x[11]=e.createTextVNode(" New Document ",-1))]),_:1}),e.createVNode(e.unref(hb)),t.deletableDocumentsCount>0?(e.openBlock(),e.createBlock(e.unref(kr),{key:0,class:"text-destructive focus:text-destructive",onClick:x[0]||(x[0]=S=>l("mass-delete"))},{default:e.withCtx(()=>[e.createVNode(e.unref(Tt),{class:"h-4 w-4 mr-2"}),e.createTextVNode(" Mass Delete Owned ("+e.toDisplayString(t.deletableDocumentsCount)+") ",1)]),_:1})):(e.openBlock(),e.createElementBlock("span",xb,[...x[12]||(x[12]=[e.createTextVNode(" No deletable documents ",-1),e.createElementVNode("span",{class:"block text-[10px] mt-0.5"}," (only owned docs can be deleted) ",-1)])]))]),_:1})]),_:1})])]),_:1}),e.createVNode(e.unref(db),{class:"p-0"},{default:e.withCtx(()=>[e.createElementVNode("div",kb,[e.createElementVNode("div",Cb,[e.createVNode(e.unref(tl),{class:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.createVNode(e.unref(rt),{modelValue:y.value,"onUpdate:modelValue":x[1]||(x[1]=S=>y.value=S),placeholder:"Search by title or ID...",class:"pl-9 pr-8"},null,8,["modelValue"]),y.value?(e.openBlock(),e.createBlock(e.unref(pe),{key:0,variant:"ghost",size:"sm",class:"absolute right-1 top-1 h-6 w-6 p-0",onClick:x[2]||(x[2]=S=>y.value="")},{default:e.withCtx(()=>[e.createVNode(e.unref(Pt),{class:"h-3 w-3"})]),_:1})):e.createCommentVNode("",!0)])]),e.createVNode(_o,{"is-ready":t.documentListLoaded},{loading:e.withCtx(()=>[e.createElementVNode("div",Bb,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(3,S=>e.createVNode(e.unref(ot),{key:S,class:"h-12 w-full"})),64))])]),default:e.withCtx(()=>[e.createElementVNode("div",Eb,[m.value.length===0&&y.value?(e.openBlock(),e.createElementBlock("div",Sb,' No documents match "'+e.toDisplayString(y.value)+'" ',1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,S=>(e.openBlock(),e.createElementBlock("div",{key:S.documentId,class:e.normalizeClass(["p-4 cursor-pointer hover:bg-muted transition-colors",{"bg-muted":t.selectedDocId===S.documentId}]),onClick:B=>l("select",S.documentId)},[e.createElementVNode("div",Mb,[e.createElementVNode("div",Db,[e.createElementVNode("div",Vb,e.toDisplayString(S.title||"(Untitled)"),1),e.createElementVNode("div",_b,e.toDisplayString(S.documentId.slice(0,8))+"... ",1),e.createElementVNode("div",zb,[S.isRoot?(e.openBlock(),e.createBlock(e.unref(nn),{key:0,variant:"secondary",class:"text-xs",title:"Root document (stores user preferences)"},{default:e.withCtx(()=>[...x[13]||(x[13]=[e.createTextVNode(" Root ",-1)])]),_:1})):e.createCommentVNode("",!0),S.documentId===t.currentDocumentId?(e.openBlock(),e.createBlock(e.unref(nn),{key:1,class:"text-xs"},{default:e.withCtx(()=>[...x[14]||(x[14]=[e.createTextVNode(" Active ",-1)])]),_:1})):e.createCommentVNode("",!0),S.permission&&!r(S)?(e.openBlock(),e.createBlock(e.unref(nn),{key:2,variant:"secondary",class:"text-xs",title:`Shared with you as ${a(S.permission)}`},{default:e.withCtx(()=>[e.createVNode(e.unref(nl),{class:"h-2.5 w-2.5 mr-1"}),e.createTextVNode(" "+e.toDisplayString(a(S.permission)),1)]),_:2},1032,["title"])):S.permission==="owner"?(e.openBlock(),e.createBlock(e.unref(nn),{key:3,variant:"outline",class:"text-xs"},{default:e.withCtx(()=>[e.createVNode(e.unref(ol),{class:"h-2.5 w-2.5 mr-1"}),x[15]||(x[15]=e.createTextVNode(" Owner ",-1))]),_:1})):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Ib,[r(S)?(e.openBlock(),e.createBlock(e.unref(pe),{key:0,variant:"ghost",size:"sm",class:"h-6 w-6 p-0",onClick:e.withModifiers(B=>k(S),["stop"]),title:"Rename document"},{default:e.withCtx(()=>[e.createVNode(e.unref(co),{class:"h-3 w-3"})]),_:1},8,["onClick"])):e.createCommentVNode("",!0),r(S)?(e.openBlock(),e.createBlock(e.unref(pe),{key:1,variant:"ghost",size:"sm",class:"h-6 w-6 p-0 text-destructive hover:text-destructive",onClick:e.withModifiers(B=>l("delete",S.documentId),["stop"]),title:"Delete document"},{default:e.withCtx(()=>[e.createVNode(e.unref(Tt),{class:"h-3 w-3"})]),_:1},8,["onClick"])):e.createCommentVNode("",!0)])])],10,Nb))),128))]),m.value.length>pt?(e.openBlock(),e.createElementBlock("div",Ab,[e.createElementVNode("span",Tb,e.toDisplayString((v.value-1)*pt+1)+"-"+e.toDisplayString(Math.min(v.value*pt,m.value.length))+" of "+e.toDisplayString(m.value.length),1),e.createElementVNode("div",Pb,[e.createVNode(e.unref(pe),{variant:"ghost",size:"sm",class:"h-6 w-6 p-0",disabled:v.value<=1,onClick:w},{default:e.withCtx(()=>[e.createVNode(e.unref(Ya),{class:"h-4 w-4"})]),_:1},8,["disabled"]),e.createElementVNode("span",$b,e.toDisplayString(v.value)+" / "+e.toDisplayString(C.value),1),e.createVNode(e.unref(pe),{variant:"ghost",size:"sm",class:"h-6 w-6 p-0",disabled:v.value>=C.value,onClick:E},{default:e.withCtx(()=>[e.createVNode(e.unref(Qa),{class:"h-4 w-4"})]),_:1},8,["disabled"])])])):e.createCommentVNode("",!0)]),_:1},8,["is-ready"])]),_:1})]),_:1}),e.createVNode(e.unref(yt),{open:s.value,"onUpdate:open":x[5]||(x[5]=S=>s.value=S)},{default:e.withCtx(()=>[e.createVNode(e.unref(bt),{class:"sm:max-w-md"},{default:e.withCtx(()=>[e.createVNode(e.unref(xt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(kt),null,{default:e.withCtx(()=>[...x[16]||(x[16]=[e.createTextVNode("Create New Document",-1)])]),_:1})]),_:1}),e.createElementVNode("div",Ob,[e.createElementVNode("div",Rb,[e.createVNode(e.unref(io),{for:"new-doc-title"},{default:e.withCtx(()=>[...x[17]||(x[17]=[e.createTextVNode("Document Title",-1)])]),_:1}),e.createVNode(e.unref(rt),{id:"new-doc-title",modelValue:i.value,"onUpdate:modelValue":x[3]||(x[3]=S=>i.value=S),placeholder:"Enter document title...",onKeydown:e.withKeys(g,["enter"])},null,8,["modelValue"])])]),e.createVNode(e.unref(wt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(pe),{variant:"outline",onClick:x[4]||(x[4]=S=>s.value=!1)},{default:e.withCtx(()=>[...x[18]||(x[18]=[e.createTextVNode("Cancel",-1)])]),_:1}),e.createVNode(e.unref(pe),{disabled:!i.value.trim(),onClick:g},{default:e.withCtx(()=>[...x[19]||(x[19]=[e.createTextVNode(" Create ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"]),e.createVNode(e.unref(yt),{open:c.value,"onUpdate:open":x[8]||(x[8]=S=>c.value=S)},{default:e.withCtx(()=>[e.createVNode(e.unref(bt),{class:"sm:max-w-md"},{default:e.withCtx(()=>[e.createVNode(e.unref(xt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(kt),null,{default:e.withCtx(()=>[...x[20]||(x[20]=[e.createTextVNode("Rename Document",-1)])]),_:1})]),_:1}),e.createElementVNode("div",qb,[e.createElementVNode("div",Fb,[e.createVNode(e.unref(io),{for:"rename-doc-title"},{default:e.withCtx(()=>[...x[21]||(x[21]=[e.createTextVNode("Document Title",-1)])]),_:1}),e.createVNode(e.unref(rt),{id:"rename-doc-title",modelValue:d.value,"onUpdate:modelValue":x[6]||(x[6]=S=>d.value=S),placeholder:"Enter document title...",onKeydown:e.withKeys(b,["enter"])},null,8,["modelValue"])])]),e.createVNode(e.unref(wt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(pe),{variant:"outline",onClick:x[7]||(x[7]=S=>c.value=!1)},{default:e.withCtx(()=>[...x[22]||(x[22]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(e.unref(pe),{disabled:!d.value.trim(),onClick:b},{default:e.withCtx(()=>[...x[23]||(x[23]=[e.createTextVNode(" Rename ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])],64))}});exports.DevToolsFloatingButton=Br;exports.DevToolsOverlay=Oa;exports.DevToolsRoot=ib;exports.DocumentExplorerIndex=Ia;exports.DocumentExplorerModel=za;exports.DocumentSidebar=Lb;exports.TEST_DOCUMENT_PREFIX=Io;exports.TestRunner=$a;exports.beginTestRun=Aa;exports.buildRunnableTests=Pa;exports.deleteAllTestDocuments=qt;exports.endTestRun=Ta;exports.initializeJsBao=us;exports.jsBaoClientService=re;exports.setPrimitiveAppLogLevel=cl;exports.useDocumentDebuggerStore=Ht;exports.useDocumentExplorerStore=Ht;
|
|
7
|
+
For more information, see https://www.reka-ui.com/docs/components/${n}`,c=`Warning: Missing \`Description\` or \`aria-describedby="undefined"\` for ${o}.`;e.onMounted(()=>{document.getElementById(r)||console.warn(a);const i=s.value?.getAttribute("aria-describedby");l&&i&&(document.getElementById(l)||console.warn(c))})}var _s=e.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(t,{emit:o}){const n=t,r=o,l=Ke(),{forwardRef:s,currentElement:a}=pe();return l.titleId||=oo(void 0,"reka-dialog-title"),l.descriptionId||=oo(void 0,"reka-dialog-description"),e.onMounted(()=>{l.contentElement=a,Se()!==document.body&&(l.triggerElement.value=Se())}),process.env.NODE_ENV!=="production"&&Is({titleName:"DialogTitle",contentName:"DialogContent",componentLink:"dialog.html#title",titleId:l.titleId,descriptionId:l.descriptionId,contentElement:a}),(c,u)=>(e.openBlock(),e.createBlock(e.unref(Mr),{"as-child":"",loop:"",trapped:n.trapFocus,onMountAutoFocus:u[5]||(u[5]=i=>r("openAutoFocus",i)),onUnmountAutoFocus:u[6]||(u[6]=i=>r("closeAutoFocus",i))},{default:e.withCtx(()=>[e.createVNode(e.unref(Sr),e.mergeProps({id:e.unref(l).contentId,ref:e.unref(s),as:c.as,"as-child":c.asChild,"disable-outside-pointer-events":c.disableOutsidePointerEvents,role:"dialog","aria-describedby":e.unref(l).descriptionId,"aria-labelledby":e.unref(l).titleId,"data-state":e.unref(Ds)(e.unref(l).open.value)},c.$attrs,{onDismiss:u[0]||(u[0]=i=>e.unref(l).onOpenChange(!1)),onEscapeKeyDown:u[1]||(u[1]=i=>r("escapeKeyDown",i)),onFocusOutside:u[2]||(u[2]=i=>r("focusOutside",i)),onInteractOutside:u[3]||(u[3]=i=>r("interactOutside",i)),onPointerDownOutside:u[4]||(u[4]=i=>r("pointerDownOutside",i))}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["id","as","as-child","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped"]))}}),Dr=_s,As=e.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(t,{emit:o}){const n=t,r=o,l=Ke(),s=uo(r),{forwardRef:a,currentElement:c}=pe();return Er(c),(u,i)=>(e.openBlock(),e.createBlock(Dr,e.mergeProps({...n,...e.unref(s)},{ref:e.unref(a),"trap-focus":e.unref(l).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:i[0]||(i[0]=d=>{d.defaultPrevented||(d.preventDefault(),e.unref(l).triggerElement.value?.focus())}),onPointerDownOutside:i[1]||(i[1]=d=>{const f=d.detail.originalEvent,x=f.button===0&&f.ctrlKey===!0;(f.button===2||x)&&d.preventDefault()}),onFocusOutside:i[2]||(i[2]=d=>{d.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},16,["trap-focus"]))}}),Ts=As,Ps=e.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(t,{emit:o}){const n=t,l=uo(o);pe();const s=Ke(),a=e.ref(!1),c=e.ref(!1);return(u,i)=>(e.openBlock(),e.createBlock(Dr,e.mergeProps({...n,...e.unref(l)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:i[0]||(i[0]=d=>{d.defaultPrevented||(a.value||e.unref(s).triggerElement.value?.focus(),d.preventDefault()),a.value=!1,c.value=!1}),onInteractOutside:i[1]||(i[1]=d=>{d.defaultPrevented||(a.value=!0,d.detail.originalEvent.type==="pointerdown"&&(c.value=!0));const f=d.target;e.unref(s).triggerElement.value?.contains(f)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&c.value&&d.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},16))}}),Os=Ps,Rs=e.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(t,{emit:o}){const n=t,r=o,l=Ke(),s=uo(r),{forwardRef:a}=pe();return(c,u)=>(e.openBlock(),e.createBlock(e.unref(rn),{present:c.forceMount||e.unref(l).open.value},{default:e.withCtx(()=>[e.unref(l).modal.value?(e.openBlock(),e.createBlock(Ts,e.mergeProps({key:0,ref:e.unref(a)},{...n,...e.unref(s),...c.$attrs}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16)):(e.openBlock(),e.createBlock(Os,e.mergeProps({key:1,ref:e.unref(a)},{...n,...e.unref(s),...c.$attrs}),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),Ls=Rs,Fs=e.defineComponent({__name:"DialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(t){const o=t;pe();const n=Ke();return(r,l)=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps(o,{id:e.unref(n).descriptionId}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["id"]))}}),qs=Fs,js=e.defineComponent({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const o=Ke();return kr(!0),pe(),(n,r)=>(e.openBlock(),e.createBlock(e.unref(ve),{as:n.as,"as-child":n.asChild,"data-state":e.unref(o).open.value?"open":"closed",style:{"pointer-events":"auto"}},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),Hs=js,Us=e.defineComponent({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const o=Ke(),{forwardRef:n}=pe();return(r,l)=>e.unref(o)?.modal.value?(e.openBlock(),e.createBlock(e.unref(rn),{key:0,present:r.forceMount||e.unref(o).open.value},{default:e.withCtx(()=>[e.createVNode(Hs,e.mergeProps(r.$attrs,{ref:e.unref(n),as:r.as,"as-child":r.asChild}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["as","as-child"])]),_:3},8,["present"])):e.createCommentVNode("v-if",!0)}}),Ws=Us,Gs=e.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(t){const o=se.useMounted();return(n,r)=>e.unref(o)||n.forceMount?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:n.to,disabled:n.disabled,defer:n.defer},[e.renderSlot(n.$slots,"default")],8,["to","disabled","defer"])):e.createCommentVNode("v-if",!0)}}),zr=Gs,Ks=e.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(t){const o=t;return(n,r)=>(e.openBlock(),e.createBlock(e.unref(zr),e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Ys=Ks,Qs=e.defineComponent({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(t){const o=t,n=Ke();return pe(),(r,l)=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps(o,{id:e.unref(n).titleId}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["id"]))}}),Xs=Qs;const In="data-reka-collection-item";function Nt(t={}){const{key:o="",isProvider:n=!1}=t,r=`${o}CollectionProvider`;let l;if(n){const d=e.ref(new Map);l={collectionRef:e.ref(),itemMap:d},e.provide(r,l)}else l=e.inject(r);const s=(d=!1)=>{const f=l.collectionRef.value;if(!f)return[];const x=Array.from(f.querySelectorAll(`[${In}]`)),h=Array.from(l.itemMap.value.values()).sort((w,v)=>x.indexOf(w.ref)-x.indexOf(v.ref));return d?h:h.filter(w=>w.ref.dataset.disabled!=="")},a=e.defineComponent({name:"CollectionSlot",inheritAttrs:!1,setup(d,{slots:f,attrs:x}){const{primitiveElement:b,currentElement:h}=Fo();return e.watch(h,()=>{l.collectionRef.value=h.value}),()=>e.h(Lo,{ref:b,...x},f)}}),c=e.defineComponent({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(d,{slots:f,attrs:x}){const{primitiveElement:b,currentElement:h}=Fo();return e.watchEffect(w=>{if(h.value){const v=e.markRaw(h.value);l.itemMap.value.set(v,{ref:h.value,value:d.value}),w(()=>l.itemMap.value.delete(v))}}),()=>e.h(Lo,{...x,[In]:"",ref:b},f)}}),u=e.computed(()=>Array.from(l.itemMap.value.values())),i=e.computed(()=>l.itemMap.value.size);return{getItems:s,reactiveItems:u,itemMapSize:i,CollectionSlot:a,CollectionItem:c}}var Zs=e.defineComponent({__name:"VisuallyHidden",props:{feature:{type:String,required:!1,default:"focusable"},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){return(o,n)=>(e.openBlock(),e.createBlock(e.unref(ve),{as:o.as,"as-child":o.asChild,"aria-hidden":o.feature==="focusable"?"true":void 0,"data-hidden":o.feature==="fully-hidden"?"":void 0,tabindex:o.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:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},8,["as","as-child","aria-hidden","data-hidden","tabindex"]))}}),$r=Zs,Js=e.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(t){const o=t,{primitiveElement:n,currentElement:r}=Fo(),l=e.computed(()=>o.checked??o.value);return e.watch(l,(s,a)=>{if(!r.value)return;const c=r.value,u=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(u,"value").set;if(d&&s!==a){const f=new Event("input",{bubbles:!0}),x=new Event("change",{bubbles:!0});d.call(c,s),c.dispatchEvent(f),c.dispatchEvent(x)}}),(s,a)=>(e.openBlock(),e.createBlock($r,e.mergeProps({ref_key:"primitiveElement",ref:n},{...o,...s.$attrs},{as:"input"}),null,16))}}),_n=Js,ei=e.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(t){const o=t,n=e.computed(()=>typeof o.value=="object"&&Array.isArray(o.value)&&o.value.length===0&&o.required),r=e.computed(()=>typeof o.value=="string"||typeof o.value=="number"||typeof o.value=="boolean"||o.value===null||o.value===void 0?[{name:o.name,value:o.value}]:typeof o.value=="object"&&Array.isArray(o.value)?o.value.flatMap((l,s)=>typeof l=="object"?Object.entries(l).map(([a,c])=>({name:`${o.name}[${s}][${a}]`,value:c})):{name:`${o.name}[${s}]`,value:l}):o.value!==null&&typeof o.value=="object"&&!Array.isArray(o.value)?Object.entries(o.value).map(([l,s])=>({name:`${o.name}[${l}]`,value:s})):[]);return(l,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createCommentVNode(" We render single input if it's required "),n.value?(e.openBlock(),e.createBlock(_n,e.mergeProps({key:l.name},{...o,...l.$attrs},{name:l.name,value:l.value}),null,16,["name","value"])):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(r.value,a=>(e.openBlock(),e.createBlock(_n,e.mergeProps({key:a.name},{ref_for:!0},{...o,...l.$attrs},{name:a.name,value:a.value}),null,16,["name","value"]))),128))],2112))}}),ti=ei;const[Ir,oi]=We("PopperRoot");var ni=e.defineComponent({inheritAttrs:!1,__name:"PopperRoot",setup(t){const o=e.ref();return oi({anchor:o,onAnchorChange:n=>o.value=n}),(n,r)=>e.renderSlot(n.$slots,"default")}}),ri=ni,li=e.defineComponent({__name:"PopperAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const o=t,{forwardRef:n,currentElement:r}=pe(),l=Ir();return e.watchPostEffect(()=>{l.onAnchorChange(o.reference??r.value)}),(s,a)=>(e.openBlock(),e.createBlock(e.unref(ve),{ref:e.unref(n),as:s.as,"as-child":s.asChild},{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},8,["as","as-child"]))}}),ai=li;function si(t){return t!==null}function ii(t){return{name:"transformOrigin",options:t,fn(o){const{placement:n,rects:r,middlewareData:l}=o,a=l.arrow?.centerOffset!==0,c=a?0:t.arrowWidth,u=a?0:t.arrowHeight,[i,d]=qo(n),f={start:"0%",center:"50%",end:"100%"}[d],x=(l.arrow?.x??0)+c/2,b=(l.arrow?.y??0)+u/2;let h="",w="";return i==="bottom"?(h=a?f:`${x}px`,w=`${-u}px`):i==="top"?(h=a?f:`${x}px`,w=`${r.floating.height+u}px`):i==="right"?(h=`${-u}px`,w=a?f:`${b}px`):i==="left"&&(h=`${r.floating.width+u}px`,w=a?f:`${b}px`),{data:{x:h,y:w}}}}}function qo(t){const[o,n="center"]=t.split("-");return[o,n]}const ci=["top","right","bottom","left"],Je=Math.min,Ne=Math.max,no=Math.round,qt=Math.floor,Oe=t=>({x:t,y:t}),ui={left:"right",right:"left",bottom:"top",top:"bottom"},di={start:"end",end:"start"};function jo(t,o,n){return Ne(t,Je(o,n))}function He(t,o){return typeof t=="function"?t(o):t}function Ue(t){return t.split("-")[0]}function St(t){return t.split("-")[1]}function ln(t){return t==="x"?"y":"x"}function an(t){return t==="y"?"height":"width"}const fi=new Set(["top","bottom"]);function Pe(t){return fi.has(Ue(t))?"y":"x"}function sn(t){return ln(Pe(t))}function mi(t,o,n){n===void 0&&(n=!1);const r=St(t),l=sn(t),s=an(l);let a=l==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return o.reference[s]>o.floating[s]&&(a=ro(a)),[a,ro(a)]}function pi(t){const o=ro(t);return[Ho(t),o,Ho(o)]}function Ho(t){return t.replace(/start|end/g,o=>di[o])}const An=["left","right"],Tn=["right","left"],vi=["top","bottom"],gi=["bottom","top"];function hi(t,o,n){switch(t){case"top":case"bottom":return n?o?Tn:An:o?An:Tn;case"left":case"right":return o?vi:gi;default:return[]}}function yi(t,o,n,r){const l=St(t);let s=hi(Ue(t),n==="start",r);return l&&(s=s.map(a=>a+"-"+l),o&&(s=s.concat(s.map(Ho)))),s}function ro(t){return t.replace(/left|right|bottom|top/g,o=>ui[o])}function bi(t){return{top:0,right:0,bottom:0,left:0,...t}}function _r(t){return typeof t!="number"?bi(t):{top:t,right:t,bottom:t,left:t}}function lo(t){const{x:o,y:n,width:r,height:l}=t;return{width:r,height:l,top:n,left:o,right:o+r,bottom:n+l,x:o,y:n}}function Pn(t,o,n){let{reference:r,floating:l}=t;const s=Pe(o),a=sn(o),c=an(a),u=Ue(o),i=s==="y",d=r.x+r.width/2-l.width/2,f=r.y+r.height/2-l.height/2,x=r[c]/2-l[c]/2;let b;switch(u){case"top":b={x:d,y:r.y-l.height};break;case"bottom":b={x:d,y:r.y+r.height};break;case"right":b={x:r.x+r.width,y:f};break;case"left":b={x:r.x-l.width,y:f};break;default:b={x:r.x,y:r.y}}switch(St(o)){case"start":b[a]-=x*(n&&i?-1:1);break;case"end":b[a]+=x*(n&&i?-1:1);break}return b}async function wi(t,o){var n;o===void 0&&(o={});const{x:r,y:l,platform:s,rects:a,elements:c,strategy:u}=t,{boundary:i="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:x=!1,padding:b=0}=He(o,t),h=_r(b),v=c[x?f==="floating"?"reference":"floating":f],C=lo(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(v)))==null||n?v:v.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:i,rootBoundary:d,strategy:u})),p=f==="floating"?{x:r,y:l,width:a.floating.width,height:a.floating.height}:a.reference,k=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),m=await(s.isElement==null?void 0:s.isElement(k))?await(s.getScale==null?void 0:s.getScale(k))||{x:1,y:1}:{x:1,y:1},y=lo(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:p,offsetParent:k,strategy:u}):p);return{top:(C.top-y.top+h.top)/m.y,bottom:(y.bottom-C.bottom+h.bottom)/m.y,left:(C.left-y.left+h.left)/m.x,right:(y.right-C.right+h.right)/m.x}}const ki=async(t,o,n)=>{const{placement:r="bottom",strategy:l="absolute",middleware:s=[],platform:a}=n,c=s.filter(Boolean),u=await(a.isRTL==null?void 0:a.isRTL(o));let i=await a.getElementRects({reference:t,floating:o,strategy:l}),{x:d,y:f}=Pn(i,r,u),x=r,b={},h=0;for(let v=0;v<c.length;v++){var w;const{name:C,fn:p}=c[v],{x:k,y:m,data:y,reset:g}=await p({x:d,y:f,initialPlacement:r,placement:x,strategy:l,middlewareData:b,rects:i,platform:{...a,detectOverflow:(w=a.detectOverflow)!=null?w:wi},elements:{reference:t,floating:o}});d=k??d,f=m??f,b={...b,[C]:{...b[C],...y}},g&&h<=50&&(h++,typeof g=="object"&&(g.placement&&(x=g.placement),g.rects&&(i=g.rects===!0?await a.getElementRects({reference:t,floating:o,strategy:l}):g.rects),{x:d,y:f}=Pn(i,x,u)),v=-1)}return{x:d,y:f,placement:x,strategy:l,middlewareData:b}},xi=t=>({name:"arrow",options:t,async fn(o){const{x:n,y:r,placement:l,rects:s,platform:a,elements:c,middlewareData:u}=o,{element:i,padding:d=0}=He(t,o)||{};if(i==null)return{};const f=_r(d),x={x:n,y:r},b=sn(l),h=an(b),w=await a.getDimensions(i),v=b==="y",C=v?"top":"left",p=v?"bottom":"right",k=v?"clientHeight":"clientWidth",m=s.reference[h]+s.reference[b]-x[b]-s.floating[h],y=x[b]-s.reference[b],g=await(a.getOffsetParent==null?void 0:a.getOffsetParent(i));let N=g?g[k]:0;(!N||!await(a.isElement==null?void 0:a.isElement(g)))&&(N=c.floating[k]||s.floating[h]);const E=m/2-y/2,V=N/2-w[h]/2-1,B=Je(f[C],V),M=Je(f[p],V),z=B,D=N-w[h]-M,R=N/2-w[h]/2+E,K=jo(z,R,D),U=!u.arrow&&St(l)!=null&&R!==K&&s.reference[h]/2-(R<z?B:M)-w[h]/2<0,ee=U?R<z?R-z:R-D:0;return{[b]:x[b]+ee,data:{[b]:K,centerOffset:R-K-ee,...U&&{alignmentOffset:ee}},reset:U}}}),Ci=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var n,r;const{placement:l,middlewareData:s,rects:a,initialPlacement:c,platform:u,elements:i}=o,{mainAxis:d=!0,crossAxis:f=!0,fallbackPlacements:x,fallbackStrategy:b="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:w=!0,...v}=He(t,o);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const C=Ue(l),p=Pe(c),k=Ue(c)===c,m=await(u.isRTL==null?void 0:u.isRTL(i.floating)),y=x||(k||!w?[ro(c)]:pi(c)),g=h!=="none";!x&&g&&y.push(...yi(c,w,h,m));const N=[c,...y],E=await u.detectOverflow(o,v),V=[];let B=((r=s.flip)==null?void 0:r.overflows)||[];if(d&&V.push(E[C]),f){const R=mi(l,a,m);V.push(E[R[0]],E[R[1]])}if(B=[...B,{placement:l,overflows:V}],!V.every(R=>R<=0)){var M,z;const R=(((M=s.flip)==null?void 0:M.index)||0)+1,K=N[R];if(K&&(!(f==="alignment"?p!==Pe(K):!1)||B.every(L=>Pe(L.placement)===p?L.overflows[0]>0:!0)))return{data:{index:R,overflows:B},reset:{placement:K}};let U=(z=B.filter(ee=>ee.overflows[0]<=0).sort((ee,L)=>ee.overflows[1]-L.overflows[1])[0])==null?void 0:z.placement;if(!U)switch(b){case"bestFit":{var D;const ee=(D=B.filter(L=>{if(g){const ie=Pe(L.placement);return ie===p||ie==="y"}return!0}).map(L=>[L.placement,L.overflows.filter(ie=>ie>0).reduce((ie,H)=>ie+H,0)]).sort((L,ie)=>L[1]-ie[1])[0])==null?void 0:D[0];ee&&(U=ee);break}case"initialPlacement":U=c;break}if(l!==U)return{reset:{placement:U}}}return{}}}};function On(t,o){return{top:t.top-o.height,right:t.right-o.width,bottom:t.bottom-o.height,left:t.left-o.width}}function Rn(t){return ci.some(o=>t[o]>=0)}const Ei=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(o){const{rects:n,platform:r}=o,{strategy:l="referenceHidden",...s}=He(t,o);switch(l){case"referenceHidden":{const a=await r.detectOverflow(o,{...s,elementContext:"reference"}),c=On(a,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:Rn(c)}}}case"escaped":{const a=await r.detectOverflow(o,{...s,altBoundary:!0}),c=On(a,n.floating);return{data:{escapedOffsets:c,escaped:Rn(c)}}}default:return{}}}}},Ar=new Set(["left","top"]);async function Bi(t,o){const{placement:n,platform:r,elements:l}=t,s=await(r.isRTL==null?void 0:r.isRTL(l.floating)),a=Ue(n),c=St(n),u=Pe(n)==="y",i=Ar.has(a)?-1:1,d=s&&u?-1:1,f=He(o,t);let{mainAxis:x,crossAxis:b,alignmentAxis:h}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return c&&typeof h=="number"&&(b=c==="end"?h*-1:h),u?{x:b*d,y:x*i}:{x:x*i,y:b*d}}const Ni=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var n,r;const{x:l,y:s,placement:a,middlewareData:c}=o,u=await Bi(o,t);return a===((n=c.offset)==null?void 0:n.placement)&&(r=c.arrow)!=null&&r.alignmentOffset?{}:{x:l+u.x,y:s+u.y,data:{...u,placement:a}}}}},Si=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){const{x:n,y:r,placement:l,platform:s}=o,{mainAxis:a=!0,crossAxis:c=!1,limiter:u={fn:C=>{let{x:p,y:k}=C;return{x:p,y:k}}},...i}=He(t,o),d={x:n,y:r},f=await s.detectOverflow(o,i),x=Pe(Ue(l)),b=ln(x);let h=d[b],w=d[x];if(a){const C=b==="y"?"top":"left",p=b==="y"?"bottom":"right",k=h+f[C],m=h-f[p];h=jo(k,h,m)}if(c){const C=x==="y"?"top":"left",p=x==="y"?"bottom":"right",k=w+f[C],m=w-f[p];w=jo(k,w,m)}const v=u.fn({...o,[b]:h,[x]:w});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[b]:a,[x]:c}}}}}},Vi=function(t){return t===void 0&&(t={}),{options:t,fn(o){const{x:n,y:r,placement:l,rects:s,middlewareData:a}=o,{offset:c=0,mainAxis:u=!0,crossAxis:i=!0}=He(t,o),d={x:n,y:r},f=Pe(l),x=ln(f);let b=d[x],h=d[f];const w=He(c,o),v=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(u){const k=x==="y"?"height":"width",m=s.reference[x]-s.floating[k]+v.mainAxis,y=s.reference[x]+s.reference[k]-v.mainAxis;b<m?b=m:b>y&&(b=y)}if(i){var C,p;const k=x==="y"?"width":"height",m=Ar.has(Ue(l)),y=s.reference[f]-s.floating[k]+(m&&((C=a.offset)==null?void 0:C[f])||0)+(m?0:v.crossAxis),g=s.reference[f]+s.reference[k]+(m?0:((p=a.offset)==null?void 0:p[f])||0)-(m?v.crossAxis:0);h<y?h=y:h>g&&(h=g)}return{[x]:b,[f]:h}}}},Mi=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(o){var n,r;const{placement:l,rects:s,platform:a,elements:c}=o,{apply:u=()=>{},...i}=He(t,o),d=await a.detectOverflow(o,i),f=Ue(l),x=St(l),b=Pe(l)==="y",{width:h,height:w}=s.floating;let v,C;f==="top"||f==="bottom"?(v=f,C=x===(await(a.isRTL==null?void 0:a.isRTL(c.floating))?"start":"end")?"left":"right"):(C=f,v=x==="end"?"top":"bottom");const p=w-d.top-d.bottom,k=h-d.left-d.right,m=Je(w-d[v],p),y=Je(h-d[C],k),g=!o.middlewareData.shift;let N=m,E=y;if((n=o.middlewareData.shift)!=null&&n.enabled.x&&(E=k),(r=o.middlewareData.shift)!=null&&r.enabled.y&&(N=p),g&&!x){const B=Ne(d.left,0),M=Ne(d.right,0),z=Ne(d.top,0),D=Ne(d.bottom,0);b?E=h-2*(B!==0||M!==0?B+M:Ne(d.left,d.right)):N=w-2*(z!==0||D!==0?z+D:Ne(d.top,d.bottom))}await u({...o,availableWidth:E,availableHeight:N});const V=await a.getDimensions(c.floating);return h!==V.width||w!==V.height?{reset:{rects:!0}}:{}}}};function fo(){return typeof window<"u"}function ct(t){return cn(t)?(t.nodeName||"").toLowerCase():"#document"}function Ve(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function qe(t){var o;return(o=(cn(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function cn(t){return fo()?t instanceof Node||t instanceof Ve(t).Node:!1}function ze(t){return fo()?t instanceof Element||t instanceof Ve(t).Element:!1}function Re(t){return fo()?t instanceof HTMLElement||t instanceof Ve(t).HTMLElement:!1}function Ln(t){return!fo()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ve(t).ShadowRoot}const Di=new Set(["inline","contents"]);function Pt(t){const{overflow:o,overflowX:n,overflowY:r,display:l}=$e(t);return/auto|scroll|overlay|hidden|clip/.test(o+r+n)&&!Di.has(l)}const zi=new Set(["table","td","th"]);function $i(t){return zi.has(ct(t))}const Ii=[":popover-open",":modal"];function mo(t){return Ii.some(o=>{try{return t.matches(o)}catch{return!1}})}const _i=["transform","translate","scale","rotate","perspective"],Ai=["transform","translate","scale","rotate","perspective","filter"],Ti=["paint","layout","strict","content"];function un(t){const o=dn(),n=ze(t)?$e(t):t;return _i.some(r=>n[r]?n[r]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!o&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!o&&(n.filter?n.filter!=="none":!1)||Ai.some(r=>(n.willChange||"").includes(r))||Ti.some(r=>(n.contain||"").includes(r))}function Pi(t){let o=et(t);for(;Re(o)&&!Ct(o);){if(un(o))return o;if(mo(o))return null;o=et(o)}return null}function dn(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Oi=new Set(["html","body","#document"]);function Ct(t){return Oi.has(ct(t))}function $e(t){return Ve(t).getComputedStyle(t)}function po(t){return ze(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function et(t){if(ct(t)==="html")return t;const o=t.assignedSlot||t.parentNode||Ln(t)&&t.host||qe(t);return Ln(o)?o.host:o}function Tr(t){const o=et(t);return Ct(o)?t.ownerDocument?t.ownerDocument.body:t.body:Re(o)&&Pt(o)?o:Tr(o)}function It(t,o,n){var r;o===void 0&&(o=[]),n===void 0&&(n=!0);const l=Tr(t),s=l===((r=t.ownerDocument)==null?void 0:r.body),a=Ve(l);if(s){const c=Uo(a);return o.concat(a,a.visualViewport||[],Pt(l)?l:[],c&&n?It(c):[])}return o.concat(l,It(l,[],n))}function Uo(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Pr(t){const o=$e(t);let n=parseFloat(o.width)||0,r=parseFloat(o.height)||0;const l=Re(t),s=l?t.offsetWidth:n,a=l?t.offsetHeight:r,c=no(n)!==s||no(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function fn(t){return ze(t)?t:t.contextElement}function bt(t){const o=fn(t);if(!Re(o))return Oe(1);const n=o.getBoundingClientRect(),{width:r,height:l,$:s}=Pr(o);let a=(s?no(n.width):n.width)/r,c=(s?no(n.height):n.height)/l;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}const Ri=Oe(0);function Or(t){const o=Ve(t);return!dn()||!o.visualViewport?Ri:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function Li(t,o,n){return o===void 0&&(o=!1),!n||o&&n!==Ve(t)?!1:o}function it(t,o,n,r){o===void 0&&(o=!1),n===void 0&&(n=!1);const l=t.getBoundingClientRect(),s=fn(t);let a=Oe(1);o&&(r?ze(r)&&(a=bt(r)):a=bt(t));const c=Li(s,n,r)?Or(s):Oe(0);let u=(l.left+c.x)/a.x,i=(l.top+c.y)/a.y,d=l.width/a.x,f=l.height/a.y;if(s){const x=Ve(s),b=r&&ze(r)?Ve(r):r;let h=x,w=Uo(h);for(;w&&r&&b!==h;){const v=bt(w),C=w.getBoundingClientRect(),p=$e(w),k=C.left+(w.clientLeft+parseFloat(p.paddingLeft))*v.x,m=C.top+(w.clientTop+parseFloat(p.paddingTop))*v.y;u*=v.x,i*=v.y,d*=v.x,f*=v.y,u+=k,i+=m,h=Ve(w),w=Uo(h)}}return lo({width:d,height:f,x:u,y:i})}function vo(t,o){const n=po(t).scrollLeft;return o?o.left+n:it(qe(t)).left+n}function Rr(t,o){const n=t.getBoundingClientRect(),r=n.left+o.scrollLeft-vo(t,n),l=n.top+o.scrollTop;return{x:r,y:l}}function Fi(t){let{elements:o,rect:n,offsetParent:r,strategy:l}=t;const s=l==="fixed",a=qe(r),c=o?mo(o.floating):!1;if(r===a||c&&s)return n;let u={scrollLeft:0,scrollTop:0},i=Oe(1);const d=Oe(0),f=Re(r);if((f||!f&&!s)&&((ct(r)!=="body"||Pt(a))&&(u=po(r)),Re(r))){const b=it(r);i=bt(r),d.x=b.x+r.clientLeft,d.y=b.y+r.clientTop}const x=a&&!f&&!s?Rr(a,u):Oe(0);return{width:n.width*i.x,height:n.height*i.y,x:n.x*i.x-u.scrollLeft*i.x+d.x+x.x,y:n.y*i.y-u.scrollTop*i.y+d.y+x.y}}function qi(t){return Array.from(t.getClientRects())}function ji(t){const o=qe(t),n=po(t),r=t.ownerDocument.body,l=Ne(o.scrollWidth,o.clientWidth,r.scrollWidth,r.clientWidth),s=Ne(o.scrollHeight,o.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+vo(t);const c=-n.scrollTop;return $e(r).direction==="rtl"&&(a+=Ne(o.clientWidth,r.clientWidth)-l),{width:l,height:s,x:a,y:c}}const Fn=25;function Hi(t,o){const n=Ve(t),r=qe(t),l=n.visualViewport;let s=r.clientWidth,a=r.clientHeight,c=0,u=0;if(l){s=l.width,a=l.height;const d=dn();(!d||d&&o==="fixed")&&(c=l.offsetLeft,u=l.offsetTop)}const i=vo(r);if(i<=0){const d=r.ownerDocument,f=d.body,x=getComputedStyle(f),b=d.compatMode==="CSS1Compat"&&parseFloat(x.marginLeft)+parseFloat(x.marginRight)||0,h=Math.abs(r.clientWidth-f.clientWidth-b);h<=Fn&&(s-=h)}else i<=Fn&&(s+=i);return{width:s,height:a,x:c,y:u}}const Ui=new Set(["absolute","fixed"]);function Wi(t,o){const n=it(t,!0,o==="fixed"),r=n.top+t.clientTop,l=n.left+t.clientLeft,s=Re(t)?bt(t):Oe(1),a=t.clientWidth*s.x,c=t.clientHeight*s.y,u=l*s.x,i=r*s.y;return{width:a,height:c,x:u,y:i}}function qn(t,o,n){let r;if(o==="viewport")r=Hi(t,n);else if(o==="document")r=ji(qe(t));else if(ze(o))r=Wi(o,n);else{const l=Or(t);r={x:o.x-l.x,y:o.y-l.y,width:o.width,height:o.height}}return lo(r)}function Lr(t,o){const n=et(t);return n===o||!ze(n)||Ct(n)?!1:$e(n).position==="fixed"||Lr(n,o)}function Gi(t,o){const n=o.get(t);if(n)return n;let r=It(t,[],!1).filter(c=>ze(c)&&ct(c)!=="body"),l=null;const s=$e(t).position==="fixed";let a=s?et(t):t;for(;ze(a)&&!Ct(a);){const c=$e(a),u=un(a);!u&&c.position==="fixed"&&(l=null),(s?!u&&!l:!u&&c.position==="static"&&!!l&&Ui.has(l.position)||Pt(a)&&!u&&Lr(t,a))?r=r.filter(d=>d!==a):l=c,a=et(a)}return o.set(t,r),r}function Ki(t){let{element:o,boundary:n,rootBoundary:r,strategy:l}=t;const a=[...n==="clippingAncestors"?mo(o)?[]:Gi(o,this._c):[].concat(n),r],c=a[0],u=a.reduce((i,d)=>{const f=qn(o,d,l);return i.top=Ne(f.top,i.top),i.right=Je(f.right,i.right),i.bottom=Je(f.bottom,i.bottom),i.left=Ne(f.left,i.left),i},qn(o,c,l));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function Yi(t){const{width:o,height:n}=Pr(t);return{width:o,height:n}}function Qi(t,o,n){const r=Re(o),l=qe(o),s=n==="fixed",a=it(t,!0,s,o);let c={scrollLeft:0,scrollTop:0};const u=Oe(0);function i(){u.x=vo(l)}if(r||!r&&!s)if((ct(o)!=="body"||Pt(l))&&(c=po(o)),r){const b=it(o,!0,s,o);u.x=b.x+o.clientLeft,u.y=b.y+o.clientTop}else l&&i();s&&!r&&l&&i();const d=l&&!r&&!s?Rr(l,c):Oe(0),f=a.left+c.scrollLeft-u.x-d.x,x=a.top+c.scrollTop-u.y-d.y;return{x:f,y:x,width:a.width,height:a.height}}function Vo(t){return $e(t).position==="static"}function jn(t,o){if(!Re(t)||$e(t).position==="fixed")return null;if(o)return o(t);let n=t.offsetParent;return qe(t)===n&&(n=n.ownerDocument.body),n}function Fr(t,o){const n=Ve(t);if(mo(t))return n;if(!Re(t)){let l=et(t);for(;l&&!Ct(l);){if(ze(l)&&!Vo(l))return l;l=et(l)}return n}let r=jn(t,o);for(;r&&$i(r)&&Vo(r);)r=jn(r,o);return r&&Ct(r)&&Vo(r)&&!un(r)?n:r||Pi(t)||n}const Xi=async function(t){const o=this.getOffsetParent||Fr,n=this.getDimensions,r=await n(t.floating);return{reference:Qi(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Zi(t){return $e(t).direction==="rtl"}const Ji={convertOffsetParentRelativeRectToViewportRelativeRect:Fi,getDocumentElement:qe,getClippingRect:Ki,getOffsetParent:Fr,getElementRects:Xi,getClientRects:qi,getDimensions:Yi,getScale:bt,isElement:ze,isRTL:Zi};function qr(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function ec(t,o){let n=null,r;const l=qe(t);function s(){var c;clearTimeout(r),(c=n)==null||c.disconnect(),n=null}function a(c,u){c===void 0&&(c=!1),u===void 0&&(u=1),s();const i=t.getBoundingClientRect(),{left:d,top:f,width:x,height:b}=i;if(c||o(),!x||!b)return;const h=qt(f),w=qt(l.clientWidth-(d+x)),v=qt(l.clientHeight-(f+b)),C=qt(d),k={rootMargin:-h+"px "+-w+"px "+-v+"px "+-C+"px",threshold:Ne(0,Je(1,u))||1};let m=!0;function y(g){const N=g[0].intersectionRatio;if(N!==u){if(!m)return a();N?a(!1,N):r=setTimeout(()=>{a(!1,1e-7)},1e3)}N===1&&!qr(i,t.getBoundingClientRect())&&a(),m=!1}try{n=new IntersectionObserver(y,{...k,root:l.ownerDocument})}catch{n=new IntersectionObserver(y,k)}n.observe(t)}return a(!0),s}function tc(t,o,n,r){r===void 0&&(r={});const{ancestorScroll:l=!0,ancestorResize:s=!0,elementResize:a=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:u=!1}=r,i=fn(t),d=l||s?[...i?It(i):[],...It(o)]:[];d.forEach(C=>{l&&C.addEventListener("scroll",n,{passive:!0}),s&&C.addEventListener("resize",n)});const f=i&&c?ec(i,n):null;let x=-1,b=null;a&&(b=new ResizeObserver(C=>{let[p]=C;p&&p.target===i&&b&&(b.unobserve(o),cancelAnimationFrame(x),x=requestAnimationFrame(()=>{var k;(k=b)==null||k.observe(o)})),n()}),i&&!u&&b.observe(i),b.observe(o));let h,w=u?it(t):null;u&&v();function v(){const C=it(t);w&&!qr(w,C)&&n(),w=C,h=requestAnimationFrame(v)}return n(),()=>{var C;d.forEach(p=>{l&&p.removeEventListener("scroll",n),s&&p.removeEventListener("resize",n)}),f?.(),(C=b)==null||C.disconnect(),b=null,u&&cancelAnimationFrame(h)}}const oc=Ni,nc=Si,Hn=Ci,rc=Mi,lc=Ei,ac=xi,sc=Vi,ic=(t,o,n)=>{const r=new Map,l={platform:Ji,...n},s={...l.platform,_c:r};return ki(t,o,{...l,platform:s})};function cc(t){return t!=null&&typeof t=="object"&&"$el"in t}function Wo(t){if(cc(t)){const o=t.$el;return cn(o)&&ct(o)==="#comment"?null:o}return t}function ht(t){return typeof t=="function"?t():e.unref(t)}function uc(t){return{name:"arrow",options:t,fn(o){const n=Wo(ht(t.element));return n==null?{}:ac({element:n,padding:t.padding}).fn(o)}}}function jr(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Un(t,o){const n=jr(t);return Math.round(o*n)/n}function dc(t,o,n){n===void 0&&(n={});const r=n.whileElementsMounted,l=e.computed(()=>{var N;return(N=ht(n.open))!=null?N:!0}),s=e.computed(()=>ht(n.middleware)),a=e.computed(()=>{var N;return(N=ht(n.placement))!=null?N:"bottom"}),c=e.computed(()=>{var N;return(N=ht(n.strategy))!=null?N:"absolute"}),u=e.computed(()=>{var N;return(N=ht(n.transform))!=null?N:!0}),i=e.computed(()=>Wo(t.value)),d=e.computed(()=>Wo(o.value)),f=e.ref(0),x=e.ref(0),b=e.ref(c.value),h=e.ref(a.value),w=e.shallowRef({}),v=e.ref(!1),C=e.computed(()=>{const N={position:b.value,left:"0",top:"0"};if(!d.value)return N;const E=Un(d.value,f.value),V=Un(d.value,x.value);return u.value?{...N,transform:"translate("+E+"px, "+V+"px)",...jr(d.value)>=1.5&&{willChange:"transform"}}:{position:b.value,left:E+"px",top:V+"px"}});let p;function k(){if(i.value==null||d.value==null)return;const N=l.value;ic(i.value,d.value,{middleware:s.value,placement:a.value,strategy:c.value}).then(E=>{f.value=E.x,x.value=E.y,b.value=E.strategy,h.value=E.placement,w.value=E.middlewareData,v.value=N!==!1})}function m(){typeof p=="function"&&(p(),p=void 0)}function y(){if(m(),r===void 0){k();return}if(i.value!=null&&d.value!=null){p=r(i.value,d.value,k);return}}function g(){l.value||(v.value=!1)}return e.watch([s,a,c,l],k,{flush:"sync"}),e.watch([i,d],y,{flush:"sync"}),e.watch(l,g,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(m),{x:e.shallowReadonly(f),y:e.shallowReadonly(x),strategy:e.shallowReadonly(b),placement:e.shallowReadonly(h),middlewareData:e.shallowReadonly(w),isPositioned:e.shallowReadonly(v),floatingStyles:C,update:k}}const fc={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},[B0,mc]=We("PopperContent");var pc=e.defineComponent({inheritAttrs:!1,__name:"PopperContent",props:e.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}},{...fc}),emits:["placed"],setup(t,{emit:o}){const n=t,r=o,l=Ir(),{forwardRef:s,currentElement:a}=pe(),c=e.ref(),u=e.ref(),{width:i,height:d}=ss(u),f=e.computed(()=>n.side+(n.align!=="center"?`-${n.align}`:"")),x=e.computed(()=>typeof n.collisionPadding=="number"?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),b=e.computed(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),h=e.computed(()=>({padding:x.value,boundary:b.value.filter(si),altBoundary:b.value.length>0})),w=e.computed(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),v=se.computedEager(()=>[oc({mainAxis:n.sideOffset+d.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&Hn({...h.value,...w.value}),n.avoidCollisions&&nc({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky==="partial"?sc():void 0,...h.value}),!n.prioritizePosition&&n.avoidCollisions&&Hn({...h.value,...w.value}),rc({...h.value,apply:({elements:z,rects:D,availableWidth:R,availableHeight:K})=>{const{width:U,height:ee}=D.reference,L=z.floating.style;L.setProperty("--reka-popper-available-width",`${R}px`),L.setProperty("--reka-popper-available-height",`${K}px`),L.setProperty("--reka-popper-anchor-width",`${U}px`),L.setProperty("--reka-popper-anchor-height",`${ee}px`)}}),u.value&&uc({element:u.value,padding:n.arrowPadding}),ii({arrowWidth:i.value,arrowHeight:d.value}),n.hideWhenDetached&&lc({strategy:"referenceHidden",...h.value})]),C=e.computed(()=>n.reference??l.anchor.value),{floatingStyles:p,placement:k,isPositioned:m,middlewareData:y}=dc(C,c,{strategy:n.positionStrategy,placement:f,whileElementsMounted:(...z)=>tc(...z,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy==="always"}),middleware:v}),g=e.computed(()=>qo(k.value)[0]),N=e.computed(()=>qo(k.value)[1]);e.watchPostEffect(()=>{m.value&&r("placed")});const E=e.computed(()=>{const z=y.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&z}),V=e.ref("");e.watchEffect(()=>{a.value&&(V.value=window.getComputedStyle(a.value).zIndex)});const B=e.computed(()=>y.value.arrow?.x??0),M=e.computed(()=>y.value.arrow?.y??0);return mc({placedSide:g,onArrowChange:z=>u.value=z,arrowX:B,arrowY:M,shouldHideArrow:E}),(z,D)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"floatingRef",ref:c,"data-reka-popper-content-wrapper":"",style:e.normalizeStyle({...e.unref(p),transform:e.unref(m)?e.unref(p).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:V.value,"--reka-popper-transform-origin":[e.unref(y).transformOrigin?.x,e.unref(y).transformOrigin?.y].join(" "),...e.unref(y).hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}})},[e.createVNode(e.unref(ve),e.mergeProps({ref:e.unref(s)},z.$attrs,{"as-child":n.asChild,as:z.as,"data-side":g.value,"data-align":N.value,style:{animation:e.unref(m)?void 0:"none"}}),{default:e.withCtx(()=>[e.renderSlot(z.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4))}}),vc=pc;function gc(t){const o=co({nonce:e.ref()});return e.computed(()=>t?.value||o.nonce?.value)}var hc=e.defineComponent({__name:"Label",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"label"}},setup(t){const o=t;return pe(),(n,r)=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps(o,{onMousedown:r[0]||(r[0]=l=>{!l.defaultPrevented&&l.detail>1&&l.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),yc=hc;const bc=[" ","Enter","ArrowUp","ArrowDown"],wc=[" ","Enter"],De=10;function _t(t,o,n){return t===void 0?!1:Array.isArray(t)?t.some(r=>Go(r,o,n)):Go(t,o,n)}function Go(t,o,n){return t===void 0||o===void 0?!1:typeof t=="string"?t===o:typeof n=="function"?n(t,o):typeof n=="string"?t?.[n]===o?.[n]:Wa(t,o)}function kc(t){return t==null||t===""||Array.isArray(t)&&t.length===0}const xc={key:0,value:""},[tt,Hr]=We("SelectRoot");var Cc=e.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(t,{emit:o}){const n=t,r=o,{required:l,disabled:s,multiple:a,dir:c}=e.toRefs(n),u=se.useVModel(n,"modelValue",r,{defaultValue:n.defaultValue??(a.value?[]:void 0),passive:n.modelValue===void 0,deep:!0}),i=se.useVModel(n,"open",r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),d=e.ref(),f=e.ref(),x=e.ref({x:0,y:0}),b=e.computed(()=>a.value&&Array.isArray(u.value)?u.value?.length===0:Oo(u.value));Nt({isProvider:!0});const h=es(c),w=xr(d),v=e.ref(new Set),C=e.computed(()=>Array.from(v.value).map(m=>m.value).join(";"));function p(m){if(a.value){const y=Array.isArray(u.value)?[...u.value]:[],g=y.findIndex(N=>Go(N,m,n.by));g===-1?y.push(m):y.splice(g,1),u.value=[...y]}else u.value=m}function k(m){return Array.from(v.value).find(y=>_t(m,y.value,n.by))}return Hr({triggerElement:d,onTriggerChange:m=>{d.value=m},valueElement:f,onValueElementChange:m=>{f.value=m},contentId:"",modelValue:u,onValueChange:p,by:n.by,open:i,multiple:a,required:l,onOpenChange:m=>{i.value=m},dir:h,triggerPointerDownPosRef:x,disabled:s,isEmptyModelValue:b,optionsSet:v,onOptionAdd:m=>{const y=k(m.value);y&&v.value.delete(y),v.value.add(m)},onOptionRemove:m=>{const y=k(m.value);y&&v.value.delete(y)}}),(m,y)=>(e.openBlock(),e.createBlock(e.unref(ri),null,{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default",{modelValue:e.unref(u),open:e.unref(i)}),e.unref(w)?(e.openBlock(),e.createBlock(Nc,{key:C.value,"aria-hidden":"true",tabindex:"-1",multiple:e.unref(a),required:e.unref(l),name:m.name,autocomplete:m.autocomplete,disabled:e.unref(s),value:e.unref(u)},{default:e.withCtx(()=>[e.unref(Oo)(e.unref(u))?(e.openBlock(),e.createElementBlock("option",xc)):e.createCommentVNode("v-if",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Array.from(v.value),g=>(e.openBlock(),e.createElementBlock("option",e.mergeProps({key:g.value??""},{ref_for:!0},g),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):e.createCommentVNode("v-if",!0)]),_:3}))}}),Ec=Cc,Bc=e.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(t){const o=t,n=e.ref(),r=tt();e.watch(()=>o.value,(s,a)=>{const c=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(c,"value").set;if(s!==a&&i&&n.value){const d=new Event("change",{bubbles:!0});i.call(n.value,s),n.value.dispatchEvent(d)}});function l(s){r.onValueChange(s.target.value)}return(s,a)=>(e.openBlock(),e.createBlock(e.unref($r),{"as-child":""},{default:e.withCtx(()=>[e.createElementVNode("select",e.mergeProps({ref_key:"selectElement",ref:n},o,{onInput:l}),[e.renderSlot(s.$slots,"default")],16)]),_:3}))}}),Nc=Bc,Sc=e.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:De},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(t){const n=Ge(t);return(r,l)=>(e.openBlock(),e.createBlock(e.unref(vc),e.mergeProps(e.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:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16))}}),Vc=Sc;const Mc={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[ut,Ur]=We("SelectContent");var Dc=e.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(t,{emit:o}){const n=t,r=o,l=tt();ts(),kr(n.bodyLock);const{CollectionSlot:s,getItems:a}=Nt(),c=e.ref();Er(c);const{search:u,handleTypeaheadSearch:i}=Br(),d=e.ref(),f=e.ref(),x=e.ref(),b=e.ref(!1),h=e.ref(!1),w=e.ref(!1);function v(){f.value&&c.value&&$n([f.value,c.value])}e.watch(b,()=>{v()});const{onOpenChange:C,triggerPointerDownPosRef:p}=l;e.watchEffect(g=>{if(!c.value)return;let N={x:0,y:0};const E=B=>{N={x:Math.abs(Math.round(B.pageX)-(p.value?.x??0)),y:Math.abs(Math.round(B.pageY)-(p.value?.y??0))}},V=B=>{B.pointerType!=="touch"&&(N.x<=10&&N.y<=10?B.preventDefault():c.value?.contains(B.target)||C(!1),document.removeEventListener("pointermove",E),p.value=null)};p.value!==null&&(document.addEventListener("pointermove",E),document.addEventListener("pointerup",V,{capture:!0,once:!0})),g(()=>{document.removeEventListener("pointermove",E),document.removeEventListener("pointerup",V,{capture:!0})})});function k(g){const N=g.ctrlKey||g.altKey||g.metaKey;if(g.key==="Tab"&&g.preventDefault(),!N&&g.key.length===1&&i(g.key,a()),["ArrowUp","ArrowDown","Home","End"].includes(g.key)){let V=[...a().map(B=>B.ref)];if(["ArrowUp","End"].includes(g.key)&&(V=V.slice().reverse()),["ArrowUp","ArrowDown"].includes(g.key)){const B=g.target,M=V.indexOf(B);V=V.slice(M+1)}setTimeout(()=>$n(V)),g.preventDefault()}}const m=e.computed(()=>n.position==="popper"?n:{}),y=Ge(m.value);return Ur({content:c,viewport:d,onViewportChange:g=>{d.value=g},itemRefCallback:(g,N,E)=>{const V=!h.value&&!E,B=_t(l.modelValue.value,N,l.by);if(l.multiple.value){if(w.value)return;(B||V)&&(f.value=g,B&&(w.value=!0))}else(B||V)&&(f.value=g);V&&(h.value=!0)},selectedItem:f,selectedItemText:x,onItemLeave:()=>{c.value?.focus()},itemTextRefCallback:(g,N,E)=>{const V=!h.value&&!E;(_t(l.modelValue.value,N,l.by)||V)&&(x.value=g)},focusSelectedItem:v,position:n.position,isPositioned:b,searchRef:u}),(g,N)=>(e.openBlock(),e.createBlock(e.unref(s),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Mr),{"as-child":"",onMountAutoFocus:N[6]||(N[6]=e.withModifiers(()=>{},["prevent"])),onUnmountAutoFocus:N[7]||(N[7]=E=>{r("closeAutoFocus",E),!E.defaultPrevented&&(e.unref(l).triggerElement.value?.focus({preventScroll:!0}),E.preventDefault())})},{default:e.withCtx(()=>[e.createVNode(e.unref(Sr),{"as-child":"","disable-outside-pointer-events":g.disableOutsidePointerEvents,onFocusOutside:N[2]||(N[2]=e.withModifiers(()=>{},["prevent"])),onDismiss:N[3]||(N[3]=E=>e.unref(l).onOpenChange(!1)),onEscapeKeyDown:N[4]||(N[4]=E=>r("escapeKeyDown",E)),onPointerDownOutside:N[5]||(N[5]=E=>r("pointerDownOutside",E))},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.position==="popper"?Vc:_c),e.mergeProps({...g.$attrs,...e.unref(y)},{id:e.unref(l).contentId,ref:E=>{const V=e.unref(se.unrefElement)(E);V?.hasAttribute("data-reka-popper-content-wrapper")?c.value=V.firstElementChild:c.value=V},role:"listbox","data-state":e.unref(l).open.value?"open":"closed",dir:e.unref(l).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:N[0]||(N[0]=e.withModifiers(()=>{},["prevent"])),onPlaced:N[1]||(N[1]=E=>b.value=!0),onKeydown:k}),{default:e.withCtx(()=>[e.renderSlot(g.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),zc=Dc;const[mn,$c]=We("SelectItemAlignedPosition");var Ic=e.defineComponent({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(t,{emit:o}){const n=t,r=o,{getItems:l}=Nt(),s=tt(),a=ut(),c=e.ref(!1),u=e.ref(!0),i=e.ref(),{forwardRef:d,currentElement:f}=pe(),{viewport:x,selectedItem:b,selectedItemText:h,focusSelectedItem:w}=a;function v(){if(s.triggerElement.value&&s.valueElement.value&&i.value&&f.value&&x?.value&&b?.value&&h?.value){const k=s.triggerElement.value.getBoundingClientRect(),m=f.value.getBoundingClientRect(),y=s.valueElement.value.getBoundingClientRect(),g=h.value.getBoundingClientRect();if(s.dir.value!=="rtl"){const S=g.left-m.left,_=y.left-S,$=k.left-_,j=k.width+$,ne=Math.max(j,m.width),re=window.innerWidth-De,ke=Sn(_,De,Math.max(De,re-ne));i.value.style.minWidth=`${j}px`,i.value.style.left=`${ke}px`}else{const S=m.right-g.right,_=window.innerWidth-y.right-S,$=window.innerWidth-k.right-_,j=k.width+$,ne=Math.max(j,m.width),re=window.innerWidth-De,ke=Sn(_,De,Math.max(De,re-ne));i.value.style.minWidth=`${j}px`,i.value.style.right=`${ke}px`}const N=l().map(S=>S.ref),E=window.innerHeight-De*2,V=x.value.scrollHeight,B=window.getComputedStyle(f.value),M=Number.parseInt(B.borderTopWidth,10),z=Number.parseInt(B.paddingTop,10),D=Number.parseInt(B.borderBottomWidth,10),R=Number.parseInt(B.paddingBottom,10),K=M+z+V+R+D,U=Math.min(b.value.offsetHeight*5,K),ee=window.getComputedStyle(x.value),L=Number.parseInt(ee.paddingTop,10),ie=Number.parseInt(ee.paddingBottom,10),H=k.top+k.height/2-De,O=E-H,G=b.value.offsetHeight/2,Z=b.value.offsetTop+G,W=M+z+Z,me=K-W;if(W<=H){const S=b.value===N[N.length-1];i.value.style.bottom="0px";const _=f.value.clientHeight-x.value.offsetTop-x.value.offsetHeight,$=Math.max(O,G+(S?ie:0)+_+D),j=W+$;i.value.style.height=`${j}px`}else{const S=b.value===N[0];i.value.style.top="0px";const $=Math.max(H,M+x.value.offsetTop+(S?L:0)+G)+me;i.value.style.height=`${$}px`,x.value.scrollTop=W-H+x.value.offsetTop}i.value.style.margin=`${De}px 0`,i.value.style.minHeight=`${U}px`,i.value.style.maxHeight=`${E}px`,r("placed"),requestAnimationFrame(()=>c.value=!0)}}const C=e.ref("");e.onMounted(async()=>{await e.nextTick(),v(),f.value&&(C.value=window.getComputedStyle(f.value).zIndex)});function p(k){k&&u.value===!0&&(v(),w?.(),u.value=!1)}return se.useResizeObserver(s.triggerElement,()=>{v()}),$c({contentWrapper:i,shouldExpandOnScrollRef:c,onScrollButtonChange:p}),(k,m)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"contentWrapperElement",ref:i,style:e.normalizeStyle({display:"flex",flexDirection:"column",position:"fixed",zIndex:C.value})},[e.createVNode(e.unref(ve),e.mergeProps({ref:e.unref(d),style:{boxSizing:"border-box",maxHeight:"100%"}},{...k.$attrs,...n}),{default:e.withCtx(()=>[e.renderSlot(k.$slots,"default")]),_:3},16)],4))}}),_c=Ic,Ac=e.defineComponent({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(t){return Hr(t.context),Ur(Mc),(n,r)=>e.renderSlot(n.$slots,"default")}}),Tc=Ac;const Pc={key:1};var Oc=e.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(t,{emit:o}){const n=t,l=Bt(n,o),s=tt(),a=e.ref();e.onMounted(()=>{a.value=new DocumentFragment});const c=e.ref(),u=e.computed(()=>n.forceMount||s.open.value),i=e.ref(u.value);return e.watch(u,()=>{setTimeout(()=>i.value=u.value)}),(d,f)=>u.value||i.value||c.value?.present?(e.openBlock(),e.createBlock(e.unref(rn),{key:0,ref_key:"presenceRef",ref:c,present:u.value},{default:e.withCtx(()=>[e.createVNode(zc,e.normalizeProps(e.guardReactiveProps({...e.unref(l),...d.$attrs})),{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},16)]),_:3},8,["present"])):a.value?(e.openBlock(),e.createElementBlock("div",Pc,[(e.openBlock(),e.createBlock(e.Teleport,{to:a.value},[e.createVNode(Tc,{context:e.unref(s)},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):e.createCommentVNode("v-if",!0)}}),Rc=Oc,Lc=e.defineComponent({__name:"SelectIcon",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){return(o,n)=>(e.openBlock(),e.createBlock(e.unref(ve),{"aria-hidden":"true",as:o.as,"as-child":o.asChild},{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default",{},()=>[n[0]||(n[0]=e.createTextVNode("▼"))])]),_:3},8,["as","as-child"]))}}),Fc=Lc;const[Wr,qc]=We("SelectItem");var jc=e.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(t,{emit:o}){const n=t,r=o,{disabled:l}=e.toRefs(n),s=tt(),a=ut(),{forwardRef:c,currentElement:u}=pe(),{CollectionItem:i}=Nt(),d=e.computed(()=>_t(s.modelValue?.value,n.value,s.by)),f=e.ref(!1),x=e.ref(n.textValue??""),b=oo(void 0,"reka-select-item-text"),h="select.select";async function w(m){if(m.defaultPrevented)return;const y={originalEvent:m,value:n.value};on(h,v,y)}async function v(m){await e.nextTick(),r("select",m),!m.defaultPrevented&&(l.value||(s.onValueChange(n.value),s.multiple.value||s.onOpenChange(!1)))}async function C(m){await e.nextTick(),!m.defaultPrevented&&(l.value?a.onItemLeave?.():m.currentTarget?.focus({preventScroll:!0}))}async function p(m){await e.nextTick(),!m.defaultPrevented&&m.currentTarget===Se()&&a.onItemLeave?.()}async function k(m){await e.nextTick(),!(m.defaultPrevented||a.searchRef?.value!==""&&m.key===" ")&&(wc.includes(m.key)&&w(m),m.key===" "&&m.preventDefault())}if(n.value==="")throw new 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 e.onMounted(()=>{u.value&&a.itemRefCallback(u.value,n.value,n.disabled)}),qc({value:n.value,disabled:l,textId:b,isSelected:d,onItemTextChange:m=>{x.value=((x.value||m?.textContent)??"").trim()}}),(m,y)=>(e.openBlock(),e.createBlock(e.unref(i),{value:{textValue:x.value}},{default:e.withCtx(()=>[e.createVNode(e.unref(ve),{ref:e.unref(c),role:"option","aria-labelledby":e.unref(b),"data-highlighted":f.value?"":void 0,"aria-selected":d.value,"data-state":d.value?"checked":"unchecked","aria-disabled":e.unref(l)||void 0,"data-disabled":e.unref(l)?"":void 0,tabindex:e.unref(l)?void 0:-1,as:m.as,"as-child":m.asChild,onFocus:y[0]||(y[0]=g=>f.value=!0),onBlur:y[1]||(y[1]=g=>f.value=!1),onPointerup:w,onPointerdown:y[2]||(y[2]=g=>{g.currentTarget.focus({preventScroll:!0})}),onTouchend:y[3]||(y[3]=e.withModifiers(()=>{},["prevent","stop"])),onPointermove:C,onPointerleave:p,onKeydown:k},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),Hc=jc,Uc=e.defineComponent({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const o=t,n=Wr();return(r,l)=>e.unref(n).isSelected.value?(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps({key:0,"aria-hidden":"true"},o),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16)):e.createCommentVNode("v-if",!0)}}),Wc=Uc,Gc=e.defineComponent({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const o=t,n=tt(),r=ut(),l=Wr(),{forwardRef:s,currentElement:a}=pe(),c=e.computed(()=>({value:l.value,disabled:l.disabled.value,textContent:a.value?.textContent??l.value?.toString()??""}));return e.onMounted(()=>{a.value&&(l.onItemTextChange(a.value),r.itemTextRefCallback(a.value,l.value,l.disabled.value),n.onOptionAdd(c.value))}),e.onUnmounted(()=>{n.onOptionRemove(c.value)}),(u,i)=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps({id:e.unref(l).textId,ref:e.unref(s)},{...o,...u.$attrs}),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},16,["id"]))}}),Kc=Gc,Yc=e.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(t){const o=t;return(n,r)=>(e.openBlock(),e.createBlock(e.unref(zr),e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Qc=Yc,Xc=e.defineComponent({__name:"SelectScrollButtonImpl",emits:["autoScroll"],setup(t,{emit:o}){const n=o,{getItems:r}=Nt(),l=ut(),s=e.ref(null);function a(){s.value!==null&&(window.clearInterval(s.value),s.value=null)}e.watchEffect(()=>{r().map(d=>d.ref).find(d=>d===Se())?.scrollIntoView({block:"nearest"})});function c(){s.value===null&&(s.value=window.setInterval(()=>{n("autoScroll")},50))}function u(){l.onItemLeave?.(),s.value===null&&(s.value=window.setInterval(()=>{n("autoScroll")},50))}return e.onBeforeUnmount(()=>a()),(i,d)=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps({"aria-hidden":"true",style:{flexShrink:0}},i.$parent?.$props,{onPointerdown:c,onPointermove:u,onPointerleave:d[0]||(d[0]=()=>{a()})}),{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3},16))}}),Gr=Xc,Zc=e.defineComponent({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const o=ut(),n=o.position==="item-aligned"?mn():void 0,{forwardRef:r,currentElement:l}=pe(),s=e.ref(!1);return e.watchEffect(a=>{if(o.viewport?.value&&o.isPositioned?.value){let u=function(){const i=c.scrollHeight-c.clientHeight;s.value=Math.ceil(c.scrollTop)<i};const c=o.viewport.value;u(),c.addEventListener("scroll",u),a(()=>c.removeEventListener("scroll",u))}}),e.watch(l,()=>{l.value&&n?.onScrollButtonChange(l.value)}),(a,c)=>s.value?(e.openBlock(),e.createBlock(Gr,{key:0,ref:e.unref(r),onAutoScroll:c[0]||(c[0]=()=>{const{viewport:u,selectedItem:i}=e.unref(o);u?.value&&i?.value&&(u.value.scrollTop=u.value.scrollTop+i.value.offsetHeight)})},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512)):e.createCommentVNode("v-if",!0)}}),Jc=Zc,eu=e.defineComponent({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const o=ut(),n=o.position==="item-aligned"?mn():void 0,{forwardRef:r,currentElement:l}=pe(),s=e.ref(!1);return e.watchEffect(a=>{if(o.viewport?.value&&o.isPositioned?.value){let u=function(){s.value=c.scrollTop>0};const c=o.viewport.value;u(),c.addEventListener("scroll",u),a(()=>c.removeEventListener("scroll",u))}}),e.watch(l,()=>{l.value&&n?.onScrollButtonChange(l.value)}),(a,c)=>s.value?(e.openBlock(),e.createBlock(Gr,{key:0,ref:e.unref(r),onAutoScroll:c[0]||(c[0]=()=>{const{viewport:u,selectedItem:i}=e.unref(o);u?.value&&i?.value&&(u.value.scrollTop=u.value.scrollTop-i.value.offsetHeight)})},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},512)):e.createCommentVNode("v-if",!0)}}),tu=eu,ou=e.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(t){const o=t,n=tt(),{forwardRef:r,currentElement:l}=pe(),s=e.computed(()=>n.disabled?.value||o.disabled);n.contentId||=oo(void 0,"reka-select-content"),e.onMounted(()=>{n.onTriggerChange(l.value)});const{getItems:a}=Nt(),{search:c,handleTypeaheadSearch:u,resetTypeahead:i}=Br();function d(){s.value||(n.onOpenChange(!0),i())}function f(x){d(),n.triggerPointerDownPosRef.value={x:Math.round(x.pageX),y:Math.round(x.pageY)}}return(x,b)=>(e.openBlock(),e.createBlock(e.unref(ai),{"as-child":"",reference:x.reference},{default:e.withCtx(()=>[e.createVNode(e.unref(ve),{ref:e.unref(r),role:"combobox",type:x.as==="button"?"button":void 0,"aria-controls":e.unref(n).contentId,"aria-expanded":e.unref(n).open.value||!1,"aria-required":e.unref(n).required?.value,"aria-autocomplete":"none",disabled:s.value,dir:e.unref(n)?.dir.value,"data-state":e.unref(n)?.open.value?"open":"closed","data-disabled":s.value?"":void 0,"data-placeholder":e.unref(kc)(e.unref(n).modelValue?.value)?"":void 0,"as-child":x.asChild,as:x.as,onClick:b[0]||(b[0]=h=>{h?.currentTarget?.focus()}),onPointerdown:b[1]||(b[1]=h=>{if(h.pointerType==="touch")return h.preventDefault();const w=h.target;w.hasPointerCapture(h.pointerId)&&w.releasePointerCapture(h.pointerId),h.button===0&&h.ctrlKey===!1&&(f(h),h.preventDefault())}),onPointerup:b[2]||(b[2]=e.withModifiers(h=>{h.pointerType==="touch"&&f(h)},["prevent"])),onKeydown:b[3]||(b[3]=h=>{const w=e.unref(c)!=="";!(h.ctrlKey||h.altKey||h.metaKey)&&h.key.length===1&&w&&h.key===" "||(e.unref(u)(h.key,e.unref(a)()),e.unref(bc).includes(h.key)&&(d(),h.preventDefault()))})},{default:e.withCtx(()=>[e.renderSlot(x.$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"]))}}),nu=ou,ru=e.defineComponent({__name:"SelectValue",props:{placeholder:{type:String,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const o=t,{forwardRef:n,currentElement:r}=pe(),l=tt();e.onMounted(()=>{l.valueElement=r});const s=e.computed(()=>{let c=[];const u=Array.from(l.optionsSet.value),i=d=>u.find(f=>_t(d,f.value,l.by));return Array.isArray(l.modelValue.value)?c=l.modelValue.value.map(d=>i(d)?.textContent??""):c=[i(l.modelValue.value)?.textContent??""],c.filter(Boolean)}),a=e.computed(()=>s.value.length?s.value.join(", "):o.placeholder);return(c,u)=>(e.openBlock(),e.createBlock(e.unref(ve),{ref:e.unref(n),as:c.as,"as-child":c.asChild,style:{pointerEvents:"none"},"data-placeholder":s.value.length?void 0:o.placeholder},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default",{selectedLabel:s.value,modelValue:e.unref(l).modelValue.value},()=>[e.createTextVNode(e.toDisplayString(a.value),1)])]),_:3},8,["as","as-child","data-placeholder"]))}}),lu=ru,au=e.defineComponent({__name:"SelectViewport",props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const o=t,{nonce:n}=e.toRefs(o),r=gc(n),l=ut(),s=l.position==="item-aligned"?mn():void 0,{forwardRef:a,currentElement:c}=pe();e.onMounted(()=>{l?.onViewportChange(c.value)});const u=e.ref(0);function i(d){const f=d.currentTarget,{shouldExpandOnScrollRef:x,contentWrapper:b}=s??{};if(x?.value&&b?.value){const h=Math.abs(u.value-f.scrollTop);if(h>0){const w=window.innerHeight-De*2,v=Number.parseFloat(b.value.style.minHeight),C=Number.parseFloat(b.value.style.height),p=Math.max(v,C);if(p<w){const k=p+h,m=Math.min(w,k),y=k-m;b.value.style.height=`${m}px`,b.value.style.bottom==="0px"&&(f.scrollTop=y>0?y:0,b.value.style.justifyContent="flex-end")}}}u.value=f.scrollTop}return(d,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(ve),e.mergeProps({ref:e.unref(a),"data-reka-select-viewport":"",role:"presentation"},{...d.$attrs,...o},{style:{position:"relative",flex:1,overflow:"hidden auto"},onScroll:i}),{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},16),e.createVNode(e.unref(ve),{as:"style",nonce:e.unref(r)},{default:e.withCtx(()=>f[0]||(f[0]=[e.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))}}),su=au;const[iu,cu]=We("SwitchRoot");var uu=e.defineComponent({__name:"SwitchRoot",props:{defaultValue:{type:Boolean,required:!1},modelValue:{type:[Boolean,null],required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},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(t,{emit:o}){const n=t,r=o,{disabled:l}=e.toRefs(n),s=se.useVModel(n,"modelValue",r,{defaultValue:n.defaultValue,passive:n.modelValue===void 0});function a(){l.value||(s.value=!s.value)}const{forwardRef:c,currentElement:u}=pe(),i=xr(u),d=e.computed(()=>n.id&&u.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return cu({modelValue:s,toggleCheck:a,disabled:l}),(f,x)=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps(f.$attrs,{id:f.id,ref:e.unref(c),role:"switch",type:f.as==="button"?"button":void 0,value:f.value,"aria-label":f.$attrs["aria-label"]||d.value,"aria-checked":e.unref(s),"aria-required":f.required,"data-state":e.unref(s)?"checked":"unchecked","data-disabled":e.unref(l)?"":void 0,"as-child":f.asChild,as:f.as,disabled:e.unref(l),onClick:a,onKeydown:e.withKeys(e.withModifiers(a,["prevent"]),["enter"])}),{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{modelValue:e.unref(s)}),e.unref(i)&&f.name?(e.openBlock(),e.createBlock(e.unref(ti),{key:0,type:"checkbox",name:f.name,disabled:e.unref(l),required:f.required,value:f.value,checked:!!e.unref(s)},null,8,["name","disabled","required","value","checked"])):e.createCommentVNode("v-if",!0)]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]))}}),du=uu,fu=e.defineComponent({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const o=iu();return pe(),(n,r)=>(e.openBlock(),e.createBlock(e.unref(ve),{"data-state":e.unref(o).modelValue?.value?"checked":"unchecked","data-disabled":e.unref(o).disabled.value?"":void 0,"as-child":n.asChild,as:n.as},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),mu=fu;const pu=(t,o)=>{const n=new Array(t.length+o.length);for(let r=0;r<t.length;r++)n[r]=t[r];for(let r=0;r<o.length;r++)n[t.length+r]=o[r];return n},vu=(t,o)=>({classGroupId:t,validator:o}),Kr=(t=new Map,o=null,n)=>({nextPart:t,validators:o,classGroupId:n}),ao="-",Wn=[],gu="arbitrary..",hu=t=>{const o=bu(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return yu(a);const c=a.split(ao),u=c[0]===""&&c.length>1?1:0;return Yr(c,u,o)},getConflictingClassGroupIds:(a,c)=>{if(c){const u=r[a],i=n[a];return u?i?pu(i,u):u:i||Wn}return n[a]||Wn}}},Yr=(t,o,n)=>{if(t.length-o===0)return n.classGroupId;const l=t[o],s=n.nextPart.get(l);if(s){const i=Yr(t,o+1,s);if(i)return i}const a=n.validators;if(a===null)return;const c=o===0?t.join(ao):t.slice(o).join(ao),u=a.length;for(let i=0;i<u;i++){const d=a[i];if(d.validator(c))return d.classGroupId}},yu=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const o=t.slice(1,-1),n=o.indexOf(":"),r=o.slice(0,n);return r?gu+r:void 0})(),bu=t=>{const{theme:o,classGroups:n}=t;return wu(n,o)},wu=(t,o)=>{const n=Kr();for(const r in t){const l=t[r];pn(l,n,r,o)}return n},pn=(t,o,n,r)=>{const l=t.length;for(let s=0;s<l;s++){const a=t[s];ku(a,o,n,r)}},ku=(t,o,n,r)=>{if(typeof t=="string"){xu(t,o,n);return}if(typeof t=="function"){Cu(t,o,n,r);return}Eu(t,o,n,r)},xu=(t,o,n)=>{const r=t===""?o:Qr(o,t);r.classGroupId=n},Cu=(t,o,n,r)=>{if(Bu(t)){pn(t(r),o,n,r);return}o.validators===null&&(o.validators=[]),o.validators.push(vu(n,t))},Eu=(t,o,n,r)=>{const l=Object.entries(t),s=l.length;for(let a=0;a<s;a++){const[c,u]=l[a];pn(u,Qr(o,c),n,r)}},Qr=(t,o)=>{let n=t;const r=o.split(ao),l=r.length;for(let s=0;s<l;s++){const a=r[s];let c=n.nextPart.get(a);c||(c=Kr(),n.nextPart.set(a,c)),n=c}return n},Bu=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,Nu=t=>{if(t<1)return{get:()=>{},set:()=>{}};let o=0,n=Object.create(null),r=Object.create(null);const l=(s,a)=>{n[s]=a,o++,o>t&&(o=0,r=n,n=Object.create(null))};return{get(s){let a=n[s];if(a!==void 0)return a;if((a=r[s])!==void 0)return l(s,a),a},set(s,a){s in n?n[s]=a:l(s,a)}}},Ko="!",Gn=":",Su=[],Kn=(t,o,n,r,l)=>({modifiers:t,hasImportantModifier:o,baseClassName:n,maybePostfixModifierPosition:r,isExternal:l}),Vu=t=>{const{prefix:o,experimentalParseClassName:n}=t;let r=l=>{const s=[];let a=0,c=0,u=0,i;const d=l.length;for(let w=0;w<d;w++){const v=l[w];if(a===0&&c===0){if(v===Gn){s.push(l.slice(u,w)),u=w+1;continue}if(v==="/"){i=w;continue}}v==="["?a++:v==="]"?a--:v==="("?c++:v===")"&&c--}const f=s.length===0?l:l.slice(u);let x=f,b=!1;f.endsWith(Ko)?(x=f.slice(0,-1),b=!0):f.startsWith(Ko)&&(x=f.slice(1),b=!0);const h=i&&i>u?i-u:void 0;return Kn(s,b,x,h)};if(o){const l=o+Gn,s=r;r=a=>a.startsWith(l)?s(a.slice(l.length)):Kn(Su,!1,a,void 0,!0)}if(n){const l=r;r=s=>n({className:s,parseClassName:l})}return r},Mu=t=>{const o=new Map;return t.orderSensitiveModifiers.forEach((n,r)=>{o.set(n,1e6+r)}),n=>{const r=[];let l=[];for(let s=0;s<n.length;s++){const a=n[s],c=a[0]==="[",u=o.has(a);c||u?(l.length>0&&(l.sort(),r.push(...l),l=[]),r.push(a)):l.push(a)}return l.length>0&&(l.sort(),r.push(...l)),r}},Du=t=>({cache:Nu(t.cacheSize),parseClassName:Vu(t),sortModifiers:Mu(t),...hu(t)}),zu=/\s+/,$u=(t,o)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:l,sortModifiers:s}=o,a=[],c=t.trim().split(zu);let u="";for(let i=c.length-1;i>=0;i-=1){const d=c[i],{isExternal:f,modifiers:x,hasImportantModifier:b,baseClassName:h,maybePostfixModifierPosition:w}=n(d);if(f){u=d+(u.length>0?" "+u:u);continue}let v=!!w,C=r(v?h.substring(0,w):h);if(!C){if(!v){u=d+(u.length>0?" "+u:u);continue}if(C=r(h),!C){u=d+(u.length>0?" "+u:u);continue}v=!1}const p=x.length===0?"":x.length===1?x[0]:s(x).join(":"),k=b?p+Ko:p,m=k+C;if(a.indexOf(m)>-1)continue;a.push(m);const y=l(C,v);for(let g=0;g<y.length;++g){const N=y[g];a.push(k+N)}u=d+(u.length>0?" "+u:u)}return u},Iu=(...t)=>{let o=0,n,r,l="";for(;o<t.length;)(n=t[o++])&&(r=Xr(n))&&(l&&(l+=" "),l+=r);return l},Xr=t=>{if(typeof t=="string")return t;let o,n="";for(let r=0;r<t.length;r++)t[r]&&(o=Xr(t[r]))&&(n&&(n+=" "),n+=o);return n},_u=(t,...o)=>{let n,r,l,s;const a=u=>{const i=o.reduce((d,f)=>f(d),t());return n=Du(i),r=n.cache.get,l=n.cache.set,s=c,c(u)},c=u=>{const i=r(u);if(i)return i;const d=$u(u,n);return l(u,d),d};return s=a,(...u)=>s(Iu(...u))},Au=[],ge=t=>{const o=n=>n[t]||Au;return o.isThemeGetter=!0,o},Zr=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Jr=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Tu=/^\d+\/\d+$/,Pu=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ou=/\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$/,Ru=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Lu=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Fu=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,vt=t=>Tu.test(t),oe=t=>!!t&&!Number.isNaN(Number(t)),Xe=t=>!!t&&Number.isInteger(Number(t)),Mo=t=>t.endsWith("%")&&oe(t.slice(0,-1)),je=t=>Pu.test(t),el=()=>!0,qu=t=>Ou.test(t)&&!Ru.test(t),vn=()=>!1,ju=t=>Lu.test(t),Hu=t=>Fu.test(t),Uu=t=>!Q(t)&&!X(t),Wu=t=>ot(t,nl,vn),Q=t=>Zr.test(t),at=t=>ot(t,rl,qu),Yn=t=>ot(t,ed,oe),Gu=t=>ot(t,al,el),Ku=t=>ot(t,ll,vn),Qn=t=>ot(t,tl,vn),Yu=t=>ot(t,ol,Hu),jt=t=>ot(t,sl,ju),X=t=>Jr.test(t),$t=t=>dt(t,rl),Qu=t=>dt(t,ll),Xn=t=>dt(t,tl),Xu=t=>dt(t,nl),Zu=t=>dt(t,ol),Ht=t=>dt(t,sl,!0),Ju=t=>dt(t,al,!0),ot=(t,o,n)=>{const r=Zr.exec(t);return r?r[1]?o(r[1]):n(r[2]):!1},dt=(t,o,n=!1)=>{const r=Jr.exec(t);return r?r[1]?o(r[1]):n:!1},tl=t=>t==="position"||t==="percentage",ol=t=>t==="image"||t==="url",nl=t=>t==="length"||t==="size"||t==="bg-size",rl=t=>t==="length",ed=t=>t==="number",ll=t=>t==="family-name",al=t=>t==="number"||t==="weight",sl=t=>t==="shadow",td=()=>{const t=ge("color"),o=ge("font"),n=ge("text"),r=ge("font-weight"),l=ge("tracking"),s=ge("leading"),a=ge("breakpoint"),c=ge("container"),u=ge("spacing"),i=ge("radius"),d=ge("shadow"),f=ge("inset-shadow"),x=ge("text-shadow"),b=ge("drop-shadow"),h=ge("blur"),w=ge("perspective"),v=ge("aspect"),C=ge("ease"),p=ge("animate"),k=()=>["auto","avoid","all","avoid-page","page","left","right","column"],m=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],y=()=>[...m(),X,Q],g=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],E=()=>[X,Q,u],V=()=>[vt,"full","auto",...E()],B=()=>[Xe,"none","subgrid",X,Q],M=()=>["auto",{span:["full",Xe,X,Q]},Xe,X,Q],z=()=>[Xe,"auto",X,Q],D=()=>["auto","min","max","fr",X,Q],R=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],K=()=>["start","end","center","stretch","center-safe","end-safe"],U=()=>["auto",...E()],ee=()=>[vt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...E()],L=()=>[t,X,Q],ie=()=>[...m(),Xn,Qn,{position:[X,Q]}],H=()=>["no-repeat",{repeat:["","x","y","space","round"]}],O=()=>["auto","cover","contain",Xu,Wu,{size:[X,Q]}],G=()=>[Mo,$t,at],Z=()=>["","none","full",i,X,Q],W=()=>["",oe,$t,at],me=()=>["solid","dashed","dotted","double"],le=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],S=()=>[oe,Mo,Xn,Qn],_=()=>["","none",h,X,Q],$=()=>["none",oe,X,Q],j=()=>["none",oe,X,Q],ne=()=>[oe,X,Q],re=()=>[vt,"full",...E()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[je],breakpoint:[je],color:[el],container:[je],"drop-shadow":[je],ease:["in","out","in-out"],font:[Uu],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[je],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[je],shadow:[je],spacing:["px",oe],text:[je],"text-shadow":[je],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",vt,Q,X,v]}],container:["container"],columns:[{columns:[oe,Q,X,c]}],"break-after":[{"break-after":k()}],"break-before":[{"break-before":k()}],"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:y()}],overflow:[{overflow:g()}],"overflow-x":[{"overflow-x":g()}],"overflow-y":[{"overflow-y":g()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:V()}],"inset-x":[{"inset-x":V()}],"inset-y":[{"inset-y":V()}],start:[{start:V()}],end:[{end:V()}],top:[{top:V()}],right:[{right:V()}],bottom:[{bottom:V()}],left:[{left:V()}],visibility:["visible","invisible","collapse"],z:[{z:[Xe,"auto",X,Q]}],basis:[{basis:[vt,"full","auto",c,...E()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[oe,vt,"auto","initial","none",Q]}],grow:[{grow:["",oe,X,Q]}],shrink:[{shrink:["",oe,X,Q]}],order:[{order:[Xe,"first","last","none",X,Q]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:M()}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:M()}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:E()}],"gap-x":[{"gap-x":E()}],"gap-y":[{"gap-y":E()}],"justify-content":[{justify:[...R(),"normal"]}],"justify-items":[{"justify-items":[...K(),"normal"]}],"justify-self":[{"justify-self":["auto",...K()]}],"align-content":[{content:["normal",...R()]}],"align-items":[{items:[...K(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...K(),{baseline:["","last"]}]}],"place-content":[{"place-content":R()}],"place-items":[{"place-items":[...K(),"baseline"]}],"place-self":[{"place-self":["auto",...K()]}],p:[{p:E()}],px:[{px:E()}],py:[{py:E()}],ps:[{ps:E()}],pe:[{pe:E()}],pt:[{pt:E()}],pr:[{pr:E()}],pb:[{pb:E()}],pl:[{pl:E()}],m:[{m:U()}],mx:[{mx:U()}],my:[{my:U()}],ms:[{ms:U()}],me:[{me:U()}],mt:[{mt:U()}],mr:[{mr:U()}],mb:[{mb:U()}],ml:[{ml:U()}],"space-x":[{"space-x":E()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":E()}],"space-y-reverse":["space-y-reverse"],size:[{size:ee()}],w:[{w:[c,"screen",...ee()]}],"min-w":[{"min-w":[c,"screen","none",...ee()]}],"max-w":[{"max-w":[c,"screen","none","prose",{screen:[a]},...ee()]}],h:[{h:["screen","lh",...ee()]}],"min-h":[{"min-h":["screen","lh","none",...ee()]}],"max-h":[{"max-h":["screen","lh",...ee()]}],"font-size":[{text:["base",n,$t,at]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Ju,Gu]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Mo,Q]}],"font-family":[{font:[Qu,Ku,o]}],"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:[l,X,Q]}],"line-clamp":[{"line-clamp":[oe,"none",X,Yn]}],leading:[{leading:[s,...E()]}],"list-image":[{"list-image":["none",X,Q]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",X,Q]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...me(),"wavy"]}],"text-decoration-thickness":[{decoration:[oe,"from-font","auto",X,at]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[oe,"auto",X,Q]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:E()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",X,Q]}],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",X,Q]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ie()}],"bg-repeat":[{bg:H()}],"bg-size":[{bg:O()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Xe,X,Q],radial:["",X,Q],conic:[Xe,X,Q]},Zu,Yu]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:G()}],"gradient-via-pos":[{via:G()}],"gradient-to-pos":[{to:G()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:Z()}],"rounded-s":[{"rounded-s":Z()}],"rounded-e":[{"rounded-e":Z()}],"rounded-t":[{"rounded-t":Z()}],"rounded-r":[{"rounded-r":Z()}],"rounded-b":[{"rounded-b":Z()}],"rounded-l":[{"rounded-l":Z()}],"rounded-ss":[{"rounded-ss":Z()}],"rounded-se":[{"rounded-se":Z()}],"rounded-ee":[{"rounded-ee":Z()}],"rounded-es":[{"rounded-es":Z()}],"rounded-tl":[{"rounded-tl":Z()}],"rounded-tr":[{"rounded-tr":Z()}],"rounded-br":[{"rounded-br":Z()}],"rounded-bl":[{"rounded-bl":Z()}],"border-w":[{border:W()}],"border-w-x":[{"border-x":W()}],"border-w-y":[{"border-y":W()}],"border-w-s":[{"border-s":W()}],"border-w-e":[{"border-e":W()}],"border-w-t":[{"border-t":W()}],"border-w-r":[{"border-r":W()}],"border-w-b":[{"border-b":W()}],"border-w-l":[{"border-l":W()}],"divide-x":[{"divide-x":W()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":W()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...me(),"hidden","none"]}],"divide-style":[{divide:[...me(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...me(),"none","hidden"]}],"outline-offset":[{"outline-offset":[oe,X,Q]}],"outline-w":[{outline:["",oe,$t,at]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",d,Ht,jt]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",f,Ht,jt]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:W()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[oe,at]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":W()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",x,Ht,jt]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[oe,X,Q]}],"mix-blend":[{"mix-blend":[...le(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":le()}],"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":[oe]}],"mask-image-linear-from-pos":[{"mask-linear-from":S()}],"mask-image-linear-to-pos":[{"mask-linear-to":S()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":S()}],"mask-image-t-to-pos":[{"mask-t-to":S()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":S()}],"mask-image-r-to-pos":[{"mask-r-to":S()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":S()}],"mask-image-b-to-pos":[{"mask-b-to":S()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":S()}],"mask-image-l-to-pos":[{"mask-l-to":S()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":S()}],"mask-image-x-to-pos":[{"mask-x-to":S()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":S()}],"mask-image-y-to-pos":[{"mask-y-to":S()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[X,Q]}],"mask-image-radial-from-pos":[{"mask-radial-from":S()}],"mask-image-radial-to-pos":[{"mask-radial-to":S()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"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":m()}],"mask-image-conic-pos":[{"mask-conic":[oe]}],"mask-image-conic-from-pos":[{"mask-conic-from":S()}],"mask-image-conic-to-pos":[{"mask-conic-to":S()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ie()}],"mask-repeat":[{mask:H()}],"mask-size":[{mask:O()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",X,Q]}],filter:[{filter:["","none",X,Q]}],blur:[{blur:_()}],brightness:[{brightness:[oe,X,Q]}],contrast:[{contrast:[oe,X,Q]}],"drop-shadow":[{"drop-shadow":["","none",b,Ht,jt]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",oe,X,Q]}],"hue-rotate":[{"hue-rotate":[oe,X,Q]}],invert:[{invert:["",oe,X,Q]}],saturate:[{saturate:[oe,X,Q]}],sepia:[{sepia:["",oe,X,Q]}],"backdrop-filter":[{"backdrop-filter":["","none",X,Q]}],"backdrop-blur":[{"backdrop-blur":_()}],"backdrop-brightness":[{"backdrop-brightness":[oe,X,Q]}],"backdrop-contrast":[{"backdrop-contrast":[oe,X,Q]}],"backdrop-grayscale":[{"backdrop-grayscale":["",oe,X,Q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[oe,X,Q]}],"backdrop-invert":[{"backdrop-invert":["",oe,X,Q]}],"backdrop-opacity":[{"backdrop-opacity":[oe,X,Q]}],"backdrop-saturate":[{"backdrop-saturate":[oe,X,Q]}],"backdrop-sepia":[{"backdrop-sepia":["",oe,X,Q]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":E()}],"border-spacing-x":[{"border-spacing-x":E()}],"border-spacing-y":[{"border-spacing-y":E()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",X,Q]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[oe,"initial",X,Q]}],ease:[{ease:["linear","initial",C,X,Q]}],delay:[{delay:[oe,X,Q]}],animate:[{animate:["none",p,X,Q]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,X,Q]}],"perspective-origin":[{"perspective-origin":y()}],rotate:[{rotate:$()}],"rotate-x":[{"rotate-x":$()}],"rotate-y":[{"rotate-y":$()}],"rotate-z":[{"rotate-z":$()}],scale:[{scale:j()}],"scale-x":[{"scale-x":j()}],"scale-y":[{"scale-y":j()}],"scale-z":[{"scale-z":j()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[X,Q,"","none","gpu","cpu"]}],"transform-origin":[{origin:y()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:re()}],"translate-x":[{"translate-x":re()}],"translate-y":[{"translate-y":re()}],"translate-z":[{"translate-z":re()}],"translate-none":["translate-none"],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"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",X,Q]}],"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":E()}],"scroll-mx":[{"scroll-mx":E()}],"scroll-my":[{"scroll-my":E()}],"scroll-ms":[{"scroll-ms":E()}],"scroll-me":[{"scroll-me":E()}],"scroll-mt":[{"scroll-mt":E()}],"scroll-mr":[{"scroll-mr":E()}],"scroll-mb":[{"scroll-mb":E()}],"scroll-ml":[{"scroll-ml":E()}],"scroll-p":[{"scroll-p":E()}],"scroll-px":[{"scroll-px":E()}],"scroll-py":[{"scroll-py":E()}],"scroll-ps":[{"scroll-ps":E()}],"scroll-pe":[{"scroll-pe":E()}],"scroll-pt":[{"scroll-pt":E()}],"scroll-pr":[{"scroll-pr":E()}],"scroll-pb":[{"scroll-pb":E()}],"scroll-pl":[{"scroll-pl":E()}],"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",X,Q]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[oe,$t,at,Yn]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","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","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","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-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-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-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-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"]}},od=_u(td);function fe(...t){return od(wr(t))}const Te=e.defineComponent({__name:"Button",props:{variant:{},size:{},class:{},asChild:{type:Boolean},as:{default:"button"}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createBlock(e.unref(ve),{"data-slot":"button",as:t.as,"as-child":t.asChild,class:e.normalizeClass(e.unref(fe)(e.unref(nd)({variant:t.variant,size:t.size}),o.class))},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["as","as-child","class"]))}}),nd=Ha("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"}}),Yt=e.defineComponent({__name:"Dialog",props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:["update:open"],setup(t,{emit:o}){const l=Bt(t,o);return(s,a)=>(e.openBlock(),e.createBlock(e.unref(vs),e.mergeProps({"data-slot":"dialog"},e.unref(l)),{default:e.withCtx(c=>[e.renderSlot(s.$slots,"default",e.normalizeProps(e.guardReactiveProps(c)))]),_:3},16))}}),rd=e.defineComponent({__name:"DialogOverlay",props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=se.reactiveOmit(o,"class");return(r,l)=>(e.openBlock(),e.createBlock(e.unref(Ws),e.mergeProps({"data-slot":"dialog-overlay"},e.unref(n),{class:e.unref(fe)("fixed inset-0 z-50 bg-black/80",o.class)}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),Qt=e.defineComponent({inheritAttrs:!1,__name:"DialogContent",props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{},showCloseButton:{type:Boolean,default:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(t,{emit:o}){const n=t,r=o,l=se.reactiveOmit(n,"class"),s=Bt(l,r);return(a,c)=>(e.openBlock(),e.createBlock(e.unref(Ys),null,{default:e.withCtx(()=>[e.createVNode(rd),e.createVNode(e.unref(Ls),e.mergeProps({"data-slot":"dialog-content"},{...a.$attrs,...e.unref(s)},{class:e.unref(fe)("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",n.class)}),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default"),t.showCloseButton?(e.openBlock(),e.createBlock(e.unref(hs),{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:e.withCtx(()=>[e.createVNode(e.unref(to)),c[0]||(c[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))]),_:1})):e.createCommentVNode("",!0)]),_:3},16,["class"])]),_:3}))}}),ld=e.defineComponent({__name:"DialogDescription",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=se.reactiveOmit(o,"class"),r=Ge(n);return(l,s)=>(e.openBlock(),e.createBlock(e.unref(qs),e.mergeProps({"data-slot":"dialog-description"},e.unref(r),{class:e.unref(fe)("text-muted-foreground text-sm",o.class)}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},16,["class"]))}}),Xt=e.defineComponent({__name:"DialogFooter",props:{class:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"dialog-footer",class:e.normalizeClass(e.unref(fe)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",o.class))},[e.renderSlot(n.$slots,"default")],2))}}),Zt=e.defineComponent({__name:"DialogHeader",props:{class:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"dialog-header",class:e.normalizeClass(e.unref(fe)("flex flex-col gap-2 text-center sm:text-left",o.class))},[e.renderSlot(n.$slots,"default")],2))}}),Jt=e.defineComponent({__name:"DialogTitle",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=se.reactiveOmit(o,"class"),r=Ge(n);return(l,s)=>(e.openBlock(),e.createBlock(e.unref(Xs),e.mergeProps({"data-slot":"dialog-title"},e.unref(r),{class:e.unref(fe)("text-lg leading-none font-semibold",o.class)}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},16,["class"]))}}),ad={class:"space-y-2"},sd={key:0,class:"text-sm text-destructive"},Ce=e.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(t,{emit:o}){const n=t,r=o,l=e.computed({get:()=>n.isOpen,set:c=>{r("update:isOpen",c),c||r("cancel")}}),s=()=>{r("confirm")},a=()=>{n.isDeleting||r("cancel")};return(c,u)=>(e.openBlock(),e.createBlock(e.unref(Yt),{open:l.value,"onUpdate:open":u[0]||(u[0]=i=>l.value=i)},{default:e.withCtx(()=>[e.createVNode(e.unref(Qt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Zt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Jt),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1}),e.createVNode(e.unref(ld),null,{default:e.withCtx(()=>[e.createElementVNode("div",ad,[e.createElementVNode("p",null,e.toDisplayString(t.question),1),t.warning?(e.openBlock(),e.createElementBlock("p",sd,e.toDisplayString(t.warning),1)):e.createCommentVNode("",!0)])]),_:1})]),_:1}),e.createVNode(e.unref(Xt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Te),{variant:"outline",disabled:t.isDeleting,onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelLabel),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(Te),{variant:"destructive",disabled:t.isDeleting,onClick:s},{default:e.withCtx(()=>[t.isDeleting?(e.openBlock(),e.createBlock(e.unref(jl),{key:0,class:"h-4 w-4 mr-1.5 animate-spin"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.isDeleting?t.confirmingLabel:t.confirmLabel),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"]))}}),Ae=Ee.forScope("useBlobExplorer");function il(t){const o=e.ref([]),n=e.ref(!1),r=e.ref(!1),l=e.ref(0);async function s(b){const h=t();if(!h)return{};n.value=!0;try{const C=await(await te.getClientAsync()).document(h).blobs().list({limit:b.limit,...b.cursor?{cursor:b.cursor}:{}});return o.value=C.items.map(p=>({...p,size:p.size??p.numBytes??null,uploadedAt:p.uploadedAt??p.createdAt??null})),Ae.debug("Blobs page loaded",{count:o.value.length,docId:h}),console.log("blobs result",C),{nextCursor:C.cursor}}catch(w){return Ae.error("Failed to load blobs",w),J("Failed to load blobs: "+ae(w)),{}}finally{n.value=!1}}async function a(b){const h=t();if(!h)return null;n.value=!0;try{const v=await(await te.getClientAsync()).document(h).blobs().get(b);if(!v)return null;const C={...v,size:v.size??v.numBytes??null,uploadedAt:v.uploadedAt??v.createdAt??null};return o.value=[C],C}catch{return o.value=[],null}finally{n.value=!1}}async function c(b,h){const w=t();if(!w)return null;r.value=!0,l.value=0;try{const C=(await te.getClientAsync()).document(w).blobs(),p=await b.arrayBuffer();h?.(10),l.value=10;const{blobId:k}=await C.upload(new Uint8Array(p),{filename:b.name,contentType:b.type||"application/octet-stream",disposition:"attachment"});return l.value=100,h?.(100),Ae.debug("Blob uploaded",{blobId:k,filename:b.name}),qa(`Uploaded "${b.name}"`),k}catch(v){return Ae.error("Failed to upload blob",v),J("Upload failed: "+ae(v)),null}finally{r.value=!1,l.value=0}}function u(b){o.value=o.value.filter(h=>h.blobId!==b)}async function i(b){const h=t();if(!h)return!1;try{return await(await te.getClientAsync()).document(h).blobs().delete(b),o.value=o.value.filter(v=>v.blobId!==b),Ae.debug("Blob deleted",{blobId:b}),!0}catch(w){return Ae.error("Failed to delete blob",w),J("Delete failed: "+ae(w)),!1}}async function d(b){const h=t();if(!h)return b;const w=[];try{const C=(await te.getClientAsync()).document(h).blobs();await Promise.all(b.map(async k=>{try{await C.delete(k)}catch(m){Ae.error("Failed to delete blob",{id:k,err:m}),w.push(k)}}));const p=new Set(w);o.value=o.value.filter(k=>p.has(k.blobId)||!b.includes(k.blobId)),w.length>0&&J(`Failed to delete ${w.length} blob(s).`)}catch(v){Ae.error("Failed during bulk delete",v),J("Bulk delete failed: "+ae(v))}return w}async function f(b,h="attachment"){const w=t();if(!w)return null;try{return(await te.getClientAsync()).document(w).blobs().downloadUrl(b,{disposition:h})}catch(v){return Ae.error("Failed to get download URL",v),null}}async function x(b,h="blob"){const w=t();if(!w)return null;try{return await(await te.getClientAsync()).document(w).blobs().read(b,{as:h})}catch(v){return Ae.error("Failed to read blob content",v),null}}return{blobs:o,isLoading:n,isUploading:r,uploadProgress:l,loadPage:s,getBlob:a,uploadFile:c,removeBlob:u,deleteBlob:i,deleteBlobsBulk:d,getDownloadUrl:f,readBlobContent:x}}const id=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 cd(t){const[o=""]=t.split(";"),n=o.trim().toLowerCase();return id.has(n)}function cl(t){return t==null||isNaN(t)?"—":t<1024?t+" B":t<1024*1024?(t/1024).toFixed(1)+" KB":(t/(1024*1024)).toFixed(1)+" MB"}function ul(t,o="short"){if(!t)return"—";const n=new Date(t);return isNaN(n.getTime())?"—":n.toLocaleDateString("en-US",{month:o==="long"?"long":"short",day:"numeric",year:"numeric"})}function dl(t){navigator.clipboard.writeText(t).catch(()=>{const o=document.createElement("textarea");o.value=t,document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o)})}const ud={class:"relative h-full flex"},dd=["title"],fd={class:"w-64 lg:w-72 h-full border-l border-border flex flex-col bg-background"},md={key:0,class:"flex-1 flex flex-col items-center justify-center text-center p-6"},pd={class:"flex items-center px-3 py-2 border-b border-border shrink-0"},vd={class:"text-xs font-medium truncate"},gd={class:"flex-1 overflow-y-auto scrollbar-thin p-3 space-y-4"},hd={key:0},yd={key:0,class:"rounded-lg border border-border bg-muted/30 aspect-video flex items-center justify-center"},bd={key:1,class:"rounded-lg overflow-hidden border border-border bg-muted/30"},wd=["src"],kd={key:1,class:"aspect-video flex items-center justify-center p-4"},xd={key:2,class:"rounded-lg overflow-hidden border border-border bg-muted/30"},Cd=["src"],Ed={key:1,class:"h-24 flex items-center justify-center p-4"},Bd={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"},Nd={key:0},Sd={key:1,class:"opacity-40"},Vd={class:"space-y-1"},Md=["disabled"],Dd={key:0,class:"w-3.5 h-3.5 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},zd={key:1,class:"w-3.5 h-3.5 text-muted-foreground animate-spin",fill:"none",viewBox:"0 0 24 24"},$d=["disabled"],Id={key:0,class:"w-3.5 h-3.5 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_d={key:1,class:"w-3.5 h-3.5 text-muted-foreground animate-spin",fill:"none",viewBox:"0 0 24 24"},Ad={class:"space-y-2 text-xs"},Td=["title"],Pd={class:"text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all"},Od={key:0,class:"w-3 h-3 text-green-600 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Rd={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"},Ld={class:"flex justify-between"},Fd=["title"],qd={class:"flex justify-between min-w-0"},jd=["title"],Hd={class:"flex justify-between"},Ud={class:"flex justify-between"},Wd={key:0},Gd={class:"text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all"},Kd={key:0,class:"w-3 h-3 text-green-600 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Yd={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"},Qd=e.defineComponent({__name:"BlobDetailPanel",props:{documentId:{},selectedBlob:{},canWrite:{type:Boolean}},emits:["delete-blob","reload-blobs"],setup(t,{emit:o}){const n=t,r=o,{readBlobContent:l,deleteBlob:s}=il(()=>n.documentId),a=e.ref(typeof window<"u"?localStorage.getItem(xt)==="true":!1);e.watch(a,z=>{typeof window<"u"&&localStorage.setItem(xt,String(z))});const c=e.computed(()=>n.selectedBlob?.contentType.startsWith("image/")),u=e.computed(()=>n.selectedBlob?(n.selectedBlob.contentType.startsWith("text/")||n.selectedBlob.contentType==="application/json")&&n.selectedBlob.contentType!=="text/html":!1),i=e.computed(()=>n.selectedBlob?.contentType==="text/csv"||n.selectedBlob?.contentType.includes("spreadsheet")===!0),d=e.computed(()=>n.selectedBlob?.contentType==="application/pdf"),f=e.computed(()=>!!c.value||!!d.value||u.value||i.value),x=e.ref(null),b=e.ref(null),h=e.ref(!1);function w(){x.value&&(URL.revokeObjectURL(x.value),x.value=null),b.value=null}async function v(z){if(w(),c.value||d.value){h.value=!0;try{const D=await l(z.blobId,"blob");D instanceof Blob&&(x.value=URL.createObjectURL(D))}finally{h.value=!1}}else if(u.value||i.value){h.value=!0;try{const D=await l(z.blobId,"text");typeof D=="string"&&(b.value=D.slice(0,600))}finally{h.value=!1}}}e.watch(()=>n.selectedBlob,z=>{z?v(z):w()},{immediate:!0}),e.onUnmounted(()=>{w(),p&&clearTimeout(p)});const C=e.ref(null);let p=null;function k(z,D){dl(z),C.value=D,p&&clearTimeout(p),p=setTimeout(()=>{C.value=null},1200)}const m=e.ref(!1);async function y(){if(!(!n.selectedBlob||m.value)){m.value=!0;try{const z=await l(n.selectedBlob.blobId,"blob");if(!z)return;const D=URL.createObjectURL(z),R=document.createElement("a");R.href=D,R.download=n.selectedBlob.filename,document.body.appendChild(R),R.click(),document.body.removeChild(R),setTimeout(()=>URL.revokeObjectURL(D),5e3)}finally{m.value=!1}}}const g=e.computed(()=>n.selectedBlob?cd(n.selectedBlob.contentType):!1),N=e.ref(!1);async function E(){if(!(!n.selectedBlob||N.value)){N.value=!0;try{const z=await l(n.selectedBlob.blobId,"blob");if(!z)return;let D=z;const R=D.type;R.startsWith("text/")&&!R.includes("charset")&&(D=new Blob([await D.arrayBuffer()],{type:`${R}; charset=utf-8`}));const K=URL.createObjectURL(D);window.open(K,"_blank"),setTimeout(()=>URL.revokeObjectURL(K),6e4)}finally{N.value=!1}}}const V=e.ref(!1),B=e.ref(!1);async function M(){if(!n.selectedBlob)return;const z=n.selectedBlob.blobId;V.value=!1,r("delete-blob",z),B.value=!0;try{await s(z)||r("reload-blobs")}finally{B.value=!1}}return(z,D)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",ud,[e.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:a.value?"Show properties":"Hide properties",onClick:D[0]||(D[0]=R=>a.value=!a.value)},[(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["w-3 h-3 text-muted-foreground transition-transform",{"rotate-180":a.value}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...D[5]||(D[5]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],8,dd),e.withDirectives(e.createElementVNode("div",fd,[t.selectedBlob?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",pd,[e.createElementVNode("span",vd,e.toDisplayString(t.selectedBlob.filename),1)]),e.createElementVNode("div",gd,[f.value||h.value?(e.openBlock(),e.createElementBlock("div",hd,[D[11]||(D[11]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Preview ",-1)),h.value?(e.openBlock(),e.createElementBlock("div",yd,[...D[7]||(D[7]=[e.createElementVNode("svg",{class:"w-5 h-5 text-muted-foreground/50 animate-spin",fill:"none",viewBox:"0 0 24 24"},[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)])])):c.value?(e.openBlock(),e.createElementBlock("div",bd,[x.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:x.value,class:"w-full h-auto object-contain max-h-48",alt:"Preview"},null,8,wd)):(e.openBlock(),e.createElementBlock("div",kd,[...D[8]||(D[8]=[e.createElementVNode("svg",{class:"w-8 h-8 text-muted-foreground/40",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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?(e.openBlock(),e.createElementBlock("div",xd,[x.value?(e.openBlock(),e.createElementBlock("iframe",{key:0,src:x.value,class:"w-full h-48 border-0",title:"PDF preview"},null,8,Cd)):(e.openBlock(),e.createElementBlock("div",Ed,[...D[9]||(D[9]=[e.createElementVNode("span",{class:"text-[10px] text-muted-foreground"},"Unable to load preview",-1)])]))])):u.value||i.value?(e.openBlock(),e.createElementBlock("div",Bd,[b.value?(e.openBlock(),e.createElementBlock("span",Nd,e.toDisplayString(b.value),1)):(e.openBlock(),e.createElementBlock("span",Sd,"Loading…")),D[10]||(D[10]=e.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))])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",null,[D[17]||(D[17]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Actions ",-1)),e.createElementVNode("div",Vd,[e.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:m.value,onClick:y},[m.value?(e.openBlock(),e.createElementBlock("svg",zd,[...D[13]||(D[13]=[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Dd,[...D[12]||(D[12]=[e.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)])])),e.createTextVNode(" "+e.toDisplayString(m.value?"Downloading…":"Download"),1)],8,Md),g.value?(e.openBlock(),e.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:N.value,onClick:E},[N.value?(e.openBlock(),e.createElementBlock("svg",_d,[...D[15]||(D[15]=[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Id,[...D[14]||(D[14]=[e.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)])])),e.createTextVNode(" "+e.toDisplayString(N.value?"Opening…":"Open in new tab"),1)],8,$d)):e.createCommentVNode("",!0),t.canWrite?(e.openBlock(),e.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:D[1]||(D[1]=R=>V.value=!0)},[...D[16]||(D[16]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createTextVNode(" Delete blob ",-1)])])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",null,[D[28]||(D[28]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Info ",-1)),e.createElementVNode("div",Ad,[e.createElementVNode("div",null,[D[20]||(D[20]=e.createElementVNode("div",{class:"text-muted-foreground mb-0.5"},"Blob ID",-1)),e.createElementVNode("button",{class:"flex items-center gap-1 group hover:text-foreground w-full",title:t.selectedBlob.blobId,onClick:D[2]||(D[2]=R=>k(t.selectedBlob.blobId,"detail_blobid"))},[e.createElementVNode("code",Pd,e.toDisplayString(t.selectedBlob.blobId),1),C.value==="detail_blobid"?(e.openBlock(),e.createElementBlock("svg",Od,[...D[18]||(D[18]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Rd,[...D[19]||(D[19]=[e.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,Td)]),e.createElementVNode("div",Ld,[D[21]||(D[21]=e.createElementVNode("span",{class:"text-muted-foreground"},"Filename",-1)),e.createElementVNode("span",{class:"font-medium text-right truncate ml-2 max-w-[150px]",title:t.selectedBlob.filename},e.toDisplayString(t.selectedBlob.filename),9,Fd)]),e.createElementVNode("div",qd,[D[22]||(D[22]=e.createElementVNode("span",{class:"text-muted-foreground shrink-0"},"Content Type",-1)),e.createElementVNode("span",{class:"font-mono text-[10px] text-right break-all ml-2 min-w-0",title:t.selectedBlob.contentType},e.toDisplayString(t.selectedBlob.contentType),9,jd)]),e.createElementVNode("div",Hd,[D[23]||(D[23]=e.createElementVNode("span",{class:"text-muted-foreground"},"Size",-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(cl)(t.selectedBlob.size)),1)]),e.createElementVNode("div",Ud,[D[24]||(D[24]=e.createElementVNode("span",{class:"text-muted-foreground"},"Uploaded",-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(ul)(t.selectedBlob.uploadedAt,"long")),1)]),t.selectedBlob.sha256?(e.openBlock(),e.createElementBlock("div",Wd,[D[27]||(D[27]=e.createElementVNode("div",{class:"text-muted-foreground mb-0.5"},"SHA-256",-1)),e.createElementVNode("button",{class:"flex items-center gap-1 group hover:text-foreground w-full",onClick:D[3]||(D[3]=R=>k(t.selectedBlob.sha256,"detail_sha256"))},[e.createElementVNode("code",Gd,e.toDisplayString(t.selectedBlob.sha256),1),C.value==="detail_sha256"?(e.openBlock(),e.createElementBlock("svg",Kd,[...D[25]||(D[25]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Yd,[...D[26]||(D[26]=[e.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)])]))])])):e.createCommentVNode("",!0)])])])],64)):(e.openBlock(),e.createElementBlock("div",md,[...D[6]||(D[6]=[e.createElementVNode("svg",{class:"w-8 h-8 text-muted-foreground/30 mb-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createElementVNode("p",{class:"text-xs text-muted-foreground"}," Select a blob to view details ",-1)])]))],512),[[e.vShow,!a.value]])]),e.createVNode(Ce,{"is-open":V.value,title:"Delete Blob",question:`Delete "${t.selectedBlob?.filename}"?`,warning:"This action cannot be undone.","is-deleting":B.value,onCancel:D[4]||(D[4]=R=>V.value=!1),onConfirm:M},null,8,["is-open","question","is-deleting"])],64))}}),Xd={class:"w-48 lg:w-56 border-r border-border flex flex-col bg-background shrink-0"},Zd={class:"p-2 border-b border-border"},Jd={class:"relative"},ef={class:"flex-1 overflow-y-auto scrollbar-thin"},tf={key:1,class:"px-2 py-4 text-center text-xs text-muted-foreground"},of=["onClick"],nf=e.defineComponent({__name:"BlobExplorerDocumentSidebar",props:{documents:{},selectedDocId:{},documentListLoaded:{type:Boolean}},emits:["select-document"],setup(t,{emit:o}){const n=t,r=o,l=e.ref(""),s=e.computed(()=>{const u=l.value.trim().toLowerCase();return u?n.documents.filter(i=>(i.title||"").toLowerCase().includes(u)||i.documentId.toLowerCase().includes(u)):n.documents});function a(u){if(u.isRoot)return"root";const i=u.permission??"owner";return i==="reader"?"Viewer":i==="read-write"?"Editor":i==="owner"?"Owner":i}function c(u){if(u.isRoot)return"bg-amber-500/10 text-amber-600";const i=u.permission??"owner";return i==="read-write"?"bg-blue-500/10 text-blue-600":i==="reader"?"bg-green-500/10 text-green-600":"bg-muted text-muted-foreground"}return(u,i)=>(e.openBlock(),e.createElementBlock("div",Xd,[e.createElementVNode("div",Zd,[e.createElementVNode("div",Jd,[i[1]||(i[1]=e.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"},[e.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)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":i[0]||(i[0]=d=>l.value=d),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),[[e.vModelText,l.value]])])]),i[3]||(i[3]=e.createElementVNode("div",{class:"flex items-center px-2 py-1.5 bg-muted border-b border-border"},[e.createElementVNode("span",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1"}," Documents ")],-1)),e.createElementVNode("div",ef,[t.documentListLoaded?s.value.length===0?(e.openBlock(),e.createElementBlock("div",tf,e.toDisplayString(l.value?"No matches":"No documents"),1)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(s.value,d=>(e.openBlock(),e.createElementBlock("button",{key:d.documentId,class:e.normalizeClass(["w-full flex items-center gap-1 px-2 py-1.5 cursor-pointer border-l-2 text-left",[t.selectedDocId===d.documentId?"border-primary bg-primary/5":"border-transparent hover:bg-muted/30",d.isRoot?"opacity-60":""]]),onClick:f=>r("select-document",d.documentId)},[e.createElementVNode("span",{class:e.normalizeClass(["text-xs flex-1 truncate",t.selectedDocId===d.documentId?"font-medium":""])},e.toDisplayString(d.title||d.documentId),3),e.createElementVNode("span",{class:e.normalizeClass(["text-[9px] px-1 py-0.5 rounded shrink-0",c(d)])},e.toDisplayString(a(d)),3)],10,of))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},e.renderList(4,d=>e.createElementVNode("div",{key:d,class:"flex items-center gap-2 px-2 py-2"},[...i[2]||(i[2]=[e.createElementVNode("div",{class:"h-3 bg-muted rounded flex-1 animate-pulse"},null,-1),e.createElementVNode("div",{class:"h-3 w-10 bg-muted rounded animate-pulse"},null,-1)])])),64))])]))}}),rf={class:"bg-background rounded-lg shadow-xl w-96 p-4"},lf={key:0,class:"mb-3 text-[11px] text-destructive font-medium"},af={key:1,class:"mb-3 p-3 bg-muted/50 rounded-lg border border-border"},sf={class:"flex items-start gap-2"},cf={class:"flex-1 min-w-0"},uf={class:"text-xs font-medium truncate"},df={class:"text-[10px] text-muted-foreground mt-0.5"},ff={class:"flex items-center gap-1 mt-1"},mf={class:"text-[10px] font-mono text-muted-foreground"},pf={class:"flex justify-end gap-2"},vf=["disabled"],gf=10*1024*1024,hf=e.defineComponent({__name:"BlobUploadDialog",props:{open:{type:Boolean}},emits:["update:open","upload"],setup(t,{emit:o}){const n=t,r=o,l=e.ref(null),s=e.ref(!1),a=e.ref(""),c=e.ref(!1),u=e.ref(null);e.watch(()=>n.open,y=>{y||(l.value=null,a.value="",s.value=!1,u.value=null)});const i=e.computed(()=>!!l.value);function d(y){return y<1024?y+" B":y<1024*1024?(y/1024).toFixed(1)+" KB":(y/(1024*1024)).toFixed(1)+" MB"}async function f(y){const g=await y.arrayBuffer(),N=await crypto.subtle.digest("SHA-256",g);return Array.from(new Uint8Array(N)).map(V=>V.toString(16).padStart(2,"0")).join("")}async function x(y){if(u.value=null,y.size>gf){u.value=`File is too large (${d(y.size)}). Max 10 MB.`,l.value=null,a.value="";return}l.value=y,a.value="",c.value=!0;try{const g=await f(y);a.value=g.slice(0,16)+"…"}catch{a.value="unavailable"}finally{c.value=!1}}function b(){l.value=null,a.value="",u.value=null}function h(y){const g=y.target,N=g.files?.[0];N&&x(N),g.value=""}function w(y){y.preventDefault(),s.value=!1;const g=y.dataTransfer?.files[0];g&&x(g)}function v(y){y.preventDefault(),s.value=!0}function C(){s.value=!1}function p(){l.value&&(r("upload",l.value),r("update:open",!1))}function k(){r("update:open",!1)}function m(y){y.key==="Escape"&&n.open&&(y.stopPropagation(),k())}return e.onMounted(()=>document.addEventListener("keydown",m,!0)),e.onUnmounted(()=>document.removeEventListener("keydown",m,!0)),(y,g)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[t.open?(e.openBlock(),e.createElementBlock("div",{key:0,class:"fixed inset-0 bg-black/50 flex items-center justify-center z-50","data-devtools-modal":"",onClick:e.withModifiers(k,["self"])},[e.createElementVNode("div",rf,[e.createElementVNode("div",{class:"flex items-center justify-between mb-3"},[g[2]||(g[2]=e.createElementVNode("h3",{class:"text-sm font-semibold"},"Upload Blob",-1)),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded",onClick:k},[...g[1]||(g[1]=[e.createElementVNode("svg",{class:"w-4 h-4 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),e.createElementVNode("div",{class:e.normalizeClass(["border-2 border-dashed rounded-lg p-6 text-center mb-3 cursor-pointer transition-colors",s.value?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/50 hover:bg-muted/20"]),onClick:g[0]||(g[0]=N=>y.$refs.fileInput.click()),onDrop:w,onDragover:v,onDragleave:C},[g[3]||(g[3]=e.createElementVNode("svg",{class:"w-8 h-8 text-muted-foreground mx-auto mb-2",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)),g[4]||(g[4]=e.createElementVNode("p",{class:"text-xs font-medium"},[e.createTextVNode(" Drop file here or "),e.createElementVNode("span",{class:"text-primary underline"},"browse")],-1)),g[5]||(g[5]=e.createElementVNode("p",{class:"text-[10px] text-muted-foreground mt-1"}," Max 10 MB per file ",-1)),e.createElementVNode("input",{ref:"fileInput",type:"file",class:"hidden",onChange:h},null,544)],34),u.value?(e.openBlock(),e.createElementBlock("p",lf,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",af,[e.createElementVNode("div",sf,[g[8]||(g[8]=e.createElementVNode("svg",{class:"w-5 h-5 text-muted-foreground shrink-0 mt-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)),e.createElementVNode("div",cf,[e.createElementVNode("div",uf,e.toDisplayString(l.value.name),1),e.createElementVNode("div",df,e.toDisplayString(d(l.value.size)),1),e.createElementVNode("div",ff,[g[6]||(g[6]=e.createElementVNode("span",{class:"text-[10px] text-muted-foreground"},"SHA-256:",-1)),e.createElementVNode("span",mf,e.toDisplayString(c.value?"computing…":a.value),1)])]),e.createElementVNode("button",{class:"p-0.5 hover:bg-muted rounded text-muted-foreground shrink-0",onClick:b},[...g[7]||(g[7]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])])])):e.createCommentVNode("",!0),e.createElementVNode("div",pf,[e.createElementVNode("button",{class:"px-3 py-1.5 text-xs hover:bg-muted rounded",onClick:k}," Cancel "),e.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:!i.value,onClick:p},[...g[9]||(g[9]=[e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createTextVNode(" Upload ",-1)])],8,vf)])])])):e.createCommentVNode("",!0)]))}}),yf={class:"flex flex-col flex-1 min-h-0"},bf={class:"flex-1 relative min-h-0"},wf={class:"absolute inset-0 overflow-auto scrollbar-thin"},kf={key:0,class:"p-6 space-y-2 animate-pulse"},xf={key:1,class:"flex flex-col items-center justify-center h-full py-16 text-center"},Cf={class:"text-xs text-muted-foreground"},Ef={key:2,class:"w-full min-w-[680px] text-xs"},Bf={class:"border-b border-border"},Nf={key:0,class:"w-8 px-2 py-1.5 text-left sticky top-0 z-10 bg-muted"},Sf=["checked","indeterminate"],Vf={class:"divide-y divide-border"},Mf=["onClick"],Df=["checked","onChange"],zf={class:"px-2 py-2"},$f={class:"flex items-center gap-2"},If={class:"font-medium truncate max-w-[180px]"},_f={class:"px-2 py-2 text-muted-foreground text-[10px] font-mono"},Af={class:"px-2 py-2 text-muted-foreground"},Tf={class:"px-2 py-2 text-muted-foreground"},Pf={class:"px-2 py-2"},Of=["title","onClick"],Rf={class:"truncate max-w-[90px]"},Lf={key:0,class:"w-3 h-3 text-green-600 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ff={key:1,class:"w-3 h-3 opacity-0 group-hover:opacity-100 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},qf={class:"relative flex items-center gap-0.5"},jf=["onClick"],Hf=["onClick"],Uf={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"},Wf={class:"flex items-center gap-2 text-muted-foreground"},Gf=["value"],Kf=["value"],Yf={class:"flex items-center gap-1"},Qf=["disabled"],Xf={class:"px-2 py-1 tabular-nums text-muted-foreground"},Zf=["disabled"],Jf={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"},em={class:"max-w-screen-lg mx-auto flex items-center gap-3"},tm={class:"flex-1 min-w-0"},om={class:"flex items-center justify-between mb-1"},nm={class:"text-[10px] font-medium truncate max-w-xs"},rm={class:"text-[10px] text-muted-foreground shrink-0 ml-3"},lm={class:"w-full bg-border rounded-full h-1"},am={key:0,class:"fixed inset-0 bg-black/50 flex items-center justify-center z-50"},sm={class:"bg-background rounded-lg shadow-xl px-6 py-4 flex items-center gap-3"},im={class:"text-sm"},Zn="primitive-blob-explorer-page-size",cm=25,um=e.defineComponent({__name:"BlobTablePanel",props:{documentId:{},searchQuery:{},canWrite:{type:Boolean},uploadDialogOpen:{type:Boolean}},emits:["select-blob","update:upload-dialog-open","selection-change"],setup(t,{expose:o,emit:n}){const r=t,l=n,{blobs:s,isLoading:a,isUploading:c,uploadProgress:u,loadPage:i,getBlob:d,uploadFile:f,removeBlob:x,deleteBlob:b,deleteBlobsBulk:h,readBlobContent:w}=il(()=>r.documentId),v=[10,25,50,100];function C(){try{const I=localStorage.getItem(Zn);if(I){const A=Number(I);if(v.includes(A))return A}}catch{}return cm}function p(I){try{localStorage.setItem(Zn,String(I))}catch{}}const k=e.ref(1),m=e.ref(C()),y=e.ref([void 0]),g=e.computed(()=>r.searchQuery.trim().length>0);let N=null;e.watch(()=>r.searchQuery,I=>{N&&clearTimeout(N),N=setTimeout(()=>{I.trim()?E(I.trim()):B()},300)});async function E(I){K.value=null,l("select-blob",null),U.value=new Set,l("selection-change",0),await d(I)}function V(){y.value=[void 0],k.value=1}async function B(){V(),await M(1)}async function M(I){const A=y.value[I-1],{nextCursor:q}=await i({cursor:A,limit:m.value});if(q){const ce=[...y.value];ce[I]=q,y.value=ce}k.value=I}async function z(){k.value>1&&await M(k.value-1)}async function D(){s.value.length>0&&await M(k.value+1)}e.onMounted(()=>{g.value||M(1)}),e.watch(()=>r.documentId,()=>{K.value=null,U.value=new Set,l("selection-change",0),l("select-blob",null),V(),g.value||M(1)});function R(I){m.value=I,p(I),V(),g.value||M(1)}const K=e.ref(null),U=e.ref(new Set),ee=e.computed(()=>s.value.length>0&&s.value.every(I=>U.value.has(I.blobId))),L=e.computed(()=>!ee.value&&s.value.some(I=>U.value.has(I.blobId)));function ie(I){const A=new Set(U.value);I?s.value.forEach(q=>A.add(q.blobId)):s.value.forEach(q=>A.delete(q.blobId)),U.value=A,l("selection-change",A.size)}function H(I,A){const q=new Set(U.value);A?q.add(I):q.delete(I),U.value=q,l("selection-change",q.size)}function O(){U.value=new Set,l("selection-change",0)}function G(I){K.value===I.blobId?(K.value=null,l("select-blob",null)):(K.value=I.blobId,l("select-blob",I))}function Z(){K.value=null,l("select-blob",null)}const W=e.ref(null),me=e.ref(""),le=e.ref(!1);function S(I,A){W.value=I,me.value=A}async function _(){if(!W.value)return;const I=W.value;W.value=null,x(I),K.value===I&&Z();const A=new Set(U.value);A.delete(I)&&(U.value=A,l("selection-change",A.size)),le.value=!0;try{await b(I)||g.value||await M(k.value)}finally{le.value=!1}}const $=e.ref(!1),j=e.ref(!1);function ne(){$.value=!0}async function re(){$.value=!1,j.value=!0;const I=[...U.value];try{await h(I),K.value&&I.includes(K.value)&&Z(),O()}finally{j.value=!1}}function ke(I){x(I),K.value===I&&Z();const A=new Set(U.value);A.delete(I)&&(U.value=A,l("selection-change",A.size))}const be=e.ref(null);async function ft(I){be.value=I.name;const A=await f(I);be.value=null,A&&!g.value&&(V(),await M(1))}async function nt(){g.value?await E(r.searchQuery.trim()):(V(),await M(1))}const Ie=e.ref(null);let _e=null;e.onUnmounted(()=>{_e&&clearTimeout(_e),N&&clearTimeout(N)});function Ye(I,A){dl(I),A&&(Ie.value=A,_e&&clearTimeout(_e),_e=setTimeout(()=>{Ie.value=null},1200))}async function Vt(I,A){const q=await w(I,"blob");if(!q)return;const ce=URL.createObjectURL(q),de=document.createElement("a");de.href=ce,de.download=A,document.body.appendChild(de),de.click(),document.body.removeChild(de),setTimeout(()=>URL.revokeObjectURL(ce),5e3)}function rt(I){return I.length>10?"…"+I.slice(-10):I}function Mt(I){return I.length>22?I.slice(0,20)+"…":I}function Dt(I){return I.startsWith("image/")}function P(I){return I==="text/csv"||I.includes("spreadsheet")}function T(I){return I==="application/pdf"?"text-red-500":I.startsWith("image/")?"text-blue-500":I.includes("wordprocessingml")||I.includes("word")?"text-blue-600":P(I)?"text-green-600":"text-muted-foreground"}return o({executeBulkDelete:ne,refresh:nt,clearSelection:O,handleExternalDelete:ke,selectedCount:e.computed(()=>U.value.size)}),(I,A)=>(e.openBlock(),e.createElementBlock("div",yf,[e.createElementVNode("div",bf,[e.createElementVNode("div",wf,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",kf,[...A[7]||(A[7]=[e.createElementVNode("div",{class:"h-7 bg-muted rounded w-full"},null,-1),e.createElementVNode("div",{class:"h-7 bg-muted rounded w-full"},null,-1),e.createElementVNode("div",{class:"h-7 bg-muted rounded w-full"},null,-1)])])):e.unref(s).length===0?(e.openBlock(),e.createElementBlock("div",xf,[A[8]||(A[8]=e.createElementVNode("svg",{class:"w-10 h-10 text-muted-foreground/30 mb-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)),e.createElementVNode("p",Cf,e.toDisplayString(g.value?"No blob found with that ID":"No blobs uploaded yet"),1)])):(e.openBlock(),e.createElementBlock("table",Ef,[e.createElementVNode("thead",null,[e.createElementVNode("tr",Bf,[t.canWrite?(e.openBlock(),e.createElementBlock("th",Nf,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:ee.value,indeterminate:L.value,onChange:A[0]||(A[0]=q=>ie(q.target.checked))},null,40,Sf)])):e.createCommentVNode("",!0),A[9]||(A[9]=e.createElementVNode("th",{class:"px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted"}," Filename ",-1)),A[10]||(A[10]=e.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)),A[11]||(A[11]=e.createElementVNode("th",{class:"px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted"}," Size ",-1)),A[12]||(A[12]=e.createElementVNode("th",{class:"px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted"}," Uploaded ",-1)),A[13]||(A[13]=e.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)),A[14]||(A[14]=e.createElementVNode("th",{class:"w-0 p-0 sticky top-0 right-0 z-20 bg-muted"},null,-1))])]),e.createElementVNode("tbody",Vf,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),q=>(e.openBlock(),e.createElementBlock("tr",{key:q.blobId,class:e.normalizeClass(["hover:bg-muted/30 group cursor-pointer",{"bg-primary/5":K.value===q.blobId}]),onClick:ce=>G(q)},[t.canWrite?(e.openBlock(),e.createElementBlock("td",{key:0,class:"px-2 py-2",onClick:A[1]||(A[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:U.value.has(q.blobId),onChange:ce=>H(q.blobId,ce.target.checked)},null,40,Df)])):e.createCommentVNode("",!0),e.createElementVNode("td",zf,[e.createElementVNode("div",$f,[Dt(q.contentType)?(e.openBlock(),e.createElementBlock("svg",{key:0,class:e.normalizeClass(["w-4 h-4 shrink-0",T(q.contentType)]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...A[15]||(A[15]=[e.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)):P(q.contentType)?(e.openBlock(),e.createElementBlock("svg",{key:1,class:e.normalizeClass(["w-4 h-4 shrink-0",T(q.contentType)]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...A[16]||(A[16]=[e.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)):(e.openBlock(),e.createElementBlock("svg",{key:2,class:e.normalizeClass(["w-4 h-4 shrink-0",T(q.contentType)]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...A[17]||(A[17]=[e.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)),e.createElementVNode("span",If,e.toDisplayString(q.filename),1)])]),e.createElementVNode("td",_f,e.toDisplayString(Mt(q.contentType)),1),e.createElementVNode("td",Af,e.toDisplayString(e.unref(cl)(q.size)),1),e.createElementVNode("td",Tf,e.toDisplayString(e.unref(ul)(q.uploadedAt)),1),e.createElementVNode("td",Pf,[e.createElementVNode("button",{class:"flex items-center gap-1 text-[10px] text-muted-foreground font-mono hover:text-foreground",title:q.blobId,onClick:e.withModifiers(ce=>Ye(q.blobId,q.blobId),["stop"])},[e.createElementVNode("span",Rf,e.toDisplayString(rt(q.blobId)),1),Ie.value===q.blobId?(e.openBlock(),e.createElementBlock("svg",Lf,[...A[18]||(A[18]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Ff,[...A[19]||(A[19]=[e.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,Of)]),e.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:A[2]||(A[2]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(["absolute inset-0 bg-primary/5 pointer-events-none",K.value===q.blobId?"opacity-100 group-hover:opacity-0":"opacity-0"])},null,2),e.createElementVNode("div",qf,[e.createElementVNode("button",{class:"p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground",title:"Download",onClick:ce=>Vt(q.blobId,q.filename)},[...A[20]||(A[20]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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,jf),t.canWrite?(e.openBlock(),e.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:ce=>S(q.blobId,q.filename)},[...A[21]||(A[21]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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,Hf)):e.createCommentVNode("",!0)])])],10,Mf))),128))])]))])]),g.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Uf,[e.createElementVNode("div",Wf,[e.createElementVNode("select",{class:"px-1 py-0.5 text-[10px] bg-background border border-border rounded",value:m.value,onChange:A[3]||(A[3]=q=>R(Number(q.target.value)))},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(v,q=>e.createElementVNode("option",{key:q,value:q},e.toDisplayString(q),9,Kf)),64))],40,Gf),A[22]||(A[22]=e.createElementVNode("span",null,"per page",-1))]),e.createElementVNode("div",Yf,[e.createElementVNode("button",{class:"px-2 py-1 hover:bg-muted rounded disabled:opacity-50",disabled:k.value<=1,onClick:z}," Previous ",8,Qf),e.createElementVNode("span",Xf,e.toDisplayString(k.value),1),e.createElementVNode("button",{class:"px-2 py-1 hover:bg-muted rounded disabled:opacity-50",disabled:e.unref(s).length===0,onClick:D}," Next ",8,Zf)])])),e.createVNode(hf,{open:t.uploadDialogOpen,"onUpdate:open":A[4]||(A[4]=q=>l("update:upload-dialog-open",q)),onUpload:ft},null,8,["open"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.unref(c)?(e.openBlock(),e.createElementBlock("div",Jf,[e.createElementVNode("div",em,[A[23]||(A[23]=e.createElementVNode("svg",{class:"w-3.5 h-3.5 text-muted-foreground shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)),e.createElementVNode("div",tm,[e.createElementVNode("div",om,[e.createElementVNode("span",nm,e.toDisplayString(be.value??"Uploading…"),1),e.createElementVNode("span",rm,e.toDisplayString(Math.round(e.unref(u)))+"% ",1)]),e.createElementVNode("div",lm,[e.createElementVNode("div",{class:"bg-primary h-1 rounded-full transition-all duration-300",style:e.normalizeStyle({width:e.unref(u)+"%"})},null,4)])])])])):e.createCommentVNode("",!0)])),e.createVNode(Ce,{"is-open":!!W.value,title:"Delete Blob",question:`Delete "${me.value}"?`,warning:"This action cannot be undone.","is-deleting":le.value,onCancel:A[5]||(A[5]=q=>W.value=null),onConfirm:_},null,8,["is-open","question","is-deleting"]),e.createVNode(Ce,{"is-open":$.value,title:"Delete Blobs",question:`Delete ${U.value.size} blob${U.value.size!==1?"s":""}?`,warning:"This action cannot be undone.","is-deleting":!1,onCancel:A[6]||(A[6]=q=>$.value=!1),onConfirm:re},null,8,["is-open","question"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[j.value?(e.openBlock(),e.createElementBlock("div",am,[e.createElementVNode("div",sm,[A[24]||(A[24]=e.createElementVNode("svg",{class:"w-4 h-4 text-muted-foreground animate-spin shrink-0",fill:"none",viewBox:"0 0 24 24"},[e.createElementVNode("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"}),e.createElementVNode("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"})],-1)),e.createElementVNode("span",im,"Deleting "+e.toDisplayString(U.value.size)+" blob"+e.toDisplayString(U.value.size!==1?"s":"")+"…",1)])])):e.createCommentVNode("",!0)]))]))}}),dm={class:"flex-1 flex overflow-hidden min-w-0"},fm={class:"flex-1 flex flex-col min-w-0 bg-background"},mm={key:0,class:"absolute inset-0 px-3 bg-muted flex items-center justify-between z-10"},pm={class:"flex items-center gap-2"},vm={class:"text-xs font-medium"},gm={class:"flex items-center gap-2 min-w-0"},hm={class:"flex items-center gap-2 min-w-0"},ym={class:"text-sm font-medium truncate"},bm={key:0,class:"relative ml-1"},wm=["placeholder"],km={key:1,class:"flex items-center gap-1.5 shrink-0"},xm={key:0},Cm={key:0,class:"flex-1 flex flex-col items-center justify-center text-center p-6"},Em={class:"hidden lg:contents"},Bm=e.defineComponent({__name:"BlobExplorerIndex",setup(t){const o=io(),n=e.ref([]),r=e.ref(!1),l=e.ref(null);async function s(){try{const N=await te.getClientAsync();l.value=await N.getRootDocId(),await N.syncMetadata({scope:"all",includeRoot:!0,pageSize:500});const E=await N.documents.list({refreshFromServer:!0,includeRoot:!0});n.value=E.map(V=>({...V,isRoot:V.documentId===l.value})),r.value=!0}catch(N){J("Failed to load documents: "+ae(N)),r.value=!0}}let a=null,c=null;e.onMounted(async()=>{m.value&&(g=new ResizeObserver(B=>{for(const M of B){const z=M.contentRect.width;y.value=z<500}}),g.observe(m.value)),s();const N=await te.getClientAsync(),E=B=>{B.action==="accepted"&&s()};N.on("invitation",E),a=()=>N.off("invitation",E);const V=()=>{s()};N.on("documentMetadataChanged",V),c=()=>N.off("documentMetadataChanged",V)}),e.onUnmounted(()=>{a?.(),c?.(),g?.disconnect()});const u=e.computed(()=>o.currentDocumentId),i=e.computed(()=>n.value.find(N=>N.documentId===u.value)??null);async function d(N){if(o.currentDocumentId!==N){f.value=null;try{await o.openDocument(N);const E=n.value.find(V=>V.documentId===N);E&&o.setCurrentDocumentTitle(E.title??N)}catch(E){J("Failed to open document: "+ae(E))}}}const f=e.ref(null),x=e.ref(!1),b=e.ref(""),h=e.ref(null);e.watch(u,()=>{f.value=null,b.value=""});const w=e.ref(0);function v(N){w.value=N}function C(){h.value?.executeBulkDelete()}function p(){h.value?.clearSelection(),w.value=0}const k=e.computed(()=>{const N=i.value?.permission;return N?N!=="reader":!1}),m=e.ref(null),y=e.ref(!1);let g=null;return(N,E)=>(e.openBlock(),e.createElementBlock("div",dm,[e.createVNode(e.unref(gr),{position:"bottom-right",duration:3e3}),e.createVNode(nf,{documents:n.value,"selected-doc-id":u.value,"document-list-loaded":r.value,onSelectDocument:d},null,8,["documents","selected-doc-id","document-list-loaded"]),e.createElementVNode("div",fm,[e.createElementVNode("div",{ref_key:"toolbarRef",ref:m,class:"flex items-center justify-between px-3 py-2 border-b border-border relative shrink-0"},[w.value>0?(e.openBlock(),e.createElementBlock("div",mm,[e.createElementVNode("div",pm,[e.createElementVNode("span",vm,e.toDisplayString(w.value)+" selected",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:p}," Clear ")]),e.createElementVNode("button",{class:"px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1",onClick:C},[...E[7]||(E[7]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createTextVNode(" Delete ",-1)])])])):e.createCommentVNode("",!0),e.createElementVNode("div",gm,[e.createElementVNode("div",hm,[e.createElementVNode("span",ym,e.toDisplayString(i.value?.title??i.value?.documentId??"Select a document"),1)]),u.value?(e.openBlock(),e.createElementBlock("div",bm,[E[8]||(E[8]=e.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"},[e.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)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":E[0]||(E[0]=V=>b.value=V),type:"text",placeholder:y.value?"Blob ID…":"Search by blob ID…",class:e.normalizeClass(["pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring",y.value?"w-28":"w-44"])},null,10,wm),[[e.vModelText,b.value]])])):e.createCommentVNode("",!0)]),u.value?(e.openBlock(),e.createElementBlock("div",km,[r.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded text-muted-foreground",title:"Refresh",onClick:E[1]||(E[1]=V=>h.value?.refresh())},[...E[11]||(E[11]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)])]),k.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center",y.value?"p-1.5":"px-2 py-1 gap-1"]),title:"Upload",onClick:E[2]||(E[2]=V=>x.value=!0)},[E[12]||(E[12]=e.createElementVNode("svg",{class:"w-3 h-3 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)),y.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",xm,"Upload"))],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[E[9]||(E[9]=e.createElementVNode("div",{class:"w-6 h-6 bg-muted rounded animate-pulse"},null,-1)),E[10]||(E[10]=e.createElementVNode("div",{class:"w-16 h-6 bg-muted rounded animate-pulse"},null,-1))],64))])):e.createCommentVNode("",!0)],512),u.value?(e.openBlock(),e.createBlock(um,{key:1,ref_key:"blobTableRef",ref:h,"document-id":u.value,"search-query":b.value,"can-write":k.value,"upload-dialog-open":x.value,onSelectBlob:E[3]||(E[3]=V=>f.value=V),"onUpdate:uploadDialogOpen":E[4]||(E[4]=V=>x.value=V),onSelectionChange:v},null,8,["document-id","search-query","can-write","upload-dialog-open"])):(e.openBlock(),e.createElementBlock("div",Cm,[...E[13]||(E[13]=[e.createElementVNode("svg",{class:"w-10 h-10 text-muted-foreground/30 mb-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createElementVNode("p",{class:"text-sm font-medium text-muted-foreground"}," Select a document ",-1),e.createElementVNode("p",{class:"text-xs text-muted-foreground/70 mt-1"}," Choose a document from the left panel to explore its blobs ",-1)])]))]),e.createElementVNode("div",Em,[e.createVNode(Qd,{"document-id":u.value??"","selected-blob":f.value,"can-write":k.value,onDeleteBlob:E[5]||(E[5]=V=>h.value?.handleExternalDelete(V)),onReloadBlobs:E[6]||(E[6]=V=>h.value?.refresh())},null,8,["document-id","selected-blob","can-write"])])]))}});var Ut=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Nm(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Do,Jn;function Sm(){if(Jn)return Do;Jn=1;var t="Expected a function",o=NaN,n="[object Symbol]",r=/^\s+|\s+$/g,l=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,a=/^0o[0-7]+$/i,c=parseInt,u=typeof Ut=="object"&&Ut&&Ut.Object===Object&&Ut,i=typeof self=="object"&&self&&self.Object===Object&&self,d=u||i||Function("return this")(),f=Object.prototype,x=f.toString,b=Math.max,h=Math.min,w=function(){return d.Date.now()};function v(y,g,N){var E,V,B,M,z,D,R=0,K=!1,U=!1,ee=!0;if(typeof y!="function")throw new TypeError(t);g=m(g)||0,C(N)&&(K=!!N.leading,U="maxWait"in N,B=U?b(m(N.maxWait)||0,g):B,ee="trailing"in N?!!N.trailing:ee);function L(S){var _=E,$=V;return E=V=void 0,R=S,M=y.apply($,_),M}function ie(S){return R=S,z=setTimeout(G,g),K?L(S):M}function H(S){var _=S-D,$=S-R,j=g-_;return U?h(j,B-$):j}function O(S){var _=S-D,$=S-R;return D===void 0||_>=g||_<0||U&&$>=B}function G(){var S=w();if(O(S))return Z(S);z=setTimeout(G,H(S))}function Z(S){return z=void 0,ee&&E?L(S):(E=V=void 0,M)}function W(){z!==void 0&&clearTimeout(z),R=0,E=D=V=z=void 0}function me(){return z===void 0?M:Z(w())}function le(){var S=w(),_=O(S);if(E=arguments,V=this,D=S,_){if(z===void 0)return ie(D);if(U)return z=setTimeout(G,g),L(D)}return z===void 0&&(z=setTimeout(G,g)),M}return le.cancel=W,le.flush=me,le}function C(y){var g=typeof y;return!!y&&(g=="object"||g=="function")}function p(y){return!!y&&typeof y=="object"}function k(y){return typeof y=="symbol"||p(y)&&x.call(y)==n}function m(y){if(typeof y=="number")return y;if(k(y))return o;if(C(y)){var g=typeof y.valueOf=="function"?y.valueOf():y;y=C(g)?g+"":g}if(typeof y!="string")return y===0?y:+y;y=y.replace(r,"");var N=s.test(y);return N||a.test(y)?c(y.slice(2),N?2:8):l.test(y)?o:+y}return Do=v,Do}var Vm=Sm();const Mm=Nm(Vm),we=Ee.forScope("useJsBaoDataLoader");function zo(t,o){return t===void 0?o:!!e.unref(t)}function Dm(t){const o=new WeakSet,n=r=>{if(r&&typeof r=="object"){if(o.has(r))return"[Circular]";if(o.add(r),Array.isArray(r))return r.map(n);const l=Object.keys(r).sort(),s={};for(const a of l)s[a]=n(r[a]);return s}return r};try{return JSON.stringify(n(t))}catch{return"__non_serializable__"}}function zm(t){const{subscribeTo:o,queryParams:n,documentReady:r,loadData:l,pauseUpdates:s,reloadOnDocumentEvents:a=!0,debounceMs:c=50,onError:u}=t,i=e.ref(null),d=e.ref(!1),f=e.ref(!1),x=e.computed(()=>zo(r,!1)),b=e.computed(()=>zo(s,!1)),h=e.computed(()=>e.unref(n)??null),w=e.computed(()=>{const m=h.value;return m===null?null:Dm(m)}),v=async m=>{if(!x.value){we.debug("loadData skipped: not ready",{reason:m,queryParams:e.toRaw(h.value)});return}if(b.value){we.debug("loadData skipped: paused",{reason:m,queryParams:e.toRaw(h.value)});return}we.debug("loadData start",{reason:m,queryParams:e.toRaw(h.value)});try{const y=await l(h.value);i.value=y,d.value||(d.value=!0,f.value=!0),we.debug("loadData success",{reason:m,queryParams:e.toRaw(h.value),data:y})}catch(y){if(u)try{u(y)}catch(g){we.warn("onError handler threw",{handlerError:g})}we.error("loadData error",{reason:m,queryParams:e.toRaw(h.value),error:y})}},C=Mm(m=>{we.debug("Reload scheduled",{reason:m}),v(m)},c),p=()=>{C("Manual")},k=[];return e.onMounted(async()=>{for(const m of o)try{const y=m.subscribe(()=>{f.value&&x.value&&(b.value||C("Subscribed models changed"))});k.push(y)}catch(y){we.warn("Failed to subscribe to model",{error:y})}if(zo(a,!0))try{const m=await te.getClientAsync(),y=()=>{f.value&&x.value&&(b.value||C("Document loaded"))},g=()=>{f.value&&x.value&&(b.value||C("Document closed"))};m.on("documentLoaded",y),m.on("documentClosed",g),k.push(()=>{m.off("documentLoaded",y),m.off("documentClosed",g)}),we.debug("Subscribed to js-bao document events")}catch(m){we.warn("Failed to subscribe to js-bao client events",{error:m})}}),e.onUnmounted(()=>{for(const m of k)try{m()}catch{}}),e.watch(x,m=>{if(!m){we.debug("documentReady became false; resetting state"),d.value=!1,f.value=!1;return}b.value?we.debug("documentReady became true but updates are paused; not scheduling load"):(we.debug("documentReady became true; scheduling initial load"),C("Document became ready"))},{immediate:!0}),e.watch(w,m=>{if(m===null){we.debug("queryParams disabled (null)");return}if(!x.value){we.debug("queryParams changed but document not ready; ignoring",{signature:m});return}if(b.value){we.debug("queryParams changed but updates are paused; ignoring",{signature:m});return}we.debug("queryParams changed; scheduling reload",{signature:m}),C("Queries changed")}),{data:i,initialDataLoaded:d,reload:p}}const fl=e.defineComponent({__name:"PrimitiveLoadingGate",props:{isReady:{type:Boolean},delayMs:{default:50}},setup(t){const o=t,n=e.computed(()=>!o.isReady),r=e.ref(!1);let l=null;const s=()=>{l!=null&&window.clearTimeout(l),l=null};e.watch(n,u=>{u?(s(),l=window.setTimeout(()=>{r.value=!0},o.delayMs)):(s(),r.value=!1)},{immediate:!0}),e.onUnmounted(()=>{s()});const a=e.computed(()=>n.value&&!r.value),c=e.computed(()=>n.value&&r.value);return(u,i)=>a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[],64)):c.value?e.renderSlot(u.$slots,"loading",{key:1}):e.renderSlot(u.$slots,"default",{key:2})}});function ml(){return xl.ModelRegistry.getInstance().getAllRegisteredModelsInfo().map(n=>{const r=new Map;for(const[s,a]of n.fields.entries()){const c=a;r.set(s,{name:s,hidden:c.hidden??s.startsWith("_"),schema:{type:c.type??"string",indexed:c.indexed,default:c.default,autoAssign:c.autoAssign,maxCount:c.maxCount,maxLength:c.maxLength}})}const l=n.options.uniqueConstraints??[];return{name:n.class.name,modelClass:n.class,tableName:n.options.name,fields:Array.from(n.fields.keys()),fieldInfo:r,relationships:n.options.relationships,uniqueConstraints:l,sourcePath:n.options.sourcePath??void 0}})}function so(t,o){const n=new WeakSet;return JSON.stringify(t,(r,l)=>{if(l===void 0)return"[undefined]";if(typeof l=="function")return"[Function]";if(typeof l=="symbol")return l.toString();if(l!==null&&typeof l=="object"){if(n.has(l))return"[Circular]";if(n.add(l),l.constructor&&l.constructor.name&&(l.constructor.name.includes("Set")||l.constructor.name.includes("Map")||l.constructor.name.includes("Model")))return Array.isArray(l)?l:l.toString&&l.toString()!=="[object Object]"?l.toString():`[${l.constructor.name}]`}return l},o)}function Wt(t,o){const n=t.toLowerCase(),r=o.toLowerCase().trim();if(!r||n.includes(r))return!0;let l=0;for(let s=0;s<n.length&&l<r.length;s++)n[s]===r[l]&&l++;return l===r.length}function $o(t){return t!=="is_null"&&t!=="is_not_null"}function er(t){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:"<="}[t]||t}const pl=["equals","not_equals","is_null","is_not_null","contains","not_contains","starts_with","ends_with","in","not_in","gt","gte","lt","lte"],$m={string:pl,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 tr(t,o){const r=Le(t,o)?.type??"string";return $m[r]??pl}function or(t,o){switch(Le(t,o)?.type??"string"){case"id":case"number":case"boolean":case"date":return"equals";default:return"contains"}}function Im(t){if(t==null)return"string";if(typeof t=="boolean")return"boolean";if(typeof t=="number")return"number";if(typeof t=="string"){if(t.startsWith("{")||t.startsWith("["))try{return JSON.parse(t),"json"}catch{return"string"}if(t.length>100)return"textarea"}return"string"}function gn(t,o,n=!1){let r=[];const l=new Set(t.fields||[]),a=(o[t.tableName]||[])[0];return a&&(Object.keys(a).filter(i=>i!=="type").forEach(i=>l.add(i)),Object.getOwnPropertyNames(a).filter(i=>i!=="type").forEach(i=>l.add(i))),r=Array.from(l),n||(r=r.filter(c=>!(t.fieldInfo.get(c)?.hidden??c.startsWith("_")))),r.includes("id")&&(r=["id",...r.filter(c=>c!=="id")]),r}function Io(t,o){if(!t.relationships)return null;for(const[n,r]of Object.entries(t.relationships))if(r.type==="refersTo"&&r.relatedIdField===o)return{relationshipName:n,relatedModel:r.model,relatedIdField:r.relatedIdField};return null}function vl(t){if(typeof t=="object"&&t!==null)return!0;if(typeof t=="string"){const o=t.trim();if(o.startsWith("{")||o.startsWith("["))try{return JSON.parse(o),!0}catch{return!1}}return!1}function _m(){return`filter-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function nr(t){const{field:o,mode:n,value:r}=t;switch(n){case"equals":return!isNaN(Number(r))&&r.trim()!==""?{[o]:Number(r)}:r.toLowerCase()==="true"?{[o]:!0}:r.toLowerCase()==="false"?{[o]:!1}:{[o]:r};case"not_equals":return!isNaN(Number(r))&&r.trim()!==""?{[o]:{$ne:Number(r)}}:r.toLowerCase()==="true"?{[o]:{$ne:!0}}:r.toLowerCase()==="false"?{[o]:{$ne:!1}}:{[o]:{$ne:r}};case"is_null":return{[o]:null};case"is_not_null":return{[o]:{$exists:!0}};case"contains":return{[o]:{$containsText:r}};case"not_contains":return{[o]:{$not:{$containsText:r}}};case"in":{const s=r.split(",").map(a=>a.trim()).map(a=>!isNaN(Number(a))&&a!==""?Number(a):a);return{[o]:{$in:s}}}case"not_in":{const s=r.split(",").map(a=>a.trim()).map(a=>!isNaN(Number(a))&&a!==""?Number(a):a);return{[o]:{$nin:s}}}case"starts_with":return{[o]:{$startsWith:r}};case"ends_with":return{[o]:{$endsWith:r}};case"gt":return{[o]:{$gt:Number(r)}};case"gte":return{[o]:{$gte:Number(r)}};case"lt":return{[o]:{$lt:Number(r)}};case"lte":return{[o]:{$lte:Number(r)}};default:return{}}}function Am(t){if(!t||t.length===0)return{};if(t.length===1&&t[0])return nr(t[0]);const o=t.filter(n=>n&&n.field!=null&&n.field!==""&&(n.mode==="is_null"||n.mode==="is_not_null"||n.mode==="equals"||n.mode==="not_equals"||n.value!==void 0&&n.value!=="")).map(n=>nr(n));return o.length===0?{}:o.length===1?o[0]??{}:{$and:o}}const Tm=25,Yo=[10,25,50,100];function gl(){try{const t=localStorage.getItem(hr);if(t){const o=Number(t);if(Yo.includes(o))return o}}catch{}return Tm}function Pm(t){try{localStorage.setItem(hr,String(t))}catch{}}function Le(t,o){return t.fieldInfo.get(o)?.schema}function wt(t,o){return Le(t,o)?.type==="stringset"}function Qo(t,o){return Le(t,o)?.type==="date"}function Om(t,o){return Le(t,o)?.type==="number"}function Xo(t,o){return Le(t,o)?.type==="boolean"}function Rm(t){if(t==null)return[];if(typeof t=="object"&&t!==null){if("toArray"in t&&typeof t.toArray=="function")return t.toArray();if(Symbol.iterator in t)return Array.from(t)}return Array.isArray(t)?t.map(String):[]}function hl(t,o){return Le(t,o)?.indexed===!0}function Lm(t){return t?{[t.field]:t.direction}:{id:1}}function Fm(t){return t===1?"↑":"↓"}function yl(){try{const t=localStorage.getItem(yr);if(t)return JSON.parse(t)}catch{}return{}}function qm(t){try{localStorage.setItem(yr,JSON.stringify(t))}catch{}}function jm(t){return yl()[t]}function Hm(t,o){const n=yl();n[t]=o,qm(n)}function At(t){switch(t){case"owner":case"admin":return"Owner";case"read-write":return"Editor";case"reader":return"Viewer";default:return"Owner"}}function bl(t){switch(t){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 kt(t){return t==="owner"||t==="admin"}const Um={key:0,class:"absolute inset-0 px-2 bg-muted flex items-center justify-between z-10"},Wm={class:"flex items-center gap-2"},Gm={class:"text-[10px] font-medium"},Km={class:"flex items-center gap-0.5"},Ym={key:0,class:"flex-1 overflow-y-auto scrollbar-thin flex flex-col"},Qm={key:0,class:"p-3 text-center text-[10px] text-muted-foreground"},Xm={key:1,class:"p-3 text-center text-[10px] text-muted-foreground"},Zm={class:"flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent"},Jm=["checked","indeterminate"],ep=["onClick"],tp=["checked","disabled","title","onChange"],op={key:0,class:"text-[9px] px-1 py-0.5 bg-amber-500/10 text-amber-600 rounded ml-1"},np=e.defineComponent({__name:"DocumentListSection",props:{documents:{},filteredDocuments:{},selectedDocId:{},isExpanded:{type:Boolean},documentListLoaded:{type:Boolean},searchQuery:{}},emits:["select-document","create-document","bulk-delete","bulk-leave","bulk-delete-mixed","toggle-section"],setup(t,{emit:o}){const n=t,r=o,l=e.ref(new Set),s=e.computed(()=>l.value.size),a=e.computed(()=>l.value.size>0),c=e.computed(()=>Array.from(l.value).some(p=>{const k=n.documents.find(m=>m.documentId===p);return k&&kt(k.permission)&&!k.isRoot})),u=e.computed(()=>c.value?!1:Array.from(l.value).some(p=>{const k=n.documents.find(m=>m.documentId===p);return k&&!kt(k.permission)&&!k.isRoot})),i=e.computed(()=>{const p=n.filteredDocuments.filter(m=>!m.isRoot);if(p.length===0)return!1;const k=p.filter(m=>l.value.has(m.documentId)).length;return k===0?!1:k===p.length?!0:"indeterminate"}),d=(p,k)=>{const m=new Set(l.value);m.has(p)?m.delete(p):m.add(p),l.value=m},f=()=>{const p=n.filteredDocuments.filter(y=>!y.isRoot),k=p.every(y=>l.value.has(y.documentId)),m=new Set(l.value);k?p.forEach(y=>m.delete(y.documentId)):p.forEach(y=>m.add(y.documentId)),l.value=m},x=()=>{l.value=new Set},b=e.ref(!1),h=e.ref([]),w=()=>{const p=Array.from(l.value),k=p.filter(y=>{const g=n.documents.find(N=>N.documentId===y);return g&&kt(g.permission)&&!g.isRoot});if(k.length===0)return;k.length<p.length?(r("bulk-delete-mixed",p),x()):(h.value=k,b.value=!0)},v=()=>{r("bulk-delete",h.value),x(),b.value=!1,h.value=[]},C=()=>{r("bulk-leave",Array.from(l.value))};return(p,k)=>(e.openBlock(),e.createElementBlock("div",{class:"flex flex-col min-h-0",style:e.normalizeStyle({flex:t.isExpanded?"1 1 auto":"0 0 auto"})},[e.createElementVNode("div",{class:"flex items-center px-2 h-10 bg-muted border-b border-border cursor-pointer relative",onClick:k[1]||(k[1]=m=>r("toggle-section"))},[a.value?(e.openBlock(),e.createElementBlock("div",Um,[e.createElementVNode("div",Wm,[e.createElementVNode("span",Gm,e.toDisplayString(s.value)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:e.withModifiers(x,["stop"])}," Clear ")]),e.createElementVNode("div",Km,[u.value?(e.openBlock(),e.createElementBlock("button",{key:0,class:"p-1 text-muted-foreground hover:bg-muted-foreground/10 hover:text-foreground rounded",title:"Leave Document",onClick:e.withModifiers(C,["stop"])},[...k[5]||(k[5]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)])])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createElementBlock("button",{key:1,class:"p-1 text-destructive hover:bg-destructive/10 rounded",title:"Delete Document",onClick:e.withModifiers(w,["stop"])},[...k[6]||(k[6]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)])])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["w-3 h-3 text-muted-foreground transition-transform",t.isExpanded?"":"-rotate-90"]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...k[7]||(k[7]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2)),k[9]||(k[9]=e.createElementVNode("span",{class:"ml-1.5 text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1"}," Documents ",-1)),e.createElementVNode("button",{class:"p-0.5 hover:bg-background/50 rounded text-muted-foreground hover:text-foreground",title:"New Document",onClick:k[0]||(k[0]=e.withModifiers(m=>r("create-document"),["stop"]))},[...k[8]||(k[8]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)])])]),t.isExpanded?(e.openBlock(),e.createElementBlock("div",Ym,[t.documentListLoaded?t.filteredDocuments.length===0?(e.openBlock(),e.createElementBlock("div",Xm,e.toDisplayString(t.searchQuery?"No matching documents":"No documents found"),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",Zm,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:i.value===!0,indeterminate:i.value==="indeterminate",onChange:f},null,40,Jm),k[10]||(k[10]=e.createElementVNode("span",{class:"ml-2 text-[10px] text-muted-foreground"},"Select all",-1))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.filteredDocuments,m=>(e.openBlock(),e.createElementBlock("div",{key:m.documentId,class:e.normalizeClass(["flex items-center px-2 py-1.5 cursor-pointer border-l-2",m.documentId===t.selectedDocId?"border-primary bg-primary/5":"border-transparent hover:bg-muted/30",m.isRoot?"opacity-60":""]),onClick:y=>r("select-document",m.documentId)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border flex-shrink-0",checked:l.value.has(m.documentId),disabled:m.isRoot,title:m.isRoot?"Cannot select root document":"",onClick:k[2]||(k[2]=e.withModifiers(()=>{},["stop"])),onChange:y=>d(m.documentId)},null,40,tp),e.createElementVNode("span",{class:e.normalizeClass(["ml-2 text-xs flex-1 truncate",m.documentId===t.selectedDocId?"font-medium":""])},e.toDisplayString(m.title||"Untitled"),3),m.isRoot?(e.openBlock(),e.createElementBlock("span",op," root ")):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["text-[9px] px-1 py-0.5 rounded ml-1",e.unref(bl)(m.permission)])},e.toDisplayString(e.unref(At)(m.permission)),3))],10,ep))),128))],64)):(e.openBlock(),e.createElementBlock("div",Qm," Loading documents... "))])):e.createCommentVNode("",!0),e.createVNode(Ce,{"is-open":b.value,title:"Delete Documents",question:`Delete ${h.value.length} document(s)? This action cannot be undone.`,warning:"","is-deleting":!1,onConfirm:v,onCancel:k[3]||(k[3]=m=>{b.value=!1,h.value=[]}),"onUpdate:isOpen":k[4]||(k[4]=m=>{m||(b.value=!1,h.value=[])})},null,8,["is-open","question"])],4))}}),rp={key:0,class:"w-10 border-r border-border flex flex-col items-center bg-background"},lp={class:"h-10 flex items-center justify-center border-b border-border w-full"},ap=["title"],sp=["title"],ip={key:1,class:"w-48 lg:w-56 border-r border-border flex flex-col bg-background"},cp={class:"h-10 flex items-center px-2 gap-1 border-b border-border"},up={class:"relative flex-1 min-w-0"},dp={class:"flex-1 overflow-hidden flex flex-col"},fp={key:0,class:"absolute inset-0 px-2 bg-muted flex items-center justify-between z-10"},mp={key:0,class:"flex items-center gap-2"},pp={class:"text-[10px] font-medium text-muted-foreground"},vp={class:"flex items-center gap-2"},gp={class:"text-[10px] font-medium"},hp={class:"flex items-center gap-0.5"},yp={key:1,class:"text-[9px] px-1.5 py-0.5 bg-amber-500/10 text-amber-600 rounded-full font-medium"},bp={key:0,class:"flex-1 overflow-y-auto scrollbar-thin"},wp={key:0,class:"p-3 text-center text-[10px] text-muted-foreground"},kp={class:"flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent"},xp=["checked","indeterminate","disabled"],Cp=["onClick"],Ep=["checked","disabled","onChange"],Bp={class:"ml-2 flex-1 min-w-0"},Np={class:"text-xs font-medium truncate block"},Sp={class:"text-[10px] text-muted-foreground truncate"},Vp=e.defineComponent({__name:"DocumentListPanel",props:{documents:{},selectedDocId:{},selectedInvitationId:{},documentListLoaded:{type:Boolean},pendingInvitations:{},isAcceptingInvitations:{type:Boolean}},emits:["select-document","select-invitation","create-document","bulk-delete","bulk-leave","bulk-delete-mixed","accept-invitations","decline-invitations"],setup(t,{expose:o,emit:n}){const r=t,l=n,s=e.ref(""),a=e.ref("docs"),c=e.ref(!1),u=e.computed(()=>{if(!s.value.trim())return r.documents;const y=s.value.trim();if(y.toLowerCase().startsWith("tag:")){const g=y.slice(4);return g?r.documents.filter(N=>N.tags?.some(E=>Wt(E,g))):r.documents}return r.documents.filter(g=>Wt(g.title||"",y)||Wt(g.documentId,y)||g.tags?.some(N=>Wt(N,y)))}),i=e.ref(new Set),d=e.computed(()=>i.value.size),f=e.computed(()=>i.value.size>0),x=e.computed(()=>{const y=r.pendingInvitations;if(y.length===0)return!1;const g=y.filter(N=>i.value.has(N.documentId)).length;return g===0?!1:g===y.length?!0:"indeterminate"}),b=(y,g)=>{const N=new Set(i.value);N.has(y)?N.delete(y):N.add(y),i.value=N},h=()=>{const y=r.pendingInvitations.every(N=>i.value.has(N.documentId)),g=new Set(i.value);y?r.pendingInvitations.forEach(N=>g.delete(N.documentId)):r.pendingInvitations.forEach(N=>g.add(N.documentId)),i.value=g},w=()=>{i.value=new Set},v=()=>{l("accept-invitations",Array.from(i.value))},C=e.ref(!1),p=()=>{C.value=!0},k=()=>{l("decline-invitations",Array.from(i.value)),w(),C.value=!1};e.watch(()=>r.isAcceptingInvitations,(y,g)=>{g&&!y&&w()});function m(){a.value="docs"}return o({showDocsSection:m,isCollapsed:c}),(y,g)=>c.value?(e.openBlock(),e.createElementBlock("div",rp,[e.createElementVNode("div",lp,[e.createElementVNode("button",{class:"p-1.5 hover:bg-muted rounded text-muted-foreground",title:"Expand document list",onClick:g[0]||(g[0]=N=>c.value=!1)},[...g[13]||(g[13]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 6h16M4 12h16M4 18h16"})],-1)])])]),e.createElementVNode("span",{class:"mt-2 text-[9px] text-muted-foreground tabular-nums",title:`${t.documents.length} documents`},e.toDisplayString(t.documents.length),9,ap),t.pendingInvitations.length>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"mt-1 text-[9px] px-1 py-0.5 bg-amber-500/10 text-amber-600 rounded-full font-medium tabular-nums",title:`${t.pendingInvitations.length} pending invitations`},e.toDisplayString(t.pendingInvitations.length),9,sp)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",ip,[e.createElementVNode("div",cp,[e.createElementVNode("div",up,[g[14]||(g[14]=e.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"},[e.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)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":g[1]||(g[1]=N=>s.value=N),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),[[e.vModelText,s.value]])]),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded text-muted-foreground flex-shrink-0 md:hidden",title:"Collapse panel",onClick:g[2]||(g[2]=N=>c.value=!0)},[...g[15]||(g[15]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 19l-7-7 7-7"})],-1)])])]),e.createElementVNode("div",dp,[e.createVNode(np,{documents:t.documents,"filtered-documents":u.value,"selected-doc-id":t.selectedDocId,"is-expanded":a.value==="docs","document-list-loaded":t.documentListLoaded,"search-query":s.value,onSelectDocument:g[3]||(g[3]=N=>l("select-document",N)),onCreateDocument:g[4]||(g[4]=N=>l("create-document")),onBulkDelete:g[5]||(g[5]=N=>l("bulk-delete",N)),onBulkLeave:g[6]||(g[6]=N=>l("bulk-leave",N)),onBulkDeleteMixed:g[7]||(g[7]=N=>l("bulk-delete-mixed",N)),onToggleSection:g[8]||(g[8]=N=>a.value="docs")},null,8,["documents","filtered-documents","selected-doc-id","is-expanded","document-list-loaded","search-query"]),e.createElementVNode("div",{class:"flex flex-col min-h-0",style:e.normalizeStyle({flex:a.value==="invitations"?"1 1 auto":"0 0 auto"})},[e.createElementVNode("div",{class:"flex items-center px-2 h-8 bg-muted border-b border-t border-border cursor-pointer relative",onClick:g[9]||(g[9]=N=>a.value="invitations")},[f.value?(e.openBlock(),e.createElementBlock("div",fp,[t.isAcceptingInvitations?(e.openBlock(),e.createElementBlock("div",mp,[g[16]||(g[16]=e.createElementVNode("span",{class:"w-3 h-3 border-2 border-green-600 border-t-transparent rounded-full animate-spin flex-shrink-0"},null,-1)),e.createElementVNode("span",pp," Accepting "+e.toDisplayString(d.value)+" invitation"+e.toDisplayString(d.value!==1?"s":"")+"… ",1)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",vp,[e.createElementVNode("span",gp,e.toDisplayString(d.value)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:e.withModifiers(w,["stop"])}," Clear ")]),e.createElementVNode("div",hp,[e.createElementVNode("button",{class:"p-1 text-green-600 hover:bg-green-500/10 rounded",title:"Accept Invitation",onClick:e.withModifiers(v,["stop"])},[...g[17]||(g[17]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)])]),e.createElementVNode("button",{class:"p-1 text-amber-600 hover:bg-amber-500/10 rounded",title:"Decline Invitation",onClick:e.withModifiers(p,["stop"])},[...g[18]||(g[18]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636"})],-1)])])])],64))])):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(["w-3 h-3 text-muted-foreground transition-transform",a.value!=="invitations"?"-rotate-90":""]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...g[19]||(g[19]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2)),g[20]||(g[20]=e.createElementVNode("span",{class:"ml-1.5 text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1"}," Pending Invitations ",-1)),t.pendingInvitations.length>0?(e.openBlock(),e.createElementBlock("span",yp,e.toDisplayString(t.pendingInvitations.length),1)):e.createCommentVNode("",!0)]),a.value==="invitations"?(e.openBlock(),e.createElementBlock("div",bp,[t.pendingInvitations.length===0?(e.openBlock(),e.createElementBlock("div",wp," No pending invitations ")):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",kp,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:x.value===!0,indeterminate:x.value==="indeterminate",disabled:t.isAcceptingInvitations,onChange:h},null,40,xp),g[21]||(g[21]=e.createElementVNode("span",{class:"ml-2 text-[10px] text-muted-foreground"},"Select all",-1))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.pendingInvitations,N=>(e.openBlock(),e.createElementBlock("div",{key:N.invitationId,class:e.normalizeClass(["flex items-center px-2 py-1.5 border-l-2",t.isAcceptingInvitations?"pointer-events-none opacity-60":"cursor-pointer",N.documentId===t.selectedInvitationId?"border-primary bg-primary/5":"border-transparent hover:bg-muted/30"]),onClick:E=>!t.isAcceptingInvitations&&l("select-invitation",N)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border flex-shrink-0",checked:i.value.has(N.documentId),disabled:t.isAcceptingInvitations,onClick:g[10]||(g[10]=e.withModifiers(()=>{},["stop"])),onChange:E=>b(N.documentId)},null,40,Ep),e.createElementVNode("div",Bp,[e.createElementVNode("span",Np,e.toDisplayString(N.title||N.document?.title||"Untitled"),1),e.createElementVNode("div",Sp," From "+e.toDisplayString(N.invitedBy),1)])],10,Cp))),128))],64))])):e.createCommentVNode("",!0)],4)]),e.createVNode(Ce,{"is-open":C.value,title:"Decline Invitations",question:`Decline ${i.value.size} invitation(s)? This cannot be undone.`,warning:"","confirm-label":"Decline","confirming-label":"Declining...","is-deleting":!1,onConfirm:k,onCancel:g[11]||(g[11]=N=>C.value=!1),"onUpdate:isOpen":g[12]||(g[12]=N=>{N||(C.value=!1)})},null,8,["is-open","question"])]))}}),yt=e.defineComponent({__name:"Skeleton",props:{class:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("div",{"data-slot":"skeleton",class:e.normalizeClass(e.unref(fe)("animate-pulse rounded-md bg-primary/10",o.class))},null,2))}}),Mp={key:0,class:"space-y-1.5"},Dp={key:1,class:"space-y-1"},zp=["onKeydown","onBlur"],$p=["title","onClick"],Ip=["disabled","onClick"],_p={key:0,class:"flex items-center gap-1"},Ap=["disabled","onKeydown"],Tp=e.defineComponent({__name:"DocumentAliasesSection",props:{documentId:{},canWrite:{type:Boolean}},setup(t){const o=Ee.forScope("DocumentAliasesSection"),n=t,r=e.ref([]),l=e.ref(!0),s=e.ref(""),a=e.ref(!1),c=e.ref(null),u=e.ref(!1),i=e.ref(null),d=e.ref(null),f=e.ref(""),x=e.ref(null);async function b(g=!1){g||(l.value=!0);try{const E=await(await te.getClientAsync()).documents.aliases.listForDocument(n.documentId);r.value=E}catch(N){o.error("Failed to load aliases:",N),r.value=[],J("Failed to load aliases: "+ae(N))}finally{l.value=!1}}e.watch(()=>n.documentId,()=>{r.value=[],l.value=!0,b()},{immediate:!0});async function h(){const g=s.value.trim();if(!g)return;s.value="";const N={aliasKey:g,scope:"user"};r.value=[...r.value,N],a.value=!0;try{const V=await(await te.getClientAsync()).documents.aliases.set({documentId:n.documentId,scope:"user",aliasKey:g});o.debug("Alias set result:",V),await b(!0),r.value.some(M=>M.aliasKey===g)||(o.warn("Alias set returned success but alias not found in refreshed list:",g),J(`Alias "${g}" was not saved. The server may have rejected it.`))}catch(E){r.value=r.value.filter(V=>V.aliasKey!==g),o.error("Failed to add alias:",E),J("Failed to add alias: "+ae(E))}finally{a.value=!1}}function w(g,N){i.value={aliasKey:g,scope:N},u.value=!0}function v(){u.value=!1,i.value=null}function C(){i.value&&p(i.value.aliasKey,i.value.scope),u.value=!1,i.value=null}async function p(g,N){const E=[...r.value];r.value=r.value.filter(V=>V.aliasKey!==g),c.value=g;try{await(await te.getClientAsync()).documents.aliases.delete({scope:N,aliasKey:g}),await b(!0)}catch(V){r.value=E,o.error("Failed to remove alias:",V),J("Failed to remove alias: "+ae(V))}finally{c.value=null}}async function k(g){d.value=g.aliasKey,f.value=g.aliasKey,await e.nextTick(),x.value?.focus(),x.value?.select()}function m(){d.value=null,f.value=""}async function y(g,N){const E=f.value.trim();if(!E||E===g){m();return}const V=[...r.value];r.value=r.value.map(B=>B.aliasKey===g?{...B,aliasKey:E}:B),m();try{const B=await te.getClientAsync();await B.documents.aliases.delete({scope:N,aliasKey:g});try{const z=await B.documents.aliases.set({documentId:n.documentId,scope:N,aliasKey:E});o.debug("Alias rename set result:",z)}catch(z){o.error("Alias rename: set failed, restoring original alias",{originalKey:g,newKey:E,setErr:z});try{await B.documents.aliases.set({documentId:n.documentId,scope:N,aliasKey:g})}catch(D){o.error("Failed to restore original alias after rename failure",{originalKey:g,restoreErr:D})}throw z}await b(!0),r.value.some(z=>z.aliasKey===E)||(o.warn("Alias rename: set returned success but alias not found in refreshed list:",E),J(`Alias "${E}" was not saved. The server may have rejected it.`))}catch(B){r.value=V,o.error("Failed to edit alias:",B),J("Failed to edit alias: "+ae(B))}}return(g,N)=>(e.openBlock(),e.createElementBlock("div",null,[N[3]||(N[3]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Aliases ",-1)),l.value?(e.openBlock(),e.createElementBlock("div",Mp,[e.createVNode(yt,{class:"h-4 w-24"}),e.createVNode(yt,{class:"h-4 w-32"})])):(e.openBlock(),e.createElementBlock("div",Dp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,E=>(e.openBlock(),e.createElementBlock("div",{key:E.aliasKey,class:"flex items-center justify-between gap-1 text-xs group min-w-0"},[d.value===E.aliasKey?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,ref_for:!0,ref_key:"editInputRef",ref:x,"onUpdate:modelValue":N[0]||(N[0]=V=>f.value=V),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:[e.withKeys(e.withModifiers(V=>y(E.aliasKey,E.scope),["prevent"]),["enter"]),e.withKeys(e.withModifiers(m,["prevent"]),["escape"])],onBlur:V=>y(E.aliasKey,E.scope)},null,40,zp)),[[e.vModelText,f.value]]):(e.openBlock(),e.createElementBlock("code",{key:1,class:e.normalizeClass(["text-[10px] font-mono text-muted-foreground truncate min-w-0",t.canWrite?"cursor-pointer hover:text-foreground":""]),title:E.aliasKey,onClick:V=>t.canWrite?k(E):void 0},e.toDisplayString(E.aliasKey),11,$p)),t.canWrite&&d.value!==E.aliasKey?(e.openBlock(),e.createElementBlock("button",{key:2,class:"opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-destructive flex-shrink-0",disabled:c.value===E.aliasKey,onClick:V=>w(E.aliasKey,E.scope)}," × ",8,Ip)):e.createCommentVNode("",!0)]))),128)),t.canWrite?(e.openBlock(),e.createElementBlock("div",_p,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":N[1]||(N[1]=E=>s.value=E),type:"text",class:"flex-1 px-1.5 py-0.5 text-[10px] font-mono bg-transparent border border-dashed border-border rounded focus:outline-none focus:border-ring focus:bg-muted",placeholder:"+ add alias",disabled:a.value,onKeydown:e.withKeys(e.withModifiers(h,["prevent"]),["enter"])},null,40,Ap),[[e.vModelText,s.value]])])):e.createCommentVNode("",!0)])),e.createVNode(Ce,{"is-open":u.value,title:"Remove Alias",question:`Remove the alias "${i.value?.aliasKey}" from this document?`,warning:"","confirm-label":"Remove","confirming-label":"Removing...","is-deleting":c.value!==null,onConfirm:C,onCancel:v,"onUpdate:isOpen":N[2]||(N[2]=E=>{E||v()})},null,8,["is-open","question","is-deleting"])]))}}),Pp={key:0,class:"space-y-2.5"},Op={class:"flex-1 space-y-1"},Rp={key:1,class:"space-y-2"},Lp={class:"flex items-center gap-2 min-w-0 flex-1"},Fp={class:"min-w-0"},qp=["title"],jp=["title"],Hp={key:0,class:"text-[10px] text-muted-foreground flex-shrink-0"},Up=["value","onChange"],Wp={key:0,value:"transfer-ownership"},Gp={value:"remove"},Kp={key:2,class:"flex items-center gap-1.5 flex-shrink-0"},Yp={class:"text-[10px] text-muted-foreground capitalize"},Qp=["onClick"],Xp={key:3,class:"text-[10px] text-muted-foreground capitalize flex-shrink-0"},Zp={class:"flex items-center gap-2 min-w-0 flex-1"},Jp={class:"min-w-0"},ev=["title"],tv=["onClick"],ov={key:0,class:"pt-1"},nv=["onKeydown"],rv={class:"flex items-center gap-1"},lv=["disabled"],av={key:0,class:"w-2.5 h-2.5 border border-current border-t-transparent rounded-full animate-spin"},sv=e.defineComponent({__name:"DocumentSharingSection",props:{documentId:{},canWrite:{type:Boolean}},setup(t){const o=Ee.forScope("DocumentSharingSection"),n=t,r=e.ref(""),l=e.ref([]),s=e.ref([]),a=e.ref(!0),c=e.ref(""),u=e.ref("read-write"),i=e.ref(!1),d=e.ref(!1),f=e.ref(!1),x=e.ref(""),b=e.ref(""),h=e.ref(!1),w=e.ref(!1),v=e.ref(!1),C=e.ref(""),p=e.ref(""),k=e.ref(!1),m=e.ref(!1),y=e.ref(!1);async function g(S=!1){S||(a.value=!0);try{const _=await te.getClientAsync(),[$,j,ne]=await Promise.all([_.documents.getPermissions(n.documentId),_.documents.listInvitations(n.documentId),_.me.get()]);r.value=ne?.userId??"",l.value=$,s.value=j.filter(re=>!re.accepted)}catch(_){o.error("Failed to load sharing info:",_),l.value=[],s.value=[],J("Failed to load sharing info: "+ae(_))}finally{a.value=!1}}e.watch(()=>n.documentId,()=>{l.value=[],s.value=[],a.value=!0,g()},{immediate:!0});let N=null,E=!1;e.onMounted(async()=>{E=!0;try{const S=await te.getClientAsync();if(!E)return;const _=$=>{$.documentId===n.documentId&&(o.debug("Invitation event received – reloading sharing data",{action:$.action}),g(!0))};S.on("invitation",_),N=()=>S.off("invitation",_)}catch(S){o.warn("Could not subscribe to invitation events:",S)}}),e.onUnmounted(()=>{E=!1,N?.()});const V=e.computed(()=>{const S=l.value.find(_=>_.userId===r.value);return S?kt(S.permission):!1}),B=e.computed(()=>{const S=l.value.find(_=>_.userId===r.value);return S?kt(S.permission)||S.permission==="read-write":!1});function M(S){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(S)}function z(S){return S.split(" ").map(_=>_[0]).join("").toUpperCase().slice(0,2)}function D(S){const _=["bg-blue-500","bg-green-500","bg-purple-500","bg-pink-500","bg-orange-500","bg-teal-500"];let $=0;for(let j=0;j<S.length;j++)$=S.charCodeAt(j)+(($<<5)-$);return _[Math.abs($)%_.length]??"bg-blue-500"}async function R(){const S=c.value.trim().toLowerCase();if(!S)return;if(!M(S)){J("Please enter a valid email address.");return}if(l.value.some(re=>re.email.toLowerCase()===S)){J(`${S} already has access to this document.`);return}if(s.value.some(re=>re.email.toLowerCase()===S)){J(`${S} already has a pending invitation.`);return}const j=u.value,ne={invitationId:`optimistic-${Date.now()}`,email:S,permission:j,invitedBy:"",invitedAt:new Date().toISOString(),accepted:!1};s.value=[...s.value,ne],c.value="",d.value=!1,i.value=!0;try{await(await te.getClientAsync()).documents.createInvitation(n.documentId,S,j),await g(!0)}catch(re){s.value=s.value.filter(ke=>ke.invitationId!==ne.invitationId),o.error("Failed to invite collaborator:",re),J("Failed to invite: "+ae(re))}finally{i.value=!1}}async function K(S){const _=[...s.value];s.value=s.value.filter($=>$.invitationId!==S);try{await(await te.getClientAsync()).documents.deleteInvitation(n.documentId,S),await g(!0)}catch($){s.value=_,o.error("Failed to cancel invitation:",$),J("Failed to cancel invitation: "+ae($))}}async function U(S,_){const $=l.value.slice();l.value=l.value.map(j=>j.userId===S?{...j,permission:_}:j);try{await(await te.getClientAsync()).documents.updatePermissions(n.documentId,{userId:S,permission:_}),await g(!0)}catch(j){l.value=$,o.error("Failed to update permission:",j),J("Failed to update permission: "+ae(j))}}async function ee(S){const _=l.value.slice();l.value=l.value.filter($=>$.userId!==S);try{await(await te.getClientAsync()).documents.removePermission(n.documentId,S),await g(!0)}catch($){l.value=_,o.error("Failed to remove permission:",$),J("Failed to remove permission: "+ae($))}}function L(S,_,$){const j=l.value.find(ne=>ne.userId===S);_==="remove"?(j&&($.value=j.permission,b.value=j.name||j.email),x.value=S,h.value=S===r.value,f.value=!0):_==="transfer-ownership"?(j&&($.value=j.permission,p.value=j.name||j.email),C.value=S,v.value=!0):_==="reader"&&S===r.value?(j&&($.value=j.permission),m.value=!0):U(S,_)}function ie(){y.value=!0,U(r.value,"reader").finally(()=>{y.value=!1,m.value=!1})}function H(){m.value=!1}function O(){w.value=!0,ee(x.value).finally(()=>{w.value=!1,f.value=!1,x.value="",b.value="",h.value=!1})}function G(){f.value=!1,x.value="",b.value="",h.value=!1}function Z(S){x.value=S.userId,b.value=S.name||S.email,h.value=!0,f.value=!0}async function W(S){const _=l.value.slice();l.value=l.value.map($=>$.userId===S?{...$,permission:"owner"}:$.userId===r.value?{...$,permission:"read-write"}:$),k.value=!0;try{const $=await te.getClientAsync();await $.documents.updatePermissions(n.documentId,{userId:S,permission:"owner"}),await $.documents.updatePermissions(n.documentId,{userId:r.value,permission:"read-write"}),await g(!0)}catch($){l.value=_,o.error("Failed to transfer ownership:",$),J("Failed to transfer ownership: "+ae($))}finally{k.value=!1,v.value=!1,C.value="",p.value=""}}function me(){W(C.value)}function le(){v.value=!1,C.value="",p.value=""}return(S,_)=>(e.openBlock(),e.createElementBlock("div",null,[_[15]||(_[15]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Sharing ",-1)),a.value?(e.openBlock(),e.createElementBlock("div",Pp,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,$=>e.createElementVNode("div",{key:$,class:"flex items-center gap-2"},[e.createVNode(yt,{class:"h-5 w-5 rounded-full flex-shrink-0"}),e.createElementVNode("div",Op,[e.createVNode(yt,{class:"h-3 w-20"}),e.createVNode(yt,{class:"h-2.5 w-28"})]),e.createVNode(yt,{class:"h-3 w-10"})])),64))])):(e.openBlock(),e.createElementBlock("div",Rp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,$=>(e.openBlock(),e.createElementBlock("div",{key:$.userId,class:"flex items-center justify-between gap-2 text-xs"},[e.createElementVNode("div",Lp,[e.createElementVNode("div",{class:e.normalizeClass(["w-5 h-5 rounded-full flex items-center justify-center text-[10px] text-white font-medium flex-shrink-0",D($.name||$.email)])},e.toDisplayString(z($.name||$.email)),3),e.createElementVNode("div",Fp,[e.createElementVNode("div",{class:"font-medium truncate",title:$.name||$.email},e.toDisplayString($.name||$.email),9,qp),$.name?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-[10px] text-muted-foreground truncate",title:$.email},e.toDisplayString($.email),9,jp)):e.createCommentVNode("",!0)])]),e.unref(kt)($.permission)?(e.openBlock(),e.createElementBlock("span",Hp," Owner ")):B.value?(e.openBlock(),e.createElementBlock("select",{key:1,value:$.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:j=>L($.userId,j.target.value,j.target)},[_[8]||(_[8]=e.createElementVNode("option",{value:"read-write"},"Editor",-1)),_[9]||(_[9]=e.createElementVNode("option",{value:"reader"},"Viewer",-1)),_[10]||(_[10]=e.createElementVNode("option",{disabled:""},"───",-1)),V.value&&$.userId!==r.value&&$.permission==="read-write"?(e.openBlock(),e.createElementBlock("option",Wp," Transfer Ownership ")):e.createCommentVNode("",!0),e.createElementVNode("option",Gp,e.toDisplayString($.userId===r.value?"Leave":"Remove"),1)],40,Up)):$.userId===r.value?(e.openBlock(),e.createElementBlock("div",Kp,[e.createElementVNode("span",Yp,e.toDisplayString(e.unref(At)($.permission)),1),e.createElementVNode("button",{class:"text-muted-foreground hover:text-destructive flex-shrink-0",title:"Leave document",onClick:j=>Z($)},[..._[11]||(_[11]=[e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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,Qp)])):(e.openBlock(),e.createElementBlock("span",Xp,e.toDisplayString(e.unref(At)($.permission)),1))]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,$=>(e.openBlock(),e.createElementBlock("div",{key:$.invitationId,class:"flex items-center justify-between gap-2 text-xs"},[e.createElementVNode("div",Zp,[_[13]||(_[13]=e.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)),e.createElementVNode("div",Jp,[e.createElementVNode("div",{class:"font-medium text-muted-foreground truncate",title:$.email},e.toDisplayString($.email),9,ev),_[12]||(_[12]=e.createElementVNode("div",{class:"text-[10px] text-amber-600 flex items-center gap-1"},[e.createElementVNode("svg",{class:"w-3 h-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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"})]),e.createTextVNode(" Pending invitation ")],-1))])]),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-destructive flex-shrink-0",onClick:j=>K($.invitationId)}," Cancel ",8,tv)]))),128)),t.canWrite?(e.openBlock(),e.createElementBlock("div",ov,[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,"data-devtools-dropdown":"",class:"space-y-1.5",onKeydown:_[3]||(_[3]=e.withKeys(e.withModifiers($=>{d.value=!1,c.value=""},["stop","prevent"]),["escape"]))},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":_[0]||(_[0]=$=>c.value=$),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:e.withKeys(e.withModifiers(R,["prevent"]),["enter"])},null,40,nv),[[e.vModelText,c.value]]),e.createElementVNode("div",rv,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":_[1]||(_[1]=$=>u.value=$),class:"flex-1 px-1 py-0.5 text-[10px] border border-border rounded bg-background"},[..._[14]||(_[14]=[e.createElementVNode("option",{value:"read-write"},"Editor",-1),e.createElementVNode("option",{value:"reader"},"Viewer",-1)])],512),[[e.vModelSelect,u.value]]),e.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:i.value||!c.value.trim()||!M(c.value.trim()),onClick:R},[i.value?(e.openBlock(),e.createElementBlock("span",av)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(i.value?"Sending...":"Send"),1)],8,lv),e.createElementVNode("button",{class:"px-2 py-0.5 text-[10px] text-muted-foreground hover:text-foreground",onClick:_[2]||(_[2]=$=>{d.value=!1,c.value=""})}," Cancel ")])],32)):(e.openBlock(),e.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:_[4]||(_[4]=$=>d.value=!0)}," + Invite collaborator "))])):e.createCommentVNode("",!0)])),e.createVNode(Ce,{"is-open":f.value,title:h.value?"Leave Document":"Remove Collaborator",question:h.value?"Leave this document? You will lose access immediately.":`Remove ${b.value} from this document? They will lose access immediately.`,warning:"","confirm-label":h.value?"Leave":"Remove","confirming-label":h.value?"Leaving...":"Removing...","is-deleting":w.value,onConfirm:O,onCancel:G,"onUpdate:isOpen":_[5]||(_[5]=$=>{$||G()})},null,8,["is-open","title","question","confirm-label","confirming-label","is-deleting"]),e.createVNode(Ce,{"is-open":m.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":y.value,onConfirm:ie,onCancel:H,"onUpdate:isOpen":_[6]||(_[6]=$=>{$||H()})},null,8,["is-open","is-deleting"]),e.createVNode(Ce,{"is-open":v.value,title:"Transfer Ownership",question:`Transfer ownership to ${p.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":k.value,onConfirm:me,onCancel:le,"onUpdate:isOpen":_[7]||(_[7]=$=>{$||le()})},null,8,["is-open","question","is-deleting"])]))}}),iv={class:"flex flex-wrap gap-1 items-center"},cv=["title"],uv={class:"truncate min-w-0"},dv=["disabled","onClick"],fv=["onKeydown"],mv="__ROOT_TAG__",pv=e.defineComponent({__name:"DocumentTagsSection",props:{documentId:{},baseTags:{},canWrite:{type:Boolean},isRoot:{type:Boolean}},emits:["documents-changed"],setup(t,{emit:o}){const n=Ee.forScope("DocumentTagsSection"),r=t,l=o,s=e.ref(""),a=e.ref(!1),c=e.ref(null),u=e.ref(!1),i=e.ref(null),d=e.ref([]),f=e.ref(new Set),x=e.ref([]),b=e.computed(()=>{const k=new Set([...r.baseTags,...d.value]);for(const g of f.value)k.delete(g);const m=x.value.filter(g=>k.has(g)),y=new Set(m);for(const g of k)y.has(g)||m.push(g);return m});e.watch(()=>r.baseTags,k=>{if(!k)return;const m=new Set(x.value);for(const g of k)m.has(g)||x.value.push(g);d.value=d.value.filter(g=>!k.includes(g));for(const g of f.value)k.includes(g)||f.value.delete(g);const y=new Set([...k,...d.value]);x.value=x.value.filter(g=>y.has(g))},{deep:!0}),e.watch(()=>r.documentId,()=>{d.value=[],f.value=new Set,x.value=[]});async function h(){const k=s.value.trim();if(k){s.value="",d.value.includes(k)||d.value.push(k),x.value.includes(k)||x.value.push(k),a.value=!0;try{await(await te.getClientAsync()).documents.addTag(r.documentId,k),l("documents-changed"),n.debug("Added tag to document",{documentId:r.documentId,tag:k})}catch(m){d.value=d.value.filter(y=>y!==k),n.error("Failed to add tag to document:",m),J("Failed to add tag: "+ae(m))}finally{a.value=!1}}}function w(k){i.value=k,u.value=!0}function v(){u.value=!1,i.value=null}function C(){i.value&&p(i.value),u.value=!1,i.value=null}async function p(k){f.value.add(k),c.value=k;try{await(await te.getClientAsync()).makeRequest("DELETE",`/documents/${r.documentId}/tags/${encodeURIComponent(k)}`),l("documents-changed"),n.debug("Removed tag from document",{documentId:r.documentId,tag:k})}catch(m){f.value.delete(k),n.error("Failed to remove tag from document:",m),J("Failed to remove tag: "+ae(m))}finally{c.value=null}}return(k,m)=>(e.openBlock(),e.createElementBlock("div",null,[m[2]||(m[2]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Tags ",-1)),e.createElementVNode("div",iv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,y=>(e.openBlock(),e.createElementBlock("span",{key:y,class:"inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] bg-muted rounded group max-w-full",title:y},[e.createElementVNode("span",uv,e.toDisplayString(y),1),t.canWrite&&!(t.isRoot&&y===mv)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"opacity-0 group-hover:opacity-100 hover:text-destructive flex-shrink-0",disabled:c.value===y,onClick:g=>w(y)}," × ",8,dv)):e.createCommentVNode("",!0)],8,cv))),128)),t.canWrite&&!t.isRoot?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":m[0]||(m[0]=y=>s.value=y),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:e.withKeys(e.withModifiers(h,["prevent"]),["enter"]),onBlur:h},null,40,fv)),[[e.vModelText,s.value]]):e.createCommentVNode("",!0)]),e.createVNode(Ce,{"is-open":u.value,title:"Remove Tag",question:`Remove the tag "${i.value}" from this document?`,warning:"","confirm-label":"Remove","confirming-label":"Removing...","is-deleting":c.value!==null,onConfirm:C,onCancel:v,"onUpdate:isOpen":m[1]||(m[1]=y=>{y||v()})},null,8,["is-open","question","is-deleting"])]))}}),vv={class:"relative min-h-0"},gv={class:"w-3 h-3 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},hv={key:0,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"},yv={key:1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},bv={class:"flex-1 overflow-y-auto scrollbar-thin min-h-0 p-3"},wv={class:"mb-4"},kv={class:"flex items-center justify-between"},xv={class:"text-base font-semibold truncate"},Cv={key:0,class:"relative"},Ev={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"},Bv={class:"py-1"},Nv={key:0,class:"border-t border-border my-1"},Sv=["title"],Vv={class:"text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]"},Mv={key:0,class:"w-3 h-3 text-green-500 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Dv={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"},zv={class:"space-y-3 mb-4 text-xs"},$v={class:"flex justify-between"},Iv={class:"flex justify-between"},_v={key:0,class:"flex justify-between"},Av={class:"mb-4"},Tv={class:"mb-4"},Pv={key:0,class:"mb-4"},Ov={class:"mb-4"},Rv={key:0,class:"space-y-1"},Lv={key:0,class:"flex justify-between gap-2 text-xs"},Fv=["title","onClick"],qv={class:"text-muted-foreground flex-shrink-0 whitespace-nowrap"},jv={key:1,class:"text-xs text-muted-foreground italic"},Hv={class:"bg-background rounded-lg shadow-xl w-80 p-4"},Uv={class:"space-y-3"},Wv={class:"flex justify-end gap-2"},Gv=["disabled"],Kv=e.defineComponent({__name:"DocumentPropertiesPanel",props:{document:{},models:{},recordCounts:{}},emits:["navigate-to-model","rename-document","delete-document","documents-changed"],setup(t,{emit:o}){const n=t,r=o,l=e.computed(()=>n.document.permission!=="reader"),s=e.ref(typeof window<"u"?localStorage.getItem(xt)==="true":!1);e.watch(s,C=>{typeof window<"u"&&localStorage.setItem(xt,String(C))});const a=e.ref(!1),c=e.ref(!1),u=e.ref(""),i=e.ref(null);function d(C){if(C.key==="Escape"){if(a.value){a.value=!1,C.stopPropagation();return}c.value=!1}}function f(){c.value||a.value?document.addEventListener("keydown",d):document.removeEventListener("keydown",d)}e.watch(c,C=>{f(),C&&e.nextTick(()=>i.value?.focus())}),e.watch(a,()=>f()),e.onUnmounted(()=>{document.removeEventListener("keydown",d)});const x=e.ref(null);let b=null;async function h(C){try{await navigator.clipboard.writeText(C)}catch{}x.value=C,b&&clearTimeout(b),b=setTimeout(()=>{x.value=null},1500)}function w(){const C=u.value.trim();C&&(r("rename-document",n.document.documentId,C),c.value=!1)}function v(C){if(!C)return"Unknown";try{return new Date(C).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch{return C}}return(C,p)=>(e.openBlock(),e.createElementBlock("div",vv,[e.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:p[0]||(p[0]=k=>s.value=!s.value)},[(e.openBlock(),e.createElementBlock("svg",gv,[s.value?(e.openBlock(),e.createElementBlock("path",hv)):(e.openBlock(),e.createElementBlock("path",yv))]))]),e.createElementVNode("div",{class:e.normalizeClass(["h-full border-l border-border flex flex-col bg-background transition-all duration-200",s.value?"w-0 overflow-hidden border-l-0":"w-64 lg:w-72"])},[e.createElementVNode("div",bv,[e.createElementVNode("div",wv,[e.createElementVNode("div",kv,[e.createElementVNode("h2",xv,e.toDisplayString(t.document.title||"Untitled"),1),l.value?(e.openBlock(),e.createElementBlock("div",Cv,[e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded",onClick:p[1]||(p[1]=k=>a.value=!a.value)},[...p[9]||(p[9]=[e.createElementVNode("svg",{class:"w-4 h-4 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)])]),a.value?(e.openBlock(),e.createElementBlock("div",Ev,[e.createElementVNode("div",Bv,[e.createElementVNode("button",{class:"w-full px-3 py-1.5 text-xs text-left hover:bg-muted flex items-center gap-2",onClick:p[2]||(p[2]=k=>{a.value=!1,c.value=!0,u.value=t.document?.title||""})},[e.createVNode(e.unref(fr),{class:"w-3.5 h-3.5"}),p[10]||(p[10]=e.createTextVNode(" Rename Document ",-1))]),t.document.isRoot?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Nv)),t.document.isRoot?e.createCommentVNode("",!0):(e.openBlock(),e.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:p[3]||(p[3]=k=>{a.value=!1,r("delete-document",t.document.documentId)})},[e.createVNode(e.unref(en),{class:"w-3.5 h-3.5"}),p[11]||(p[11]=e.createTextVNode(" Delete Document ",-1))]))])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),e.createElementVNode("button",{class:"flex items-center gap-1 mt-1 group hover:text-foreground",title:`Click to copy: ${t.document.documentId}`,onClick:p[4]||(p[4]=k=>h(t.document.documentId))},[e.createElementVNode("code",Vv,e.toDisplayString(t.document.documentId),1),x.value===t.document.documentId?(e.openBlock(),e.createElementBlock("svg",Mv,[...p[12]||(p[12]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Dv,[...p[13]||(p[13]=[e.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,Sv)]),e.createElementVNode("div",zv,[e.createElementVNode("div",$v,[p[14]||(p[14]=e.createElementVNode("span",{class:"text-muted-foreground"},"Created",-1)),e.createElementVNode("span",null,e.toDisplayString(v(t.document.createdAt||t.document.lastModified)),1)]),e.createElementVNode("div",Iv,[p[15]||(p[15]=e.createElementVNode("span",{class:"text-muted-foreground"},"Permission",-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(At)(t.document.permission)),1)]),t.document.isRoot?(e.openBlock(),e.createElementBlock("div",_v,[...p[16]||(p[16]=[e.createElementVNode("span",{class:"text-muted-foreground"},"Type",-1),e.createElementVNode("span",{class:"text-amber-600"},"Root Document",-1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Av,[e.createVNode(pv,{"document-id":t.document.documentId,"base-tags":t.document.tags??[],"can-write":l.value,"is-root":t.document.isRoot,onDocumentsChanged:p[5]||(p[5]=k=>r("documents-changed"))},null,8,["document-id","base-tags","can-write","is-root"])]),e.createElementVNode("div",Tv,[e.createVNode(Tp,{"document-id":t.document.documentId,"can-write":l.value},null,8,["document-id","can-write"])]),t.document.isRoot?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Pv,[e.createVNode(sv,{"document-id":t.document.documentId,"can-write":l.value},null,8,["document-id","can-write"])])),e.createElementVNode("div",Ov,[p[17]||(p[17]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Models ",-1)),t.models.some(k=>(t.recordCounts[k.tableName]??0)>0)?(e.openBlock(),e.createElementBlock("div",Rv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.models,k=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k.tableName},[(t.recordCounts[k.tableName]??0)>0?(e.openBlock(),e.createElementBlock("div",Lv,[e.createElementVNode("button",{class:"hover:text-primary hover:underline text-left truncate min-w-0",title:k.name,onClick:m=>r("navigate-to-model",k.tableName)},e.toDisplayString(k.name),9,Fv),e.createElementVNode("span",qv,e.toDisplayString(t.recordCounts[k.tableName])+" records ",1)])):e.createCommentVNode("",!0)],64))),128))])):(e.openBlock(),e.createElementBlock("p",jv," No records in this document "))])])],2),c.value?(e.openBlock(),e.createElementBlock("div",{key:0,"data-devtools-modal":"",class:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:p[8]||(p[8]=e.withModifiers(k=>c.value=!1,["self"]))},[e.createElementVNode("div",Hv,[p[19]||(p[19]=e.createElementVNode("h3",{class:"text-sm font-semibold mb-3"},"Rename Document",-1)),e.createElementVNode("div",Uv,[e.createElementVNode("div",null,[p[18]||(p[18]=e.createElementVNode("label",{class:"text-xs text-muted-foreground"},"Document Name",-1)),e.withDirectives(e.createElementVNode("input",{ref_key:"renameInputRef",ref:i,"onUpdate:modelValue":p[6]||(p[6]=k=>u.value=k),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:e.withKeys(w,["enter"])},null,544),[[e.vModelText,u.value]])]),e.createElementVNode("div",Wv,[e.createElementVNode("button",{class:"px-3 py-1.5 text-xs hover:bg-muted rounded",onClick:p[7]||(p[7]=k=>c.value=!1)}," Cancel "),e.createElementVNode("button",{class:"px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90",disabled:!u.value.trim(),onClick:w}," Rename ",8,Gv)])])])])):e.createCommentVNode("",!0)]))}}),Yv={class:"relative min-h-0"},Qv={class:"w-3 h-3 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Xv={key:0,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"},Zv={key:1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},Jv={class:"flex-1 overflow-y-auto scrollbar-thin min-h-0 p-3"},eg={class:"mb-4"},tg={class:"flex items-center gap-2"},og={class:"text-base font-semibold truncate"},ng=["title"],rg={class:"text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]"},lg={key:0,class:"w-3 h-3 text-green-500 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ag={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"},sg={class:"flex items-center gap-2 mb-4 pb-4 border-b border-border"},ig=["disabled"],cg={key:0,class:"w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin"},ug=["disabled"],dg={class:"space-y-2 text-xs mb-4"},fg={class:"flex items-center justify-between"},mg={class:"flex items-center justify-between"},pg={class:"flex items-center justify-between"},vg=e.defineComponent({__name:"InvitationPropertiesPanel",props:{invitation:{}},emits:["accept-invitation","decline-invitation"],setup(t,{emit:o}){const n=t,r=o,l=e.ref(typeof window<"u"?localStorage.getItem(xt)==="true":!1);e.watch(l,v=>{typeof window<"u"&&localStorage.setItem(xt,String(v))});const s=e.ref(null);let a=null;const c=async v=>{try{await navigator.clipboard.writeText(v)}catch{}s.value=v,a&&clearTimeout(a),a=setTimeout(()=>{s.value=null},1500)},u=e.ref(!1),i=e.ref(!1),d=()=>{u.value=!0,r("accept-invitation",n.invitation.documentId)},f=e.ref(!1),x=()=>{f.value=!0},b=()=>{i.value=!0,r("decline-invitation",n.invitation.documentId),f.value=!1},h=v=>{if(!v)return"Unknown";try{return new Date(v).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}catch{return v}},w=()=>n.invitation.title||n.invitation.document?.title||"Untitled";return(v,C)=>(e.openBlock(),e.createElementBlock("div",Yv,[e.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:C[0]||(C[0]=p=>l.value=!l.value)},[(e.openBlock(),e.createElementBlock("svg",Qv,[l.value?(e.openBlock(),e.createElementBlock("path",Xv)):(e.openBlock(),e.createElementBlock("path",Zv))]))]),e.createElementVNode("div",{class:e.normalizeClass(["h-full border-l border-border flex flex-col bg-background transition-all duration-200",l.value?"w-0 overflow-hidden border-l-0":"w-64 lg:w-72"])},[e.createElementVNode("div",Jv,[e.createElementVNode("div",eg,[e.createElementVNode("div",tg,[e.createElementVNode("h2",og,e.toDisplayString(w()),1),C[4]||(C[4]=e.createElementVNode("span",{class:"inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-medium bg-amber-500/10 text-amber-600 rounded border border-amber-500/20 flex-shrink-0"},[e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})]),e.createTextVNode(" Pending ")],-1))]),e.createElementVNode("button",{class:"flex items-center gap-1 mt-1 group hover:text-foreground",title:`Click to copy: ${t.invitation.documentId}`,onClick:C[1]||(C[1]=p=>c(t.invitation.documentId))},[e.createElementVNode("code",rg,e.toDisplayString(t.invitation.documentId),1),s.value===t.invitation.documentId?(e.openBlock(),e.createElementBlock("svg",lg,[...C[5]||(C[5]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",ag,[...C[6]||(C[6]=[e.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,ng)]),e.createElementVNode("div",sg,[e.createElementVNode("button",{class:"flex-1 px-3 py-2 text-xs font-medium bg-primary text-primary-foreground rounded hover:bg-primary/90 disabled:opacity-50 flex items-center justify-center gap-1.5",disabled:u.value||i.value,onClick:d},[u.value?(e.openBlock(),e.createElementBlock("span",cg)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(u.value?"Accepting...":"Accept Invitation"),1)],8,ig),e.createElementVNode("button",{class:"px-3 py-2 text-xs font-medium text-muted-foreground border border-border rounded hover:bg-muted disabled:opacity-50",disabled:u.value||i.value,onClick:x},e.toDisplayString(i.value?"...":"Decline"),9,ug)]),e.createElementVNode("div",dg,[e.createElementVNode("div",fg,[C[7]||(C[7]=e.createElementVNode("span",{class:"text-muted-foreground"},"Email",-1)),e.createElementVNode("span",null,e.toDisplayString(t.invitation.email),1)]),e.createElementVNode("div",mg,[C[8]||(C[8]=e.createElementVNode("span",{class:"text-muted-foreground"},"Permission",-1)),e.createElementVNode("span",{class:e.normalizeClass(["inline-flex items-center px-1.5 py-0.5 text-[10px] font-medium rounded",e.unref(bl)(t.invitation.permission)])},e.toDisplayString(e.unref(At)(t.invitation.permission)),3)]),e.createElementVNode("div",pg,[C[9]||(C[9]=e.createElementVNode("span",{class:"text-muted-foreground"},"Invited On",-1)),e.createElementVNode("span",null,e.toDisplayString(h(t.invitation.invitedAt)),1)])])])],2),e.createVNode(Ce,{"is-open":f.value,title:"Decline Invitation",question:"Are you sure you want to decline this invitation?",warning:"","confirm-label":"Decline","confirming-label":"Declining...","is-deleting":i.value,onConfirm:b,onCancel:C[2]||(C[2]=p=>f.value=!1),"onUpdate:isOpen":C[3]||(C[3]=p=>{p||(f.value=!1)})},null,8,["is-open","is-deleting"])]))}});function rr(t,o){function n(s,a){const c=[...t.value],u=t.value.find(d=>d[o]===s),i=t.value.findIndex(d=>d[o]===s);return t.value=t.value.filter(d=>d[o]!==s),a().then(()=>({success:!0})).catch(()=>{if(u&&i>=0){const d=[...t.value];d.splice(i,0,u),t.value=d}else u?t.value=[...t.value,u]:t.value=c;return{success:!1}})}async function r(s,a){const c=[...t.value],u=new Set(s);t.value=t.value.filter(i=>!u.has(i[o]));try{const i=await a(s);if(i.length>0){const d=new Set(i),f=c.filter(w=>d.has(w[o])),x=t.value,b=new Set(x.map(w=>w[o])),h=[];for(const w of c){const v=w[o];(b.has(v)||d.has(v))&&h.push(x.find(C=>C[o]===v)??f.find(C=>C[o]===v)??w)}for(const w of x)h.some(v=>v[o]===w[o])||h.push(w);t.value=h}return{failedIds:i}}catch{return t.value=c,{failedIds:s}}}async function l(s,a,c,u){const i=t.value.find(f=>f[o]===s),d=i?i[a]:void 0;t.value=t.value.map(f=>f[o]===s?{...f,[a]:c}:f);try{return await u(),{success:!0}}catch{return d!==void 0&&(t.value=t.value.map(f=>f[o]===s?{...f,[a]:d}:f)),{success:!1}}}return{optimisticRemove:n,optimisticBulkRemove:r,optimisticFieldUpdate:l}}const gg={class:"bg-background rounded-lg shadow-xl w-80 p-4"},hg={class:"space-y-3"},yg=["disabled"],bg={class:"flex justify-end gap-2"},wg=["disabled"],kg=["disabled"],xg={key:0,class:"w-3 h-3 border-2 border-primary-foreground border-t-transparent rounded-full animate-spin"},Cg=e.defineComponent({__name:"CreateDocumentDialog",props:{open:{type:Boolean},isCreating:{type:Boolean}},emits:["update:open","create"],setup(t,{emit:o}){const n=t,r=o,l=e.ref(""),s=e.ref(null),a=()=>{if(n.isCreating)return;const i=l.value.trim();i&&r("create",i)},c=()=>{n.isCreating||r("update:open",!1)};function u(i){i.key==="Escape"&&!n.isCreating&&c()}return e.watch(()=>n.open,i=>{i?(document.addEventListener("keydown",u),e.nextTick(()=>s.value?.focus())):(document.removeEventListener("keydown",u),l.value="")}),e.onUnmounted(()=>{document.removeEventListener("keydown",u)}),(i,d)=>t.open?(e.openBlock(),e.createElementBlock("div",{key:0,"data-devtools-modal":"",class:"fixed inset-0 bg-black/50 flex items-center justify-center z-50",onClick:e.withModifiers(c,["self"])},[e.createElementVNode("div",gg,[d[2]||(d[2]=e.createElementVNode("h3",{class:"text-sm font-semibold mb-3"},"Create New Document",-1)),e.createElementVNode("div",hg,[e.createElementVNode("div",null,[d[1]||(d[1]=e.createElementVNode("label",{class:"text-xs text-muted-foreground"},"Document Name",-1)),e.withDirectives(e.createElementVNode("input",{ref_key:"titleInputRef",ref:s,"onUpdate:modelValue":d[0]||(d[0]=f=>l.value=f),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:t.isCreating,onKeydown:e.withKeys(a,["enter"])},null,40,yg),[[e.vModelText,l.value]])]),e.createElementVNode("div",bg,[e.createElementVNode("button",{class:"px-3 py-1.5 text-xs hover:bg-muted rounded",disabled:t.isCreating,onClick:c}," Cancel ",8,wg),e.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:!l.value.trim()||t.isCreating,onClick:a},[t.isCreating?(e.openBlock(),e.createElementBlock("div",xg)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.isCreating?"Creating...":"Create"),1)],8,kg)])])])])):e.createCommentVNode("",!0)}}),Eg=e.defineComponent({__name:"Label",props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=se.reactiveOmit(o,"class");return(r,l)=>(e.openBlock(),e.createBlock(e.unref(yc),e.mergeProps({"data-slot":"label"},e.unref(n),{class:e.unref(fe)("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",o.class)}),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),Bg=e.defineComponent({__name:"Switch",props:{defaultValue:{type:Boolean},modelValue:{type:[Boolean,null]},disabled:{type:Boolean},id:{},value:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,r=o,l=se.reactiveOmit(n,"class"),s=Bt(l,r);return(a,c)=>(e.openBlock(),e.createBlock(e.unref(du),e.mergeProps({"data-slot":"switch"},e.unref(s),{class:e.unref(fe)("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",n.class)}),{default:e.withCtx(u=>[e.createVNode(e.unref(mu),{"data-slot":"switch-thumb",class:e.normalizeClass(e.unref(fe)("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:e.withCtx(()=>[e.renderSlot(a.$slots,"thumb",e.normalizeProps(e.guardReactiveProps(u)))]),_:2},1032,["class"])]),_:3},16,["class"]))}}),Zo=e.defineComponent({__name:"Textarea",props:{class:{},defaultValue:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,r=o,l=se.useVModel(n,"modelValue",r,{passive:!0,defaultValue:n.defaultValue});return(s,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("textarea",{"onUpdate:modelValue":a[0]||(a[0]=c=>e.isRef(l)?l.value=c:null),"data-slot":"textarea",class:e.normalizeClass(e.unref(fe)("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",n.class))},null,2)),[[e.vModelText,e.unref(l)]])}}),Ng={class:"min-h-10 px-3 py-1.5 border-b border-border bg-muted/20 relative flex items-center"},Sg={class:"flex items-center gap-2 flex-1"},Vg=["onClick","onKeydown"],Mg={class:"text-muted-foreground"},Dg={key:0,class:"font-medium truncate max-w-[120px]"},zg=["onClick"],$g={class:"space-y-2"},Ig=["value"],_g=["value"],Ag={key:0},Tg=["value"],Pg=["placeholder"],Og={key:1,class:"text-[9px] text-muted-foreground"},Rg={class:"flex justify-end gap-2 pt-2"},Lg=["disabled"],Fg=e.defineComponent({__name:"FilterBar",props:{modelInfo:{},filters:{},loadedData:{},showHiddenFields:{type:Boolean}},emits:["add-filter","remove-filter","update-filter","clear-all"],setup(t,{emit:o}){const n=t,r=o,l=e.ref(!1),s=e.ref(null),a=e.ref(null),c=e.ref(null),u=e.ref(null),i=e.ref(""),d=e.ref("contains"),f=e.ref(""),x=e.computed(()=>n.modelInfo?gn(n.modelInfo,n.loadedData,n.showHiddenFields):[]),b=e.computed(()=>!n.modelInfo||!i.value?[]:tr(n.modelInfo,i.value)),h=e.computed(()=>!n.modelInfo||!i.value?"string":Le(n.modelInfo,i.value)?.type??"string"),w=e.computed(()=>d.value==="in"||d.value==="not_in"),v=e.computed(()=>h.value==="boolean"&&!w.value),C=e.computed(()=>h.value==="number"&&!w.value),p=()=>{u.value=null;const V=x.value[0]||"";i.value=V,d.value=n.modelInfo&&V?or(n.modelInfo,V):"contains",f.value=""};e.watch(i,V=>{if(!n.modelInfo||!V)return;tr(n.modelInfo,V).includes(d.value)||(d.value=or(n.modelInfo,V)),(Le(n.modelInfo,V)?.type??"string")==="boolean"&&f.value!=="true"&&f.value!=="false"&&(f.value="true")}),e.watch(()=>n.modelInfo,()=>p(),{immediate:!0});const k=()=>{p(),l.value=!0},m=V=>{u.value=V.id,i.value=V.field,d.value=V.mode,f.value=V.value,l.value=!0},y=()=>{l.value=!1,u.value=null},g=()=>{i.value&&(u.value?r("update-filter",{id:u.value,field:i.value,mode:d.value,value:f.value}):r("add-filter",{field:i.value,mode:d.value,value:f.value}),p(),y())},N=V=>{V.key==="Escape"&&l.value&&y()},E=V=>{if(!l.value)return;const B=V.target,M=s.value?.contains(B),z=a.value?.contains(B),D=c.value?.contains(B);!M&&!z&&!D&&y()};return e.onMounted(()=>{document.addEventListener("click",E),document.addEventListener("keydown",N)}),e.onUnmounted(()=>{document.removeEventListener("click",E),document.removeEventListener("keydown",N)}),(V,B)=>(e.openBlock(),e.createElementBlock("div",Ng,[e.createElementVNode("div",Sg,[e.createElementVNode("div",{ref_key:"chipsContainerRef",ref:c,class:"flex-1 flex items-center gap-1 flex-wrap"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.filters,M=>(e.openBlock(),e.createElementBlock("div",{key:M.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:z=>m(M),onKeydown:e.withKeys(z=>m(M),["enter"])},[e.createElementVNode("span",Mg,e.toDisplayString(M.field),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(er)(M.mode)),1),e.unref($o)(M.mode)?(e.openBlock(),e.createElementBlock("span",Dg,'"'+e.toDisplayString(M.value)+'"',1)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button",class:"ml-1 hover:text-destructive shrink-0","aria-label":"Remove filter",onClick:e.withModifiers(z=>r("remove-filter",M.id),["stop"])},[e.createVNode(e.unref(to),{class:"w-3 h-3"})],8,zg)],40,Vg))),128)),e.createElementVNode("button",{ref_key:"addBtnRef",ref:a,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:B[0]||(B[0]=M=>l.value?y():k())},[e.createVNode(e.unref(Hl),{class:"w-3 h-3"}),B[7]||(B[7]=e.createTextVNode(" Add filter ",-1))],512)],512),t.filters.length>0?(e.openBlock(),e.createElementBlock("button",{key:0,class:"text-[10px] text-muted-foreground hover:text-foreground flex-shrink-0",onClick:B[1]||(B[1]=M=>r("clear-all"))}," Clear all ")):e.createCommentVNode("",!0)]),l.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"dropdownRef",ref:s,"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"},[e.createElementVNode("div",$g,[e.createElementVNode("div",null,[B[8]||(B[8]=e.createElementVNode("label",{class:"text-[10px] font-medium text-muted-foreground"},"Field",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":B[2]||(B[2]=M=>i.value=M),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"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,M=>(e.openBlock(),e.createElementBlock("option",{key:M,value:M},e.toDisplayString(M),9,Ig))),128))],512),[[e.vModelSelect,i.value]])]),e.createElementVNode("div",null,[B[9]||(B[9]=e.createElementVNode("label",{class:"text-[10px] font-medium text-muted-foreground"},"Operator",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":B[3]||(B[3]=M=>d.value=M),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"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,M=>(e.openBlock(),e.createElementBlock("option",{key:M,value:M},e.toDisplayString(e.unref(er)(M)),9,_g))),128))],512),[[e.vModelSelect,d.value]])]),e.unref($o)(d.value)?(e.openBlock(),e.createElementBlock("div",Ag,[B[11]||(B[11]=e.createElementVNode("label",{class:"text-[10px] font-medium text-muted-foreground"},"Value",-1)),v.value?e.withDirectives((e.openBlock(),e.createElementBlock("select",{key:0,"onUpdate:modelValue":B[4]||(B[4]=M=>f.value=M),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:e.withKeys(g,["enter"])},[...B[10]||(B[10]=[e.createElementVNode("option",{value:"true"},"true",-1),e.createElementVNode("option",{value:"false"},"false",-1)])],544)),[[e.vModelSelect,f.value]]):C.value?(e.openBlock(),e.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:B[5]||(B[5]=M=>f.value=M.target.value),onKeyup:e.withKeys(g,["enter"])},null,40,Tg)):e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:2,"onUpdate:modelValue":B[6]||(B[6]=M=>f.value=M),type:"text",placeholder:w.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:e.withKeys(g,["enter"])},null,40,Pg)),[[e.vModelText,f.value]])])):e.createCommentVNode("",!0),w.value?(e.openBlock(),e.createElementBlock("div",Og," Tip: Enter comma-separated values ")):e.createCommentVNode("",!0),e.createElementVNode("div",Rg,[e.createElementVNode("button",{class:"px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground",onClick:y}," Cancel "),e.createElementVNode("button",{class:"px-2 py-1 text-[10px] font-medium bg-primary text-primary-foreground rounded disabled:opacity-50",disabled:!i.value||e.unref($o)(d.value)&&d.value!=="equals"&&d.value!=="not_equals"&&!f.value.trim(),onClick:g},e.toDisplayString(u.value?"Save":"Add"),9,Lg)])])],512)):e.createCommentVNode("",!0)]))}}),qg={class:"flex items-center gap-2"},jg={class:"text-xs font-medium"},Hg={class:"flex items-center gap-2 min-w-0 flex-1"},Ug={class:"relative flex items-center gap-1.5 min-w-0","data-model-selector":""},Wg={class:"truncate"},Gg={key:0,class:"text-[10px] text-muted-foreground font-mono ml-2 truncate hidden lg:inline"},Kg={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"},Yg={class:"py-1"},Qg=["onClick"],Xg={class:"font-medium truncate min-w-0"},Zg={class:"text-muted-foreground flex-shrink-0 ml-2"},Jg={class:"flex items-center gap-1 flex-shrink-0 min-w-0 max-w-[50%]"},eh=["title"],th={key:0,class:"truncate"},oh={key:0,class:"border-b border-border bg-muted/30 max-h-64 overflow-y-auto scrollbar-thin"},nh={class:"p-3"},rh={class:"grid grid-cols-4 gap-4 text-xs"},lh={class:"space-y-1"},ah={class:"truncate min-w-0"},sh={class:"text-muted-foreground flex-shrink-0"},ih={key:0,class:"space-y-1.5"},ch={class:"font-medium"},uh={class:"text-[10px] text-blue-600 font-mono"},dh={key:1,class:"text-[10px] text-muted-foreground italic"},fh={key:0,class:"space-y-1.5"},mh={class:"font-medium font-mono"},ph={class:"font-mono text-muted-foreground italic"},vh={class:"font-mono text-muted-foreground"},gh={key:1,class:"text-[10px] text-muted-foreground italic"},hh={class:"space-y-3"},yh={key:0,class:"space-y-1"},bh={key:1,class:"text-[10px] text-muted-foreground italic"},wh={key:0,class:"space-y-1"},kh={key:1,class:"text-[10px] text-muted-foreground italic"},xh=e.defineComponent({__name:"ModelHeader",props:{currentModel:{},modelName:{},models:{},modelCounts:{},canWrite:{type:Boolean},selectedCount:{}},emits:["switch-model","open-create","clear-selection","open-bulk-delete"],setup(t,{emit:o}){const n=t,r=o,l=e.ref(!1),s=e.ref(!1),a=e.ref(null),c=e.ref(!1);let u=null;const i=v=>{l.value=!1,r("switch-model",v)},d=v=>{l.value&&(v.target.closest("[data-model-selector]")||(l.value=!1))},f=v=>{v.key==="Escape"&&l.value&&(l.value=!1)},x=v=>{if(!v?.modelClass)return{instanceMethods:[],staticMethods:[],getters:[]};const C=v.modelClass,p=new Set(["constructor","save","delete","update","reload","toJSON","toString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","_initStringSet","_getStringSet","_buildQuery","_buildUpdate",...v.fields]),k=[],m=[],y=C.prototype,g=Object.getOwnPropertyDescriptors(y);for(const[B,M]of Object.entries(g))if(!(p.has(B)||B.startsWith("_"))){if(M.get&&!M.set)m.push({name:B,type:"getter",signature:`get ${B}`});else if(typeof M.value=="function"&&B!=="constructor"){const R=M.value.toString().match(/\(([^)]*)\)/),K=R?R[1]:"";k.push({name:B,type:"method",signature:`${B}(${K})`})}}const N=[],E=Object.getOwnPropertyDescriptors(C),V=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"]);for(const[B,M]of Object.entries(E))if(!(V.has(B)||B.startsWith("_"))&&typeof M.value=="function"){const R=M.value.toString().match(/\(([^)]*)\)/),K=R?R[1]:"";N.push({name:B,type:"static-method",signature:`static ${B}(${K})`})}return{instanceMethods:k.sort((B,M)=>B.name.localeCompare(M.name)),staticMethods:N.sort((B,M)=>B.name.localeCompare(M.name)),getters:m.sort((B,M)=>B.name.localeCompare(M.name))}},b=e.computed(()=>x(n.currentModel??null)),h=e.computed(()=>{const v=b.value;return v.instanceMethods.length>0||v.staticMethods.length>0||v.getters.length>0}),w=e.computed(()=>{if(!n.currentModel)return[];const v=[];for(const[C,p]of n.currentModel.fieldInfo.entries())p.schema?.indexed&&v.push(C);return v.sort()});return e.onMounted(()=>{document.addEventListener("click",d),document.addEventListener("keydown",f),a.value&&(u=new ResizeObserver(v=>{for(const C of v)c.value=C.contentRect.width<400}),u.observe(a.value))}),e.onUnmounted(()=>{document.removeEventListener("click",d),document.removeEventListener("keydown",f),u?.disconnect()}),(v,C)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{ref_key:"headerRef",ref:a,class:"flex-shrink-0 h-10 flex items-center justify-between px-3 border-b border-border relative"},[t.selectedCount>0&&t.canWrite?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",qg,[e.createElementVNode("span",jg,e.toDisplayString(t.selectedCount)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:C[0]||(C[0]=p=>r("clear-selection"))}," Clear ")]),e.createElementVNode("button",{class:"px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1",onClick:C[1]||(C[1]=p=>r("open-bulk-delete"))},[e.createVNode(e.unref(en),{class:"w-3.5 h-3.5"}),C[5]||(C[5]=e.createTextVNode(" Delete ",-1))])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",Hg,[e.createElementVNode("div",Ug,[e.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:C[2]||(C[2]=p=>l.value=!l.value)},[e.createElementVNode("span",Wg,e.toDisplayString(t.currentModel?.name||t.modelName)+" model ",1),C[6]||(C[6]=e.createElementVNode("svg",{class:"w-3.5 h-3.5 text-muted-foreground flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"})],-1))]),t.currentModel?.sourcePath?(e.openBlock(),e.createElementBlock("span",Gg,e.toDisplayString(t.currentModel.sourcePath),1)):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",Kg,[e.createElementVNode("div",Yg,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.models,p=>(e.openBlock(),e.createElementBlock("button",{key:p.tableName,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-1.5 text-xs text-left hover:bg-muted",p.tableName===t.modelName?"bg-primary/5":""]),onClick:k=>i(p.tableName)},[e.createElementVNode("span",Xg,e.toDisplayString(p.name)+" model ",1),e.createElementVNode("span",Zg,e.toDisplayString(t.modelCounts[p.tableName]??"..."),1)],10,Qg))),128))])])):e.createCommentVNode("",!0)]),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded text-muted-foreground",title:"Show model properties",onClick:C[3]||(C[3]=p=>s.value=!s.value)},[...C[7]||(C[7]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)])])]),e.createElementVNode("div",Jg,[t.canWrite?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.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 ${t.currentModel?.name||t.modelName}`,onClick:C[4]||(C[4]=p=>r("open-create"))},[C[8]||(C[8]=e.createElementVNode("svg",{class:"w-3 h-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 4v16m8-8H4"})],-1)),c.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",th," New "+e.toDisplayString(t.currentModel?.name||t.modelName),1))],10,eh)):e.createCommentVNode("",!0)])],64))],512),s.value&&t.currentModel?(e.openBlock(),e.createElementBlock("div",oh,[e.createElementVNode("div",nh,[e.createElementVNode("div",rh,[e.createElementVNode("div",null,[C[9]||(C[9]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Schema ",-1)),e.createElementVNode("div",lh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.currentModel.fields.filter(p=>p!=="id"&&!p.startsWith("_")),p=>(e.openBlock(),e.createElementBlock("div",{key:p,class:"flex justify-between gap-2"},[e.createElementVNode("span",ah,e.toDisplayString(p),1),e.createElementVNode("span",sh,e.toDisplayString(e.unref(Le)(t.currentModel,p)?.type||"string"),1)]))),128))])]),e.createElementVNode("div",null,[C[10]||(C[10]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Relationships ",-1)),t.currentModel.relationships&&Object.keys(t.currentModel.relationships).length>0?(e.openBlock(),e.createElementBlock("div",ih,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.currentModel.relationships,(p,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"flex items-center justify-between"},[e.createElementVNode("span",ch,e.toDisplayString(k),1),e.createElementVNode("span",uh,e.toDisplayString(p.type==="hasMany"?"←":"→")+" "+e.toDisplayString(p.model)+e.toDisplayString(p.type==="hasMany"?"[]":""),1)]))),128))])):(e.openBlock(),e.createElementBlock("span",dh," None "))]),e.createElementVNode("div",null,[C[11]||(C[11]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Methods ",-1)),h.value?(e.openBlock(),e.createElementBlock("div",fh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.instanceMethods,p=>(e.openBlock(),e.createElementBlock("div",{key:p.name},[e.createElementVNode("span",mh,e.toDisplayString(p.signature),1)]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.getters,p=>(e.openBlock(),e.createElementBlock("div",{key:p.name},[e.createElementVNode("span",ph,e.toDisplayString(p.signature),1)]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value.staticMethods,p=>(e.openBlock(),e.createElementBlock("div",{key:p.name},[e.createElementVNode("span",vh,e.toDisplayString(p.signature),1)]))),128))])):(e.openBlock(),e.createElementBlock("span",gh," None "))]),e.createElementVNode("div",hh,[e.createElementVNode("div",null,[C[12]||(C[12]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Indexes ",-1)),w.value.length>0?(e.openBlock(),e.createElementBlock("div",yh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,p=>(e.openBlock(),e.createElementBlock("div",{key:p,class:"px-2 py-1 bg-muted rounded font-mono text-[10px]"},e.toDisplayString(p),1))),128))])):(e.openBlock(),e.createElementBlock("span",bh," None "))]),e.createElementVNode("div",null,[C[13]||(C[13]=e.createElementVNode("h4",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Unique Constraints ",-1)),t.currentModel.uniqueConstraints&&t.currentModel.uniqueConstraints.length>0?(e.openBlock(),e.createElementBlock("div",wh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.currentModel.uniqueConstraints,p=>(e.openBlock(),e.createElementBlock("div",{key:p.name,class:"px-2 py-1 bg-muted rounded font-mono text-[10px]"},e.toDisplayString(p.fields.join(", ")),1))),128))])):(e.openBlock(),e.createElementBlock("span",kh," None "))])])])])])):e.createCommentVNode("",!0)],64))}}),Ch={class:"flex items-center gap-1.5 min-w-0"},Eh={class:"text-muted-foreground text-[10px] tabular-nums whitespace-nowrap"},Bh=["value"],Nh=["value"],Sh={class:"flex items-center gap-0.5"},Vh=["disabled"],Mh={class:"text-[10px] px-1 tabular-nums"},Dh={class:"text-muted-foreground"},zh=["disabled"],$h={class:"flex items-center gap-2"},Ih={class:"text-muted-foreground"},_h=["value"],Ah=["value"],Th={class:"flex items-center gap-1"},Ph=["disabled"],Oh=["onClick"],Rh=["disabled"],Lh=e.defineComponent({__name:"ModelPaginationBar",props:{currentPage:{},totalCount:{},pageSize:{},totalPages:{}},emits:["go-to-page","change-page-size"],setup(t,{emit:o}){const n=t,r=o,l=e.ref(null),s=e.ref(!1);let a=null;e.onMounted(()=>{l.value&&(a=new ResizeObserver(u=>{for(const i of u)s.value=i.contentRect.width<480}),a.observe(l.value))}),e.onUnmounted(()=>{a?.disconnect()});const c=e.computed(()=>{const u=n.totalPages,i=n.currentPage,d=[],f=5;if(u<=f)for(let x=1;x<=u;x++)d.push(x);else{let x=Math.max(1,i-Math.floor(f/2));const b=Math.min(u,x+f-1);b-x<f-1&&(x=Math.max(1,b-f+1));for(let h=x;h<=b;h++)d.push(h)}return d});return(u,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"barRef",ref:l,class:e.normalizeClass(["flex-shrink-0 flex items-center justify-between py-2 border-t border-border bg-muted/20 text-xs",s.value?"pl-2 pr-16 gap-2":"pl-3 pr-16"])},[s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Ch,[e.createElementVNode("span",Eh,e.toDisplayString(t.totalCount===0?0:(t.currentPage-1)*t.pageSize+1)+"–"+e.toDisplayString(Math.min(t.currentPage*t.pageSize,t.totalCount))+" / "+e.toDisplayString(t.totalCount),1),e.createElementVNode("select",{class:"px-1 py-0.5 text-[10px] bg-background border border-border rounded",value:t.pageSize,onChange:i[0]||(i[0]=d=>r("change-page-size",Number(d.target.value)))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Yo),d=>(e.openBlock(),e.createElementBlock("option",{key:d,value:d},e.toDisplayString(d),9,Nh))),128))],40,Bh)]),e.createElementVNode("div",Sh,[e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded disabled:opacity-30",disabled:t.currentPage<=1,title:"Previous page",onClick:i[1]||(i[1]=d=>r("go-to-page",t.currentPage-1))},[...i[6]||(i[6]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"})],-1)])],8,Vh),e.createElementVNode("span",Mh,[e.createTextVNode(e.toDisplayString(t.currentPage),1),e.createElementVNode("span",Dh,"/"+e.toDisplayString(t.totalPages),1)]),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded disabled:opacity-30",disabled:t.currentPage>=t.totalPages,title:"Next page",onClick:i[2]||(i[2]=d=>r("go-to-page",t.currentPage+1))},[...i[7]||(i[7]=[e.createElementVNode("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"})],-1)])],8,zh)])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",$h,[e.createElementVNode("span",Ih," Showing "+e.toDisplayString(t.totalCount===0?0:(t.currentPage-1)*t.pageSize+1)+"-"+e.toDisplayString(Math.min(t.currentPage*t.pageSize,t.totalCount))+" of "+e.toDisplayString(t.totalCount),1),e.createElementVNode("select",{class:"px-1 py-0.5 text-[10px] bg-background border border-border rounded",value:t.pageSize,onChange:i[3]||(i[3]=d=>r("change-page-size",Number(d.target.value)))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Yo),d=>(e.openBlock(),e.createElementBlock("option",{key:d,value:d},e.toDisplayString(d),9,Ah))),128))],40,_h),i[8]||(i[8]=e.createElementVNode("span",{class:"text-muted-foreground"},"per page",-1))]),e.createElementVNode("div",Th,[e.createElementVNode("button",{class:"px-2 py-1 hover:bg-muted rounded disabled:opacity-50",disabled:t.currentPage<=1,onClick:i[4]||(i[4]=d=>r("go-to-page",t.currentPage-1))}," Previous ",8,Ph),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,d=>(e.openBlock(),e.createElementBlock("button",{key:d,class:e.normalizeClass(["px-2 py-1 rounded",d===t.currentPage?"bg-primary text-primary-foreground":"hover:bg-muted"]),onClick:f=>r("go-to-page",d)},e.toDisplayString(d),11,Oh))),128)),e.createElementVNode("button",{class:"px-2 py-1 hover:bg-muted rounded disabled:opacity-50",disabled:t.currentPage>=t.totalPages,onClick:i[5]||(i[5]=d=>r("go-to-page",t.currentPage+1))}," Next ",8,Rh)])],64))],2))}}),Gt=e.defineComponent({__name:"Input",props:{defaultValue:{},modelValue:{},class:{}},emits:["update:modelValue"],setup(t,{emit:o}){const n=t,r=o,l=se.useVModel(n,"modelValue",r,{passive:!0,defaultValue:n.defaultValue});return(s,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("input",{"onUpdate:modelValue":a[0]||(a[0]=c=>e.isRef(l)?l.value=c:null),"data-slot":"input",class:e.normalizeClass(e.unref(fe)("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",n.class))},null,2)),[[e.vModelText,e.unref(l)]])}}),Fh=e.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(t,{emit:o}){const l=Bt(t,o);return(s,a)=>(e.openBlock(),e.createBlock(e.unref(Ec),e.mergeProps({"data-slot":"select"},e.unref(l)),{default:e.withCtx(c=>[e.renderSlot(s.$slots,"default",e.normalizeProps(e.guardReactiveProps(c)))]),_:3},16))}}),qh=e.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:{}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(t,{emit:o}){const n=t,r=o,l=se.reactiveOmit(n,"class"),s=Bt(l,r);return(a,c)=>(e.openBlock(),e.createBlock(e.unref(Qc),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Rc),e.mergeProps({"data-slot":"select-content"},{...a.$attrs,...e.unref(s)},{class:e.unref(fe)("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",t.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",n.class)}),{default:e.withCtx(()=>[e.createVNode(e.unref(Uh)),e.createVNode(e.unref(su),{class:e.normalizeClass(e.unref(fe)("p-1",t.position==="popper"&&"h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1"))},{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["class"]),e.createVNode(e.unref(Hh))]),_:3},16,["class"])]),_:3}))}}),jh={class:"absolute right-2 flex size-3.5 items-center justify-center"},_o=e.defineComponent({__name:"SelectItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=se.reactiveOmit(o,"class"),r=Ge(n);return(l,s)=>(e.openBlock(),e.createBlock(e.unref(Hc),e.mergeProps({"data-slot":"select-item"},e.unref(r),{class:e.unref(fe)("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",o.class)}),{default:e.withCtx(()=>[e.createElementVNode("span",jh,[e.createVNode(e.unref(Wc),null,{default:e.withCtx(()=>[e.renderSlot(l.$slots,"indicator-icon",{},()=>[e.createVNode(e.unref(Ll),{class:"size-4"})])]),_:3})]),e.createVNode(e.unref(Kc),null,{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3})]),_:3},16,["class"]))}}),Hh=e.defineComponent({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=se.reactiveOmit(o,"class"),r=Ge(n);return(l,s)=>(e.openBlock(),e.createBlock(e.unref(Jc),e.mergeProps({"data-slot":"select-scroll-down-button"},e.unref(r),{class:e.unref(fe)("flex cursor-default items-center justify-center py-1",o.class)}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default",{},()=>[e.createVNode(e.unref(dr),{class:"size-4"})])]),_:3},16,["class"]))}}),Uh=e.defineComponent({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean},as:{},class:{}},setup(t){const o=t,n=se.reactiveOmit(o,"class"),r=Ge(n);return(l,s)=>(e.openBlock(),e.createBlock(e.unref(tu),e.mergeProps({"data-slot":"select-scroll-up-button"},e.unref(r),{class:e.unref(fe)("flex cursor-default items-center justify-center py-1",o.class)}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default",{},()=>[e.createVNode(e.unref(Fl),{class:"size-4"})])]),_:3},16,["class"]))}}),Wh=e.defineComponent({__name:"SelectTrigger",props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{},size:{default:"default"}},setup(t){const o=t,n=se.reactiveOmit(o,"class","size"),r=Ge(n);return(l,s)=>(e.openBlock(),e.createBlock(e.unref(nu),e.mergeProps({"data-slot":"select-trigger","data-size":t.size},e.unref(r),{class:e.unref(fe)("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",o.class)}),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default"),e.createVNode(e.unref(Fc),{"as-child":""},{default:e.withCtx(()=>[e.createVNode(e.unref(dr),{class:"size-4 opacity-50"})]),_:1})]),_:3},16,["data-size","class"]))}}),Gh=e.defineComponent({__name:"SelectValue",props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createBlock(e.unref(lu),e.mergeProps({"data-slot":"select-value"},o),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Kh=["title","onClick"],Yh={class:"text-xs font-mono truncate"},Qh={key:0,class:"w-3 h-3 flex-shrink-0 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Xh={key:1,class:"w-3 h-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Zh=["for","title"],Jh={key:0,class:"opacity-50"},ey={key:0,class:"space-y-1.5 mt-1"},ty={key:0,class:"flex gap-1"},oy={key:0,class:"text-muted-foreground ml-2"},ny={class:"text-[10px] text-muted-foreground"},ry={key:1,class:"mt-1 space-y-1.5"},ly={class:"flex flex-wrap gap-1"},ay=["onClick"],sy={key:0,class:"text-xs text-muted-foreground"},iy={class:"flex gap-1"},cy={key:2,class:"mt-1 space-y-1"},uy=["id","value","onChange"],dy={key:0,class:"text-[10px] text-destructive"},fy={key:1,class:"text-[10px] text-muted-foreground"},my={class:"flex items-center gap-1"},py=["onClick"],vy=["onClick"],gy={key:3,class:"mt-1 flex items-center gap-2"},hy=["id","checked","onChange"],yy={class:"text-xs text-muted-foreground"},lr=e.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(t,{emit:o}){const n=t,r=o,l=e.ref({}),s=e.ref(new Set);function a(h){const w=new Set(s.value);w.has(h)?w.delete(h):w.add(h),s.value=w}function c(h){if(!h)return!0;const w=new Date(h);return!isNaN(w.getTime())}const u=e.computed(()=>{const h={};for(const w of s.value){const v=n.formData[w];h[w]=c(v==null?"":String(v))}return h});function i(h,w){r("update-field",h,w)}function d(h){const w=l.value[h]?.trim();if(!w)return;const v=n.formData[h]||[];v.includes(w)||r("update-field",h,[...v,w]),l.value[h]=""}function f(h,w){const v=n.formData[h]||[];r("update-field",h,v.filter(C=>C!==w))}function x(h){if(!h)return"";try{const w=new Date(String(h));if(isNaN(w.getTime()))return"";const v=w.getFullYear().toString().padStart(4,"0"),C=(w.getMonth()+1).toString().padStart(2,"0"),p=w.getDate().toString().padStart(2,"0");return`${v}-${C}-${p}`}catch{return""}}function b(h){if(!h)return"";try{const[w,v,C]=h.split("-").map(Number),p=new Date(0);return p.setFullYear(w,v-1,C),p.setHours(0,0,0,0),isNaN(p.getTime())?"":p.toISOString()}catch{return""}}return(h,w)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.excludeId?t.fields.filter(v=>v!=="id"):t.fields,v=>(e.openBlock(),e.createElementBlock("div",{key:v,class:"min-w-0"},[v==="id"&&!t.excludeId?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[w[2]||(w[2]=e.createElementVNode("label",{class:"text-xs text-muted-foreground"},"id",-1)),e.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: ${t.formData[v]}`,onClick:C=>r("copy-id",String(t.formData[v]))},[e.createElementVNode("code",Yh,e.toDisplayString(t.formData[v]),1),t.copiedId===String(t.formData[v])?(e.openBlock(),e.createElementBlock("svg",Qh,[...w[0]||(w[0]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Xh,[...w[1]||(w[1]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"},null,-1)])]))],8,Kh)],64)):v!=="id"||!t.excludeId?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("label",{for:`${t.idPrefix}-${v}`,class:"text-xs text-muted-foreground block truncate",title:v},[e.createTextVNode(e.toDisplayString(v)+" ",1),v.startsWith("_")?(e.openBlock(),e.createElementBlock("span",Jh,"(hidden)")):e.createCommentVNode("",!0)],8,Zh),e.unref(Io)(t.modelInfo,v)?(e.openBlock(),e.createElementBlock("div",ey,[t.customIdFields.has(v)?(e.openBlock(),e.createElementBlock("div",ty,[e.createVNode(e.unref(Gt),{id:`${t.idPrefix}-${v}`,"model-value":t.formData[v]||"",placeholder:"Enter new ID...",class:"h-8 text-xs flex-1","onUpdate:modelValue":C=>i(v,C)},null,8,["id","model-value","onUpdate:modelValue"]),e.createVNode(e.unref(Te),{type:"button",variant:"ghost",size:"sm",class:"h-8 w-8 p-0",title:"Back to dropdown",onClick:C=>r("toggle-custom-id",v,!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(to),{class:"h-3 w-3"})]),_:1},8,["onClick"])])):(e.openBlock(),e.createBlock(e.unref(Fh),{key:1,"model-value":t.formData[v]||"","onUpdate:modelValue":C=>{C==="__custom_id__"?(r("toggle-custom-id",v,!0),i(v,"")):C==="__null__"?i(v,null):i(v,C)}},{default:e.withCtx(()=>[e.createVNode(e.unref(Wh),{id:`${t.idPrefix}-${v}`,class:"h-8 text-xs"},{default:e.withCtx(()=>[e.createVNode(e.unref(Gh),{placeholder:"Select a record..."})]),_:1},8,["id"]),e.createVNode(e.unref(qh),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.relatedModelData[e.unref(Io)(t.modelInfo,v)?.relatedModel??""]||[],C=>(e.openBlock(),e.createBlock(e.unref(_o),{key:C.id,value:C.id},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.id)+" ",1),C.name||C.title?(e.openBlock(),e.createElementBlock("span",oy," ("+e.toDisplayString(C.name||C.title)+") ",1)):e.createCommentVNode("",!0)]),_:2},1032,["value"]))),128)),e.createVNode(e.unref(_o),{value:"__custom_id__",class:"text-primary"},{default:e.withCtx(()=>[...w[3]||(w[3]=[e.createTextVNode(" + Add new ID ",-1)])]),_:1}),t.formData[v]?(e.openBlock(),e.createBlock(e.unref(_o),{key:0,value:"__null__",class:"text-destructive"},{default:e.withCtx(()=>[...w[4]||(w[4]=[e.createTextVNode(" Set null ",-1)])]),_:1})):e.createCommentVNode("",!0)]),_:2},1024)]),_:2},1032,["model-value","onUpdate:modelValue"])),e.createElementVNode("div",ny," → "+e.toDisplayString(e.unref(Io)(t.modelInfo,v)?.relatedModel),1)])):e.unref(wt)(t.modelInfo,v)?(e.openBlock(),e.createElementBlock("div",ry,[e.createElementVNode("div",ly,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.formData[v]||[],C=>(e.openBlock(),e.createElementBlock("span",{key:C,class:"inline-flex items-center gap-1 px-2 py-0.5 text-xs bg-muted rounded"},[e.createTextVNode(e.toDisplayString(C)+" ",1),e.createElementVNode("button",{type:"button",class:"hover:text-destructive",onClick:p=>f(v,C)},[e.createVNode(e.unref(to),{class:"h-3 w-3"})],8,ay)]))),128)),!t.formData[v]||t.formData[v].length===0?(e.openBlock(),e.createElementBlock("span",sy," No items ")):e.createCommentVNode("",!0)]),e.createElementVNode("div",iy,[e.createVNode(e.unref(Gt),{id:`${t.idPrefix}-stringset-${v}`,modelValue:l.value[v],"onUpdate:modelValue":C=>l.value[v]=C,placeholder:"Add item...",class:"flex-1 h-8 text-xs",onKeyup:e.withKeys(C=>d(v),["enter"])},null,8,["id","modelValue","onUpdate:modelValue","onKeyup"]),e.createVNode(e.unref(Te),{type:"button",variant:"outline",size:"sm",class:"h-8 px-2 text-xs",onClick:C=>d(v)},{default:e.withCtx(()=>[...w[5]||(w[5]=[e.createTextVNode(" Add ",-1)])]),_:1},8,["onClick"])])])):e.unref(Qo)(t.modelInfo,v)?(e.openBlock(),e.createElementBlock("div",cy,[s.value.has(v)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(Gt),{id:`${t.idPrefix}-${v}`,"model-value":String(t.formData[v]??""),placeholder:"e.g. 2024-01-15T00:00:00.000Z",class:e.normalizeClass(["h-8 text-xs font-mono",{"border-destructive focus-visible:ring-destructive/50":t.formData[v]&&!u.value[v]}]),"onUpdate:modelValue":C=>i(v,C||void 0)},null,8,["id","model-value","class","onUpdate:modelValue"]),t.formData[v]&&!u.value[v]?(e.openBlock(),e.createElementBlock("p",dy," Invalid date — use ISO 8601 format ")):t.formData[v]&&u.value[v]?(e.openBlock(),e.createElementBlock("p",fy,e.toDisplayString(new Date(t.formData[v]).toLocaleDateString(void 0,{weekday:"short",year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock("input",{key:0,id:`${t.idPrefix}-${v}`,type:"date",value:x(t.formData[v]),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:C=>i(v,b(C.target.value)||void 0)},null,40,uy)),e.createElementVNode("div",my,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors",s.value.has(v)?"text-muted-foreground hover:text-foreground hover:bg-muted":"bg-primary text-primary-foreground"]),onClick:()=>{s.value.has(v)&&a(v)}}," Picker ",10,py),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors",s.value.has(v)?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:()=>{s.value.has(v)||a(v)}}," ISO ",10,vy)])])):e.unref(Xo)(t.modelInfo,v)?(e.openBlock(),e.createElementBlock("div",gy,[e.createElementVNode("input",{id:`${t.idPrefix}-${v}`,type:"checkbox",class:"w-4 h-4 rounded border-border",checked:!!t.formData[v],onChange:C=>i(v,C.target.checked)},null,40,hy),e.createElementVNode("span",yy,e.toDisplayString(t.formData[v]?"Yes":"No"),1)])):e.unref(Om)(t.modelInfo,v)?(e.openBlock(),e.createBlock(e.unref(Gt),{key:4,id:`${t.idPrefix}-${v}`,type:"number","model-value":String(t.formData[v]??""),class:"mt-1 h-8 text-xs","onUpdate:modelValue":C=>i(v,C===""?void 0:Number(C))},null,8,["id","model-value","onUpdate:modelValue"])):e.unref(vl)(t.formData[v])||e.unref(Im)(t.formData[v])==="textarea"?(e.openBlock(),e.createBlock(e.unref(Zo),{key:5,id:`${t.idPrefix}-${v}`,"model-value":typeof t.formData[v]=="object"?e.unref(so)(t.formData[v],2):String(t.formData[v]??""),rows:"4",class:"mt-1 font-mono text-xs resize-vertical","onUpdate:modelValue":C=>i(v,C)},null,8,["id","model-value","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(e.unref(Zo),{key:6,id:`${t.idPrefix}-${v}`,"model-value":String(t.formData[v]??""),rows:"1",class:"mt-1 text-xs min-h-[2rem] resize-vertical","onUpdate:modelValue":C=>i(v,C)},null,8,["id","model-value","onUpdate:modelValue"]))],64)):e.createCommentVNode("",!0)]))),128))}}),by=e.defineComponent({__name:"Table",props:{class:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("table",{"data-slot":"table",class:e.normalizeClass(e.unref(fe)("w-full caption-bottom text-sm",o.class))},[e.renderSlot(n.$slots,"default")],2))}}),wy=e.defineComponent({__name:"TableBody",props:{class:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("tbody",{"data-slot":"table-body",class:e.normalizeClass(e.unref(fe)("[&_tr:last-child]:border-0",o.class))},[e.renderSlot(n.$slots,"default")],2))}}),Ao=e.defineComponent({__name:"TableCell",props:{class:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("td",{"data-slot":"table-cell",class:e.normalizeClass(e.unref(fe)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",o.class))},[e.renderSlot(n.$slots,"default")],2))}}),ar=e.defineComponent({__name:"TableRow",props:{class:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("tr",{"data-slot":"table-row",class:e.normalizeClass(e.unref(fe)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",o.class))},[e.renderSlot(n.$slots,"default")],2))}}),To=e.defineComponent({__name:"TableHead",props:{class:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("th",{"data-slot":"table-head",class:e.normalizeClass(e.unref(fe)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",o.class))},[e.renderSlot(n.$slots,"default")],2))}}),ky=e.defineComponent({__name:"TableHeader",props:{class:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createElementBlock("thead",{"data-slot":"table-header",class:e.normalizeClass(e.unref(fe)("[&_tr]:border-b",o.class))},[e.renderSlot(n.$slots,"default")],2))}}),xy={class:"flex-1 relative min-h-[200px]"},Cy=["checked","indeterminate"],Ey=["title","onClick"],By={class:"truncate"},Ny={key:0,class:"text-primary font-bold text-xs flex-shrink-0"},Sy=["title"],Vy=["checked","onChange"],My={class:"truncate"},Dy=["title","onClick"],zy={class:"overflow-hidden whitespace-nowrap"},$y={key:0,class:"w-3 h-3 flex-shrink-0 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Iy={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"},_y={key:1,class:"text-[10px] font-mono text-muted-foreground/50"},Ay={key:2,class:"flex gap-0.5 overflow-hidden"},Ty={key:0,class:"text-[9px] text-muted-foreground shrink-0"},Py={key:0},Oy=["checked"],Ry={key:5,class:"text-xs bg-muted px-1 py-0.5 rounded"},Ly={class:"flex items-center gap-0.5"},Fy=["onClick"],qy=["onClick"],jy={key:0,class:"absolute inset-0 flex items-center justify-center pointer-events-none",style:{top:"1.5rem"}},Hy=e.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(t,{emit:o}){const n=t,r=o,l=e.computed(()=>gn(n.modelInfo,n.loadedData,n.showHiddenFields)),s=e.computed(()=>n.selectedRecordIds.size===0?!1:n.selectedRecordIds.size===n.records.length?!0:"indeterminate"),a=e.ref(null);let c=null;const u=async p=>{try{await navigator.clipboard.writeText(p)}catch{const k=document.createElement("textarea");k.value=p,document.body.appendChild(k),k.select(),document.execCommand("copy"),document.body.removeChild(k)}a.value=p,c&&clearTimeout(c),c=setTimeout(()=>{a.value=null},1500)},i=p=>hl(n.modelInfo,p),d=p=>!n.sorting||n.sorting.field!==p?"":Fm(n.sorting.direction),f=(p,k=8)=>{const m=String(p??"");return m.length<=k?m:"…"+m.slice(-k)},x=p=>p==="id"?"120px":Xo(n.modelInfo,p)?"60px":Qo(n.modelInfo,p)?"110px":wt(n.modelInfo,p)?"160px":"180px",b=e.ref(null),h=e.ref(null),w=e.ref(!1);let v=null;const C=p=>{if(h.value===p)return{backgroundColor:w.value?"transparent":"rgba(250, 204, 21, 0.35)",transition:"background-color 2s ease-out"}};return e.watch(()=>n.highlightedRecordId,async p=>{if(!p)return;w.value=!1,h.value=p,await e.nextTick();const k=b.value?.querySelector(`tr[data-highlight-id="${p}"]`);k&&k.scrollIntoView({block:"nearest",behavior:"smooth"}),v&&clearTimeout(v),v=setTimeout(()=>{w.value=!0,v=setTimeout(()=>{h.value=null,w.value=!1},2200)},600)}),(p,k)=>(e.openBlock(),e.createElementBlock("div",xy,[e.createElementVNode("div",{ref_key:"tableContainer",ref:b,class:"absolute inset-0 overflow-auto"},[e.createVNode(e.unref(by),{class:"text-xs"},{default:e.withCtx(()=>[e.createVNode(e.unref(ky),{class:"sticky top-0 z-10 bg-muted"},{default:e.withCtx(()=>[e.createVNode(e.unref(ar),null,{default:e.withCtx(()=>[t.canWrite?(e.openBlock(),e.createBlock(e.unref(To),{key:0,class:"w-8 px-2"},{default:e.withCtx(()=>[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:s.value===!0,indeterminate:s.value==="indeterminate",onChange:k[0]||(k[0]=m=>r("toggle-select-all"))},null,40,Cy)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,m=>(e.openBlock(),e.createBlock(e.unref(To),{key:m,class:"px-2 text-left font-medium text-muted-foreground overflow-hidden",style:e.normalizeStyle({width:x(m),minWidth:x(m),maxWidth:x(m)})},{default:e.withCtx(()=>[i(m)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"flex items-center gap-0.5 hover:text-foreground max-w-full min-w-0",title:m,onClick:y=>r("toggle-column-sort",m)},[e.createElementVNode("span",By,e.toDisplayString(m),1),d(m)?(e.openBlock(),e.createElementBlock("span",Ny,e.toDisplayString(d(m)),1)):e.createCommentVNode("",!0)],8,Ey)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"truncate block",title:m},e.toDisplayString(m),9,Sy))]),_:2},1032,["style"]))),128)),t.canWrite?(e.openBlock(),e.createBlock(e.unref(To),{key:1,class:"w-0 p-0"})):e.createCommentVNode("",!0)]),_:1})]),_:1}),e.createVNode(e.unref(wy),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.records,m=>(e.openBlock(),e.createBlock(e.unref(ar),{key:m.id,class:e.normalizeClass("hover:bg-muted/30 group border-none"),style:e.normalizeStyle(C(m.id)),"data-highlight-id":m.id,onClick:y=>r("edit-record",m)},{default:e.withCtx(()=>[t.canWrite?(e.openBlock(),e.createBlock(e.unref(Ao),{key:0,class:"px-2 w-8",onClick:k[1]||(k[1]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:t.selectedRecordIds.has(m.id),onChange:y=>r("toggle-record-selection",m.id)},null,40,Vy)]),_:2},1024)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,y=>(e.openBlock(),e.createBlock(e.unref(Ao),{key:y,class:"px-2 overflow-hidden",style:e.normalizeStyle({width:x(y),minWidth:x(y),maxWidth:x(y)})},{default:e.withCtx(()=>[e.createElementVNode("div",My,[y==="id"?(e.openBlock(),e.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: ${m[y]}`,onClick:e.withModifiers(g=>u(String(m[y])),["stop"])},[e.createElementVNode("span",zy,e.toDisplayString(f(m[y])),1),a.value===String(m[y])?(e.openBlock(),e.createElementBlock("svg",$y,[...k[3]||(k[3]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"},null,-1)])])):(e.openBlock(),e.createElementBlock("svg",Iy,[...k[4]||(k[4]=[e.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,Dy)):m[y]==null?(e.openBlock(),e.createElementBlock("span",_y,"NULL")):e.unref(wt)(t.modelInfo,y)?(e.openBlock(),e.createElementBlock("div",Ay,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m[y]&&typeof m[y].toArray=="function"?m[y].toArray().slice(0,3):[],g=>(e.openBlock(),e.createElementBlock("span",{key:g,class:"px-1 text-[9px] bg-muted rounded truncate shrink-0"},e.toDisplayString(g),1))),128)),m[y]&&typeof m[y].toArray=="function"&&m[y].toArray().length>3?(e.openBlock(),e.createElementBlock("span",Ty," +"+e.toDisplayString(m[y].toArray().length-3),1)):e.createCommentVNode("",!0)])):e.unref(Qo)(t.modelInfo,y)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[m[y]?(e.openBlock(),e.createElementBlock("span",Py,e.toDisplayString(new Date(m[y]).toLocaleDateString()),1)):e.createCommentVNode("",!0)],64)):e.unref(Xo)(t.modelInfo,y)?(e.openBlock(),e.createElementBlock("input",{key:4,type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:!!m[y],disabled:""},null,8,Oy)):e.unref(vl)(m[y])?(e.openBlock(),e.createElementBlock("code",Ry,e.toDisplayString(e.unref(so)(m[y]).slice(0,50))+e.toDisplayString(e.unref(so)(m[y]).length>50?"...":""),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:6},[e.createTextVNode(e.toDisplayString(m[y]),1)],64))])]),_:2},1032,["style"]))),128)),t.canWrite?(e.openBlock(),e.createBlock(e.unref(Ao),{key:1,class:"px-2 sticky right-0 group-hover:bg-white",onClick:k[2]||(k[2]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createElementVNode("div",Ly,[e.createElementVNode("button",{class:"p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground",title:"Edit",onClick:y=>r("edit-record",m)},[e.createVNode(e.unref(fr),{class:"w-3.5 h-3.5"})],8,Fy),e.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:y=>r("delete-record",m.id)},[e.createVNode(e.unref(en),{class:"w-3.5 h-3.5"})],8,qy)])]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1032,["style","data-highlight-id","onClick"]))),128))]),_:1})]),_:1})],512),t.records.length===0?(e.openBlock(),e.createElementBlock("div",jy,[...k[5]||(k[5]=[e.createElementVNode("span",{class:"text-muted-foreground text-xs"},"No records found",-1)])])):e.createCommentVNode("",!0)]))}}),Uy=(t,o)=>{const n=t.__vccOpts||t;for(const[r,l]of o)n[r]=l;return n},Wy=Uy(Hy,[["__scopeId","data-v-8b45a90c"]]),sr=Ee.forScope("ModelPagination");function Gy(t,o,n,r){const l=e.ref([]),s=e.ref(!1),a=e.ref(gl()),c=e.ref({currentPage:1,totalCount:0,pageSize:a.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}),u=e.computed(()=>Math.max(1,Math.ceil(c.value.totalCount/a.value))),i=e.computed(()=>{const p=u.value,k=c.value.currentPage,m=[],y=5;if(p<=y)for(let g=1;g<=p;g++)m.push(g);else{let g=Math.max(1,k-Math.floor(y/2));const N=Math.min(p,g+y-1);N-g<y-1&&(g=Math.max(1,N-y+1));for(let E=g;E<=N;E++)m.push(E)}return m}),d=async(p,k=1,m=null)=>{try{const y=p.modelClass,g=Am(n.value),N=o.value,E={documents:N},V=await y.count(g,E),B=Lm(r.value),M={limit:a.value,sort:B,documents:N};m&&(M.uniqueStartKey=m);const z=await y.query(g,M);return c.value.currentPage=k,c.value.totalCount=V,c.value.hasMore=z.hasMore??!1,c.value.nextCursor=z.nextCursor??null,c.value.prevCursor=z.prevCursor??null,z.nextCursor&&k>=1&&c.value.pageCursors.set(k+1,z.nextCursor),{data:z.data||[],totalCount:V,hasMore:z.hasMore??!1,nextCursor:z.nextCursor??null,prevCursor:z.prevCursor??null}}catch(y){return sr.error(`Error loading ${p.name}:`,y),J(`Failed to load ${p.name} records: `+ae(y)),{data:[],totalCount:0,hasMore:!1,nextCursor:null,prevCursor:null}}},f=async(p=1)=>{if(!t.value)return;const k=await d(t.value,1,null);if(l.value=k.data,s.value=!0,sr.debug("Loaded model data:",{model:t.value.name,totalRecords:k.totalCount}),p>1&&k.totalCount>0){const m=Math.ceil(k.totalCount/a.value);p<=m&&await x(p)}},x=async p=>{if(!t.value)return;const k=Math.ceil(c.value.totalCount/a.value);if(p<1||p>k)return;let m=null;if(p>1&&(m=c.value.pageCursors.get(p)??null,!m)){let g=1,N=null;for(let E=p-1;E>=1;E--)if(c.value.pageCursors.has(E)){g=E,N=c.value.pageCursors.get(E)??null;break}for(let E=g;E<p&&(N=(await d(t.value,E,N)).nextCursor,!!N);E++);m=N}const y=await d(t.value,p,m);l.value=y.data};return{records:l,initialDataLoaded:s,paginationState:c,pageSize:a,totalPages:u,visiblePageNumbers:i,loadModelData:d,loadInitialData:f,goToPage:x,goToPrevPage:()=>x(c.value.currentPage-1),goToNextPage:()=>x(c.value.currentPage+1),goToPageContainingRecord:async p=>{if(!t.value)return!1;c.value={currentPage:1,totalCount:0,pageSize:a.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};let k=await d(t.value,1,null);if(k.data.some(y=>y.id===p))return l.value=k.data,!0;const m=Math.ceil(k.totalCount/a.value);for(let y=2;y<=m;y++){const g=c.value.pageCursors.get(y)??null;if(g===null&&y>2)break;if(k=await d(t.value,y,g),k.data.some(N=>N.id===p))return l.value=k.data,!0}return l.value=k.data,!1},handlePageSizeChange:async p=>{if(a.value=p,Pm(p),!t.value)return;c.value={currentPage:1,totalCount:c.value.totalCount,pageSize:p,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};const k=await d(t.value,1,null);l.value=k.data},reloadModelData:async()=>{if(!t.value)return;c.value={currentPage:1,totalCount:0,pageSize:a.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};const p=await d(t.value,1,null);l.value=p.data}}}const gt=Ee.forScope("RecordCrud");function Ky(t,o,n,r,l){const s=e.ref(!1),a=e.ref(!1),c=e.ref(!1),u=e.ref(null),i=e.ref(!1),d=e.ref(!1),f=e.ref({}),x=e.ref(null),b=e.ref({}),h=e.ref(new Set),w=E=>{if(t.value){x.value=E;try{f.value=JSON.parse(JSON.stringify(E))}catch{const V={};for(const B of Object.getOwnPropertyNames(E))try{V[B]=E[B]}catch{}for(const B of Object.keys(E))if(!(B in V))try{V[B]=E[B]}catch{}f.value=V}for(const V of Object.keys(f.value))wt(t.value,V)&&(f.value[V]=Rm(E[V]));h.value=new Set,s.value=!0,N()}},v=()=>{t.value&&(f.value={},h.value=new Set,a.value=!0,N())},C=async()=>{if(t.value)try{const E=t.value.modelClass,V=x.value?await E.find(x.value.id):null;if(V){const B={},M={};for(const[z,D]of Object.entries(f.value))wt(t.value,z)?M[z]=D||[]:B[z]=D;Object.assign(V,B);for(const[z,D]of Object.entries(M)){const R=V[z];if(R&&typeof R.clear=="function"){R.clear();for(const K of D)R.add(K)}}await V.save()}s.value=!1,a.value=!1}catch(E){gt.error("Error saving record:",E),J("Failed to save record: "+ae(E))}},p=async()=>{if(!t.value)return null;d.value=!0;try{const E={},V={};for(const[D,R]of Object.entries(f.value))wt(t.value,D)?V[D]=R||[]:E[D]=R;const B=t.value.modelClass,M=new B(E);for(const[D,R]of Object.entries(V)){const K=M[D];if(K&&typeof K.add=="function")for(const U of R)K.add(U)}await M.save({targetDocument:o.value??void 0});const z=M.id??null;return z?(a.value=!1,f.value={},z):(J("Failed to create record: no ID was returned after save"),null)}catch(E){return gt.error("Error creating record:",E),J("Failed to create record: "+ae(E)),null}finally{d.value=!1}},k=async()=>{if(!(!u.value||!t.value)){i.value=!0;try{const V=await t.value.modelClass.find(u.value);V&&(await V.delete(),u.value=null)}catch(E){gt.error("Error deleting record:",E),J("Failed to delete record: "+ae(E))}finally{i.value=!1}}},m=async E=>{if(!t.value||E.size===0)return{success:!1};const V=Array.from(E);try{const B=t.value.modelClass;for(let M=0;M<V.length;M++){const z=V[M],D=await B.find(z);D&&await D.delete(),M%5===4&&await new Promise(R=>setTimeout(R,0))}return gt.debug(`Deleted ${V.length} records from ${t.value.tableName}`),c.value=!1,{success:!0}}catch(B){return gt.error("Error deleting records:",B),J("Failed to delete records: "+ae(B)),{success:!1}}},y=(E,V)=>{f.value={...f.value,[E]:V}},g=(E,V)=>{if(V)h.value=new Set([...h.value,E]),y(E,"");else{const B=new Set(h.value);B.delete(E),h.value=B}},N=async()=>{if(!t.value?.relationships)return;const E=o.value,V={};for(const B of Object.values(t.value.relationships)){if(B.type!=="refersTo"||!B.model||V[B.model])continue;const M=l.value.find(z=>z.tableName===B.model);if(M)try{const D=await M.modelClass.query({},{documents:E,limit:500});V[B.model]=D.data||[]}catch(z){gt.error(`Error loading related model data for ${B.model}:`,z),V[B.model]=[],J(`Failed to load related ${B.model} data: `+ae(z))}}b.value=V};return{editDialogOpen:s,createDialogOpen:a,bulkDeleteDialogOpen:c,deleteRecordId:u,isDeleting:i,isCreating:d,editFormData:f,selectedRecord:x,relatedModelData:b,customIdFields:h,openEditDialog:w,openCreateDialog:v,handleSaveRecord:C,handleCreateRecord:p,handleDeleteRecord:k,handleBulkDeleteRecords:m,updateFormField:y,handleToggleCustomId:g,loadRelatedModelData:N}}const Yy={class:"h-full flex flex-col min-w-0"},Qy={key:0,class:"flex-1 flex items-center justify-center"},Xy={class:"text-center py-12 px-8"},Zy={class:"text-muted-foreground"},Jy={class:"flex-1 flex flex-col min-h-0"},eb={class:"space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1"},tb={class:"space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1"},ob={key:0,class:"w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin mr-1"},nb={class:"flex-1 flex flex-col min-h-0 gap-4"},rb={class:"flex items-center gap-2"},lb=e.defineComponent({__name:"DocumentExplorerModel",props:{modelName:{},documentPermission:{}},emits:["back","switchModel"],setup(t,{emit:o}){const n=Ee.forScope("DocumentExplorerModel"),r=t,l=e.computed(()=>r.documentPermission!=="reader"),s=o,a=e.computed(()=>r.modelName),c=io(),u=e.computed(()=>c.currentDocumentId),i=e.computed(()=>ml()),d=e.computed(()=>i.value.find(Y=>Y.tableName===a.value)),f=e.ref({}),x=async()=>{if(!u.value)return;const Y={};for(const F of i.value)try{const ue=F.modelClass;Y[F.tableName]=await ue.count({},{documents:u.value})}catch(ue){n.debug(`Could not load count for ${F.tableName}:`,ue),Y[F.tableName]=0}f.value=Y},b=e.computed({get:()=>c.showHiddenFields,set:Y=>{c.showHiddenFields=Y}}),h=e.ref([]),w=e.ref(null),{records:v,initialDataLoaded:C,paginationState:p,pageSize:k,totalPages:m,loadModelData:y,loadInitialData:g,goToPage:N,goToPageContainingRecord:E,handlePageSizeChange:V,reloadModelData:B}=Gy(d,u,h,w),M=e.computed(()=>d.value?{[d.value.tableName]:v.value}:{}),{editDialogOpen:z,createDialogOpen:D,bulkDeleteDialogOpen:R,deleteRecordId:K,isDeleting:U,isCreating:ee,editFormData:L,relatedModelData:ie,customIdFields:H,openEditDialog:O,openCreateDialog:G,handleSaveRecord:Z,handleCreateRecord:W,handleDeleteRecord:me,handleBulkDeleteRecords:le,updateFormField:S,handleToggleCustomId:_}=Ky(d,u,b,M,i),$=e.ref(new Set),j=Y=>{const F=new Set($.value);F.has(Y)?F.delete(Y):F.add(Y),$.value=F},ne=()=>{$.value=$.value.size===v.value.length?new Set:new Set(v.value.map(Y=>Y.id))},re=()=>{$.value=new Set},ke=e.ref(null);let be=null;const ft=Y=>{be&&clearTimeout(be),ke.value=Y,be=setTimeout(()=>{ke.value=null},5200)},nt=e.ref(!1),Ie=e.ref(""),_e=e.ref(null),Ye=e.ref(!1),Vt=e.computed(()=>{const Y=_e.value;if(Y==null)return"";if(typeof Y=="object")return so(Y,Ye.value?2:void 0);const F=String(Y);if(Ye.value)try{if(F.startsWith("{")||F.startsWith("["))return JSON.stringify(JSON.parse(F),null,2)}catch{}return F}),rt=Y=>{const F=String(Y);_e.value=F,L.value&&Ie.value&&(L.value[Ie.value]=F)},Mt=()=>{if(!d.value)return;const Y={page:p.value.currentPage,filters:h.value.map(F=>({id:F.id,field:F.field,mode:F.mode,value:F.value})),sorts:w.value?{field:w.value.field,direction:w.value.direction}:null};Hm(d.value.tableName,Y)},Dt=async Y=>{const F=Y.value.trim();if(h.value.some(yo=>yo.field===Y.field&&yo.mode===Y.mode&&yo.value.trim()===F)){ja("This filter is already applied.");return}h.value.push({id:_m(),...Y}),await B()},P=async Y=>{h.value=h.value.filter(F=>F.id!==Y),await B()},T=async Y=>{const F=h.value.findIndex(ue=>ue.id===Y.id);F!==-1&&(h.value[F]=Y),await B()},I=async()=>{h.value=[],await B()},A=async Y=>{if(!d.value||!hl(d.value,Y))return;const F=w.value;F&&F.field===Y?F.direction===1?w.value={field:Y,direction:-1}:w.value=null:w.value={field:Y,direction:1},await B()},q=e.ref(!1),ce=async()=>{q.value=!0,await e.nextTick(),await new Promise(F=>requestAnimationFrame(F)),(await le($.value)).success&&re(),q.value=!1},de=async()=>{ho=!0;try{const Y=await W();Y&&(await E(Y),ft(Y))}finally{ho=!1}},ye=e.ref(null);let mt=null;const go=async Y=>{try{await navigator.clipboard.writeText(Y)}catch{const F=document.createElement("textarea");F.value=Y,document.body.appendChild(F),F.select(),document.execCommand("copy"),document.body.removeChild(F)}ye.value=Y,mt&&clearTimeout(mt),mt=setTimeout(()=>{ye.value=null},1500)},hn=e.computed(()=>d.value?gn(d.value,M.value,b.value):[]);e.watch(()=>d.value,()=>{if(d.value){const Y=jm(d.value.tableName);h.value=Y?.filters?Y.filters:[],w.value=Y?.sorts?Y.sorts:null,g(Y?.page??1),x()}},{immediate:!0}),e.watch(()=>p.value.totalCount,Y=>{d.value&&(f.value={...f.value,[d.value.tableName]:Y})}),e.watch([h,w,()=>p.value.currentPage],()=>Mt(),{deep:!0}),e.watch(()=>c.isDocumentReady,Y=>{Y&&d.value&&g()});let lt=null,ho=!1;function yn(){if(lt){try{lt()}catch{}lt=null}if(!d.value)return;const Y=d.value.modelClass;Y&&typeof Y.subscribe=="function"&&(lt=Y.subscribe(()=>{if(!ho&&d.value){const F=p.value.currentPage>1?p.value.pageCursors.get(p.value.currentPage)??null:null;y(d.value,p.value.currentPage,F).then(ue=>{v.value=ue.data,ue.data.length===0&&p.value.currentPage>1&&N(p.value.currentPage-1)})}}),n.debug("Subscribed to model changes:",d.value.name))}return e.onMounted(()=>yn()),e.watch(()=>c.currentDocumentId,()=>{c.isDocumentReady&&yn()}),e.onUnmounted(()=>{if(lt){try{lt()}catch{}lt=null}}),(Y,F)=>(e.openBlock(),e.createElementBlock("div",Yy,[e.createVNode(xh,{"current-model":d.value,"model-name":a.value,models:i.value,"model-counts":f.value,"can-write":l.value,"selected-count":$.value.size,onSwitchModel:F[0]||(F[0]=ue=>s("switchModel",ue)),onOpenCreate:e.unref(G),onClearSelection:re,onOpenBulkDelete:F[1]||(F[1]=ue=>R.value=!0)},null,8,["current-model","model-name","models","model-counts","can-write","selected-count","onOpenCreate"]),d.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(Fg,{"model-info":d.value,filters:h.value,"loaded-data":M.value,"show-hidden-fields":b.value,onAddFilter:Dt,onRemoveFilter:P,onUpdateFilter:T,onClearAll:I},null,8,["model-info","filters","loaded-data","show-hidden-fields"]),e.createVNode(fl,{"is-ready":e.unref(C),class:"flex-1 flex flex-col min-h-0"},{loading:e.withCtx(()=>[...F[14]||(F[14]=[e.createElementVNode("div",{class:"flex-1 flex items-center justify-center p-6"},[e.createElementVNode("div",{class:"w-full max-w-lg animate-pulse space-y-4"},[e.createElementVNode("div",{class:"h-8 bg-muted rounded w-full"}),e.createElementVNode("div",{class:"h-8 bg-muted rounded w-full"}),e.createElementVNode("div",{class:"h-8 bg-muted rounded w-full"})])],-1)])]),default:e.withCtx(()=>[e.createElementVNode("div",Jy,[e.createVNode(Wy,{records:e.unref(v),"model-info":d.value,"can-write":l.value,"show-hidden-fields":b.value,"loaded-data":M.value,sorting:w.value,"selected-record-ids":$.value,"highlighted-record-id":ke.value,onEditRecord:e.unref(O),onDeleteRecord:F[3]||(F[3]=ue=>K.value=ue),onToggleColumnSort:A,onToggleRecordSelection:j,onToggleSelectAll:ne},null,8,["records","model-info","can-write","show-hidden-fields","loaded-data","sorting","selected-record-ids","highlighted-record-id","onEditRecord"]),e.createVNode(Lh,{"current-page":e.unref(p).currentPage,"total-count":e.unref(p).totalCount,"page-size":e.unref(k),"total-pages":e.unref(m),onGoToPage:e.unref(N),onChangePageSize:e.unref(V)},null,8,["current-page","total-count","page-size","total-pages","onGoToPage","onChangePageSize"])])]),_:1},8,["is-ready"])],64)):(e.openBlock(),e.createElementBlock("div",Qy,[e.createElementVNode("div",Xy,[e.createElementVNode("p",Zy,'Model "'+e.toDisplayString(a.value)+'" not found',1),e.createVNode(e.unref(Te),{class:"mt-4",onClick:F[2]||(F[2]=ue=>s("back"))},{default:e.withCtx(()=>[...F[13]||(F[13]=[e.createTextVNode("Go Back",-1)])]),_:1})])])),e.createVNode(e.unref(Yt),{open:e.unref(z),"onUpdate:open":F[5]||(F[5]=ue=>e.isRef(z)?z.value=ue:null)},{default:e.withCtx(()=>[e.createVNode(e.unref(Qt),{class:"sm:max-w-md max-h-[80vh] flex flex-col"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Jt),{class:"text-sm font-semibold"},{default:e.withCtx(()=>[...F[15]||(F[15]=[e.createTextVNode("Edit Record",-1)])]),_:1})]),_:1}),e.createElementVNode("div",eb,[d.value?(e.openBlock(),e.createBlock(lr,{key:0,"model-info":d.value,"form-data":e.unref(L),fields:hn.value,"related-model-data":e.unref(ie),"custom-id-fields":e.unref(H),"copied-id":ye.value,"id-prefix":"edit",onUpdateField:e.unref(S),onCopyId:go,onToggleCustomId:e.unref(_)},null,8,["model-info","form-data","fields","related-model-data","custom-id-fields","copied-id","onUpdateField","onToggleCustomId"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(Xt),{class:"border-t border-border pt-3 mt-3"},{default:e.withCtx(()=>[e.createVNode(e.unref(Te),{variant:"outline",size:"sm",onClick:F[4]||(F[4]=ue=>z.value=!1)},{default:e.withCtx(()=>[...F[16]||(F[16]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(e.unref(Te),{size:"sm",onClick:e.unref(Z)},{default:e.withCtx(()=>[...F[17]||(F[17]=[e.createTextVNode("Save Changes",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["open"]),e.createVNode(e.unref(Yt),{open:e.unref(D),"onUpdate:open":F[7]||(F[7]=ue=>e.isRef(D)?D.value=ue:null)},{default:e.withCtx(()=>[e.createVNode(e.unref(Qt),{class:"sm:max-w-md max-h-[80vh] flex flex-col"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Jt),{class:"text-sm font-semibold"},{default:e.withCtx(()=>[e.createTextVNode(" New "+e.toDisplayString(d.value?.name||a.value),1)]),_:1})]),_:1}),e.createElementVNode("div",tb,[d.value?(e.openBlock(),e.createBlock(lr,{key:0,"model-info":d.value,"form-data":e.unref(L),fields:hn.value,"exclude-id":!0,"related-model-data":e.unref(ie),"custom-id-fields":e.unref(H),"id-prefix":"create",onUpdateField:e.unref(S),onToggleCustomId:e.unref(_)},null,8,["model-info","form-data","fields","related-model-data","custom-id-fields","onUpdateField","onToggleCustomId"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(Xt),{class:"border-t border-border pt-3 mt-3"},{default:e.withCtx(()=>[e.createVNode(e.unref(Te),{variant:"outline",size:"sm",disabled:e.unref(ee),onClick:F[6]||(F[6]=ue=>D.value=!1)},{default:e.withCtx(()=>[...F[18]||(F[18]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(e.unref(Te),{size:"sm",disabled:e.unref(ee),onClick:de},{default:e.withCtx(()=>[e.unref(ee)?(e.openBlock(),e.createElementBlock("span",ob)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(e.unref(ee)?"Creating...":"Create"),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"]),e.createVNode(Ce,{"is-open":!!e.unref(K),title:"Delete Record",question:"Are you sure you want to delete this record?",warning:"This action cannot be undone.","is-deleting":e.unref(U),onCancel:F[8]||(F[8]=ue=>K.value=null),onConfirm:e.unref(me)},null,8,["is-open","is-deleting","onConfirm"]),e.createVNode(Ce,{"is-open":e.unref(R),title:"Delete Records",question:`Delete ${$.value.size} record${$.value.size!==1?"s":""}? This action cannot be undone.`,warning:void 0,"confirm-label":"Delete","is-deleting":q.value,onCancel:F[9]||(F[9]=ue=>R.value=!1),onConfirm:ce},null,8,["is-open","question","is-deleting"]),e.createVNode(e.unref(Yt),{open:nt.value,"onUpdate:open":F[12]||(F[12]=ue=>nt.value=ue)},{default:e.withCtx(()=>[e.createVNode(e.unref(Qt),{class:"max-w-4xl max-h-[90vh] flex flex-col"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt),{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(e.unref(Jt),{class:"flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(ql),{class:"h-5 w-5"}),e.createTextVNode(" "+e.toDisplayString(Ie.value),1)]),_:1})]),_:1}),e.createElementVNode("div",nb,[e.createElementVNode("div",rb,[e.createVNode(e.unref(Bg),{id:"pretty-print",checked:Ye.value,"onUpdate:checked":F[10]||(F[10]=ue=>Ye.value=ue)},null,8,["checked"]),e.createVNode(e.unref(Eg),{for:"pretty-print",class:"text-sm"},{default:e.withCtx(()=>[...F[19]||(F[19]=[e.createTextVNode("Pretty Print JSON",-1)])]),_:1})]),e.createVNode(e.unref(Zo),{"model-value":Vt.value,class:"flex-1 font-mono text-sm min-h-[300px]","onUpdate:modelValue":rt},null,8,["model-value"])]),e.createVNode(e.unref(Xt),{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(e.unref(Te),{variant:"outline",onClick:F[11]||(F[11]=ue=>nt.value=!1)},{default:e.withCtx(()=>[...F[20]||(F[20]=[e.createTextVNode(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])]))}}),ab={class:"h-full flex flex-col"},sb={class:"flex-1 flex overflow-hidden min-w-0"},ib={class:"flex-1 flex flex-col min-w-0 bg-background"},cb={key:0,class:"flex-1 flex items-center justify-center"},ub={key:1,class:"flex-1 flex items-center justify-center"},db={key:2,class:"flex-1 flex items-center justify-center"},fb={key:0,class:"flex-1 flex items-center justify-center"},mb={class:"hidden lg:contents"},pb=e.defineComponent({__name:"DocumentExplorerIndex",setup(t){const o=Ee.forScope("DocumentExplorer"),n=io(),r=e.ref([]),l=e.ref(!1),s=e.ref(null),a=e.ref(new Set);async function c(){try{const P=await te.getClientAsync();s.value=await P.getRootDocId(),await P.syncMetadata({scope:"all",includeRoot:!0,pageSize:500});const T=await P.documents.list({refreshFromServer:!0,includeRoot:!0});r.value=T,l.value=!0,o.debug("Documents loaded from cache after sync",{count:T.length,rootDocId:s.value})}catch(P){o.error("Failed to load documents from client",P),J("Failed to load documents: "+ae(P))}}const u=e.ref([]);async function i(){try{const I=[...await(await te.getClientAsync()).me.pendingDocumentInvitations()];u.value=I,y.value&&!I.some(A=>A.documentId===y.value.documentId)&&(y.value=null),o.debug("Pending invitations loaded",{count:I.length})}catch(P){o.error("Failed to load pending invitations",P),u.value=[],y.value&&(y.value=null),J("Failed to load pending invitations: "+ae(P))}}let d=null,f=null,x=!1;e.onMounted(async()=>{const P=c();i();try{const T=await te.getClientAsync(),I=q=>{o.debug("Invitation event received",{action:q.action,documentId:q.documentId}),i(),q.action==="accepted"&&(c(),y.value?.documentId===q.documentId&&(y.value=null),j(q.documentId),D.value?.showDocsSection())};T.on("invitation",I),d=()=>T.off("invitation",I);const A=()=>{if(x){o.debug("Document metadata changed (suppressed – bulk operation in progress)");return}o.debug("Document metadata changed, refreshing documents"),c(),i()};T.on("documentMetadataChanged",A),f=()=>T.off("documentMetadataChanged",A)}catch(T){o.debug("Could not subscribe to real-time events",T)}if(await P,n.currentDocumentId&&!r.value.some(T=>T.documentId===n.currentDocumentId)&&(o.debug("Persisted document no longer exists, clearing selection:",n.currentDocumentId),n.setCurrentDocumentId(null)),n.currentDocumentId&&!n.isDocumentReady){o.debug("Restoring previously selected document:",n.currentDocumentId);try{await n.openDocument(n.currentDocumentId);const T=r.value.find(I=>I.documentId===n.currentDocumentId);n.setCurrentDocumentTitle(T?.title||"Untitled")}catch(T){o.error("Failed to restore document:",T),n.setCurrentDocumentId(null)}}n.isDocumentReady&&S()}),e.onUnmounted(()=>{d&&(d(),d=null),f&&(f(),f=null)});const b=e.computed(()=>ml()),h=e.computed(()=>{const P={};for(const T of b.value)P[T.tableName]={query:{}};return P}),w=e.computed({get:()=>n.currentDocumentId,set:P=>n.setCurrentDocumentId(P)}),v=e.ref(null),C=e.computed(()=>v.value??n.currentDocumentId),p=e.computed({get:()=>n.currentModelName,set:P=>n.setCurrentModelName(P)}),k=e.ref(null),m=e.ref(!1),y=e.ref(null),g=e.ref(!1),N=e.ref(!1),E=e.ref(!1),V=e.ref([]),B=e.ref([]),M=e.ref([]),z=e.ref(""),D=e.ref(null),R=e.ref({});function K(){return{currentPage:1,totalCount:0,pageSize:gl(),nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}}function U(P){return R.value[P]||(R.value[P]=K()),R.value[P]??K()}const{optimisticFieldUpdate:ee}=rr(r,"documentId"),{optimisticRemove:L,optimisticBulkRemove:ie}=rr(u,"documentId");async function H(P){try{const T=n.currentDocumentId;return await P.modelClass.count({},{documents:T})}catch(T){return o.error(`Error loading count for ${P.name}:`,T),0}}const{initialDataLoaded:O}=zm({subscribeTo:b.value.map(P=>P.modelClass),queryParams:h,documentReady:e.computed(()=>n.isDocumentReady),loadData:async()=>{const P={};for(const I of b.value){const A=await H(I),q=U(I.tableName);q.totalCount=A,P[I.tableName]=[]}const T=Object.values(R.value).reduce((I,A)=>I+(A?.totalCount??0),0);return o.debug("Loaded model counts:",{models:b.value.length,totalRecords:T}),S(),P},onError:P=>{o.error("Error loading data:",P),J("Failed to load model data: "+ae(P))}}),G=e.computed(()=>{const P=a.value;return[...r.value||[]].filter(T=>T&&!P.has(T.documentId)).map(T=>({...T,isRoot:T.documentId===s.value})).sort((T,I)=>T.isRoot&&!I.isRoot?-1:!T.isRoot&&I.isRoot?1:(T.title||"").localeCompare(I.title||""))}),Z=e.computed(()=>G.value.find(P=>P.documentId===w.value)),W=e.computed(()=>{const P={};for(const T of b.value)P[T.tableName]=U(T.tableName).totalCount;return P}),me=e.computed(()=>G.value.find(P=>P.documentId===k.value)?.title);function le(){return b.value.length===0?"":Z.value?.isRoot&&b.value.some(P=>P.tableName==="user_prefs")?"user_prefs":b.value[0]?.tableName??""}function S(){b.value.length!==0&&(p.value&&!b.value.some(P=>P.tableName===p.value)&&(p.value=null),p.value||(p.value=le()))}function _(P){p.value=P}function $(){p.value=b.value.length>0?le():null}async function j(P){if(y.value=null,P===C.value&&n.isDocumentReady)return;o.debug("Switching to document:",P),v.value=P,p.value=null;const T=r.value.find(I=>I.documentId===P);n.setCurrentDocumentTitle(T?.title||"Untitled");try{await n.switchDocument(P),S()}finally{v.value=null}}function ne(P){y.value=P}async function re(P){try{const T=await te.getClientAsync(),{metadata:I}=await T.documents.create({title:P});o.debug("Created new document:",I),await c(),await n.switchDocument(I.documentId)}catch(T){throw o.error("Failed to create document:",T),T}}async function ke(P){N.value=!0;try{await re(P),g.value=!1}catch(T){J("Failed to create document: "+ae(T))}finally{N.value=!1}}async function be(P,T){P===n.currentDocumentId&&n.setCurrentDocumentTitle(T);const{success:I}=await ee(P,"title",T,async()=>{await(await te.getClientAsync()).documents.update(P,{title:T}),o.debug("Renamed document:",P,"to",T)});if(!I){const A=r.value.find(q=>q.documentId===P);P===n.currentDocumentId&&n.setCurrentDocumentTitle(A?.title||"Untitled"),J("Failed to rename document")}}async function ft(P){m.value=!0,w.value===P&&n.setCurrentDocumentId(null),m.value=!1,k.value=null,a.value=new Set([...a.value,P]);try{await(await te.getClientAsync()).documents.delete(P,{forceCloseIfOpen:!0}),await c()}catch{J("Failed to delete document")}finally{const T=new Set(a.value);T.delete(P),a.value=T}}async function nt(P){w.value&&P.includes(w.value)&&n.setCurrentDocumentId(null),a.value=new Set([...a.value,...P]),x=!0;try{const T=await te.getClientAsync(),I=[];for(const A of P)try{await T.documents.delete(A,{forceCloseIfOpen:!0})}catch(q){o.error(`Failed to delete document ${A}:`,q),I.push(A)}await c(),I.length>0&&J(`Failed to delete ${I.length} document(s). They have been restored.`)}finally{const T=new Set(a.value);for(const I of P)T.delete(I);a.value=T,x=!1}}async function Ie(P){try{if(!(await(await te.getClientAsync()).me.get())?.userId){J("Could not determine current user.");return}const A=[],q=[];for(const de of P){const ye=G.value.find(go=>go.documentId===de);if(!ye||ye.isRoot)continue;!ye.permission||ye.permission==="owner"||ye.permission==="admin"?q.push(de):A.push(de)}if(A.length===0&&q.length===0)return;const ce=[];q.length>0&&ce.push(`delete ${q.length}`),A.length>0&&ce.push(`leave ${A.length}`),V.value=P,B.value=A,M.value=q,z.value=`This will ${ce.join(" and ")} document(s). Continue?`,E.value=!0}catch(T){o.error("Failed to process bulk leave:",T),J("Failed to leave documents: "+ae(T))}}async function _e(){E.value=!1;const P=B.value,T=M.value;V.value=[],B.value=[],M.value=[],z.value="";try{const I=await te.getClientAsync(),A=await I.me.get();if(!A?.userId){J("Could not determine current user.");return}const q=[...P,...T];w.value&&q.includes(w.value)&&n.setCurrentDocumentId(null),a.value=new Set([...a.value,...q]),x=!0;try{const ce=[];for(const de of P)try{await I.documents.removePermission(de,A.userId)}catch(ye){o.error(`Failed to leave document ${de}:`,ye),ce.push(de)}for(const de of T)try{await I.documents.delete(de,{forceCloseIfOpen:!0})}catch(ye){o.error(`Failed to delete document ${de}:`,ye),ce.push(de)}await c(),ce.length>0&&J(`Failed to process ${ce.length} document(s). They have been restored.`)}finally{const ce=new Set(a.value);for(const de of q)ce.delete(de);a.value=ce,x=!1}}catch(I){o.error("Failed to process bulk leave:",I),J("Failed to leave documents: "+ae(I))}}async function Ye(P){try{await(await te.getClientAsync()).documents.acceptInvitation(P),o.debug("Accepted invitation for document:",P)}catch(T){o.error("Failed to accept invitation:",T),J("Failed to accept invitation: "+ae(T))}}async function Vt(P){const T=u.value.find(A=>A.documentId===P);y.value?.documentId===P&&(y.value=null);const{success:I}=await L(P,async()=>{const A=await te.getClientAsync();T&&await A.documents.declineInvitation(P,T.invitationId),o.debug("Declined invitation for document:",P),i()});I||J("Failed to decline invitation")}const rt=e.ref(!1);async function Mt(P){rt.value=!0;try{const T=await te.getClientAsync(),I=[];await Promise.all(P.map(async A=>{try{await T.documents.acceptInvitation(A)}catch(q){o.error("Failed to accept invitation:",q),I.push(A)}})),await Promise.all([c(),i()]),I.length>0&&J(`Failed to accept ${I.length} invitation(s).`)}finally{rt.value=!1}}async function Dt(P){const T=[...u.value];y.value&&P.includes(y.value.documentId)&&(y.value=null);const{failedIds:I}=await ie(P,async A=>{const q=await te.getClientAsync(),ce=[];return await Promise.all(A.map(async de=>{try{const ye=T.find(mt=>mt.documentId===de);ye&&await q.documents.declineInvitation(de,ye.invitationId)}catch(ye){o.error("Failed to decline invitation:",ye),ce.push(de)}})),await i(),ce});I.length>0&&J(`Failed to decline ${I.length} invitation(s).`)}return(P,T)=>(e.openBlock(),e.createElementBlock("div",ab,[e.createVNode(e.unref(gr),{position:"bottom-right",expand:!1,"rich-colors":""}),e.createElementVNode("div",sb,[e.createVNode(Vp,{ref_key:"documentListPanelRef",ref:D,documents:G.value,"selected-doc-id":y.value?null:C.value,"selected-invitation-id":y.value?.documentId??null,"document-list-loaded":l.value,"pending-invitations":u.value,"is-accepting-invitations":rt.value,onSelectDocument:j,onSelectInvitation:ne,onCreateDocument:T[0]||(T[0]=I=>g.value=!0),onBulkDelete:nt,onBulkLeave:Ie,onBulkDeleteMixed:Ie,onAcceptInvitations:Mt,onDeclineInvitations:Dt},null,8,["documents","selected-doc-id","selected-invitation-id","document-list-loaded","pending-invitations","is-accepting-invitations"]),e.createElementVNode("div",ib,[y.value?(e.openBlock(),e.createElementBlock("div",cb,[...T[7]||(T[7]=[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("svg",{class:"w-12 h-12 mx-auto text-amber-500/30 mb-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})]),e.createElementVNode("p",{class:"text-xs text-muted-foreground"}," Accept this invitation to explore the document ")],-1)])])):l.value?Z.value?(e.openBlock(),e.createBlock(fl,{key:3,"is-ready":e.unref(O)},{loading:e.withCtx(()=>[...T[10]||(T[10]=[e.createElementVNode("div",{class:"flex-1 flex items-center justify-center"},[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("div",{class:"w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2"}),e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Loading data...")])],-1)])]),default:e.withCtx(()=>[b.value.length===0?(e.openBlock(),e.createElementBlock("div",fb,[...T[11]||(T[11]=[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("svg",{class:"w-12 h-12 mx-auto text-muted-foreground/30 mb-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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"})]),e.createElementVNode("p",{class:"text-xs text-muted-foreground"}," Add models to get started ")],-1)])])):p.value?(e.openBlock(),e.createBlock(lb,{key:p.value,"model-name":p.value,"document-permission":Z.value?.permission,onBack:$,onSwitchModel:_},null,8,["model-name","document-permission"])):e.createCommentVNode("",!0)]),_:1},8,["is-ready"])):(e.openBlock(),e.createElementBlock("div",db,[...T[9]||(T[9]=[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("svg",{class:"w-12 h-12 mx-auto text-muted-foreground/30 mb-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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"})]),e.createElementVNode("p",{class:"text-xs text-muted-foreground"}," Select a document to explore ")],-1)])])):(e.openBlock(),e.createElementBlock("div",ub,[...T[8]||(T[8]=[e.createElementVNode("div",{class:"text-center"},[e.createElementVNode("div",{class:"w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2"}),e.createElementVNode("p",{class:"text-xs text-muted-foreground"},"Loading documents...")],-1)])]))]),e.createElementVNode("div",mb,[y.value?(e.openBlock(),e.createBlock(vg,{key:0,invitation:y.value,onAcceptInvitation:Ye,onDeclineInvitation:Vt},null,8,["invitation"])):Z.value?(e.openBlock(),e.createBlock(Kv,{key:1,document:Z.value,models:b.value,"record-counts":W.value,onNavigateToModel:_,onRenameDocument:be,onDeleteDocument:T[1]||(T[1]=I=>k.value=I),onDocumentsChanged:c},null,8,["document","models","record-counts"])):e.createCommentVNode("",!0)])]),e.createVNode(Cg,{open:g.value,"is-creating":N.value,"onUpdate:open":T[2]||(T[2]=I=>g.value=I),onCreate:ke},null,8,["open","is-creating"]),e.createVNode(Ce,{"is-open":!!k.value,title:"Delete Document",question:`Are you sure you want to delete "${me.value}"?`,warning:"This action cannot be undone.","is-deleting":m.value,onCancel:T[3]||(T[3]=I=>k.value=null),onConfirm:T[4]||(T[4]=I=>k.value&&ft(k.value))},null,8,["is-open","question","is-deleting"]),e.createVNode(Ce,{"is-open":E.value,title:"Leave / Delete Documents",question:z.value,warning:"","confirm-label":"Continue","confirming-label":"Processing...","is-deleting":!1,onConfirm:_e,onCancel:T[5]||(T[5]=I=>{E.value=!1,V.value=[],B.value=[],M.value=[],z.value=""}),"onUpdate:isOpen":T[6]||(T[6]=I=>{I||(E.value=!1,V.value=[],B.value=[],M.value=[],z.value="")})},null,8,["is-open","question"])]))}}),vb={class:"h-full flex overflow-hidden"},gb={class:"w-64 lg:w-72 border-r border-border flex flex-col bg-background"},hb={class:"px-3 py-2 border-b border-border bg-muted/30 relative"},yb={key:0,class:"absolute inset-0 px-3 bg-muted flex items-center justify-between z-10"},bb={class:"flex items-center gap-2"},wb={class:"text-[10px] font-medium"},kb=["disabled"],xb={class:"flex items-center gap-2"},Cb=["checked","indeterminate"],Eb={class:"flex-1 overflow-y-auto scrollbar-thin"},Bb=["onClick"],Nb=["checked","indeterminate","onClick"],Sb={class:"ml-2 text-xs font-medium flex-1"},Vb={class:"text-[10px] text-muted-foreground"},Mb=["onClick"],Db=["checked","onClick"],zb={class:"ml-2 w-4 h-4 flex items-center justify-center"},$b={key:0,class:"w-3.5 h-3.5 text-blue-500 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ib={key:1,class:"w-3.5 h-3.5 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_b={key:2,class:"w-3.5 h-3.5 text-red-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ab={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"},Tb={class:"ml-1.5 text-xs flex-1 truncate"},Pb={key:0,class:"px-1 py-0.5 text-[9px] bg-green-100 text-green-700 rounded"},Ob={key:1,class:"px-1 py-0.5 text-[9px] bg-red-100 text-red-700 rounded"},Rb={key:2,class:"px-1 py-0.5 text-[9px] bg-blue-100 text-blue-700 rounded"},Lb={key:0,class:"text-center py-8 text-muted-foreground"},Fb={class:"px-3 py-2 border-t border-border bg-muted/20 text-[10px] text-muted-foreground"},qb={class:"flex items-center justify-between"},jb={key:0},Hb={key:0,class:"text-green-600"},Ub={key:1},Wb={key:2,class:"text-red-600"},Gb={class:"flex-1 flex flex-col min-w-0 bg-background"},Kb={class:"flex items-center justify-between px-3 py-2 border-b border-border bg-muted/30"},Yb={class:"flex items-center gap-1"},Qb=["disabled"],Xb=["disabled"],Zb=["disabled"],Jb={key:0,class:"text-muted-foreground"},e0={key:1,class:"space-y-0.5"},t0=["data-test-id"],o0={key:0,class:"px-3 py-2 border-t border-border bg-muted/20"},n0={class:"flex items-center justify-between text-[10px] mb-1"},r0={class:"text-muted-foreground truncate pr-2"},l0={class:"font-medium flex-shrink-0"},a0={class:"h-1 bg-muted rounded-full overflow-hidden"},s0=e.defineComponent({__name:"TestRunner",props:{tests:{},onTestsComplete:{type:Function}},setup(t){const o=Ee.forScope("TestRunner"),n=t,r=e.ref({}),l=e.ref([]),s=e.ref(!1),a=e.ref(!1),c=e.ref(!1),u=e.reactive(new Map),i=e.ref(null),d=e.ref(null),f=e.ref(0),x=e.ref(0),b=e.ref("");e.watchEffect(()=>{const H={};n.tests.forEach(O=>{H[O.id]=!0}),r.value=H});const h=e.computed(()=>{const H=new Map;return n.tests.forEach(O=>{H.has(O.group)||H.set(O.group,[]),H.get(O.group).push(O)}),Array.from(H.entries())}),w=e.computed(()=>Object.values(r.value).filter(Boolean).length),v=e.computed(()=>n.tests.length),C=e.computed(()=>{const H=Array.from(u.values()).filter(G=>G.status==="passed"||G.status==="scored").length,O=Array.from(u.values()).filter(G=>G.status==="failed").length;return{passed:H,failed:O}}),p=H=>u.get(H)?.status??"pending",k=H=>H.every(O=>r.value[O.id]),m=H=>{const O=H.some(Z=>r.value[Z.id]),G=H.every(Z=>r.value[Z.id]);return O&&!G},y=H=>H.filter(O=>r.value[O.id]).length,g=e.computed(()=>n.tests.every(H=>r.value[H.id])),N=e.computed(()=>n.tests.some(O=>r.value[O.id])&&!g.value),E=(H,O="normal",G)=>{const Z=new Date().toLocaleTimeString();l.value=[...l.value,{text:`${Z} - ${H}`,type:O,testId:G}],d.value||e.nextTick(()=>{i.value&&(i.value.scrollTop=i.value.scrollHeight)})},V=async()=>{if(c.value)return;c.value=!0,l.value=[];const H=h.value.flatMap(([,O])=>O.filter(G=>r.value[G.id]));f.value=H.length,x.value=0,b.value="",E("=".repeat(60),"header"),E("Starting test run","header"),E("=".repeat(60),"header");try{const O=await Ml();O>0&&E(`Closed ${O} host app document(s) for test isolation`);for(const[G,Z]of h.value)for(const W of Z){if(!r.value[W.id])continue;u.set(W.id,{status:"running"}),b.value=`${G} :: ${W.name}`,E(`Running ${G} :: ${W.name}`,"normal",W.id);const me=performance.now();try{const le=await W.run($=>E(`[${W.id}] ${$}`,"normal",W.id)),S=Math.round(performance.now()-me),_=le.match(/^(\d+)\/(\d+)\s*\((\d+(?:\.\d+)?)%\)/);if(_&&_[1]&&_[2]&&_[3]){const $=Number.parseInt(_[1],10),j=Number.parseInt(_[2],10),ne=Number.parseFloat(_[3]);u.set(W.id,{status:"scored",durationMs:S,message:le,score:{passed:$,total:j,percentage:ne}}),E(`Scored (${S}ms): ${le}`,"success",W.id)}else u.set(W.id,{status:"passed",durationMs:S,message:le}),E(`Passed (${S}ms): ${le}`,"success",W.id)}catch(le){const S=Math.round(performance.now()-me),_=le instanceof Error?le.message:String(le);u.set(W.id,{status:"failed",durationMs:S,message:_}),E(`Failed (${S}ms): ${_}`,"error",W.id)}x.value++}}finally{E("=".repeat(60),"header"),E("Test run complete","header"),E("=".repeat(60),"header");try{await Dl(),E("Host app documents restored")}catch(O){E(`Warning: Failed to restore host app documents: ${O instanceof Error?O.message:String(O)}`)}if(n.onTestsComplete)try{E("Cleaning up test documents..."),await n.onTestsComplete(),E("Test documents cleaned up successfully")}catch(O){E(`Warning: Failed to clean up test documents: ${O instanceof Error?O.message:String(O)}`)}c.value=!1}},B=H=>{r.value={...r.value,[H]:!r.value[H]}},M=H=>{const O=k(H),G={...r.value};H.forEach(Z=>{G[Z.id]=!O}),r.value=G},z=()=>{const H=g.value,O={};n.tests.forEach(G=>{O[G.id]=!H}),r.value=O},D=()=>{r.value={}},R=async()=>{try{await navigator.clipboard.writeText(l.value.map(H=>H.text).join(`
|
|
8
|
+
`)),s.value=!0,window.setTimeout(()=>{s.value=!1},1500)}catch(H){o.error("Copy to clipboard failed in test runner",{err:H})}},K=async()=>{try{const H=new Set(Array.from(u.entries()).filter(([,G])=>G.status==="failed").map(([G])=>G)),O=l.value.filter(G=>G.testId&&H.has(G.testId)).map(G=>G.text).join(`
|
|
9
|
+
`);await navigator.clipboard.writeText(O),a.value=!0,window.setTimeout(()=>{a.value=!1},1500)}catch(H){o.error("Copy failed tests to clipboard failed",{err:H})}},U=H=>{if(d.value===H){d.value=null;return}d.value=H,e.nextTick(()=>{if(i.value){const O=i.value.querySelector(`[data-test-id="${H}"]`);O&&O.scrollIntoView({behavior:"smooth",block:"start"})}})},ee=()=>{l.value=[],u.clear(),d.value=null},L=e.computed(()=>Array.from(u.values()).some(H=>H.status==="failed")),ie=e.computed(()=>f.value===0?0:Math.round(x.value/f.value*100));return(H,O)=>(e.openBlock(),e.createElementBlock("div",vb,[e.createElementVNode("div",gb,[e.createElementVNode("div",hb,[w.value>0&&!c.value?(e.openBlock(),e.createElementBlock("div",yb,[e.createElementVNode("div",bb,[e.createElementVNode("span",wb,e.toDisplayString(w.value)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:D}," Clear ")]),e.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:V},[...O[0]||(O[0]=[e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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"}),e.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),e.createTextVNode(" Run ",-1)])],8,kb)])):e.createCommentVNode("",!0),e.createElementVNode("div",xb,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:g.value,indeterminate:N.value,onChange:z},null,40,Cb),O[1]||(O[1]=e.createElementVNode("span",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide"}," Available Tests ",-1))])]),e.createElementVNode("div",Eb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,([G,Z])=>(e.openBlock(),e.createElementBlock("div",{key:G},[e.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:W=>M(Z)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:k(Z),indeterminate:m(Z),onClick:e.withModifiers(W=>M(Z),["stop"])},null,8,Nb),e.createElementVNode("span",Sb,e.toDisplayString(G),1),e.createElementVNode("span",Vb,e.toDisplayString(y(Z))+"/"+e.toDisplayString(Z.length),1)],8,Bb),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Z,W=>(e.openBlock(),e.createElementBlock("div",{key:W.id,class:e.normalizeClass(["flex items-center px-3 py-1.5 hover:bg-muted/30 cursor-pointer",{"bg-primary/10 border-l-2 border-l-primary":d.value===W.id}]),onClick:me=>U(W.id)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:r.value[W.id],onClick:e.withModifiers(me=>B(W.id),["stop"])},null,8,Db),e.createElementVNode("span",zb,[p(W.id)==="running"?(e.openBlock(),e.createElementBlock("svg",$b,[...O[2]||(O[2]=[e.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)])])):p(W.id)==="passed"?(e.openBlock(),e.createElementBlock("svg",Ib,[...O[3]||(O[3]=[e.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)])])):p(W.id)==="failed"?(e.openBlock(),e.createElementBlock("svg",_b,[...O[4]||(O[4]=[e.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)])])):p(W.id)==="scored"?(e.openBlock(),e.createElementBlock("div",Ab," % ")):e.createCommentVNode("",!0)]),e.createElementVNode("span",Tb,e.toDisplayString(W.name),1),u.get(W.id)?.status==="passed"?(e.openBlock(),e.createElementBlock("span",Pb," Passed ")):u.get(W.id)?.status==="failed"?(e.openBlock(),e.createElementBlock("span",Ob," Failed ")):u.get(W.id)?.status==="scored"&&u.get(W.id)?.score?(e.openBlock(),e.createElementBlock("span",Rb,e.toDisplayString(u.get(W.id).score.passed)+"/"+e.toDisplayString(u.get(W.id).score.total)+" ("+e.toDisplayString(u.get(W.id).score.percentage)+"%) ",1)):e.createCommentVNode("",!0)],10,Mb))),128))]))),128)),h.value.length===0?(e.openBlock(),e.createElementBlock("div",Lb,[...O[5]||(O[5]=[e.createElementVNode("p",{class:"text-xs"},"No tests found.",-1),e.createElementVNode("p",{class:"text-[10px] mt-1"}," Create test files with the .primitive-test.ts extension. ",-1)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Fb,[e.createElementVNode("div",qb,[e.createElementVNode("span",null,e.toDisplayString(v.value)+" tests in "+e.toDisplayString(h.value.length)+" groups",1),C.value.passed>0||C.value.failed>0?(e.openBlock(),e.createElementBlock("span",jb,[C.value.passed>0?(e.openBlock(),e.createElementBlock("span",Hb,e.toDisplayString(C.value.passed)+" passed ",1)):e.createCommentVNode("",!0),C.value.passed>0&&C.value.failed>0?(e.openBlock(),e.createElementBlock("span",Ub,", ")):e.createCommentVNode("",!0),C.value.failed>0?(e.openBlock(),e.createElementBlock("span",Wb,e.toDisplayString(C.value.failed)+" failed ",1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",Gb,[e.createElementVNode("div",Kb,[O[15]||(O[15]=e.createElementVNode("span",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide"}," Test Output ",-1)),e.createElementVNode("div",Yb,[e.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:l.value.length===0,onClick:R},[s.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[O[6]||(O[6]=e.createElementVNode("svg",{class:"w-3 h-3 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)),O[7]||(O[7]=e.createTextVNode(" Copied! ",-1))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[O[8]||(O[8]=e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)),O[9]||(O[9]=e.createTextVNode(" Copy ",-1))],64))],8,Qb),e.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:!L.value,onClick:K},[a.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[O[10]||(O[10]=e.createElementVNode("svg",{class:"w-3 h-3 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M5 13l4 4L19 7"})],-1)),O[11]||(O[11]=e.createTextVNode(" Copied! ",-1))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[O[12]||(O[12]=e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)),O[13]||(O[13]=e.createTextVNode(" Copy Failing Tests ",-1))],64))],8,Xb),e.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:l.value.length===0,onClick:ee},[...O[14]||(O[14]=[e.createElementVNode("svg",{class:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createTextVNode(" Clear ",-1)])],8,Zb)])]),e.createElementVNode("div",{ref_key:"outputEl",ref:i,class:"flex-1 overflow-y-auto scrollbar-thin bg-muted/10 font-mono text-xs p-3"},[l.value.length===0?(e.openBlock(),e.createElementBlock("div",Jb,' Select tests and click "Run" to see output... ')):(e.openBlock(),e.createElementBlock("div",e0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(G,Z)=>(e.openBlock(),e.createElementBlock("div",{key:Z,"data-test-id":G.testId,class:e.normalizeClass([G.type==="header"?"text-muted-foreground font-medium":G.type==="success"?"text-green-600":G.type==="error"?"text-red-600":"",d.value&&G.testId!==d.value?"opacity-20":"",d.value&&G.testId===d.value?"bg-primary/5 -mx-1 px-1 rounded":""])},e.toDisplayString(G.text),11,t0))),128))]))],512),c.value?(e.openBlock(),e.createElementBlock("div",o0,[e.createElementVNode("div",n0,[e.createElementVNode("span",r0," Running: "+e.toDisplayString(b.value),1),e.createElementVNode("span",l0,e.toDisplayString(x.value)+"/"+e.toDisplayString(f.value),1)]),e.createElementVNode("div",a0,[e.createElementVNode("div",{class:"h-full bg-primary transition-all duration-300",style:e.normalizeStyle({width:`${ie.value}%`})},null,4)])])):e.createCommentVNode("",!0)])]))}}),i0={class:"fixed inset-0 z-40 bg-background flex flex-col overflow-hidden"},c0={class:"flex items-center justify-between px-4 py-2 border-b border-border bg-muted/30"},u0={class:"flex items-center gap-3 min-w-0 flex-1"},d0={class:"text-sm font-semibold truncate"},f0={class:"flex-1 flex overflow-hidden min-w-0"},m0={class:"w-10 bg-muted/50 border-r border-border flex flex-col items-center py-2 gap-1"},p0={class:"flex-1 flex flex-col overflow-hidden min-w-0"},v0={key:0,class:"flex-1 flex items-center justify-center"},g0={class:"text-center max-w-md"},h0={class:"text-xs text-muted-foreground mb-4"},y0={key:1,class:"flex-1 flex items-center justify-center"},b0={class:"text-center"},w0={class:"flex-1 overflow-hidden"},k0={class:"flex-1 overflow-hidden flex"},x0={class:"flex-1 overflow-hidden"},ir="primitive-devtools-active-tab",C0=e.defineComponent({__name:"DevToolsOverlay",props:{testGroups:{},appName:{}},emits:["close"],setup(t,{emit:o}){const n=Ee.forScope("DevToolsOverlay"),r=t,l=o,s=["documents","blobs","tests"];function a(){const k=localStorage.getItem(ir);return s.includes(k)?k:"documents"}const c=e.ref(a());e.watch(c,k=>localStorage.setItem(ir,k));const u=e.ref(!1),i=e.ref(null),d=e.ref(!1);async function f(){if(!u.value)try{await eo(),u.value=!0}catch(k){n.error("Failed to initialize dev tools",{err:k}),i.value=k instanceof Error?k.message:"Failed to initialize"}}const x=e.ref("");function b(k){if(k.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;const N=document.activeElement;if(N&&N!==document.body&&(N.tagName==="INPUT"||N.tagName==="TEXTAREA"||N.tagName==="SELECT"||N.isContentEditable)){N.blur();return}v()}e.onMounted(()=>{x.value=document.body.style.overflow,document.body.style.overflow="hidden",document.addEventListener("keydown",b,!0),f()}),e.onUnmounted(()=>{document.body.style.overflow=x.value,document.removeEventListener("keydown",b,!0)});const h=e.computed(()=>_l(r.testGroups));async function w(){if(!d.value){d.value=!0;try{await eo()}finally{d.value=!1}}}function v(){l("close")}const C=io(),p=e.computed(()=>{if(c.value==="tests")return"Test Harness";if(c.value==="blobs"){const m=C.currentDocumentTitle;return m?`Blob Explorer: ${m}`:"Blob Explorer"}const k=C.currentDocumentTitle;return k?`Document Explorer: ${k}`:"Document Explorer"});return(k,m)=>(e.openBlock(),e.createElementBlock("div",i0,[e.createElementVNode("div",c0,[e.createElementVNode("div",u0,[e.createElementVNode("span",d0,e.toDisplayString(p.value),1)]),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded",title:"Close",onClick:v},[...m[3]||(m[3]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),e.createElementVNode("div",f0,[e.createElementVNode("div",m0,[e.createElementVNode("button",{class:e.normalizeClass(["p-2 rounded",c.value==="documents"?"bg-primary/10 text-primary":"hover:bg-muted text-muted-foreground"]),title:"Document Explorer",onClick:m[0]||(m[0]=y=>c.value="documents")},[...m[4]||(m[4]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createElementVNode("button",{class:e.normalizeClass(["p-2 rounded",c.value==="tests"?"bg-primary/10 text-primary":"hover:bg-muted text-muted-foreground"]),title:"Test Harness",onClick:m[1]||(m[1]=y=>c.value="tests")},[...m[5]||(m[5]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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),e.createElementVNode("button",{class:e.normalizeClass(["p-2 rounded",c.value==="blobs"?"bg-primary/10 text-primary":"hover:bg-muted text-muted-foreground"]),title:"Blob Explorer",onClick:m[2]||(m[2]=y=>c.value="blobs")},[...m[6]||(m[6]=[e.createElementVNode("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[e.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)]),e.createElementVNode("div",p0,[i.value?(e.openBlock(),e.createElementBlock("div",v0,[e.createElementVNode("div",g0,[m[7]||(m[7]=e.createElementVNode("h2",{class:"text-sm font-semibold text-destructive mb-2"}," Initialization Failed ",-1)),e.createElementVNode("p",h0,e.toDisplayString(i.value),1),e.createElementVNode("button",{class:"px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90",onClick:f}," Retry ")])])):u.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.withDirectives(e.createElementVNode("div",w0,[e.createVNode(pb)],512),[[e.vShow,c.value==="documents"]]),e.withDirectives(e.createElementVNode("div",k0,[e.createVNode(Bm)],512),[[e.vShow,c.value==="blobs"]]),e.withDirectives(e.createElementVNode("div",x0,[e.createVNode(s0,{tests:h.value,"on-tests-complete":w},null,8,["tests"])],512),[[e.vShow,c.value==="tests"]])],64)):(e.openBlock(),e.createElementBlock("div",y0,[e.createElementVNode("div",b0,[e.createVNode(Yl),m[8]||(m[8]=e.createElementVNode("p",{class:"mt-4 text-xs text-muted-foreground"}," Initializing dev tools... ",-1))])]))])])]))}}),Kt="#devtools",E0=e.defineComponent({__name:"DevToolsRoot",props:{testGroups:{},appName:{},buttonStyle:{},keyboardShortcut:{}},setup(t){const o=Ee.forScope("DevToolsRoot"),n=t,r=e.ref(!1),l=e.ref(!1),s=typeof navigator<"u"&&/mac/i.test(navigator.platform);function a(p){const k=p.toLowerCase().split("+");return s?k.map(m=>m==="cmd"||m==="meta"?"⌘":m==="ctrl"?"⌃":m==="shift"?"⇧":m==="alt"?"⌥":m.toUpperCase()).join(""):k.map(m=>m==="cmd"||m==="meta"||m==="ctrl"?"Ctrl":m==="shift"?"Shift":m==="alt"?"Alt":m.toUpperCase()).join("+")}const c=e.computed(()=>{if(n.keyboardShortcut)return a(n.keyboardShortcut)});function u(p,k){const m=k.toLowerCase().split("+"),y=m.pop(),g=new Set(m),N=g.has("cmd")||g.has("meta"),E=g.has("ctrl"),V=g.has("shift"),B=g.has("alt");if(s){if(N!==p.metaKey||E!==p.ctrlKey)return!1}else if((N||E)!==p.ctrlKey||p.metaKey)return!1;return!(V!==p.shiftKey||B!==p.altKey||p.key.toLowerCase()!==y)}function i(p){!n.keyboardShortcut||!l.value||u(p,n.keyboardShortcut)&&(p.preventDefault(),C())}let d=!1,f=null;function x(){!r.value&&l.value&&window.location.hash===Kt&&(r.value=!0)}async function b(){try{const p=await te.getClientAsync();l.value=p.isAuthenticated(),x(),l.value&&eo().catch(g=>{o.debug("Startup cleanup of leftover test documents failed",{err:g})});const k=()=>{l.value=!0,x()},m=()=>{l.value=!1},y=()=>{l.value=!1,v()};p.on("auth-success",k),p.on("auth-failed",m),p.on("auth:logout",y),f=()=>{p.off("auth-success",k),p.off("auth-failed",m),p.off("auth:logout",y)}}catch{l.value=!1}}function h(){const p=window.location.hash===Kt;r.value&&!p?(r.value=!1,d=!1):!r.value&&p&&l.value&&(r.value=!0)}e.onMounted(()=>{window.addEventListener("popstate",h),document.addEventListener("keydown",i),b()}),e.onUnmounted(()=>{window.removeEventListener("popstate",h),document.removeEventListener("keydown",i),f?.(),f=null});function w(){r.value||(r.value=!0,d=!0,history.pushState({primitiveDevtools:!0},"",Kt))}function v(){r.value&&(r.value=!1,window.location.hash===Kt&&(d?(d=!1,history.back()):history.replaceState(null,"",window.location.pathname+window.location.search)))}function C(){r.value?v():w()}return(p,k)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createBlock(Wl,{key:0,"is-open":r.value,"custom-style":n.buttonStyle,"shortcut-hint":c.value,onClick:C},null,8,["is-open","custom-style","shortcut-hint"])):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createBlock(C0,{key:1,"test-groups":n.testGroups,"app-name":n.appName,onClose:v},null,8,["test-groups","app-name"])):e.createCommentVNode("",!0)]))}});exports.DevToolsRoot=E0;exports.initializeJsBao=Vl;exports.jsBaoClientService=te;exports.setPrimitiveAppLogLevel=Nl;
|