primitive-app 2.1.7 → 2.2.0

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.
Files changed (28) hide show
  1. package/dist/chunk-rCbxF51U.cjs +1 -0
  2. package/dist/components/ui/checkbox/Checkbox.vue.d.ts +1 -1
  3. package/dist/components/ui/native-select/NativeSelectOptGroup.vue.d.ts +2 -2
  4. package/dist/components/ui/native-select/NativeSelectOption.vue.d.ts +2 -2
  5. package/dist/components/ui/separator/Separator.vue.d.ts +1 -1
  6. package/dist/components/ui/switch/Switch.vue.d.ts +1 -0
  7. package/dist/components/ui/switch/Switch.vue.d.ts.map +1 -1
  8. package/dist/components/ui/tabs/Tabs.vue.d.ts +2 -2
  9. package/dist/composables/useJsBaoDataLoader.d.ts.map +1 -1
  10. package/dist/dev-tools/document-explorer/DocumentExplorerIndex.vue.d.ts.map +1 -1
  11. package/dist/dev-tools/document-explorer/components/DocumentListPanel.vue.d.ts +3 -15
  12. package/dist/dev-tools/document-explorer/components/DocumentListPanel.vue.d.ts.map +1 -1
  13. package/dist/dev-tools/document-explorer/components/DocumentListSection.vue.d.ts +6 -9
  14. package/dist/dev-tools/document-explorer/components/DocumentListSection.vue.d.ts.map +1 -1
  15. package/dist/dev-tools/document-explorer/components/DocumentPropertiesPanel.vue.d.ts.map +1 -1
  16. package/dist/dev-tools/document-explorer/components/DocumentSharingSection.vue.d.ts.map +1 -1
  17. package/dist/dev-tools/document-explorer/index.d.ts +1 -1
  18. package/dist/dev-tools/document-explorer/index.d.ts.map +1 -1
  19. package/dist/dev-tools/document-explorer/types.d.ts +29 -25
  20. package/dist/dev-tools/document-explorer/types.d.ts.map +1 -1
  21. package/dist/dev-tools/vite-plugin/index.cjs +8 -10
  22. package/dist/dev-tools/vite-plugin/index.js +53 -117
  23. package/dist/index.cjs +7 -7
  24. package/dist/index.js +14182 -17282
  25. package/dist/primitive-app.css +2 -1
  26. package/package.json +30 -30
  27. package/dist/dev-tools/document-explorer/components/InvitationPropertiesPanel.vue.d.ts +0 -14
  28. package/dist/dev-tools/document-explorer/components/InvitationPropertiesPanel.vue.d.ts.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),El=require("js-bao-wss-client");require("yjs");const Ml=require("pinia"),se=require("@vueuse/core"),Bl=require("js-bao");function zl(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 xn=zl(e),xo={debug:0,info:1,warn:2,error:3,none:4},Nl="warn";class tn{#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 xo[o]>=xo[this.level]}getLevel(){return this.level}setLevel(o){o in xo&&(this.#e.level=o)}forScope(o){const n=o.trim(),r=n?[...this.scope,n]:this.scope;return new tn(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 mr={level:Nl},Sl=new tn(mr,[]),Ee=Sl.forScope("PrimitiveApp");function Vl(t){mr.level=t}const ke=Ee.forScope("JsBaoClientService");function kn(){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 Dl{client=null;clientInitializationPromise=null;config=null;initialize(o){ke.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&&(ke.error("❌ Configuration validation failed!"),ke.error("Missing or invalid fields:",n),ke.error("This will cause OAuth and API calls to fail."),ke.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 ke.debug("Getting client async"),this.clientInitializationPromise?this.clientInitializationPromise:(this.clientInitializationPromise=(async()=>{ke.debug("=== INITIALIZING CLIENT ==="),ke.debug("Configuration:",this.config);const o=await El.initializeClient(this.config);if(o.on("status",n=>{ke.debug("Client status changed:",n)}),o.on("error",n=>{ke.error("Client error:",n)}),this.client=o,kn()&&(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,ke.debug("Registered models on window:",Object.keys(n))}return ke.debug("=== CLIENT INITIALIZATION COMPLETE ==="),o})(),this.clientInitializationPromise)}setExternalClient(o){ke.debug("Setting external client from host app"),this.client=o,this.clientInitializationPromise=Promise.resolve(o)}async clearClient(){ke.debug("Clearing client singleton..."),this.client&&(this.client.disconnect().catch(o=>{ke.warn("Background disconnect failed (this is usually harmless):",o)}),this.client=null,this.clientInitializationPromise=null,kn()&&(window.__primitiveAppClient=void 0,window.__primitiveAppModels=void 0))}}const te=new Dl;function Al(t){te.initialize(t)}const ge=Ee.forScope("TestHarness"),pr="===TEST===";let it=[];async function Il(){await oo();const t=await te.getClientAsync(),o=t.documents.listOpen();if(o.length===0)return it=[],ge.debug("No host app documents to close before test run"),0;ge.debug("Closing host app documents before test run",{count:o.length});for(const n of o)try{await t.documents.close(n)}catch(r){ge.warn("Failed to close host app document",{docId:n,err:r})}return it=o,o.length}async function $l(){const t=await te.getClientAsync();if(it.length>0){ge.debug("Restoring host app documents after test run",{count:it.length,docIds:it});for(const o of it)try{await t.documents.open(o,{waitForLoad:"local"})}catch(n){ge.warn("Failed to restore host app document",{docId:o,err:n})}it=[]}else ge.debug("No host app documents to restore after test run")}async function Tl(){const t=await te.getClientAsync(),o=t.documents.listOpen();if(o.length>0){ge.warn("Found unexpected open document(s) at test start — closing for isolation",{count:o.length,docIds:o});for(const u of o)try{await t.documents.close(u)}catch(i){ge.error("Failed to close unexpected document before test",{docId:u,err:i})}}const n=Date.now(),r=Math.random().toString(36).substring(2,11),l=`${n}-${r}`,{metadata:s}=await t.documents.create({title:`${pr} ${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),ge.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){ge.error("Evict failed for test document",{docId:t.docId,err:o})}}async function oo(){try{const t=await te.getClientAsync();ge.debug("[deleteAllTestDocuments] Starting cleanup..."),ge.debug("[deleteAllTestDocuments] Syncing metadata..."),await t.syncMetadata({scope:"all"}),ge.debug("[deleteAllTestDocuments] Metadata synced, listing docs...");const o=await t.documents.list();ge.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(pr));if(n.length===0)return ge.debug("[deleteAllTestDocuments] No test documents found to clean up"),0;ge.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{ge.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++,ge.debug("[deleteAllTestDocuments] Deleted successfully",{documentId:l.documentId})}catch(s){ge.error("[deleteAllTestDocuments] Failed to delete test document",{documentId:l.documentId,title:l.title,err:s})}return ge.debug("[deleteAllTestDocuments] Cleanup complete",{evictedCount:r,totalTestDocs:n.length}),r}catch(t){return ge.error("[deleteAllTestDocuments] Top-level error during cleanup",{err:t}),0}}function Pl(t){return async o=>{const n=await Tl(),r={docId:n.docId};try{return await t(r,o)}finally{await _l(n)}}}function Ol(t){return t.flatMap(o=>o.tests.map(n=>({id:n.id,name:n.name,group:o.name,run:Pl(n.run)})))}const Rl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAAXNSR0IB2cksfwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAutQTFRFAAAAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzis4yvAAAAPl0Uk5TAAFXmEs8zv/GMQU5sP79nDMEJYXp5H0gABVn1s9gDAZBu/v5pzoCKpHy2+6IJhaN79lUD1/f63MSC1rX7PDQUQk7vPatITe2+LMkGI/8zEwIClXSgxQX48kQE2Lc3nyCHSeLwQP0ojaq+vGmMpDoy08N0eVv4WXmZNVCtTSaGw71UnEHd+1o50DKkp7CI8MsQ82ghFxm6mzadV5JNfe6wOLHky2bRag9GR+sdp+BvlNrpHS4lEijeRFhfkeHRii9eOBq1E0ilW0agNNWtz6/82Mchmmlrop63XK0uS7IocV/nVseRC/EezCxK9iJsik/WXCOl69Kq104Y+NFpAAACcNJREFUeJztm3tUE1cex+duZaDpEZouQlg4QV5pcStYKa8j2xpXoxVaA5ZUBVmFIIVltT5bFA2PdqFLNaAtHAUUkUfRbrUgio8CC1YQtRbtrlVQEOlZX8cH3aKLWndC5jcJMDOZSQKe7uH+kXwzmZn7mfv6/e69v0HYU07oVw6AiPToKQJYIKSBuP90AATE0/dphCUh7ow4ABIi9BP8sCYQro0sgANCPX26n7gNQl0jCOBMPPGPAw85EUd6RwhAQmR/mdSOVt3/JaU7Qt8/GQEAkR1C5+HHBE0/PAu/vBHq5NsUeAMEEhlC5ftedG3GMK9fhC3kActJCNUPK4DIE13pJnUQQke0B71QOxyUInRgGAGC0SWofBlR9vvgeCjBQjUFT7RnmAAUX0/XZdnlXK73l2ga0mWrQPXcuyR3AKFnVw88pbcn2jmowUumoDZoCjK7do8CcwN4OLsUk1IqRrtphl7Bwxi0ndQxCH1qVoBFY9FWUlouRiea6M9afsM+H3pI4s0Hu80GIFY0tIJeim6zlK5z+DPZoN9DzfVmAVAWrd4E2nHq/XK2c4lRofcGtBRs5ssZBodGwwAz/LZQd4w8dsHg+Vhy+16QjhEozUQAVYdrBuhwD5Xh7DX39LE6Cdp1/pm9bOcaAEhHuieIccri7HVMvf8GhZ1S9R2blWQDQBloA2jLZPW/uWavSRvGpkF/wFWHzzKbKBaAjW1Ut8Yy0HI+2WtSNloDUjr72yLeAJK/FFJGd6nz0X1M5zGnwMieFNBqlMpQCAwAC6Y8s4yUuFfUUT7WRS8Fn5RS4CEzt57mDCDIKT8JNbgBL75ppL9J3D3/zJNCUltOacBpWjENAJKg8XWkzkWPT3A1K7RJ8L64BVqS3x3xt0OeZShAsL84jpSy28FVDMM+96TKk1XCSOYWWdlsACDQLmwJ6BTHrHOmZq9Ju9BmypRMi8yvZwEQTur8DThXrtF1B/k7ubQJSVTJ4MXnftF0T/+2+gCiJZKPwOPCbbISjJ5uDU3Ok07dAu3pfvGGrinoAUgcen+Atm9tMca4iQ5j8hnjDx4F7r4qkioEPQB1QTupkgTieebNnkiiHLQdOldiyXUagD2R2m+psv4zM1X+wKQsz4emsDGRBuDvC/q/yhVB9cORvSaJc97RZlghZwR4FGbkuMst2W9TGABY9rfhzB/DKsN/LQC77rh8ftnkcVibfNYv33JhJT+AiQHENCQkOsQM3UH4nj1h2tXV1bwAluzUfMrif3rH1PwXX9Ga9pdaeQG8Uas9mOR/WG1K9jVtggSt2jubF8Cht+Cwd/qSK8ZmL09Ihwkrtn8GLwBRSRg1HdmGLzCqKUjy/nQTtGM2+UTcu2H5YipXJ+RyhH/+tW/ZUStpNcU7ML4A2NT/uFEu5YbKFp6FIAy1Am8QC+99ZT1oXgORQzkKAQNtO3XhLO7ZO1Tkw+QcP/DVdL0r+Y2EonsLW2B2gJeFWXBciXQu3VEC2nvmrLn6nijfoVhY9VBJOWn45CIOFYGK3RbCJbm7o+oGetX8bYF469pL0CEUCVvKDOXf3JrcQ0rZmuohaxTGGCOHfaXgTWGN6K+s023xEwUsDuFWuRsHO+FGWkP09YMqmF1IP1zbeZEpe0EjyocTXde5zKWZUhlpjgV7xv0BtN8d59O0kzXRrBC3AFLj0vO3aL1qo/0B1c+/TYGbz/mHE42hVr3yzWbQ8qR4BlNugkPSiqKgS8pcG8WDJuyhaTsKoK2qb33PuERnikek7Nr0GTXR9HpUp9cUlPFWK8Hnljb1PWDuraa5ZIG4zSHQctU58BVEfR88TiE17ju/mm01w1SfsMIrBW4v82j4V//QKI/++ByUfitKZR8pTHZKhRHCMmrHIG+C9+majK4XofQ9H8T908Bygjm84uTnU3UbZlHFlLQ8XbnS4MVmccsltm40rfxV3xwOlsJM84LQ89S+GZk8sxvX0587LADEvKGkTW/n0Cnj3dvcrjPfzEg0h9o0wX23uXO8yqxTM5/dE7Ti/Er2BenhAsAmdvb3htwvq7lfY97JadXbms/CSB6XmBfA7h7vS8wLkPaR5nPiqVGAUYBRgFGAUYBRgFGAUYBRgFGA/yuAUxOHFQAdkBsA+OErNff9Cd4A8nXH1zACdL7Y/5X0atsKrkvzPAEkstVx2sUUXTnrAXT9nlz3cC1Uc9w95Qdw9WExGd4kmxdBAxAwnprjKi7h9eYGCIxUQSQ2bvuYCg7QD2Borr4GCz6WrbLXOQSvcAcQxtsnw8KSn421biVtQAiHMuXhH2HZI2i5t6/B8B2uAOiTg2NgJc2pQCLVW+IcFMSiqtrvQkp8tkp6HWNPHAFe0K1jOhZarB6wijwkjOfz1zNgc0DmId/EHsLFCSDgSffkw6Te6hNxduC/Q+OIJA1HVdRKZJk/zrg5wA1AGXqjAko/SbDIfnAPpwvlSp88lzptbGUcSyyRQQBR1mslVERi1468oWMcfTCbQoxg6R93V6XTRqFxAViw7NN90Pbd7sam0pzCFM4nePYobH5g3W93MozO7ADyzR0y0J7lc+jrkjmg8UbOWWg62BeH6MOU2QAkP6auA+2YuY9pDZ0lolJyec5+0NE3O+jqgQUg3K+B4n/3OebwXtag1tDMHGr/V/3Ld0OHRkYAwfNu1L69vDGeZRXZQFjvgs2R0IcwRYYTV4AIEVVlQe8fZI2AMBRXLLI5Pp7aHFjVMmgXv2mq5lMXFqVNtzsDQVra7ZzCnoHhyGplXA5lnHP3nh0Q49btpvl89q7+sfnB31DBuCvW+LONY9wAMKymrIOq0Al1Qr32pAwLxbAZp/SMljIxkYqq9q1OMRx/wi28f2PsbLitzE58RmcgJKkvXI3VEflYig/A9tXShZuKONya4/sF6GqMgoyGwZJW9qhofQVhljUVsJe0KrOAUzAu5zcs0n8uuUe9vDC9omZoeOyxa9ch/FqWbfESx2AHHi+5OFxIpmIipT53B1WvT2Eftb0tT0kz8BaCUQAY1vqaAnw2x4TbpXoGIn3F2u1QPjG1bjw2MPi9Z4TWxVA+WxSaN42Uyg9+9+YxUkfHNH7MJxKb76teqvvR3qDHLnqu38AGfHgCbD7uVc618o0EwND6L3dRUQqy4nG96S8HuULpq90LGngGohvxup+ydNVxqsBju7ypSmk+kmlraOAzBwDRymMlK8DWykA4NuWUMvgtZgcgrGTenwfN3mzbozl3PTMAYJJj0R3tup9jayOMeNvSFACi6xdWTyZlUE5on7Exh8YDECm/qN8VGdduZfw9TALAhJmPl1vXepkS+WoaANEWigNNC7w1FcDk9D+qqu2uOamLAAAAAABJRU5ErkJggg==",Ll=["title"],Fl=["src"],Cn="primitive-devtools-anchor",En="primitive-devtools-btn-styles",Rt=40,Se=16,ql=3,jl=`
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./chunk-rCbxF51U.cjs`);let t=require(`vue`);t=e.i(t,1);let n=require(`js-bao-wss-client`);require(`yjs`);let r=require(`pinia`),i=require(`@vueuse/core`),a=require(`js-bao`);var o={debug:0,info:1,warn:2,error:3,none:4},s=`warn`,c=class e{#e;scope;constructor(e,t){this.#e=e,this.scope=t}get level(){return this.#e.level}set level(e){this.setLevel(e)}debug(...e){this.#t(`debug`,e)}log(...e){this.#t(`info`,e,`log`)}warn(...e){this.#t(`warn`,e)}error(...e){this.#t(`error`,e)}shouldLog(e){return o[e]>=o[this.level]}getLevel(){return this.level}setLevel(e){e in o&&(this.#e.level=e)}forScope(t){let n=t.trim(),r=n?[...this.scope,n]:this.scope;return new e(this.#e,r)}#t(e,t,n){if(!this.shouldLog(e))return;let r=n??(e===`info`?`log`:e),i=this.scope.length?`[${this.scope.join(`:`)}]`:void 0,a=i?[i,...t]:t;console[r](...a)}},l={level:s},u=new c(l,[]).forScope(`PrimitiveApp`);function d(e){l.level=e}var f=u.forScope(`JsBaoClientService`);function p(){if(typeof window>`u`)return!1;let e=window.location.hostname;return e===`localhost`||e===`127.0.0.1`||e===`[::1]`||e.endsWith(`.localhost`)||e.endsWith(`.local`)}var m=new class{client=null;clientInitializationPromise=null;config=null;initialize(e){f.debug(`Initializing with config:`,{appId:e.appId?`${e.appId.substring(0,10)}...`:`MISSING`,apiUrl:e.apiUrl,wsUrl:e.wsUrl,oauthRedirectUri:e.oauthRedirectUri});let t=[];(!e.appId||e.appId===`MISSING_APP_ID`)&&t.push(`appId`),(!e.apiUrl||e.apiUrl===`MISSING_API_URL`)&&t.push(`apiUrl`),(!e.wsUrl||e.wsUrl===`MISSING_WS_URL`)&&t.push(`wsUrl`),(!e.oauthRedirectUri||e.oauthRedirectUri===`MISSING_OAUTH_REDIRECT_URI`)&&t.push(`oauthRedirectUri`),t.length>0&&(f.error(`❌ Configuration validation failed!`),f.error(`Missing or invalid fields:`,t),f.error(`This will cause OAuth and API calls to fail.`),f.error(`Please check your .env file configuration.`)),this.config=e}getConfig(){return this.config}async getClientAsync(){if(!this.config)throw Error(`JsBaoClientService not initialized. Call initialize() first.`);return f.debug(`Getting client async`),this.clientInitializationPromise||=(async()=>{f.debug(`=== INITIALIZING CLIENT ===`),f.debug(`Configuration:`,this.config);let e=await(0,n.initializeClient)(this.config);if(e.on(`status`,e=>{f.debug(`Client status changed:`,e)}),e.on(`error`,e=>{f.error(`Client error:`,e)}),this.client=e,p()&&(window.__primitiveAppClient=e,this.config?.models&&Array.isArray(this.config.models))){let e={};for(let t of this.config.models){let n=t.schema?.name;if(n){let r=n.charAt(0).toUpperCase()+n.slice(1);e[r]=t}}window.__primitiveAppModels=e,f.debug(`Registered models on window:`,Object.keys(e))}return f.debug(`=== CLIENT INITIALIZATION COMPLETE ===`),e})(),this.clientInitializationPromise}setExternalClient(e){f.debug(`Setting external client from host app`),this.client=e,this.clientInitializationPromise=Promise.resolve(e)}async clearClient(){f.debug(`Clearing client singleton...`),this.client&&(this.client.disconnect().catch(e=>{f.warn(`Background disconnect failed (this is usually harmless):`,e)}),this.client=null,this.clientInitializationPromise=null,p()&&(window.__primitiveAppClient=void 0,window.__primitiveAppModels=void 0))}};function h(e){m.initialize(e)}var g=u.forScope(`TestHarness`),_=`===TEST===`,v=[];async function y(){await C();let e=await m.getClientAsync(),t=e.documents.listOpen();if(t.length===0)return v=[],g.debug(`No host app documents to close before test run`),0;g.debug(`Closing host app documents before test run`,{count:t.length});for(let n of t)try{await e.documents.close(n)}catch(e){g.warn(`Failed to close host app document`,{docId:n,err:e})}return v=t,t.length}async function b(){let e=await m.getClientAsync();if(v.length>0){g.debug(`Restoring host app documents after test run`,{count:v.length,docIds:v});for(let t of v)try{await e.documents.open(t,{waitForLoad:`local`})}catch(e){g.warn(`Failed to restore host app document`,{docId:t,err:e})}v=[]}else g.debug(`No host app documents to restore after test run`)}async function x(){let e=await m.getClientAsync(),t=e.documents.listOpen();if(t.length>0){g.warn(`Found unexpected open document(s) at test start — closing for isolation`,{count:t.length,docIds:t});for(let n of t)try{await e.documents.close(n)}catch(e){g.error(`Failed to close unexpected document before test`,{docId:n,err:e})}}let n=`${Date.now()}-${Math.random().toString(36).substring(2,11)}`,{metadata:r}=await e.documents.create({title:`${_} ${n}`,localOnly:!0}),i=r.documentId,{doc:a}=await e.documents.open(i,{waitForLoad:`local`,enableNetworkSync:!1});if(!a)throw Error(`[TestHarness] Failed to open test document`);return e.setDefaultDocumentId(i),g.debug(`Created test document`,{docId:i}),{client:e,docId:i,yDoc:a}}async function S(e){try{await e.client.documents.close(e.docId),await e.client.documents.evict(e.docId,{force:!0})}catch(t){g.error(`Evict failed for test document`,{docId:e.docId,err:t})}}async function C(){try{let e=await m.getClientAsync();g.debug(`[deleteAllTestDocuments] Starting cleanup...`),g.debug(`[deleteAllTestDocuments] Syncing metadata...`),await e.syncMetadata({scope:`all`}),g.debug(`[deleteAllTestDocuments] Metadata synced, listing docs...`);let t=await e.documents.list();g.debug(`[deleteAllTestDocuments] Total documents from list()`,{count:t.length,titles:t.map(e=>e.title??`(no title)`)});let n=t.filter(e=>e.title?.startsWith(_));if(n.length===0)return g.debug(`[deleteAllTestDocuments] No test documents found to clean up`),0;g.debug(`[deleteAllTestDocuments] Found test documents to delete`,{count:n.length,docIds:n.map(e=>e.documentId),titles:n.map(e=>e.title)});let r=0;for(let t of n)try{g.debug(`[deleteAllTestDocuments] Deleting test document...`,{documentId:t.documentId,title:t.title}),e.documents.isOpen(t.documentId)&&await e.documents.close(t.documentId),await e.documents.evict(t.documentId,{force:!0}),r++,g.debug(`[deleteAllTestDocuments] Deleted successfully`,{documentId:t.documentId})}catch(e){g.error(`[deleteAllTestDocuments] Failed to delete test document`,{documentId:t.documentId,title:t.title,err:e})}return g.debug(`[deleteAllTestDocuments] Cleanup complete`,{evictedCount:r,totalTestDocs:n.length}),r}catch(e){return g.error(`[deleteAllTestDocuments] Top-level error during cleanup`,{err:e}),0}}function w(e){return async t=>{let n=await x(),r={docId:n.docId};try{return await e(r,t)}finally{await S(n)}}}function T(e){return e.flatMap(e=>e.tests.map(t=>({id:t.id,name:t.name,group:e.name,run:w(t.run)})))}var E=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAAXNSR0IB2cksfwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAutQTFRFAAAAMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzis4yvAAAAPl0Uk5TAAFXmEs8zv/GMQU5sP79nDMEJYXp5H0gABVn1s9gDAZBu/v5pzoCKpHy2+6IJhaN79lUD1/f63MSC1rX7PDQUQk7vPatITe2+LMkGI/8zEwIClXSgxQX48kQE2Lc3nyCHSeLwQP0ojaq+vGmMpDoy08N0eVv4WXmZNVCtTSaGw71UnEHd+1o50DKkp7CI8MsQ82ghFxm6mzadV5JNfe6wOLHky2bRag9GR+sdp+BvlNrpHS4lEijeRFhfkeHRii9eOBq1E0ilW0agNNWtz6/82Mchmmlrop63XK0uS7IocV/nVseRC/EezCxK9iJsik/WXCOl69Kq104Y+NFpAAACcNJREFUeJztm3tUE1cex+duZaDpEZouQlg4QV5pcStYKa8j2xpXoxVaA5ZUBVmFIIVltT5bFA2PdqFLNaAtHAUUkUfRbrUgio8CC1YQtRbtrlVQEOlZX8cH3aKLWndC5jcJMDOZSQKe7uH+kXwzmZn7mfv6/e69v0HYU07oVw6AiPToKQJYIKSBuP90AATE0/dphCUh7ow4ABIi9BP8sCYQro0sgANCPX26n7gNQl0jCOBMPPGPAw85EUd6RwhAQmR/mdSOVt3/JaU7Qt8/GQEAkR1C5+HHBE0/PAu/vBHq5NsUeAMEEhlC5ftedG3GMK9fhC3kActJCNUPK4DIE13pJnUQQke0B71QOxyUInRgGAGC0SWofBlR9vvgeCjBQjUFT7RnmAAUX0/XZdnlXK73l2ga0mWrQPXcuyR3AKFnVw88pbcn2jmowUumoDZoCjK7do8CcwN4OLsUk1IqRrtphl7Bwxi0ndQxCH1qVoBFY9FWUlouRiea6M9afsM+H3pI4s0Hu80GIFY0tIJeim6zlK5z+DPZoN9DzfVmAVAWrd4E2nHq/XK2c4lRofcGtBRs5ssZBodGwwAz/LZQd4w8dsHg+Vhy+16QjhEozUQAVYdrBuhwD5Xh7DX39LE6Cdp1/pm9bOcaAEhHuieIccri7HVMvf8GhZ1S9R2blWQDQBloA2jLZPW/uWavSRvGpkF/wFWHzzKbKBaAjW1Ut8Yy0HI+2WtSNloDUjr72yLeAJK/FFJGd6nz0X1M5zGnwMieFNBqlMpQCAwAC6Y8s4yUuFfUUT7WRS8Fn5RS4CEzt57mDCDIKT8JNbgBL75ppL9J3D3/zJNCUltOacBpWjENAJKg8XWkzkWPT3A1K7RJ8L64BVqS3x3xt0OeZShAsL84jpSy28FVDMM+96TKk1XCSOYWWdlsACDQLmwJ6BTHrHOmZq9Ju9BmypRMi8yvZwEQTur8DThXrtF1B/k7ubQJSVTJ4MXnftF0T/+2+gCiJZKPwOPCbbISjJ5uDU3Ok07dAu3pfvGGrinoAUgcen+Atm9tMca4iQ5j8hnjDx4F7r4qkioEPQB1QTupkgTieebNnkiiHLQdOldiyXUagD2R2m+psv4zM1X+wKQsz4emsDGRBuDvC/q/yhVB9cORvSaJc97RZlghZwR4FGbkuMst2W9TGABY9rfhzB/DKsN/LQC77rh8ftnkcVibfNYv33JhJT+AiQHENCQkOsQM3UH4nj1h2tXV1bwAluzUfMrif3rH1PwXX9Ga9pdaeQG8Uas9mOR/WG1K9jVtggSt2jubF8Cht+Cwd/qSK8ZmL09Ihwkrtn8GLwBRSRg1HdmGLzCqKUjy/nQTtGM2+UTcu2H5YipXJ+RyhH/+tW/ZUStpNcU7ML4A2NT/uFEu5YbKFp6FIAy1Am8QC+99ZT1oXgORQzkKAQNtO3XhLO7ZO1Tkw+QcP/DVdL0r+Y2EonsLW2B2gJeFWXBciXQu3VEC2nvmrLn6nijfoVhY9VBJOWn45CIOFYGK3RbCJbm7o+oGetX8bYF469pL0CEUCVvKDOXf3JrcQ0rZmuohaxTGGCOHfaXgTWGN6K+s023xEwUsDuFWuRsHO+FGWkP09YMqmF1IP1zbeZEpe0EjyocTXde5zKWZUhlpjgV7xv0BtN8d59O0kzXRrBC3AFLj0vO3aL1qo/0B1c+/TYGbz/mHE42hVr3yzWbQ8qR4BlNugkPSiqKgS8pcG8WDJuyhaTsKoK2qb33PuERnikek7Nr0GTXR9HpUp9cUlPFWK8Hnljb1PWDuraa5ZIG4zSHQctU58BVEfR88TiE17ju/mm01w1SfsMIrBW4v82j4V//QKI/++ByUfitKZR8pTHZKhRHCMmrHIG+C9+majK4XofQ9H8T908Bygjm84uTnU3UbZlHFlLQ8XbnS4MVmccsltm40rfxV3xwOlsJM84LQ89S+GZk8sxvX0587LADEvKGkTW/n0Cnj3dvcrjPfzEg0h9o0wX23uXO8yqxTM5/dE7Ti/Er2BenhAsAmdvb3htwvq7lfY97JadXbms/CSB6XmBfA7h7vS8wLkPaR5nPiqVGAUYBRgFGAUYBRgFGAUYBRgFGA/yuAUxOHFQAdkBsA+OErNff9Cd4A8nXH1zACdL7Y/5X0atsKrkvzPAEkstVx2sUUXTnrAXT9nlz3cC1Uc9w95Qdw9WExGd4kmxdBAxAwnprjKi7h9eYGCIxUQSQ2bvuYCg7QD2Borr4GCz6WrbLXOQSvcAcQxtsnw8KSn421biVtQAiHMuXhH2HZI2i5t6/B8B2uAOiTg2NgJc2pQCLVW+IcFMSiqtrvQkp8tkp6HWNPHAFe0K1jOhZarB6wijwkjOfz1zNgc0DmId/EHsLFCSDgSffkw6Te6hNxduC/Q+OIJA1HVdRKZJk/zrg5wA1AGXqjAko/SbDIfnAPpwvlSp88lzptbGUcSyyRQQBR1mslVERi1468oWMcfTCbQoxg6R93V6XTRqFxAViw7NN90Pbd7sam0pzCFM4nePYobH5g3W93MozO7ADyzR0y0J7lc+jrkjmg8UbOWWg62BeH6MOU2QAkP6auA+2YuY9pDZ0lolJyec5+0NE3O+jqgQUg3K+B4n/3OebwXtag1tDMHGr/V/3Ld0OHRkYAwfNu1L69vDGeZRXZQFjvgs2R0IcwRYYTV4AIEVVlQe8fZI2AMBRXLLI5Pp7aHFjVMmgXv2mq5lMXFqVNtzsDQVra7ZzCnoHhyGplXA5lnHP3nh0Q49btpvl89q7+sfnB31DBuCvW+LONY9wAMKymrIOq0Al1Qr32pAwLxbAZp/SMljIxkYqq9q1OMRx/wi28f2PsbLitzE58RmcgJKkvXI3VEflYig/A9tXShZuKONya4/sF6GqMgoyGwZJW9qhofQVhljUVsJe0KrOAUzAu5zcs0n8uuUe9vDC9omZoeOyxa9ch/FqWbfESx2AHHi+5OFxIpmIipT53B1WvT2Eftb0tT0kz8BaCUQAY1vqaAnw2x4TbpXoGIn3F2u1QPjG1bjw2MPi9Z4TWxVA+WxSaN42Uyg9+9+YxUkfHNH7MJxKb76teqvvR3qDHLnqu38AGfHgCbD7uVc618o0EwND6L3dRUQqy4nG96S8HuULpq90LGngGohvxup+ydNVxqsBju7ypSmk+kmlraOAzBwDRymMlK8DWykA4NuWUMvgtZgcgrGTenwfN3mzbozl3PTMAYJJj0R3tup9jayOMeNvSFACi6xdWTyZlUE5on7Exh8YDECm/qN8VGdduZfw9TALAhJmPl1vXepkS+WoaANEWigNNC7w1FcDk9D+qqu2uOamLAAAAAABJRU5ErkJggg==`,D=[`title`],O=[`src`],k=`primitive-devtools-anchor`,A=`primitive-devtools-btn-styles`,j=40,M=16,N=3,ee=`
2
2
  .pdt-btn {
3
3
  position: fixed;
4
4
  z-index: 2147483645;
@@ -40,12 +40,12 @@
40
40
  user-select: none;
41
41
  display: block;
42
42
  }
43
- `,Ul=e.defineComponent({__name:"DevToolsFloatingButton",props:{isOpen:{type:Boolean},shortcutHint:{}},emits:["click"],setup(t,{emit:o}){const n=t,r=o;function l(){try{const g=localStorage.getItem(Cn);if(g){const{edge:f,offset:h}=JSON.parse(g);if(["top","right","bottom","left"].includes(f)&&typeof h=="number")return{edge:f,offset:Math.max(.01,Math.min(.99,h))}}}catch{}return{edge:"bottom",offset:1}}function s(g){try{localStorage.setItem(Cn,JSON.stringify(g))}catch{}}const a=e.ref(l()),c=e.ref(!1),u=e.ref(!1),i=e.computed(()=>{const{edge:g}=a.value,f=window.innerWidth,h=window.innerHeight,y=Rt/2,M=`${(g==="top"||g==="bottom"?(V=>Math.max((Se+y)/f,Math.min((f-Se-y)/f,V)))(a.value.offset):(V=>Math.max((Se+y)/h,Math.min((h-Se-y)/h,V)))(a.value.offset))*100}%`,S=`${y}px`,D={width:`${Rt}px`,height:`${Rt}px`,visibility:c.value?"visible":"hidden"};switch(g){case"bottom":return{...D,bottom:`${Se}px`,left:`calc(${M} - ${S})`};case"top":return{...D,top:`${Se}px`,left:`calc(${M} - ${S})`};case"right":return{...D,right:`${Se}px`,top:`calc(${M} - ${S})`};case"left":return{...D,left:`${Se}px`,top:`calc(${M} - ${S})`}}}),d=e.computed(()=>{const f=`${n.isOpen?"Close":"Open"} Primitive Dev Tools`;return n.shortcutHint?`${f} (${n.shortcutHint})`:f});let m=0,k=0,w=!1;function b(g,f){const h=window.innerWidth,y=window.innerHeight,B=f,E=y-f,N=g,M=h-g,S=Math.min(B,E,N,M),D=Rt/2,V=G=>Math.max((Se+D)/h,Math.min((h-Se-D)/h,G)),R=G=>Math.max((Se+D)/y,Math.min((y-Se-D)/y,G));return S===E?{edge:"bottom",offset:V(g/h)}:S===B?{edge:"top",offset:V(g/h)}:S===M?{edge:"right",offset:R(f/y)}:{edge:"left",offset:R(f/y)}}function x(g){!w&&Math.hypot(g.clientX-m,g.clientY-k)>ql&&(w=!0,u.value=!0),w&&(a.value=b(g.clientX,g.clientY))}function p(){window.removeEventListener("pointermove",x,!0),window.removeEventListener("pointerup",C,!0),window.removeEventListener("pointercancel",p,!0),u.value=!1,w=!1}function C(){const g=u.value;p(),g?s(a.value):r("click")}function v(g){g.button===0&&(g.preventDefault(),m=g.clientX,k=g.clientY,w=!1,u.value=!1,window.addEventListener("pointermove",x,!0),window.addEventListener("pointerup",C,!0),window.addEventListener("pointercancel",p,!0))}return e.onMounted(()=>{if(c.value=!0,!document.getElementById(En)){const g=document.createElement("style");g.id=En,g.textContent=jl,document.head.appendChild(g)}}),e.onUnmounted(()=>{p()}),(g,f)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["pdt-btn",{"pdt-btn--dragging":u.value}]),style:e.normalizeStyle(i.value),title:d.value,onPointerdown:v},[e.createElementVNode("img",{src:e.unref(Rl),class:"pdt-logo",alt:"",draggable:"false"},null,8,Fl)],46,Ll))}}),Hl="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==",Wl=["src","width","height"],Gl=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(Hl),alt:"Primitive Logo",width:o.size,height:o.size,class:"animate-spin",style:{"transform-origin":"center center"}},null,8,Wl)],2))}});let Ro=1;var Kl=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:Ro++,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(Yl(u)&&!u.ok){l=!1;const d=typeof o.error=="function"?await o.error(`HTTP error! status: ${u.status}`):o.error,m=typeof o.description=="function"?await o.description(`HTTP error! status: ${u.status}`):o.description,w=typeof d=="object"&&!e.isVNode(d)?d:{message:d||"",id:n||""};this.create({id:n,type:"error",description:m,...w})}else if(u instanceof Error){l=!1;const d=typeof o.error=="function"?await o.error(u):o.error,m=typeof o.description=="function"?await o.description(u):o.description,w=typeof d=="object"&&!e.isVNode(d)?d:{message:d||"",id:n||""};this.create({id:n,type:"error",description:m,...w})}else if(o.success!==void 0){l=!1;const d=typeof o.success=="function"?await o.success(u):o.success,m=typeof o.description=="function"?await o.description(u):o.description,w=typeof d=="object"&&!e.isVNode(d)?d:{message:d||"",id:n||""};this.create({id:n,type:"success",description:m,...w})}}).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,k=typeof i=="object"&&!e.isVNode(i)?i:{message:i||"",id:n||""};this.create({id:n,type:"error",description:d,...k})}}).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||Ro++,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 Me=new Kl;function Ql(t,o){const n=o?.id||Ro++;return Me.create({message:t,id:n,type:"default",...o}),n}const Yl=t=>t&&typeof t=="object"&&"ok"in t&&typeof t.ok=="boolean"&&"status"in t&&typeof t.status=="number",Xl=Ql,Zl=()=>Me.toasts,Jl=()=>Me.getActiveToasts(),on=Object.assign(Xl,{success:Me.success,info:Me.info,warning:Me.warning,error:Me.error,custom:Me.custom,message:Me.message,promise:Me.promise,dismiss:Me.dismiss,loading:Me.loading},{getHistory:Zl,getToasts:Jl});function Lt(t){return t.label!==void 0}const ea=3,vr="24px",gr="16px",Mn=4e3,ta=356,oa=14,na=45,hr=200;function ra(){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 Xe(...t){return t.filter(Boolean).join(" ")}function la(t){const[o,n]=t.split("-"),r=[];return o&&r.push(o),n&&r.push(n),r}function aa(t,o){const n={};return[t,o].forEach((r,l)=>{const s=l===1,a=s?"--mobile-offset":"--offset",c=s?gr:vr;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 sa=["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"],ia=["aria-label","data-disabled","data-close-button-position"];var ca=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),m=e.ref(0),k=e.ref(0),w=e.ref(n.toast.duration||n.duration||Mn),b=e.ref(null),x=e.ref(null),p=e.computed(()=>n.index===0),C=e.computed(()=>n.index+1<=n.visibleToasts),v=e.computed(()=>n.toast.type),g=e.computed(()=>n.toast.dismissible!==!1),f=e.computed(()=>n.toast.class||""),h=e.computed(()=>n.descriptionClass||""),y=e.computed(()=>{const z=n.toast.position||n.position,A=n.heights.filter(j=>j.position===z).findIndex(j=>j.toastId===n.toast.id);return A>=0?A:0}),B=e.computed(()=>{const z=n.toast.position||n.position;return n.heights.filter(A=>A.position===z).reduce((A,j,ne)=>ne>=y.value?A:A+j.height,0)}),E=e.computed(()=>y.value*n.gap+B.value||0),N=e.computed(()=>n.toast.closeButton??n.closeButton),M=e.computed(()=>n.toast.duration||n.duration||Mn),S=e.ref(0),D=e.ref(0),V=e.ref(null),R=e.computed(()=>n.position.split("-")),G=e.computed(()=>R.value[0]),H=e.computed(()=>R.value[1]),ee=e.computed(()=>typeof n.toast.title!="string"),L=e.computed(()=>typeof n.toast.description!="string"),{isDocumentHidden:ie}=ra(),U=e.computed(()=>v.value&&v.value==="loading");e.onMounted(()=>{a.value=!0,w.value=M.value}),e.watchEffect(async()=>{if(!a.value||!x.value)return;await e.nextTick();const z=x.value,$=z.style.height;z.style.height="auto";const A=z.getBoundingClientRect().height;z.style.height=$,k.value=A,r("update:height",{toastId:n.toast.id,height:A,position:n.toast.position||n.position})});function O(){c.value=!0,m.value=E.value,setTimeout(()=>{r("removeToast",n.toast)},hr)}function K(){if(U.value||!g.value)return{};O(),n.toast.onDismiss?.(n.toast)}function Z(z){z.button!==2&&(U.value||!g.value||(b.value=new Date,m.value=E.value,z.target.setPointerCapture(z.pointerId),z.target.tagName!=="BUTTON"&&(u.value=!0,V.value={x:z.clientX,y:z.clientY})))}function W(){if(i.value||!g.value)return;V.value=null;const z=Number(x.value?.style.getPropertyValue("--swipe-amount-x").replace("px","")||0),$=Number(x.value?.style.getPropertyValue("--swipe-amount-y").replace("px","")||0),A=new Date().getTime()-(b.value?.getTime()||0),j=l.value==="x"?z:$,ne=Math.abs(j)/A;if(Math.abs(j)>=na||ne>.11){m.value=E.value,n.toast.onDismiss?.(n.toast),l.value==="x"?s.value=z>0?"right":"left":s.value=$>0?"down":"up",O(),i.value=!0;return}else x.value?.style.setProperty("--swipe-amount-x","0px"),x.value?.style.setProperty("--swipe-amount-y","0px");d.value=!1,u.value=!1,l.value=null}function me(z){if(!V.value||!g.value||(window?.getSelection()?.toString()?.length??!1))return;const A=z.clientY-V.value.y,j=z.clientX-V.value.x,ne=n.swipeDirections??la(n.position);!l.value&&(Math.abs(j)>1||Math.abs(A)>1)&&(l.value=Math.abs(j)>Math.abs(A)?"x":"y");let re={x:0,y:0};const xe=be=>1/(1.5+Math.abs(be)/20);if(l.value==="y"){if(ne.includes("top")||ne.includes("bottom"))if(ne.includes("top")&&A<0||ne.includes("bottom")&&A>0)re.y=A;else{const be=A*xe(A);re.y=Math.abs(be)<Math.abs(A)?be:A}}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*xe(j);re.x=Math.abs(be)<Math.abs(j)?be:j}(Math.abs(re.x)>0||Math.abs(re.y)>0)&&(d.value=!0),x.value?.style.setProperty("--swipe-amount-x",`${re.x}px`),x.value?.style.setProperty("--swipe-amount-y",`${re.y}px`)}e.onMounted(()=>{if(a.value=!0,!x.value)return;const z=x.value.getBoundingClientRect().height;k.value=z;const $=[{toastId:n.toast.id,height:z,position:n.toast.position},...n.heights];r("update:heights",$)}),e.onBeforeUnmount(()=>{x.value&&r("removeToast",n.toast)}),e.watchEffect(z=>{if(n.toast.promise&&v.value==="loading"||n.toast.duration===1/0||n.toast.type==="loading")return;let $;const A=()=>{if(D.value<S.value){const ne=new Date().getTime()-S.value;w.value=w.value-ne}D.value=new Date().getTime()},j=()=>{w.value!==1/0&&(S.value=new Date().getTime(),$=setTimeout(()=>{n.toast.onAutoClose?.(n.toast),O()},w.value))};n.expanded||n.interacting||ie.value?A():j(),z(()=>{clearTimeout($)})}),e.watch(()=>n.toast.delete,z=>{z!==void 0&&z&&(O(),n.toast.onDismiss?.(n.toast))},{deep:!0});function le(){u.value=!1,l.value=null,V.value=null}return(z,$)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"0",ref_key:"toastRef",ref:x,class:e.normalizeClass(e.unref(Xe)(n.class,f.value,z.classes?.toast,z.toast.classes?.toast,z.classes?.[v.value],z.toast?.classes?.[v.value])),"data-sonner-toast":"","data-rich-colors":z.toast.richColors??z.defaultRichColors,"data-styled":!(z.toast.component||z.toast?.unstyled||z.unstyled),"data-mounted":a.value,"data-promise":!!z.toast.promise,"data-swiped":d.value,"data-removed":c.value,"data-visible":C.value,"data-y-position":G.value,"data-x-position":H.value,"data-index":z.index,"data-front":p.value,"data-swiping":u.value,"data-dismissible":g.value,"data-type":v.value,"data-invert":z.toast.invert||z.invert,"data-swipe-out":i.value,"data-swipe-direction":s.value,"data-expanded":!!(z.expanded||z.expandByDefault&&a.value),"data-testid":z.toast.testId,style:e.normalizeStyle({"--index":z.index,"--toasts-before":z.index,"--z-index":z.toasts.length-z.index,"--offset":`${c.value?m.value:E.value}px`,"--initial-height":z.expandByDefault?"auto":`${k.value}px`,...z.style,...n.toast.style}),onDragend:le,onPointerdown:Z,onPointerup:W,onPointermove:me},[N.value&&!z.toast.component&&v.value!=="loading"?(e.openBlock(),e.createElementBlock("button",{key:0,"aria-label":z.closeButtonAriaLabel||"Close toast","data-disabled":U.value,"data-close-button":"true","data-close-button-position":z.closeButtonPosition,class:e.normalizeClass(e.unref(Xe)(z.classes?.closeButton,z.toast?.classes?.closeButton)),onClick:K},[z.icons?.close?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(z.icons?.close),{key:0})):e.renderSlot(z.$slots,"close-icon",{key:1})],10,ia)):e.createCommentVNode("v-if",!0),z.toast.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(z.toast.component),e.mergeProps({key:1},z.toast.componentProps,{onCloseToast:K,isPaused:z.$props.expanded||z.$props.interacting||e.unref(ie)}),null,16,["isPaused"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[v.value!=="default"||z.toast.icon||z.toast.promise?(e.openBlock(),e.createElementBlock("div",{key:0,"data-icon":"",class:e.normalizeClass(e.unref(Xe)(z.classes?.icon,z.toast?.classes?.icon))},[z.toast.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(z.toast.icon),{key:0})):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[v.value==="loading"?e.renderSlot(z.$slots,"loading-icon",{key:0}):v.value==="success"?e.renderSlot(z.$slots,"success-icon",{key:1}):v.value==="error"?e.renderSlot(z.$slots,"error-icon",{key:2}):v.value==="warning"?e.renderSlot(z.$slots,"warning-icon",{key:3}):v.value==="info"?e.renderSlot(z.$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(Xe)(z.classes?.content,z.toast?.classes?.content))},[e.createElementVNode("div",{"data-title":"",class:e.normalizeClass(e.unref(Xe)(z.classes?.title,z.toast.classes?.title))},[ee.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(z.toast.title),e.normalizeProps(e.mergeProps({key:0},z.toast.componentProps)),null,16)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(z.toast.title),1)],64))],2),z.toast.description?(e.openBlock(),e.createElementBlock("div",{key:0,"data-description":"",class:e.normalizeClass(e.unref(Xe)(z.descriptionClass,h.value,z.classes?.description,z.toast.classes?.description))},[L.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(z.toast.description),e.normalizeProps(e.mergeProps({key:0},z.toast.componentProps)),null,16)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(z.toast.description),1)],64))],2)):e.createCommentVNode("v-if",!0)],2),z.toast.cancel?(e.openBlock(),e.createElementBlock("button",{key:1,style:e.normalizeStyle(z.toast.cancelButtonStyle||z.cancelButtonStyle),class:e.normalizeClass(e.unref(Xe)(z.classes?.cancelButton,z.toast.classes?.cancelButton)),"data-button":"","data-cancel":"",onClick:$[0]||($[0]=A=>{e.unref(Lt)(z.toast.cancel)&&g.value&&(z.toast.cancel.onClick?.(A),O())})},e.toDisplayString(e.unref(Lt)(z.toast.cancel)?z.toast.cancel?.label:z.toast.cancel),7)):e.createCommentVNode("v-if",!0),z.toast.action?(e.openBlock(),e.createElementBlock("button",{key:2,style:e.normalizeStyle(z.toast.actionButtonStyle||z.actionButtonStyle),class:e.normalizeClass(e.unref(Xe)(z.classes?.actionButton,z.toast.classes?.actionButton)),"data-button":"","data-action":"",onClick:$[1]||($[1]=A=>{e.unref(Lt)(z.toast.action)&&(z.toast.action.onClick?.(A),!A.defaultPrevented&&O())})},e.toDisplayString(e.unref(Lt)(z.toast.action)?z.toast.action?.label:z.toast.action),7)):e.createCommentVNode("v-if",!0)],64))],46,sa))}}),ua=ca,Pt=(t,o)=>{const n=t.__vccOpts||t;for(const[r,l]of o)n[r]=l;return n};const da={},fa={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 ma(t,o){return e.openBlock(),e.createElementBlock("svg",fa,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 pa=Pt(da,[["render",ma]]);const va=["data-visible"],ga={class:"sonner-spinner"};var ha=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",ga,[(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,va))}}),ya=ha;const ba={},wa={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function xa(t,o){return e.openBlock(),e.createElementBlock("svg",wa,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 ka=Pt(ba,[["render",xa]]);const Ca={},Ea={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function Ma(t,o){return e.openBlock(),e.createElementBlock("svg",Ea,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 Ba=Pt(Ca,[["render",Ma]]);const za={},Na={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",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:"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 Va=Pt(za,[["render",Sa]]);const Da={},Aa={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"};function Ia(t,o){return e.openBlock(),e.createElementBlock("svg",Aa,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 $a=Pt(Da,[["render",Ia]]);const Ta=["aria-label"],_a=["data-sonner-theme","dir","data-theme","data-rich-colors","data-y-position","data-x-position"],Pa=typeof window<"u"&&typeof document<"u";function Oa(){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 Ra=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:oa},visibleToasts:{default:ea},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:""},style:{},offset:{default:vr},mobileOffset:{default:gr},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(M=>M.toasterId===o.id):r.value.filter(M=>!M.toasterId));function s(M,S){return l.value.filter(D=>!D.position&&S===0||D.position===M)}const a=e.computed(()=>{const M=l.value.filter(S=>S.position).map(S=>S.position);return M.length>0?Array.from(new Set([o.position].concat(M))):[o.position]}),c=e.computed(()=>{const M={};return a.value.forEach(S=>{M[S]=r.value.filter(D=>D.position===S)}),M}),u=e.ref([]),i=e.ref({}),d=e.ref(!1);e.watchEffect(()=>{a.value.forEach(M=>{M in i.value||(i.value[M]=!1)})});const m=e.ref(o.theme!=="system"?o.theme:typeof window<"u"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),k=e.ref(null),w=e.ref(null),b=e.ref(!1),x=o.hotkey.join("+").replace(/Key/g,"").replace(/Digit/g,"");function p(M){r.value.find(S=>S.id===M.id)?.delete||Me.dismiss(M.id),r.value=r.value.filter(({id:S})=>S!==M.id),setTimeout(()=>{r.value.find(S=>S.id===M.id)||(u.value=u.value.filter(S=>S.toastId!==M.id))},hr+50)}function C(M){b.value&&!M.currentTarget?.contains?.(M.relatedTarget)&&(b.value=!1,w.value&&(w.value.focus({preventScroll:!0}),w.value=null))}function v(M){M.target instanceof HTMLElement&&M.target.dataset.dismissible==="false"||b.value||(b.value=!0,w.value=M.relatedTarget)}function g(M){M.target&&M.target instanceof HTMLElement&&M.target.dataset.dismissible==="false"||(d.value=!0)}e.watchEffect(M=>{const S=Me.subscribe(D=>{if(D.dismiss){requestAnimationFrame(()=>{r.value=r.value.map(V=>V.id===D.id?{...V,delete:!0}:V)});return}e.nextTick(()=>{const V=r.value.findIndex(R=>R.id===D.id);V!==-1?r.value=[...r.value.slice(0,V),{...r.value[V],...D},...r.value.slice(V+1)]:r.value=[D,...r.value]})});M(S)}),e.watchEffect(M=>{if(typeof window>"u")return;if(o.theme!=="system"){m.value=o.theme;return}const S=window.matchMedia("(prefers-color-scheme: dark)"),D=R=>{m.value=R?"dark":"light"};D(S.matches);const V=R=>{D(R.matches)};try{S.addEventListener("change",V)}catch{S.addListener(V)}M(()=>{try{S.removeEventListener("change",V)}catch{S.removeListener(V)}})}),e.watchEffect(()=>{k.value&&w.value&&(w.value.focus({preventScroll:!0}),w.value=null,b.value=!1)}),e.watchEffect(()=>{r.value.length<=1&&Object.keys(i.value).forEach(M=>{i.value[M]=!1})}),e.watchEffect(M=>{function S(D){const V=o.hotkey.every(H=>D[H]||D.code===H),R=Array.isArray(k.value)?k.value[0]:k.value;V&&(a.value.forEach(H=>{i.value[H]=!0}),R?.focus());const G=document.activeElement===k.value||R?.contains(document.activeElement);D.code==="Escape"&&G&&a.value.forEach(H=>{i.value[H]=!1})}Pa&&(document.addEventListener("keydown",S),M(()=>{document.removeEventListener("keydown",S)}))});function f(M){const S=M.currentTarget,D=S.getAttribute("data-y-position")+"-"+S.getAttribute("data-x-position");i.value[D]=!0}function h(M){if(!d.value){const S=M.currentTarget,D=S.getAttribute("data-y-position")+"-"+S.getAttribute("data-x-position");i.value[D]=!1}}function y(){Object.keys(i.value).forEach(M=>{i.value[M]=!1})}function B(){d.value=!1}function E(M){u.value=M}function N(M){const S=u.value.findIndex(D=>D.toastId===M.toastId);if(S!==-1)u.value[S]=M;else{const D=u.value.findIndex(V=>V.position===M.position);D!==-1?u.value.splice(D,0,M):u.value.unshift(M)}}return(M,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createCommentVNode(" Remove item from normal navigation flow, only available via hotkey "),e.createElementVNode("section",{"aria-label":`${M.containerAriaLabel} ${e.unref(x)}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(D,V)=>(e.openBlock(),e.createElementBlock("ol",e.mergeProps({key:D,ref_for:!0,ref_key:"listRef",ref:k,"data-sonner-toaster":"","data-sonner-theme":m.value,class:o.class,dir:M.dir==="auto"?Oa():M.dir,tabIndex:-1,"data-theme":M.theme,"data-rich-colors":M.richColors,"data-y-position":D.split("-")[0],"data-x-position":D.split("-")[1],style:{"--front-toast-height":`${u.value[0]?.height||0}px`,"--width":`${e.unref(ta)}px`,"--gap":`${M.gap}px`,...M.style,...e.unref(n).style,...e.unref(aa)(M.offset,M.mobileOffset)}},{ref_for:!0},M.$attrs,{onBlur:C,onFocus:v,onMouseenter:f,onMousemove:f,onMouseleave:h,onDragend:y,onPointerdown:g,onPointerup:B}),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s(D,V),(R,G)=>(e.openBlock(),e.createBlock(ua,{key:R.id,heights:u.value,icons:M.icons,index:G,toast:R,defaultRichColors:M.richColors,duration:M.toastOptions?.duration??M.duration,class:e.normalizeClass(M.toastOptions?.class??""),descriptionClass:M.toastOptions?.descriptionClass,invert:M.invert,visibleToasts:M.visibleToasts,closeButton:M.toastOptions?.closeButton??M.closeButton,interacting:d.value,position:D,closeButtonPosition:M.toastOptions?.closeButtonPosition??M.closeButtonPosition,style:e.normalizeStyle(M.toastOptions?.style),unstyled:M.toastOptions?.unstyled,classes:M.toastOptions?.classes,cancelButtonStyle:M.toastOptions?.cancelButtonStyle,actionButtonStyle:M.toastOptions?.actionButtonStyle,"close-button-aria-label":M.toastOptions?.closeButtonAriaLabel,toasts:c.value[D],expandByDefault:M.expand,gap:M.gap,expanded:i.value[D]||!1,swipeDirections:o.swipeDirections,"onUpdate:heights":E,"onUpdate:height":N,onRemoveToast:p},{"close-icon":e.withCtx(()=>[e.renderSlot(M.$slots,"close-icon",{},()=>[e.createVNode(pa)])]),"loading-icon":e.withCtx(()=>[e.renderSlot(M.$slots,"loading-icon",{},()=>[e.createVNode(ya,{visible:R.type==="loading"},null,8,["visible"])])]),"success-icon":e.withCtx(()=>[e.renderSlot(M.$slots,"success-icon",{},()=>[e.createVNode(ka)])]),"error-icon":e.withCtx(()=>[e.renderSlot(M.$slots,"error-icon",{},()=>[e.createVNode($a)])]),"warning-icon":e.withCtx(()=>[e.renderSlot(M.$slots,"warning-icon",{},()=>[e.createVNode(Va)])]),"info-icon":e.withCtx(()=>[e.renderSlot(M.$slots,"info-icon",{},()=>[e.createVNode(Ba)])]),_: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,_a))),128))],8,Ta)],2112))}}),yr=Ra;const ko="documentExplorer:selectedDocId",Co="documentExplorer:selectedModel",Eo="documentExplorer:showHiddenFields",Ct="devtools:rightPanelCollapsed",br="primitive-doc-explorer-page-size",wr="primitive-doc-explorer-model-view-state",uo=Ml.defineStore("documentExplorer",()=>{const t=Ee.forScope("documentExplorerStore"),o=x=>{try{return typeof window<"u"?localStorage.getItem(x):null}catch{return null}},n=(x,p)=>{try{typeof window<"u"&&(p!==null?localStorage.setItem(x,p):localStorage.removeItem(x))}catch{}},r=e.ref(o(Eo)==="true");e.watch(r,x=>{n(Eo,String(x))});const l=e.ref(o(ko)),s=e.ref(o(Co)),a=e.ref(null),c=e.ref(!1);e.watch(l,x=>{n(ko,x)},{immediate:!1}),e.watch(s,x=>{n(Co,x)},{immediate:!1});const u=e.computed(()=>l.value?{documentId:l.value}:null),i=async x=>{const p=t.forScope("openDocument");if(l.value===x&&c.value){p.debug("Document already open",{documentId:x});return}try{p.debug("Opening document",{documentId:x}),c.value=!1;const C=await te.getClientAsync();if(l.value&&l.value!==x)try{await C.documents.close(l.value),p.debug("Closed previous document",{documentId:l.value})}catch(v){p.warn("Error closing previous document",v)}await C.documents.open(x),p.debug("Document opened via js-bao client",{documentId:x}),await C.setDefaultDocumentId(x),await new Promise(v=>setTimeout(v,50)),l.value=x,c.value=!0,p.debug("Document opened successfully",{documentId:x})}catch(C){throw p.error("Failed to open document",{documentId:x,error:C}),C}};return{showHiddenFields:r,currentDocumentId:l,currentModelName:s,currentDocumentTitle:a,currentDocumentMetadata:u,isDocumentReady:c,openDocument:i,switchDocument:async x=>{await i(x)},setCurrentDocumentId:x=>{l.value=x,x||(c.value=!1,a.value=null)},setCurrentModelName:x=>{s.value=x},setCurrentDocumentTitle:x=>{a.value=x},reset:()=>{r.value=!1,l.value=null,s.value=null,a.value=null,c.value=!1,n(ko,null),n(Co,null),n(Eo,null)}}});function J(t){on.error(t,{duration:5e3})}function La(t){on.success(t,{duration:3e3})}function Fa(t){on.warning(t,{duration:4e3})}function ae(t){return t instanceof Error?t.message:typeof t=="string"?t:"An unexpected error occurred"}function xr(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=xr(t[o]))&&(r&&(r+=" "),r+=n)}else for(n in t)t[n]&&(r&&(r+=" "),r+=n);return r}function kr(){for(var t,o,n=0,r="",l=arguments.length;n<l;n++)(t=arguments[n])&&(o=xr(t))&&(r&&(r+=" "),r+=o);return r}const Bn=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,zn=kr,qa=(t,o)=>n=>{var r;if(o?.variants==null)return zn(t,n?.class,n?.className);const{variants:l,defaultVariants:s}=o,a=Object.keys(l).map(i=>{const d=n?.[i],m=s?.[i];if(d===null)return null;const k=Bn(d)||Bn(m);return l[i][k]}),c=n&&Object.entries(n).reduce((i,d)=>{let[m,k]=d;return k===void 0||(i[m]=k),i},{}),u=o==null||(r=o.compoundVariants)===null||r===void 0?void 0:r.reduce((i,d)=>{let{class:m,className:k,...w}=d;return Object.entries(w).every(b=>{let[x,p]=b;return Array.isArray(p)?p.includes({...s,...c}[x]):{...s,...c}[x]===p})?[...i,m,k]:i},[]);return zn(t,a,u,n?.class,n?.className)};function Nn(t){return typeof t=="string"?`'${t}'`:new ja().serialize(t)}const ja=(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 Ua(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 ze(){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 nn(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 Lo(t){return t==null}function rn(t){return t?t.flatMap(o=>o.type===e.Fragment?rn(o.children):[o]):[]}const[fo]=We("ConfigProvider");function Ha(t,o){return e.getCurrentScope()?(e.onScopeDispose(t,o),!0):!1}const Mt=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;function Wa(t){return e.getCurrentInstance()}function Ga(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 Ha(()=>{clearTimeout(s)}),{get(){return n(),l},set(c){l=c,r(),clearTimeout(s),s=a()}}})}function Ka(t,o){Wa()&&e.onBeforeUnmount(t,o)}function Mo(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 Fo(t,o,n=".",r){if(!Mo(o))return Fo(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]]:Mo(a)&&Mo(l[s])?l[s]=Fo(a,l[s],(n?`${n}.`:"")+s.toString(),r):l[s]=a))}return l}function Qa(t){return(...o)=>o.reduce((n,r)=>Fo(n,r,"",t),{})}const Ya=Qa(),Xa=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=fo({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(!Mt)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"?Ya({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 Cr(t){const o=Math.random().toString(36).substring(2,7),n=Xa();n.value.set(o,t??!1);const r=e.computed({get:()=>n.value.get(o)??!1,set:l=>n.value.set(o,l)});return Ka(()=>{n.value.delete(o)}),r}function Za(t){const o=fo({dir:e.ref("ltr")});return e.computed(()=>t?.value||o.dir?.value||"ltr")}function mo(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 Bo=0;function Ja(){e.watchEffect(t=>{if(!Mt)return;const o=document.querySelectorAll("[data-reka-focus-guard]");document.body.insertAdjacentElement("afterbegin",o[0]??Vn()),document.body.insertAdjacentElement("beforeend",o[1]??Vn()),Bo++,t(()=>{Bo===1&&document.querySelectorAll("[data-reka-focus-guard]").forEach(n=>n.remove()),Bo--})})}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 Er(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?mo(o):{};return e.computed(()=>({...n.value,...r}))}var es=function(t){if(typeof document>"u")return null;var o=Array.isArray(t)?t[0]:t;return o.ownerDocument.body},vt=new WeakMap,Ft=new WeakMap,qt={},zo=0,Mr=function(t){return t&&(t.host||Mr(t.parentNode))},ts=function(t,o){return o.map(function(n){if(t.contains(n))return n;var r=Mr(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})},os=function(t,o,n,r){var l=ts(o,Array.isArray(t)?t:[t]);qt[n]||(qt[n]=new WeakMap);var s=qt[n],a=[],c=new Set,u=new Set(l),i=function(m){!m||c.has(m)||(c.add(m),i(m.parentNode))};l.forEach(i);var d=function(m){!m||u.has(m)||Array.prototype.forEach.call(m.children,function(k){if(c.has(k))d(k);else try{var w=k.getAttribute(r),b=w!==null&&w!=="false",x=(vt.get(k)||0)+1,p=(s.get(k)||0)+1;vt.set(k,x),s.set(k,p),a.push(k),x===1&&b&&Ft.set(k,!0),p===1&&k.setAttribute(n,"true"),b||k.setAttribute(r,"true")}catch(C){console.error("aria-hidden: cannot operate on ",k,C)}})};return d(o),c.clear(),zo++,function(){a.forEach(function(m){var k=vt.get(m)-1,w=s.get(m)-1;vt.set(m,k),s.set(m,w),k||(Ft.has(m)||m.removeAttribute(r),Ft.delete(m)),w||m.removeAttribute(n)}),zo--,zo||(vt=new WeakMap,vt=new WeakMap,Ft=new WeakMap,qt={})}},ns=function(t,o,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),l=es(t);return l?(r.push.apply(r,Array.from(l.querySelectorAll("[aria-live], script"))),os(r,l,n,"aria-hidden")):function(){return null}};function Br(t){let o;e.watch(()=>se.unrefElement(t),n=>{n?o=ns(n):o&&o()}),e.onUnmounted(()=>{o&&o()})}let rs=0;function no(t,o="reka"){if("useId"in xn)return`${o}-${xn.useId?.()}`;const n=fo({useId:void 0});return n.useId?`${o}-${n.useId()}`:`${o}-${++rs}`}function ls(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,m=Array.isArray(d)?d[0]:d;u=m.inlineSize,i=m.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 as(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 zr(t){const o=Ga("",1e3);return{search:o,handleTypeaheadSearch:(l,s)=>{o.value=o.value+l;{const a=ze(),c=s.map(k=>({...k,textValue:k.value?.textValue??k.ref.textContent?.trim()??""})),u=c.find(k=>k.ref===a),i=c.map(k=>k.textValue),d=is(i,o.value,u?.textValue),m=c.find(k=>k.textValue===d);return m&&m.ref.focus(),m?.ref}},resetTypeahead:()=>{o.value=""}}}function ss(t,o){return t.map((n,r)=>t[(o+r)%t.length])}function is(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=ss(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 cs(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}=as(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}}),d=p=>{if(Mt){const C=new CustomEvent(p,{bubbles:!1,cancelable:!1});o.value?.dispatchEvent(C)}};e.watch(t,async(p,C)=>{const v=C!==p;if(await e.nextTick(),v){const g=r.value,f=jt(o.value);p?(i("MOUNT"),d("enter"),f==="none"&&d("after-enter")):f==="none"||f==="undefined"||n.value?.display==="none"?(i("UNMOUNT"),d("leave"),d("after-leave")):C&&g!==f?(i("ANIMATION_OUT"),d("leave")):(i("UNMOUNT"),d("after-leave"))}},{immediate:!0});const m=p=>{const C=jt(o.value),v=C.includes(CSS.escape(p.animationName)),g=u.value==="mounted"?"enter":"leave";if(p.target===o.value&&v&&(d(`after-${g}`),i("ANIMATION_END"),!l.value)){const f=o.value.style.animationFillMode;o.value.style.animationFillMode="forwards",a=c?.setTimeout(()=>{o.value?.style.animationFillMode==="forwards"&&(o.value.style.animationFillMode=f)})}p.target===o.value&&C==="none"&&i("ANIMATION_END")},k=p=>{p.target===o.value&&(r.value=jt(o.value))},w=e.watch(o,(p,C)=>{p?(n.value=getComputedStyle(p),p.addEventListener("animationstart",k),p.addEventListener("animationcancel",m),p.addEventListener("animationend",m)):(i("ANIMATION_END"),a!==void 0&&c?.clearTimeout(a),C?.removeEventListener("animationstart",k),C?.removeEventListener("animationcancel",m),C?.removeEventListener("animationend",m))},{immediate:!0}),b=e.watch(u,()=>{const p=jt(o.value);r.value=u.value==="mounted"?p:"none"});return e.onUnmounted(()=>{w(),b()}),{isPresent:e.computed(()=>["mounted","unmountSuspended"].includes(u.value))}}function jt(t){return t&&getComputedStyle(t).animationName||"none"}var ln=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}=cs(r,s);n({present:a});let c=o.default({present:a.value});c=rn(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(`
43
+ `,te=(0,t.defineComponent)({__name:`DevToolsFloatingButton`,props:{isOpen:{type:Boolean},shortcutHint:{}},emits:[`click`],setup(e,{emit:n}){let r=e,i=n;function a(){try{let e=localStorage.getItem(k);if(e){let{edge:t,offset:n}=JSON.parse(e);if([`top`,`right`,`bottom`,`left`].includes(t)&&typeof n==`number`)return{edge:t,offset:Math.max(.01,Math.min(.99,n))}}}catch{}return{edge:`bottom`,offset:1}}function o(e){try{localStorage.setItem(k,JSON.stringify(e))}catch{}}let s=(0,t.ref)(a()),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.computed)(()=>{let{edge:e}=s.value,t=window.innerWidth,n=window.innerHeight,r=j/2,i=`${(e===`top`||e===`bottom`?(e=>Math.max((M+r)/t,Math.min((t-M-r)/t,e)))(s.value.offset):(e=>Math.max((M+r)/n,Math.min((n-M-r)/n,e)))(s.value.offset))*100}%`,a=`${r}px`,o={width:`${j}px`,height:`${j}px`,visibility:c.value?`visible`:`hidden`};switch(e){case`bottom`:return{...o,bottom:`${M}px`,left:`calc(${i} - ${a})`};case`top`:return{...o,top:`${M}px`,left:`calc(${i} - ${a})`};case`right`:return{...o,right:`${M}px`,top:`calc(${i} - ${a})`};case`left`:return{...o,left:`${M}px`,top:`calc(${i} - ${a})`}}}),d=(0,t.computed)(()=>{let e=`${r.isOpen?`Close`:`Open`} Primitive Dev Tools`;return r.shortcutHint?`${e} (${r.shortcutHint})`:e}),f=0,p=0,m=!1;function h(e,t){let n=window.innerWidth,r=window.innerHeight,i=t,a=r-t,o=e,s=n-e,c=Math.min(i,a,o,s),l=j/2,u=e=>Math.max((M+l)/n,Math.min((n-M-l)/n,e)),d=e=>Math.max((M+l)/r,Math.min((r-M-l)/r,e));return c===a?{edge:`bottom`,offset:u(e/n)}:c===i?{edge:`top`,offset:u(e/n)}:c===s?{edge:`right`,offset:d(t/r)}:{edge:`left`,offset:d(t/r)}}function g(e){!m&&Math.hypot(e.clientX-f,e.clientY-p)>N&&(m=!0,l.value=!0),m&&(s.value=h(e.clientX,e.clientY))}function _(){window.removeEventListener(`pointermove`,g,!0),window.removeEventListener(`pointerup`,v,!0),window.removeEventListener(`pointercancel`,_,!0),l.value=!1,m=!1}function v(){let e=l.value;_(),e?o(s.value):i(`click`)}function y(e){e.button===0&&(e.preventDefault(),f=e.clientX,p=e.clientY,m=!1,l.value=!1,window.addEventListener(`pointermove`,g,!0),window.addEventListener(`pointerup`,v,!0),window.addEventListener(`pointercancel`,_,!0))}return(0,t.onMounted)(()=>{if(c.value=!0,!document.getElementById(A)){let e=document.createElement(`style`);e.id=A,e.textContent=ee,document.head.appendChild(e)}}),(0,t.onUnmounted)(()=>{_()}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{type:`button`,class:(0,t.normalizeClass)([`pdt-btn`,{"pdt-btn--dragging":l.value}]),style:(0,t.normalizeStyle)(u.value),title:d.value,onPointerdown:y},[(0,t.createElementVNode)(`img`,{src:(0,t.unref)(E),class:`pdt-logo`,alt:``,draggable:`false`},null,8,O)],46,D))}}),P=`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==`,ne=[`src`,`width`,`height`],F=(0,t.defineComponent)({__name:`PrimitiveLogoSpinner`,props:{className:{},size:{default:128}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:(0,t.normalizeClass)([`fixed inset-0 z-50 flex items-center justify-center bg-white`,n.className])},[(0,t.createElementVNode)(`img`,{src:(0,t.unref)(P),alt:`Primitive Logo`,width:n.size,height:n.size,class:`animate-spin`,style:{"transform-origin":`center center`}},null,8,ne)],2))}}),re=1,I=new class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});publish=e=>{this.subscribers.forEach(t=>t(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{let{message:t,...n}=e,r=typeof e.id==`number`||e.id&&e.id?.length>0?e.id:re++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e);message=(e,t)=>this.create({...t,message:e,type:`default`});error=(e,t)=>this.create({...t,type:`error`,message:e});success=(e,t)=>this.create({...t,type:`success`,message:e});info=(e,t)=>this.create({...t,type:`info`,message:e});warning=(e,t)=>this.create({...t,type:`warning`,message:e});loading=(e,t)=>this.create({...t,type:`loading`,message:e});promise=(e,n)=>{if(!n)return;let r;n.loading!==void 0&&(r=this.create({...n,promise:e,type:`loading`,message:n.loading,description:typeof n.description==`function`?void 0:n.description}));let i=Promise.resolve(e instanceof Function?e():e),a=r!==void 0,o,s=i.then(async e=>{if(o=[`resolve`,e],(0,t.isVNode)(e))a=!1,this.create({id:r,type:`default`,message:e});else if(R(e)&&!e.ok){a=!1;let i=typeof n.error==`function`?await n.error(`HTTP error! status: ${e.status}`):n.error,o=typeof n.description==`function`?await n.description(`HTTP error! status: ${e.status}`):n.description,s=typeof i==`object`&&!(0,t.isVNode)(i)?i:{message:i||``,id:r||``};this.create({id:r,type:`error`,description:o,...s})}else if(e instanceof Error){a=!1;let i=typeof n.error==`function`?await n.error(e):n.error,o=typeof n.description==`function`?await n.description(e):n.description,s=typeof i==`object`&&!(0,t.isVNode)(i)?i:{message:i||``,id:r||``};this.create({id:r,type:`error`,description:o,...s})}else if(n.success!==void 0){a=!1;let i=typeof n.success==`function`?await n.success(e):n.success,o=typeof n.description==`function`?await n.description(e):n.description,s=typeof i==`object`&&!(0,t.isVNode)(i)?i:{message:i||``,id:r||``};this.create({id:r,type:`success`,description:o,...s})}}).catch(async e=>{if(o=[`reject`,e],n.error!==void 0){a=!1;let i=typeof n.error==`function`?await n.error(e):n.error,o=typeof n.description==`function`?await n.description(e):n.description,s=typeof i==`object`&&!(0,t.isVNode)(i)?i:{message:i||``,id:r||``};this.create({id:r,type:`error`,description:o,...s})}}).finally(()=>{a&&(this.dismiss(r),r=void 0),n.finally?.()}),c=()=>new Promise((e,t)=>s.then(()=>o[0]===`reject`?t(o[1]):e(o[1])).catch(t));return typeof r!=`string`&&typeof r!=`number`?{unwrap:c}:Object.assign(r,{unwrap:c})};custom=(e,t)=>{let n=t?.id||re++,r=this.toasts.find(e=>e.id===n),i=t?.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(r=>r.id===n?(this.publish({...r,component:e,dismissible:i,id:n,...t}),{...r,component:e,dismissible:i,id:n,...t}):r):this.addToast({component:e,dismissible:i,id:n,...t}),n};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};function L(e,t){let n=t?.id||re++;return I.create({message:e,id:n,type:`default`,...t}),n}var R=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,z=Object.assign(L,{success:I.success,info:I.info,warning:I.warning,error:I.error,custom:I.custom,message:I.message,promise:I.promise,dismiss:I.dismiss,loading:I.loading},{getHistory:()=>I.toasts,getToasts:()=>I.getActiveToasts()});function ie(e){return e.label!==void 0}var B=3,ae=`24px`,V=`16px`,oe=4e3,se=356,ce=14,le=45,ue=200;function de(){let e=(0,t.ref)(!1);return(0,t.watchEffect)(()=>{let t=()=>{e.value=document.hidden};return document.addEventListener(`visibilitychange`,t),()=>window.removeEventListener(`visibilitychange`,t)}),{isDocumentHidden:e}}function H(...e){return e.filter(Boolean).join(` `)}function fe(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}function pe(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?V:ae;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var me=[`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`],he=[`aria-label`,`data-disabled`,`data-close-button-position`],ge=(0,t.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(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(!1),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=(0,t.ref)(0),p=(0,t.ref)(0),m=(0,t.ref)(r.toast.duration||r.duration||oe),h=(0,t.ref)(null),g=(0,t.ref)(null),_=(0,t.computed)(()=>r.index===0),v=(0,t.computed)(()=>r.index+1<=r.visibleToasts),y=(0,t.computed)(()=>r.toast.type),b=(0,t.computed)(()=>r.toast.dismissible!==!1),x=(0,t.computed)(()=>r.toast.class||``),S=(0,t.computed)(()=>r.descriptionClass||``),C=(0,t.computed)(()=>{let e=r.toast.position||r.position,t=r.heights.filter(t=>t.position===e).findIndex(e=>e.toastId===r.toast.id);return t>=0?t:0}),w=(0,t.computed)(()=>{let e=r.toast.position||r.position;return r.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=C.value?e:e+t.height,0)}),T=(0,t.computed)(()=>C.value*r.gap+w.value||0),E=(0,t.computed)(()=>r.toast.closeButton??r.closeButton),D=(0,t.computed)(()=>r.toast.duration||r.duration||oe),O=(0,t.ref)(0),k=(0,t.ref)(0),A=(0,t.ref)(null),j=(0,t.computed)(()=>r.position.split(`-`)),M=(0,t.computed)(()=>j.value[0]),N=(0,t.computed)(()=>j.value[1]),ee=(0,t.computed)(()=>typeof r.toast.title!=`string`),te=(0,t.computed)(()=>typeof r.toast.description!=`string`),{isDocumentHidden:P}=de(),ne=(0,t.computed)(()=>y.value&&y.value===`loading`);(0,t.onMounted)(()=>{s.value=!0,m.value=D.value}),(0,t.watchEffect)(async()=>{if(!s.value||!g.value)return;await(0,t.nextTick)();let e=g.value,n=e.style.height;e.style.height=`auto`;let a=e.getBoundingClientRect().height;e.style.height=n,p.value=a,i(`update:height`,{toastId:r.toast.id,height:a,position:r.toast.position||r.position})});function F(){c.value=!0,f.value=T.value,setTimeout(()=>{i(`removeToast`,r.toast)},ue)}function re(){if(ne.value||!b.value)return{};F(),r.toast.onDismiss?.(r.toast)}function I(e){e.button!==2&&(ne.value||!b.value||(h.value=new Date,f.value=T.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(l.value=!0,A.value={x:e.clientX,y:e.clientY})))}function L(){if(u.value||!b.value)return;A.value=null;let e=Number(g.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(g.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),n=new Date().getTime()-(h.value?.getTime()||0),i=a.value===`x`?e:t,s=Math.abs(i)/n;if(Math.abs(i)>=le||s>.11){f.value=T.value,r.toast.onDismiss?.(r.toast),a.value===`x`?o.value=e>0?`right`:`left`:o.value=t>0?`down`:`up`,F(),u.value=!0;return}else g.value?.style.setProperty(`--swipe-amount-x`,`0px`),g.value?.style.setProperty(`--swipe-amount-y`,`0px`);d.value=!1,l.value=!1,a.value=null}function R(e){if(!A.value||!b.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-A.value.y,n=e.clientX-A.value.x,i=r.swipeDirections??fe(r.position);!a.value&&(Math.abs(n)>1||Math.abs(t)>1)&&(a.value=Math.abs(n)>Math.abs(t)?`x`:`y`);let o={x:0,y:0},s=e=>1/(1.5+Math.abs(e)/20);if(a.value===`y`){if(i.includes(`top`)||i.includes(`bottom`))if(i.includes(`top`)&&t<0||i.includes(`bottom`)&&t>0)o.y=t;else{let e=t*s(t);o.y=Math.abs(e)<Math.abs(t)?e:t}}else if(a.value===`x`&&(i.includes(`left`)||i.includes(`right`)))if(i.includes(`left`)&&n<0||i.includes(`right`)&&n>0)o.x=n;else{let e=n*s(n);o.x=Math.abs(e)<Math.abs(n)?e:n}(Math.abs(o.x)>0||Math.abs(o.y)>0)&&(d.value=!0),g.value?.style.setProperty(`--swipe-amount-x`,`${o.x}px`),g.value?.style.setProperty(`--swipe-amount-y`,`${o.y}px`)}(0,t.onMounted)(()=>{if(s.value=!0,!g.value)return;let e=g.value.getBoundingClientRect().height;p.value=e,i(`update:heights`,[{toastId:r.toast.id,height:e,position:r.toast.position},...r.heights])}),(0,t.onBeforeUnmount)(()=>{g.value&&i(`removeToast`,r.toast)}),(0,t.watchEffect)(e=>{if(r.toast.promise&&y.value===`loading`||r.toast.duration===1/0||r.toast.type===`loading`)return;let t;r.expanded||r.interacting||P.value?(()=>{if(k.value<O.value){let e=new Date().getTime()-O.value;m.value-=e}k.value=new Date().getTime()})():m.value!==1/0&&(O.value=new Date().getTime(),t=setTimeout(()=>{r.toast.onAutoClose?.(r.toast),F()},m.value)),e(()=>{clearTimeout(t)})}),(0,t.watch)(()=>r.toast.delete,e=>{e!==void 0&&e&&(F(),r.toast.onDismiss?.(r.toast))},{deep:!0});function z(){l.value=!1,a.value=null,A.value=null}return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:g,class:(0,t.normalizeClass)((0,t.unref)(H)(r.class,x.value,e.classes?.toast,e.toast.classes?.toast,e.classes?.[y.value],e.toast?.classes?.[y.value])),"data-sonner-toast":``,"data-rich-colors":e.toast.richColors??e.defaultRichColors,"data-styled":!(e.toast.component||e.toast?.unstyled||e.unstyled),"data-mounted":s.value,"data-promise":!!e.toast.promise,"data-swiped":d.value,"data-removed":c.value,"data-visible":v.value,"data-y-position":M.value,"data-x-position":N.value,"data-index":e.index,"data-front":_.value,"data-swiping":l.value,"data-dismissible":b.value,"data-type":y.value,"data-invert":e.toast.invert||e.invert,"data-swipe-out":u.value,"data-swipe-direction":o.value,"data-expanded":!!(e.expanded||e.expandByDefault&&s.value),"data-testid":e.toast.testId,style:(0,t.normalizeStyle)({"--index":e.index,"--toasts-before":e.index,"--z-index":e.toasts.length-e.index,"--offset":`${c.value?f.value:T.value}px`,"--initial-height":e.expandByDefault?`auto`:`${p.value}px`,...e.style,...r.toast.style}),onDragend:z,onPointerdown:I,onPointerup:L,onPointermove:R},[E.value&&!e.toast.component&&y.value!==`loading`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,"aria-label":e.closeButtonAriaLabel||`Close toast`,"data-disabled":ne.value,"data-close-button":`true`,"data-close-button-position":e.closeButtonPosition,class:(0,t.normalizeClass)((0,t.unref)(H)(e.classes?.closeButton,e.toast?.classes?.closeButton)),onClick:re},[e.icons?.close?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.icons?.close),{key:0})):(0,t.renderSlot)(e.$slots,`close-icon`,{key:1})],10,he)):(0,t.createCommentVNode)(`v-if`,!0),e.toast.component?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.toast.component),(0,t.mergeProps)({key:1},e.toast.componentProps,{onCloseToast:re,isPaused:e.$props.expanded||e.$props.interacting||(0,t.unref)(P)}),null,16,[`isPaused`])):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[y.value!==`default`||e.toast.icon||e.toast.promise?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,"data-icon":``,class:(0,t.normalizeClass)((0,t.unref)(H)(e.classes?.icon,e.toast?.classes?.icon))},[e.toast.icon?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.toast.icon),{key:0})):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[y.value===`loading`?(0,t.renderSlot)(e.$slots,`loading-icon`,{key:0}):y.value===`success`?(0,t.renderSlot)(e.$slots,`success-icon`,{key:1}):y.value===`error`?(0,t.renderSlot)(e.$slots,`error-icon`,{key:2}):y.value===`warning`?(0,t.renderSlot)(e.$slots,`warning-icon`,{key:3}):y.value===`info`?(0,t.renderSlot)(e.$slots,`info-icon`,{key:4}):(0,t.createCommentVNode)(`v-if`,!0)],64))],2)):(0,t.createCommentVNode)(`v-if`,!0),(0,t.createElementVNode)(`div`,{"data-content":``,class:(0,t.normalizeClass)((0,t.unref)(H)(e.classes?.content,e.toast?.classes?.content))},[(0,t.createElementVNode)(`div`,{"data-title":``,class:(0,t.normalizeClass)((0,t.unref)(H)(e.classes?.title,e.toast.classes?.title))},[ee.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.toast.title),(0,t.normalizeProps)((0,t.mergeProps)({key:0},e.toast.componentProps)),null,16)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)(e.toast.title),1)],64))],2),e.toast.description?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,"data-description":``,class:(0,t.normalizeClass)((0,t.unref)(H)(e.descriptionClass,S.value,e.classes?.description,e.toast.classes?.description))},[te.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.toast.description),(0,t.normalizeProps)((0,t.mergeProps)({key:0},e.toast.componentProps)),null,16)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createTextVNode)((0,t.toDisplayString)(e.toast.description),1)],64))],2)):(0,t.createCommentVNode)(`v-if`,!0)],2),e.toast.cancel?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,style:(0,t.normalizeStyle)(e.toast.cancelButtonStyle||e.cancelButtonStyle),class:(0,t.normalizeClass)((0,t.unref)(H)(e.classes?.cancelButton,e.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:n[0]||=n=>{(0,t.unref)(ie)(e.toast.cancel)&&b.value&&(e.toast.cancel.onClick?.(n),F())}},(0,t.toDisplayString)((0,t.unref)(ie)(e.toast.cancel)?e.toast.cancel?.label:e.toast.cancel),7)):(0,t.createCommentVNode)(`v-if`,!0),e.toast.action?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,style:(0,t.normalizeStyle)(e.toast.actionButtonStyle||e.actionButtonStyle),class:(0,t.normalizeClass)((0,t.unref)(H)(e.classes?.actionButton,e.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:n[1]||=n=>{(0,t.unref)(ie)(e.toast.action)&&(e.toast.action.onClick?.(n),!n.defaultPrevented&&F())}},(0,t.toDisplayString)((0,t.unref)(ie)(e.toast.action)?e.toast.action?.label:e.toast.action),7)):(0,t.createCommentVNode)(`v-if`,!0)],64))],46,me))}}),_e=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},ve={},ye={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 be(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,ye,n[0]||=[(0,t.createElementVNode)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),(0,t.createElementVNode)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`},null,-1)])}var xe=_e(ve,[[`render`,be]]),Se=[`data-visible`],Ce={class:`sonner-spinner`},we=(0,t.defineComponent)({__name:`Loader`,props:{visible:{type:Boolean}},setup(e){let n=Array(12).fill(0);return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[(0,t.createElementVNode)(`div`,Ce,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(n),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`spinner-bar-${e}`,class:`sonner-loading-bar`}))),128))])],8,Se))}}),Te={},Ee={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function De(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Ee,n[0]||=[(0,t.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 Oe=_e(Te,[[`render`,De]]),ke={},Ae={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function je(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Ae,n[0]||=[(0,t.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 Me=_e(ke,[[`render`,je]]),Ne={},Pe={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`};function Fe(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Pe,n[0]||=[(0,t.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 Ie=_e(Ne,[[`render`,Fe]]),Le={},Re={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function ze(e,n){return(0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Re,n[0]||=[(0,t.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 Be=_e(Le,[[`render`,ze]]),Ve=[`aria-label`],He=[`data-sonner-theme`,`dir`,`data-theme`,`data-rich-colors`,`data-y-position`,`data-x-position`],Ue=typeof window<`u`&&typeof document<`u`;function We(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}var Ge=(0,t.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:ce},visibleToasts:{default:B},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:``},style:{},offset:{default:ae},mobileOffset:{default:V},dir:{default:`auto`},swipeDirections:{},icons:{},containerAriaLabel:{default:`Notifications`}},setup(e){let n=e,r=(0,t.useAttrs)(),i=(0,t.ref)([]),a=(0,t.computed)(()=>n.id?i.value.filter(e=>e.toasterId===n.id):i.value.filter(e=>!e.toasterId));function o(e,t){return a.value.filter(n=>!n.position&&t===0||n.position===e)}let s=(0,t.computed)(()=>{let e=a.value.filter(e=>e.position).map(e=>e.position);return e.length>0?Array.from(new Set([n.position].concat(e))):[n.position]}),c=(0,t.computed)(()=>{let e={};return s.value.forEach(t=>{e[t]=i.value.filter(e=>e.position===t)}),e}),l=(0,t.ref)([]),u=(0,t.ref)({}),d=(0,t.ref)(!1);(0,t.watchEffect)(()=>{s.value.forEach(e=>{e in u.value||(u.value[e]=!1)})});let f=(0,t.ref)(n.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:n.theme),p=(0,t.ref)(null),m=(0,t.ref)(null),h=(0,t.ref)(!1),g=n.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function _(e){i.value.find(t=>t.id===e.id)?.delete||I.dismiss(e.id),i.value=i.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{i.value.find(t=>t.id===e.id)||(l.value=l.value.filter(t=>t.toastId!==e.id))},ue+50)}function v(e){h.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(h.value=!1,m.value&&=(m.value.focus({preventScroll:!0}),null))}function y(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||h.value||(h.value=!0,m.value=e.relatedTarget)}function b(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(d.value=!0)}(0,t.watchEffect)(e=>{e(I.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{i.value=i.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}(0,t.nextTick)(()=>{let t=i.value.findIndex(t=>t.id===e.id);t===-1?i.value=[e,...i.value]:i.value=[...i.value.slice(0,t),{...i.value[t],...e},...i.value.slice(t+1)]})}))}),(0,t.watchEffect)(e=>{if(typeof window>`u`)return;if(n.theme!==`system`){f.value=n.theme;return}let t=window.matchMedia(`(prefers-color-scheme: dark)`),r=e=>{f.value=e?`dark`:`light`};r(t.matches);let i=e=>{r(e.matches)};try{t.addEventListener(`change`,i)}catch{t.addListener(i)}e(()=>{try{t.removeEventListener(`change`,i)}catch{t.removeListener(i)}})}),(0,t.watchEffect)(()=>{p.value&&m.value&&(m.value.focus({preventScroll:!0}),m.value=null,h.value=!1)}),(0,t.watchEffect)(()=>{i.value.length<=1&&Object.keys(u.value).forEach(e=>{u.value[e]=!1})}),(0,t.watchEffect)(e=>{function t(e){let t=n.hotkey.every(t=>e[t]||e.code===t),r=Array.isArray(p.value)?p.value[0]:p.value;t&&(s.value.forEach(e=>{u.value[e]=!0}),r?.focus());let i=document.activeElement===p.value||r?.contains(document.activeElement);e.code===`Escape`&&i&&s.value.forEach(e=>{u.value[e]=!1})}Ue&&(document.addEventListener(`keydown`,t),e(()=>{document.removeEventListener(`keydown`,t)}))});function x(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);u.value[n]=!0}function S(e){if(!d.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);u.value[n]=!1}}function C(){Object.keys(u.value).forEach(e=>{u.value[e]=!1})}function w(){d.value=!1}function T(e){l.value=e}function E(e){let t=l.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)l.value[t]=e;else{let t=l.value.findIndex(t=>t.position===e.position);t===-1?l.value.unshift(e):l.value.splice(t,0,e)}}return(e,i)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createCommentVNode)(` Remove item from normal navigation flow, only available via hotkey `),(0,t.createElementVNode)(`section`,{"aria-label":`${e.containerAriaLabel} ${(0,t.unref)(g)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s.value,(i,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(`ol`,(0,t.mergeProps)({key:i,ref_for:!0,ref_key:`listRef`,ref:p,"data-sonner-toaster":``,"data-sonner-theme":f.value,class:n.class,dir:e.dir===`auto`?We():e.dir,tabIndex:-1,"data-theme":e.theme,"data-rich-colors":e.richColors,"data-y-position":i.split(`-`)[0],"data-x-position":i.split(`-`)[1],style:{"--front-toast-height":`${l.value[0]?.height||0}px`,"--width":`${(0,t.unref)(se)}px`,"--gap":`${e.gap}px`,...e.style,...(0,t.unref)(r).style,...(0,t.unref)(pe)(e.offset,e.mobileOffset)}},{ref_for:!0},e.$attrs,{onBlur:v,onFocus:y,onMouseenter:x,onMousemove:x,onMouseleave:S,onDragend:C,onPointerdown:b,onPointerup:w}),[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o(i,a),(r,a)=>((0,t.openBlock)(),(0,t.createBlock)(ge,{key:r.id,heights:l.value,icons:e.icons,index:a,toast:r,defaultRichColors:e.richColors,duration:e.toastOptions?.duration??e.duration,class:(0,t.normalizeClass)(e.toastOptions?.class??``),descriptionClass:e.toastOptions?.descriptionClass,invert:e.invert,visibleToasts:e.visibleToasts,closeButton:e.toastOptions?.closeButton??e.closeButton,interacting:d.value,position:i,closeButtonPosition:e.toastOptions?.closeButtonPosition??e.closeButtonPosition,style:(0,t.normalizeStyle)(e.toastOptions?.style),unstyled:e.toastOptions?.unstyled,classes:e.toastOptions?.classes,cancelButtonStyle:e.toastOptions?.cancelButtonStyle,actionButtonStyle:e.toastOptions?.actionButtonStyle,"close-button-aria-label":e.toastOptions?.closeButtonAriaLabel,toasts:c.value[i],expandByDefault:e.expand,gap:e.gap,expanded:u.value[i]||!1,swipeDirections:n.swipeDirections,"onUpdate:heights":T,"onUpdate:height":E,onRemoveToast:_},{"close-icon":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`close-icon`,{},()=>[(0,t.createVNode)(xe)])]),"loading-icon":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`loading-icon`,{},()=>[(0,t.createVNode)(we,{visible:r.type===`loading`},null,8,[`visible`])])]),"success-icon":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`success-icon`,{},()=>[(0,t.createVNode)(Oe)])]),"error-icon":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`error-icon`,{},()=>[(0,t.createVNode)(Be)])]),"warning-icon":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`warning-icon`,{},()=>[(0,t.createVNode)(Ie)])]),"info-icon":(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`info-icon`,{},()=>[(0,t.createVNode)(Me)])]),_: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,He))),128))],8,Ve)],2112))}}),Ke=`documentExplorer:selectedDocId`,qe=`documentExplorer:selectedModel`,Je=`documentExplorer:showHiddenFields`,Ye=`devtools:rightPanelCollapsed`,Xe=`primitive-doc-explorer-page-size`,Ze=`primitive-doc-explorer-model-view-state`,Qe=(0,r.defineStore)(`documentExplorer`,()=>{let e=u.forScope(`documentExplorerStore`),n=e=>{try{return typeof window<`u`?localStorage.getItem(e):null}catch{return null}},r=(e,t)=>{try{typeof window<`u`&&(t===null?localStorage.removeItem(e):localStorage.setItem(e,t))}catch{}},i=(0,t.ref)(n(Je)===`true`);(0,t.watch)(i,e=>{r(Je,String(e))});let a=(0,t.ref)(n(Ke)),o=(0,t.ref)(n(qe)),s=(0,t.ref)(null),c=(0,t.ref)(!1);(0,t.watch)(a,e=>{r(Ke,e)},{immediate:!1}),(0,t.watch)(o,e=>{r(qe,e)},{immediate:!1});let l=(0,t.computed)(()=>a.value?{documentId:a.value}:null),d=async t=>{let n=e.forScope(`openDocument`);if(a.value===t&&c.value){n.debug(`Document already open`,{documentId:t});return}try{n.debug(`Opening document`,{documentId:t}),c.value=!1;let e=await m.getClientAsync();if(a.value&&a.value!==t)try{await e.documents.close(a.value),n.debug(`Closed previous document`,{documentId:a.value})}catch(e){n.warn(`Error closing previous document`,e)}await e.documents.open(t),n.debug(`Document opened via js-bao client`,{documentId:t}),await e.setDefaultDocumentId(t),await new Promise(e=>setTimeout(e,50)),a.value=t,c.value=!0,n.debug(`Document opened successfully`,{documentId:t})}catch(e){throw n.error(`Failed to open document`,{documentId:t,error:e}),e}};return{showHiddenFields:i,currentDocumentId:a,currentModelName:o,currentDocumentTitle:s,currentDocumentMetadata:l,isDocumentReady:c,openDocument:d,switchDocument:async e=>{await d(e)},setCurrentDocumentId:e=>{a.value=e,e||(c.value=!1,s.value=null)},setCurrentModelName:e=>{o.value=e},setCurrentDocumentTitle:e=>{s.value=e},reset:()=>{i.value=!1,a.value=null,o.value=null,s.value=null,c.value=!1,r(Ke,null),r(qe,null),r(Je,null)}}});function U(e){z.error(e,{duration:5e3})}function $e(e){z.success(e,{duration:3e3})}function et(e){z.warning(e,{duration:4e3})}function W(e){return e instanceof Error?e.message:typeof e==`string`?e:`An unexpected error occurred`}function tt(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=tt(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function nt(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=tt(e))&&(r&&(r+=` `),r+=t);return r}var rt=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,it=nt,at=(e,t)=>n=>{if(t?.variants==null)return it(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=rt(t)||rt(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return it(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function ot(e){return typeof e==`string`?`'${e}'`:new st().serialize(e)}var st=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function ct(e,t){return e===t||ot(e)===ot(t)}function lt(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function ut(e,n){let r=typeof e==`string`&&!n?`${e}Context`:n,i=Symbol(r);return[n=>{let r=(0,t.inject)(i,n);if(r||r===null)return r;throw Error(`Injection \`${i.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>((0,t.provide)(i,e),e)]}function dt(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function ft(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function pt(e){return e==null}function mt(e){return e?e.flatMap(e=>e.type===t.Fragment?mt(e.children):[e]):[]}var[ht,gt]=ut(`ConfigProvider`);function _t(e,n){return(0,t.getCurrentScope)()?((0,t.onScopeDispose)(e,n),!0):!1}var vt=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var yt=bt();function bt(){var e,t;return vt&&!!(!((e=window)==null||(e=e.navigator)==null)&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function xt(e){return e||(0,t.getCurrentInstance)()}function St(e,n=1e4){return(0,t.customRef)((r,i)=>{let a=(0,t.toValue)(e),o,s=()=>setTimeout(()=>{a=(0,t.toValue)(e),i()},(0,t.toValue)(n));return _t(()=>{clearTimeout(o)}),{get(){return r(),a},set(e){a=e,i(),clearTimeout(o),o=s()}}})}function Ct(e,n){xt(n)&&(0,t.onBeforeUnmount)(e,n)}function wt(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function Tt(e,t,n=`.`,r){if(!wt(t))return Tt(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:wt(a)&&wt(i[t])?i[t]=Tt(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function Et(e){return(...t)=>t.reduce((t,n)=>Tt(t,n,``,e),{})}var Dt=Et(),Ot=(0,i.createSharedComposable)(()=>{let e=(0,t.ref)(new Map),n=(0,t.ref)(),r=(0,t.computed)(()=>{for(let t of e.value.values())if(t)return!0;return!1}),a=ht({scrollBody:(0,t.ref)(!0)}),o=null,s=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=n.value??``,yt&&o?.(),n.value=void 0};return(0,t.watch)(r,(e,c)=>{if(!vt)return;if(!e){c&&s();return}n.value===void 0&&(n.value=document.body.style.overflow);let l=window.innerWidth-document.documentElement.clientWidth,u={padding:l,margin:0},d=a.scrollBody?.value?typeof a.scrollBody.value==`object`?Dt({padding:a.scrollBody.value.padding===!0?l:a.scrollBody.value.padding,margin:a.scrollBody.value.margin===!0?l:a.scrollBody.value.margin},u):u:{padding:0,margin:0};l>0&&(document.body.style.paddingRight=typeof d.padding==`number`?`${d.padding}px`:String(d.padding),document.body.style.marginRight=typeof d.margin==`number`?`${d.margin}px`:String(d.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${l}px`),document.body.style.overflow=`hidden`),yt&&(o=(0,i.useEventListener)(document,`touchmove`,e=>jt(e),{passive:!1})),(0,t.nextTick)(()=>{r.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function kt(e){let n=Math.random().toString(36).substring(2,7),r=Ot();r.value.set(n,e??!1);let i=(0,t.computed)({get:()=>r.value.get(n)??!1,set:e=>r.value.set(n,e)});return Ct(()=>{r.value.delete(n)}),i}function At(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:At(t)}}function jt(e){let t=e||window.event,n=t.target;return n instanceof Element&&At(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function Mt(e){let n=ht({dir:(0,t.ref)(`ltr`)});return(0,t.computed)(()=>e?.value||n.dir?.value||`ltr`)}function Nt(e){let n=(0,t.getCurrentInstance)(),r=n?.type.emits,i={};return r?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),r?.forEach(n=>{i[(0,t.toHandlerKey)((0,t.camelize)(n))]=(...t)=>e(n,...t)}),i}var Pt=0;function Ft(){(0,t.watchEffect)(e=>{if(!vt)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??It()),document.body.insertAdjacentElement(`beforeend`,t[1]??It()),Pt++,e(()=>{Pt===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Pt--})})}function It(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function Lt(e){return(0,t.computed)(()=>(0,t.toValue)(e)?!!(0,i.unrefElement)(e)?.closest(`form`):!0)}function G(){let e=(0,t.getCurrentInstance)(),n=(0,t.ref)(),r=(0,t.computed)(()=>a());(0,t.onUpdated)(()=>{r.value!==a()&&(0,t.triggerRef)(n)});function a(){return n.value&&`$el`in n.value&&[`#text`,`#comment`].includes(n.value.$el.nodeName)?n.value.$el.nextElementSibling:(0,i.unrefElement)(n)}let o=Object.assign({},e.exposed),s={};for(let t in e.props)Object.defineProperty(s,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(o).length>0)for(let e in o)Object.defineProperty(s,e,{enumerable:!0,configurable:!0,get:()=>o[e]});Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=s;function c(t){if(n.value=t,t&&(Object.defineProperty(s,`$el`,{enumerable:!0,configurable:!0,get:()=>t instanceof Element?t:t.$el}),!(t instanceof Element)&&!Object.hasOwn(t,`$el`))){let n=t.$.exposed,r=Object.assign({},s);for(let e in n)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>n[e]});e.exposed=r}}return{forwardRef:c,currentRef:n,currentElement:r}}function Rt(e){let n=(0,t.getCurrentInstance)(),r=Object.keys(n?.type.props??{}).reduce((e,t)=>{let r=(n?.type.props[t]).default;return r!==void 0&&(e[t]=r),e},{}),i=(0,t.toRef)(e);return(0,t.computed)(()=>{let e={},a=n?.vnode.props??{};return Object.keys(a).forEach(n=>{e[(0,t.camelize)(n)]=a[n]}),Object.keys({...r,...e}).reduce((e,t)=>(i.value[t]!==void 0&&(e[t]=i.value[t]),e),{})})}function zt(e,n){let r=Rt(e),i=n?Nt(n):{};return(0,t.computed)(()=>({...r.value,...i}))}var Bt=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Vt=new WeakMap,Ht=new WeakMap,Ut={},Wt=0,Gt=function(e){return e&&(e.host||Gt(e.parentNode))},Kt=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Gt(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},qt=function(e,t,n,r){var i=Kt(t,Array.isArray(e)?e:[e]);Ut[n]||(Ut[n]=new WeakMap);var a=Ut[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Vt.get(e)||0)+1,l=(a.get(e)||0)+1;Vt.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Ht.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Wt++,function(){o.forEach(function(e){var t=Vt.get(e)-1,i=a.get(e)-1;Vt.set(e,t),a.set(e,i),t||(Ht.has(e)||e.removeAttribute(r),Ht.delete(e)),i||e.removeAttribute(n)}),Wt--,Wt||(Vt=new WeakMap,Vt=new WeakMap,Ht=new WeakMap,Ut={})}},Jt=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Bt(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),qt(r,i,n,`aria-hidden`)):function(){return null}};function Yt(e){let n;(0,t.watch)(()=>(0,i.unrefElement)(e),e=>{let t=!1;try{t=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!t?n=Jt(e):n&&n()}),(0,t.onUnmounted)(()=>{n&&n()})}var Xt=0;function Zt(e,n=`reka`){if(e)return e;let r;return r=`useId`in t?t.useId?.():ht({useId:void 0}).useId?.()??`${++Xt}`,n?`${n}-${r}`:r}function Qt(e){let n=(0,t.ref)(),r=(0,t.computed)(()=>n.value?.width??0),a=(0,t.computed)(()=>n.value?.height??0);return(0,t.onMounted)(()=>{let t=(0,i.unrefElement)(e);if(t){n.value={width:t.offsetWidth,height:t.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=t.offsetWidth,a=t.offsetHeight;n.value={width:i,height:a}});return e.observe(t,{box:`border-box`}),()=>e.unobserve(t)}else n.value=void 0}),{width:r,height:a}}function $t(e,n){let r=(0,t.ref)(e);function i(e){return n[r.value][e]??r.value}return{state:r,dispatch:e=>{r.value=i(e)}}}function en(e){let t=St(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=dt(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=nn(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function tn(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function nn(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=tn(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function rn(e,n){let r=(0,t.ref)({}),a=(0,t.ref)(`none`),o=(0,t.ref)(e),s=e.value?`mounted`:`unmounted`,c,l=n.value?.ownerDocument.defaultView??i.defaultWindow,{state:u,dispatch:d}=$t(s,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),f=e=>{if(vt){let t=new CustomEvent(e,{bubbles:!1,cancelable:!1});n.value?.dispatchEvent(t)}};(0,t.watch)(e,async(e,i)=>{let o=i!==e;if(await(0,t.nextTick)(),o){let t=a.value,o=an(n.value);e?(d(`MOUNT`),f(`enter`),o===`none`&&f(`after-enter`)):o===`none`||o===`undefined`||r.value?.display===`none`?(d(`UNMOUNT`),f(`leave`),f(`after-leave`)):i&&t!==o?(d(`ANIMATION_OUT`),f(`leave`)):(d(`UNMOUNT`),f(`after-leave`))}},{immediate:!0});let p=e=>{let t=an(n.value),r=t.includes(CSS.escape(e.animationName)),i=u.value===`mounted`?`enter`:`leave`;if(e.target===n.value&&r&&(f(`after-${i}`),d(`ANIMATION_END`),!o.value)){let e=n.value.style.animationFillMode;n.value.style.animationFillMode=`forwards`,c=l?.setTimeout(()=>{n.value?.style.animationFillMode===`forwards`&&(n.value.style.animationFillMode=e)})}e.target===n.value&&t===`none`&&d(`ANIMATION_END`)},m=e=>{e.target===n.value&&(a.value=an(n.value))},h=(0,t.watch)(n,(e,t)=>{e?(r.value=getComputedStyle(e),e.addEventListener(`animationstart`,m),e.addEventListener(`animationcancel`,p),e.addEventListener(`animationend`,p)):(d(`ANIMATION_END`),c!==void 0&&l?.clearTimeout(c),t?.removeEventListener(`animationstart`,m),t?.removeEventListener(`animationcancel`,p),t?.removeEventListener(`animationend`,p))},{immediate:!0}),g=(0,t.watch)(u,()=>{let e=an(n.value);a.value=u.value===`mounted`?e:`none`});return(0,t.onUnmounted)(()=>{h(),g()}),{isPresent:(0,t.computed)(()=>[`mounted`,`unmountSuspended`].includes(u.value))}}function an(e){return e&&getComputedStyle(e).animationName||`none`}var on=(0,t.defineComponent)({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:n,expose:r}){let{present:a,forceMount:o}=(0,t.toRefs)(e),s=(0,t.ref)(),{isPresent:c}=rn(a,s);r({present:c});let l=n.default({present:c.value});l=mt(l||[]);let u=(0,t.getCurrentInstance)();if(l&&l?.length>1){let e=u?.parent?.type.name?`<${u.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
44
44
  `)].join(`
45
- `))}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 qo=e.defineComponent({name:"PrimitiveSlot",inheritAttrs:!1,setup(t,{attrs:o,slots:n}){return()=>{if(!n.default)return null;const r=rn(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)}}}),us=["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"&&us.includes(r)?()=>e.h(r,o):r!=="template"?()=>e.h(t.as,o,{default:n.default}):()=>e.h(qo,o,{default:n.default})}});function jo(){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,ds]=We("DialogRoot");var fs=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 ds({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})}}),ms=fs,ps=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"]))}}),vs=ps;const gs="dismissableLayer.pointerDownOutside",hs="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 ys(t,o,n=!0){const r=o?.value?.ownerDocument??globalThis?.document,l=e.ref(!1),s=e.ref(()=>{});return e.watchEffect(a=>{if(!Mt||!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 k=function(){nn(gs,t,m)};const m={originalEvent:i};i.pointerType==="touch"?(r.removeEventListener("click",s.value),s.value=k,r.addEventListener("click",s.value,{once:!0})):k()}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 bs(t,o,n=!0){const r=o?.value?.ownerDocument??globalThis?.document,l=e.ref(!1);return e.watchEffect(s=>{if(!Mt||!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&&nn(hs,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 Ve=e.reactive({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});var ws=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(()=>Ve.layersRoot),u=e.computed(()=>s.value?Array.from(c.value).indexOf(s.value):-1),i=e.computed(()=>Ve.layersWithOutsidePointerEventsDisabled.size>0),d=e.computed(()=>{const w=Array.from(c.value),[b]=[...Ve.layersWithOutsidePointerEventsDisabled].slice(-1),x=w.indexOf(b);return u.value>=x}),m=ys(async w=>{const b=[...Ve.branches].some(x=>x?.contains(w.target));!d.value||b||(r("pointerDownOutside",w),r("interactOutside",w),await e.nextTick(),w.defaultPrevented||r("dismiss"))},s),k=bs(w=>{[...Ve.branches].some(x=>x?.contains(w.target))||(r("focusOutside",w),r("interactOutside",w),w.defaultPrevented||r("dismiss"))},s);return se.onKeyStroke("Escape",w=>{u.value===c.value.size-1&&(r("escapeKeyDown",w),w.defaultPrevented||r("dismiss"))}),e.watchEffect(w=>{s.value&&(n.disableOutsidePointerEvents&&(Ve.layersWithOutsidePointerEventsDisabled.size===0&&(Ve.originalBodyPointerEvents=a.value.body.style.pointerEvents,a.value.body.style.pointerEvents="none"),Ve.layersWithOutsidePointerEventsDisabled.add(s.value)),c.value.add(s.value),w(()=>{n.disableOutsidePointerEvents&&Ve.layersWithOutsidePointerEventsDisabled.size===1&&!Lo(Ve.originalBodyPointerEvents)&&(a.value.body.style.pointerEvents=Ve.originalBodyPointerEvents)}))}),e.watchEffect(w=>{w(()=>{s.value&&(c.value.delete(s.value),Ve.layersWithOutsidePointerEventsDisabled.delete(s.value))})}),(w,b)=>(e.openBlock(),e.createBlock(e.unref(ve),{ref:e.unref(l),"as-child":w.asChild,as:w.as,"data-dismissable-layer":"",style:e.normalizeStyle({pointerEvents:i.value?d.value?"auto":"none":void 0}),onFocusCapture:e.unref(k).onFocusCapture,onBlurCapture:e.unref(k).onBlurCapture,onPointerdownCapture:e.unref(m).onPointerDownCapture},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"default")]),_:3},8,["as-child","as","style","onFocusCapture","onBlurCapture","onPointerdownCapture"]))}}),Sr=ws;const xs=se.createGlobalState(()=>e.ref([]));function ks(){const t=xs();return{add(o){const n=t.value[0];o!==n&&n?.pause(),t.value=Dn(t.value,o),t.value.unshift(o)},remove(o){t.value=Dn(t.value,o),t.value[0]?.resume()}}}function Dn(t,o){const n=[...t],r=n.indexOf(o);return r!==-1&&n.splice(r,1),n}const No="focusScope.autoFocusOnMount",So="focusScope.autoFocusOnUnmount",An={bubbles:!1,cancelable:!0};function Cs(t,{select:o=!1}={}){const n=ze();for(const r of t)if(Je(r,{select:o}),ze()!==n)return!0}function Es(t){const o=Vr(t),n=In(o,t),r=In(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 In(t,o){for(const n of t)if(!Ms(n,{upTo:o}))return n}function Ms(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 Bs(t){return t instanceof HTMLInputElement&&"select"in t}function Je(t,{select:o=!1}={}){if(t&&t.focus){const n=ze();t.focus({preventScroll:!0}),t!==n&&Bs(t)&&o&&t.select()}}var zs=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=ks(),u=e.reactive({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});e.watchEffect(d=>{if(!Mt)return;const m=s.value;if(!n.trapped)return;function k(p){if(u.paused||!m)return;const C=p.target;m.contains(C)?a.value=C:Je(a.value,{select:!0})}function w(p){if(u.paused||!m)return;const C=p.relatedTarget;C!==null&&(m.contains(C)||Je(a.value,{select:!0}))}function b(p){m.contains(a.value)||Je(m)}document.addEventListener("focusin",k),document.addEventListener("focusout",w);const x=new MutationObserver(b);m&&x.observe(m,{childList:!0,subtree:!0}),d(()=>{document.removeEventListener("focusin",k),document.removeEventListener("focusout",w),x.disconnect()})}),e.watchEffect(async d=>{const m=s.value;if(await e.nextTick(),!m)return;c.add(u);const k=ze();if(!m.contains(k)){const b=new CustomEvent(No,An);m.addEventListener(No,x=>r("mountAutoFocus",x)),m.dispatchEvent(b),b.defaultPrevented||(Cs(Vr(m),{select:!0}),ze()===k&&Je(m))}d(()=>{m.removeEventListener(No,p=>r("mountAutoFocus",p));const b=new CustomEvent(So,An),x=p=>{r("unmountAutoFocus",p)};m.addEventListener(So,x),m.dispatchEvent(b),setTimeout(()=>{b.defaultPrevented||Je(k??document.body,{select:!0}),m.removeEventListener(So,x),c.remove(u)},0)})});function i(d){if(!n.loop&&!n.trapped||u.paused)return;const m=d.key==="Tab"&&!d.altKey&&!d.ctrlKey&&!d.metaKey,k=ze();if(m&&k){const w=d.currentTarget,[b,x]=Es(w);b&&x?!d.shiftKey&&k===x?(d.preventDefault(),n.loop&&Je(b,{select:!0})):d.shiftKey&&k===b&&(d.preventDefault(),n.loop&&Je(x,{select:!0})):k===w&&d.preventDefault()}}return(d,m)=>(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"]))}}),Dr=zs;function Ns(t){return t?"open":"closed"}function $n(t){const o=ze();for(const n of t)if(n===o||(n.focus(),ze()!==o))return}const Ss="DialogTitle",Vs="DialogContent";function Ds({titleName:t=Ss,contentName:o=Vs,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.
45
+ `))}return()=>o.value||a.value||c.value?(0,t.h)(n.default({present:c.value})[0],{ref:e=>{let t=(0,i.unrefElement)(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?s.value=t.firstElementChild:s.value=t),t}}):null}}),sn=(0,t.defineComponent)({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:n,slots:r}){return()=>{if(!r.default)return null;let e=mt(r.default()),i=e.findIndex(e=>e.type!==t.Comment);if(i===-1)return e;let a=e[i];delete a.props?.ref;let o=a.props?(0,t.mergeProps)(n,a.props):n,s=(0,t.cloneVNode)({...a,props:{}},o);return e.length===1?s:(e[i]=s,e)}}}),cn=[`area`,`img`,`input`],K=(0,t.defineComponent)({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:n,slots:r}){let i=e.asChild?`template`:e.as;return typeof i==`string`&&cn.includes(i)?()=>(0,t.h)(i,n):i===`template`?()=>(0,t.h)(sn,n,{default:r.default}):()=>(0,t.h)(e.as,n,{default:r.default})}});function ln(){let e=(0,t.ref)();return{primitiveElement:e,currentElement:(0,t.computed)(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:(0,i.unrefElement)(e))}}var[un,dn]=ut(`DialogRoot`),fn=(0,t.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(e,{emit:n}){let r=e,a=(0,i.useVModel)(r,`open`,n,{defaultValue:r.defaultOpen,passive:r.open===void 0}),o=(0,t.ref)(),s=(0,t.ref)(),{modal:c}=(0,t.toRefs)(r);return dn({open:a,modal:c,openModal:()=>{a.value=!0},onOpenChange:e=>{a.value=e},onOpenToggle:()=>{a.value=!a.value},contentId:``,titleId:``,descriptionId:``,triggerElement:o,contentElement:s}),(e,n)=>(0,t.renderSlot)(e.$slots,`default`,{open:(0,t.unref)(a),close:()=>a.value=!1})}}),pn=(0,t.defineComponent)({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e;G();let r=un();return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)(n,{type:e.as===`button`?`button`:void 0,onClick:i[0]||=e=>(0,t.unref)(r).onOpenChange(!1)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`type`]))}}),mn=`dismissableLayer.pointerDownOutside`,hn=`dismissableLayer.focusOutside`;function gn(e,t){if(!(t instanceof Element))return!1;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function _n(e,n,r=!0){let i=n?.value?.ownerDocument??globalThis?.document,a=(0,t.ref)(!1),o=(0,t.ref)(()=>{});return(0,t.watchEffect)(s=>{if(!vt||!(0,t.toValue)(r))return;let c=async t=>{let r=t.target;if(!(!n?.value||!r)){if(gn(n.value,r)){a.value=!1;return}if(t.target&&!a.value){let n={originalEvent:t};function s(){ft(mn,e,n)}t.pointerType===`touch`?(i.removeEventListener(`click`,o.value),o.value=s,i.addEventListener(`click`,o.value,{once:!0})):s()}else i.removeEventListener(`click`,o.value);a.value=!1}},l=window.setTimeout(()=>{i.addEventListener(`pointerdown`,c)},0);s(()=>{window.clearTimeout(l),i.removeEventListener(`pointerdown`,c),i.removeEventListener(`click`,o.value)})}),{onPointerDownCapture:()=>{(0,t.toValue)(r)&&(a.value=!0)}}}function vn(e,n,r=!0){let i=n?.value?.ownerDocument??globalThis?.document,a=(0,t.ref)(!1);return(0,t.watchEffect)(o=>{if(!vt||!(0,t.toValue)(r))return;let s=async r=>{if(!n?.value)return;await(0,t.nextTick)(),await(0,t.nextTick)();let i=r.target;!n.value||!i||gn(n.value,i)||r.target&&!a.value&&ft(hn,e,{originalEvent:r})};i.addEventListener(`focusin`,s),o(()=>i.removeEventListener(`focusin`,s))}),{onFocusCapture:()=>{(0,t.toValue)(r)&&(a.value=!0)},onBlurCapture:()=>{(0,t.toValue)(r)&&(a.value=!1)}}}var yn=(0,t.reactive)({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),bn=(0,t.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(e,{emit:n}){let r=e,a=n,{forwardRef:o,currentElement:s}=G(),c=(0,t.computed)(()=>s.value?.ownerDocument??globalThis.document),l=(0,t.computed)(()=>yn.layersRoot),u=(0,t.computed)(()=>s.value?Array.from(l.value).indexOf(s.value):-1),d=(0,t.computed)(()=>yn.layersWithOutsidePointerEventsDisabled.size>0),f=(0,t.computed)(()=>{let e=Array.from(l.value),[t]=[...yn.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return u.value>=n}),p=_n(async e=>{let n=[...yn.branches].some(t=>t?.contains(e.target));!f.value||n||(a(`pointerDownOutside`,e),a(`interactOutside`,e),await(0,t.nextTick)(),e.defaultPrevented||a(`dismiss`))},s),m=vn(e=>{[...yn.branches].some(t=>t?.contains(e.target))||(a(`focusOutside`,e),a(`interactOutside`,e),e.defaultPrevented||a(`dismiss`))},s);return(0,i.onKeyStroke)(`Escape`,e=>{u.value===l.value.size-1&&(a(`escapeKeyDown`,e),e.defaultPrevented||a(`dismiss`))}),(0,t.watchEffect)(e=>{s.value&&(r.disableOutsidePointerEvents&&(yn.layersWithOutsidePointerEventsDisabled.size===0&&(yn.originalBodyPointerEvents=c.value.body.style.pointerEvents,c.value.body.style.pointerEvents=`none`),yn.layersWithOutsidePointerEventsDisabled.add(s.value)),l.value.add(s.value),e(()=>{r.disableOutsidePointerEvents&&yn.layersWithOutsidePointerEventsDisabled.size===1&&!pt(yn.originalBodyPointerEvents)&&(c.value.body.style.pointerEvents=yn.originalBodyPointerEvents)}))}),(0,t.watchEffect)(e=>{e(()=>{s.value&&(l.value.delete(s.value),yn.layersWithOutsidePointerEventsDisabled.delete(s.value))})}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{ref:(0,t.unref)(o),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:(0,t.normalizeStyle)({pointerEvents:d.value?f.value?`auto`:`none`:void 0}),onFocusCapture:(0,t.unref)(m).onFocusCapture,onBlurCapture:(0,t.unref)(m).onBlurCapture,onPointerdownCapture:(0,t.unref)(p).onPointerDownCapture},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),xn=(0,i.createGlobalState)(()=>(0,t.ref)([]));function Sn(){let e=xn();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Cn(e.value,t),e.value.unshift(t)},remove(t){e.value=Cn(e.value,t),e.value[0]?.resume()}}}function Cn(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var wn=`focusScope.autoFocusOnMount`,Tn=`focusScope.autoFocusOnUnmount`,En={bubbles:!1,cancelable:!0};function Dn(e,{select:t=!1}={}){let n=dt();for(let r of e)if(Nn(r,{select:t}),dt()!==n)return!0}function On(e){let t=kn(e);return[An(t,e),An(t.reverse(),e)]}function kn(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function An(e,t){for(let n of e)if(!jn(n,{upTo:t}))return n}function jn(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Mn(e){return e instanceof HTMLInputElement&&`select`in e}function Nn(e,{select:t=!1}={}){if(e&&e.focus){let n=dt();e.focus({preventScroll:!0}),e!==n&&Mn(e)&&t&&e.select()}}var Pn=(0,t.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(e,{emit:n}){let r=e,i=n,{currentRef:a,currentElement:o}=G(),s=(0,t.ref)(null),c=Sn(),l=(0,t.reactive)({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});(0,t.watchEffect)(e=>{if(!vt)return;let t=o.value;if(!r.trapped)return;function n(e){if(l.paused||!t)return;let n=e.target;t.contains(n)?s.value=n:Nn(s.value,{select:!0})}function i(e){if(l.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Nn(s.value,{select:!0}))}function a(e){let n=s.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||Nn(t))}document.addEventListener(`focusin`,n),document.addEventListener(`focusout`,i);let c=new MutationObserver(a);t&&c.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,n),document.removeEventListener(`focusout`,i),c.disconnect()})}),(0,t.watchEffect)(async e=>{let n=o.value;if(await(0,t.nextTick)(),!n)return;c.add(l);let r=dt();if(!n.contains(r)){let e=new CustomEvent(wn,En);n.addEventListener(wn,e=>i(`mountAutoFocus`,e)),n.dispatchEvent(e),e.defaultPrevented||(Dn(kn(n),{select:!0}),dt()===r&&Nn(n))}e(()=>{n.removeEventListener(wn,e=>i(`mountAutoFocus`,e));let e=new CustomEvent(Tn,En),t=e=>{i(`unmountAutoFocus`,e)};n.addEventListener(Tn,t),n.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||Nn(r??document.body,{select:!0}),n.removeEventListener(Tn,t),c.remove(l)},0)})});function u(e){if(!r.loop&&!r.trapped||l.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=dt();if(t&&n){let t=e.currentTarget,[i,a]=On(t);i&&a?!e.shiftKey&&n===a?(e.preventDefault(),r.loop&&Nn(i,{select:!0})):e.shiftKey&&n===i&&(e.preventDefault(),r.loop&&Nn(a,{select:!0})):n===t&&e.preventDefault()}}return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{ref_key:`currentRef`,ref:a,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Fn=[`Enter`,` `],In=[`ArrowDown`,`PageUp`,`Home`],Ln=[`ArrowUp`,`PageDown`,`End`];[...In,...Ln],[...Fn],[...Fn];function Rn(e){return e?`open`:`closed`}function zn(e){let t=dt();for(let n of e)if(n===t||(n.focus(),dt()!==t))return}var Bn=`DialogTitle`,Vn=`DialogContent`;function Hn({titleName:e=Bn,contentName:n=Vn,componentLink:r=`dialog.html#title`,titleId:i,descriptionId:a,contentElement:o}){let s=`Warning: \`${n}\` requires a \`${e}\` for the component to be accessible for screen reader users.
46
46
 
47
- If you want to hide the \`${t}\`, you can wrap it with our VisuallyHidden component.
47
+ If you want to hide the \`${e}\`, you can wrap it with our VisuallyHidden component.
48
48
 
49
- For more information, see https://www.reka-ui.com/docs/components/${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 As=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||=no(void 0,"reka-dialog-title"),l.descriptionId||=no(void 0,"reka-dialog-description"),e.onMounted(()=>{l.contentElement=a,ze()!==document.body&&(l.triggerElement.value=ze())}),process.env.NODE_ENV!=="production"&&Ds({titleName:"DialogTitle",contentName:"DialogContent",componentLink:"dialog.html#title",titleId:l.titleId,descriptionId:l.descriptionId,contentElement:a}),(c,u)=>(e.openBlock(),e.createBlock(e.unref(Dr),{"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(Ns)(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"]))}}),Ar=As,Is=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=mo(r),{forwardRef:a,currentElement:c}=pe();return Br(c),(u,i)=>(e.openBlock(),e.createBlock(Ar,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 m=d.detail.originalEvent,k=m.button===0&&m.ctrlKey===!0;(m.button===2||k)&&d.preventDefault()}),onFocusOutside:i[2]||(i[2]=d=>{d.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},16,["trap-focus"]))}}),$s=Is,Ts=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=mo(o);pe();const s=Ke(),a=e.ref(!1),c=e.ref(!1);return(u,i)=>(e.openBlock(),e.createBlock(Ar,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 m=d.target;e.unref(s).triggerElement.value?.contains(m)&&d.preventDefault(),d.detail.originalEvent.type==="focusin"&&c.value&&d.preventDefault()})}),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},16))}}),_s=Ts,Ps=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=mo(r),{forwardRef:a}=pe();return(c,u)=>(e.openBlock(),e.createBlock(e.unref(ln),{present:c.forceMount||e.unref(l).open.value},{default:e.withCtx(()=>[e.unref(l).modal.value?(e.openBlock(),e.createBlock($s,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(_s,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"]))}}),Os=Ps,Rs=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"]))}}),Ls=Rs,Fs=e.defineComponent({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const o=Ke();return Cr(!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"]))}}),qs=Fs,js=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(ln),{key:0,present:r.forceMount||e.unref(o).open.value},{default:e.withCtx(()=>[e.createVNode(qs,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)}}),Us=js,Hs=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)}}),Ir=Hs,Ws=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(Ir),e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Gs=Ws,Ks=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"]))}}),Qs=Ks;const Tn="data-reka-collection-item";function zt(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 m=l.collectionRef.value;if(!m)return[];const k=Array.from(m.querySelectorAll(`[${Tn}]`)),b=Array.from(l.itemMap.value.values()).sort((x,p)=>k.indexOf(x.ref)-k.indexOf(p.ref));return d?b:b.filter(x=>x.ref.dataset.disabled!=="")},a=e.defineComponent({name:"CollectionSlot",inheritAttrs:!1,setup(d,{slots:m,attrs:k}){const{primitiveElement:w,currentElement:b}=jo();return e.watch(b,()=>{l.collectionRef.value=b.value}),()=>e.h(qo,{ref:w,...k},m)}}),c=e.defineComponent({name:"CollectionItem",inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(d,{slots:m,attrs:k}){const{primitiveElement:w,currentElement:b}=jo();return e.watchEffect(x=>{if(b.value){const p=e.markRaw(b.value);l.itemMap.value.set(p,{ref:b.value,value:d.value}),x(()=>l.itemMap.value.delete(p))}}),()=>e.h(qo,{...k,[Tn]:"",ref:w},m)}}),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 Ys=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=Ys,Xs=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}=jo(),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 m=new Event("input",{bubbles:!0}),k=new Event("change",{bubbles:!0});d.call(c,s),c.dispatchEvent(m),c.dispatchEvent(k)}}),(s,a)=>(e.openBlock(),e.createBlock($r,e.mergeProps({ref_key:"primitiveElement",ref:n},{...o,...s.$attrs},{as:"input"}),null,16))}}),_n=Xs,Zs=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))}}),Js=Zs;const[Tr,ei]=We("PopperRoot");var ti=e.defineComponent({inheritAttrs:!1,__name:"PopperRoot",setup(t){const o=e.ref();return ei({anchor:o,onAnchorChange:n=>o.value=n}),(n,r)=>e.renderSlot(n.$slots,"default")}}),oi=ti,ni=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=Tr();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"]))}}),ri=ni;function li(t){return t!==null}function ai(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]=Uo(n),m={start:"0%",center:"50%",end:"100%"}[d],k=(l.arrow?.x??0)+c/2,w=(l.arrow?.y??0)+u/2;let b="",x="";return i==="bottom"?(b=a?m:`${k}px`,x=`${-u}px`):i==="top"?(b=a?m:`${k}px`,x=`${r.floating.height+u}px`):i==="right"?(b=`${-u}px`,x=a?m:`${w}px`):i==="left"&&(b=`${r.floating.width+u}px`,x=a?m:`${w}px`),{data:{x:b,y:x}}}}}function Uo(t){const[o,n="center"]=t.split("-");return[o,n]}const si=["top","right","bottom","left"],et=Math.min,Be=Math.max,ro=Math.round,Ut=Math.floor,Re=t=>({x:t,y:t}),ii={left:"right",right:"left",bottom:"top",top:"bottom"},ci={start:"end",end:"start"};function Ho(t,o,n){return Be(t,et(o,n))}function Ue(t,o){return typeof t=="function"?t(o):t}function He(t){return t.split("-")[0]}function Nt(t){return t.split("-")[1]}function an(t){return t==="x"?"y":"x"}function sn(t){return t==="y"?"height":"width"}const ui=new Set(["top","bottom"]);function Oe(t){return ui.has(He(t))?"y":"x"}function cn(t){return an(Oe(t))}function di(t,o,n){n===void 0&&(n=!1);const r=Nt(t),l=cn(t),s=sn(l);let a=l==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return o.reference[s]>o.floating[s]&&(a=lo(a)),[a,lo(a)]}function fi(t){const o=lo(t);return[Wo(t),o,Wo(o)]}function Wo(t){return t.replace(/start|end/g,o=>ci[o])}const Pn=["left","right"],On=["right","left"],mi=["top","bottom"],pi=["bottom","top"];function vi(t,o,n){switch(t){case"top":case"bottom":return n?o?On:Pn:o?Pn:On;case"left":case"right":return o?mi:pi;default:return[]}}function gi(t,o,n,r){const l=Nt(t);let s=vi(He(t),n==="start",r);return l&&(s=s.map(a=>a+"-"+l),o&&(s=s.concat(s.map(Wo)))),s}function lo(t){return t.replace(/left|right|bottom|top/g,o=>ii[o])}function hi(t){return{top:0,right:0,bottom:0,left:0,...t}}function _r(t){return typeof t!="number"?hi(t):{top:t,right:t,bottom:t,left:t}}function ao(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 Rn(t,o,n){let{reference:r,floating:l}=t;const s=Oe(o),a=cn(o),c=sn(a),u=He(o),i=s==="y",d=r.x+r.width/2-l.width/2,m=r.y+r.height/2-l.height/2,k=r[c]/2-l[c]/2;let w;switch(u){case"top":w={x:d,y:r.y-l.height};break;case"bottom":w={x:d,y:r.y+r.height};break;case"right":w={x:r.x+r.width,y:m};break;case"left":w={x:r.x-l.width,y:m};break;default:w={x:r.x,y:r.y}}switch(Nt(o)){case"start":w[a]-=k*(n&&i?-1:1);break;case"end":w[a]+=k*(n&&i?-1:1);break}return w}async function yi(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:m="floating",altBoundary:k=!1,padding:w=0}=Ue(o,t),b=_r(w),p=c[k?m==="floating"?"reference":"floating":m],C=ao(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(p)))==null||n?p:p.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:i,rootBoundary:d,strategy:u})),v=m==="floating"?{x:r,y:l,width:a.floating.width,height:a.floating.height}:a.reference,g=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),f=await(s.isElement==null?void 0:s.isElement(g))?await(s.getScale==null?void 0:s.getScale(g))||{x:1,y:1}:{x:1,y:1},h=ao(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:v,offsetParent:g,strategy:u}):v);return{top:(C.top-h.top+b.top)/f.y,bottom:(h.bottom-C.bottom+b.bottom)/f.y,left:(C.left-h.left+b.left)/f.x,right:(h.right-C.right+b.right)/f.x}}const bi=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:m}=Rn(i,r,u),k=r,w={},b=0;for(let p=0;p<c.length;p++){var x;const{name:C,fn:v}=c[p],{x:g,y:f,data:h,reset:y}=await v({x:d,y:m,initialPlacement:r,placement:k,strategy:l,middlewareData:w,rects:i,platform:{...a,detectOverflow:(x=a.detectOverflow)!=null?x:yi},elements:{reference:t,floating:o}});d=g??d,m=f??m,w={...w,[C]:{...w[C],...h}},y&&b<=50&&(b++,typeof y=="object"&&(y.placement&&(k=y.placement),y.rects&&(i=y.rects===!0?await a.getElementRects({reference:t,floating:o,strategy:l}):y.rects),{x:d,y:m}=Rn(i,k,u)),p=-1)}return{x:d,y:m,placement:k,strategy:l,middlewareData:w}},wi=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}=Ue(t,o)||{};if(i==null)return{};const m=_r(d),k={x:n,y:r},w=cn(l),b=sn(w),x=await a.getDimensions(i),p=w==="y",C=p?"top":"left",v=p?"bottom":"right",g=p?"clientHeight":"clientWidth",f=s.reference[b]+s.reference[w]-k[w]-s.floating[b],h=k[w]-s.reference[w],y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(i));let B=y?y[g]:0;(!B||!await(a.isElement==null?void 0:a.isElement(y)))&&(B=c.floating[g]||s.floating[b]);const E=f/2-h/2,N=B/2-x[b]/2-1,M=et(m[C],N),S=et(m[v],N),D=M,V=B-x[b]-S,R=B/2-x[b]/2+E,G=Ho(D,R,V),H=!u.arrow&&Nt(l)!=null&&R!==G&&s.reference[b]/2-(R<D?M:S)-x[b]/2<0,ee=H?R<D?R-D:R-V:0;return{[w]:k[w]+ee,data:{[w]:G,centerOffset:R-G-ee,...H&&{alignmentOffset:ee}},reset:H}}}),xi=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:m=!0,fallbackPlacements:k,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:x=!0,...p}=Ue(t,o);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const C=He(l),v=Oe(c),g=He(c)===c,f=await(u.isRTL==null?void 0:u.isRTL(i.floating)),h=k||(g||!x?[lo(c)]:fi(c)),y=b!=="none";!k&&y&&h.push(...gi(c,x,b,f));const B=[c,...h],E=await u.detectOverflow(o,p),N=[];let M=((r=s.flip)==null?void 0:r.overflows)||[];if(d&&N.push(E[C]),m){const R=di(l,a,f);N.push(E[R[0]],E[R[1]])}if(M=[...M,{placement:l,overflows:N}],!N.every(R=>R<=0)){var S,D;const R=(((S=s.flip)==null?void 0:S.index)||0)+1,G=B[R];if(G&&(!(m==="alignment"?v!==Oe(G):!1)||M.every(L=>Oe(L.placement)===v?L.overflows[0]>0:!0)))return{data:{index:R,overflows:M},reset:{placement:G}};let H=(D=M.filter(ee=>ee.overflows[0]<=0).sort((ee,L)=>ee.overflows[1]-L.overflows[1])[0])==null?void 0:D.placement;if(!H)switch(w){case"bestFit":{var V;const ee=(V=M.filter(L=>{if(y){const ie=Oe(L.placement);return ie===v||ie==="y"}return!0}).map(L=>[L.placement,L.overflows.filter(ie=>ie>0).reduce((ie,U)=>ie+U,0)]).sort((L,ie)=>L[1]-ie[1])[0])==null?void 0:V[0];ee&&(H=ee);break}case"initialPlacement":H=c;break}if(l!==H)return{reset:{placement:H}}}return{}}}};function Ln(t,o){return{top:t.top-o.height,right:t.right-o.width,bottom:t.bottom-o.height,left:t.left-o.width}}function Fn(t){return si.some(o=>t[o]>=0)}const ki=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(o){const{rects:n,platform:r}=o,{strategy:l="referenceHidden",...s}=Ue(t,o);switch(l){case"referenceHidden":{const a=await r.detectOverflow(o,{...s,elementContext:"reference"}),c=Ln(a,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:Fn(c)}}}case"escaped":{const a=await r.detectOverflow(o,{...s,altBoundary:!0}),c=Ln(a,n.floating);return{data:{escapedOffsets:c,escaped:Fn(c)}}}default:return{}}}}},Pr=new Set(["left","top"]);async function Ci(t,o){const{placement:n,platform:r,elements:l}=t,s=await(r.isRTL==null?void 0:r.isRTL(l.floating)),a=He(n),c=Nt(n),u=Oe(n)==="y",i=Pr.has(a)?-1:1,d=s&&u?-1:1,m=Ue(o,t);let{mainAxis:k,crossAxis:w,alignmentAxis:b}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return c&&typeof b=="number"&&(w=c==="end"?b*-1:b),u?{x:w*d,y:k*i}:{x:k*i,y:w*d}}const Ei=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 Ci(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}}}}},Mi=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:v,y:g}=C;return{x:v,y:g}}},...i}=Ue(t,o),d={x:n,y:r},m=await s.detectOverflow(o,i),k=Oe(He(l)),w=an(k);let b=d[w],x=d[k];if(a){const C=w==="y"?"top":"left",v=w==="y"?"bottom":"right",g=b+m[C],f=b-m[v];b=Ho(g,b,f)}if(c){const C=k==="y"?"top":"left",v=k==="y"?"bottom":"right",g=x+m[C],f=x-m[v];x=Ho(g,x,f)}const p=u.fn({...o,[w]:b,[k]:x});return{...p,data:{x:p.x-n,y:p.y-r,enabled:{[w]:a,[k]:c}}}}}},Bi=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}=Ue(t,o),d={x:n,y:r},m=Oe(l),k=an(m);let w=d[k],b=d[m];const x=Ue(c,o),p=typeof x=="number"?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(u){const g=k==="y"?"height":"width",f=s.reference[k]-s.floating[g]+p.mainAxis,h=s.reference[k]+s.reference[g]-p.mainAxis;w<f?w=f:w>h&&(w=h)}if(i){var C,v;const g=k==="y"?"width":"height",f=Pr.has(He(l)),h=s.reference[m]-s.floating[g]+(f&&((C=a.offset)==null?void 0:C[m])||0)+(f?0:p.crossAxis),y=s.reference[m]+s.reference[g]+(f?0:((v=a.offset)==null?void 0:v[m])||0)-(f?p.crossAxis:0);b<h?b=h:b>y&&(b=y)}return{[k]:w,[m]:b}}}},zi=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}=Ue(t,o),d=await a.detectOverflow(o,i),m=He(l),k=Nt(l),w=Oe(l)==="y",{width:b,height:x}=s.floating;let p,C;m==="top"||m==="bottom"?(p=m,C=k===(await(a.isRTL==null?void 0:a.isRTL(c.floating))?"start":"end")?"left":"right"):(C=m,p=k==="end"?"top":"bottom");const v=x-d.top-d.bottom,g=b-d.left-d.right,f=et(x-d[p],v),h=et(b-d[C],g),y=!o.middlewareData.shift;let B=f,E=h;if((n=o.middlewareData.shift)!=null&&n.enabled.x&&(E=g),(r=o.middlewareData.shift)!=null&&r.enabled.y&&(B=v),y&&!k){const M=Be(d.left,0),S=Be(d.right,0),D=Be(d.top,0),V=Be(d.bottom,0);w?E=b-2*(M!==0||S!==0?M+S:Be(d.left,d.right)):B=x-2*(D!==0||V!==0?D+V:Be(d.top,d.bottom))}await u({...o,availableWidth:E,availableHeight:B});const N=await a.getDimensions(c.floating);return b!==N.width||x!==N.height?{reset:{rects:!0}}:{}}}};function po(){return typeof window<"u"}function ut(t){return un(t)?(t.nodeName||"").toLowerCase():"#document"}function Ne(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function qe(t){var o;return(o=(un(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function un(t){return po()?t instanceof Node||t instanceof Ne(t).Node:!1}function Ae(t){return po()?t instanceof Element||t instanceof Ne(t).Element:!1}function Le(t){return po()?t instanceof HTMLElement||t instanceof Ne(t).HTMLElement:!1}function qn(t){return!po()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ne(t).ShadowRoot}const Ni=new Set(["inline","contents"]);function Ot(t){const{overflow:o,overflowX:n,overflowY:r,display:l}=Ie(t);return/auto|scroll|overlay|hidden|clip/.test(o+r+n)&&!Ni.has(l)}const Si=new Set(["table","td","th"]);function Vi(t){return Si.has(ut(t))}const Di=[":popover-open",":modal"];function vo(t){return Di.some(o=>{try{return t.matches(o)}catch{return!1}})}const Ai=["transform","translate","scale","rotate","perspective"],Ii=["transform","translate","scale","rotate","perspective","filter"],$i=["paint","layout","strict","content"];function dn(t){const o=fn(),n=Ae(t)?Ie(t):t;return Ai.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)||Ii.some(r=>(n.willChange||"").includes(r))||$i.some(r=>(n.contain||"").includes(r))}function Ti(t){let o=tt(t);for(;Le(o)&&!Et(o);){if(dn(o))return o;if(vo(o))return null;o=tt(o)}return null}function fn(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const _i=new Set(["html","body","#document"]);function Et(t){return _i.has(ut(t))}function Ie(t){return Ne(t).getComputedStyle(t)}function go(t){return Ae(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function tt(t){if(ut(t)==="html")return t;const o=t.assignedSlot||t.parentNode||qn(t)&&t.host||qe(t);return qn(o)?o.host:o}function Or(t){const o=tt(t);return Et(o)?t.ownerDocument?t.ownerDocument.body:t.body:Le(o)&&Ot(o)?o:Or(o)}function $t(t,o,n){var r;o===void 0&&(o=[]),n===void 0&&(n=!0);const l=Or(t),s=l===((r=t.ownerDocument)==null?void 0:r.body),a=Ne(l);if(s){const c=Go(a);return o.concat(a,a.visualViewport||[],Ot(l)?l:[],c&&n?$t(c):[])}return o.concat(l,$t(l,[],n))}function Go(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Rr(t){const o=Ie(t);let n=parseFloat(o.width)||0,r=parseFloat(o.height)||0;const l=Le(t),s=l?t.offsetWidth:n,a=l?t.offsetHeight:r,c=ro(n)!==s||ro(r)!==a;return c&&(n=s,r=a),{width:n,height:r,$:c}}function mn(t){return Ae(t)?t:t.contextElement}function wt(t){const o=mn(t);if(!Le(o))return Re(1);const n=o.getBoundingClientRect(),{width:r,height:l,$:s}=Rr(o);let a=(s?ro(n.width):n.width)/r,c=(s?ro(n.height):n.height)/l;return(!a||!Number.isFinite(a))&&(a=1),(!c||!Number.isFinite(c))&&(c=1),{x:a,y:c}}const Pi=Re(0);function Lr(t){const o=Ne(t);return!fn()||!o.visualViewport?Pi:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function Oi(t,o,n){return o===void 0&&(o=!1),!n||o&&n!==Ne(t)?!1:o}function ct(t,o,n,r){o===void 0&&(o=!1),n===void 0&&(n=!1);const l=t.getBoundingClientRect(),s=mn(t);let a=Re(1);o&&(r?Ae(r)&&(a=wt(r)):a=wt(t));const c=Oi(s,n,r)?Lr(s):Re(0);let u=(l.left+c.x)/a.x,i=(l.top+c.y)/a.y,d=l.width/a.x,m=l.height/a.y;if(s){const k=Ne(s),w=r&&Ae(r)?Ne(r):r;let b=k,x=Go(b);for(;x&&r&&w!==b;){const p=wt(x),C=x.getBoundingClientRect(),v=Ie(x),g=C.left+(x.clientLeft+parseFloat(v.paddingLeft))*p.x,f=C.top+(x.clientTop+parseFloat(v.paddingTop))*p.y;u*=p.x,i*=p.y,d*=p.x,m*=p.y,u+=g,i+=f,b=Ne(x),x=Go(b)}}return ao({width:d,height:m,x:u,y:i})}function ho(t,o){const n=go(t).scrollLeft;return o?o.left+n:ct(qe(t)).left+n}function Fr(t,o){const n=t.getBoundingClientRect(),r=n.left+o.scrollLeft-ho(t,n),l=n.top+o.scrollTop;return{x:r,y:l}}function Ri(t){let{elements:o,rect:n,offsetParent:r,strategy:l}=t;const s=l==="fixed",a=qe(r),c=o?vo(o.floating):!1;if(r===a||c&&s)return n;let u={scrollLeft:0,scrollTop:0},i=Re(1);const d=Re(0),m=Le(r);if((m||!m&&!s)&&((ut(r)!=="body"||Ot(a))&&(u=go(r)),Le(r))){const w=ct(r);i=wt(r),d.x=w.x+r.clientLeft,d.y=w.y+r.clientTop}const k=a&&!m&&!s?Fr(a,u):Re(0);return{width:n.width*i.x,height:n.height*i.y,x:n.x*i.x-u.scrollLeft*i.x+d.x+k.x,y:n.y*i.y-u.scrollTop*i.y+d.y+k.y}}function Li(t){return Array.from(t.getClientRects())}function Fi(t){const o=qe(t),n=go(t),r=t.ownerDocument.body,l=Be(o.scrollWidth,o.clientWidth,r.scrollWidth,r.clientWidth),s=Be(o.scrollHeight,o.clientHeight,r.scrollHeight,r.clientHeight);let a=-n.scrollLeft+ho(t);const c=-n.scrollTop;return Ie(r).direction==="rtl"&&(a+=Be(o.clientWidth,r.clientWidth)-l),{width:l,height:s,x:a,y:c}}const jn=25;function qi(t,o){const n=Ne(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=fn();(!d||d&&o==="fixed")&&(c=l.offsetLeft,u=l.offsetTop)}const i=ho(r);if(i<=0){const d=r.ownerDocument,m=d.body,k=getComputedStyle(m),w=d.compatMode==="CSS1Compat"&&parseFloat(k.marginLeft)+parseFloat(k.marginRight)||0,b=Math.abs(r.clientWidth-m.clientWidth-w);b<=jn&&(s-=b)}else i<=jn&&(s+=i);return{width:s,height:a,x:c,y:u}}const ji=new Set(["absolute","fixed"]);function Ui(t,o){const n=ct(t,!0,o==="fixed"),r=n.top+t.clientTop,l=n.left+t.clientLeft,s=Le(t)?wt(t):Re(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 Un(t,o,n){let r;if(o==="viewport")r=qi(t,n);else if(o==="document")r=Fi(qe(t));else if(Ae(o))r=Ui(o,n);else{const l=Lr(t);r={x:o.x-l.x,y:o.y-l.y,width:o.width,height:o.height}}return ao(r)}function qr(t,o){const n=tt(t);return n===o||!Ae(n)||Et(n)?!1:Ie(n).position==="fixed"||qr(n,o)}function Hi(t,o){const n=o.get(t);if(n)return n;let r=$t(t,[],!1).filter(c=>Ae(c)&&ut(c)!=="body"),l=null;const s=Ie(t).position==="fixed";let a=s?tt(t):t;for(;Ae(a)&&!Et(a);){const c=Ie(a),u=dn(a);!u&&c.position==="fixed"&&(l=null),(s?!u&&!l:!u&&c.position==="static"&&!!l&&ji.has(l.position)||Ot(a)&&!u&&qr(t,a))?r=r.filter(d=>d!==a):l=c,a=tt(a)}return o.set(t,r),r}function Wi(t){let{element:o,boundary:n,rootBoundary:r,strategy:l}=t;const a=[...n==="clippingAncestors"?vo(o)?[]:Hi(o,this._c):[].concat(n),r],c=a[0],u=a.reduce((i,d)=>{const m=Un(o,d,l);return i.top=Be(m.top,i.top),i.right=et(m.right,i.right),i.bottom=et(m.bottom,i.bottom),i.left=Be(m.left,i.left),i},Un(o,c,l));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function Gi(t){const{width:o,height:n}=Rr(t);return{width:o,height:n}}function Ki(t,o,n){const r=Le(o),l=qe(o),s=n==="fixed",a=ct(t,!0,s,o);let c={scrollLeft:0,scrollTop:0};const u=Re(0);function i(){u.x=ho(l)}if(r||!r&&!s)if((ut(o)!=="body"||Ot(l))&&(c=go(o)),r){const w=ct(o,!0,s,o);u.x=w.x+o.clientLeft,u.y=w.y+o.clientTop}else l&&i();s&&!r&&l&&i();const d=l&&!r&&!s?Fr(l,c):Re(0),m=a.left+c.scrollLeft-u.x-d.x,k=a.top+c.scrollTop-u.y-d.y;return{x:m,y:k,width:a.width,height:a.height}}function Vo(t){return Ie(t).position==="static"}function Hn(t,o){if(!Le(t)||Ie(t).position==="fixed")return null;if(o)return o(t);let n=t.offsetParent;return qe(t)===n&&(n=n.ownerDocument.body),n}function jr(t,o){const n=Ne(t);if(vo(t))return n;if(!Le(t)){let l=tt(t);for(;l&&!Et(l);){if(Ae(l)&&!Vo(l))return l;l=tt(l)}return n}let r=Hn(t,o);for(;r&&Vi(r)&&Vo(r);)r=Hn(r,o);return r&&Et(r)&&Vo(r)&&!dn(r)?n:r||Ti(t)||n}const Qi=async function(t){const o=this.getOffsetParent||jr,n=this.getDimensions,r=await n(t.floating);return{reference:Ki(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Yi(t){return Ie(t).direction==="rtl"}const Xi={convertOffsetParentRelativeRectToViewportRelativeRect:Ri,getDocumentElement:qe,getClippingRect:Wi,getOffsetParent:jr,getElementRects:Qi,getClientRects:Li,getDimensions:Gi,getScale:wt,isElement:Ae,isRTL:Yi};function Ur(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function Zi(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:m,width:k,height:w}=i;if(c||o(),!k||!w)return;const b=Ut(m),x=Ut(l.clientWidth-(d+k)),p=Ut(l.clientHeight-(m+w)),C=Ut(d),g={rootMargin:-b+"px "+-x+"px "+-p+"px "+-C+"px",threshold:Be(0,et(1,u))||1};let f=!0;function h(y){const B=y[0].intersectionRatio;if(B!==u){if(!f)return a();B?a(!1,B):r=setTimeout(()=>{a(!1,1e-7)},1e3)}B===1&&!Ur(i,t.getBoundingClientRect())&&a(),f=!1}try{n=new IntersectionObserver(h,{...g,root:l.ownerDocument})}catch{n=new IntersectionObserver(h,g)}n.observe(t)}return a(!0),s}function Ji(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=mn(t),d=l||s?[...i?$t(i):[],...$t(o)]:[];d.forEach(C=>{l&&C.addEventListener("scroll",n,{passive:!0}),s&&C.addEventListener("resize",n)});const m=i&&c?Zi(i,n):null;let k=-1,w=null;a&&(w=new ResizeObserver(C=>{let[v]=C;v&&v.target===i&&w&&(w.unobserve(o),cancelAnimationFrame(k),k=requestAnimationFrame(()=>{var g;(g=w)==null||g.observe(o)})),n()}),i&&!u&&w.observe(i),w.observe(o));let b,x=u?ct(t):null;u&&p();function p(){const C=ct(t);x&&!Ur(x,C)&&n(),x=C,b=requestAnimationFrame(p)}return n(),()=>{var C;d.forEach(v=>{l&&v.removeEventListener("scroll",n),s&&v.removeEventListener("resize",n)}),m?.(),(C=w)==null||C.disconnect(),w=null,u&&cancelAnimationFrame(b)}}const ec=Ei,tc=Mi,Wn=xi,oc=zi,nc=ki,rc=wi,lc=Bi,ac=(t,o,n)=>{const r=new Map,l={platform:Xi,...n},s={...l.platform,_c:r};return bi(t,o,{...l,platform:s})};function sc(t){return t!=null&&typeof t=="object"&&"$el"in t}function Ko(t){if(sc(t)){const o=t.$el;return un(o)&&ut(o)==="#comment"?null:o}return t}function yt(t){return typeof t=="function"?t():e.unref(t)}function ic(t){return{name:"arrow",options:t,fn(o){const n=Ko(yt(t.element));return n==null?{}:rc({element:n,padding:t.padding}).fn(o)}}}function Hr(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Gn(t,o){const n=Hr(t);return Math.round(o*n)/n}function cc(t,o,n){n===void 0&&(n={});const r=n.whileElementsMounted,l=e.computed(()=>{var B;return(B=yt(n.open))!=null?B:!0}),s=e.computed(()=>yt(n.middleware)),a=e.computed(()=>{var B;return(B=yt(n.placement))!=null?B:"bottom"}),c=e.computed(()=>{var B;return(B=yt(n.strategy))!=null?B:"absolute"}),u=e.computed(()=>{var B;return(B=yt(n.transform))!=null?B:!0}),i=e.computed(()=>Ko(t.value)),d=e.computed(()=>Ko(o.value)),m=e.ref(0),k=e.ref(0),w=e.ref(c.value),b=e.ref(a.value),x=e.shallowRef({}),p=e.ref(!1),C=e.computed(()=>{const B={position:w.value,left:"0",top:"0"};if(!d.value)return B;const E=Gn(d.value,m.value),N=Gn(d.value,k.value);return u.value?{...B,transform:"translate("+E+"px, "+N+"px)",...Hr(d.value)>=1.5&&{willChange:"transform"}}:{position:w.value,left:E+"px",top:N+"px"}});let v;function g(){if(i.value==null||d.value==null)return;const B=l.value;ac(i.value,d.value,{middleware:s.value,placement:a.value,strategy:c.value}).then(E=>{m.value=E.x,k.value=E.y,w.value=E.strategy,b.value=E.placement,x.value=E.middlewareData,p.value=B!==!1})}function f(){typeof v=="function"&&(v(),v=void 0)}function h(){if(f(),r===void 0){g();return}if(i.value!=null&&d.value!=null){v=r(i.value,d.value,g);return}}function y(){l.value||(p.value=!1)}return e.watch([s,a,c,l],g,{flush:"sync"}),e.watch([i,d],h,{flush:"sync"}),e.watch(l,y,{flush:"sync"}),e.getCurrentScope()&&e.onScopeDispose(f),{x:e.shallowReadonly(m),y:e.shallowReadonly(k),strategy:e.shallowReadonly(w),placement:e.shallowReadonly(b),middlewareData:e.shallowReadonly(x),isPositioned:e.shallowReadonly(p),floatingStyles:C,update:g}}const uc={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},[A0,dc]=We("PopperContent");var fc=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}},{...uc}),emits:["placed"],setup(t,{emit:o}){const n=t,r=o,l=Tr(),{forwardRef:s,currentElement:a}=pe(),c=e.ref(),u=e.ref(),{width:i,height:d}=ls(u),m=e.computed(()=>n.side+(n.align!=="center"?`-${n.align}`:"")),k=e.computed(()=>typeof n.collisionPadding=="number"?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),w=e.computed(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),b=e.computed(()=>({padding:k.value,boundary:w.value.filter(li),altBoundary:w.value.length>0})),x=e.computed(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),p=se.computedEager(()=>[ec({mainAxis:n.sideOffset+d.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&Wn({...b.value,...x.value}),n.avoidCollisions&&tc({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky==="partial"?lc():void 0,...b.value}),!n.prioritizePosition&&n.avoidCollisions&&Wn({...b.value,...x.value}),oc({...b.value,apply:({elements:D,rects:V,availableWidth:R,availableHeight:G})=>{const{width:H,height:ee}=V.reference,L=D.floating.style;L.setProperty("--reka-popper-available-width",`${R}px`),L.setProperty("--reka-popper-available-height",`${G}px`),L.setProperty("--reka-popper-anchor-width",`${H}px`),L.setProperty("--reka-popper-anchor-height",`${ee}px`)}}),u.value&&ic({element:u.value,padding:n.arrowPadding}),ai({arrowWidth:i.value,arrowHeight:d.value}),n.hideWhenDetached&&nc({strategy:"referenceHidden",...b.value})]),C=e.computed(()=>n.reference??l.anchor.value),{floatingStyles:v,placement:g,isPositioned:f,middlewareData:h}=cc(C,c,{strategy:n.positionStrategy,placement:m,whileElementsMounted:(...D)=>Ji(...D,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy==="always"}),middleware:p}),y=e.computed(()=>Uo(g.value)[0]),B=e.computed(()=>Uo(g.value)[1]);e.watchPostEffect(()=>{f.value&&r("placed")});const E=e.computed(()=>{const D=h.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&D}),N=e.ref("");e.watchEffect(()=>{a.value&&(N.value=window.getComputedStyle(a.value).zIndex)});const M=e.computed(()=>h.value.arrow?.x??0),S=e.computed(()=>h.value.arrow?.y??0);return dc({placedSide:y,onArrowChange:D=>u.value=D,arrowX:M,arrowY:S,shouldHideArrow:E}),(D,V)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"floatingRef",ref:c,"data-reka-popper-content-wrapper":"",style:e.normalizeStyle({...e.unref(v),transform:e.unref(f)?e.unref(v).transform:"translate(0, -200%)",minWidth:"max-content",zIndex:N.value,"--reka-popper-transform-origin":[e.unref(h).transformOrigin?.x,e.unref(h).transformOrigin?.y].join(" "),...e.unref(h).hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}})},[e.createVNode(e.unref(ve),e.mergeProps({ref:e.unref(s)},D.$attrs,{"as-child":n.asChild,as:D.as,"data-side":y.value,"data-align":B.value,style:{animation:e.unref(f)?void 0:"none"}}),{default:e.withCtx(()=>[e.renderSlot(D.$slots,"default")]),_:3},16,["as-child","as","data-side","data-align","style"])],4))}}),mc=fc;function pc(t){const o=fo({nonce:e.ref()});return e.computed(()=>t?.value||o.nonce?.value)}var vc=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))}}),gc=vc;const hc=[" ","Enter","ArrowUp","ArrowDown"],yc=[" ","Enter"],De=10;function Tt(t,o,n){return t===void 0?!1:Array.isArray(t)?t.some(r=>Qo(r,o,n)):Qo(t,o,n)}function Qo(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]:Ua(t,o)}function bc(t){return t==null||t===""||Array.isArray(t)&&t.length===0}const wc={key:0,value:""},[ot,Wr]=We("SelectRoot");var xc=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(),m=e.ref(),k=e.ref({x:0,y:0}),w=e.computed(()=>a.value&&Array.isArray(u.value)?u.value?.length===0:Lo(u.value));zt({isProvider:!0});const b=Za(c),x=Er(d),p=e.ref(new Set),C=e.computed(()=>Array.from(p.value).map(f=>f.value).join(";"));function v(f){if(a.value){const h=Array.isArray(u.value)?[...u.value]:[],y=h.findIndex(B=>Qo(B,f,n.by));y===-1?h.push(f):h.splice(y,1),u.value=[...h]}else u.value=f}function g(f){return Array.from(p.value).find(h=>Tt(f,h.value,n.by))}return Wr({triggerElement:d,onTriggerChange:f=>{d.value=f},valueElement:m,onValueElementChange:f=>{m.value=f},contentId:"",modelValue:u,onValueChange:v,by:n.by,open:i,multiple:a,required:l,onOpenChange:f=>{i.value=f},dir:b,triggerPointerDownPosRef:k,disabled:s,isEmptyModelValue:w,optionsSet:p,onOptionAdd:f=>{const h=g(f.value);h&&p.value.delete(h),p.value.add(f)},onOptionRemove:f=>{const h=g(f.value);h&&p.value.delete(h)}}),(f,h)=>(e.openBlock(),e.createBlock(e.unref(oi),null,{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{modelValue:e.unref(u),open:e.unref(i)}),e.unref(x)?(e.openBlock(),e.createBlock(Ec,{key:C.value,"aria-hidden":"true",tabindex:"-1",multiple:e.unref(a),required:e.unref(l),name:f.name,autocomplete:f.autocomplete,disabled:e.unref(s),value:e.unref(u)},{default:e.withCtx(()=>[e.unref(Lo)(e.unref(u))?(e.openBlock(),e.createElementBlock("option",wc)):e.createCommentVNode("v-if",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Array.from(p.value),y=>(e.openBlock(),e.createElementBlock("option",e.mergeProps({key:y.value??""},{ref_for:!0},y),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):e.createCommentVNode("v-if",!0)]),_:3}))}}),kc=xc,Cc=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=ot();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}))}}),Ec=Cc,Mc=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(mc),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))}}),Bc=Mc;const zc={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[dt,Gr]=We("SelectContent");var Nc=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=ot();Ja(),Cr(n.bodyLock);const{CollectionSlot:s,getItems:a}=zt(),c=e.ref();Br(c);const{search:u,handleTypeaheadSearch:i}=zr(),d=e.ref(),m=e.ref(),k=e.ref(),w=e.ref(!1),b=e.ref(!1),x=e.ref(!1);function p(){m.value&&c.value&&$n([m.value,c.value])}e.watch(w,()=>{p()});const{onOpenChange:C,triggerPointerDownPosRef:v}=l;e.watchEffect(y=>{if(!c.value)return;let B={x:0,y:0};const E=M=>{B={x:Math.abs(Math.round(M.pageX)-(v.value?.x??0)),y:Math.abs(Math.round(M.pageY)-(v.value?.y??0))}},N=M=>{M.pointerType!=="touch"&&(B.x<=10&&B.y<=10?M.preventDefault():c.value?.contains(M.target)||C(!1),document.removeEventListener("pointermove",E),v.value=null)};v.value!==null&&(document.addEventListener("pointermove",E),document.addEventListener("pointerup",N,{capture:!0,once:!0})),y(()=>{document.removeEventListener("pointermove",E),document.removeEventListener("pointerup",N,{capture:!0})})});function g(y){const B=y.ctrlKey||y.altKey||y.metaKey;if(y.key==="Tab"&&y.preventDefault(),!B&&y.key.length===1&&i(y.key,a()),["ArrowUp","ArrowDown","Home","End"].includes(y.key)){let N=[...a().map(M=>M.ref)];if(["ArrowUp","End"].includes(y.key)&&(N=N.slice().reverse()),["ArrowUp","ArrowDown"].includes(y.key)){const M=y.target,S=N.indexOf(M);N=N.slice(S+1)}setTimeout(()=>$n(N)),y.preventDefault()}}const f=e.computed(()=>n.position==="popper"?n:{}),h=Ge(f.value);return Gr({content:c,viewport:d,onViewportChange:y=>{d.value=y},itemRefCallback:(y,B,E)=>{const N=!b.value&&!E,M=Tt(l.modelValue.value,B,l.by);if(l.multiple.value){if(x.value)return;(M||N)&&(m.value=y,M&&(x.value=!0))}else(M||N)&&(m.value=y);N&&(b.value=!0)},selectedItem:m,selectedItemText:k,onItemLeave:()=>{c.value?.focus()},itemTextRefCallback:(y,B,E)=>{const N=!b.value&&!E;(Tt(l.modelValue.value,B,l.by)||N)&&(k.value=y)},focusSelectedItem:p,position:n.position,isPositioned:w,searchRef:u}),(y,B)=>(e.openBlock(),e.createBlock(e.unref(s),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Dr),{"as-child":"",onMountAutoFocus:B[6]||(B[6]=e.withModifiers(()=>{},["prevent"])),onUnmountAutoFocus:B[7]||(B[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":y.disableOutsidePointerEvents,onFocusOutside:B[2]||(B[2]=e.withModifiers(()=>{},["prevent"])),onDismiss:B[3]||(B[3]=E=>e.unref(l).onOpenChange(!1)),onEscapeKeyDown:B[4]||(B[4]=E=>r("escapeKeyDown",E)),onPointerDownOutside:B[5]||(B[5]=E=>r("pointerDownOutside",E))},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.position==="popper"?Bc:Ac),e.mergeProps({...y.$attrs,...e.unref(h)},{id:e.unref(l).contentId,ref:E=>{const N=e.unref(se.unrefElement)(E);N?.hasAttribute("data-reka-popper-content-wrapper")?c.value=N.firstElementChild:c.value=N},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:B[0]||(B[0]=e.withModifiers(()=>{},["prevent"])),onPlaced:B[1]||(B[1]=E=>w.value=!0),onKeydown:g}),{default:e.withCtx(()=>[e.renderSlot(y.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),Sc=Nc;const[pn,Vc]=We("SelectItemAlignedPosition");var Dc=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}=zt(),s=ot(),a=dt(),c=e.ref(!1),u=e.ref(!0),i=e.ref(),{forwardRef:d,currentElement:m}=pe(),{viewport:k,selectedItem:w,selectedItemText:b,focusSelectedItem:x}=a;function p(){if(s.triggerElement.value&&s.valueElement.value&&i.value&&m.value&&k?.value&&w?.value&&b?.value){const g=s.triggerElement.value.getBoundingClientRect(),f=m.value.getBoundingClientRect(),h=s.valueElement.value.getBoundingClientRect(),y=b.value.getBoundingClientRect();if(s.dir.value!=="rtl"){const z=y.left-f.left,$=h.left-z,A=g.left-$,j=g.width+A,ne=Math.max(j,f.width),re=window.innerWidth-De,xe=Sn($,De,Math.max(De,re-ne));i.value.style.minWidth=`${j}px`,i.value.style.left=`${xe}px`}else{const z=f.right-y.right,$=window.innerWidth-h.right-z,A=window.innerWidth-g.right-$,j=g.width+A,ne=Math.max(j,f.width),re=window.innerWidth-De,xe=Sn($,De,Math.max(De,re-ne));i.value.style.minWidth=`${j}px`,i.value.style.right=`${xe}px`}const B=l().map(z=>z.ref),E=window.innerHeight-De*2,N=k.value.scrollHeight,M=window.getComputedStyle(m.value),S=Number.parseInt(M.borderTopWidth,10),D=Number.parseInt(M.paddingTop,10),V=Number.parseInt(M.borderBottomWidth,10),R=Number.parseInt(M.paddingBottom,10),G=S+D+N+R+V,H=Math.min(w.value.offsetHeight*5,G),ee=window.getComputedStyle(k.value),L=Number.parseInt(ee.paddingTop,10),ie=Number.parseInt(ee.paddingBottom,10),U=g.top+g.height/2-De,O=E-U,K=w.value.offsetHeight/2,Z=w.value.offsetTop+K,W=S+D+Z,me=G-W;if(W<=U){const z=w.value===B[B.length-1];i.value.style.bottom="0px";const $=m.value.clientHeight-k.value.offsetTop-k.value.offsetHeight,A=Math.max(O,K+(z?ie:0)+$+V),j=W+A;i.value.style.height=`${j}px`}else{const z=w.value===B[0];i.value.style.top="0px";const A=Math.max(U,S+k.value.offsetTop+(z?L:0)+K)+me;i.value.style.height=`${A}px`,k.value.scrollTop=W-U+k.value.offsetTop}i.value.style.margin=`${De}px 0`,i.value.style.minHeight=`${H}px`,i.value.style.maxHeight=`${E}px`,r("placed"),requestAnimationFrame(()=>c.value=!0)}}const C=e.ref("");e.onMounted(async()=>{await e.nextTick(),p(),m.value&&(C.value=window.getComputedStyle(m.value).zIndex)});function v(g){g&&u.value===!0&&(p(),x?.(),u.value=!1)}return se.useResizeObserver(s.triggerElement,()=>{p()}),Vc({contentWrapper:i,shouldExpandOnScrollRef:c,onScrollButtonChange:v}),(g,f)=>(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%"}},{...g.$attrs,...n}),{default:e.withCtx(()=>[e.renderSlot(g.$slots,"default")]),_:3},16)],4))}}),Ac=Dc,Ic=e.defineComponent({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(t){return Wr(t.context),Gr(zc),(n,r)=>e.renderSlot(n.$slots,"default")}}),$c=Ic;const Tc={key:1};var _c=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=ot(),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,m)=>u.value||i.value||c.value?.present?(e.openBlock(),e.createBlock(e.unref(ln),{key:0,ref_key:"presenceRef",ref:c,present:u.value},{default:e.withCtx(()=>[e.createVNode(Sc,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",Tc,[(e.openBlock(),e.createBlock(e.Teleport,{to:a.value},[e.createVNode($c,{context:e.unref(s)},{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):e.createCommentVNode("v-if",!0)}}),Pc=_c,Oc=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"]))}}),Rc=Oc;const[Kr,Lc]=We("SelectItem");var Fc=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=ot(),a=dt(),{forwardRef:c,currentElement:u}=pe(),{CollectionItem:i}=zt(),d=e.computed(()=>Tt(s.modelValue?.value,n.value,s.by)),m=e.ref(!1),k=e.ref(n.textValue??""),w=no(void 0,"reka-select-item-text"),b="select.select";async function x(f){if(f.defaultPrevented)return;const h={originalEvent:f,value:n.value};nn(b,p,h)}async function p(f){await e.nextTick(),r("select",f),!f.defaultPrevented&&(l.value||(s.onValueChange(n.value),s.multiple.value||s.onOpenChange(!1)))}async function C(f){await e.nextTick(),!f.defaultPrevented&&(l.value?a.onItemLeave?.():f.currentTarget?.focus({preventScroll:!0}))}async function v(f){await e.nextTick(),!f.defaultPrevented&&f.currentTarget===ze()&&a.onItemLeave?.()}async function g(f){await e.nextTick(),!(f.defaultPrevented||a.searchRef?.value!==""&&f.key===" ")&&(yc.includes(f.key)&&x(f),f.key===" "&&f.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)}),Lc({value:n.value,disabled:l,textId:w,isSelected:d,onItemTextChange:f=>{k.value=((k.value||f?.textContent)??"").trim()}}),(f,h)=>(e.openBlock(),e.createBlock(e.unref(i),{value:{textValue:k.value}},{default:e.withCtx(()=>[e.createVNode(e.unref(ve),{ref:e.unref(c),role:"option","aria-labelledby":e.unref(w),"data-highlighted":m.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:f.as,"as-child":f.asChild,onFocus:h[0]||(h[0]=y=>m.value=!0),onBlur:h[1]||(h[1]=y=>m.value=!1),onPointerup:x,onPointerdown:h[2]||(h[2]=y=>{y.currentTarget.focus({preventScroll:!0})}),onTouchend:h[3]||(h[3]=e.withModifiers(()=>{},["prevent","stop"])),onPointermove:C,onPointerleave:v,onKeydown:g},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),qc=Fc,jc=e.defineComponent({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const o=t,n=Kr();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)}}),Uc=jc,Hc=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=ot(),r=dt(),l=Kr(),{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"]))}}),Wc=Hc,Gc=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(Ir),e.normalizeProps(e.guardReactiveProps(o)),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Kc=Gc,Qc=e.defineComponent({__name:"SelectScrollButtonImpl",emits:["autoScroll"],setup(t,{emit:o}){const n=o,{getItems:r}=zt(),l=dt(),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===ze())?.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))}}),Qr=Qc,Yc=e.defineComponent({__name:"SelectScrollDownButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const o=dt(),n=o.position==="item-aligned"?pn():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(Qr,{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)}}),Xc=Yc,Zc=e.defineComponent({__name:"SelectScrollUpButton",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){const o=dt(),n=o.position==="item-aligned"?pn():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(Qr,{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:"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=ot(),{forwardRef:r,currentElement:l}=pe(),s=e.computed(()=>n.disabled?.value||o.disabled);n.contentId||=no(void 0,"reka-select-content"),e.onMounted(()=>{n.onTriggerChange(l.value)});const{getItems:a}=zt(),{search:c,handleTypeaheadSearch:u,resetTypeahead:i}=zr();function d(){s.value||(n.onOpenChange(!0),i())}function m(k){d(),n.triggerPointerDownPosRef.value={x:Math.round(k.pageX),y:Math.round(k.pageY)}}return(k,w)=>(e.openBlock(),e.createBlock(e.unref(ri),{"as-child":"",reference:k.reference},{default:e.withCtx(()=>[e.createVNode(e.unref(ve),{ref:e.unref(r),role:"combobox",type:k.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(bc)(e.unref(n).modelValue?.value)?"":void 0,"as-child":k.asChild,as:k.as,onClick:w[0]||(w[0]=b=>{b?.currentTarget?.focus()}),onPointerdown:w[1]||(w[1]=b=>{if(b.pointerType==="touch")return b.preventDefault();const x=b.target;x.hasPointerCapture(b.pointerId)&&x.releasePointerCapture(b.pointerId),b.button===0&&b.ctrlKey===!1&&(m(b),b.preventDefault())}),onPointerup:w[2]||(w[2]=e.withModifiers(b=>{b.pointerType==="touch"&&m(b)},["prevent"])),onKeydown:w[3]||(w[3]=b=>{const x=e.unref(c)!=="";!(b.ctrlKey||b.altKey||b.metaKey)&&b.key.length===1&&x&&b.key===" "||(e.unref(u)(b.key,e.unref(a)()),e.unref(hc).includes(b.key)&&(d(),b.preventDefault()))})},{default:e.withCtx(()=>[e.renderSlot(k.$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"]))}}),tu=eu,ou=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=ot();e.onMounted(()=>{l.valueElement=r});const s=e.computed(()=>{let c=[];const u=Array.from(l.optionsSet.value),i=d=>u.find(m=>Tt(d,m.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"]))}}),nu=ou,ru=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=pc(n),l=dt(),s=l.position==="item-aligned"?pn():void 0,{forwardRef:a,currentElement:c}=pe();e.onMounted(()=>{l?.onViewportChange(c.value)});const u=e.ref(0);function i(d){const m=d.currentTarget,{shouldExpandOnScrollRef:k,contentWrapper:w}=s??{};if(k?.value&&w?.value){const b=Math.abs(u.value-m.scrollTop);if(b>0){const x=window.innerHeight-De*2,p=Number.parseFloat(w.value.style.minHeight),C=Number.parseFloat(w.value.style.height),v=Math.max(p,C);if(v<x){const g=v+b,f=Math.min(x,g),h=g-f;w.value.style.height=`${f}px`,w.value.style.bottom==="0px"&&(m.scrollTop=h>0?h:0,w.value.style.justifyContent="flex-end")}}}u.value=m.scrollTop}return(d,m)=>(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(()=>m[0]||(m[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))}}),lu=ru;const[au,su]=We("SwitchRoot");var iu=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=Er(u),d=e.computed(()=>n.id&&u.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return su({modelValue:s,toggleCheck:a,disabled:l}),(m,k)=>(e.openBlock(),e.createBlock(e.unref(ve),e.mergeProps(m.$attrs,{id:m.id,ref:e.unref(c),role:"switch",type:m.as==="button"?"button":void 0,value:m.value,"aria-label":m.$attrs["aria-label"]||d.value,"aria-checked":e.unref(s),"aria-required":m.required,"data-state":e.unref(s)?"checked":"unchecked","data-disabled":e.unref(l)?"":void 0,"as-child":m.asChild,as:m.as,disabled:e.unref(l),onClick:a,onKeydown:e.withKeys(e.withModifiers(a,["prevent"]),["enter"])}),{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default",{modelValue:e.unref(s)}),e.unref(i)&&m.name?(e.openBlock(),e.createBlock(e.unref(Js),{key:0,type:"checkbox",name:m.name,disabled:e.unref(l),required:m.required,value:m.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"]))}}),cu=iu,uu=e.defineComponent({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(t){const o=au();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"]))}}),du=uu;const fu=(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},mu=(t,o)=>({classGroupId:t,validator:o}),Yr=(t=new Map,o=null,n)=>({nextPart:t,validators:o,classGroupId:n}),so="-",Kn=[],pu="arbitrary..",vu=t=>{const o=hu(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return gu(a);const c=a.split(so),u=c[0]===""&&c.length>1?1:0;return Xr(c,u,o)},getConflictingClassGroupIds:(a,c)=>{if(c){const u=r[a],i=n[a];return u?i?fu(i,u):u:i||Kn}return n[a]||Kn}}},Xr=(t,o,n)=>{if(t.length-o===0)return n.classGroupId;const l=t[o],s=n.nextPart.get(l);if(s){const i=Xr(t,o+1,s);if(i)return i}const a=n.validators;if(a===null)return;const c=o===0?t.join(so):t.slice(o).join(so),u=a.length;for(let i=0;i<u;i++){const d=a[i];if(d.validator(c))return d.classGroupId}},gu=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?pu+r:void 0})(),hu=t=>{const{theme:o,classGroups:n}=t;return yu(n,o)},yu=(t,o)=>{const n=Yr();for(const r in t){const l=t[r];vn(l,n,r,o)}return n},vn=(t,o,n,r)=>{const l=t.length;for(let s=0;s<l;s++){const a=t[s];bu(a,o,n,r)}},bu=(t,o,n,r)=>{if(typeof t=="string"){wu(t,o,n);return}if(typeof t=="function"){xu(t,o,n,r);return}ku(t,o,n,r)},wu=(t,o,n)=>{const r=t===""?o:Zr(o,t);r.classGroupId=n},xu=(t,o,n,r)=>{if(Cu(t)){vn(t(r),o,n,r);return}o.validators===null&&(o.validators=[]),o.validators.push(mu(n,t))},ku=(t,o,n,r)=>{const l=Object.entries(t),s=l.length;for(let a=0;a<s;a++){const[c,u]=l[a];vn(u,Zr(o,c),n,r)}},Zr=(t,o)=>{let n=t;const r=o.split(so),l=r.length;for(let s=0;s<l;s++){const a=r[s];let c=n.nextPart.get(a);c||(c=Yr(),n.nextPart.set(a,c)),n=c}return n},Cu=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,Eu=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)}}},Yo="!",Qn=":",Mu=[],Yn=(t,o,n,r,l)=>({modifiers:t,hasImportantModifier:o,baseClassName:n,maybePostfixModifierPosition:r,isExternal:l}),Bu=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 x=0;x<d;x++){const p=l[x];if(a===0&&c===0){if(p===Qn){s.push(l.slice(u,x)),u=x+1;continue}if(p==="/"){i=x;continue}}p==="["?a++:p==="]"?a--:p==="("?c++:p===")"&&c--}const m=s.length===0?l:l.slice(u);let k=m,w=!1;m.endsWith(Yo)?(k=m.slice(0,-1),w=!0):m.startsWith(Yo)&&(k=m.slice(1),w=!0);const b=i&&i>u?i-u:void 0;return Yn(s,w,k,b)};if(o){const l=o+Qn,s=r;r=a=>a.startsWith(l)?s(a.slice(l.length)):Yn(Mu,!1,a,void 0,!0)}if(n){const l=r;r=s=>n({className:s,parseClassName:l})}return r},zu=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}},Nu=t=>({cache:Eu(t.cacheSize),parseClassName:Bu(t),sortModifiers:zu(t),...vu(t)}),Su=/\s+/,Vu=(t,o)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:l,sortModifiers:s}=o,a=[],c=t.trim().split(Su);let u="";for(let i=c.length-1;i>=0;i-=1){const d=c[i],{isExternal:m,modifiers:k,hasImportantModifier:w,baseClassName:b,maybePostfixModifierPosition:x}=n(d);if(m){u=d+(u.length>0?" "+u:u);continue}let p=!!x,C=r(p?b.substring(0,x):b);if(!C){if(!p){u=d+(u.length>0?" "+u:u);continue}if(C=r(b),!C){u=d+(u.length>0?" "+u:u);continue}p=!1}const v=k.length===0?"":k.length===1?k[0]:s(k).join(":"),g=w?v+Yo:v,f=g+C;if(a.indexOf(f)>-1)continue;a.push(f);const h=l(C,p);for(let y=0;y<h.length;++y){const B=h[y];a.push(g+B)}u=d+(u.length>0?" "+u:u)}return u},Du=(...t)=>{let o=0,n,r,l="";for(;o<t.length;)(n=t[o++])&&(r=Jr(n))&&(l&&(l+=" "),l+=r);return l},Jr=t=>{if(typeof t=="string")return t;let o,n="";for(let r=0;r<t.length;r++)t[r]&&(o=Jr(t[r]))&&(n&&(n+=" "),n+=o);return n},Au=(t,...o)=>{let n,r,l,s;const a=u=>{const i=o.reduce((d,m)=>m(d),t());return n=Nu(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=Vu(u,n);return l(u,d),d};return s=a,(...u)=>s(Du(...u))},Iu=[],he=t=>{const o=n=>n[t]||Iu;return o.isThemeGetter=!0,o},el=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,tl=/^\((?:(\w[\w-]*):)?(.+)\)$/i,$u=/^\d+\/\d+$/,Tu=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,_u=/\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$/,Pu=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ou=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ru=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,gt=t=>$u.test(t),oe=t=>!!t&&!Number.isNaN(Number(t)),Ze=t=>!!t&&Number.isInteger(Number(t)),Do=t=>t.endsWith("%")&&oe(t.slice(0,-1)),je=t=>Tu.test(t),ol=()=>!0,Lu=t=>_u.test(t)&&!Pu.test(t),gn=()=>!1,Fu=t=>Ou.test(t),qu=t=>Ru.test(t),ju=t=>!Y(t)&&!X(t),Uu=t=>nt(t,ll,gn),Y=t=>el.test(t),st=t=>nt(t,al,Lu),Xn=t=>nt(t,Zu,oe),Hu=t=>nt(t,il,ol),Wu=t=>nt(t,sl,gn),Zn=t=>nt(t,nl,gn),Gu=t=>nt(t,rl,qu),Ht=t=>nt(t,cl,Fu),X=t=>tl.test(t),At=t=>ft(t,al),Ku=t=>ft(t,sl),Jn=t=>ft(t,nl),Qu=t=>ft(t,ll),Yu=t=>ft(t,rl),Wt=t=>ft(t,cl,!0),Xu=t=>ft(t,il,!0),nt=(t,o,n)=>{const r=el.exec(t);return r?r[1]?o(r[1]):n(r[2]):!1},ft=(t,o,n=!1)=>{const r=tl.exec(t);return r?r[1]?o(r[1]):n:!1},nl=t=>t==="position"||t==="percentage",rl=t=>t==="image"||t==="url",ll=t=>t==="length"||t==="size"||t==="bg-size",al=t=>t==="length",Zu=t=>t==="number",sl=t=>t==="family-name",il=t=>t==="number"||t==="weight",cl=t=>t==="shadow",Ju=()=>{const t=he("color"),o=he("font"),n=he("text"),r=he("font-weight"),l=he("tracking"),s=he("leading"),a=he("breakpoint"),c=he("container"),u=he("spacing"),i=he("radius"),d=he("shadow"),m=he("inset-shadow"),k=he("text-shadow"),w=he("drop-shadow"),b=he("blur"),x=he("perspective"),p=he("aspect"),C=he("ease"),v=he("animate"),g=()=>["auto","avoid","all","avoid-page","page","left","right","column"],f=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],h=()=>[...f(),X,Y],y=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto","contain","none"],E=()=>[X,Y,u],N=()=>[gt,"full","auto",...E()],M=()=>[Ze,"none","subgrid",X,Y],S=()=>["auto",{span:["full",Ze,X,Y]},Ze,X,Y],D=()=>[Ze,"auto",X,Y],V=()=>["auto","min","max","fr",X,Y],R=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],G=()=>["start","end","center","stretch","center-safe","end-safe"],H=()=>["auto",...E()],ee=()=>[gt,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...E()],L=()=>[t,X,Y],ie=()=>[...f(),Jn,Zn,{position:[X,Y]}],U=()=>["no-repeat",{repeat:["","x","y","space","round"]}],O=()=>["auto","cover","contain",Qu,Uu,{size:[X,Y]}],K=()=>[Do,At,st],Z=()=>["","none","full",i,X,Y],W=()=>["",oe,At,st],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"],z=()=>[oe,Do,Jn,Zn],$=()=>["","none",b,X,Y],A=()=>["none",oe,X,Y],j=()=>["none",oe,X,Y],ne=()=>[oe,X,Y],re=()=>[gt,"full",...E()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[je],breakpoint:[je],color:[ol],container:[je],"drop-shadow":[je],ease:["in","out","in-out"],font:[ju],"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",gt,Y,X,p]}],container:["container"],columns:[{columns:[oe,Y,X,c]}],"break-after":[{"break-after":g()}],"break-before":[{"break-before":g()}],"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:h()}],overflow:[{overflow:y()}],"overflow-x":[{"overflow-x":y()}],"overflow-y":[{"overflow-y":y()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:N()}],"inset-x":[{"inset-x":N()}],"inset-y":[{"inset-y":N()}],start:[{start:N()}],end:[{end:N()}],top:[{top:N()}],right:[{right:N()}],bottom:[{bottom:N()}],left:[{left:N()}],visibility:["visible","invisible","collapse"],z:[{z:[Ze,"auto",X,Y]}],basis:[{basis:[gt,"full","auto",c,...E()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[oe,gt,"auto","initial","none",Y]}],grow:[{grow:["",oe,X,Y]}],shrink:[{shrink:["",oe,X,Y]}],order:[{order:[Ze,"first","last","none",X,Y]}],"grid-cols":[{"grid-cols":M()}],"col-start-end":[{col:S()}],"col-start":[{"col-start":D()}],"col-end":[{"col-end":D()}],"grid-rows":[{"grid-rows":M()}],"row-start-end":[{row:S()}],"row-start":[{"row-start":D()}],"row-end":[{"row-end":D()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":V()}],"auto-rows":[{"auto-rows":V()}],gap:[{gap:E()}],"gap-x":[{"gap-x":E()}],"gap-y":[{"gap-y":E()}],"justify-content":[{justify:[...R(),"normal"]}],"justify-items":[{"justify-items":[...G(),"normal"]}],"justify-self":[{"justify-self":["auto",...G()]}],"align-content":[{content:["normal",...R()]}],"align-items":[{items:[...G(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...G(),{baseline:["","last"]}]}],"place-content":[{"place-content":R()}],"place-items":[{"place-items":[...G(),"baseline"]}],"place-self":[{"place-self":["auto",...G()]}],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:H()}],mx:[{mx:H()}],my:[{my:H()}],ms:[{ms:H()}],me:[{me:H()}],mt:[{mt:H()}],mr:[{mr:H()}],mb:[{mb:H()}],ml:[{ml:H()}],"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,At,st]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Xu,Hu]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Do,Y]}],"font-family":[{font:[Ku,Wu,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,Y]}],"line-clamp":[{"line-clamp":[oe,"none",X,Xn]}],leading:[{leading:[s,...E()]}],"list-image":[{"list-image":["none",X,Y]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",X,Y]}],"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,st]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[oe,"auto",X,Y]}],"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,Y]}],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,Y]}],"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:U()}],"bg-size":[{bg:O()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ze,X,Y],radial:["",X,Y],conic:[Ze,X,Y]},Yu,Gu]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:K()}],"gradient-via-pos":[{via:K()}],"gradient-to-pos":[{to:K()}],"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,Y]}],"outline-w":[{outline:["",oe,At,st]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",d,Wt,Ht]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",m,Wt,Ht]}],"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,st]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":W()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",k,Wt,Ht]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[oe,X,Y]}],"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":z()}],"mask-image-linear-to-pos":[{"mask-linear-to":z()}],"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":z()}],"mask-image-t-to-pos":[{"mask-t-to":z()}],"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":z()}],"mask-image-r-to-pos":[{"mask-r-to":z()}],"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":z()}],"mask-image-b-to-pos":[{"mask-b-to":z()}],"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":z()}],"mask-image-l-to-pos":[{"mask-l-to":z()}],"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":z()}],"mask-image-x-to-pos":[{"mask-x-to":z()}],"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":z()}],"mask-image-y-to-pos":[{"mask-y-to":z()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[X,Y]}],"mask-image-radial-from-pos":[{"mask-radial-from":z()}],"mask-image-radial-to-pos":[{"mask-radial-to":z()}],"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":f()}],"mask-image-conic-pos":[{"mask-conic":[oe]}],"mask-image-conic-from-pos":[{"mask-conic-from":z()}],"mask-image-conic-to-pos":[{"mask-conic-to":z()}],"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:U()}],"mask-size":[{mask:O()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",X,Y]}],filter:[{filter:["","none",X,Y]}],blur:[{blur:$()}],brightness:[{brightness:[oe,X,Y]}],contrast:[{contrast:[oe,X,Y]}],"drop-shadow":[{"drop-shadow":["","none",w,Wt,Ht]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",oe,X,Y]}],"hue-rotate":[{"hue-rotate":[oe,X,Y]}],invert:[{invert:["",oe,X,Y]}],saturate:[{saturate:[oe,X,Y]}],sepia:[{sepia:["",oe,X,Y]}],"backdrop-filter":[{"backdrop-filter":["","none",X,Y]}],"backdrop-blur":[{"backdrop-blur":$()}],"backdrop-brightness":[{"backdrop-brightness":[oe,X,Y]}],"backdrop-contrast":[{"backdrop-contrast":[oe,X,Y]}],"backdrop-grayscale":[{"backdrop-grayscale":["",oe,X,Y]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[oe,X,Y]}],"backdrop-invert":[{"backdrop-invert":["",oe,X,Y]}],"backdrop-opacity":[{"backdrop-opacity":[oe,X,Y]}],"backdrop-saturate":[{"backdrop-saturate":[oe,X,Y]}],"backdrop-sepia":[{"backdrop-sepia":["",oe,X,Y]}],"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,Y]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[oe,"initial",X,Y]}],ease:[{ease:["linear","initial",C,X,Y]}],delay:[{delay:[oe,X,Y]}],animate:[{animate:["none",v,X,Y]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[x,X,Y]}],"perspective-origin":[{"perspective-origin":h()}],rotate:[{rotate:A()}],"rotate-x":[{"rotate-x":A()}],"rotate-y":[{"rotate-y":A()}],"rotate-z":[{"rotate-z":A()}],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,Y,"","none","gpu","cpu"]}],"transform-origin":[{origin:h()}],"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,Y]}],"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,Y]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[oe,At,st,Xn]}],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"]}},ed=Au(Ju);function fe(...t){return ed(kr(t))}const Pe=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(td)({variant:t.variant,size:t.size}),o.class))},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},8,["as","as-child","class"]))}}),td=qa("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"}}),Xt=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(ms),e.mergeProps({"data-slot":"dialog"},e.unref(l)),{default:e.withCtx(c=>[e.renderSlot(s.$slots,"default",e.normalizeProps(e.guardReactiveProps(c)))]),_:3},16))}});const er=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),od=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(o,n,r)=>r?r.toUpperCase():n.toLowerCase()),nd=t=>{const o=od(t);return o.charAt(0).toUpperCase()+o.slice(1)},rd=(...t)=>t.filter((o,n,r)=>!!o&&o.trim()!==""&&r.indexOf(o)===n).join(" ").trim(),tr=t=>t==="";var It={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 ld=({name:t,iconNode:o,absoluteStrokeWidth:n,"absolute-stroke-width":r,strokeWidth:l,"stroke-width":s,size:a=It.width,color:c=It.stroke,...u},{slots:i})=>e.h("svg",{...It,...u,width:a,height:a,stroke:c,"stroke-width":tr(n)||tr(r)||n===!0||r===!0?Number(l||s||It["stroke-width"])*24/Number(a):l||s||It["stroke-width"],class:rd("lucide",u.class,...t?[`lucide-${er(nd(t))}-icon`,`lucide-${er(t)}`]:["lucide-icon"])},[...o.map(d=>e.h(...d)),...i.default?[i.default()]:[]]);const Qe=(t,o)=>(n,{slots:r,attrs:l})=>e.h(ld,{...l,...n,iconNode:o,name:t},r);const ad=Qe("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);const ul=Qe("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const sd=Qe("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);const id=Qe("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);const cd=Qe("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);const ud=Qe("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);const dl=Qe("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 hn=Qe("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 io=Qe("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),dd=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(Us),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"]))}}),Zt=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(Gs),null,{default:e.withCtx(()=>[e.createVNode(dd),e.createVNode(e.unref(Os),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(vs),{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(io)),c[0]||(c[0]=e.createElementVNode("span",{class:"sr-only"},"Close",-1))]),_:1})):e.createCommentVNode("",!0)]),_:3},16,["class"])]),_:3}))}}),fd=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(Ls),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"]))}}),Jt=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))}}),eo=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))}}),to=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(Qs),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"]))}}),md={class:"space-y-2"},pd={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(Xt),{open:l.value,"onUpdate:open":u[0]||(u[0]=i=>l.value=i)},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(eo),null,{default:e.withCtx(()=>[e.createVNode(e.unref(to),null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.title),1)]),_:1}),e.createVNode(e.unref(fd),null,{default:e.withCtx(()=>[e.createElementVNode("div",md,[e.createElementVNode("p",null,e.toDisplayString(t.question),1),t.warning?(e.openBlock(),e.createElementBlock("p",pd,e.toDisplayString(t.warning),1)):e.createCommentVNode("",!0)])]),_:1})]),_:1}),e.createVNode(e.unref(Jt),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Pe),{variant:"outline",disabled:t.isDeleting,onClick:a},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.cancelLabel),1)]),_:1},8,["disabled"]),e.createVNode(e.unref(Pe),{variant:"destructive",disabled:t.isDeleting,onClick:s},{default:e.withCtx(()=>[t.isDeleting?(e.openBlock(),e.createBlock(e.unref(cd),{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"]))}}),_e=Ee.forScope("useBlobExplorer");function fl(t){const o=e.ref([]),n=e.ref(!1),r=e.ref(!1),l=e.ref(0);async function s(w){const b=t();if(!b)return{};n.value=!0;try{const C=await(await te.getClientAsync()).document(b).blobs().list({limit:w.limit,...w.cursor?{cursor:w.cursor}:{}});return o.value=C.items.map(v=>({...v,size:v.size??v.numBytes??null,uploadedAt:v.uploadedAt??v.createdAt??null})),_e.debug("Blobs page loaded",{count:o.value.length,docId:b}),console.log("blobs result",C),{nextCursor:C.cursor}}catch(x){return _e.error("Failed to load blobs",x),J("Failed to load blobs: "+ae(x)),{}}finally{n.value=!1}}async function a(w){const b=t();if(!b)return null;n.value=!0;try{const p=await(await te.getClientAsync()).document(b).blobs().get(w);if(!p)return null;const C={...p,size:p.size??p.numBytes??null,uploadedAt:p.uploadedAt??p.createdAt??null};return o.value=[C],C}catch{return o.value=[],null}finally{n.value=!1}}async function c(w,b){const x=t();if(!x)return null;r.value=!0,l.value=0;try{const C=(await te.getClientAsync()).document(x).blobs(),v=await w.arrayBuffer();b?.(10),l.value=10;const{blobId:g}=await C.upload(new Uint8Array(v),{filename:w.name,contentType:w.type||"application/octet-stream",disposition:"attachment"});return l.value=100,b?.(100),_e.debug("Blob uploaded",{blobId:g,filename:w.name}),La(`Uploaded "${w.name}"`),g}catch(p){return _e.error("Failed to upload blob",p),J("Upload failed: "+ae(p)),null}finally{r.value=!1,l.value=0}}function u(w){o.value=o.value.filter(b=>b.blobId!==w)}async function i(w){const b=t();if(!b)return!1;try{return await(await te.getClientAsync()).document(b).blobs().delete(w),o.value=o.value.filter(p=>p.blobId!==w),_e.debug("Blob deleted",{blobId:w}),!0}catch(x){return _e.error("Failed to delete blob",x),J("Delete failed: "+ae(x)),!1}}async function d(w){const b=t();if(!b)return w;const x=[];try{const C=(await te.getClientAsync()).document(b).blobs();await Promise.all(w.map(async g=>{try{await C.delete(g)}catch(f){_e.error("Failed to delete blob",{id:g,err:f}),x.push(g)}}));const v=new Set(x);o.value=o.value.filter(g=>v.has(g.blobId)||!w.includes(g.blobId)),x.length>0&&J(`Failed to delete ${x.length} blob(s).`)}catch(p){_e.error("Failed during bulk delete",p),J("Bulk delete failed: "+ae(p))}return x}async function m(w,b="attachment"){const x=t();if(!x)return null;try{return(await te.getClientAsync()).document(x).blobs().downloadUrl(w,{disposition:b})}catch(p){return _e.error("Failed to get download URL",p),null}}async function k(w,b="blob"){const x=t();if(!x)return null;try{return await(await te.getClientAsync()).document(x).blobs().read(w,{as:b})}catch(p){return _e.error("Failed to read blob content",p),null}}return{blobs:o,isLoading:n,isUploading:r,uploadProgress:l,loadPage:s,getBlob:a,uploadFile:c,removeBlob:u,deleteBlob:i,deleteBlobsBulk:d,getDownloadUrl:m,readBlobContent:k}}const vd=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 gd(t){const[o=""]=t.split(";"),n=o.trim().toLowerCase();return vd.has(n)}function ml(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 pl(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 vl(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 hd={class:"relative h-full flex"},yd=["title"],bd={class:"w-64 lg:w-72 h-full border-l border-border flex flex-col bg-background"},wd={key:0,class:"flex-1 flex flex-col items-center justify-center text-center p-6"},xd={class:"flex items-center px-3 py-2 border-b border-border shrink-0"},kd={class:"text-xs font-medium truncate"},Cd={class:"flex-1 overflow-y-auto scrollbar-thin p-3 space-y-4"},Ed={key:0},Md={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"},zd=["src"],Nd={key:1,class:"aspect-video flex items-center justify-center p-4"},Sd={key:2,class:"rounded-lg overflow-hidden border border-border bg-muted/30"},Vd=["src"],Dd={key:1,class:"h-24 flex items-center justify-center p-4"},Ad={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"},Id={key:0},$d={key:1,class:"opacity-40"},Td={class:"space-y-1"},_d=["disabled"],Pd={key:0,class:"w-3.5 h-3.5 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Od={key:1,class:"w-3.5 h-3.5 text-muted-foreground animate-spin",fill:"none",viewBox:"0 0 24 24"},Rd=["disabled"],Ld={key:0,class:"w-3.5 h-3.5 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fd={key:1,class:"w-3.5 h-3.5 text-muted-foreground animate-spin",fill:"none",viewBox:"0 0 24 24"},qd={class:"space-y-2 text-xs"},jd=["title"],Ud={class:"text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all"},Hd={key:0,class:"w-3 h-3 text-green-600 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Wd={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"},Gd={class:"flex justify-between"},Kd=["title"],Qd={class:"flex justify-between min-w-0"},Yd=["title"],Xd={class:"flex justify-between"},Zd={class:"flex justify-between"},Jd={key:0},ef={class:"text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all"},tf={key:0,class:"w-3 h-3 text-green-600 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},of={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"},nf=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}=fl(()=>n.documentId),a=e.ref(typeof window<"u"?localStorage.getItem(Ct)==="true":!1);e.watch(a,D=>{typeof window<"u"&&localStorage.setItem(Ct,String(D))});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"),m=e.computed(()=>!!c.value||!!d.value||u.value||i.value),k=e.ref(null),w=e.ref(null),b=e.ref(!1);function x(){k.value&&(URL.revokeObjectURL(k.value),k.value=null),w.value=null}async function p(D){if(x(),c.value||d.value){b.value=!0;try{const V=await l(D.blobId,"blob");V instanceof Blob&&(k.value=URL.createObjectURL(V))}finally{b.value=!1}}else if(u.value||i.value){b.value=!0;try{const V=await l(D.blobId,"text");typeof V=="string"&&(w.value=V.slice(0,600))}finally{b.value=!1}}}e.watch(()=>n.selectedBlob,D=>{D?p(D):x()},{immediate:!0}),e.onUnmounted(()=>{x(),v&&clearTimeout(v)});const C=e.ref(null);let v=null;function g(D,V){vl(D),C.value=V,v&&clearTimeout(v),v=setTimeout(()=>{C.value=null},1200)}const f=e.ref(!1);async function h(){if(!(!n.selectedBlob||f.value)){f.value=!0;try{const D=await l(n.selectedBlob.blobId,"blob");if(!D)return;const V=URL.createObjectURL(D),R=document.createElement("a");R.href=V,R.download=n.selectedBlob.filename,document.body.appendChild(R),R.click(),document.body.removeChild(R),setTimeout(()=>URL.revokeObjectURL(V),5e3)}finally{f.value=!1}}}const y=e.computed(()=>n.selectedBlob?gd(n.selectedBlob.contentType):!1),B=e.ref(!1);async function E(){if(!(!n.selectedBlob||B.value)){B.value=!0;try{const D=await l(n.selectedBlob.blobId,"blob");if(!D)return;let V=D;const R=V.type;R.startsWith("text/")&&!R.includes("charset")&&(V=new Blob([await V.arrayBuffer()],{type:`${R}; charset=utf-8`}));const G=URL.createObjectURL(V);window.open(G,"_blank"),setTimeout(()=>URL.revokeObjectURL(G),6e4)}finally{B.value=!1}}}const N=e.ref(!1),M=e.ref(!1);async function S(){if(!n.selectedBlob)return;const D=n.selectedBlob.blobId;N.value=!1,r("delete-blob",D),M.value=!0;try{await s(D)||r("reload-blobs")}finally{M.value=!1}}return(D,V)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",hd,[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:V[0]||(V[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"},[...V[5]||(V[5]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],8,yd),e.withDirectives(e.createElementVNode("div",bd,[t.selectedBlob?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",xd,[e.createElementVNode("span",kd,e.toDisplayString(t.selectedBlob.filename),1)]),e.createElementVNode("div",Cd,[m.value||b.value?(e.openBlock(),e.createElementBlock("div",Ed,[V[11]||(V[11]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Preview ",-1)),b.value?(e.openBlock(),e.createElementBlock("div",Md,[...V[7]||(V[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,[k.value?(e.openBlock(),e.createElementBlock("img",{key:0,src:k.value,class:"w-full h-auto object-contain max-h-48",alt:"Preview"},null,8,zd)):(e.openBlock(),e.createElementBlock("div",Nd,[...V[8]||(V[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",Sd,[k.value?(e.openBlock(),e.createElementBlock("iframe",{key:0,src:k.value,class:"w-full h-48 border-0",title:"PDF preview"},null,8,Vd)):(e.openBlock(),e.createElementBlock("div",Dd,[...V[9]||(V[9]=[e.createElementVNode("span",{class:"text-[10px] text-muted-foreground"},"Unable to load preview",-1)])]))])):u.value||i.value?(e.openBlock(),e.createElementBlock("div",Ad,[w.value?(e.openBlock(),e.createElementBlock("span",Id,e.toDisplayString(w.value),1)):(e.openBlock(),e.createElementBlock("span",$d,"Loading…")),V[10]||(V[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,[V[17]||(V[17]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Actions ",-1)),e.createElementVNode("div",Td,[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:f.value,onClick:h},[f.value?(e.openBlock(),e.createElementBlock("svg",Od,[...V[13]||(V[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",Pd,[...V[12]||(V[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(f.value?"Downloading…":"Download"),1)],8,_d),y.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:B.value,onClick:E},[B.value?(e.openBlock(),e.createElementBlock("svg",Fd,[...V[15]||(V[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",Ld,[...V[14]||(V[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(B.value?"Opening…":"Open in new tab"),1)],8,Rd)):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:V[1]||(V[1]=R=>N.value=!0)},[...V[16]||(V[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,[V[28]||(V[28]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Info ",-1)),e.createElementVNode("div",qd,[e.createElementVNode("div",null,[V[20]||(V[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:V[2]||(V[2]=R=>g(t.selectedBlob.blobId,"detail_blobid"))},[e.createElementVNode("code",Ud,e.toDisplayString(t.selectedBlob.blobId),1),C.value==="detail_blobid"?(e.openBlock(),e.createElementBlock("svg",Hd,[...V[18]||(V[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",Wd,[...V[19]||(V[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,jd)]),e.createElementVNode("div",Gd,[V[21]||(V[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,Kd)]),e.createElementVNode("div",Qd,[V[22]||(V[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,Yd)]),e.createElementVNode("div",Xd,[V[23]||(V[23]=e.createElementVNode("span",{class:"text-muted-foreground"},"Size",-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(ml)(t.selectedBlob.size)),1)]),e.createElementVNode("div",Zd,[V[24]||(V[24]=e.createElementVNode("span",{class:"text-muted-foreground"},"Uploaded",-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(pl)(t.selectedBlob.uploadedAt,"long")),1)]),t.selectedBlob.sha256?(e.openBlock(),e.createElementBlock("div",Jd,[V[27]||(V[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:V[3]||(V[3]=R=>g(t.selectedBlob.sha256,"detail_sha256"))},[e.createElementVNode("code",ef,e.toDisplayString(t.selectedBlob.sha256),1),C.value==="detail_sha256"?(e.openBlock(),e.createElementBlock("svg",tf,[...V[25]||(V[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",of,[...V[26]||(V[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",wd,[...V[6]||(V[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":N.value,title:"Delete Blob",question:`Delete "${t.selectedBlob?.filename}"?`,warning:"This action cannot be undone.","is-deleting":M.value,onCancel:V[4]||(V[4]=R=>N.value=!1),onConfirm:S},null,8,["is-open","question","is-deleting"])],64))}}),rf={class:"w-48 lg:w-56 border-r border-border flex flex-col bg-background shrink-0"},lf={class:"p-2 border-b border-border"},af={class:"relative"},sf={class:"flex-1 overflow-y-auto scrollbar-thin"},cf={key:1,class:"px-2 py-4 text-center text-xs text-muted-foreground"},uf=["onClick"],df=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",rf,[e.createElementVNode("div",lf,[e.createElementVNode("div",af,[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",sf,[t.documentListLoaded?s.value.length===0?(e.openBlock(),e.createElementBlock("div",cf,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:m=>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,uf))),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))])]))}}),ff={class:"bg-background rounded-lg shadow-xl w-96 p-4"},mf={key:0,class:"mb-3 text-[11px] text-destructive font-medium"},pf={key:1,class:"mb-3 p-3 bg-muted/50 rounded-lg border border-border"},vf={class:"flex items-start gap-2"},gf={class:"flex-1 min-w-0"},hf={class:"text-xs font-medium truncate"},yf={class:"text-[10px] text-muted-foreground mt-0.5"},bf={class:"flex items-center gap-1 mt-1"},wf={class:"text-[10px] font-mono text-muted-foreground"},xf={class:"flex justify-end gap-2"},kf=["disabled"],Cf=10*1024*1024,Ef=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,h=>{h||(l.value=null,a.value="",s.value=!1,u.value=null)});const i=e.computed(()=>!!l.value);function d(h){return h<1024?h+" B":h<1024*1024?(h/1024).toFixed(1)+" KB":(h/(1024*1024)).toFixed(1)+" MB"}async function m(h){const y=await h.arrayBuffer(),B=await crypto.subtle.digest("SHA-256",y);return Array.from(new Uint8Array(B)).map(N=>N.toString(16).padStart(2,"0")).join("")}async function k(h){if(u.value=null,h.size>Cf){u.value=`File is too large (${d(h.size)}). Max 10 MB.`,l.value=null,a.value="";return}l.value=h,a.value="",c.value=!0;try{const y=await m(h);a.value=y.slice(0,16)+"…"}catch{a.value="unavailable"}finally{c.value=!1}}function w(){l.value=null,a.value="",u.value=null}function b(h){const y=h.target,B=y.files?.[0];B&&k(B),y.value=""}function x(h){h.preventDefault(),s.value=!1;const y=h.dataTransfer?.files[0];y&&k(y)}function p(h){h.preventDefault(),s.value=!0}function C(){s.value=!1}function v(){l.value&&(r("upload",l.value),r("update:open",!1))}function g(){r("update:open",!1)}function f(h){h.key==="Escape"&&n.open&&(h.stopPropagation(),g())}return e.onMounted(()=>document.addEventListener("keydown",f,!0)),e.onUnmounted(()=>document.removeEventListener("keydown",f,!0)),(h,y)=>(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(g,["self"])},[e.createElementVNode("div",ff,[e.createElementVNode("div",{class:"flex items-center justify-between mb-3"},[y[2]||(y[2]=e.createElementVNode("h3",{class:"text-sm font-semibold"},"Upload Blob",-1)),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded",onClick:g},[...y[1]||(y[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:y[0]||(y[0]=B=>h.$refs.fileInput.click()),onDrop:x,onDragover:p,onDragleave:C},[y[3]||(y[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)),y[4]||(y[4]=e.createElementVNode("p",{class:"text-xs font-medium"},[e.createTextVNode(" Drop file here or "),e.createElementVNode("span",{class:"text-primary underline"},"browse")],-1)),y[5]||(y[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:b},null,544)],34),u.value?(e.openBlock(),e.createElementBlock("p",mf,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",pf,[e.createElementVNode("div",vf,[y[8]||(y[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",gf,[e.createElementVNode("div",hf,e.toDisplayString(l.value.name),1),e.createElementVNode("div",yf,e.toDisplayString(d(l.value.size)),1),e.createElementVNode("div",bf,[y[6]||(y[6]=e.createElementVNode("span",{class:"text-[10px] text-muted-foreground"},"SHA-256:",-1)),e.createElementVNode("span",wf,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:w},[...y[7]||(y[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",xf,[e.createElementVNode("button",{class:"px-3 py-1.5 text-xs hover:bg-muted rounded",onClick:g}," 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:v},[...y[9]||(y[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,kf)])])])):e.createCommentVNode("",!0)]))}}),Mf={class:"flex flex-col flex-1 min-h-0"},Bf={class:"flex-1 relative min-h-0"},zf={class:"absolute inset-0 overflow-auto scrollbar-thin"},Nf={key:0,class:"p-6 space-y-2 animate-pulse"},Sf={key:1,class:"flex flex-col items-center justify-center h-full py-16 text-center"},Vf={class:"text-xs text-muted-foreground"},Df={key:2,class:"w-full min-w-[680px] text-xs"},Af={class:"border-b border-border"},If={key:0,class:"w-8 px-2 py-1.5 text-left sticky top-0 z-10 bg-muted"},$f=["checked","indeterminate"],Tf={class:"divide-y divide-border"},_f=["onClick"],Pf=["checked","onChange"],Of={class:"px-2 py-2"},Rf={class:"flex items-center gap-2"},Lf={class:"font-medium truncate max-w-[180px]"},Ff={class:"px-2 py-2 text-muted-foreground text-[10px] font-mono"},qf={class:"px-2 py-2 text-muted-foreground"},jf={class:"px-2 py-2 text-muted-foreground"},Uf={class:"px-2 py-2"},Hf=["title","onClick"],Wf={class:"truncate max-w-[90px]"},Gf={key:0,class:"w-3 h-3 text-green-600 shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Kf={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"},Yf=["onClick"],Xf=["onClick"],Zf={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"},Jf={class:"flex items-center gap-2 text-muted-foreground"},em=["value"],tm=["value"],om={class:"flex items-center gap-1"},nm=["disabled"],rm={class:"px-2 py-1 tabular-nums text-muted-foreground"},lm=["disabled"],am={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"},sm={class:"max-w-screen-lg mx-auto flex items-center gap-3"},im={class:"flex-1 min-w-0"},cm={class:"flex items-center justify-between mb-1"},um={class:"text-[10px] font-medium truncate max-w-xs"},dm={class:"text-[10px] text-muted-foreground shrink-0 ml-3"},fm={class:"w-full bg-border rounded-full h-1"},mm={key:0,class:"fixed inset-0 bg-black/50 flex items-center justify-center z-50"},pm={class:"bg-background rounded-lg shadow-xl px-6 py-4 flex items-center gap-3"},vm={class:"text-sm"},or="primitive-blob-explorer-page-size",gm=25,hm=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:m,removeBlob:k,deleteBlob:w,deleteBlobsBulk:b,readBlobContent:x}=fl(()=>r.documentId),p=[10,25,50,100];function C(){try{const I=localStorage.getItem(or);if(I){const T=Number(I);if(p.includes(T))return T}}catch{}return gm}function v(I){try{localStorage.setItem(or,String(I))}catch{}}const g=e.ref(1),f=e.ref(C()),h=e.ref([void 0]),y=e.computed(()=>r.searchQuery.trim().length>0);let B=null;e.watch(()=>r.searchQuery,I=>{B&&clearTimeout(B),B=setTimeout(()=>{I.trim()?E(I.trim()):M()},300)});async function E(I){G.value=null,l("select-blob",null),H.value=new Set,l("selection-change",0),await d(I)}function N(){h.value=[void 0],g.value=1}async function M(){N(),await S(1)}async function S(I){const T=h.value[I-1],{nextCursor:q}=await i({cursor:T,limit:f.value});if(q){const ce=[...h.value];ce[I]=q,h.value=ce}g.value=I}async function D(){g.value>1&&await S(g.value-1)}async function V(){s.value.length>0&&await S(g.value+1)}e.onMounted(()=>{y.value||S(1)}),e.watch(()=>r.documentId,()=>{G.value=null,H.value=new Set,l("selection-change",0),l("select-blob",null),N(),y.value||S(1)});function R(I){f.value=I,v(I),N(),y.value||S(1)}const G=e.ref(null),H=e.ref(new Set),ee=e.computed(()=>s.value.length>0&&s.value.every(I=>H.value.has(I.blobId))),L=e.computed(()=>!ee.value&&s.value.some(I=>H.value.has(I.blobId)));function ie(I){const T=new Set(H.value);I?s.value.forEach(q=>T.add(q.blobId)):s.value.forEach(q=>T.delete(q.blobId)),H.value=T,l("selection-change",T.size)}function U(I,T){const q=new Set(H.value);T?q.add(I):q.delete(I),H.value=q,l("selection-change",q.size)}function O(){H.value=new Set,l("selection-change",0)}function K(I){G.value===I.blobId?(G.value=null,l("select-blob",null)):(G.value=I.blobId,l("select-blob",I))}function Z(){G.value=null,l("select-blob",null)}const W=e.ref(null),me=e.ref(""),le=e.ref(!1);function z(I,T){W.value=I,me.value=T}async function $(){if(!W.value)return;const I=W.value;W.value=null,k(I),G.value===I&&Z();const T=new Set(H.value);T.delete(I)&&(H.value=T,l("selection-change",T.size)),le.value=!0;try{await w(I)||y.value||await S(g.value)}finally{le.value=!1}}const A=e.ref(!1),j=e.ref(!1);function ne(){A.value=!0}async function re(){A.value=!1,j.value=!0;const I=[...H.value];try{await b(I),G.value&&I.includes(G.value)&&Z(),O()}finally{j.value=!1}}function xe(I){k(I),G.value===I&&Z();const T=new Set(H.value);T.delete(I)&&(H.value=T,l("selection-change",T.size))}const be=e.ref(null);async function mt(I){be.value=I.name;const T=await m(I);be.value=null,T&&!y.value&&(N(),await S(1))}async function rt(){y.value?await E(r.searchQuery.trim()):(N(),await S(1))}const $e=e.ref(null);let Te=null;e.onUnmounted(()=>{Te&&clearTimeout(Te),B&&clearTimeout(B)});function Ye(I,T){vl(I),T&&($e.value=T,Te&&clearTimeout(Te),Te=setTimeout(()=>{$e.value=null},1200))}async function St(I,T){const q=await x(I,"blob");if(!q)return;const ce=URL.createObjectURL(q),de=document.createElement("a");de.href=ce,de.download=T,document.body.appendChild(de),de.click(),document.body.removeChild(de),setTimeout(()=>URL.revokeObjectURL(ce),5e3)}function lt(I){return I.length>10?"…"+I.slice(-10):I}function Vt(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 _(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:rt,clearSelection:O,handleExternalDelete:xe,selectedCount:e.computed(()=>H.value.size)}),(I,T)=>(e.openBlock(),e.createElementBlock("div",Mf,[e.createElementVNode("div",Bf,[e.createElementVNode("div",zf,[e.unref(a)?(e.openBlock(),e.createElementBlock("div",Nf,[...T[7]||(T[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",Sf,[T[8]||(T[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",Vf,e.toDisplayString(y.value?"No blob found with that ID":"No blobs uploaded yet"),1)])):(e.openBlock(),e.createElementBlock("table",Df,[e.createElementVNode("thead",null,[e.createElementVNode("tr",Af,[t.canWrite?(e.openBlock(),e.createElementBlock("th",If,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:ee.value,indeterminate:L.value,onChange:T[0]||(T[0]=q=>ie(q.target.checked))},null,40,$f)])):e.createCommentVNode("",!0),T[9]||(T[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)),T[10]||(T[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)),T[11]||(T[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)),T[12]||(T[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)),T[13]||(T[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)),T[14]||(T[14]=e.createElementVNode("th",{class:"w-0 p-0 sticky top-0 right-0 z-20 bg-muted"},null,-1))])]),e.createElementVNode("tbody",Tf,[(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":G.value===q.blobId}]),onClick:ce=>K(q)},[t.canWrite?(e.openBlock(),e.createElementBlock("td",{key:0,class:"px-2 py-2",onClick:T[1]||(T[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:H.value.has(q.blobId),onChange:ce=>U(q.blobId,ce.target.checked)},null,40,Pf)])):e.createCommentVNode("",!0),e.createElementVNode("td",Of,[e.createElementVNode("div",Rf,[Dt(q.contentType)?(e.openBlock(),e.createElementBlock("svg",{key:0,class:e.normalizeClass(["w-4 h-4 shrink-0",_(q.contentType)]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...T[15]||(T[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",_(q.contentType)]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...T[16]||(T[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",_(q.contentType)]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...T[17]||(T[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",Lf,e.toDisplayString(q.filename),1)])]),e.createElementVNode("td",Ff,e.toDisplayString(Vt(q.contentType)),1),e.createElementVNode("td",qf,e.toDisplayString(e.unref(ml)(q.size)),1),e.createElementVNode("td",jf,e.toDisplayString(e.unref(pl)(q.uploadedAt)),1),e.createElementVNode("td",Uf,[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",Wf,e.toDisplayString(lt(q.blobId)),1),$e.value===q.blobId?(e.openBlock(),e.createElementBlock("svg",Gf,[...T[18]||(T[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",Kf,[...T[19]||(T[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,Hf)]),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:T[2]||(T[2]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:e.normalizeClass(["absolute inset-0 bg-primary/5 pointer-events-none",G.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=>St(q.blobId,q.filename)},[...T[20]||(T[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,Yf),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=>z(q.blobId,q.filename)},[...T[21]||(T[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,Xf)):e.createCommentVNode("",!0)])])],10,_f))),128))])]))])]),y.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Zf,[e.createElementVNode("div",Jf,[e.createElementVNode("select",{class:"px-1 py-0.5 text-[10px] bg-background border border-border rounded",value:f.value,onChange:T[3]||(T[3]=q=>R(Number(q.target.value)))},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(p,q=>e.createElementVNode("option",{key:q,value:q},e.toDisplayString(q),9,tm)),64))],40,em),T[22]||(T[22]=e.createElementVNode("span",null,"per page",-1))]),e.createElementVNode("div",om,[e.createElementVNode("button",{class:"px-2 py-1 hover:bg-muted rounded disabled:opacity-50",disabled:g.value<=1,onClick:D}," Previous ",8,nm),e.createElementVNode("span",rm,e.toDisplayString(g.value),1),e.createElementVNode("button",{class:"px-2 py-1 hover:bg-muted rounded disabled:opacity-50",disabled:e.unref(s).length===0,onClick:V}," Next ",8,lm)])])),e.createVNode(Ef,{open:t.uploadDialogOpen,"onUpdate:open":T[4]||(T[4]=q=>l("update:upload-dialog-open",q)),onUpload:mt},null,8,["open"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.unref(c)?(e.openBlock(),e.createElementBlock("div",am,[e.createElementVNode("div",sm,[T[23]||(T[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",im,[e.createElementVNode("div",cm,[e.createElementVNode("span",um,e.toDisplayString(be.value??"Uploading…"),1),e.createElementVNode("span",dm,e.toDisplayString(Math.round(e.unref(u)))+"% ",1)]),e.createElementVNode("div",fm,[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:T[5]||(T[5]=q=>W.value=null),onConfirm:$},null,8,["is-open","question","is-deleting"]),e.createVNode(Ce,{"is-open":A.value,title:"Delete Blobs",question:`Delete ${H.value.size} blob${H.value.size!==1?"s":""}?`,warning:"This action cannot be undone.","is-deleting":!1,onCancel:T[6]||(T[6]=q=>A.value=!1),onConfirm:re},null,8,["is-open","question"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[j.value?(e.openBlock(),e.createElementBlock("div",mm,[e.createElementVNode("div",pm,[T[24]||(T[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",vm,"Deleting "+e.toDisplayString(H.value.size)+" blob"+e.toDisplayString(H.value.size!==1?"s":"")+"…",1)])])):e.createCommentVNode("",!0)]))]))}}),ym={class:"flex-1 flex overflow-hidden min-w-0"},bm={class:"flex-1 flex flex-col min-w-0 bg-background"},wm={key:0,class:"absolute inset-0 px-3 bg-muted flex items-center justify-between z-10"},xm={class:"flex items-center gap-2"},km={class:"text-xs font-medium"},Cm={class:"flex items-center gap-2 min-w-0"},Em={class:"flex items-center gap-2 min-w-0"},Mm={class:"text-sm font-medium truncate"},Bm={key:0,class:"relative ml-1"},zm=["placeholder"],Nm={key:1,class:"flex items-center gap-1.5 shrink-0"},Sm={key:0},Vm={key:0,class:"flex-1 flex flex-col items-center justify-center text-center p-6"},Dm={class:"hidden lg:contents"},Am=e.defineComponent({__name:"BlobExplorerIndex",setup(t){const o=uo(),n=e.ref([]),r=e.ref(!1),l=e.ref(null);async function s(){try{const B=await te.getClientAsync();l.value=await B.getRootDocId(),await B.syncMetadata({scope:"all",includeRoot:!0,pageSize:500});const E=await B.documents.list({refreshFromServer:!0,includeRoot:!0});n.value=E.map(N=>({...N,isRoot:N.documentId===l.value})),r.value=!0}catch(B){J("Failed to load documents: "+ae(B)),r.value=!0}}let a=null,c=null;e.onMounted(async()=>{f.value&&(y=new ResizeObserver(M=>{for(const S of M){const D=S.contentRect.width;h.value=D<500}}),y.observe(f.value)),s();const B=await te.getClientAsync(),E=M=>{M.action==="accepted"&&s()};B.on("invitation",E),a=()=>B.off("invitation",E);const N=()=>{s()};B.on("documentMetadataChanged",N),c=()=>B.off("documentMetadataChanged",N)}),e.onUnmounted(()=>{a?.(),c?.(),y?.disconnect()});const u=e.computed(()=>o.currentDocumentId),i=e.computed(()=>n.value.find(B=>B.documentId===u.value)??null);async function d(B){if(o.currentDocumentId!==B){m.value=null;try{await o.openDocument(B);const E=n.value.find(N=>N.documentId===B);E&&o.setCurrentDocumentTitle(E.title??B)}catch(E){J("Failed to open document: "+ae(E))}}}const m=e.ref(null),k=e.ref(!1),w=e.ref(""),b=e.ref(null);e.watch(u,()=>{m.value=null,w.value=""});const x=e.ref(0);function p(B){x.value=B}function C(){b.value?.executeBulkDelete()}function v(){b.value?.clearSelection(),x.value=0}const g=e.computed(()=>{const B=i.value?.permission;return B?B!=="reader":!1}),f=e.ref(null),h=e.ref(!1);let y=null;return(B,E)=>(e.openBlock(),e.createElementBlock("div",ym,[e.createVNode(e.unref(yr),{position:"bottom-right",duration:3e3}),e.createVNode(df,{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",bm,[e.createElementVNode("div",{ref_key:"toolbarRef",ref:f,class:"flex items-center justify-between px-3 py-2 border-b border-border relative shrink-0"},[x.value>0?(e.openBlock(),e.createElementBlock("div",wm,[e.createElementVNode("div",xm,[e.createElementVNode("span",km,e.toDisplayString(x.value)+" selected",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:v}," 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",Cm,[e.createElementVNode("div",Em,[e.createElementVNode("span",Mm,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]=N=>w.value=N),type:"text",placeholder:h.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",h.value?"w-28":"w-44"])},null,10,zm),[[e.vModelText,w.value]])])):e.createCommentVNode("",!0)]),u.value?(e.openBlock(),e.createElementBlock("div",Nm,[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]=N=>b.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)])]),g.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",h.value?"p-1.5":"px-2 py-1 gap-1"]),title:"Upload",onClick:E[2]||(E[2]=N=>k.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)),h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Sm,"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(hm,{key:1,ref_key:"blobTableRef",ref:b,"document-id":u.value,"search-query":w.value,"can-write":g.value,"upload-dialog-open":k.value,onSelectBlob:E[3]||(E[3]=N=>m.value=N),"onUpdate:uploadDialogOpen":E[4]||(E[4]=N=>k.value=N),onSelectionChange:p},null,8,["document-id","search-query","can-write","upload-dialog-open"])):(e.openBlock(),e.createElementBlock("div",Vm,[...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",Dm,[e.createVNode(nf,{"document-id":u.value??"","selected-blob":m.value,"can-write":g.value,onDeleteBlob:E[5]||(E[5]=N=>b.value?.handleExternalDelete(N)),onReloadBlobs:E[6]||(E[6]=N=>b.value?.refresh())},null,8,["document-id","selected-blob","can-write"])])]))}});var Gt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Im(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ao,nr;function $m(){if(nr)return Ao;nr=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 Gt=="object"&&Gt&&Gt.Object===Object&&Gt,i=typeof self=="object"&&self&&self.Object===Object&&self,d=u||i||Function("return this")(),m=Object.prototype,k=m.toString,w=Math.max,b=Math.min,x=function(){return d.Date.now()};function p(h,y,B){var E,N,M,S,D,V,R=0,G=!1,H=!1,ee=!0;if(typeof h!="function")throw new TypeError(t);y=f(y)||0,C(B)&&(G=!!B.leading,H="maxWait"in B,M=H?w(f(B.maxWait)||0,y):M,ee="trailing"in B?!!B.trailing:ee);function L(z){var $=E,A=N;return E=N=void 0,R=z,S=h.apply(A,$),S}function ie(z){return R=z,D=setTimeout(K,y),G?L(z):S}function U(z){var $=z-V,A=z-R,j=y-$;return H?b(j,M-A):j}function O(z){var $=z-V,A=z-R;return V===void 0||$>=y||$<0||H&&A>=M}function K(){var z=x();if(O(z))return Z(z);D=setTimeout(K,U(z))}function Z(z){return D=void 0,ee&&E?L(z):(E=N=void 0,S)}function W(){D!==void 0&&clearTimeout(D),R=0,E=V=N=D=void 0}function me(){return D===void 0?S:Z(x())}function le(){var z=x(),$=O(z);if(E=arguments,N=this,V=z,$){if(D===void 0)return ie(V);if(H)return D=setTimeout(K,y),L(V)}return D===void 0&&(D=setTimeout(K,y)),S}return le.cancel=W,le.flush=me,le}function C(h){var y=typeof h;return!!h&&(y=="object"||y=="function")}function v(h){return!!h&&typeof h=="object"}function g(h){return typeof h=="symbol"||v(h)&&k.call(h)==n}function f(h){if(typeof h=="number")return h;if(g(h))return o;if(C(h)){var y=typeof h.valueOf=="function"?h.valueOf():h;h=C(y)?y+"":y}if(typeof h!="string")return h===0?h:+h;h=h.replace(r,"");var B=s.test(h);return B||a.test(h)?c(h.slice(2),B?2:8):l.test(h)?o:+h}return Ao=p,Ao}var Tm=$m();const _m=Im(Tm),we=Ee.forScope("useJsBaoDataLoader");function Io(t,o){return t===void 0?o:!!e.unref(t)}function Pm(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 Om(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),m=e.ref(!1),k=e.computed(()=>Io(r,!1)),w=e.computed(()=>Io(s,!1)),b=e.computed(()=>e.unref(n)??null),x=e.computed(()=>{const f=b.value;return f===null?null:Pm(f)}),p=async f=>{if(!k.value){we.debug("loadData skipped: not ready",{reason:f,queryParams:e.toRaw(b.value)});return}if(w.value){we.debug("loadData skipped: paused",{reason:f,queryParams:e.toRaw(b.value)});return}we.debug("loadData start",{reason:f,queryParams:e.toRaw(b.value)});try{const h=await l(b.value);i.value=h,d.value||(d.value=!0,m.value=!0),we.debug("loadData success",{reason:f,queryParams:e.toRaw(b.value),data:h})}catch(h){if(u)try{u(h)}catch(y){we.warn("onError handler threw",{handlerError:y})}we.error("loadData error",{reason:f,queryParams:e.toRaw(b.value),error:h})}},C=_m(f=>{we.debug("Reload scheduled",{reason:f}),p(f)},c),v=()=>{C("Manual")},g=[];return e.onMounted(async()=>{for(const f of o)try{const h=f.subscribe(()=>{m.value&&k.value&&(w.value||C("Subscribed models changed"))});g.push(h)}catch(h){we.warn("Failed to subscribe to model",{error:h})}if(Io(a,!0))try{const f=await te.getClientAsync(),h=()=>{m.value&&k.value&&(w.value||C("Document loaded"))},y=()=>{m.value&&k.value&&(w.value||C("Document closed"))};f.on("documentLoaded",h),f.on("documentClosed",y),g.push(()=>{f.off("documentLoaded",h),f.off("documentClosed",y)}),we.debug("Subscribed to js-bao document events")}catch(f){we.warn("Failed to subscribe to js-bao client events",{error:f})}}),e.onUnmounted(()=>{for(const f of g)try{f()}catch{}}),e.watch(k,f=>{if(!f){we.debug("documentReady became false; resetting state"),d.value=!1,m.value=!1;return}w.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(x,f=>{if(f===null){we.debug("queryParams disabled (null)");return}if(!k.value){we.debug("queryParams changed but document not ready; ignoring",{signature:f});return}if(w.value){we.debug("queryParams changed but updates are paused; ignoring",{signature:f});return}we.debug("queryParams changed; scheduling reload",{signature:f}),C("Queries changed")}),{data:i,initialDataLoaded:d,reload:v}}const gl=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 hl(){return Bl.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 co(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 Kt(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 rr(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 yl=["equals","not_equals","is_null","is_not_null","contains","not_contains","starts_with","ends_with","in","not_in","gt","gte","lt","lte"],Rm={string:yl,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 lr(t,o){const r=Fe(t,o)?.type??"string";return Rm[r]??yl}function ar(t,o){switch(Fe(t,o)?.type??"string"){case"id":case"number":case"boolean":case"date":return"equals";default:return"contains"}}function Lm(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 yn(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 To(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 bl(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 Fm(){return`filter-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function sr(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 qm(t){if(!t||t.length===0)return{};if(t.length===1&&t[0])return sr(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=>sr(n));return o.length===0?{}:o.length===1?o[0]??{}:{$and:o}}const jm=25,Xo=[10,25,50,100];function wl(){try{const t=localStorage.getItem(br);if(t){const o=Number(t);if(Xo.includes(o))return o}}catch{}return jm}function Um(t){try{localStorage.setItem(br,String(t))}catch{}}function Fe(t,o){return t.fieldInfo.get(o)?.schema}function xt(t,o){return Fe(t,o)?.type==="stringset"}function Zo(t,o){return Fe(t,o)?.type==="date"}function Hm(t,o){return Fe(t,o)?.type==="number"}function Jo(t,o){return Fe(t,o)?.type==="boolean"}function Wm(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 xl(t,o){return Fe(t,o)?.indexed===!0}function Gm(t){return t?{[t.field]:t.direction}:{id:1}}function Km(t){return t===1?"↑":"↓"}function kl(){try{const t=localStorage.getItem(wr);if(t)return JSON.parse(t)}catch{}return{}}function Qm(t){try{localStorage.setItem(wr,JSON.stringify(t))}catch{}}function Ym(t){return kl()[t]}function Xm(t,o){const n=kl();n[t]=o,Qm(n)}function _t(t){switch(t){case"owner":case"admin":return"Owner";case"read-write":return"Editor";case"reader":return"Viewer";default:return"Owner"}}function Cl(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 Zm={key:0,class:"absolute inset-0 px-2 bg-muted flex items-center justify-between z-10"},Jm={class:"flex items-center gap-2"},ep={class:"text-[10px] font-medium"},tp={class:"flex items-center gap-0.5"},op={key:0,class:"flex-1 overflow-y-auto scrollbar-thin flex flex-col"},np={key:0,class:"p-3 text-center text-[10px] text-muted-foreground"},rp={key:1,class:"p-3 text-center text-[10px] text-muted-foreground"},lp={class:"flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent"},ap=["checked","indeterminate"],sp=["onClick"],ip=["checked","disabled","title","onChange"],cp={key:0,class:"text-[9px] px-1 py-0.5 bg-amber-500/10 text-amber-600 rounded ml-1"},up=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(v=>{const g=n.documents.find(f=>f.documentId===v);return g&&kt(g.permission)&&!g.isRoot})),u=e.computed(()=>c.value?!1:Array.from(l.value).some(v=>{const g=n.documents.find(f=>f.documentId===v);return g&&!kt(g.permission)&&!g.isRoot})),i=e.computed(()=>{const v=n.filteredDocuments.filter(f=>!f.isRoot);if(v.length===0)return!1;const g=v.filter(f=>l.value.has(f.documentId)).length;return g===0?!1:g===v.length?!0:"indeterminate"}),d=(v,g)=>{const f=new Set(l.value);f.has(v)?f.delete(v):f.add(v),l.value=f},m=()=>{const v=n.filteredDocuments.filter(h=>!h.isRoot),g=v.every(h=>l.value.has(h.documentId)),f=new Set(l.value);g?v.forEach(h=>f.delete(h.documentId)):v.forEach(h=>f.add(h.documentId)),l.value=f},k=()=>{l.value=new Set},w=e.ref(!1),b=e.ref([]),x=()=>{const v=Array.from(l.value),g=v.filter(h=>{const y=n.documents.find(B=>B.documentId===h);return y&&kt(y.permission)&&!y.isRoot});if(g.length===0)return;g.length<v.length?(r("bulk-delete-mixed",v),k()):(b.value=g,w.value=!0)},p=()=>{r("bulk-delete",b.value),k(),w.value=!1,b.value=[]},C=()=>{r("bulk-leave",Array.from(l.value))};return(v,g)=>(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:g[1]||(g[1]=f=>r("toggle-section"))},[a.value?(e.openBlock(),e.createElementBlock("div",Zm,[e.createElementVNode("div",Jm,[e.createElementVNode("span",ep,e.toDisplayString(s.value)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:e.withModifiers(k,["stop"])}," Clear ")]),e.createElementVNode("div",tp,[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"])},[...g[5]||(g[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(x,["stop"])},[...g[6]||(g[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"},[...g[7]||(g[7]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2)),g[9]||(g[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:g[0]||(g[0]=e.withModifiers(f=>r("create-document"),["stop"]))},[...g[8]||(g[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",op,[t.documentListLoaded?t.filteredDocuments.length===0?(e.openBlock(),e.createElementBlock("div",rp,e.toDisplayString(t.searchQuery?"No matching documents":"No documents found"),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",lp,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:i.value===!0,indeterminate:i.value==="indeterminate",onChange:m},null,40,ap),g[10]||(g[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,f=>(e.openBlock(),e.createElementBlock("div",{key:f.documentId,class:e.normalizeClass(["flex items-center px-2 py-1.5 cursor-pointer border-l-2",f.documentId===t.selectedDocId?"border-primary bg-primary/5":"border-transparent hover:bg-muted/30",f.isRoot?"opacity-60":""]),onClick:h=>r("select-document",f.documentId)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border flex-shrink-0",checked:l.value.has(f.documentId),disabled:f.isRoot,title:f.isRoot?"Cannot select root document":"",onClick:g[2]||(g[2]=e.withModifiers(()=>{},["stop"])),onChange:h=>d(f.documentId)},null,40,ip),e.createElementVNode("span",{class:e.normalizeClass(["ml-2 text-xs flex-1 truncate",f.documentId===t.selectedDocId?"font-medium":""])},e.toDisplayString(f.title||"Untitled"),3),f.isRoot?(e.openBlock(),e.createElementBlock("span",cp," root ")):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["text-[9px] px-1 py-0.5 rounded ml-1",e.unref(Cl)(f.permission)])},e.toDisplayString(e.unref(_t)(f.permission)),3))],10,sp))),128))],64)):(e.openBlock(),e.createElementBlock("div",np," Loading documents... "))])):e.createCommentVNode("",!0),e.createVNode(Ce,{"is-open":w.value,title:"Delete Documents",question:`Delete ${b.value.length} document(s)? This action cannot be undone.`,warning:"","is-deleting":!1,onConfirm:p,onCancel:g[3]||(g[3]=f=>{w.value=!1,b.value=[]}),"onUpdate:isOpen":g[4]||(g[4]=f=>{f||(w.value=!1,b.value=[])})},null,8,["is-open","question"])],4))}}),dp={key:0,class:"w-10 border-r border-border flex flex-col items-center bg-background"},fp={class:"h-10 flex items-center justify-center border-b border-border w-full"},mp=["title"],pp=["title"],vp={key:1,class:"w-48 lg:w-56 border-r border-border flex flex-col bg-background"},gp={class:"h-10 flex items-center px-2 gap-1 border-b border-border"},hp={class:"relative flex-1 min-w-0"},yp={class:"flex-1 overflow-hidden flex flex-col"},bp={key:0,class:"absolute inset-0 px-2 bg-muted flex items-center justify-between z-10"},wp={key:0,class:"flex items-center gap-2"},xp={class:"text-[10px] font-medium text-muted-foreground"},kp={class:"flex items-center gap-2"},Cp={class:"text-[10px] font-medium"},Ep={class:"flex items-center gap-0.5"},Mp={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"},zp={key:0,class:"p-3 text-center text-[10px] text-muted-foreground"},Np={class:"flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent"},Sp=["checked","indeterminate","disabled"],Vp=["onClick"],Dp=["checked","disabled","onChange"],Ap={class:"ml-2 flex-1 min-w-0"},Ip={class:"text-xs font-medium truncate block"},$p={class:"text-[10px] text-muted-foreground truncate"},Tp=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 h=s.value.trim();if(h.toLowerCase().startsWith("tag:")){const y=h.slice(4);return y?r.documents.filter(B=>B.tags?.some(E=>Kt(E,y))):r.documents}return r.documents.filter(y=>Kt(y.title||"",h)||Kt(y.documentId,h)||y.tags?.some(B=>Kt(B,h)))}),i=e.ref(new Set),d=e.computed(()=>i.value.size),m=e.computed(()=>i.value.size>0),k=e.computed(()=>{const h=r.pendingInvitations;if(h.length===0)return!1;const y=h.filter(B=>i.value.has(B.documentId)).length;return y===0?!1:y===h.length?!0:"indeterminate"}),w=(h,y)=>{const B=new Set(i.value);B.has(h)?B.delete(h):B.add(h),i.value=B},b=()=>{const h=r.pendingInvitations.every(B=>i.value.has(B.documentId)),y=new Set(i.value);h?r.pendingInvitations.forEach(B=>y.delete(B.documentId)):r.pendingInvitations.forEach(B=>y.add(B.documentId)),i.value=y},x=()=>{i.value=new Set},p=()=>{l("accept-invitations",Array.from(i.value))},C=e.ref(!1),v=()=>{C.value=!0},g=()=>{l("decline-invitations",Array.from(i.value)),x(),C.value=!1};e.watch(()=>r.isAcceptingInvitations,(h,y)=>{y&&!h&&x()});function f(){a.value="docs"}return o({showDocsSection:f,isCollapsed:c}),(h,y)=>c.value?(e.openBlock(),e.createElementBlock("div",dp,[e.createElementVNode("div",fp,[e.createElementVNode("button",{class:"p-1.5 hover:bg-muted rounded text-muted-foreground",title:"Expand document list",onClick:y[0]||(y[0]=B=>c.value=!1)},[...y[13]||(y[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,mp),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,pp)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",vp,[e.createElementVNode("div",gp,[e.createElementVNode("div",hp,[y[14]||(y[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":y[1]||(y[1]=B=>s.value=B),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:y[2]||(y[2]=B=>c.value=!0)},[...y[15]||(y[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",yp,[e.createVNode(up,{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:y[3]||(y[3]=B=>l("select-document",B)),onCreateDocument:y[4]||(y[4]=B=>l("create-document")),onBulkDelete:y[5]||(y[5]=B=>l("bulk-delete",B)),onBulkLeave:y[6]||(y[6]=B=>l("bulk-leave",B)),onBulkDeleteMixed:y[7]||(y[7]=B=>l("bulk-delete-mixed",B)),onToggleSection:y[8]||(y[8]=B=>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:y[9]||(y[9]=B=>a.value="invitations")},[m.value?(e.openBlock(),e.createElementBlock("div",bp,[t.isAcceptingInvitations?(e.openBlock(),e.createElementBlock("div",wp,[y[16]||(y[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",xp," Accepting "+e.toDisplayString(d.value)+" invitation"+e.toDisplayString(d.value!==1?"s":"")+"… ",1)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",kp,[e.createElementVNode("span",Cp,e.toDisplayString(d.value)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:e.withModifiers(x,["stop"])}," Clear ")]),e.createElementVNode("div",Ep,[e.createElementVNode("button",{class:"p-1 text-green-600 hover:bg-green-500/10 rounded",title:"Accept Invitation",onClick:e.withModifiers(p,["stop"])},[...y[17]||(y[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(v,["stop"])},[...y[18]||(y[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"},[...y[19]||(y[19]=[e.createElementVNode("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 9l-7 7-7-7"},null,-1)])],2)),y[20]||(y[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",Mp,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",zp," No pending invitations ")):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",Np,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:k.value===!0,indeterminate:k.value==="indeterminate",disabled:t.isAcceptingInvitations,onChange:b},null,40,Sp),y[21]||(y[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,B=>(e.openBlock(),e.createElementBlock("div",{key:B.invitationId,class:e.normalizeClass(["flex items-center px-2 py-1.5 border-l-2",t.isAcceptingInvitations?"pointer-events-none opacity-60":"cursor-pointer",B.documentId===t.selectedInvitationId?"border-primary bg-primary/5":"border-transparent hover:bg-muted/30"]),onClick:E=>!t.isAcceptingInvitations&&l("select-invitation",B)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border flex-shrink-0",checked:i.value.has(B.documentId),disabled:t.isAcceptingInvitations,onClick:y[10]||(y[10]=e.withModifiers(()=>{},["stop"])),onChange:E=>w(B.documentId)},null,40,Dp),e.createElementVNode("div",Ap,[e.createElementVNode("span",Ip,e.toDisplayString(B.title||B.document?.title||"Untitled"),1),e.createElementVNode("div",$p," From "+e.toDisplayString(B.invitedBy),1)])],10,Vp))),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:g,onCancel:y[11]||(y[11]=B=>C.value=!1),"onUpdate:isOpen":y[12]||(y[12]=B=>{B||(C.value=!1)})},null,8,["is-open","question"])]))}}),bt=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))}}),_p={key:0,class:"space-y-1.5"},Pp={key:1,class:"space-y-1"},Op=["onKeydown","onBlur"],Rp=["title","onClick"],Lp=["disabled","onClick"],Fp={key:0,class:"flex items-center gap-1"},qp=["disabled","onKeydown"],jp=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),m=e.ref(""),k=e.ref(null);async function w(y=!1){y||(l.value=!0);try{const E=await(await te.getClientAsync()).documents.aliases.listForDocument(n.documentId);r.value=E}catch(B){o.error("Failed to load aliases:",B),r.value=[],J("Failed to load aliases: "+ae(B))}finally{l.value=!1}}e.watch(()=>n.documentId,()=>{r.value=[],l.value=!0,w()},{immediate:!0});async function b(){const y=s.value.trim();if(!y)return;s.value="";const B={aliasKey:y,scope:"user"};r.value=[...r.value,B],a.value=!0;try{const N=await(await te.getClientAsync()).documents.aliases.set({documentId:n.documentId,scope:"user",aliasKey:y});o.debug("Alias set result:",N),await w(!0),r.value.some(S=>S.aliasKey===y)||(o.warn("Alias set returned success but alias not found in refreshed list:",y),J(`Alias "${y}" was not saved. The server may have rejected it.`))}catch(E){r.value=r.value.filter(N=>N.aliasKey!==y),o.error("Failed to add alias:",E),J("Failed to add alias: "+ae(E))}finally{a.value=!1}}function x(y,B){i.value={aliasKey:y,scope:B},u.value=!0}function p(){u.value=!1,i.value=null}function C(){i.value&&v(i.value.aliasKey,i.value.scope),u.value=!1,i.value=null}async function v(y,B){const E=[...r.value];r.value=r.value.filter(N=>N.aliasKey!==y),c.value=y;try{await(await te.getClientAsync()).documents.aliases.delete({scope:B,aliasKey:y}),await w(!0)}catch(N){r.value=E,o.error("Failed to remove alias:",N),J("Failed to remove alias: "+ae(N))}finally{c.value=null}}async function g(y){d.value=y.aliasKey,m.value=y.aliasKey,await e.nextTick(),k.value?.focus(),k.value?.select()}function f(){d.value=null,m.value=""}async function h(y,B){const E=m.value.trim();if(!E||E===y){f();return}const N=[...r.value];r.value=r.value.map(M=>M.aliasKey===y?{...M,aliasKey:E}:M),f();try{const M=await te.getClientAsync();await M.documents.aliases.delete({scope:B,aliasKey:y});try{const D=await M.documents.aliases.set({documentId:n.documentId,scope:B,aliasKey:E});o.debug("Alias rename set result:",D)}catch(D){o.error("Alias rename: set failed, restoring original alias",{originalKey:y,newKey:E,setErr:D});try{await M.documents.aliases.set({documentId:n.documentId,scope:B,aliasKey:y})}catch(V){o.error("Failed to restore original alias after rename failure",{originalKey:y,restoreErr:V})}throw D}await w(!0),r.value.some(D=>D.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(M){r.value=N,o.error("Failed to edit alias:",M),J("Failed to edit alias: "+ae(M))}}return(y,B)=>(e.openBlock(),e.createElementBlock("div",null,[B[3]||(B[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",_p,[e.createVNode(bt,{class:"h-4 w-24"}),e.createVNode(bt,{class:"h-4 w-32"})])):(e.openBlock(),e.createElementBlock("div",Pp,[(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:k,"onUpdate:modelValue":B[0]||(B[0]=N=>m.value=N),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(N=>h(E.aliasKey,E.scope),["prevent"]),["enter"]),e.withKeys(e.withModifiers(f,["prevent"]),["escape"])],onBlur:N=>h(E.aliasKey,E.scope)},null,40,Op)),[[e.vModelText,m.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:N=>t.canWrite?g(E):void 0},e.toDisplayString(E.aliasKey),11,Rp)),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:N=>x(E.aliasKey,E.scope)}," × ",8,Lp)):e.createCommentVNode("",!0)]))),128)),t.canWrite?(e.openBlock(),e.createElementBlock("div",Fp,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":B[1]||(B[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(b,["prevent"]),["enter"])},null,40,qp),[[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:p,"onUpdate:isOpen":B[2]||(B[2]=E=>{E||p()})},null,8,["is-open","question","is-deleting"])]))}}),Up={key:0,class:"space-y-2.5"},Hp={class:"flex-1 space-y-1"},Wp={key:1,class:"space-y-2"},Gp={class:"flex items-center gap-2 min-w-0 flex-1"},Kp={class:"min-w-0"},Qp=["title"],Yp=["title"],Xp={key:0,class:"text-[10px] text-muted-foreground flex-shrink-0"},Zp=["value","onChange"],Jp={key:0,value:"transfer-ownership"},ev={value:"remove"},tv={key:2,class:"flex items-center gap-1.5 flex-shrink-0"},ov={class:"text-[10px] text-muted-foreground capitalize"},nv=["onClick"],rv={key:3,class:"text-[10px] text-muted-foreground capitalize flex-shrink-0"},lv={class:"flex items-center gap-2 min-w-0 flex-1"},av={class:"min-w-0"},sv=["title"],iv=["onClick"],cv={key:0,class:"pt-1"},uv=["onKeydown"],dv={class:"flex items-center gap-1"},fv=["disabled"],mv={key:0,class:"w-2.5 h-2.5 border border-current border-t-transparent rounded-full animate-spin"},pv=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),m=e.ref(!1),k=e.ref(""),w=e.ref(""),b=e.ref(!1),x=e.ref(!1),p=e.ref(!1),C=e.ref(""),v=e.ref(""),g=e.ref(!1),f=e.ref(!1),h=e.ref(!1);async function y(z=!1){z||(a.value=!0);try{const $=await te.getClientAsync(),[A,j,ne]=await Promise.all([$.documents.getPermissions(n.documentId),$.documents.listInvitations(n.documentId),$.me.get()]);r.value=ne?.userId??"",l.value=A,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,y()},{immediate:!0});let B=null,E=!1;e.onMounted(async()=>{E=!0;try{const z=await te.getClientAsync();if(!E)return;const $=A=>{A.documentId===n.documentId&&(o.debug("Invitation event received – reloading sharing data",{action:A.action}),y(!0))};z.on("invitation",$),B=()=>z.off("invitation",$)}catch(z){o.warn("Could not subscribe to invitation events:",z)}}),e.onUnmounted(()=>{E=!1,B?.()});const N=e.computed(()=>{const z=l.value.find($=>$.userId===r.value);return z?kt(z.permission):!1}),M=e.computed(()=>{const z=l.value.find($=>$.userId===r.value);return z?kt(z.permission)||z.permission==="read-write":!1});function S(z){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(z)}function D(z){return z.split(" ").map($=>$[0]).join("").toUpperCase().slice(0,2)}function V(z){const $=["bg-blue-500","bg-green-500","bg-purple-500","bg-pink-500","bg-orange-500","bg-teal-500"];let A=0;for(let j=0;j<z.length;j++)A=z.charCodeAt(j)+((A<<5)-A);return $[Math.abs(A)%$.length]??"bg-blue-500"}async function R(){const z=c.value.trim().toLowerCase();if(!z)return;if(!S(z)){J("Please enter a valid email address.");return}if(l.value.some(re=>re.email.toLowerCase()===z)){J(`${z} already has access to this document.`);return}if(s.value.some(re=>re.email.toLowerCase()===z)){J(`${z} already has a pending invitation.`);return}const j=u.value,ne={invitationId:`optimistic-${Date.now()}`,email:z,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,z,j),await y(!0)}catch(re){s.value=s.value.filter(xe=>xe.invitationId!==ne.invitationId),o.error("Failed to invite collaborator:",re),J("Failed to invite: "+ae(re))}finally{i.value=!1}}async function G(z){const $=[...s.value];s.value=s.value.filter(A=>A.invitationId!==z);try{await(await te.getClientAsync()).documents.deleteInvitation(n.documentId,z),await y(!0)}catch(A){s.value=$,o.error("Failed to cancel invitation:",A),J("Failed to cancel invitation: "+ae(A))}}async function H(z,$){const A=l.value.slice();l.value=l.value.map(j=>j.userId===z?{...j,permission:$}:j);try{await(await te.getClientAsync()).documents.updatePermissions(n.documentId,{userId:z,permission:$}),await y(!0)}catch(j){l.value=A,o.error("Failed to update permission:",j),J("Failed to update permission: "+ae(j))}}async function ee(z){const $=l.value.slice();l.value=l.value.filter(A=>A.userId!==z);try{await(await te.getClientAsync()).documents.removePermission(n.documentId,z),await y(!0)}catch(A){l.value=$,o.error("Failed to remove permission:",A),J("Failed to remove permission: "+ae(A))}}function L(z,$,A){const j=l.value.find(ne=>ne.userId===z);$==="remove"?(j&&(A.value=j.permission,w.value=j.name||j.email),k.value=z,b.value=z===r.value,m.value=!0):$==="transfer-ownership"?(j&&(A.value=j.permission,v.value=j.name||j.email),C.value=z,p.value=!0):$==="reader"&&z===r.value?(j&&(A.value=j.permission),f.value=!0):H(z,$)}function ie(){h.value=!0,H(r.value,"reader").finally(()=>{h.value=!1,f.value=!1})}function U(){f.value=!1}function O(){x.value=!0,ee(k.value).finally(()=>{x.value=!1,m.value=!1,k.value="",w.value="",b.value=!1})}function K(){m.value=!1,k.value="",w.value="",b.value=!1}function Z(z){k.value=z.userId,w.value=z.name||z.email,b.value=!0,m.value=!0}async function W(z){const $=l.value.slice();l.value=l.value.map(A=>A.userId===z?{...A,permission:"owner"}:A.userId===r.value?{...A,permission:"read-write"}:A),g.value=!0;try{const A=await te.getClientAsync();await A.documents.updatePermissions(n.documentId,{userId:z,permission:"owner"}),await A.documents.updatePermissions(n.documentId,{userId:r.value,permission:"read-write"}),await y(!0)}catch(A){l.value=$,o.error("Failed to transfer ownership:",A),J("Failed to transfer ownership: "+ae(A))}finally{g.value=!1,p.value=!1,C.value="",v.value=""}}function me(){W(C.value)}function le(){p.value=!1,C.value="",v.value=""}return(z,$)=>(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",Up,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(2,A=>e.createElementVNode("div",{key:A,class:"flex items-center gap-2"},[e.createVNode(bt,{class:"h-5 w-5 rounded-full flex-shrink-0"}),e.createElementVNode("div",Hp,[e.createVNode(bt,{class:"h-3 w-20"}),e.createVNode(bt,{class:"h-2.5 w-28"})]),e.createVNode(bt,{class:"h-3 w-10"})])),64))])):(e.openBlock(),e.createElementBlock("div",Wp,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,A=>(e.openBlock(),e.createElementBlock("div",{key:A.userId,class:"flex items-center justify-between gap-2 text-xs"},[e.createElementVNode("div",Gp,[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(A.name||A.email)])},e.toDisplayString(D(A.name||A.email)),3),e.createElementVNode("div",Kp,[e.createElementVNode("div",{class:"font-medium truncate",title:A.name||A.email},e.toDisplayString(A.name||A.email),9,Qp),A.name?(e.openBlock(),e.createElementBlock("div",{key:0,class:"text-[10px] text-muted-foreground truncate",title:A.email},e.toDisplayString(A.email),9,Yp)):e.createCommentVNode("",!0)])]),e.unref(kt)(A.permission)?(e.openBlock(),e.createElementBlock("span",Xp," Owner ")):M.value?(e.openBlock(),e.createElementBlock("select",{key:1,value:A.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(A.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)),N.value&&A.userId!==r.value&&A.permission==="read-write"?(e.openBlock(),e.createElementBlock("option",Jp," Transfer Ownership ")):e.createCommentVNode("",!0),e.createElementVNode("option",ev,e.toDisplayString(A.userId===r.value?"Leave":"Remove"),1)],40,Zp)):A.userId===r.value?(e.openBlock(),e.createElementBlock("div",tv,[e.createElementVNode("span",ov,e.toDisplayString(e.unref(_t)(A.permission)),1),e.createElementVNode("button",{class:"text-muted-foreground hover:text-destructive flex-shrink-0",title:"Leave document",onClick:j=>Z(A)},[...$[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,nv)])):(e.openBlock(),e.createElementBlock("span",rv,e.toDisplayString(e.unref(_t)(A.permission)),1))]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,A=>(e.openBlock(),e.createElementBlock("div",{key:A.invitationId,class:"flex items-center justify-between gap-2 text-xs"},[e.createElementVNode("div",lv,[$[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",av,[e.createElementVNode("div",{class:"font-medium text-muted-foreground truncate",title:A.email},e.toDisplayString(A.email),9,sv),$[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=>G(A.invitationId)}," Cancel ",8,iv)]))),128)),t.canWrite?(e.openBlock(),e.createElementBlock("div",cv,[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,"data-devtools-dropdown":"",class:"space-y-1.5",onKeydown:$[3]||($[3]=e.withKeys(e.withModifiers(A=>{d.value=!1,c.value=""},["stop","prevent"]),["escape"]))},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":$[0]||($[0]=A=>c.value=A),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,uv),[[e.vModelText,c.value]]),e.createElementVNode("div",dv,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":$[1]||($[1]=A=>u.value=A),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()||!S(c.value.trim()),onClick:R},[i.value?(e.openBlock(),e.createElementBlock("span",mv)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(i.value?"Sending...":"Send"),1)],8,fv),e.createElementVNode("button",{class:"px-2 py-0.5 text-[10px] text-muted-foreground hover:text-foreground",onClick:$[2]||($[2]=A=>{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]=A=>d.value=!0)}," + Invite collaborator "))])):e.createCommentVNode("",!0)])),e.createVNode(Ce,{"is-open":m.value,title:b.value?"Leave Document":"Remove Collaborator",question:b.value?"Leave this document? You will lose access immediately.":`Remove ${w.value} from this document? They will lose access immediately.`,warning:"","confirm-label":b.value?"Leave":"Remove","confirming-label":b.value?"Leaving...":"Removing...","is-deleting":x.value,onConfirm:O,onCancel:K,"onUpdate:isOpen":$[5]||($[5]=A=>{A||K()})},null,8,["is-open","title","question","confirm-label","confirming-label","is-deleting"]),e.createVNode(Ce,{"is-open":f.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":h.value,onConfirm:ie,onCancel:U,"onUpdate:isOpen":$[6]||($[6]=A=>{A||U()})},null,8,["is-open","is-deleting"]),e.createVNode(Ce,{"is-open":p.value,title:"Transfer Ownership",question:`Transfer ownership to ${v.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":g.value,onConfirm:me,onCancel:le,"onUpdate:isOpen":$[7]||($[7]=A=>{A||le()})},null,8,["is-open","question","is-deleting"])]))}}),vv={class:"flex flex-wrap gap-1 items-center"},gv=["title"],hv={class:"truncate min-w-0"},yv=["disabled","onClick"],bv=["onKeydown"],wv="__ROOT_TAG__",xv=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([]),m=e.ref(new Set),k=e.ref([]),w=e.computed(()=>{const g=new Set([...r.baseTags,...d.value]);for(const y of m.value)g.delete(y);const f=k.value.filter(y=>g.has(y)),h=new Set(f);for(const y of g)h.has(y)||f.push(y);return f});e.watch(()=>r.baseTags,g=>{if(!g)return;const f=new Set(k.value);for(const y of g)f.has(y)||k.value.push(y);d.value=d.value.filter(y=>!g.includes(y));for(const y of m.value)g.includes(y)||m.value.delete(y);const h=new Set([...g,...d.value]);k.value=k.value.filter(y=>h.has(y))},{deep:!0}),e.watch(()=>r.documentId,()=>{d.value=[],m.value=new Set,k.value=[]});async function b(){const g=s.value.trim();if(g){s.value="",d.value.includes(g)||d.value.push(g),k.value.includes(g)||k.value.push(g),a.value=!0;try{await(await te.getClientAsync()).documents.addTag(r.documentId,g),l("documents-changed"),n.debug("Added tag to document",{documentId:r.documentId,tag:g})}catch(f){d.value=d.value.filter(h=>h!==g),n.error("Failed to add tag to document:",f),J("Failed to add tag: "+ae(f))}finally{a.value=!1}}}function x(g){i.value=g,u.value=!0}function p(){u.value=!1,i.value=null}function C(){i.value&&v(i.value),u.value=!1,i.value=null}async function v(g){m.value.add(g),c.value=g;try{await(await te.getClientAsync()).makeRequest("DELETE",`/documents/${r.documentId}/tags/${encodeURIComponent(g)}`),l("documents-changed"),n.debug("Removed tag from document",{documentId:r.documentId,tag:g})}catch(f){m.value.delete(g),n.error("Failed to remove tag from document:",f),J("Failed to remove tag: "+ae(f))}finally{c.value=null}}return(g,f)=>(e.openBlock(),e.createElementBlock("div",null,[f[2]||(f[2]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Tags ",-1)),e.createElementVNode("div",vv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,h=>(e.openBlock(),e.createElementBlock("span",{key:h,class:"inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] bg-muted rounded group max-w-full",title:h},[e.createElementVNode("span",hv,e.toDisplayString(h),1),t.canWrite&&!(t.isRoot&&h===wv)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"opacity-0 group-hover:opacity-100 hover:text-destructive flex-shrink-0",disabled:c.value===h,onClick:y=>x(h)}," × ",8,yv)):e.createCommentVNode("",!0)],8,gv))),128)),t.canWrite&&!t.isRoot?e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:0,"onUpdate:modelValue":f[0]||(f[0]=h=>s.value=h),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,bv)),[[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:p,"onUpdate:isOpen":f[1]||(f[1]=h=>{h||p()})},null,8,["is-open","question","is-deleting"])]))}}),kv={class:"relative min-h-0"},Cv={class:"w-3 h-3 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ev={key:0,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"},Mv={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"},zv={class:"mb-4"},Nv={class:"flex items-center justify-between"},Sv={class:"text-base font-semibold truncate"},Vv={key:0,class:"relative"},Dv={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"},Av={class:"py-1"},Iv={key:0,class:"border-t border-border my-1"},$v=["title"],Tv={class:"text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]"},_v={key:0,class:"w-3 h-3 text-green-500 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Pv={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"},Ov={class:"space-y-3 mb-4 text-xs"},Rv={class:"flex justify-between"},Lv={class:"flex justify-between"},Fv={key:0,class:"flex justify-between"},qv={class:"mb-4"},jv={class:"mb-4"},Uv={key:0,class:"mb-4"},Hv={class:"mb-4"},Wv={key:0,class:"space-y-1"},Gv={key:0,class:"flex justify-between gap-2 text-xs"},Kv=["title","onClick"],Qv={class:"text-muted-foreground flex-shrink-0 whitespace-nowrap"},Yv={key:1,class:"text-xs text-muted-foreground italic"},Xv={class:"bg-background rounded-lg shadow-xl w-80 p-4"},Zv={class:"space-y-3"},Jv={class:"flex justify-end gap-2"},eg=["disabled"],tg=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(Ct)==="true":!1);e.watch(s,C=>{typeof window<"u"&&localStorage.setItem(Ct,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 m(){c.value||a.value?document.addEventListener("keydown",d):document.removeEventListener("keydown",d)}e.watch(c,C=>{m(),C&&e.nextTick(()=>i.value?.focus())}),e.watch(a,()=>m()),e.onUnmounted(()=>{document.removeEventListener("keydown",d)});const k=e.ref(null);let w=null;async function b(C){try{await navigator.clipboard.writeText(C)}catch{}k.value=C,w&&clearTimeout(w),w=setTimeout(()=>{k.value=null},1500)}function x(){const C=u.value.trim();C&&(r("rename-document",n.document.documentId,C),c.value=!1)}function p(C){if(!C)return"Unknown";try{return new Date(C).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"})}catch{return C}}return(C,v)=>(e.openBlock(),e.createElementBlock("div",kv,[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:v[0]||(v[0]=g=>s.value=!s.value)},[(e.openBlock(),e.createElementBlock("svg",Cv,[s.value?(e.openBlock(),e.createElementBlock("path",Ev)):(e.openBlock(),e.createElementBlock("path",Mv))]))]),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",zv,[e.createElementVNode("div",Nv,[e.createElementVNode("h2",Sv,e.toDisplayString(t.document.title||"Untitled"),1),l.value?(e.openBlock(),e.createElementBlock("div",Vv,[e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded",onClick:v[1]||(v[1]=g=>a.value=!a.value)},[...v[9]||(v[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",Dv,[e.createElementVNode("div",Av,[e.createElementVNode("button",{class:"w-full px-3 py-1.5 text-xs text-left hover:bg-muted flex items-center gap-2",onClick:v[2]||(v[2]=g=>{a.value=!1,c.value=!0,u.value=t.document?.title||""})},[e.createVNode(e.unref(dl),{class:"w-3.5 h-3.5"}),v[10]||(v[10]=e.createTextVNode(" Rename Document ",-1))]),t.document.isRoot?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Iv)),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:v[3]||(v[3]=g=>{a.value=!1,r("delete-document",t.document.documentId)})},[e.createVNode(e.unref(hn),{class:"w-3.5 h-3.5"}),v[11]||(v[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:v[4]||(v[4]=g=>b(t.document.documentId))},[e.createElementVNode("code",Tv,e.toDisplayString(t.document.documentId),1),k.value===t.document.documentId?(e.openBlock(),e.createElementBlock("svg",_v,[...v[12]||(v[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",Pv,[...v[13]||(v[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,$v)]),e.createElementVNode("div",Ov,[e.createElementVNode("div",Rv,[v[14]||(v[14]=e.createElementVNode("span",{class:"text-muted-foreground"},"Created",-1)),e.createElementVNode("span",null,e.toDisplayString(p(t.document.createdAt||t.document.lastModified)),1)]),e.createElementVNode("div",Lv,[v[15]||(v[15]=e.createElementVNode("span",{class:"text-muted-foreground"},"Permission",-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(_t)(t.document.permission)),1)]),t.document.isRoot?(e.openBlock(),e.createElementBlock("div",Fv,[...v[16]||(v[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",qv,[e.createVNode(xv,{"document-id":t.document.documentId,"base-tags":t.document.tags??[],"can-write":l.value,"is-root":t.document.isRoot,onDocumentsChanged:v[5]||(v[5]=g=>r("documents-changed"))},null,8,["document-id","base-tags","can-write","is-root"])]),e.createElementVNode("div",jv,[e.createVNode(jp,{"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",Uv,[e.createVNode(pv,{"document-id":t.document.documentId,"can-write":l.value},null,8,["document-id","can-write"])])),e.createElementVNode("div",Hv,[v[17]||(v[17]=e.createElementVNode("h3",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2"}," Models ",-1)),t.models.some(g=>(t.recordCounts[g.tableName]??0)>0)?(e.openBlock(),e.createElementBlock("div",Wv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.models,g=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g.tableName},[(t.recordCounts[g.tableName]??0)>0?(e.openBlock(),e.createElementBlock("div",Gv,[e.createElementVNode("button",{class:"hover:text-primary hover:underline text-left truncate min-w-0",title:g.name,onClick:f=>r("navigate-to-model",g.tableName)},e.toDisplayString(g.name),9,Kv),e.createElementVNode("span",Qv,e.toDisplayString(t.recordCounts[g.tableName])+" records ",1)])):e.createCommentVNode("",!0)],64))),128))])):(e.openBlock(),e.createElementBlock("p",Yv," 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:v[8]||(v[8]=e.withModifiers(g=>c.value=!1,["self"]))},[e.createElementVNode("div",Xv,[v[19]||(v[19]=e.createElementVNode("h3",{class:"text-sm font-semibold mb-3"},"Rename Document",-1)),e.createElementVNode("div",Zv,[e.createElementVNode("div",null,[v[18]||(v[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":v[6]||(v[6]=g=>u.value=g),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(x,["enter"])},null,544),[[e.vModelText,u.value]])]),e.createElementVNode("div",Jv,[e.createElementVNode("button",{class:"px-3 py-1.5 text-xs hover:bg-muted rounded",onClick:v[7]||(v[7]=g=>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:x}," Rename ",8,eg)])])])])):e.createCommentVNode("",!0)]))}}),og={class:"relative min-h-0"},ng={class:"w-3 h-3 text-muted-foreground",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},rg={key:0,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M15 19l-7-7 7-7"},lg={key:1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},ag={class:"flex-1 overflow-y-auto scrollbar-thin min-h-0 p-3"},sg={class:"mb-4"},ig={class:"flex items-center gap-2"},cg={class:"text-base font-semibold truncate"},ug=["title"],dg={class:"text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]"},fg={key:0,class:"w-3 h-3 text-green-500 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},mg={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"},pg={class:"flex items-center gap-2 mb-4 pb-4 border-b border-border"},vg=["disabled"],gg={key:0,class:"w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin"},hg=["disabled"],yg={class:"space-y-2 text-xs mb-4"},bg={class:"flex items-center justify-between"},wg={class:"flex items-center justify-between"},xg={class:"flex items-center justify-between"},kg=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(Ct)==="true":!1);e.watch(l,p=>{typeof window<"u"&&localStorage.setItem(Ct,String(p))});const s=e.ref(null);let a=null;const c=async p=>{try{await navigator.clipboard.writeText(p)}catch{}s.value=p,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)},m=e.ref(!1),k=()=>{m.value=!0},w=()=>{i.value=!0,r("decline-invitation",n.invitation.documentId),m.value=!1},b=p=>{if(!p)return"Unknown";try{return new Date(p).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}catch{return p}},x=()=>n.invitation.title||n.invitation.document?.title||"Untitled";return(p,C)=>(e.openBlock(),e.createElementBlock("div",og,[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]=v=>l.value=!l.value)},[(e.openBlock(),e.createElementBlock("svg",ng,[l.value?(e.openBlock(),e.createElementBlock("path",rg)):(e.openBlock(),e.createElementBlock("path",lg))]))]),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",ag,[e.createElementVNode("div",sg,[e.createElementVNode("div",ig,[e.createElementVNode("h2",cg,e.toDisplayString(x()),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]=v=>c(t.invitation.documentId))},[e.createElementVNode("code",dg,e.toDisplayString(t.invitation.documentId),1),s.value===t.invitation.documentId?(e.openBlock(),e.createElementBlock("svg",fg,[...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",mg,[...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,ug)]),e.createElementVNode("div",pg,[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",gg)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(u.value?"Accepting...":"Accept Invitation"),1)],8,vg),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:k},e.toDisplayString(i.value?"...":"Decline"),9,hg)]),e.createElementVNode("div",yg,[e.createElementVNode("div",bg,[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",wg,[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(Cl)(t.invitation.permission)])},e.toDisplayString(e.unref(_t)(t.invitation.permission)),3)]),e.createElementVNode("div",xg,[C[9]||(C[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(Ce,{"is-open":m.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:w,onCancel:C[2]||(C[2]=v=>m.value=!1),"onUpdate:isOpen":C[3]||(C[3]=v=>{v||(m.value=!1)})},null,8,["is-open","is-deleting"])]))}});function ir(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),m=c.filter(x=>d.has(x[o])),k=t.value,w=new Set(k.map(x=>x[o])),b=[];for(const x of c){const p=x[o];(w.has(p)||d.has(p))&&b.push(k.find(C=>C[o]===p)??m.find(C=>C[o]===p)??x)}for(const x of k)b.some(p=>p[o]===x[o])||b.push(x);t.value=b}return{failedIds:i}}catch{return t.value=c,{failedIds:s}}}async function l(s,a,c,u){const i=t.value.find(m=>m[o]===s),d=i?i[a]:void 0;t.value=t.value.map(m=>m[o]===s?{...m,[a]:c}:m);try{return await u(),{success:!0}}catch{return d!==void 0&&(t.value=t.value.map(m=>m[o]===s?{...m,[a]:d}:m)),{success:!1}}}return{optimisticRemove:n,optimisticBulkRemove:r,optimisticFieldUpdate:l}}const Cg={class:"bg-background rounded-lg shadow-xl w-80 p-4"},Eg={class:"space-y-3"},Mg=["disabled"],Bg={class:"flex justify-end gap-2"},zg=["disabled"],Ng=["disabled"],Sg={key:0,class:"w-3 h-3 border-2 border-primary-foreground border-t-transparent rounded-full animate-spin"},Vg=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",Cg,[d[2]||(d[2]=e.createElementVNode("h3",{class:"text-sm font-semibold mb-3"},"Create New Document",-1)),e.createElementVNode("div",Eg,[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]=m=>l.value=m),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,Mg),[[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,zg),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",Sg)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.isCreating?"Creating...":"Create"),1)],8,Ng)])])])])):e.createCommentVNode("",!0)}}),Dg=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(gc),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"]))}}),Ag=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(cu),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(du),{"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"]))}}),en=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)]])}}),Ig={class:"min-h-10 px-3 py-1.5 border-b border-border bg-muted/20 relative flex items-center"},$g={class:"flex items-center gap-2 flex-1"},Tg=["onClick","onKeydown"],_g={class:"text-muted-foreground"},Pg={key:0,class:"font-medium truncate max-w-[120px]"},Og=["onClick"],Rg={class:"space-y-2"},Lg=["value"],Fg=["value"],qg={key:0},jg=["value"],Ug=["placeholder"],Hg={key:1,class:"text-[9px] text-muted-foreground"},Wg={class:"flex justify-end gap-2 pt-2"},Gg=["disabled"],Kg=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"),m=e.ref(""),k=e.computed(()=>n.modelInfo?yn(n.modelInfo,n.loadedData,n.showHiddenFields):[]),w=e.computed(()=>!n.modelInfo||!i.value?[]:lr(n.modelInfo,i.value)),b=e.computed(()=>!n.modelInfo||!i.value?"string":Fe(n.modelInfo,i.value)?.type??"string"),x=e.computed(()=>d.value==="in"||d.value==="not_in"),p=e.computed(()=>b.value==="boolean"&&!x.value),C=e.computed(()=>b.value==="number"&&!x.value),v=()=>{u.value=null;const N=k.value[0]||"";i.value=N,d.value=n.modelInfo&&N?ar(n.modelInfo,N):"contains",m.value=""};e.watch(i,N=>{if(!n.modelInfo||!N)return;lr(n.modelInfo,N).includes(d.value)||(d.value=ar(n.modelInfo,N)),(Fe(n.modelInfo,N)?.type??"string")==="boolean"&&m.value!=="true"&&m.value!=="false"&&(m.value="true")}),e.watch(()=>n.modelInfo,()=>v(),{immediate:!0});const g=()=>{v(),l.value=!0},f=N=>{u.value=N.id,i.value=N.field,d.value=N.mode,m.value=N.value,l.value=!0},h=()=>{l.value=!1,u.value=null},y=()=>{i.value&&(u.value?r("update-filter",{id:u.value,field:i.value,mode:d.value,value:m.value}):r("add-filter",{field:i.value,mode:d.value,value:m.value}),v(),h())},B=N=>{N.key==="Escape"&&l.value&&h()},E=N=>{if(!l.value)return;const M=N.target,S=s.value?.contains(M),D=a.value?.contains(M),V=c.value?.contains(M);!S&&!D&&!V&&h()};return e.onMounted(()=>{document.addEventListener("click",E),document.addEventListener("keydown",B)}),e.onUnmounted(()=>{document.removeEventListener("click",E),document.removeEventListener("keydown",B)}),(N,M)=>(e.openBlock(),e.createElementBlock("div",Ig,[e.createElementVNode("div",$g,[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,S=>(e.openBlock(),e.createElementBlock("div",{key:S.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:D=>f(S),onKeydown:e.withKeys(D=>f(S),["enter"])},[e.createElementVNode("span",_g,e.toDisplayString(S.field),1),e.createElementVNode("span",null,e.toDisplayString(e.unref(rr)(S.mode)),1),e.unref($o)(S.mode)?(e.openBlock(),e.createElementBlock("span",Pg,'"'+e.toDisplayString(S.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(D=>r("remove-filter",S.id),["stop"])},[e.createVNode(e.unref(io),{class:"w-3 h-3"})],8,Og)],40,Tg))),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:M[0]||(M[0]=S=>l.value?h():g())},[e.createVNode(e.unref(ud),{class:"w-3 h-3"}),M[7]||(M[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:M[1]||(M[1]=S=>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",Rg,[e.createElementVNode("div",null,[M[8]||(M[8]=e.createElementVNode("label",{class:"text-[10px] font-medium text-muted-foreground"},"Field",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":M[2]||(M[2]=S=>i.value=S),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,S=>(e.openBlock(),e.createElementBlock("option",{key:S,value:S},e.toDisplayString(S),9,Lg))),128))],512),[[e.vModelSelect,i.value]])]),e.createElementVNode("div",null,[M[9]||(M[9]=e.createElementVNode("label",{class:"text-[10px] font-medium text-muted-foreground"},"Operator",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":M[3]||(M[3]=S=>d.value=S),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(w.value,S=>(e.openBlock(),e.createElementBlock("option",{key:S,value:S},e.toDisplayString(e.unref(rr)(S)),9,Fg))),128))],512),[[e.vModelSelect,d.value]])]),e.unref($o)(d.value)?(e.openBlock(),e.createElementBlock("div",qg,[M[11]||(M[11]=e.createElementVNode("label",{class:"text-[10px] font-medium text-muted-foreground"},"Value",-1)),p.value?e.withDirectives((e.openBlock(),e.createElementBlock("select",{key:0,"onUpdate:modelValue":M[4]||(M[4]=S=>m.value=S),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(y,["enter"])},[...M[10]||(M[10]=[e.createElementVNode("option",{value:"true"},"true",-1),e.createElementVNode("option",{value:"false"},"false",-1)])],544)),[[e.vModelSelect,m.value]]):C.value?(e.openBlock(),e.createElementBlock("input",{key:1,value:m.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:M[5]||(M[5]=S=>m.value=S.target.value),onKeyup:e.withKeys(y,["enter"])},null,40,jg)):e.withDirectives((e.openBlock(),e.createElementBlock("input",{key:2,"onUpdate:modelValue":M[6]||(M[6]=S=>m.value=S),type:"text",placeholder:x.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(y,["enter"])},null,40,Ug)),[[e.vModelText,m.value]])])):e.createCommentVNode("",!0),x.value?(e.openBlock(),e.createElementBlock("div",Hg," Tip: Enter comma-separated values ")):e.createCommentVNode("",!0),e.createElementVNode("div",Wg,[e.createElementVNode("button",{class:"px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground",onClick:h}," 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"&&!m.value.trim(),onClick:y},e.toDisplayString(u.value?"Save":"Add"),9,Gg)])])],512)):e.createCommentVNode("",!0)]))}}),Qg={class:"flex items-center gap-2"},Yg={class:"text-xs font-medium"},Xg={class:"flex items-center gap-2 min-w-0 flex-1"},Zg={class:"relative flex items-center gap-1.5 min-w-0","data-model-selector":""},Jg={class:"truncate"},eh={key:0,class:"text-[10px] text-muted-foreground font-mono ml-2 truncate hidden lg:inline"},th={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"},oh={class:"py-1"},nh=["onClick"],rh={class:"font-medium truncate min-w-0"},lh={class:"text-muted-foreground flex-shrink-0 ml-2"},ah={class:"flex items-center gap-1 flex-shrink-0 min-w-0 max-w-[50%]"},sh=["title"],ih={key:0,class:"truncate"},ch={key:0,class:"border-b border-border bg-muted/30 max-h-64 overflow-y-auto scrollbar-thin"},uh={class:"p-3"},dh={class:"grid grid-cols-4 gap-4 text-xs"},fh={class:"space-y-1"},mh={class:"truncate min-w-0"},ph={class:"text-muted-foreground flex-shrink-0"},vh={key:0,class:"space-y-1.5"},gh={class:"font-medium"},hh={class:"text-[10px] text-blue-600 font-mono"},yh={key:1,class:"text-[10px] text-muted-foreground italic"},bh={key:0,class:"space-y-1.5"},wh={class:"font-medium font-mono"},xh={class:"font-mono text-muted-foreground italic"},kh={class:"font-mono text-muted-foreground"},Ch={key:1,class:"text-[10px] text-muted-foreground italic"},Eh={class:"space-y-3"},Mh={key:0,class:"space-y-1"},Bh={key:1,class:"text-[10px] text-muted-foreground italic"},zh={key:0,class:"space-y-1"},Nh={key:1,class:"text-[10px] text-muted-foreground italic"},Sh=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=p=>{l.value=!1,r("switch-model",p)},d=p=>{l.value&&(p.target.closest("[data-model-selector]")||(l.value=!1))},m=p=>{p.key==="Escape"&&l.value&&(l.value=!1)},k=p=>{if(!p?.modelClass)return{instanceMethods:[],staticMethods:[],getters:[]};const C=p.modelClass,v=new Set(["constructor","save","delete","update","reload","toJSON","toString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__","_initStringSet","_getStringSet","_buildQuery","_buildUpdate",...p.fields]),g=[],f=[],h=C.prototype,y=Object.getOwnPropertyDescriptors(h);for(const[M,S]of Object.entries(y))if(!(v.has(M)||M.startsWith("_"))){if(S.get&&!S.set)f.push({name:M,type:"getter",signature:`get ${M}`});else if(typeof S.value=="function"&&M!=="constructor"){const R=S.value.toString().match(/\(([^)]*)\)/),G=R?R[1]:"";g.push({name:M,type:"method",signature:`${M}(${G})`})}}const B=[],E=Object.getOwnPropertyDescriptors(C),N=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[M,S]of Object.entries(E))if(!(N.has(M)||M.startsWith("_"))&&typeof S.value=="function"){const R=S.value.toString().match(/\(([^)]*)\)/),G=R?R[1]:"";B.push({name:M,type:"static-method",signature:`static ${M}(${G})`})}return{instanceMethods:g.sort((M,S)=>M.name.localeCompare(S.name)),staticMethods:B.sort((M,S)=>M.name.localeCompare(S.name)),getters:f.sort((M,S)=>M.name.localeCompare(S.name))}},w=e.computed(()=>k(n.currentModel??null)),b=e.computed(()=>{const p=w.value;return p.instanceMethods.length>0||p.staticMethods.length>0||p.getters.length>0}),x=e.computed(()=>{if(!n.currentModel)return[];const p=[];for(const[C,v]of n.currentModel.fieldInfo.entries())v.schema?.indexed&&p.push(C);return p.sort()});return e.onMounted(()=>{document.addEventListener("click",d),document.addEventListener("keydown",m),a.value&&(u=new ResizeObserver(p=>{for(const C of p)c.value=C.contentRect.width<400}),u.observe(a.value))}),e.onUnmounted(()=>{document.removeEventListener("click",d),document.removeEventListener("keydown",m),u?.disconnect()}),(p,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",Yg,e.toDisplayString(t.selectedCount)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:C[0]||(C[0]=v=>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]=v=>r("open-bulk-delete"))},[e.createVNode(e.unref(hn),{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",Xg,[e.createElementVNode("div",Zg,[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]=v=>l.value=!l.value)},[e.createElementVNode("span",Jg,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",eh,e.toDisplayString(t.currentModel.sourcePath),1)):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",th,[e.createElementVNode("div",oh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.models,v=>(e.openBlock(),e.createElementBlock("button",{key:v.tableName,class:e.normalizeClass(["w-full flex items-center justify-between px-3 py-1.5 text-xs text-left hover:bg-muted",v.tableName===t.modelName?"bg-primary/5":""]),onClick:g=>i(v.tableName)},[e.createElementVNode("span",rh,e.toDisplayString(v.name)+" model ",1),e.createElementVNode("span",lh,e.toDisplayString(t.modelCounts[v.tableName]??"..."),1)],10,nh))),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]=v=>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",ah,[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]=v=>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",ih," New "+e.toDisplayString(t.currentModel?.name||t.modelName),1))],10,sh)):e.createCommentVNode("",!0)])],64))],512),s.value&&t.currentModel?(e.openBlock(),e.createElementBlock("div",ch,[e.createElementVNode("div",uh,[e.createElementVNode("div",dh,[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",fh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.currentModel.fields.filter(v=>v!=="id"&&!v.startsWith("_")),v=>(e.openBlock(),e.createElementBlock("div",{key:v,class:"flex justify-between gap-2"},[e.createElementVNode("span",mh,e.toDisplayString(v),1),e.createElementVNode("span",ph,e.toDisplayString(e.unref(Fe)(t.currentModel,v)?.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",vh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.currentModel.relationships,(v,g)=>(e.openBlock(),e.createElementBlock("div",{key:g,class:"flex items-center justify-between"},[e.createElementVNode("span",gh,e.toDisplayString(g),1),e.createElementVNode("span",hh,e.toDisplayString(v.type==="hasMany"?"←":"→")+" "+e.toDisplayString(v.model)+e.toDisplayString(v.type==="hasMany"?"[]":""),1)]))),128))])):(e.openBlock(),e.createElementBlock("span",yh," 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)),b.value?(e.openBlock(),e.createElementBlock("div",bh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value.instanceMethods,v=>(e.openBlock(),e.createElementBlock("div",{key:v.name},[e.createElementVNode("span",wh,e.toDisplayString(v.signature),1)]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value.getters,v=>(e.openBlock(),e.createElementBlock("div",{key:v.name},[e.createElementVNode("span",xh,e.toDisplayString(v.signature),1)]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value.staticMethods,v=>(e.openBlock(),e.createElementBlock("div",{key:v.name},[e.createElementVNode("span",kh,e.toDisplayString(v.signature),1)]))),128))])):(e.openBlock(),e.createElementBlock("span",Ch," None "))]),e.createElementVNode("div",Eh,[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)),x.value.length>0?(e.openBlock(),e.createElementBlock("div",Mh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,v=>(e.openBlock(),e.createElementBlock("div",{key:v,class:"px-2 py-1 bg-muted rounded font-mono text-[10px]"},e.toDisplayString(v),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",zh,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.currentModel.uniqueConstraints,v=>(e.openBlock(),e.createElementBlock("div",{key:v.name,class:"px-2 py-1 bg-muted rounded font-mono text-[10px]"},e.toDisplayString(v.fields.join(", ")),1))),128))])):(e.openBlock(),e.createElementBlock("span",Nh," None "))])])])])])):e.createCommentVNode("",!0)],64))}}),Vh={class:"flex items-center gap-1.5 min-w-0"},Dh={class:"text-muted-foreground text-[10px] tabular-nums whitespace-nowrap"},Ah=["value"],Ih=["value"],$h={class:"flex items-center gap-0.5"},Th=["disabled"],_h={class:"text-[10px] px-1 tabular-nums"},Ph={class:"text-muted-foreground"},Oh=["disabled"],Rh={class:"flex items-center gap-2"},Lh={class:"text-muted-foreground"},Fh=["value"],qh=["value"],jh={class:"flex items-center gap-1"},Uh=["disabled"],Hh=["onClick"],Wh=["disabled"],Gh=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=[],m=5;if(u<=m)for(let k=1;k<=u;k++)d.push(k);else{let k=Math.max(1,i-Math.floor(m/2));const w=Math.min(u,k+m-1);w-k<m-1&&(k=Math.max(1,w-m+1));for(let b=k;b<=w;b++)d.push(b)}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",Vh,[e.createElementVNode("span",Dh,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(Xo),d=>(e.openBlock(),e.createElementBlock("option",{key:d,value:d},e.toDisplayString(d),9,Ih))),128))],40,Ah)]),e.createElementVNode("div",$h,[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,Th),e.createElementVNode("span",_h,[e.createTextVNode(e.toDisplayString(t.currentPage),1),e.createElementVNode("span",Ph,"/"+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,Oh)])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("div",Rh,[e.createElementVNode("span",Lh," 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(Xo),d=>(e.openBlock(),e.createElementBlock("option",{key:d,value:d},e.toDisplayString(d),9,qh))),128))],40,Fh),i[8]||(i[8]=e.createElementVNode("span",{class:"text-muted-foreground"},"per page",-1))]),e.createElementVNode("div",jh,[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,Uh),(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:m=>r("go-to-page",d)},e.toDisplayString(d),11,Hh))),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,Wh)])],64))],2))}}),Qt=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)]])}}),Kh=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(kc),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(Kc),null,{default:e.withCtx(()=>[e.createVNode(e.unref(Pc),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(Zh)),e.createVNode(e.unref(lu),{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(Xh))]),_:3},16,["class"])]),_:3}))}}),Yh={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(qc),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",Yh,[e.createVNode(e.unref(Uc),null,{default:e.withCtx(()=>[e.renderSlot(l.$slots,"indicator-icon",{},()=>[e.createVNode(e.unref(ad),{class:"size-4"})])]),_:3})]),e.createVNode(e.unref(Wc),null,{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3})]),_:3},16,["class"]))}}),Xh=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(Xc),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(ul),{class:"size-4"})])]),_:3},16,["class"]))}}),Zh=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(Jc),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(sd),{class:"size-4"})])]),_:3},16,["class"]))}}),Jh=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(tu),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(Rc),{"as-child":""},{default:e.withCtx(()=>[e.createVNode(e.unref(ul),{class:"size-4 opacity-50"})]),_:1})]),_:3},16,["data-size","class"]))}}),ey=e.defineComponent({__name:"SelectValue",props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(t){const o=t;return(n,r)=>(e.openBlock(),e.createBlock(e.unref(nu),e.mergeProps({"data-slot":"select-value"},o),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),ty=["title","onClick"],oy={class:"text-xs font-mono truncate"},ny={key:0,class:"w-3 h-3 flex-shrink-0 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ry={key:1,class:"w-3 h-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ly=["for","title"],ay={key:0,class:"opacity-50"},sy={key:0,class:"space-y-1.5 mt-1"},iy={key:0,class:"flex gap-1"},cy={key:0,class:"text-muted-foreground ml-2"},uy={class:"text-[10px] text-muted-foreground"},dy={key:1,class:"mt-1 space-y-1.5"},fy={class:"flex flex-wrap gap-1"},my=["onClick"],py={key:0,class:"text-xs text-muted-foreground"},vy={class:"flex gap-1"},gy={key:2,class:"mt-1 space-y-1"},hy=["id","value","onChange"],yy={key:0,class:"text-[10px] text-destructive"},by={key:1,class:"text-[10px] text-muted-foreground"},wy={class:"flex items-center gap-1"},xy=["onClick"],ky=["onClick"],Cy={key:3,class:"mt-1 flex items-center gap-2"},Ey=["id","checked","onChange"],My={class:"text-xs text-muted-foreground"},cr=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(b){const x=new Set(s.value);x.has(b)?x.delete(b):x.add(b),s.value=x}function c(b){if(!b)return!0;const x=new Date(b);return!isNaN(x.getTime())}const u=e.computed(()=>{const b={};for(const x of s.value){const p=n.formData[x];b[x]=c(p==null?"":String(p))}return b});function i(b,x){r("update-field",b,x)}function d(b){const x=l.value[b]?.trim();if(!x)return;const p=n.formData[b]||[];p.includes(x)||r("update-field",b,[...p,x]),l.value[b]=""}function m(b,x){const p=n.formData[b]||[];r("update-field",b,p.filter(C=>C!==x))}function k(b){if(!b)return"";try{const x=new Date(String(b));if(isNaN(x.getTime()))return"";const p=x.getFullYear().toString().padStart(4,"0"),C=(x.getMonth()+1).toString().padStart(2,"0"),v=x.getDate().toString().padStart(2,"0");return`${p}-${C}-${v}`}catch{return""}}function w(b){if(!b)return"";try{const[x,p,C]=b.split("-").map(Number),v=new Date(0);return v.setFullYear(x,p-1,C),v.setHours(0,0,0,0),isNaN(v.getTime())?"":v.toISOString()}catch{return""}}return(b,x)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.excludeId?t.fields.filter(p=>p!=="id"):t.fields,p=>(e.openBlock(),e.createElementBlock("div",{key:p,class:"min-w-0"},[p==="id"&&!t.excludeId?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[x[2]||(x[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[p]}`,onClick:C=>r("copy-id",String(t.formData[p]))},[e.createElementVNode("code",oy,e.toDisplayString(t.formData[p]),1),t.copiedId===String(t.formData[p])?(e.openBlock(),e.createElementBlock("svg",ny,[...x[0]||(x[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",ry,[...x[1]||(x[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,ty)],64)):p!=="id"||!t.excludeId?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("label",{for:`${t.idPrefix}-${p}`,class:"text-xs text-muted-foreground block truncate",title:p},[e.createTextVNode(e.toDisplayString(p)+" ",1),p.startsWith("_")?(e.openBlock(),e.createElementBlock("span",ay,"(hidden)")):e.createCommentVNode("",!0)],8,ly),e.unref(To)(t.modelInfo,p)?(e.openBlock(),e.createElementBlock("div",sy,[t.customIdFields.has(p)?(e.openBlock(),e.createElementBlock("div",iy,[e.createVNode(e.unref(Qt),{id:`${t.idPrefix}-${p}`,"model-value":t.formData[p]||"",placeholder:"Enter new ID...",class:"h-8 text-xs flex-1","onUpdate:modelValue":C=>i(p,C)},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:C=>r("toggle-custom-id",p,!1)},{default:e.withCtx(()=>[e.createVNode(e.unref(io),{class:"h-3 w-3"})]),_:1},8,["onClick"])])):(e.openBlock(),e.createBlock(e.unref(Kh),{key:1,"model-value":t.formData[p]||"","onUpdate:modelValue":C=>{C==="__custom_id__"?(r("toggle-custom-id",p,!0),i(p,"")):C==="__null__"?i(p,null):i(p,C)}},{default:e.withCtx(()=>[e.createVNode(e.unref(Jh),{id:`${t.idPrefix}-${p}`,class:"h-8 text-xs"},{default:e.withCtx(()=>[e.createVNode(e.unref(ey),{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(To)(t.modelInfo,p)?.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",cy," ("+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(()=>[...x[3]||(x[3]=[e.createTextVNode(" + Add new ID ",-1)])]),_:1}),t.formData[p]?(e.openBlock(),e.createBlock(e.unref(_o),{key:0,value:"__null__",class:"text-destructive"},{default:e.withCtx(()=>[...x[4]||(x[4]=[e.createTextVNode(" Set null ",-1)])]),_:1})):e.createCommentVNode("",!0)]),_:2},1024)]),_:2},1032,["model-value","onUpdate:modelValue"])),e.createElementVNode("div",uy," → "+e.toDisplayString(e.unref(To)(t.modelInfo,p)?.relatedModel),1)])):e.unref(xt)(t.modelInfo,p)?(e.openBlock(),e.createElementBlock("div",dy,[e.createElementVNode("div",fy,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.formData[p]||[],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:v=>m(p,C)},[e.createVNode(e.unref(io),{class:"h-3 w-3"})],8,my)]))),128)),!t.formData[p]||t.formData[p].length===0?(e.openBlock(),e.createElementBlock("span",py," No items ")):e.createCommentVNode("",!0)]),e.createElementVNode("div",vy,[e.createVNode(e.unref(Qt),{id:`${t.idPrefix}-stringset-${p}`,modelValue:l.value[p],"onUpdate:modelValue":C=>l.value[p]=C,placeholder:"Add item...",class:"flex-1 h-8 text-xs",onKeyup:e.withKeys(C=>d(p),["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:C=>d(p)},{default:e.withCtx(()=>[...x[5]||(x[5]=[e.createTextVNode(" Add ",-1)])]),_:1},8,["onClick"])])])):e.unref(Zo)(t.modelInfo,p)?(e.openBlock(),e.createElementBlock("div",gy,[s.value.has(p)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createVNode(e.unref(Qt),{id:`${t.idPrefix}-${p}`,"model-value":String(t.formData[p]??""),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[p]&&!u.value[p]}]),"onUpdate:modelValue":C=>i(p,C||void 0)},null,8,["id","model-value","class","onUpdate:modelValue"]),t.formData[p]&&!u.value[p]?(e.openBlock(),e.createElementBlock("p",yy," Invalid date — use ISO 8601 format ")):t.formData[p]&&u.value[p]?(e.openBlock(),e.createElementBlock("p",by,e.toDisplayString(new Date(t.formData[p]).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}-${p}`,type:"date",value:k(t.formData[p]),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(p,w(C.target.value)||void 0)},null,40,hy)),e.createElementVNode("div",wy,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors",s.value.has(p)?"text-muted-foreground hover:text-foreground hover:bg-muted":"bg-primary text-primary-foreground"]),onClick:()=>{s.value.has(p)&&a(p)}}," Picker ",10,xy),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors",s.value.has(p)?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground hover:bg-muted"]),onClick:()=>{s.value.has(p)||a(p)}}," ISO ",10,ky)])])):e.unref(Jo)(t.modelInfo,p)?(e.openBlock(),e.createElementBlock("div",Cy,[e.createElementVNode("input",{id:`${t.idPrefix}-${p}`,type:"checkbox",class:"w-4 h-4 rounded border-border",checked:!!t.formData[p],onChange:C=>i(p,C.target.checked)},null,40,Ey),e.createElementVNode("span",My,e.toDisplayString(t.formData[p]?"Yes":"No"),1)])):e.unref(Hm)(t.modelInfo,p)?(e.openBlock(),e.createBlock(e.unref(Qt),{key:4,id:`${t.idPrefix}-${p}`,type:"number","model-value":String(t.formData[p]??""),class:"mt-1 h-8 text-xs","onUpdate:modelValue":C=>i(p,C===""?void 0:Number(C))},null,8,["id","model-value","onUpdate:modelValue"])):e.unref(bl)(t.formData[p])||e.unref(Lm)(t.formData[p])==="textarea"?(e.openBlock(),e.createBlock(e.unref(en),{key:5,id:`${t.idPrefix}-${p}`,"model-value":typeof t.formData[p]=="object"?e.unref(co)(t.formData[p],2):String(t.formData[p]??""),rows:"4",class:"mt-1 font-mono text-xs resize-vertical","onUpdate:modelValue":C=>i(p,C)},null,8,["id","model-value","onUpdate:modelValue"])):(e.openBlock(),e.createBlock(e.unref(en),{key:6,id:`${t.idPrefix}-${p}`,"model-value":String(t.formData[p]??""),rows:"1",class:"mt-1 text-xs min-h-[2rem] resize-vertical","onUpdate:modelValue":C=>i(p,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))}}),zy=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))}}),Po=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))}}),ur=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))}}),Oo=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))}}),Ny=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))}}),Sy={class:"flex-1 relative min-h-[200px]"},Vy=["checked","indeterminate"],Dy=["title","onClick"],Ay={class:"truncate"},Iy={key:0,class:"text-primary font-bold text-xs flex-shrink-0"},$y=["title"],Ty=["checked","onChange"],_y={class:"truncate"},Py=["title","onClick"],Oy={class:"overflow-hidden whitespace-nowrap"},Ry={key:0,class:"w-3 h-3 flex-shrink-0 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ly={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"},Fy={key:1,class:"text-[10px] font-mono text-muted-foreground/50"},qy={key:2,class:"flex gap-0.5 overflow-hidden"},jy={key:0,class:"text-[9px] text-muted-foreground shrink-0"},Uy={key:0},Hy=["checked"],Wy={key:5,class:"text-xs bg-muted px-1 py-0.5 rounded"},Gy={class:"flex items-center gap-0.5"},Ky=["onClick"],Qy=["onClick"],Yy={key:0,class:"absolute inset-0 flex items-center justify-center pointer-events-none",style:{top:"1.5rem"}},Xy=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(()=>yn(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 v=>{try{await navigator.clipboard.writeText(v)}catch{const g=document.createElement("textarea");g.value=v,document.body.appendChild(g),g.select(),document.execCommand("copy"),document.body.removeChild(g)}a.value=v,c&&clearTimeout(c),c=setTimeout(()=>{a.value=null},1500)},i=v=>xl(n.modelInfo,v),d=v=>!n.sorting||n.sorting.field!==v?"":Km(n.sorting.direction),m=(v,g=8)=>{const f=String(v??"");return f.length<=g?f:"…"+f.slice(-g)},k=v=>v==="id"?"120px":Jo(n.modelInfo,v)?"60px":Zo(n.modelInfo,v)?"110px":xt(n.modelInfo,v)?"160px":"180px",w=e.ref(null),b=e.ref(null),x=e.ref(!1);let p=null;const C=v=>{if(b.value===v)return{backgroundColor:x.value?"transparent":"rgba(250, 204, 21, 0.35)",transition:"background-color 2s ease-out"}};return e.watch(()=>n.highlightedRecordId,async v=>{if(!v)return;x.value=!1,b.value=v,await e.nextTick();const g=w.value?.querySelector(`tr[data-highlight-id="${v}"]`);g&&g.scrollIntoView({block:"nearest",behavior:"smooth"}),p&&clearTimeout(p),p=setTimeout(()=>{x.value=!0,p=setTimeout(()=>{b.value=null,x.value=!1},2200)},600)}),(v,g)=>(e.openBlock(),e.createElementBlock("div",Sy,[e.createElementVNode("div",{ref_key:"tableContainer",ref:w,class:"absolute inset-0 overflow-auto"},[e.createVNode(e.unref(By),{class:"text-xs"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ny),{class:"sticky top-0 z-10 bg-muted"},{default:e.withCtx(()=>[e.createVNode(e.unref(ur),null,{default:e.withCtx(()=>[t.canWrite?(e.openBlock(),e.createBlock(e.unref(Oo),{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:g[0]||(g[0]=f=>r("toggle-select-all"))},null,40,Vy)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,f=>(e.openBlock(),e.createBlock(e.unref(Oo),{key:f,class:"px-2 text-left font-medium text-muted-foreground overflow-hidden",style:e.normalizeStyle({width:k(f),minWidth:k(f),maxWidth:k(f)})},{default:e.withCtx(()=>[i(f)?(e.openBlock(),e.createElementBlock("button",{key:0,class:"flex items-center gap-0.5 hover:text-foreground max-w-full min-w-0",title:f,onClick:h=>r("toggle-column-sort",f)},[e.createElementVNode("span",Ay,e.toDisplayString(f),1),d(f)?(e.openBlock(),e.createElementBlock("span",Iy,e.toDisplayString(d(f)),1)):e.createCommentVNode("",!0)],8,Dy)):(e.openBlock(),e.createElementBlock("span",{key:1,class:"truncate block",title:f},e.toDisplayString(f),9,$y))]),_:2},1032,["style"]))),128)),t.canWrite?(e.openBlock(),e.createBlock(e.unref(Oo),{key:1,class:"w-0 p-0"})):e.createCommentVNode("",!0)]),_:1})]),_:1}),e.createVNode(e.unref(zy),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.records,f=>(e.openBlock(),e.createBlock(e.unref(ur),{key:f.id,class:e.normalizeClass("hover:bg-muted/30 group border-none"),style:e.normalizeStyle(C(f.id)),"data-highlight-id":f.id,onClick:h=>r("edit-record",f)},{default:e.withCtx(()=>[t.canWrite?(e.openBlock(),e.createBlock(e.unref(Po),{key:0,class:"px-2 w-8",onClick:g[1]||(g[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(f.id),onChange:h=>r("toggle-record-selection",f.id)},null,40,Ty)]),_:2},1024)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,h=>(e.openBlock(),e.createBlock(e.unref(Po),{key:h,class:"px-2 overflow-hidden",style:e.normalizeStyle({width:k(h),minWidth:k(h),maxWidth:k(h)})},{default:e.withCtx(()=>[e.createElementVNode("div",_y,[h==="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: ${f[h]}`,onClick:e.withModifiers(y=>u(String(f[h])),["stop"])},[e.createElementVNode("span",Oy,e.toDisplayString(m(f[h])),1),a.value===String(f[h])?(e.openBlock(),e.createElementBlock("svg",Ry,[...g[3]||(g[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",Ly,[...g[4]||(g[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,Py)):f[h]==null?(e.openBlock(),e.createElementBlock("span",Fy,"NULL")):e.unref(xt)(t.modelInfo,h)?(e.openBlock(),e.createElementBlock("div",qy,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f[h]&&typeof f[h].toArray=="function"?f[h].toArray().slice(0,3):[],y=>(e.openBlock(),e.createElementBlock("span",{key:y,class:"px-1 text-[9px] bg-muted rounded truncate shrink-0"},e.toDisplayString(y),1))),128)),f[h]&&typeof f[h].toArray=="function"&&f[h].toArray().length>3?(e.openBlock(),e.createElementBlock("span",jy," +"+e.toDisplayString(f[h].toArray().length-3),1)):e.createCommentVNode("",!0)])):e.unref(Zo)(t.modelInfo,h)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[f[h]?(e.openBlock(),e.createElementBlock("span",Uy,e.toDisplayString(new Date(f[h]).toLocaleDateString()),1)):e.createCommentVNode("",!0)],64)):e.unref(Jo)(t.modelInfo,h)?(e.openBlock(),e.createElementBlock("input",{key:4,type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:!!f[h],disabled:""},null,8,Hy)):e.unref(bl)(f[h])?(e.openBlock(),e.createElementBlock("code",Wy,e.toDisplayString(e.unref(co)(f[h]).slice(0,50))+e.toDisplayString(e.unref(co)(f[h]).length>50?"...":""),1)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:6},[e.createTextVNode(e.toDisplayString(f[h]),1)],64))])]),_:2},1032,["style"]))),128)),t.canWrite?(e.openBlock(),e.createBlock(e.unref(Po),{key:1,class:"px-2 sticky right-0 group-hover:bg-white",onClick:g[2]||(g[2]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[e.createElementVNode("div",Gy,[e.createElementVNode("button",{class:"p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground",title:"Edit",onClick:h=>r("edit-record",f)},[e.createVNode(e.unref(dl),{class:"w-3.5 h-3.5"})],8,Ky),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:h=>r("delete-record",f.id)},[e.createVNode(e.unref(hn),{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",Yy,[...g[5]||(g[5]=[e.createElementVNode("span",{class:"text-muted-foreground text-xs"},"No records found",-1)])])):e.createCommentVNode("",!0)]))}}),Zy=(t,o)=>{const n=t.__vccOpts||t;for(const[r,l]of o)n[r]=l;return n},Jy=Zy(Xy,[["__scopeId","data-v-8b45a90c"]]),dr=Ee.forScope("ModelPagination");function eb(t,o,n,r){const l=e.ref([]),s=e.ref(!1),a=e.ref(wl()),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 v=u.value,g=c.value.currentPage,f=[],h=5;if(v<=h)for(let y=1;y<=v;y++)f.push(y);else{let y=Math.max(1,g-Math.floor(h/2));const B=Math.min(v,y+h-1);B-y<h-1&&(y=Math.max(1,B-h+1));for(let E=y;E<=B;E++)f.push(E)}return f}),d=async(v,g=1,f=null)=>{try{const h=v.modelClass,y=qm(n.value),B=o.value,E={documents:B},N=await h.count(y,E),M=Gm(r.value),S={limit:a.value,sort:M,documents:B};f&&(S.uniqueStartKey=f);const D=await h.query(y,S);return c.value.currentPage=g,c.value.totalCount=N,c.value.hasMore=D.hasMore??!1,c.value.nextCursor=D.nextCursor??null,c.value.prevCursor=D.prevCursor??null,D.nextCursor&&g>=1&&c.value.pageCursors.set(g+1,D.nextCursor),{data:D.data||[],totalCount:N,hasMore:D.hasMore??!1,nextCursor:D.nextCursor??null,prevCursor:D.prevCursor??null}}catch(h){return dr.error(`Error loading ${v.name}:`,h),J(`Failed to load ${v.name} records: `+ae(h)),{data:[],totalCount:0,hasMore:!1,nextCursor:null,prevCursor:null}}},m=async(v=1)=>{if(!t.value)return;const g=await d(t.value,1,null);if(l.value=g.data,s.value=!0,dr.debug("Loaded model data:",{model:t.value.name,totalRecords:g.totalCount}),v>1&&g.totalCount>0){const f=Math.ceil(g.totalCount/a.value);v<=f&&await k(v)}},k=async v=>{if(!t.value)return;const g=Math.ceil(c.value.totalCount/a.value);if(v<1||v>g)return;let f=null;if(v>1&&(f=c.value.pageCursors.get(v)??null,!f)){let y=1,B=null;for(let E=v-1;E>=1;E--)if(c.value.pageCursors.has(E)){y=E,B=c.value.pageCursors.get(E)??null;break}for(let E=y;E<v&&(B=(await d(t.value,E,B)).nextCursor,!!B);E++);f=B}const h=await d(t.value,v,f);l.value=h.data};return{records:l,initialDataLoaded:s,paginationState:c,pageSize:a,totalPages:u,visiblePageNumbers:i,loadModelData:d,loadInitialData:m,goToPage:k,goToPrevPage:()=>k(c.value.currentPage-1),goToNextPage:()=>k(c.value.currentPage+1),goToPageContainingRecord:async v=>{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 g=await d(t.value,1,null);if(g.data.some(h=>h.id===v))return l.value=g.data,!0;const f=Math.ceil(g.totalCount/a.value);for(let h=2;h<=f;h++){const y=c.value.pageCursors.get(h)??null;if(y===null&&h>2)break;if(g=await d(t.value,h,y),g.data.some(B=>B.id===v))return l.value=g.data,!0}return l.value=g.data,!1},handlePageSizeChange:async v=>{if(a.value=v,Um(v),!t.value)return;c.value={currentPage:1,totalCount:c.value.totalCount,pageSize:v,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};const g=await d(t.value,1,null);l.value=g.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 v=await d(t.value,1,null);l.value=v.data}}}const ht=Ee.forScope("RecordCrud");function tb(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),m=e.ref({}),k=e.ref(null),w=e.ref({}),b=e.ref(new Set),x=E=>{if(t.value){k.value=E;try{m.value=JSON.parse(JSON.stringify(E))}catch{const N={};for(const M of Object.getOwnPropertyNames(E))try{N[M]=E[M]}catch{}for(const M of Object.keys(E))if(!(M in N))try{N[M]=E[M]}catch{}m.value=N}for(const N of Object.keys(m.value))xt(t.value,N)&&(m.value[N]=Wm(E[N]));b.value=new Set,s.value=!0,B()}},p=()=>{t.value&&(m.value={},b.value=new Set,a.value=!0,B())},C=async()=>{if(t.value)try{const E=t.value.modelClass,N=k.value?await E.find(k.value.id):null;if(N){const M={},S={};for(const[D,V]of Object.entries(m.value))xt(t.value,D)?S[D]=V||[]:M[D]=V;Object.assign(N,M);for(const[D,V]of Object.entries(S)){const R=N[D];if(R&&typeof R.clear=="function"){R.clear();for(const G of V)R.add(G)}}await N.save()}s.value=!1,a.value=!1}catch(E){ht.error("Error saving record:",E),J("Failed to save record: "+ae(E))}},v=async()=>{if(!t.value)return null;d.value=!0;try{const E={},N={};for(const[V,R]of Object.entries(m.value))xt(t.value,V)?N[V]=R||[]:E[V]=R;const M=t.value.modelClass,S=new M(E);for(const[V,R]of Object.entries(N)){const G=S[V];if(G&&typeof G.add=="function")for(const H of R)G.add(H)}await S.save({targetDocument:o.value??void 0});const D=S.id??null;return D?(a.value=!1,m.value={},D):(J("Failed to create record: no ID was returned after save"),null)}catch(E){return ht.error("Error creating record:",E),J("Failed to create record: "+ae(E)),null}finally{d.value=!1}},g=async()=>{if(!(!u.value||!t.value)){i.value=!0;try{const N=await t.value.modelClass.find(u.value);N&&(await N.delete(),u.value=null)}catch(E){ht.error("Error deleting record:",E),J("Failed to delete record: "+ae(E))}finally{i.value=!1}}},f=async E=>{if(!t.value||E.size===0)return{success:!1};const N=Array.from(E);try{const M=t.value.modelClass;for(let S=0;S<N.length;S++){const D=N[S],V=await M.find(D);V&&await V.delete(),S%5===4&&await new Promise(R=>setTimeout(R,0))}return ht.debug(`Deleted ${N.length} records from ${t.value.tableName}`),c.value=!1,{success:!0}}catch(M){return ht.error("Error deleting records:",M),J("Failed to delete records: "+ae(M)),{success:!1}}},h=(E,N)=>{m.value={...m.value,[E]:N}},y=(E,N)=>{if(N)b.value=new Set([...b.value,E]),h(E,"");else{const M=new Set(b.value);M.delete(E),b.value=M}},B=async()=>{if(!t.value?.relationships)return;const E=o.value,N={};for(const M of Object.values(t.value.relationships)){if(M.type!=="refersTo"||!M.model||N[M.model])continue;const S=l.value.find(D=>D.tableName===M.model);if(S)try{const V=await S.modelClass.query({},{documents:E,limit:500});N[M.model]=V.data||[]}catch(D){ht.error(`Error loading related model data for ${M.model}:`,D),N[M.model]=[],J(`Failed to load related ${M.model} data: `+ae(D))}}w.value=N};return{editDialogOpen:s,createDialogOpen:a,bulkDeleteDialogOpen:c,deleteRecordId:u,isDeleting:i,isCreating:d,editFormData:m,selectedRecord:k,relatedModelData:w,customIdFields:b,openEditDialog:x,openCreateDialog:p,handleSaveRecord:C,handleCreateRecord:v,handleDeleteRecord:g,handleBulkDeleteRecords:f,updateFormField:h,handleToggleCustomId:y,loadRelatedModelData:B}}const ob={class:"h-full flex flex-col min-w-0"},nb={key:0,class:"flex-1 flex items-center justify-center"},rb={class:"text-center py-12 px-8"},lb={class:"text-muted-foreground"},ab={class:"flex-1 flex flex-col min-h-0"},sb={class:"space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1"},ib={class:"space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1"},cb={key:0,class:"w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin mr-1"},ub={class:"flex-1 flex flex-col min-h-0 gap-4"},db={class:"flex items-center gap-2"},fb=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=uo(),u=e.computed(()=>c.currentDocumentId),i=e.computed(()=>hl()),d=e.computed(()=>i.value.find(Q=>Q.tableName===a.value)),m=e.ref({}),k=async()=>{if(!u.value)return;const Q={};for(const F of i.value)try{const ue=F.modelClass;Q[F.tableName]=await ue.count({},{documents:u.value})}catch(ue){n.debug(`Could not load count for ${F.tableName}:`,ue),Q[F.tableName]=0}m.value=Q},w=e.computed({get:()=>c.showHiddenFields,set:Q=>{c.showHiddenFields=Q}}),b=e.ref([]),x=e.ref(null),{records:p,initialDataLoaded:C,paginationState:v,pageSize:g,totalPages:f,loadModelData:h,loadInitialData:y,goToPage:B,goToPageContainingRecord:E,handlePageSizeChange:N,reloadModelData:M}=eb(d,u,b,x),S=e.computed(()=>d.value?{[d.value.tableName]:p.value}:{}),{editDialogOpen:D,createDialogOpen:V,bulkDeleteDialogOpen:R,deleteRecordId:G,isDeleting:H,isCreating:ee,editFormData:L,relatedModelData:ie,customIdFields:U,openEditDialog:O,openCreateDialog:K,handleSaveRecord:Z,handleCreateRecord:W,handleDeleteRecord:me,handleBulkDeleteRecords:le,updateFormField:z,handleToggleCustomId:$}=tb(d,u,w,S,i),A=e.ref(new Set),j=Q=>{const F=new Set(A.value);F.has(Q)?F.delete(Q):F.add(Q),A.value=F},ne=()=>{A.value=A.value.size===p.value.length?new Set:new Set(p.value.map(Q=>Q.id))},re=()=>{A.value=new Set},xe=e.ref(null);let be=null;const mt=Q=>{be&&clearTimeout(be),xe.value=Q,be=setTimeout(()=>{xe.value=null},5200)},rt=e.ref(!1),$e=e.ref(""),Te=e.ref(null),Ye=e.ref(!1),St=e.computed(()=>{const Q=Te.value;if(Q==null)return"";if(typeof Q=="object")return co(Q,Ye.value?2:void 0);const F=String(Q);if(Ye.value)try{if(F.startsWith("{")||F.startsWith("["))return JSON.stringify(JSON.parse(F),null,2)}catch{}return F}),lt=Q=>{const F=String(Q);Te.value=F,L.value&&$e.value&&(L.value[$e.value]=F)},Vt=()=>{if(!d.value)return;const Q={page:v.value.currentPage,filters:b.value.map(F=>({id:F.id,field:F.field,mode:F.mode,value:F.value})),sorts:x.value?{field:x.value.field,direction:x.value.direction}:null};Xm(d.value.tableName,Q)},Dt=async Q=>{const F=Q.value.trim();if(b.value.some(wo=>wo.field===Q.field&&wo.mode===Q.mode&&wo.value.trim()===F)){Fa("This filter is already applied.");return}b.value.push({id:Fm(),...Q}),await M()},P=async Q=>{b.value=b.value.filter(F=>F.id!==Q),await M()},_=async Q=>{const F=b.value.findIndex(ue=>ue.id===Q.id);F!==-1&&(b.value[F]=Q),await M()},I=async()=>{b.value=[],await M()},T=async Q=>{if(!d.value||!xl(d.value,Q))return;const F=x.value;F&&F.field===Q?F.direction===1?x.value={field:Q,direction:-1}:x.value=null:x.value={field:Q,direction:1},await M()},q=e.ref(!1),ce=async()=>{q.value=!0,await e.nextTick(),await new Promise(F=>requestAnimationFrame(F)),(await le(A.value)).success&&re(),q.value=!1},de=async()=>{bo=!0;try{const Q=await W();Q&&(await E(Q),mt(Q))}finally{bo=!1}},ye=e.ref(null);let pt=null;const yo=async Q=>{try{await navigator.clipboard.writeText(Q)}catch{const F=document.createElement("textarea");F.value=Q,document.body.appendChild(F),F.select(),document.execCommand("copy"),document.body.removeChild(F)}ye.value=Q,pt&&clearTimeout(pt),pt=setTimeout(()=>{ye.value=null},1500)},bn=e.computed(()=>d.value?yn(d.value,S.value,w.value):[]);e.watch(()=>d.value,()=>{if(d.value){const Q=Ym(d.value.tableName);b.value=Q?.filters?Q.filters:[],x.value=Q?.sorts?Q.sorts:null,y(Q?.page??1),k()}},{immediate:!0}),e.watch(()=>v.value.totalCount,Q=>{d.value&&(m.value={...m.value,[d.value.tableName]:Q})}),e.watch([b,x,()=>v.value.currentPage],()=>Vt(),{deep:!0}),e.watch(()=>c.isDocumentReady,Q=>{Q&&d.value&&y()});let at=null,bo=!1;function wn(){if(at){try{at()}catch{}at=null}if(!d.value)return;const Q=d.value.modelClass;Q&&typeof Q.subscribe=="function"&&(at=Q.subscribe(()=>{if(!bo&&d.value){const F=v.value.currentPage>1?v.value.pageCursors.get(v.value.currentPage)??null:null;h(d.value,v.value.currentPage,F).then(ue=>{p.value=ue.data,ue.data.length===0&&v.value.currentPage>1&&B(v.value.currentPage-1)})}}),n.debug("Subscribed to model changes:",d.value.name))}return e.onMounted(()=>wn()),e.watch(()=>c.currentDocumentId,()=>{c.isDocumentReady&&wn()}),e.onUnmounted(()=>{if(at){try{at()}catch{}at=null}}),(Q,F)=>(e.openBlock(),e.createElementBlock("div",ob,[e.createVNode(Sh,{"current-model":d.value,"model-name":a.value,models:i.value,"model-counts":m.value,"can-write":l.value,"selected-count":A.value.size,onSwitchModel:F[0]||(F[0]=ue=>s("switchModel",ue)),onOpenCreate:e.unref(K),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(Kg,{"model-info":d.value,filters:b.value,"loaded-data":S.value,"show-hidden-fields":w.value,onAddFilter:Dt,onRemoveFilter:P,onUpdateFilter:_,onClearAll:I},null,8,["model-info","filters","loaded-data","show-hidden-fields"]),e.createVNode(gl,{"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",ab,[e.createVNode(Jy,{records:e.unref(p),"model-info":d.value,"can-write":l.value,"show-hidden-fields":w.value,"loaded-data":S.value,sorting:x.value,"selected-record-ids":A.value,"highlighted-record-id":xe.value,onEditRecord:e.unref(O),onDeleteRecord:F[3]||(F[3]=ue=>G.value=ue),onToggleColumnSort:T,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(Gh,{"current-page":e.unref(v).currentPage,"total-count":e.unref(v).totalCount,"page-size":e.unref(g),"total-pages":e.unref(f),onGoToPage:e.unref(B),onChangePageSize:e.unref(N)},null,8,["current-page","total-count","page-size","total-pages","onGoToPage","onChangePageSize"])])]),_:1},8,["is-ready"])],64)):(e.openBlock(),e.createElementBlock("div",nb,[e.createElementVNode("div",rb,[e.createElementVNode("p",lb,'Model "'+e.toDisplayString(a.value)+'" not found',1),e.createVNode(e.unref(Pe),{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(Xt),{open:e.unref(D),"onUpdate:open":F[5]||(F[5]=ue=>e.isRef(D)?D.value=ue:null)},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt),{class:"sm:max-w-md max-h-[80vh] flex flex-col"},{default:e.withCtx(()=>[e.createVNode(e.unref(eo),null,{default:e.withCtx(()=>[e.createVNode(e.unref(to),{class:"text-sm font-semibold"},{default:e.withCtx(()=>[...F[15]||(F[15]=[e.createTextVNode("Edit Record",-1)])]),_:1})]),_:1}),e.createElementVNode("div",sb,[d.value?(e.openBlock(),e.createBlock(cr,{key:0,"model-info":d.value,"form-data":e.unref(L),fields:bn.value,"related-model-data":e.unref(ie),"custom-id-fields":e.unref(U),"copied-id":ye.value,"id-prefix":"edit",onUpdateField:e.unref(z),onCopyId:yo,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(Jt),{class:"border-t border-border pt-3 mt-3"},{default:e.withCtx(()=>[e.createVNode(e.unref(Pe),{variant:"outline",size:"sm",onClick:F[4]||(F[4]=ue=>D.value=!1)},{default:e.withCtx(()=>[...F[16]||(F[16]=[e.createTextVNode(" Cancel ",-1)])]),_:1}),e.createVNode(e.unref(Pe),{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(Xt),{open:e.unref(V),"onUpdate:open":F[7]||(F[7]=ue=>e.isRef(V)?V.value=ue:null)},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt),{class:"sm:max-w-md max-h-[80vh] flex flex-col"},{default:e.withCtx(()=>[e.createVNode(e.unref(eo),null,{default:e.withCtx(()=>[e.createVNode(e.unref(to),{class:"text-sm font-semibold"},{default:e.withCtx(()=>[e.createTextVNode(" New "+e.toDisplayString(d.value?.name||a.value),1)]),_:1})]),_:1}),e.createElementVNode("div",ib,[d.value?(e.openBlock(),e.createBlock(cr,{key:0,"model-info":d.value,"form-data":e.unref(L),fields:bn.value,"exclude-id":!0,"related-model-data":e.unref(ie),"custom-id-fields":e.unref(U),"id-prefix":"create",onUpdateField:e.unref(z),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(Jt),{class:"border-t border-border pt-3 mt-3"},{default:e.withCtx(()=>[e.createVNode(e.unref(Pe),{variant:"outline",size:"sm",disabled:e.unref(ee),onClick:F[6]||(F[6]=ue=>V.value=!1)},{default:e.withCtx(()=>[...F[18]||(F[18]=[e.createTextVNode(" Cancel ",-1)])]),_:1},8,["disabled"]),e.createVNode(e.unref(Pe),{size:"sm",disabled:e.unref(ee),onClick:de},{default:e.withCtx(()=>[e.unref(ee)?(e.openBlock(),e.createElementBlock("span",cb)):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(G),title:"Delete Record",question:"Are you sure you want to delete this record?",warning:"This action cannot be undone.","is-deleting":e.unref(H),onCancel:F[8]||(F[8]=ue=>G.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 ${A.value.size} record${A.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(Xt),{open:rt.value,"onUpdate:open":F[12]||(F[12]=ue=>rt.value=ue)},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt),{class:"max-w-4xl max-h-[90vh] flex flex-col"},{default:e.withCtx(()=>[e.createVNode(e.unref(eo),{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(e.unref(to),{class:"flex items-center gap-2"},{default:e.withCtx(()=>[e.createVNode(e.unref(id),{class:"h-5 w-5"}),e.createTextVNode(" "+e.toDisplayString($e.value),1)]),_:1})]),_:1}),e.createElementVNode("div",ub,[e.createElementVNode("div",db,[e.createVNode(e.unref(Ag),{id:"pretty-print",checked:Ye.value,"onUpdate:checked":F[10]||(F[10]=ue=>Ye.value=ue)},null,8,["checked"]),e.createVNode(e.unref(Dg),{for:"pretty-print",class:"text-sm"},{default:e.withCtx(()=>[...F[19]||(F[19]=[e.createTextVNode("Pretty Print JSON",-1)])]),_:1})]),e.createVNode(e.unref(en),{"model-value":St.value,class:"flex-1 font-mono text-sm min-h-[300px]","onUpdate:modelValue":lt},null,8,["model-value"])]),e.createVNode(e.unref(Jt),{class:"flex-shrink-0"},{default:e.withCtx(()=>[e.createVNode(e.unref(Pe),{variant:"outline",onClick:F[11]||(F[11]=ue=>rt.value=!1)},{default:e.withCtx(()=>[...F[20]||(F[20]=[e.createTextVNode(" Close ",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])]))}}),mb={class:"h-full flex flex-col"},pb={class:"flex-1 flex overflow-hidden min-w-0"},vb={class:"flex-1 flex flex-col min-w-0 bg-background"},gb={key:0,class:"flex-1 flex items-center justify-center"},hb={key:1,class:"flex-1 flex items-center justify-center"},yb={key:2,class:"flex-1 flex items-center justify-center"},bb={key:0,class:"flex-1 flex items-center justify-center"},wb={class:"hidden lg:contents"},xb=e.defineComponent({__name:"DocumentExplorerIndex",setup(t){const o=Ee.forScope("DocumentExplorer"),n=uo(),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 _=await P.documents.list({refreshFromServer:!0,includeRoot:!0});r.value=_,l.value=!0,o.debug("Documents loaded from cache after sync",{count:_.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,h.value&&!I.some(T=>T.documentId===h.value.documentId)&&(h.value=null),o.debug("Pending invitations loaded",{count:I.length})}catch(P){o.error("Failed to load pending invitations",P),u.value=[],h.value&&(h.value=null),J("Failed to load pending invitations: "+ae(P))}}let d=null,m=null,k=!1;e.onMounted(async()=>{const P=c();i();try{const _=await te.getClientAsync(),I=q=>{o.debug("Invitation event received",{action:q.action,documentId:q.documentId}),i(),q.action==="accepted"&&(c(),h.value?.documentId===q.documentId&&(h.value=null),j(q.documentId),V.value?.showDocsSection())};_.on("invitation",I),d=()=>_.off("invitation",I);const T=()=>{if(k){o.debug("Document metadata changed (suppressed – bulk operation in progress)");return}o.debug("Document metadata changed, refreshing documents"),c(),i()};_.on("documentMetadataChanged",T),m=()=>_.off("documentMetadataChanged",T)}catch(_){o.debug("Could not subscribe to real-time events",_)}if(await P,n.currentDocumentId&&!r.value.some(_=>_.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 _=r.value.find(I=>I.documentId===n.currentDocumentId);n.setCurrentDocumentTitle(_?.title||"Untitled")}catch(_){o.error("Failed to restore document:",_),n.setCurrentDocumentId(null)}}n.isDocumentReady&&z()}),e.onUnmounted(()=>{d&&(d(),d=null),m&&(m(),m=null)});const w=e.computed(()=>hl()),b=e.computed(()=>{const P={};for(const _ of w.value)P[_.tableName]={query:{}};return P}),x=e.computed({get:()=>n.currentDocumentId,set:P=>n.setCurrentDocumentId(P)}),p=e.ref(null),C=e.computed(()=>p.value??n.currentDocumentId),v=e.computed({get:()=>n.currentModelName,set:P=>n.setCurrentModelName(P)}),g=e.ref(null),f=e.ref(!1),h=e.ref(null),y=e.ref(!1),B=e.ref(!1),E=e.ref(!1),N=e.ref([]),M=e.ref([]),S=e.ref([]),D=e.ref(""),V=e.ref(null),R=e.ref({});function G(){return{currentPage:1,totalCount:0,pageSize:wl(),nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}}function H(P){return R.value[P]||(R.value[P]=G()),R.value[P]??G()}const{optimisticFieldUpdate:ee}=ir(r,"documentId"),{optimisticRemove:L,optimisticBulkRemove:ie}=ir(u,"documentId");async function U(P){try{const _=n.currentDocumentId;return await P.modelClass.count({},{documents:_})}catch(_){return o.error(`Error loading count for ${P.name}:`,_),0}}const{initialDataLoaded:O}=Om({subscribeTo:w.value.map(P=>P.modelClass),queryParams:b,documentReady:e.computed(()=>n.isDocumentReady),loadData:async()=>{const P={};for(const I of w.value){const T=await U(I),q=H(I.tableName);q.totalCount=T,P[I.tableName]=[]}const _=Object.values(R.value).reduce((I,T)=>I+(T?.totalCount??0),0);return o.debug("Loaded model counts:",{models:w.value.length,totalRecords:_}),z(),P},onError:P=>{o.error("Error loading data:",P),J("Failed to load model data: "+ae(P))}}),K=e.computed(()=>{const P=a.value;return[...r.value||[]].filter(_=>_&&!P.has(_.documentId)).map(_=>({..._,isRoot:_.documentId===s.value})).sort((_,I)=>_.isRoot&&!I.isRoot?-1:!_.isRoot&&I.isRoot?1:(_.title||"").localeCompare(I.title||""))}),Z=e.computed(()=>K.value.find(P=>P.documentId===x.value)),W=e.computed(()=>{const P={};for(const _ of w.value)P[_.tableName]=H(_.tableName).totalCount;return P}),me=e.computed(()=>K.value.find(P=>P.documentId===g.value)?.title);function le(){return w.value.length===0?"":Z.value?.isRoot&&w.value.some(P=>P.tableName==="user_prefs")?"user_prefs":w.value[0]?.tableName??""}function z(){w.value.length!==0&&(v.value&&!w.value.some(P=>P.tableName===v.value)&&(v.value=null),v.value||(v.value=le()))}function $(P){v.value=P}function A(){v.value=w.value.length>0?le():null}async function j(P){if(h.value=null,P===C.value&&n.isDocumentReady)return;o.debug("Switching to document:",P),p.value=P,v.value=null;const _=r.value.find(I=>I.documentId===P);n.setCurrentDocumentTitle(_?.title||"Untitled");try{await n.switchDocument(P),z()}finally{p.value=null}}function ne(P){h.value=P}async function re(P){try{const _=await te.getClientAsync(),{metadata:I}=await _.documents.create({title:P});o.debug("Created new document:",I),await c(),await n.switchDocument(I.documentId)}catch(_){throw o.error("Failed to create document:",_),_}}async function xe(P){B.value=!0;try{await re(P),y.value=!1}catch(_){J("Failed to create document: "+ae(_))}finally{B.value=!1}}async function be(P,_){P===n.currentDocumentId&&n.setCurrentDocumentTitle(_);const{success:I}=await ee(P,"title",_,async()=>{await(await te.getClientAsync()).documents.update(P,{title:_}),o.debug("Renamed document:",P,"to",_)});if(!I){const T=r.value.find(q=>q.documentId===P);P===n.currentDocumentId&&n.setCurrentDocumentTitle(T?.title||"Untitled"),J("Failed to rename document")}}async function mt(P){f.value=!0,x.value===P&&n.setCurrentDocumentId(null),f.value=!1,g.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 _=new Set(a.value);_.delete(P),a.value=_}}async function rt(P){x.value&&P.includes(x.value)&&n.setCurrentDocumentId(null),a.value=new Set([...a.value,...P]),k=!0;try{const _=await te.getClientAsync(),I=[];for(const T of P)try{await _.documents.delete(T,{forceCloseIfOpen:!0})}catch(q){o.error(`Failed to delete document ${T}:`,q),I.push(T)}await c(),I.length>0&&J(`Failed to delete ${I.length} document(s). They have been restored.`)}finally{const _=new Set(a.value);for(const I of P)_.delete(I);a.value=_,k=!1}}async function $e(P){try{if(!(await(await te.getClientAsync()).me.get())?.userId){J("Could not determine current user.");return}const T=[],q=[];for(const de of P){const ye=K.value.find(yo=>yo.documentId===de);if(!ye||ye.isRoot)continue;!ye.permission||ye.permission==="owner"||ye.permission==="admin"?q.push(de):T.push(de)}if(T.length===0&&q.length===0)return;const ce=[];q.length>0&&ce.push(`delete ${q.length}`),T.length>0&&ce.push(`leave ${T.length}`),N.value=P,M.value=T,S.value=q,D.value=`This will ${ce.join(" and ")} document(s). Continue?`,E.value=!0}catch(_){o.error("Failed to process bulk leave:",_),J("Failed to leave documents: "+ae(_))}}async function Te(){E.value=!1;const P=M.value,_=S.value;N.value=[],M.value=[],S.value=[],D.value="";try{const I=await te.getClientAsync(),T=await I.me.get();if(!T?.userId){J("Could not determine current user.");return}const q=[...P,..._];x.value&&q.includes(x.value)&&n.setCurrentDocumentId(null),a.value=new Set([...a.value,...q]),k=!0;try{const ce=[];for(const de of P)try{await I.documents.removePermission(de,T.userId)}catch(ye){o.error(`Failed to leave document ${de}:`,ye),ce.push(de)}for(const de of _)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,k=!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(_){o.error("Failed to accept invitation:",_),J("Failed to accept invitation: "+ae(_))}}async function St(P){const _=u.value.find(T=>T.documentId===P);h.value?.documentId===P&&(h.value=null);const{success:I}=await L(P,async()=>{const T=await te.getClientAsync();_&&await T.documents.declineInvitation(P,_.invitationId),o.debug("Declined invitation for document:",P),i()});I||J("Failed to decline invitation")}const lt=e.ref(!1);async function Vt(P){lt.value=!0;try{const _=await te.getClientAsync(),I=[];await Promise.all(P.map(async T=>{try{await _.documents.acceptInvitation(T)}catch(q){o.error("Failed to accept invitation:",q),I.push(T)}})),await Promise.all([c(),i()]),I.length>0&&J(`Failed to accept ${I.length} invitation(s).`)}finally{lt.value=!1}}async function Dt(P){const _=[...u.value];h.value&&P.includes(h.value.documentId)&&(h.value=null);const{failedIds:I}=await ie(P,async T=>{const q=await te.getClientAsync(),ce=[];return await Promise.all(T.map(async de=>{try{const ye=_.find(pt=>pt.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,_)=>(e.openBlock(),e.createElementBlock("div",mb,[e.createVNode(e.unref(yr),{position:"bottom-right",expand:!1,"rich-colors":""}),e.createElementVNode("div",pb,[e.createVNode(Tp,{ref_key:"documentListPanelRef",ref:V,documents:K.value,"selected-doc-id":h.value?null:C.value,"selected-invitation-id":h.value?.documentId??null,"document-list-loaded":l.value,"pending-invitations":u.value,"is-accepting-invitations":lt.value,onSelectDocument:j,onSelectInvitation:ne,onCreateDocument:_[0]||(_[0]=I=>y.value=!0),onBulkDelete:rt,onBulkLeave:$e,onBulkDeleteMixed:$e,onAcceptInvitations:Vt,onDeclineInvitations:Dt},null,8,["documents","selected-doc-id","selected-invitation-id","document-list-loaded","pending-invitations","is-accepting-invitations"]),e.createElementVNode("div",vb,[h.value?(e.openBlock(),e.createElementBlock("div",gb,[..._[7]||(_[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(gl,{key:3,"is-ready":e.unref(O)},{loading:e.withCtx(()=>[..._[10]||(_[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(()=>[w.value.length===0?(e.openBlock(),e.createElementBlock("div",bb,[..._[11]||(_[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)])])):v.value?(e.openBlock(),e.createBlock(fb,{key:v.value,"model-name":v.value,"document-permission":Z.value?.permission,onBack:A,onSwitchModel:$},null,8,["model-name","document-permission"])):e.createCommentVNode("",!0)]),_:1},8,["is-ready"])):(e.openBlock(),e.createElementBlock("div",yb,[..._[9]||(_[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",hb,[..._[8]||(_[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",wb,[h.value?(e.openBlock(),e.createBlock(kg,{key:0,invitation:h.value,onAcceptInvitation:Ye,onDeclineInvitation:St},null,8,["invitation"])):Z.value?(e.openBlock(),e.createBlock(tg,{key:1,document:Z.value,models:w.value,"record-counts":W.value,onNavigateToModel:$,onRenameDocument:be,onDeleteDocument:_[1]||(_[1]=I=>g.value=I),onDocumentsChanged:c},null,8,["document","models","record-counts"])):e.createCommentVNode("",!0)])]),e.createVNode(Vg,{open:y.value,"is-creating":B.value,"onUpdate:open":_[2]||(_[2]=I=>y.value=I),onCreate:xe},null,8,["open","is-creating"]),e.createVNode(Ce,{"is-open":!!g.value,title:"Delete Document",question:`Are you sure you want to delete "${me.value}"?`,warning:"This action cannot be undone.","is-deleting":f.value,onCancel:_[3]||(_[3]=I=>g.value=null),onConfirm:_[4]||(_[4]=I=>g.value&&mt(g.value))},null,8,["is-open","question","is-deleting"]),e.createVNode(Ce,{"is-open":E.value,title:"Leave / Delete Documents",question:D.value,warning:"","confirm-label":"Continue","confirming-label":"Processing...","is-deleting":!1,onConfirm:Te,onCancel:_[5]||(_[5]=I=>{E.value=!1,N.value=[],M.value=[],S.value=[],D.value=""}),"onUpdate:isOpen":_[6]||(_[6]=I=>{I||(E.value=!1,N.value=[],M.value=[],S.value=[],D.value="")})},null,8,["is-open","question"])]))}}),kb={class:"h-full flex overflow-hidden"},Cb={class:"w-64 lg:w-72 border-r border-border flex flex-col bg-background"},Eb={class:"px-3 py-2 border-b border-border bg-muted/30 relative"},Mb={key:0,class:"absolute inset-0 px-3 bg-muted flex items-center justify-between z-10"},Bb={class:"flex items-center gap-2"},zb={class:"text-[10px] font-medium"},Nb=["disabled"],Sb={class:"flex items-center gap-2"},Vb=["checked","indeterminate"],Db={class:"flex-1 overflow-y-auto scrollbar-thin"},Ab=["onClick"],Ib=["checked","indeterminate","onClick"],$b={class:"ml-2 text-xs font-medium flex-1"},Tb={class:"text-[10px] text-muted-foreground"},_b=["onClick"],Pb=["checked","onClick"],Ob={class:"ml-2 w-4 h-4 flex items-center justify-center"},Rb={key:0,class:"w-3.5 h-3.5 text-blue-500 animate-spin",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Lb={key:1,class:"w-3.5 h-3.5 text-green-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fb={key:2,class:"w-3.5 h-3.5 text-red-500",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},qb={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"},jb={class:"ml-1.5 text-xs flex-1 truncate"},Ub={key:0,class:"px-1 py-0.5 text-[9px] bg-green-100 text-green-700 rounded"},Hb={key:1,class:"px-1 py-0.5 text-[9px] bg-red-100 text-red-700 rounded"},Wb={key:2,class:"px-1 py-0.5 text-[9px] bg-blue-100 text-blue-700 rounded"},Gb={key:0,class:"text-center py-8 text-muted-foreground"},Kb={class:"px-3 py-2 border-t border-border bg-muted/20 text-[10px] text-muted-foreground"},Qb={class:"flex items-center justify-between"},Yb={key:0},Xb={key:0,class:"text-green-600"},Zb={key:1},Jb={key:2,class:"text-red-600"},e0={class:"flex-1 flex flex-col min-w-0 bg-background"},t0={class:"flex items-center justify-between px-3 py-2 border-b border-border bg-muted/30"},o0={class:"flex items-center gap-1"},n0=["disabled"],r0=["disabled"],l0=["disabled"],a0={key:0,class:"text-muted-foreground"},s0={key:1,class:"space-y-0.5"},i0=["data-test-id"],c0={key:0,class:"px-3 py-2 border-t border-border bg-muted/20"},u0={class:"flex items-center justify-between text-[10px] mb-1"},d0={class:"text-muted-foreground truncate pr-2"},f0={class:"font-medium flex-shrink-0"},m0={class:"h-1 bg-muted rounded-full overflow-hidden"},p0=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),m=e.ref(0),k=e.ref(0),w=e.ref("");e.watchEffect(()=>{const U={};n.tests.forEach(O=>{U[O.id]=!0}),r.value=U});const b=e.computed(()=>{const U=new Map;return n.tests.forEach(O=>{U.has(O.group)||U.set(O.group,[]),U.get(O.group).push(O)}),Array.from(U.entries())}),x=e.computed(()=>Object.values(r.value).filter(Boolean).length),p=e.computed(()=>n.tests.length),C=e.computed(()=>{const U=Array.from(u.values()).filter(K=>K.status==="passed"||K.status==="scored").length,O=Array.from(u.values()).filter(K=>K.status==="failed").length;return{passed:U,failed:O}}),v=U=>u.get(U)?.status??"pending",g=U=>U.every(O=>r.value[O.id]),f=U=>{const O=U.some(Z=>r.value[Z.id]),K=U.every(Z=>r.value[Z.id]);return O&&!K},h=U=>U.filter(O=>r.value[O.id]).length,y=e.computed(()=>n.tests.every(U=>r.value[U.id])),B=e.computed(()=>n.tests.some(O=>r.value[O.id])&&!y.value),E=(U,O="normal",K)=>{const Z=new Date().toLocaleTimeString();l.value=[...l.value,{text:`${Z} - ${U}`,type:O,testId:K}],d.value||e.nextTick(()=>{i.value&&(i.value.scrollTop=i.value.scrollHeight)})},N=async()=>{if(c.value)return;c.value=!0,l.value=[];const U=b.value.flatMap(([,O])=>O.filter(K=>r.value[K.id]));m.value=U.length,k.value=0,w.value="",E("=".repeat(60),"header"),E("Starting test run","header"),E("=".repeat(60),"header");try{const O=await Il();O>0&&E(`Closed ${O} host app document(s) for test isolation`);for(const[K,Z]of b.value)for(const W of Z){if(!r.value[W.id])continue;u.set(W.id,{status:"running"}),w.value=`${K} :: ${W.name}`,E(`Running ${K} :: ${W.name}`,"normal",W.id);const me=performance.now();try{const le=await W.run(A=>E(`[${W.id}] ${A}`,"normal",W.id)),z=Math.round(performance.now()-me),$=le.match(/^(\d+)\/(\d+)\s*\((\d+(?:\.\d+)?)%\)/);if($&&$[1]&&$[2]&&$[3]){const A=Number.parseInt($[1],10),j=Number.parseInt($[2],10),ne=Number.parseFloat($[3]);u.set(W.id,{status:"scored",durationMs:z,message:le,score:{passed:A,total:j,percentage:ne}}),E(`Scored (${z}ms): ${le}`,"success",W.id)}else u.set(W.id,{status:"passed",durationMs:z,message:le}),E(`Passed (${z}ms): ${le}`,"success",W.id)}catch(le){const z=Math.round(performance.now()-me),$=le instanceof Error?le.message:String(le);u.set(W.id,{status:"failed",durationMs:z,message:$}),E(`Failed (${z}ms): ${$}`,"error",W.id)}k.value++}}finally{E("=".repeat(60),"header"),E("Test run complete","header"),E("=".repeat(60),"header");try{await $l(),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}},M=U=>{r.value={...r.value,[U]:!r.value[U]}},S=U=>{const O=g(U),K={...r.value};U.forEach(Z=>{K[Z.id]=!O}),r.value=K},D=()=>{const U=y.value,O={};n.tests.forEach(K=>{O[K.id]=!U}),r.value=O},V=()=>{r.value={}},R=async()=>{try{await navigator.clipboard.writeText(l.value.map(U=>U.text).join(`
50
- `)),s.value=!0,window.setTimeout(()=>{s.value=!1},1500)}catch(U){o.error("Copy to clipboard failed in test runner",{err:U})}},G=async()=>{try{const U=new Set(Array.from(u.entries()).filter(([,K])=>K.status==="failed").map(([K])=>K)),O=l.value.filter(K=>K.testId&&U.has(K.testId)).map(K=>K.text).join(`
51
- `);await navigator.clipboard.writeText(O),a.value=!0,window.setTimeout(()=>{a.value=!1},1500)}catch(U){o.error("Copy failed tests to clipboard failed",{err:U})}},H=U=>{if(d.value===U){d.value=null;return}d.value=U,e.nextTick(()=>{if(i.value){const O=i.value.querySelector(`[data-test-id="${U}"]`);O&&O.scrollIntoView({behavior:"smooth",block:"start"})}})},ee=()=>{l.value=[],u.clear(),d.value=null},L=e.computed(()=>Array.from(u.values()).some(U=>U.status==="failed")),ie=e.computed(()=>m.value===0?0:Math.round(k.value/m.value*100));return(U,O)=>(e.openBlock(),e.createElementBlock("div",kb,[e.createElementVNode("div",Cb,[e.createElementVNode("div",Eb,[x.value>0&&!c.value?(e.openBlock(),e.createElementBlock("div",Mb,[e.createElementVNode("div",Bb,[e.createElementVNode("span",zb,e.toDisplayString(x.value)+" selected ",1),e.createElementVNode("button",{class:"text-[10px] text-muted-foreground hover:text-foreground",onClick:V}," 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:N},[...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,Nb)])):e.createCommentVNode("",!0),e.createElementVNode("div",Sb,[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:y.value,indeterminate:B.value,onChange:D},null,40,Vb),O[1]||(O[1]=e.createElementVNode("span",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide"}," Available Tests ",-1))])]),e.createElementVNode("div",Db,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,([K,Z])=>(e.openBlock(),e.createElementBlock("div",{key:K},[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=>S(Z)},[e.createElementVNode("input",{type:"checkbox",class:"w-3.5 h-3.5 rounded border-border",checked:g(Z),indeterminate:f(Z),onClick:e.withModifiers(W=>S(Z),["stop"])},null,8,Ib),e.createElementVNode("span",$b,e.toDisplayString(K),1),e.createElementVNode("span",Tb,e.toDisplayString(h(Z))+"/"+e.toDisplayString(Z.length),1)],8,Ab),(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=>H(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=>M(W.id),["stop"])},null,8,Pb),e.createElementVNode("span",Ob,[v(W.id)==="running"?(e.openBlock(),e.createElementBlock("svg",Rb,[...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)])])):v(W.id)==="passed"?(e.openBlock(),e.createElementBlock("svg",Lb,[...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)])])):v(W.id)==="failed"?(e.openBlock(),e.createElementBlock("svg",Fb,[...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)])])):v(W.id)==="scored"?(e.openBlock(),e.createElementBlock("div",qb," % ")):e.createCommentVNode("",!0)]),e.createElementVNode("span",jb,e.toDisplayString(W.name),1),u.get(W.id)?.status==="passed"?(e.openBlock(),e.createElementBlock("span",Ub," Passed ")):u.get(W.id)?.status==="failed"?(e.openBlock(),e.createElementBlock("span",Hb," Failed ")):u.get(W.id)?.status==="scored"&&u.get(W.id)?.score?(e.openBlock(),e.createElementBlock("span",Wb,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,_b))),128))]))),128)),b.value.length===0?(e.openBlock(),e.createElementBlock("div",Gb,[...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",Kb,[e.createElementVNode("div",Qb,[e.createElementVNode("span",null,e.toDisplayString(p.value)+" tests in "+e.toDisplayString(b.value.length)+" groups",1),C.value.passed>0||C.value.failed>0?(e.openBlock(),e.createElementBlock("span",Yb,[C.value.passed>0?(e.openBlock(),e.createElementBlock("span",Xb,e.toDisplayString(C.value.passed)+" passed ",1)):e.createCommentVNode("",!0),C.value.passed>0&&C.value.failed>0?(e.openBlock(),e.createElementBlock("span",Zb,", ")):e.createCommentVNode("",!0),C.value.failed>0?(e.openBlock(),e.createElementBlock("span",Jb,e.toDisplayString(C.value.failed)+" failed ",1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])])]),e.createElementVNode("div",e0,[e.createElementVNode("div",t0,[O[15]||(O[15]=e.createElementVNode("span",{class:"text-[10px] font-medium text-muted-foreground uppercase tracking-wide"}," Test Output ",-1)),e.createElementVNode("div",o0,[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,n0),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:G},[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,r0),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,l0)])]),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",a0,' Select tests and click "Run" to see output... ')):(e.openBlock(),e.createElementBlock("div",s0,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(K,Z)=>(e.openBlock(),e.createElementBlock("div",{key:Z,"data-test-id":K.testId,class:e.normalizeClass([K.type==="header"?"text-muted-foreground font-medium":K.type==="success"?"text-green-600":K.type==="error"?"text-red-600":"",d.value&&K.testId!==d.value?"opacity-20":"",d.value&&K.testId===d.value?"bg-primary/5 -mx-1 px-1 rounded":""])},e.toDisplayString(K.text),11,i0))),128))]))],512),c.value?(e.openBlock(),e.createElementBlock("div",c0,[e.createElementVNode("div",u0,[e.createElementVNode("span",d0," Running: "+e.toDisplayString(w.value),1),e.createElementVNode("span",f0,e.toDisplayString(k.value)+"/"+e.toDisplayString(m.value),1)]),e.createElementVNode("div",m0,[e.createElementVNode("div",{class:"h-full bg-primary transition-all duration-300",style:e.normalizeStyle({width:`${ie.value}%`})},null,4)])])):e.createCommentVNode("",!0)])]))}}),v0={class:"fixed inset-0 z-40 bg-background flex flex-col overflow-hidden"},g0={class:"flex items-center justify-between px-4 py-2 border-b border-border bg-muted/30"},h0={class:"flex items-center gap-3 min-w-0 flex-1"},y0={class:"text-sm font-semibold truncate"},b0={class:"flex-1 flex overflow-hidden min-w-0"},w0={class:"w-10 bg-muted/50 border-r border-border flex flex-col items-center py-2 gap-1"},x0={class:"flex-1 flex flex-col overflow-hidden min-w-0"},k0={key:0,class:"flex-1 flex items-center justify-center"},C0={class:"text-center max-w-md"},E0={class:"text-xs text-muted-foreground mb-4"},M0={key:1,class:"flex-1 flex items-center justify-center"},B0={class:"text-center"},z0={class:"flex-1 overflow-hidden"},N0={class:"flex-1 overflow-hidden flex"},S0={class:"flex-1 overflow-hidden"},fr="primitive-devtools-active-tab",V0=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 g=localStorage.getItem(fr);return s.includes(g)?g:"documents"}const c=e.ref(a());e.watch(c,g=>localStorage.setItem(fr,g));const u=e.ref(!1),i=e.ref(null),d=e.ref(!1);async function m(){if(!u.value)try{await oo(),u.value=!0}catch(g){n.error("Failed to initialize dev tools",{err:g}),i.value=g instanceof Error?g.message:"Failed to initialize"}}const k=e.ref("");function w(g){if(g.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 B=document.activeElement;if(B&&B!==document.body&&(B.tagName==="INPUT"||B.tagName==="TEXTAREA"||B.tagName==="SELECT"||B.isContentEditable)){B.blur();return}p()}e.onMounted(()=>{k.value=document.body.style.overflow,document.body.style.overflow="hidden",document.addEventListener("keydown",w,!0),m()}),e.onUnmounted(()=>{document.body.style.overflow=k.value,document.removeEventListener("keydown",w,!0)});const b=e.computed(()=>Ol(r.testGroups));async function x(){if(!d.value){d.value=!0;try{await oo()}finally{d.value=!1}}}function p(){l("close")}const C=uo(),v=e.computed(()=>{if(c.value==="tests")return"Test Harness";if(c.value==="blobs"){const f=C.currentDocumentTitle;return f?`Blob Explorer: ${f}`:"Blob Explorer"}const g=C.currentDocumentTitle;return g?`Document Explorer: ${g}`:"Document Explorer"});return(g,f)=>(e.openBlock(),e.createElementBlock("div",v0,[e.createElementVNode("div",g0,[e.createElementVNode("div",h0,[e.createElementVNode("span",y0,e.toDisplayString(v.value),1)]),e.createElementVNode("button",{class:"p-1 hover:bg-muted rounded",title:"Close",onClick:p},[...f[3]||(f[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",b0,[e.createElementVNode("div",w0,[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:f[0]||(f[0]=h=>c.value="documents")},[...f[4]||(f[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:f[1]||(f[1]=h=>c.value="tests")},[...f[5]||(f[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:f[2]||(f[2]=h=>c.value="blobs")},[...f[6]||(f[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",x0,[i.value?(e.openBlock(),e.createElementBlock("div",k0,[e.createElementVNode("div",C0,[f[7]||(f[7]=e.createElementVNode("h2",{class:"text-sm font-semibold text-destructive mb-2"}," Initialization Failed ",-1)),e.createElementVNode("p",E0,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:m}," Retry ")])])):u.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.withDirectives(e.createElementVNode("div",z0,[e.createVNode(xb)],512),[[e.vShow,c.value==="documents"]]),e.withDirectives(e.createElementVNode("div",N0,[e.createVNode(Am)],512),[[e.vShow,c.value==="blobs"]]),e.withDirectives(e.createElementVNode("div",S0,[e.createVNode(p0,{tests:b.value,"on-tests-complete":x},null,8,["tests"])],512),[[e.vShow,c.value==="tests"]])],64)):(e.openBlock(),e.createElementBlock("div",M0,[e.createElementVNode("div",B0,[e.createVNode(Gl),f[8]||(f[8]=e.createElementVNode("p",{class:"mt-4 text-xs text-muted-foreground"}," Initializing dev tools... ",-1))])]))])])]))}}),Yt="#devtools",D0=e.defineComponent({__name:"DevToolsRoot",props:{testGroups:{},appName:{},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(v){const g=v.toLowerCase().split("+");return s?g.map(f=>f==="cmd"||f==="meta"?"⌘":f==="ctrl"?"⌃":f==="shift"?"⇧":f==="alt"?"⌥":f.toUpperCase()).join(""):g.map(f=>f==="cmd"||f==="meta"||f==="ctrl"?"Ctrl":f==="shift"?"Shift":f==="alt"?"Alt":f.toUpperCase()).join("+")}const c=e.computed(()=>{if(n.keyboardShortcut)return a(n.keyboardShortcut)});function u(v,g){const f=g.toLowerCase().split("+"),h=f.pop(),y=new Set(f),B=y.has("cmd")||y.has("meta"),E=y.has("ctrl"),N=y.has("shift"),M=y.has("alt");if(s){if(B!==v.metaKey||E!==v.ctrlKey)return!1}else if((B||E)!==v.ctrlKey||v.metaKey)return!1;return!(N!==v.shiftKey||M!==v.altKey||v.key.toLowerCase()!==h)}function i(v){!n.keyboardShortcut||!l.value||u(v,n.keyboardShortcut)&&(v.preventDefault(),C())}let d=!1,m=null;function k(){!r.value&&l.value&&window.location.hash===Yt&&(r.value=!0)}async function w(){try{const v=await te.getClientAsync();l.value=v.isAuthenticated(),k(),l.value&&oo().catch(y=>{o.debug("Startup cleanup of leftover test documents failed",{err:y})});const g=()=>{l.value=!0,k()},f=()=>{l.value=!1},h=()=>{l.value=!1,p()};v.on("auth-success",g),v.on("auth-failed",f),v.on("auth:logout",h),m=()=>{v.off("auth-success",g),v.off("auth-failed",f),v.off("auth:logout",h)}}catch{l.value=!1}}function b(){const v=window.location.hash===Yt;r.value&&!v?(r.value=!1,d=!1):!r.value&&v&&l.value&&(r.value=!0)}e.onMounted(()=>{window.addEventListener("popstate",b),document.addEventListener("keydown",i),w()}),e.onUnmounted(()=>{window.removeEventListener("popstate",b),document.removeEventListener("keydown",i),m?.(),m=null});function x(){r.value||(r.value=!0,d=!0,history.pushState({primitiveDevtools:!0},"",Yt))}function p(){r.value&&(r.value=!1,window.location.hash===Yt&&(d?(d=!1,history.back()):history.replaceState(null,"",window.location.pathname+window.location.search)))}function C(){r.value?p():x()}return(v,g)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createBlock(Ul,{key:0,"is-open":r.value,"shortcut-hint":c.value,onClick:C},null,8,["is-open","shortcut-hint"])):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createBlock(V0,{key:1,"test-groups":n.testGroups,"app-name":n.appName,onClose:p},null,8,["test-groups","app-name"])):e.createCommentVNode("",!0)]))}});exports.DevToolsRoot=D0;exports.initializeJsBao=Al;exports.jsBaoClientService=te;exports.setPrimitiveAppLogLevel=Vl;
49
+ For more information, see https://www.reka-ui.com/docs/components/${r}`,c=`Warning: Missing \`Description\` or \`aria-describedby="undefined"\` for ${n}.`;(0,t.onMounted)(()=>{document.getElementById(i)||console.warn(s);let e=o.value?.getAttribute(`aria-describedby`);a&&e&&(document.getElementById(a)||console.warn(c))})}var Un=(0,t.defineComponent)({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,i=n,a=un(),{forwardRef:o,currentElement:s}=G();return a.titleId||=Zt(void 0,`reka-dialog-title`),a.descriptionId||=Zt(void 0,`reka-dialog-description`),(0,t.onMounted)(()=>{a.contentElement=s,dt()!==document.body&&(a.triggerElement.value=dt())}),process.env.NODE_ENV!==`production`&&Hn({titleName:`DialogTitle`,contentName:`DialogContent`,componentLink:`dialog.html#title`,titleId:a.titleId,descriptionId:a.descriptionId,contentElement:s}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Pn),{"as-child":``,loop:``,trapped:r.trapFocus,onMountAutoFocus:n[5]||=e=>i(`openAutoFocus`,e),onUnmountAutoFocus:n[6]||=e=>i(`closeAutoFocus`,e)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(bn),(0,t.mergeProps)({id:(0,t.unref)(a).contentId,ref:(0,t.unref)(o),as:e.as,"as-child":e.asChild,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":(0,t.unref)(a).descriptionId,"aria-labelledby":(0,t.unref)(a).titleId,"data-state":(0,t.unref)(Rn)((0,t.unref)(a).open.value)},e.$attrs,{onDismiss:n[0]||=e=>(0,t.unref)(a).onOpenChange(!1),onEscapeKeyDown:n[1]||=e=>i(`escapeKeyDown`,e),onFocusOutside:n[2]||=e=>i(`focusOutside`,e),onInteractOutside:n[3]||=e=>i(`interactOutside`,e),onPointerDownOutside:n[4]||=e=>i(`pointerDownOutside`,e)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`]))}}),Wn=(0,t.defineComponent)({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,i=n,a=un(),o=Nt(i),{forwardRef:s,currentElement:c}=G();return Yt(c),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(Un,(0,t.mergeProps)({...r,...(0,t.unref)(o)},{ref:(0,t.unref)(s),"trap-focus":(0,t.unref)(a).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:n[0]||=e=>{e.defaultPrevented||(e.preventDefault(),(0,t.unref)(a).triggerElement.value?.focus())},onPointerDownOutside:n[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:n[2]||=e=>{e.preventDefault()}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),Gn=(0,t.defineComponent)({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,i=Nt(n);G();let a=un(),o=(0,t.ref)(!1),s=(0,t.ref)(!1);return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(Un,(0,t.mergeProps)({...r,...(0,t.unref)(i)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:n[0]||=e=>{e.defaultPrevented||(o.value||(0,t.unref)(a).triggerElement.value?.focus(),e.preventDefault()),o.value=!1,s.value=!1},onInteractOutside:n[1]||=e=>{e.defaultPrevented||(o.value=!0,e.detail.originalEvent.type===`pointerdown`&&(s.value=!0));let n=e.target;(0,t.unref)(a).triggerElement.value?.contains(n)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&s.value&&e.preventDefault()}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Kn=(0,t.defineComponent)({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,i=n,a=un(),o=Nt(i),{forwardRef:s}=G();return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(on),{present:e.forceMount||(0,t.unref)(a).open.value},{default:(0,t.withCtx)(()=>[(0,t.unref)(a).modal.value?((0,t.openBlock)(),(0,t.createBlock)(Wn,(0,t.mergeProps)({key:0,ref:(0,t.unref)(s)},{...r,...(0,t.unref)(o),...e.$attrs}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)):((0,t.openBlock)(),(0,t.createBlock)(Gn,(0,t.mergeProps)({key:1,ref:(0,t.unref)(s)},{...r,...(0,t.unref)(o),...e.$attrs}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),qn=(0,t.defineComponent)({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let n=e;G();let r=un();return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)(n,{id:(0,t.unref)(r).descriptionId}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),Jn=(0,t.defineComponent)({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=un();return kt(!0),G(),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{as:e.as,"as-child":e.asChild,"data-state":(0,t.unref)(n).open.value?`open`:`closed`,style:{"pointer-events":`auto`}},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),Yn=(0,t.defineComponent)({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=un(),{forwardRef:r}=G();return(e,i)=>(0,t.unref)(n)?.modal.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(on),{key:0,present:e.forceMount||(0,t.unref)(n).open.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(Jn,(0,t.mergeProps)(e.$attrs,{ref:(0,t.unref)(r),as:e.as,"as-child":e.asChild}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3},8,[`present`])):(0,t.createCommentVNode)(`v-if`,!0)}}),Xn=(0,t.defineComponent)({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=(0,i.useMounted)();return(e,r)=>(0,t.unref)(n)||e.forceMount?((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[(0,t.renderSlot)(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):(0,t.createCommentVNode)(`v-if`,!0)}}),Zn=(0,t.defineComponent)({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xn),(0,t.normalizeProps)((0,t.guardReactiveProps)(n)),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Qn=(0,t.defineComponent)({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let n=e,r=un();return G(),(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)(n,{id:(0,t.unref)(r).titleId}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),$n=`data-reka-collection-item`;function er(e={}){let{key:n=``,isProvider:r=!1}=e,i=`${n}CollectionProvider`,a;if(r){let e=(0,t.ref)(new Map);a={collectionRef:(0,t.ref)(),itemMap:e},(0,t.provide)(i,a)}else a=(0,t.inject)(i);let o=(e=!1)=>{let t=a.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${$n}]`)),r=Array.from(a.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},s=(0,t.defineComponent)({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:n,attrs:r}){let{primitiveElement:i,currentElement:o}=ln();return(0,t.watch)(o,()=>{a.collectionRef.value=o.value}),()=>(0,t.h)(sn,{ref:i,...r},n)}}),c=(0,t.defineComponent)({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:n,attrs:r}){let{primitiveElement:i,currentElement:o}=ln();return(0,t.watchEffect)(n=>{if(o.value){let r=(0,t.markRaw)(o.value);a.itemMap.value.set(r,{ref:o.value,value:e.value}),n(()=>a.itemMap.value.delete(r))}}),()=>(0,t.h)(sn,{...r,[$n]:``,ref:i},n)}});return{getItems:o,reactiveItems:(0,t.computed)(()=>Array.from(a.itemMap.value.values())),itemMapSize:(0,t.computed)(()=>a.itemMap.value.size),CollectionSlot:s,CollectionItem:c}}var tr=(0,t.defineComponent)({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),nr=(0,t.defineComponent)({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let n=e,{primitiveElement:r,currentElement:i}=ln();return(0,t.watch)((0,t.computed)(()=>n.checked??n.value),(e,t)=>{if(!i.value)return;let n=i.value,r=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(r,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,i)=>((0,t.openBlock)(),(0,t.createBlock)(tr,(0,t.mergeProps)({ref_key:`primitiveElement`,ref:r},{...n,...e.$attrs},{as:`input`}),null,16))}}),rr=(0,t.defineComponent)({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let n=e,r=(0,t.computed)(()=>typeof n.value==`object`&&Array.isArray(n.value)&&n.value.length===0&&n.required),i=(0,t.computed)(()=>typeof n.value==`string`||typeof n.value==`number`||typeof n.value==`boolean`||n.value===null||n.value===void 0?[{name:n.name,value:n.value}]:typeof n.value==`object`&&Array.isArray(n.value)?n.value.flatMap((e,t)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${n.name}[${t}][${e}]`,value:r})):{name:`${n.name}[${t}]`,value:e}):n.value!==null&&typeof n.value==`object`&&!Array.isArray(n.value)?Object.entries(n.value).map(([e,t])=>({name:`${n.name}[${e}]`,value:t})):[]);return(e,a)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createCommentVNode)(` We render single input if it's required `),r.value?((0,t.openBlock)(),(0,t.createBlock)(nr,(0,t.mergeProps)({key:e.name},{...n,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:1},(0,t.renderList)(i.value,r=>((0,t.openBlock)(),(0,t.createBlock)(nr,(0,t.mergeProps)({key:r.name},{ref_for:!0},{...n,...e.$attrs},{name:r.name,value:r.value}),null,16,[`name`,`value`]))),128))],2112))}}),[ir,ar]=ut(`PopperRoot`),or=(0,t.defineComponent)({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let n=(0,t.ref)();return ar({anchor:n,onAnchorChange:e=>n.value=e}),(e,n)=>(0,t.renderSlot)(e.$slots,`default`)}}),sr=(0,t.defineComponent)({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,{forwardRef:r,currentElement:i}=G(),a=ir();return(0,t.watchPostEffect)(()=>{a.onAnchorChange(n.reference??i.value)}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{ref:(0,t.unref)(r),as:e.as,"as-child":e.asChild},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function cr(e){return e!==null}function lr(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=ur(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}}function ur(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var dr=[`top`,`right`,`bottom`,`left`],fr=Math.min,pr=Math.max,mr=Math.round,hr=Math.floor,gr=e=>({x:e,y:e}),_r={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function vr(e,t,n){return pr(e,fr(t,n))}function yr(e,t){return typeof e==`function`?e(t):e}function br(e){return e.split(`-`)[0]}function xr(e){return e.split(`-`)[1]}function Sr(e){return e===`x`?`y`:`x`}function Cr(e){return e===`y`?`height`:`width`}function wr(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Tr(e){return Sr(wr(e))}function Er(e,t,n){n===void 0&&(n=!1);let r=xr(e),i=Tr(e),a=Cr(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Fr(o)),[o,Fr(o)]}function Dr(e){let t=Fr(e);return[Or(e),t,Or(t)]}function Or(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var kr=[`left`,`right`],Ar=[`right`,`left`],jr=[`top`,`bottom`],Mr=[`bottom`,`top`];function Nr(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Ar:kr:t?kr:Ar;case`left`:case`right`:return t?jr:Mr;default:return[]}}function Pr(e,t,n,r){let i=xr(e),a=Nr(br(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Or)))),a}function Fr(e){let t=br(e);return _r[t]+e.slice(t.length)}function Ir(e){return{top:0,right:0,bottom:0,left:0,...e}}function Lr(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Ir(e)}function Rr(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function zr(e,t,n){let{reference:r,floating:i}=e,a=wr(t),o=Tr(t),s=Cr(o),c=br(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(xr(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Br(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=yr(t,e),p=Lr(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Rr(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Rr(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Vr=50,Hr=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Br},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=zr(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Vr&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=zr(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Ur=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=yr(e,t)||{};if(l==null)return{};let d=Lr(u),f={x:n,y:r},p=Tr(i),m=Cr(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=fr(d[_],T),D=fr(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=vr(O,A,k),M=!c.arrow&&xr(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Wr=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=yr(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=br(r),_=wr(o),v=br(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Fr(o)]:Dr(o)),x=p!==`none`;!d&&x&&b.push(...Pr(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Er(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==wr(t))||T.every(e=>wr(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=wr(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Gr(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function Kr(e){return dr.some(t=>e[t]>=0)}var qr=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=yr(e,t);switch(i){case`referenceHidden`:{let e=Gr(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:Kr(e)}}}case`escaped`:{let e=Gr(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:Kr(e)}}}default:return{}}}}},Jr=new Set([`left`,`top`]);async function Yr(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=br(n),s=xr(n),c=wr(n)===`y`,l=Jr.has(o)?-1:1,u=a&&c?-1:1,d=yr(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Xr=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Yr(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Zr=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=yr(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=wr(br(i)),p=Sr(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=vr(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=vr(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Qr=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=yr(e,t),u={x:n,y:r},d=wr(i),f=Sr(d),p=u[f],m=u[d],h=yr(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Jr.has(br(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},$r=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=yr(e,t),u=await o.detectOverflow(t,l),d=br(i),f=xr(i),p=wr(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=fr(h-u[g],v),x=fr(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=pr(u.left,0),t=pr(u.right,0),n=pr(u.top,0),r=pr(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:pr(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:pr(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function ei(){return typeof window<`u`}function ti(e){return ii(e)?(e.nodeName||``).toLowerCase():`#document`}function ni(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function ri(e){return((ii(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ii(e){return ei()?e instanceof Node||e instanceof ni(e).Node:!1}function ai(e){return ei()?e instanceof Element||e instanceof ni(e).Element:!1}function oi(e){return ei()?e instanceof HTMLElement||e instanceof ni(e).HTMLElement:!1}function si(e){return!ei()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof ni(e).ShadowRoot}function ci(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=yi(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function li(e){return/^(table|td|th)$/.test(ti(e))}function ui(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var di=/transform|translate|scale|rotate|perspective|filter/,fi=/paint|layout|strict|content/,pi=e=>!!e&&e!==`none`,mi;function hi(e){let t=ai(e)?yi(e):e;return pi(t.transform)||pi(t.translate)||pi(t.scale)||pi(t.rotate)||pi(t.perspective)||!_i()&&(pi(t.backdropFilter)||pi(t.filter))||di.test(t.willChange||``)||fi.test(t.contain||``)}function gi(e){let t=xi(e);for(;oi(t)&&!vi(t);){if(hi(t))return t;if(ui(t))return null;t=xi(t)}return null}function _i(){return mi??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),mi}function vi(e){return/^(html|body|#document)$/.test(ti(e))}function yi(e){return ni(e).getComputedStyle(e)}function bi(e){return ai(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function xi(e){if(ti(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||si(e)&&e.host||ri(e);return si(t)?t.host:t}function Si(e){let t=xi(e);return vi(t)?e.ownerDocument?e.ownerDocument.body:e.body:oi(t)&&ci(t)?t:Si(t)}function Ci(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Si(e),i=r===e.ownerDocument?.body,a=ni(r);if(i){let e=wi(a);return t.concat(a,a.visualViewport||[],ci(r)?r:[],e&&n?Ci(e):[])}else return t.concat(r,Ci(r,[],n))}function wi(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ti(e){let t=yi(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=oi(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=mr(n)!==a||mr(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Ei(e){return ai(e)?e:e.contextElement}function Di(e){let t=Ei(e);if(!oi(t))return gr(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ti(t),o=(a?mr(n.width):n.width)/r,s=(a?mr(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Oi=gr(0);function ki(e){let t=ni(e);return!_i()||!t.visualViewport?Oi:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ai(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==ni(e)?!1:t}function ji(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Ei(e),o=gr(1);t&&(r?ai(r)&&(o=Di(r)):o=Di(e));let s=Ai(a,n,r)?ki(a):gr(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=ni(a),t=r&&ai(r)?ni(r):r,n=e,i=wi(n);for(;i&&r&&t!==n;){let e=Di(i),t=i.getBoundingClientRect(),r=yi(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=ni(i),i=wi(n)}}return Rr({width:u,height:d,x:c,y:l})}function Mi(e,t){let n=bi(e).scrollLeft;return t?t.left+n:ji(ri(e)).left+n}function Ni(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Mi(e,n),y:n.top+t.scrollTop}}function Pi(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=ri(r),s=t?ui(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=gr(1),u=gr(0),d=oi(r);if((d||!d&&!a)&&((ti(r)!==`body`||ci(o))&&(c=bi(r)),d)){let e=ji(r);l=Di(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Ni(o,c):gr(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Fi(e){return Array.from(e.getClientRects())}function Ii(e){let t=ri(e),n=bi(e),r=e.ownerDocument.body,i=pr(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=pr(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+Mi(e),s=-n.scrollTop;return yi(r).direction===`rtl`&&(o+=pr(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Li=25;function Ri(e,t){let n=ni(e),r=ri(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=_i();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=Mi(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Li&&(a-=o)}else l<=Li&&(a+=l);return{width:a,height:o,x:s,y:c}}function zi(e,t){let n=ji(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=oi(e)?Di(e):gr(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Bi(e,t,n){let r;if(t===`viewport`)r=Ri(e,n);else if(t===`document`)r=Ii(ri(e));else if(ai(t))r=zi(t,n);else{let n=ki(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Rr(r)}function Vi(e,t){let n=xi(e);return n===t||!ai(n)||vi(n)?!1:yi(n).position===`fixed`||Vi(n,t)}function Hi(e,t){let n=t.get(e);if(n)return n;let r=Ci(e,[],!1).filter(e=>ai(e)&&ti(e)!==`body`),i=null,a=yi(e).position===`fixed`,o=a?xi(e):e;for(;ai(o)&&!vi(o);){let t=yi(o),n=hi(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||ci(o)&&!n&&Vi(e,o))?r=r.filter(e=>e!==o):i=t,o=xi(o)}return t.set(e,r),r}function Ui(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ui(t)?[]:Hi(t,this._c):[].concat(n),r],o=Bi(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Bi(t,a[e],i);s=pr(n.top,s),c=fr(n.right,c),l=fr(n.bottom,l),u=pr(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Wi(e){let{width:t,height:n}=Ti(e);return{width:t,height:n}}function Gi(e,t,n){let r=oi(t),i=ri(t),a=n===`fixed`,o=ji(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=gr(0);function l(){c.x=Mi(i)}if(r||!r&&!a)if((ti(t)!==`body`||ci(i))&&(s=bi(t)),r){let e=ji(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Ni(i,s):gr(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Ki(e){return yi(e).position===`static`}function qi(e,t){if(!oi(e)||yi(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return ri(e)===n&&(n=n.ownerDocument.body),n}function Ji(e,t){let n=ni(e);if(ui(e))return n;if(!oi(e)){let t=xi(e);for(;t&&!vi(t);){if(ai(t)&&!Ki(t))return t;t=xi(t)}return n}let r=qi(e,t);for(;r&&li(r)&&Ki(r);)r=qi(r,t);return r&&vi(r)&&Ki(r)&&!hi(r)?n:r||gi(e)||n}var Yi=async function(e){let t=this.getOffsetParent||Ji,n=this.getDimensions,r=await n(e.floating);return{reference:Gi(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Xi(e){return yi(e).direction===`rtl`}var Zi={convertOffsetParentRelativeRectToViewportRelativeRect:Pi,getDocumentElement:ri,getClippingRect:Ui,getOffsetParent:Ji,getElementRects:Yi,getClientRects:Fi,getDimensions:Wi,getScale:Di,isElement:ai,isRTL:Xi};function Qi(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function $i(e,t){let n=null,r,i=ri(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=hr(d),h=hr(i.clientWidth-(u+f)),g=hr(i.clientHeight-(d+p)),_=hr(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:pr(0,fr(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!Qi(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function ea(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Ei(e),u=i||a?[...l?Ci(l):[],...t?Ci(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?$i(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?ji(e):null;c&&g();function g(){let t=ji(e);h&&!Qi(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var ta=Xr,na=Zr,ra=Wr,ia=$r,aa=qr,oa=Ur,sa=Qr,ca=(e,t,n)=>{let r=new Map,i={platform:Zi,...n},a={...i.platform,_c:r};return Hr(e,t,{...i,platform:a})},q=e.n({Vue:()=>t,Vue2:()=>void 0,del:()=>da,install:()=>la,isVue2:()=>!1,isVue3:()=>!0,set:()=>ua});e.r(q,require(`vue`));function la(){}function ua(e,t,n){return Array.isArray(e)?(e.length=Math.max(e.length,t),e.splice(t,1,n),n):(e[t]=n,n)}function da(e,t){if(Array.isArray(e)){e.splice(t,1);return}delete e[t]}function fa(e){return typeof e==`object`&&!!e&&`$el`in e}function pa(e){if(fa(e)){let t=e.$el;return ii(t)&&ti(t)===`#comment`?null:t}return e}function ma(e){return typeof e==`function`?e():(0,q.unref)(e)}function ha(e){return{name:`arrow`,options:e,fn(t){let n=pa(ma(e.element));return n==null?{}:oa({element:n,padding:e.padding}).fn(t)}}}function ga(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function _a(e,t){let n=ga(e);return Math.round(t*n)/n}function va(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=(0,q.computed)(()=>ma(n.open)??!0),a=(0,q.computed)(()=>ma(n.middleware)),o=(0,q.computed)(()=>ma(n.placement)??`bottom`),s=(0,q.computed)(()=>ma(n.strategy)??`absolute`),c=(0,q.computed)(()=>ma(n.transform)??!0),l=(0,q.computed)(()=>pa(e.value)),u=(0,q.computed)(()=>pa(t.value)),d=(0,q.ref)(0),f=(0,q.ref)(0),p=(0,q.ref)(s.value),m=(0,q.ref)(o.value),h=(0,q.shallowRef)({}),g=(0,q.ref)(!1),_=(0,q.computed)(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=_a(u.value,d.value),n=_a(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...ga(u.value)>=1.5&&{willChange:`transform`}}:{position:p.value,left:t+`px`,top:n+`px`}}),v;function y(){if(l.value==null||u.value==null)return;let e=i.value;ca(l.value,u.value,{middleware:a.value,placement:o.value,strategy:s.value}).then(t=>{d.value=t.x,f.value=t.y,p.value=t.strategy,m.value=t.placement,h.value=t.middlewareData,g.value=e!==!1})}function b(){typeof v==`function`&&(v(),v=void 0)}function x(){if(b(),r===void 0){y();return}if(l.value!=null&&u.value!=null){v=r(l.value,u.value,y);return}}function S(){i.value||(g.value=!1)}return(0,q.watch)([a,o,s,i],y,{flush:`sync`}),(0,q.watch)([l,u],x,{flush:`sync`}),(0,q.watch)(i,S,{flush:`sync`}),(0,q.getCurrentScope)()&&(0,q.onScopeDispose)(b),{x:(0,q.shallowReadonly)(d),y:(0,q.shallowReadonly)(f),strategy:(0,q.shallowReadonly)(p),placement:(0,q.shallowReadonly)(m),middlewareData:(0,q.shallowReadonly)(h),isPositioned:(0,q.shallowReadonly)(g),floatingStyles:_,update:y}}var ya={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},[ba,xa]=ut(`PopperContent`),Sa=(0,t.defineComponent)({inheritAttrs:!1,__name:`PopperContent`,props:(0,t.mergeDefaults)({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...ya}),emits:[`placed`],setup(e,{emit:n}){let r=e,a=n,o=ir(),{forwardRef:s,currentElement:c}=G(),l=(0,t.ref)(),u=(0,t.ref)(),{width:d,height:f}=Qt(u),p=(0,t.computed)(()=>r.side+(r.align===`center`?``:`-${r.align}`)),m=(0,t.computed)(()=>typeof r.collisionPadding==`number`?r.collisionPadding:{top:0,right:0,bottom:0,left:0,...r.collisionPadding}),h=(0,t.computed)(()=>Array.isArray(r.collisionBoundary)?r.collisionBoundary:[r.collisionBoundary]),g=(0,t.computed)(()=>({padding:m.value,boundary:h.value.filter(cr),altBoundary:h.value.length>0})),_=(0,t.computed)(()=>({mainAxis:r.sideFlip,crossAxis:r.alignFlip})),v=(0,i.computedEager)(()=>[ta({mainAxis:r.sideOffset+f.value,alignmentAxis:r.alignOffset}),r.prioritizePosition&&r.avoidCollisions&&ra({...g.value,..._.value}),r.avoidCollisions&&na({mainAxis:!0,crossAxis:!!r.prioritizePosition,limiter:r.sticky===`partial`?sa():void 0,...g.value}),!r.prioritizePosition&&r.avoidCollisions&&ra({...g.value,..._.value}),ia({...g.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),u.value&&ha({element:u.value,padding:r.arrowPadding}),lr({arrowWidth:d.value,arrowHeight:f.value}),r.hideWhenDetached&&aa({strategy:`referenceHidden`,...g.value})]),{floatingStyles:y,placement:b,isPositioned:x,middlewareData:S,update:C}=va((0,t.computed)(()=>r.reference??o.anchor.value),l,{strategy:r.positionStrategy,placement:p,whileElementsMounted:(...e)=>ea(...e,{layoutShift:!r.disableUpdateOnLayoutShift,animationFrame:r.updatePositionStrategy===`always`}),middleware:v}),w=(0,t.computed)(()=>ur(b.value)[0]),T=(0,t.computed)(()=>ur(b.value)[1]);(0,t.watchPostEffect)(()=>{x.value&&a(`placed`)});let E=(0,t.computed)(()=>{let e=S.value.arrow?.centerOffset!==0;return r.hideShiftedArrow&&e}),D=(0,t.ref)(``);return(0,t.watchEffect)(()=>{c.value&&(D.value=window.getComputedStyle(c.value).zIndex)}),xa({placedSide:w,onArrowChange:e=>u.value=e,arrowX:(0,t.computed)(()=>S.value.arrow?.x??0),arrowY:(0,t.computed)(()=>S.value.arrow?.y??0),shouldHideArrow:E}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`floatingRef`,ref:l,"data-reka-popper-content-wrapper":``,style:(0,t.normalizeStyle)({...(0,t.unref)(y),transform:(0,t.unref)(x)?(0,t.unref)(y).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:D.value,"--reka-popper-transform-origin":[(0,t.unref)(S).transformOrigin?.x,(0,t.unref)(S).transformOrigin?.y].join(` `),...(0,t.unref)(S).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[(0,t.createVNode)((0,t.unref)(K),(0,t.mergeProps)({ref:(0,t.unref)(s)},e.$attrs,{"as-child":r.asChild,as:e.as,"data-side":w.value,"data-align":T.value,style:{animation:(0,t.unref)(x)?void 0:`none`}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}});function Ca(e){let n=ht({nonce:(0,t.ref)()});return(0,t.computed)(()=>e?.value||n.nonce?.value)}var wa=(0,t.defineComponent)({__name:`Label`,props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`label`}},setup(e){let n=e;return G(),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)(n,{onMousedown:r[0]||=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Ta=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Ea=[` `,`Enter`];function Da(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Oa(e,t,n)):Oa(e,t,n)}function Oa(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:ct(e,t)}function ka(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Aa={key:0,value:``},[ja,Ma]=ut(`SelectRoot`),Na=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:n}){let r=e,a=n,{required:o,disabled:s,multiple:c,dir:l}=(0,t.toRefs)(r),u=(0,i.useVModel)(r,`modelValue`,a,{defaultValue:r.defaultValue??(c.value?[]:void 0),passive:r.modelValue===void 0,deep:!0}),d=(0,i.useVModel)(r,`open`,a,{defaultValue:r.defaultOpen,passive:r.open===void 0}),f=(0,t.ref)(),p=(0,t.ref)(),m=(0,t.ref)({x:0,y:0}),h=(0,t.computed)(()=>c.value&&Array.isArray(u.value)?u.value?.length===0:pt(u.value));er({isProvider:!0});let g=Mt(l),_=Lt(f),v=(0,t.ref)(new Set),y=(0,t.computed)(()=>Array.from(v.value).map(e=>e.value).join(`;`));function b(e){if(c.value){let t=Array.isArray(u.value)?[...u.value]:[],n=t.findIndex(t=>Oa(t,e,r.by));n===-1?t.push(e):t.splice(n,1),u.value=[...t]}else u.value=e}function x(e){return Array.from(v.value).find(t=>Da(e,t.value,r.by))}return Ma({triggerElement:f,onTriggerChange:e=>{f.value=e},valueElement:p,onValueElementChange:e=>{p.value=e},contentId:``,modelValue:u,onValueChange:b,by:r.by,open:d,multiple:c,required:o,onOpenChange:e=>{d.value=e},dir:g,triggerPointerDownPosRef:m,disabled:s,isEmptyModelValue:h,optionsSet:v,onOptionAdd:e=>{let t=x(e.value);t&&v.value.delete(t),v.value.add(e)},onOptionRemove:e=>{let t=x(e.value);t&&v.value.delete(t)}}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(or),null,{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{modelValue:(0,t.unref)(u),open:(0,t.unref)(d)}),(0,t.unref)(_)&&e.name?((0,t.openBlock)(),(0,t.createBlock)(Pa,{key:y.value,"aria-hidden":`true`,tabindex:`-1`,multiple:(0,t.unref)(c),required:(0,t.unref)(o),name:e.name,autocomplete:e.autocomplete,disabled:(0,t.unref)(s),value:(0,t.unref)(u)},{default:(0,t.withCtx)(()=>[(0,t.unref)(pt)((0,t.unref)(u))?((0,t.openBlock)(),(0,t.createElementBlock)(`option`,Aa)):(0,t.createCommentVNode)(`v-if`,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(Array.from(v.value),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,(0,t.mergeProps)({key:e.value??``},{ref_for:!0},e),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):(0,t.createCommentVNode)(`v-if`,!0)]),_:3}))}}),Pa=(0,t.defineComponent)({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(e){let n=e,r=(0,t.ref)(),i=ja();(0,t.watch)(()=>n.value,(e,t)=>{let n=window.HTMLSelectElement.prototype,i=Object.getOwnPropertyDescriptor(n,`value`).set;if(e!==t&&i&&r.value){let t=new Event(`change`,{bubbles:!0});i.call(r.value,e),r.value.dispatchEvent(t)}});function a(e){i.onValueChange(e.target.value)}return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(tr),{"as-child":``},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`select`,(0,t.mergeProps)({ref_key:`selectElement`,ref:r},n,{onInput:a}),[(0,t.renderSlot)(e.$slots,`default`)],16)]),_:3}))}}),Fa=(0,t.defineComponent)({__name:`SelectPopperPosition`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:10},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=Rt(e);return(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Sa),(0,t.mergeProps)((0,t.unref)(n),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),Ia={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[La,Ra]=ut(`SelectContent`),za=(0,t.defineComponent)({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,a=n,o=ja();Ft(),kt(r.bodyLock);let{CollectionSlot:s,getItems:c}=er(),l=(0,t.ref)();Yt(l);let{search:u,handleTypeaheadSearch:d}=en(),f=(0,t.ref)(),p=(0,t.ref)(),m=(0,t.ref)(),h=(0,t.ref)(!1),g=(0,t.ref)(!1),_=(0,t.ref)(!1);function v(){p.value&&l.value&&zn([p.value,l.value])}(0,t.watch)(h,()=>{v()});let{onOpenChange:y,triggerPointerDownPosRef:b}=o;(0,t.watchEffect)(e=>{if(!l.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(b.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(b.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():l.value?.contains(e.target)||y(!1),document.removeEventListener(`pointermove`,n),b.value=null)};b.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function x(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&d(e.key,c()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...c().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>zn(t)),e.preventDefault()}}let S=Rt((0,t.computed)(()=>r.position===`popper`?r:{}).value);return Ra({content:l,viewport:f,onViewportChange:e=>{f.value=e},itemRefCallback:(e,t,n)=>{let r=!g.value&&!n,i=Da(o.modelValue.value,t,o.by);if(o.multiple.value){if(_.value)return;(i||r)&&(p.value=e,i&&(_.value=!0))}else (i||r)&&(p.value=e);r&&(g.value=!0)},selectedItem:p,selectedItemText:m,onItemLeave:()=>{l.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!g.value&&!n;(Da(o.modelValue.value,t,o.by)||r)&&(m.value=e)},focusSelectedItem:v,position:r.position,isPositioned:h,searchRef:u}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(s),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Pn),{"as-child":``,onMountAutoFocus:n[6]||=(0,t.withModifiers)(()=>{},[`prevent`]),onUnmountAutoFocus:n[7]||=e=>{a(`closeAutoFocus`,e),!e.defaultPrevented&&((0,t.unref)(o).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(bn),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onFocusOutside:n[2]||=(0,t.withModifiers)(()=>{},[`prevent`]),onDismiss:n[3]||=e=>(0,t.unref)(o).onOpenChange(!1),onEscapeKeyDown:n[4]||=e=>a(`escapeKeyDown`,e),onPointerDownOutside:n[5]||=e=>a(`pointerDownOutside`,e)},{default:(0,t.withCtx)(()=>[((0,t.openBlock)(),(0,t.createBlock)((0,t.resolveDynamicComponent)(e.position===`popper`?Fa:Ha),(0,t.mergeProps)({...e.$attrs,...(0,t.unref)(S)},{id:(0,t.unref)(o).contentId,ref:e=>{if(!e)return;let n=(0,t.unref)(i.unrefElement)(e);n?.hasAttribute(`data-reka-popper-content-wrapper`)?l.value=n.firstElementChild:l.value=n},role:`listbox`,"data-state":(0,t.unref)(o).open.value?`open`:`closed`,dir:(0,t.unref)(o).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:n[0]||=(0,t.withModifiers)(()=>{},[`prevent`]),onPlaced:n[1]||=e=>h.value=!0,onKeydown:x}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[Ba,Va]=ut(`SelectItemAlignedPosition`),Ha=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(e,{emit:n}){let r=e,a=n,{getItems:o}=er(),s=ja(),c=La(),l=(0,t.ref)(!1),u=(0,t.ref)(!0),d=(0,t.ref)(),{forwardRef:f,currentElement:p}=G(),{viewport:m,selectedItem:h,selectedItemText:g,focusSelectedItem:_}=c;function v(){if(s.triggerElement.value&&s.valueElement.value&&d.value&&p.value&&m?.value&&h?.value&&g?.value){let e=s.triggerElement.value.getBoundingClientRect(),t=p.value.getBoundingClientRect(),n=s.valueElement.value.getBoundingClientRect(),r=g.value.getBoundingClientRect();if(s.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=lt(a,10,Math.max(10,l-c));d.value.style.minWidth=`${s}px`,d.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=lt(a,10,Math.max(10,l-c));d.value.style.minWidth=`${s}px`,d.value.style.right=`${u}px`}let i=o().map(e=>e.ref),c=window.innerHeight-20,u=m.value.scrollHeight,f=window.getComputedStyle(p.value),_=Number.parseInt(f.borderTopWidth,10),v=Number.parseInt(f.paddingTop,10),y=Number.parseInt(f.borderBottomWidth,10),b=Number.parseInt(f.paddingBottom,10),x=_+v+u+b+y,S=Math.min(h.value.offsetHeight*5,x),C=window.getComputedStyle(m.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=c-E,O=h.value.offsetHeight/2,k=h.value.offsetTop+O,A=_+v+k,j=x-A;if(A<=E){let e=h.value===i.at(-1);d.value.style.bottom=`0px`;let t=p.value.clientHeight-m.value.offsetTop-m.value.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);d.value.style.height=`${n}px`}else{let e=h.value===i[0];d.value.style.top=`0px`;let t=Math.max(E,_+m.value.offsetTop+(e?w:0)+O)+j;d.value.style.height=`${t}px`,m.value.scrollTop=A-E+m.value.offsetTop}d.value.style.margin=`10px 0`,d.value.style.minHeight=`${S}px`,d.value.style.maxHeight=`${c}px`,a(`placed`),requestAnimationFrame(()=>l.value=!0)}}let y=(0,t.ref)(``);(0,t.onMounted)(async()=>{await(0,t.nextTick)(),v(),p.value&&(y.value=window.getComputedStyle(p.value).zIndex)});function b(e){e&&u.value===!0&&(v(),_?.(),u.value=!1)}return(0,i.useResizeObserver)(s.triggerElement,()=>{v()}),Va({contentWrapper:d,shouldExpandOnScrollRef:l,onScrollButtonChange:b}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`contentWrapperElement`,ref:d,style:(0,t.normalizeStyle)({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:y.value})},[(0,t.createVNode)((0,t.unref)(K),(0,t.mergeProps)({ref:(0,t.unref)(f),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...e.$attrs,...r}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)],4))}}),Ua=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Ma(e.context),Ra(Ia),(e,n)=>(0,t.renderSlot)(e.$slots,`default`)}}),Wa={key:1},Ga=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,i=zt(r,n),a=ja(),o=(0,t.ref)();(0,t.onMounted)(()=>{o.value=new DocumentFragment});let s=(0,t.ref)(),c=(0,t.computed)(()=>r.forceMount||a.open.value),l=(0,t.ref)(c.value);return(0,t.watch)(c,()=>{setTimeout(()=>l.value=c.value)}),(e,n)=>c.value||l.value||s.value?.present?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(on),{key:0,ref_key:`presenceRef`,ref:s,present:c.value},{default:(0,t.withCtx)(()=>[(0,t.createVNode)(za,(0,t.normalizeProps)((0,t.guardReactiveProps)({...(0,t.unref)(i),...e.$attrs})),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wa,[((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:o.value},[(0,t.createVNode)(Ua,{context:(0,t.unref)(a)},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):(0,t.createCommentVNode)(`v-if`,!0)}}),Ka=(0,t.defineComponent)({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{},()=>[n[0]||=(0,t.createTextVNode)(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[qa,Ja]=ut(`SelectItem`),Ya=(0,t.defineComponent)({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:n}){let r=e,i=n,{disabled:a}=(0,t.toRefs)(r),o=ja(),s=La(),{forwardRef:c,currentElement:l}=G(),{CollectionItem:u}=er(),d=(0,t.computed)(()=>Da(o.modelValue?.value,r.value,o.by)),f=(0,t.ref)(!1),p=(0,t.ref)(r.textValue??``),m=Zt(void 0,`reka-select-item-text`);async function h(e){e.defaultPrevented||ft(`select.select`,g,{originalEvent:e,value:r.value})}async function g(e){await(0,t.nextTick)(),i(`select`,e),!e.defaultPrevented&&(a.value||(o.onValueChange(r.value),o.multiple.value||o.onOpenChange(!1)))}async function _(e){await(0,t.nextTick)(),!e.defaultPrevented&&(a.value?s.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function v(e){await(0,t.nextTick)(),!e.defaultPrevented&&e.currentTarget===dt()&&s.onItemLeave?.()}async function y(e){await(0,t.nextTick)(),!e.defaultPrevented&&(s.searchRef?.value!==``&&e.key===` `||(Ea.includes(e.key)&&h(e),e.key===` `&&e.preventDefault()))}if(r.value===``)throw Error(`A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return(0,t.onMounted)(()=>{l.value&&s.itemRefCallback(l.value,r.value,r.disabled)}),Ja({value:r.value,disabled:a,textId:m,isSelected:d,onItemTextChange:e=>{p.value=((p.value||e?.textContent)??``).trim()}}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(u),{value:{textValue:p.value}},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(K),{ref:(0,t.unref)(c),role:`option`,"aria-labelledby":(0,t.unref)(m),"data-highlighted":f.value?``:void 0,"aria-selected":d.value,"data-state":d.value?`checked`:`unchecked`,"aria-disabled":(0,t.unref)(a)||void 0,"data-disabled":(0,t.unref)(a)?``:void 0,tabindex:(0,t.unref)(a)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:n[0]||=e=>f.value=!0,onBlur:n[1]||=e=>f.value=!1,onPointerup:h,onPointerdown:n[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:n[3]||=(0,t.withModifiers)(()=>{},[`prevent`,`stop`]),onPointermove:_,onPointerleave:v,onKeydown:y},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),Xa=(0,t.defineComponent)({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,r=qa();return(e,i)=>(0,t.unref)(r).isSelected.value?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)({key:0,"aria-hidden":`true`},n),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16)):(0,t.createCommentVNode)(`v-if`,!0)}}),Za=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,r=ja(),i=La(),a=qa(),{forwardRef:o,currentElement:s}=G(),c=(0,t.computed)(()=>({value:a.value,disabled:a.disabled.value,textContent:s.value?.textContent??a.value?.toString()??``}));return(0,t.onMounted)(()=>{s.value&&(a.onItemTextChange(s.value),i.itemTextRefCallback(s.value,a.value,a.disabled.value),r.onOptionAdd(c.value))}),(0,t.onUnmounted)(()=>{r.onOptionRemove(c.value)}),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)({id:(0,t.unref)(a).textId,ref:(0,t.unref)(o)},{...n,...e.$attrs}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`id`]))}}),Qa=(0,t.defineComponent)({__name:`SelectPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xn),(0,t.normalizeProps)((0,t.guardReactiveProps)(n)),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),$a=(0,t.defineComponent)({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(e,{emit:n}){let r=n,{getItems:i}=er(),a=La(),o=(0,t.ref)(null);function s(){o.value!==null&&(window.clearInterval(o.value),o.value=null)}(0,t.watchEffect)(()=>{i().map(e=>e.ref).find(e=>e===dt())?.scrollIntoView({block:`nearest`})});function c(){o.value===null&&(o.value=window.setInterval(()=>{r(`autoScroll`)},50))}function l(){a.onItemLeave?.(),o.value===null&&(o.value=window.setInterval(()=>{r(`autoScroll`)},50))}return(0,t.onBeforeUnmount)(()=>s()),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)({"aria-hidden":`true`,style:{flexShrink:0}},e.$parent?.$props,{onPointerdown:c,onPointermove:l,onPointerleave:n[0]||=()=>{s()}}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),eo=(0,t.defineComponent)({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=La(),r=n.position===`item-aligned`?Ba():void 0,{forwardRef:i,currentElement:a}=G(),o=(0,t.ref)(!1);return(0,t.watchEffect)(e=>{if(n.viewport?.value&&n.isPositioned?.value){let r=n.viewport.value;function t(){let e=r.scrollHeight-r.clientHeight;o.value=Math.ceil(r.scrollTop)<e}t(),r.addEventListener(`scroll`,t),e(()=>r.removeEventListener(`scroll`,t))}}),(0,t.watch)(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>o.value?((0,t.openBlock)(),(0,t.createBlock)($a,{key:0,ref:(0,t.unref)(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:r}=(0,t.unref)(n);e?.value&&r?.value&&(e.value.scrollTop=e.value.scrollTop+r.value.offsetHeight)}},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},512)):(0,t.createCommentVNode)(`v-if`,!0)}}),to=(0,t.defineComponent)({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=La(),r=n.position===`item-aligned`?Ba():void 0,{forwardRef:i,currentElement:a}=G(),o=(0,t.ref)(!1);return(0,t.watchEffect)(e=>{if(n.viewport?.value&&n.isPositioned?.value){let r=n.viewport.value;function t(){o.value=r.scrollTop>0}t(),r.addEventListener(`scroll`,t),e(()=>r.removeEventListener(`scroll`,t))}}),(0,t.watch)(a,()=>{a.value&&r?.onScrollButtonChange(a.value)}),(e,r)=>o.value?((0,t.openBlock)(),(0,t.createBlock)($a,{key:0,ref:(0,t.unref)(i),onAutoScroll:r[0]||=()=>{let{viewport:e,selectedItem:r}=(0,t.unref)(n);e?.value&&r?.value&&(e.value.scrollTop=e.value.scrollTop-r.value.offsetHeight)}},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},512)):(0,t.createCommentVNode)(`v-if`,!0)}}),no=(0,t.defineComponent)({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=ja(),{forwardRef:i,currentElement:a}=G(),o=(0,t.computed)(()=>r.disabled?.value||n.disabled);r.contentId||=Zt(void 0,`reka-select-content`),(0,t.onMounted)(()=>{r.onTriggerChange(a.value)});let{getItems:s}=er(),{search:c,handleTypeaheadSearch:l,resetTypeahead:u}=en();function d(){o.value||(r.onOpenChange(!0),u())}function f(e){d(),r.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(sr),{"as-child":``,reference:e.reference},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(K),{ref:(0,t.unref)(i),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":(0,t.unref)(r).contentId,"aria-expanded":(0,t.unref)(r).open.value||!1,"aria-required":(0,t.unref)(r).required?.value,"aria-autocomplete":`none`,disabled:o.value,dir:(0,t.unref)(r)?.dir.value,"data-state":(0,t.unref)(r)?.open.value?`open`:`closed`,"data-disabled":o.value?``:void 0,"data-placeholder":(0,t.unref)(ka)((0,t.unref)(r).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:n[0]||=e=>{(e?.currentTarget)?.focus()},onPointerdown:n[1]||=e=>{if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(f(e),e.preventDefault())},onPointerup:n[2]||=(0,t.withModifiers)(e=>{e.pointerType===`touch`&&f(e)},[`prevent`]),onKeydown:n[3]||=e=>{let n=(0,t.unref)(c)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&n&&e.key===` `||((0,t.unref)(l)(e.key,(0,t.unref)(s)()),(0,t.unref)(Ta).includes(e.key)&&(d(),e.preventDefault()))}},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),ro=(0,t.defineComponent)({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=e,{forwardRef:r,currentElement:i}=G(),a=ja();(0,t.onMounted)(()=>{a.valueElement=i});let o=(0,t.computed)(()=>{let e=[],t=Array.from(a.optionsSet.value),n=e=>t.find(t=>Da(e,t.value,a.by));return e=Array.isArray(a.modelValue.value)?a.modelValue.value.map(e=>n(e)?.textContent??``):[n(a.modelValue.value)?.textContent??``],e.filter(Boolean)}),s=(0,t.computed)(()=>o.value.length?o.value.join(`, `):n.placeholder);return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{ref:(0,t.unref)(r),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":o.value.length?void 0:n.placeholder},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{selectedLabel:o.value,modelValue:(0,t.unref)(a).modelValue.value},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(s.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),io=(0,t.defineComponent)({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let n=e,{nonce:r}=(0,t.toRefs)(n),i=Ca(r),a=La(),o=a.position===`item-aligned`?Ba():void 0,{forwardRef:s,currentElement:c}=G();(0,t.onMounted)(()=>{a?.onViewportChange(c.value)});let l=(0,t.ref)(0);function u(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=o??{};if(n?.value&&r?.value){let e=Math.abs(l.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o<n){let i=o+e,a=Math.min(n,i),s=i-a;r.value.style.height=`${a}px`,r.value.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,r.value.style.justifyContent=`flex-end`)}}}l.value=t.scrollTop}return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createVNode)((0,t.unref)(K),(0,t.mergeProps)({ref:(0,t.unref)(s),"data-reka-select-viewport":``,role:`presentation`},{...e.$attrs,...n},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:u}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16),(0,t.createVNode)((0,t.unref)(K),{as:`style`,nonce:(0,t.unref)(i)},{default:(0,t.withCtx)(()=>r[0]||=[(0,t.createTextVNode)(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),[ao,oo]=ut(`SwitchRoot`),so=(0,t.defineComponent)({__name:`SwitchRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:`on`},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=n,{disabled:o}=(0,t.toRefs)(r),s=(0,i.useVModel)(r,`modelValue`,a,{defaultValue:r.defaultValue??r.falseValue,passive:r.modelValue===void 0}),c=(0,t.computed)(()=>s.value===r.trueValue);function l(){o.value||(s.value=c.value?r.falseValue:r.trueValue)}let{forwardRef:u,currentElement:d}=G(),f=Lt(d),p=(0,t.computed)(()=>r.id&&d.value?document.querySelector(`[for="${r.id}"]`)?.innerText:void 0);return oo({checked:c,toggleCheck:l,disabled:o}),(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),(0,t.mergeProps)(e.$attrs,{id:e.id,ref:(0,t.unref)(u),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||p.value,"aria-checked":c.value,"aria-required":e.required,"data-state":c.value?`checked`:`unchecked`,"data-disabled":(0,t.unref)(o)?``:void 0,"as-child":e.asChild,as:e.as,disabled:(0,t.unref)(o),onClick:l,onKeydown:(0,t.withKeys)((0,t.withModifiers)(l,[`prevent`]),[`enter`])}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{modelValue:(0,t.unref)(s),checked:c.value}),(0,t.unref)(f)&&e.name?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(rr),{key:0,type:`checkbox`,name:e.name,disabled:(0,t.unref)(o),required:e.required,value:e.value,checked:c.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):(0,t.createCommentVNode)(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),co=(0,t.defineComponent)({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let n=ao();return G(),(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{"data-state":(0,t.unref)(n).checked.value?`checked`:`unchecked`,"data-disabled":(0,t.unref)(n).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),lo=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},uo=(e,t)=>({classGroupId:e,validator:t}),fo=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),po=`-`,mo=[],ho=`arbitrary..`,go=e=>{let t=yo(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return vo(e);let n=e.split(po);return _o(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?lo(i,t):t:i||mo}return n[e]||mo}}},_o=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=_o(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(po):e.slice(t).join(po),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},vo=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?ho+r:void 0})(),yo=e=>{let{theme:t,classGroups:n}=e;return bo(n,t)},bo=(e,t)=>{let n=fo();for(let r in e){let i=e[r];xo(i,n,r,t)}return n},xo=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];So(i,t,n,r)}},So=(e,t,n,r)=>{if(typeof e==`string`){Co(e,t,n);return}if(typeof e==`function`){wo(e,t,n,r);return}To(e,t,n,r)},Co=(e,t,n)=>{let r=e===``?t:Eo(t,e);r.classGroupId=n},wo=(e,t,n,r)=>{if(Do(e)){xo(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(uo(n,e))},To=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];xo(o,Eo(t,a),n,r)}},Eo=(e,t)=>{let n=e,r=t.split(po),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=fo(),n.nextPart.set(t,i)),n=i}return n},Do=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Oo=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},ko=`!`,Ao=`:`,jo=[],Mo=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),No=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Ao){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(ko)?(c=s.slice(0,-1),l=!0):s.startsWith(ko)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Mo(t,l,c,u)};if(t){let e=t+Ao,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Mo(jo,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Po=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Fo=e=>({cache:Oo(e.cacheSize),parseClassName:No(e),sortModifiers:Po(e),...go(e)}),Io=/\s+/,Lo=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(Io),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+ko:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},Ro=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=zo(n))&&(i&&(i+=` `),i+=r);return i},zo=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=zo(e[r]))&&(n&&(n+=` `),n+=t);return n},Bo=(e,...t)=>{let n,r,i,a,o=o=>(n=Fo(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Lo(e,n);return i(e,a),a};return a=o,(...e)=>a(Ro(...e))},Vo=[],J=e=>{let t=t=>t[e]||Vo;return t.isThemeGetter=!0,t},Ho=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Uo=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Wo=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Go=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ko=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,qo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Jo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Yo=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Xo=e=>Wo.test(e),Y=e=>!!e&&!Number.isNaN(Number(e)),Zo=e=>!!e&&Number.isInteger(Number(e)),Qo=e=>e.endsWith(`%`)&&Y(e.slice(0,-1)),$o=e=>Go.test(e),es=()=>!0,ts=e=>Ko.test(e)&&!qo.test(e),ns=()=>!1,rs=e=>Jo.test(e),is=e=>Yo.test(e),as=e=>!X(e)&&!Z(e),os=e=>xs(e,Ts,ns),X=e=>Ho.test(e),ss=e=>xs(e,Es,ts),cs=e=>xs(e,Ds,Y),ls=e=>xs(e,ks,es),us=e=>xs(e,Os,ns),ds=e=>xs(e,Cs,ns),fs=e=>xs(e,ws,is),ps=e=>xs(e,As,rs),Z=e=>Uo.test(e),ms=e=>Ss(e,Es),hs=e=>Ss(e,Os),gs=e=>Ss(e,Cs),_s=e=>Ss(e,Ts),vs=e=>Ss(e,ws),ys=e=>Ss(e,As,!0),bs=e=>Ss(e,ks,!0),xs=(e,t,n)=>{let r=Ho.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Ss=(e,t,n=!1)=>{let r=Uo.exec(e);return r?r[1]?t(r[1]):n:!1},Cs=e=>e===`position`||e===`percentage`,ws=e=>e===`image`||e===`url`,Ts=e=>e===`length`||e===`size`||e===`bg-size`,Es=e=>e===`length`,Ds=e=>e===`number`,Os=e=>e===`family-name`,ks=e=>e===`number`||e===`weight`,As=e=>e===`shadow`,js=Bo(()=>{let e=J(`color`),t=J(`font`),n=J(`text`),r=J(`font-weight`),i=J(`tracking`),a=J(`leading`),o=J(`breakpoint`),s=J(`container`),c=J(`spacing`),l=J(`radius`),u=J(`shadow`),d=J(`inset-shadow`),f=J(`text-shadow`),p=J(`drop-shadow`),m=J(`blur`),h=J(`perspective`),g=J(`aspect`),_=J(`ease`),v=J(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Z,X],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Z,X,c],T=()=>[Xo,`full`,`auto`,...w()],E=()=>[Zo,`none`,`subgrid`,Z,X],D=()=>[`auto`,{span:[`full`,Zo,Z,X]},Zo,Z,X],O=()=>[Zo,`auto`,Z,X],k=()=>[`auto`,`min`,`max`,`fr`,Z,X],A=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],j=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],M=()=>[`auto`,...w()],N=()=>[Xo,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ee=()=>[Xo,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],te=()=>[Xo,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],P=()=>[e,Z,X],ne=()=>[...b(),gs,ds,{position:[Z,X]}],F=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],re=()=>[`auto`,`cover`,`contain`,_s,os,{size:[Z,X]}],I=()=>[Qo,ms,ss],L=()=>[``,`none`,`full`,l,Z,X],R=()=>[``,Y,ms,ss],z=()=>[`solid`,`dashed`,`dotted`,`double`],ie=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],B=()=>[Y,Qo,gs,ds],ae=()=>[``,`none`,m,Z,X],V=()=>[`none`,Y,Z,X],oe=()=>[`none`,Y,Z,X],se=()=>[Y,Z,X],ce=()=>[Xo,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[$o],breakpoint:[$o],color:[es],container:[$o],"drop-shadow":[$o],ease:[`in`,`out`,`in-out`],font:[as],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[$o],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[$o],shadow:[$o],spacing:[`px`,Y],text:[$o],"text-shadow":[$o],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Xo,X,Z,g]}],container:[`container`],columns:[{columns:[Y,X,Z,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Zo,`auto`,Z,X]}],basis:[{basis:[Xo,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Y,Xo,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,Y,Z,X]}],shrink:[{shrink:[``,Y,Z,X]}],order:[{order:[Zo,`first`,`last`,`none`,Z,X]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":O()}],"col-end":[{"col-end":O()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":O()}],"row-end":[{"row-end":O()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":k()}],"auto-rows":[{"auto-rows":k()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...A(),`normal`]}],"justify-items":[{"justify-items":[...j(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...j()]}],"align-content":[{content:[`normal`,...A()]}],"align-items":[{items:[...j(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...j(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":A()}],"place-items":[{"place-items":[...j(),`baseline`]}],"place-self":[{"place-self":[`auto`,...j()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:N()}],"inline-size":[{inline:[`auto`,...ee()]}],"min-inline-size":[{"min-inline":[`auto`,...ee()]}],"max-inline-size":[{"max-inline":[`none`,...ee()]}],"block-size":[{block:[`auto`,...te()]}],"min-block-size":[{"min-block":[`auto`,...te()]}],"max-block-size":[{"max-block":[`none`,...te()]}],w:[{w:[s,`screen`,...N()]}],"min-w":[{"min-w":[s,`screen`,`none`,...N()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...N()]}],h:[{h:[`screen`,`lh`,...N()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...N()]}],"max-h":[{"max-h":[`screen`,`lh`,...N()]}],"font-size":[{text:[`base`,n,ms,ss]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,bs,ls]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Qo,X]}],"font-family":[{font:[hs,us,t]}],"font-features":[{"font-features":[X]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Z,X]}],"line-clamp":[{"line-clamp":[Y,`none`,Z,cs]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,Z,X]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Z,X]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...z(),`wavy`]}],"text-decoration-thickness":[{decoration:[Y,`from-font`,`auto`,Z,ss]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[Y,`auto`,Z,X]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Z,X]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Z,X]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ne()}],"bg-repeat":[{bg:F()}],"bg-size":[{bg:re()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Zo,Z,X],radial:[``,Z,X],conic:[Zo,Z,X]},vs,fs]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:I()}],"gradient-via-pos":[{via:I()}],"gradient-to-pos":[{to:I()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:L()}],"rounded-s":[{"rounded-s":L()}],"rounded-e":[{"rounded-e":L()}],"rounded-t":[{"rounded-t":L()}],"rounded-r":[{"rounded-r":L()}],"rounded-b":[{"rounded-b":L()}],"rounded-l":[{"rounded-l":L()}],"rounded-ss":[{"rounded-ss":L()}],"rounded-se":[{"rounded-se":L()}],"rounded-ee":[{"rounded-ee":L()}],"rounded-es":[{"rounded-es":L()}],"rounded-tl":[{"rounded-tl":L()}],"rounded-tr":[{"rounded-tr":L()}],"rounded-br":[{"rounded-br":L()}],"rounded-bl":[{"rounded-bl":L()}],"border-w":[{border:R()}],"border-w-x":[{"border-x":R()}],"border-w-y":[{"border-y":R()}],"border-w-s":[{"border-s":R()}],"border-w-e":[{"border-e":R()}],"border-w-bs":[{"border-bs":R()}],"border-w-be":[{"border-be":R()}],"border-w-t":[{"border-t":R()}],"border-w-r":[{"border-r":R()}],"border-w-b":[{"border-b":R()}],"border-w-l":[{"border-l":R()}],"divide-x":[{"divide-x":R()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":R()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...z(),`hidden`,`none`]}],"divide-style":[{divide:[...z(),`hidden`,`none`]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...z(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Y,Z,X]}],"outline-w":[{outline:[``,Y,ms,ss]}],"outline-color":[{outline:P()}],shadow:[{shadow:[``,`none`,u,ys,ps]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":[`none`,d,ys,ps]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:R()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[Y,ss]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":R()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":[`none`,f,ys,ps]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[Y,Z,X]}],"mix-blend":[{"mix-blend":[...ie(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ie()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[Y]}],"mask-image-linear-from-pos":[{"mask-linear-from":B()}],"mask-image-linear-to-pos":[{"mask-linear-to":B()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":B()}],"mask-image-t-to-pos":[{"mask-t-to":B()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":B()}],"mask-image-r-to-pos":[{"mask-r-to":B()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":B()}],"mask-image-b-to-pos":[{"mask-b-to":B()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":B()}],"mask-image-l-to-pos":[{"mask-l-to":B()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":B()}],"mask-image-x-to-pos":[{"mask-x-to":B()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":B()}],"mask-image-y-to-pos":[{"mask-y-to":B()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[Z,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":B()}],"mask-image-radial-to-pos":[{"mask-radial-to":B()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[Y]}],"mask-image-conic-from-pos":[{"mask-conic-from":B()}],"mask-image-conic-to-pos":[{"mask-conic-to":B()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ne()}],"mask-repeat":[{mask:F()}],"mask-size":[{mask:re()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,X]}],filter:[{filter:[``,`none`,Z,X]}],blur:[{blur:ae()}],brightness:[{brightness:[Y,Z,X]}],contrast:[{contrast:[Y,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,ys,ps]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:[``,Y,Z,X]}],"hue-rotate":[{"hue-rotate":[Y,Z,X]}],invert:[{invert:[``,Y,Z,X]}],saturate:[{saturate:[Y,Z,X]}],sepia:[{sepia:[``,Y,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":ae()}],"backdrop-brightness":[{"backdrop-brightness":[Y,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[Y,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,Y,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Y,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,Y,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[Y,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[Y,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,Y,Z,X]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Z,X]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[Y,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[Y,Z,X]}],animate:[{animate:[`none`,v,Z,X]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,X]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:V()}],"rotate-x":[{"rotate-x":V()}],"rotate-y":[{"rotate-y":V()}],"rotate-z":[{"rotate-z":V()}],scale:[{scale:oe()}],"scale-x":[{"scale-x":oe()}],"scale-y":[{"scale-y":oe()}],"scale-z":[{"scale-z":oe()}],"scale-3d":[`scale-3d`],skew:[{skew:se()}],"skew-x":[{"skew-x":se()}],"skew-y":[{"skew-y":se()}],transform:[{transform:[Z,X,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:ce()}],"translate-x":[{"translate-x":ce()}],"translate-y":[{"translate-y":ce()}],"translate-z":[{"translate-z":ce()}],"translate-none":[`translate-none`],accent:[{accent:P()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Z,X]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Z,X]}],fill:[{fill:[`none`,...P()]}],"stroke-w":[{stroke:[Y,ms,ss,cs]}],stroke:[{stroke:[`none`,...P()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Q(...e){return js(nt(e))}var Ms=(0,t.defineComponent)({__name:`Button`,props:{variant:{},size:{},class:{type:[Boolean,null,String,Object,Array]},asChild:{type:Boolean},as:{default:`button`}},setup(e){let n=e;return(r,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(K),{"data-slot":`button`,as:e.as,"as-child":e.asChild,class:(0,t.normalizeClass)((0,t.unref)(Q)((0,t.unref)(Ns)({variant:e.variant,size:e.size}),n.class))},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(r.$slots,`default`)]),_:3},8,[`as`,`as-child`,`class`]))}}),Ns=at(`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`}}),Ps=(0,t.defineComponent)({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(e,{emit:n}){let r=zt(e,n);return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(fn),(0,t.mergeProps)({"data-slot":`dialog`},(0,t.unref)(r)),{default:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,`default`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)))]),_:3},16))}}),Fs=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Is=e=>e===``,Ls=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Rs=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),zs=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Bs=e=>{let t=zs(e);return t.charAt(0).toUpperCase()+t.slice(1)},Vs={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`},Hs=({name:e,iconNode:n,absoluteStrokeWidth:r,"absolute-stroke-width":i,strokeWidth:a,"stroke-width":o,size:s=Vs.width,color:c=Vs.stroke,...l},{slots:u})=>(0,t.h)(`svg`,{...Vs,...l,width:s,height:s,stroke:c,"stroke-width":Is(r)||Is(i)||r===!0||i===!0?Number(a||o||Vs[`stroke-width`])*24/Number(s):a||o||Vs[`stroke-width`],class:Ls(`lucide`,l.class,...e?[`lucide-${Rs(Bs(e))}-icon`,`lucide-${Rs(e)}`]:[`lucide-icon`]),...!u.default&&!Fs(l)&&{"aria-hidden":`true`}},[...n.map(e=>(0,t.h)(...e)),...u.default?[u.default()]:[]]),Us=(e,n)=>(r,{slots:i,attrs:a})=>(0,t.h)(Hs,{...a,...r,iconNode:n,name:e},i),Ws=Us(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Gs=Us(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Ks=Us(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),qs=Us(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),Js=Us(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ys=Us(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Xs=Us(`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`}]]),Zs=Us(`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`}]]),Qs=Us(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),$s=(0,t.defineComponent)({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=(0,i.reactiveOmit)(n,`class`);return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Yn),(0,t.mergeProps)({"data-slot":`dialog-overlay`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`fixed inset-0 z-50 bg-black/80`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),ec=(0,t.defineComponent)({inheritAttrs:!1,__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:n}){let r=e,a=n,o=zt((0,i.reactiveOmit)(r,`class`),a);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Zn),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)($s),(0,t.createVNode)((0,t.unref)(Kn),(0,t.mergeProps)({"data-slot":`dialog-content`},{...n.$attrs,...(0,t.unref)(o)},{class:(0,t.unref)(Q)(`bg-background fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg sm:max-w-lg`,r.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`),e.showCloseButton?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(pn),{key:0,"data-slot":`dialog-close`,class:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Qs)),i[0]||=(0,t.createElementVNode)(`span`,{class:`sr-only`},`Close`,-1)]),_:1})):(0,t.createCommentVNode)(``,!0)]),_:3},16,[`class`])]),_:3}))}}),tc=(0,t.defineComponent)({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Rt((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(qn),(0,t.mergeProps)({"data-slot":`dialog-description`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`text-muted-foreground text-sm`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),nc=(0,t.defineComponent)({__name:`DialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{"data-slot":`dialog-footer`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),rc=(0,t.defineComponent)({__name:`DialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{"data-slot":`dialog-header`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`flex flex-col gap-2 text-center sm:text-left`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),ic=(0,t.defineComponent)({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Rt((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Qn),(0,t.mergeProps)({"data-slot":`dialog-title`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`text-lg leading-none font-semibold`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),ac={class:`space-y-2`},oc={key:0,class:`text-sm text-destructive`},sc=(0,t.defineComponent)({__name:`DeleteConfirmationDialog`,props:{isOpen:{type:Boolean},title:{default:`Confirm Delete`},question:{default:`Are you sure you want to delete this item?`},warning:{default:`This action cannot be undone.`},confirmLabel:{default:`Delete`},confirmingLabel:{default:`Deleting...`},cancelLabel:{default:`Cancel`},isDeleting:{type:Boolean,default:!1}},emits:[`confirm`,`cancel`,`update:isOpen`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)({get:()=>r.isOpen,set:e=>{i(`update:isOpen`,e),e||i(`cancel`)}}),o=()=>{i(`confirm`)},s=()=>{r.isDeleting||i(`cancel`)};return(n,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ps),{open:a.value,"onUpdate:open":r[0]||=e=>a.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ec),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(rc),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ic),null,{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.title),1)]),_:1}),(0,t.createVNode)((0,t.unref)(tc),null,{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,ac,[(0,t.createElementVNode)(`p`,null,(0,t.toDisplayString)(e.question),1),e.warning?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,oc,(0,t.toDisplayString)(e.warning),1)):(0,t.createCommentVNode)(``,!0)])]),_:1})]),_:1}),(0,t.createVNode)((0,t.unref)(nc),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ms),{variant:`outline`,disabled:e.isDeleting,onClick:s},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.cancelLabel),1)]),_:1},8,[`disabled`]),(0,t.createVNode)((0,t.unref)(Ms),{variant:`destructive`,disabled:e.isDeleting,onClick:o},{default:(0,t.withCtx)(()=>[e.isDeleting?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Js),{key:0,class:`h-4 w-4 mr-1.5 animate-spin`})):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.isDeleting?e.confirmingLabel:e.confirmLabel),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),cc=u.forScope(`useBlobExplorer`);function lc(e){let n=(0,t.ref)([]),r=(0,t.ref)(!1),i=(0,t.ref)(!1),a=(0,t.ref)(0);async function o(t){let i=e();if(!i)return{};r.value=!0;try{let e=await(await m.getClientAsync()).document(i).blobs().list({limit:t.limit,...t.cursor?{cursor:t.cursor}:{}});return n.value=e.items.map(e=>({...e,size:e.size??e.numBytes??null,uploadedAt:e.uploadedAt??e.createdAt??null})),cc.debug(`Blobs page loaded`,{count:n.value.length,docId:i}),console.log(`blobs result`,e),{nextCursor:e.cursor}}catch(e){return cc.error(`Failed to load blobs`,e),U(`Failed to load blobs: `+W(e)),{}}finally{r.value=!1}}async function s(t){let i=e();if(!i)return null;r.value=!0;try{let e=await(await m.getClientAsync()).document(i).blobs().get(t);if(!e)return null;let r={...e,size:e.size??e.numBytes??null,uploadedAt:e.uploadedAt??e.createdAt??null};return n.value=[r],r}catch{return n.value=[],null}finally{r.value=!1}}async function c(t,n){let r=e();if(!r)return null;i.value=!0,a.value=0;try{let e=(await m.getClientAsync()).document(r).blobs(),i=await t.arrayBuffer();n?.(10),a.value=10;let{blobId:o}=await e.upload(new Uint8Array(i),{filename:t.name,contentType:t.type||`application/octet-stream`,disposition:`attachment`});return a.value=100,n?.(100),cc.debug(`Blob uploaded`,{blobId:o,filename:t.name}),$e(`Uploaded "${t.name}"`),o}catch(e){return cc.error(`Failed to upload blob`,e),U(`Upload failed: `+W(e)),null}finally{i.value=!1,a.value=0}}function l(e){n.value=n.value.filter(t=>t.blobId!==e)}async function u(t){let r=e();if(!r)return!1;try{return await(await m.getClientAsync()).document(r).blobs().delete(t),n.value=n.value.filter(e=>e.blobId!==t),cc.debug(`Blob deleted`,{blobId:t}),!0}catch(e){return cc.error(`Failed to delete blob`,e),U(`Delete failed: `+W(e)),!1}}async function d(t){let r=e();if(!r)return t;let i=[];try{let e=(await m.getClientAsync()).document(r).blobs();await Promise.all(t.map(async t=>{try{await e.delete(t)}catch(e){cc.error(`Failed to delete blob`,{id:t,err:e}),i.push(t)}}));let a=new Set(i);n.value=n.value.filter(e=>a.has(e.blobId)||!t.includes(e.blobId)),i.length>0&&U(`Failed to delete ${i.length} blob(s).`)}catch(e){cc.error(`Failed during bulk delete`,e),U(`Bulk delete failed: `+W(e))}return i}async function f(t,n=`attachment`){let r=e();if(!r)return null;try{return(await m.getClientAsync()).document(r).blobs().downloadUrl(t,{disposition:n})}catch(e){return cc.error(`Failed to get download URL`,e),null}}async function p(t,n=`blob`){let r=e();if(!r)return null;try{return await(await m.getClientAsync()).document(r).blobs().read(t,{as:n})}catch(e){return cc.error(`Failed to read blob content`,e),null}}return{blobs:n,isLoading:r,isUploading:i,uploadProgress:a,loadPage:o,getBlob:s,uploadFile:c,removeBlob:l,deleteBlob:u,deleteBlobsBulk:d,getDownloadUrl:f,readBlobContent:p}}var uc=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 dc(e){let[t=``]=e.split(`;`),n=t.trim().toLowerCase();return uc.has(n)}function fc(e){return e==null||isNaN(e)?`—`:e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}function pc(e,t=`short`){if(!e)return`—`;let n=new Date(e);return isNaN(n.getTime())?`—`:n.toLocaleDateString(`en-US`,{month:t===`long`?`long`:`short`,day:`numeric`,year:`numeric`})}function mc(e){navigator.clipboard.writeText(e).catch(()=>{let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)})}var hc={class:`relative h-full flex`},gc=[`title`],_c={class:`w-64 lg:w-72 h-full border-l border-border flex flex-col bg-background`},vc={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-6`},yc={class:`flex items-center px-3 py-2 border-b border-border shrink-0`},bc={class:`text-xs font-medium truncate`},xc={class:`flex-1 overflow-y-auto scrollbar-thin p-3 space-y-4`},Sc={key:0},Cc={key:0,class:`rounded-lg border border-border bg-muted/30 aspect-video flex items-center justify-center`},wc={key:1,class:`rounded-lg overflow-hidden border border-border bg-muted/30`},Tc=[`src`],Ec={key:1,class:`aspect-video flex items-center justify-center p-4`},Dc={key:2,class:`rounded-lg overflow-hidden border border-border bg-muted/30`},Oc=[`src`],kc={key:1,class:`h-24 flex items-center justify-center p-4`},Ac={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`},jc={key:0},Mc={key:1,class:`opacity-40`},Nc={class:`space-y-1`},Pc=[`disabled`],Fc={key:0,class:`w-3.5 h-3.5 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Ic={key:1,class:`w-3.5 h-3.5 text-muted-foreground animate-spin`,fill:`none`,viewBox:`0 0 24 24`},Lc=[`disabled`],Rc={key:0,class:`w-3.5 h-3.5 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},zc={key:1,class:`w-3.5 h-3.5 text-muted-foreground animate-spin`,fill:`none`,viewBox:`0 0 24 24`},Bc={class:`space-y-2 text-xs`},Vc=[`title`],Hc={class:`text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all`},Uc={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Wc={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`},Gc={class:`flex justify-between`},Kc=[`title`],qc={class:`flex justify-between min-w-0`},Jc=[`title`],Yc={class:`flex justify-between`},Xc={class:`flex justify-between`},Zc={key:0},Qc={class:`text-[10px] font-mono text-muted-foreground group-hover:text-foreground break-all`},$c={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},el={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`},tl=(0,t.defineComponent)({__name:`BlobDetailPanel`,props:{documentId:{},selectedBlob:{},canWrite:{type:Boolean}},emits:[`delete-blob`,`reload-blobs`],setup(e,{emit:n}){let r=e,i=n,{readBlobContent:a,deleteBlob:o}=lc(()=>r.documentId),s=(0,t.ref)(typeof window<`u`?localStorage.getItem(Ye)===`true`:!1);(0,t.watch)(s,e=>{typeof window<`u`&&localStorage.setItem(Ye,String(e))});let c=(0,t.computed)(()=>r.selectedBlob?.contentType.startsWith(`image/`)),l=(0,t.computed)(()=>r.selectedBlob?(r.selectedBlob.contentType.startsWith(`text/`)||r.selectedBlob.contentType===`application/json`)&&r.selectedBlob.contentType!==`text/html`:!1),u=(0,t.computed)(()=>r.selectedBlob?.contentType===`text/csv`||r.selectedBlob?.contentType.includes(`spreadsheet`)===!0),d=(0,t.computed)(()=>r.selectedBlob?.contentType===`application/pdf`),f=(0,t.computed)(()=>!!c.value||!!d.value||l.value||u.value),p=(0,t.ref)(null),m=(0,t.ref)(null),h=(0,t.ref)(!1);function g(){p.value&&=(URL.revokeObjectURL(p.value),null),m.value=null}async function _(e){if(g(),c.value||d.value){h.value=!0;try{let t=await a(e.blobId,`blob`);t instanceof Blob&&(p.value=URL.createObjectURL(t))}finally{h.value=!1}}else if(l.value||u.value){h.value=!0;try{let t=await a(e.blobId,`text`);typeof t==`string`&&(m.value=t.slice(0,600))}finally{h.value=!1}}}(0,t.watch)(()=>r.selectedBlob,e=>{e?_(e):g()},{immediate:!0}),(0,t.onUnmounted)(()=>{g(),y&&clearTimeout(y)});let v=(0,t.ref)(null),y=null;function b(e,t){mc(e),v.value=t,y&&clearTimeout(y),y=setTimeout(()=>{v.value=null},1200)}let x=(0,t.ref)(!1);async function S(){if(!(!r.selectedBlob||x.value)){x.value=!0;try{let e=await a(r.selectedBlob.blobId,`blob`);if(!e)return;let t=URL.createObjectURL(e),n=document.createElement(`a`);n.href=t,n.download=r.selectedBlob.filename,document.body.appendChild(n),n.click(),document.body.removeChild(n),setTimeout(()=>URL.revokeObjectURL(t),5e3)}finally{x.value=!1}}}let C=(0,t.computed)(()=>r.selectedBlob?dc(r.selectedBlob.contentType):!1),w=(0,t.ref)(!1);async function T(){if(!(!r.selectedBlob||w.value)){w.value=!0;try{let e=await a(r.selectedBlob.blobId,`blob`);if(!e)return;let t=e,n=t.type;n.startsWith(`text/`)&&!n.includes(`charset`)&&(t=new Blob([await t.arrayBuffer()],{type:`${n}; charset=utf-8`}));let i=URL.createObjectURL(t);window.open(i,`_blank`),setTimeout(()=>URL.revokeObjectURL(i),6e4)}finally{w.value=!1}}}let E=(0,t.ref)(!1),D=(0,t.ref)(!1);async function O(){if(!r.selectedBlob)return;let e=r.selectedBlob.blobId;E.value=!1,i(`delete-blob`,e),D.value=!0;try{await o(e)||i(`reload-blobs`)}finally{D.value=!1}}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,hc,[(0,t.createElementVNode)(`button`,{class:`absolute -left-5 top-1/2 -translate-y-1/2 w-5 h-10 bg-muted border border-border border-r-0 rounded-l flex items-center justify-center hover:bg-muted/80 z-20`,title:s.value?`Show properties`:`Hide properties`,onClick:r[0]||=e=>s.value=!s.value},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{class:(0,t.normalizeClass)([`w-3 h-3 text-muted-foreground transition-transform`,{"rotate-180":s.value}]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[5]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`},null,-1)]],2))],8,gc),(0,t.withDirectives)((0,t.createElementVNode)(`div`,_c,[e.selectedBlob?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,yc,[(0,t.createElementVNode)(`span`,bc,(0,t.toDisplayString)(e.selectedBlob.filename),1)]),(0,t.createElementVNode)(`div`,xc,[f.value||h.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Sc,[r[11]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Preview `,-1),h.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cc,[...r[7]||=[(0,t.createElementVNode)(`svg`,{class:`w-5 h-5 text-muted-foreground/50 animate-spin`,fill:`none`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1)]])):c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wc,[p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,src:p.value,class:`w-full h-auto object-contain max-h-48`,alt:`Preview`},null,8,Tc)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ec,[...r[8]||=[(0,t.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground/40`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z`})],-1)]]))])):d.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Dc,[p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`iframe`,{key:0,src:p.value,class:`w-full h-48 border-0`,title:`PDF preview`},null,8,Oc)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kc,[...r[9]||=[(0,t.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`Unable to load preview`,-1)]]))])):l.value||u.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ac,[m.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,jc,(0,t.toDisplayString)(m.value),1)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Mc,`Loading…`)),r[10]||=(0,t.createElementVNode)(`div`,{class:`absolute bottom-0 inset-x-0 h-8 bg-gradient-to-t from-muted/60 to-transparent pointer-events-none`},null,-1)])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,null,[r[17]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Actions `,-1),(0,t.createElementVNode)(`div`,Nc,[(0,t.createElementVNode)(`button`,{class:`w-full flex items-center gap-2 px-2 py-1.5 text-xs hover:bg-muted rounded text-left disabled:opacity-50`,disabled:x.value,onClick:S},[x.value?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Ic,[...r[13]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Fc,[...r[12]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4`},null,-1)]])),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(x.value?`Downloading…`:`Download`),1)],8,Pc),C.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`w-full flex items-center gap-2 px-2 py-1.5 text-xs hover:bg-muted rounded text-left disabled:opacity-50`,disabled:w.value,onClick:T},[w.value?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,zc,[...r[15]||=[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`},null,-1),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Rc,[...r[14]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14`},null,-1)]])),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(w.value?`Opening…`:`Open in new tab`),1)],8,Lc)):(0,t.createCommentVNode)(``,!0),e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`w-full flex items-center gap-2 px-2 py-1.5 text-xs hover:bg-destructive/10 rounded text-destructive text-left`,onClick:r[1]||=e=>E.value=!0},[...r[16]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1),(0,t.createTextVNode)(` Delete blob `,-1)]])):(0,t.createCommentVNode)(``,!0)])]),(0,t.createElementVNode)(`div`,null,[r[28]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Info `,-1),(0,t.createElementVNode)(`div`,Bc,[(0,t.createElementVNode)(`div`,null,[r[20]||=(0,t.createElementVNode)(`div`,{class:`text-muted-foreground mb-0.5`},`Blob ID`,-1),(0,t.createElementVNode)(`button`,{class:`flex items-center gap-1 group hover:text-foreground w-full`,title:e.selectedBlob.blobId,onClick:r[2]||=t=>b(e.selectedBlob.blobId,`detail_blobid`)},[(0,t.createElementVNode)(`code`,Hc,(0,t.toDisplayString)(e.selectedBlob.blobId),1),v.value===`detail_blobid`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Uc,[...r[18]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Wc,[...r[19]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Vc)]),(0,t.createElementVNode)(`div`,Gc,[r[21]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Filename`,-1),(0,t.createElementVNode)(`span`,{class:`font-medium text-right truncate ml-2 max-w-[150px]`,title:e.selectedBlob.filename},(0,t.toDisplayString)(e.selectedBlob.filename),9,Kc)]),(0,t.createElementVNode)(`div`,qc,[r[22]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground shrink-0`},`Content Type`,-1),(0,t.createElementVNode)(`span`,{class:`font-mono text-[10px] text-right break-all ml-2 min-w-0`,title:e.selectedBlob.contentType},(0,t.toDisplayString)(e.selectedBlob.contentType),9,Jc)]),(0,t.createElementVNode)(`div`,Yc,[r[23]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Size`,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(fc)(e.selectedBlob.size)),1)]),(0,t.createElementVNode)(`div`,Xc,[r[24]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Uploaded`,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(pc)(e.selectedBlob.uploadedAt,`long`)),1)]),e.selectedBlob.sha256?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zc,[r[27]||=(0,t.createElementVNode)(`div`,{class:`text-muted-foreground mb-0.5`},`SHA-256`,-1),(0,t.createElementVNode)(`button`,{class:`flex items-center gap-1 group hover:text-foreground w-full`,onClick:r[3]||=t=>b(e.selectedBlob.sha256,`detail_sha256`)},[(0,t.createElementVNode)(`code`,Qc,(0,t.toDisplayString)(e.selectedBlob.sha256),1),v.value===`detail_sha256`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,$c,[...r[25]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,el,[...r[26]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))])])):(0,t.createCommentVNode)(``,!0)])])])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,vc,[...r[6]||=[(0,t.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground/30 mb-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`})],-1),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Select a blob to view details `,-1)]]))],512),[[t.vShow,!s.value]])]),(0,t.createVNode)(sc,{"is-open":E.value,title:`Delete Blob`,question:`Delete "${e.selectedBlob?.filename}"?`,warning:`This action cannot be undone.`,"is-deleting":D.value,onCancel:r[4]||=e=>E.value=!1,onConfirm:O},null,8,[`is-open`,`question`,`is-deleting`])],64))}}),nl={class:`w-48 lg:w-56 border-r border-border flex flex-col bg-background shrink-0`},rl={class:`p-2 border-b border-border`},il={class:`relative`},al={class:`flex-1 overflow-y-auto scrollbar-thin`},ol={key:1,class:`px-2 py-4 text-center text-xs text-muted-foreground`},sl=[`onClick`],cl=(0,t.defineComponent)({__name:`BlobExplorerDocumentSidebar`,props:{documents:{},selectedDocId:{},documentListLoaded:{type:Boolean}},emits:[`select-document`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.computed)(()=>{let e=a.value.trim().toLowerCase();return e?r.documents.filter(t=>(t.title||``).toLowerCase().includes(e)||t.documentId.toLowerCase().includes(e)):r.documents});function s(e){if(e.isRoot)return`root`;let t=e.permission??`owner`;return t===`reader`?`Viewer`:t===`read-write`?`Editor`:t===`owner`?`Owner`:t}function c(e){if(e.isRoot)return`bg-amber-500/10 text-amber-600`;let t=e.permission??`owner`;return t===`read-write`?`bg-blue-500/10 text-blue-600`:t===`reader`?`bg-green-500/10 text-green-600`:`bg-muted text-muted-foreground`}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,nl,[(0,t.createElementVNode)(`div`,rl,[(0,t.createElementVNode)(`div`,il,[r[1]||=(0,t.createElementVNode)(`svg`,{class:`absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z`})],-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`text`,placeholder:`Search documents…`,class:`w-full pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},null,512),[[t.vModelText,a.value]])])]),r[3]||=(0,t.createElementVNode)(`div`,{class:`flex items-center px-2 py-1.5 bg-muted border-b border-border`},[(0,t.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1`},` Documents `)],-1),(0,t.createElementVNode)(`div`,al,[e.documentListLoaded?o.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ol,(0,t.toDisplayString)(a.value?`No matches`:`No documents`),1)):((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,{key:2},(0,t.renderList)(o.value,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n.documentId,class:(0,t.normalizeClass)([`w-full flex items-center gap-1 px-2 py-1.5 cursor-pointer border-l-2 text-left`,[e.selectedDocId===n.documentId?`border-primary bg-primary/5`:`border-transparent hover:bg-muted/30`,n.isRoot?`opacity-60`:``]]),onClick:e=>i(`select-document`,n.documentId)},[(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-xs flex-1 truncate`,e.selectedDocId===n.documentId?`font-medium`:``])},(0,t.toDisplayString)(n.title||n.documentId),3),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`text-[9px] px-1 py-0.5 rounded shrink-0`,c(n)])},(0,t.toDisplayString)(s(n)),3)],10,sl))),128)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},(0,t.renderList)(4,e=>(0,t.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2 px-2 py-2`},[...r[2]||=[(0,t.createElementVNode)(`div`,{class:`h-3 bg-muted rounded flex-1 animate-pulse`},null,-1),(0,t.createElementVNode)(`div`,{class:`h-3 w-10 bg-muted rounded animate-pulse`},null,-1)]])),64))])]))}}),ll={class:`bg-background rounded-lg shadow-xl w-96 p-4`},ul={key:0,class:`mb-3 text-[11px] text-destructive font-medium`},dl={key:1,class:`mb-3 p-3 bg-muted/50 rounded-lg border border-border`},fl={class:`flex items-start gap-2`},pl={class:`flex-1 min-w-0`},ml={class:`text-xs font-medium truncate`},hl={class:`text-[10px] text-muted-foreground mt-0.5`},gl={class:`flex items-center gap-1 mt-1`},_l={class:`text-[10px] font-mono text-muted-foreground`},vl={class:`flex justify-end gap-2`},yl=[`disabled`],bl=10*1024*1024,xl=(0,t.defineComponent)({__name:`BlobUploadDialog`,props:{open:{type:Boolean}},emits:[`update:open`,`upload`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(!1),s=(0,t.ref)(``),c=(0,t.ref)(!1),l=(0,t.ref)(null);(0,t.watch)(()=>r.open,e=>{e||(a.value=null,s.value=``,o.value=!1,l.value=null)});let u=(0,t.computed)(()=>!!a.value);function d(e){return e<1024?e+` B`:e<1024*1024?(e/1024).toFixed(1)+` KB`:(e/(1024*1024)).toFixed(1)+` MB`}async function f(e){let t=await e.arrayBuffer(),n=await crypto.subtle.digest(`SHA-256`,t);return Array.from(new Uint8Array(n)).map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function p(e){if(l.value=null,e.size>bl){l.value=`File is too large (${d(e.size)}). Max 10 MB.`,a.value=null,s.value=``;return}a.value=e,s.value=``,c.value=!0;try{s.value=(await f(e)).slice(0,16)+`…`}catch{s.value=`unavailable`}finally{c.value=!1}}function m(){a.value=null,s.value=``,l.value=null}function h(e){let t=e.target,n=t.files?.[0];n&&p(n),t.value=``}function g(e){e.preventDefault(),o.value=!1;let t=e.dataTransfer?.files[0];t&&p(t)}function _(e){e.preventDefault(),o.value=!0}function v(){o.value=!1}function y(){a.value&&(i(`upload`,a.value),i(`update:open`,!1))}function b(){i(`update:open`,!1)}function x(e){e.key===`Escape`&&r.open&&(e.stopPropagation(),b())}return(0,t.onMounted)(()=>document.addEventListener(`keydown`,x,!0)),(0,t.onUnmounted)(()=>document.removeEventListener(`keydown`,x,!0)),(n,r)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[e.open?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,"data-devtools-modal":``,onClick:(0,t.withModifiers)(b,[`self`])},[(0,t.createElementVNode)(`div`,ll,[(0,t.createElementVNode)(`div`,{class:`flex items-center justify-between mb-3`},[r[2]||=(0,t.createElementVNode)(`h3`,{class:`text-sm font-semibold`},`Upload Blob`,-1),(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,onClick:b},[...r[1]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`border-2 border-dashed rounded-lg p-6 text-center mb-3 cursor-pointer transition-colors`,o.value?`border-primary bg-primary/5`:`border-border hover:border-muted-foreground/50 hover:bg-muted/20`]),onClick:r[0]||=e=>n.$refs.fileInput.click(),onDrop:g,onDragover:_,onDragleave:v},[r[3]||=(0,t.createElementVNode)(`svg`,{class:`w-8 h-8 text-muted-foreground mx-auto mb-2`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),r[4]||=(0,t.createElementVNode)(`p`,{class:`text-xs font-medium`},[(0,t.createTextVNode)(` Drop file here or `),(0,t.createElementVNode)(`span`,{class:`text-primary underline`},`browse`)],-1),r[5]||=(0,t.createElementVNode)(`p`,{class:`text-[10px] text-muted-foreground mt-1`},` Max 10 MB per file `,-1),(0,t.createElementVNode)(`input`,{ref:`fileInput`,type:`file`,class:`hidden`,onChange:h},null,544)],34),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,ul,(0,t.toDisplayString)(l.value),1)):(0,t.createCommentVNode)(``,!0),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dl,[(0,t.createElementVNode)(`div`,fl,[r[8]||=(0,t.createElementVNode)(`svg`,{class:`w-5 h-5 text-muted-foreground shrink-0 mt-0.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`})],-1),(0,t.createElementVNode)(`div`,pl,[(0,t.createElementVNode)(`div`,ml,(0,t.toDisplayString)(a.value.name),1),(0,t.createElementVNode)(`div`,hl,(0,t.toDisplayString)(d(a.value.size)),1),(0,t.createElementVNode)(`div`,gl,[r[6]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] text-muted-foreground`},`SHA-256:`,-1),(0,t.createElementVNode)(`span`,_l,(0,t.toDisplayString)(c.value?`computing…`:s.value),1)])]),(0,t.createElementVNode)(`button`,{class:`p-0.5 hover:bg-muted rounded text-muted-foreground shrink-0`,onClick:m},[...r[7]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,vl,[(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,onClick:b},` Cancel `),(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 disabled:opacity-50 flex items-center gap-1.5`,disabled:!u.value,onClick:y},[...r[9]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),(0,t.createTextVNode)(` Upload `,-1)]],8,yl)])])])):(0,t.createCommentVNode)(``,!0)]))}}),Sl={class:`flex flex-col flex-1 min-h-0`},Cl={class:`flex-1 relative min-h-0`},wl={class:`absolute inset-0 overflow-auto scrollbar-thin`},Tl={key:0,class:`p-6 space-y-2 animate-pulse`},El={key:1,class:`flex flex-col items-center justify-center h-full py-16 text-center`},Dl={class:`text-xs text-muted-foreground`},Ol={key:2,class:`w-full min-w-[680px] text-xs`},kl={class:`border-b border-border`},Al={key:0,class:`w-8 px-2 py-1.5 text-left sticky top-0 z-10 bg-muted`},jl=[`checked`,`indeterminate`],Ml={class:`divide-y divide-border`},Nl=[`onClick`],Pl=[`checked`,`onChange`],Fl={class:`px-2 py-2`},Il={class:`flex items-center gap-2`},Ll={class:`font-medium truncate max-w-[180px]`},Rl={class:`px-2 py-2 text-muted-foreground text-[10px] font-mono`},zl={class:`px-2 py-2 text-muted-foreground`},Bl={class:`px-2 py-2 text-muted-foreground`},Vl={class:`px-2 py-2`},Hl=[`title`,`onClick`],Ul={class:`truncate max-w-[90px]`},Wl={key:0,class:`w-3 h-3 text-green-600 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Gl={key:1,class:`w-3 h-3 opacity-0 group-hover:opacity-100 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Kl={class:`relative flex items-center gap-0.5`},ql=[`onClick`],Jl=[`onClick`],Yl={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`},Xl={class:`flex items-center gap-2 text-muted-foreground`},Zl=[`value`],Ql=[`value`],$l={class:`flex items-center gap-1`},eu=[`disabled`],tu={class:`px-2 py-1 tabular-nums text-muted-foreground`},nu=[`disabled`],ru={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`},iu={class:`max-w-screen-lg mx-auto flex items-center gap-3`},au={class:`flex-1 min-w-0`},ou={class:`flex items-center justify-between mb-1`},su={class:`text-[10px] font-medium truncate max-w-xs`},cu={class:`text-[10px] text-muted-foreground shrink-0 ml-3`},lu={class:`w-full bg-border rounded-full h-1`},uu={key:0,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`},du={class:`bg-background rounded-lg shadow-xl px-6 py-4 flex items-center gap-3`},fu={class:`text-sm`},pu=`primitive-blob-explorer-page-size`,mu=25,hu=(0,t.defineComponent)({__name:`BlobTablePanel`,props:{documentId:{},searchQuery:{},canWrite:{type:Boolean},uploadDialogOpen:{type:Boolean}},emits:[`select-blob`,`update:upload-dialog-open`,`selection-change`],setup(e,{expose:n,emit:r}){let i=e,a=r,{blobs:o,isLoading:s,isUploading:c,uploadProgress:l,loadPage:u,getBlob:d,uploadFile:f,removeBlob:p,deleteBlob:m,deleteBlobsBulk:h,readBlobContent:g}=lc(()=>i.documentId),_=[10,25,50,100];function v(){try{let e=localStorage.getItem(pu);if(e){let t=Number(e);if(_.includes(t))return t}}catch{}return mu}function y(e){try{localStorage.setItem(pu,String(e))}catch{}}let b=(0,t.ref)(1),x=(0,t.ref)(v()),S=(0,t.ref)([void 0]),C=(0,t.computed)(()=>i.searchQuery.trim().length>0),w=null;(0,t.watch)(()=>i.searchQuery,e=>{w&&clearTimeout(w),w=setTimeout(()=>{e.trim()?T(e.trim()):D()},300)});async function T(e){M.value=null,a(`select-blob`,null),N.value=new Set,a(`selection-change`,0),await d(e)}function E(){S.value=[void 0],b.value=1}async function D(){E(),await O(1)}async function O(e){let t=S.value[e-1],{nextCursor:n}=await u({cursor:t,limit:x.value});if(n){let t=[...S.value];t[e]=n,S.value=t}b.value=e}async function k(){b.value>1&&await O(b.value-1)}async function A(){o.value.length>0&&await O(b.value+1)}(0,t.onMounted)(()=>{C.value||O(1)}),(0,t.watch)(()=>i.documentId,()=>{M.value=null,N.value=new Set,a(`selection-change`,0),a(`select-blob`,null),E(),C.value||O(1)});function j(e){x.value=e,y(e),E(),C.value||O(1)}let M=(0,t.ref)(null),N=(0,t.ref)(new Set),ee=(0,t.computed)(()=>o.value.length>0&&o.value.every(e=>N.value.has(e.blobId))),te=(0,t.computed)(()=>!ee.value&&o.value.some(e=>N.value.has(e.blobId)));function P(e){let t=new Set(N.value);e?o.value.forEach(e=>t.add(e.blobId)):o.value.forEach(e=>t.delete(e.blobId)),N.value=t,a(`selection-change`,t.size)}function ne(e,t){let n=new Set(N.value);t?n.add(e):n.delete(e),N.value=n,a(`selection-change`,n.size)}function F(){N.value=new Set,a(`selection-change`,0)}function re(e){M.value===e.blobId?(M.value=null,a(`select-blob`,null)):(M.value=e.blobId,a(`select-blob`,e))}function I(){M.value=null,a(`select-blob`,null)}let L=(0,t.ref)(null),R=(0,t.ref)(``),z=(0,t.ref)(!1);function ie(e,t){L.value=e,R.value=t}async function B(){if(!L.value)return;let e=L.value;L.value=null,p(e),M.value===e&&I();let t=new Set(N.value);t.delete(e)&&(N.value=t,a(`selection-change`,t.size)),z.value=!0;try{await m(e)||C.value||await O(b.value)}finally{z.value=!1}}let ae=(0,t.ref)(!1),V=(0,t.ref)(!1);function oe(){ae.value=!0}async function se(){ae.value=!1,V.value=!0;let e=[...N.value];try{await h(e),M.value&&e.includes(M.value)&&I(),F()}finally{V.value=!1}}function ce(e){p(e),M.value===e&&I();let t=new Set(N.value);t.delete(e)&&(N.value=t,a(`selection-change`,t.size))}let le=(0,t.ref)(null);async function ue(e){le.value=e.name;let t=await f(e);le.value=null,t&&!C.value&&(E(),await O(1))}async function de(){C.value?await T(i.searchQuery.trim()):(E(),await O(1))}let H=(0,t.ref)(null),fe=null;(0,t.onUnmounted)(()=>{fe&&clearTimeout(fe),w&&clearTimeout(w)});function pe(e,t){mc(e),t&&(H.value=t,fe&&clearTimeout(fe),fe=setTimeout(()=>{H.value=null},1200))}async function me(e,t){let n=await g(e,`blob`);if(!n)return;let r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,document.body.appendChild(i),i.click(),document.body.removeChild(i),setTimeout(()=>URL.revokeObjectURL(r),5e3)}function he(e){return e.length>10?`…`+e.slice(-10):e}function ge(e){return e.length>22?e.slice(0,20)+`…`:e}function _e(e){return e.startsWith(`image/`)}function ve(e){return e===`text/csv`||e.includes(`spreadsheet`)}function ye(e){return e===`application/pdf`?`text-red-500`:e.startsWith(`image/`)?`text-blue-500`:e.includes(`wordprocessingml`)||e.includes(`word`)?`text-blue-600`:ve(e)?`text-green-600`:`text-muted-foreground`}return n({executeBulkDelete:oe,refresh:de,clearSelection:F,handleExternalDelete:ce,selectedCount:(0,t.computed)(()=>N.value.size)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Sl,[(0,t.createElementVNode)(`div`,Cl,[(0,t.createElementVNode)(`div`,wl,[(0,t.unref)(s)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Tl,[...r[7]||=[(0,t.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1),(0,t.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1),(0,t.createElementVNode)(`div`,{class:`h-7 bg-muted rounded w-full`},null,-1)]])):(0,t.unref)(o).length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,El,[r[8]||=(0,t.createElementVNode)(`svg`,{class:`w-10 h-10 text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`})],-1),(0,t.createElementVNode)(`p`,Dl,(0,t.toDisplayString)(C.value?`No blob found with that ID`:`No blobs uploaded yet`),1)])):((0,t.openBlock)(),(0,t.createElementBlock)(`table`,Ol,[(0,t.createElementVNode)(`thead`,null,[(0,t.createElementVNode)(`tr`,kl,[e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`th`,Al,[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:ee.value,indeterminate:te.value,onChange:r[0]||=e=>P(e.target.checked)},null,40,jl)])):(0,t.createCommentVNode)(``,!0),r[9]||=(0,t.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Filename `,-1),r[10]||=(0,t.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Content Type `,-1),r[11]||=(0,t.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Size `,-1),r[12]||=(0,t.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Uploaded `,-1),r[13]||=(0,t.createElementVNode)(`th`,{class:`px-2 py-1.5 text-left font-medium text-muted-foreground sticky top-0 z-10 bg-muted`},` Blob ID `,-1),r[14]||=(0,t.createElementVNode)(`th`,{class:`w-0 p-0 sticky top-0 right-0 z-20 bg-muted`},null,-1)])]),(0,t.createElementVNode)(`tbody`,Ml,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(o),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{key:n.blobId,class:(0,t.normalizeClass)([`hover:bg-muted/30 group cursor-pointer`,{"bg-primary/5":M.value===n.blobId}]),onClick:e=>re(n)},[e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{key:0,class:`px-2 py-2`,onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:N.value.has(n.blobId),onChange:e=>ne(n.blobId,e.target.checked)},null,40,Pl)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`td`,Fl,[(0,t.createElementVNode)(`div`,Il,[_e(n.contentType)?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{key:0,class:(0,t.normalizeClass)([`w-4 h-4 shrink-0`,ye(n.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[15]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z`},null,-1)]],2)):ve(n.contentType)?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{key:1,class:(0,t.normalizeClass)([`w-4 h-4 shrink-0`,ye(n.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[16]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M3 10h18M3 14h18M10 3v18M14 3v18M5 3h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2z`},null,-1)]],2)):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,{key:2,class:(0,t.normalizeClass)([`w-4 h-4 shrink-0`,ye(n.contentType)]),fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[...r[17]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z`},null,-1)]],2)),(0,t.createElementVNode)(`span`,Ll,(0,t.toDisplayString)(n.filename),1)])]),(0,t.createElementVNode)(`td`,Rl,(0,t.toDisplayString)(ge(n.contentType)),1),(0,t.createElementVNode)(`td`,zl,(0,t.toDisplayString)((0,t.unref)(fc)(n.size)),1),(0,t.createElementVNode)(`td`,Bl,(0,t.toDisplayString)((0,t.unref)(pc)(n.uploadedAt)),1),(0,t.createElementVNode)(`td`,Vl,[(0,t.createElementVNode)(`button`,{class:`flex items-center gap-1 text-[10px] text-muted-foreground font-mono hover:text-foreground`,title:n.blobId,onClick:(0,t.withModifiers)(e=>pe(n.blobId,n.blobId),[`stop`])},[(0,t.createElementVNode)(`span`,Ul,(0,t.toDisplayString)(he(n.blobId)),1),H.value===n.blobId?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Wl,[...r[18]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Gl,[...r[19]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Hl)]),(0,t.createElementVNode)(`td`,{class:`relative px-2 py-2 sticky right-0 z-10 bg-background`,style:{"box-shadow":`-2px 0 4px -2px rgba(0, 0, 0, 0.08)`},onClick:r[2]||=(0,t.withModifiers)(()=>{},[`stop`])},[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`absolute inset-0 bg-primary/5 pointer-events-none`,M.value===n.blobId?`opacity-100 group-hover:opacity-0`:`opacity-0`])},null,2),(0,t.createElementVNode)(`div`,Kl,[(0,t.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground`,title:`Download`,onClick:e=>me(n.blobId,n.filename)},[...r[20]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4`})],-1)]],8,ql),e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground hover:text-destructive`,title:`Delete`,onClick:e=>ie(n.blobId,n.filename)},[...r[21]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1)]],8,Jl)):(0,t.createCommentVNode)(``,!0)])])],10,Nl))),128))])]))])]),C.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Yl,[(0,t.createElementVNode)(`div`,Xl,[(0,t.createElementVNode)(`select`,{class:`px-1 py-0.5 text-[10px] bg-background border border-border rounded`,value:x.value,onChange:r[3]||=e=>j(Number(e.target.value))},[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(_,e=>(0,t.createElementVNode)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,Ql)),64))],40,Zl),r[22]||=(0,t.createElementVNode)(`span`,null,`per page`,-1)]),(0,t.createElementVNode)(`div`,$l,[(0,t.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:b.value<=1,onClick:k},` Previous `,8,eu),(0,t.createElementVNode)(`span`,tu,(0,t.toDisplayString)(b.value),1),(0,t.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:(0,t.unref)(o).length===0,onClick:A},` Next `,8,nu)])])),(0,t.createVNode)(xl,{open:e.uploadDialogOpen,"onUpdate:open":r[4]||=e=>a(`update:upload-dialog-open`,e),onUpload:ue},null,8,[`open`]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[(0,t.unref)(c)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ru,[(0,t.createElementVNode)(`div`,iu,[r[23]||=(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5 text-muted-foreground shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),(0,t.createElementVNode)(`div`,au,[(0,t.createElementVNode)(`div`,ou,[(0,t.createElementVNode)(`span`,su,(0,t.toDisplayString)(le.value??`Uploading…`),1),(0,t.createElementVNode)(`span`,cu,(0,t.toDisplayString)(Math.round((0,t.unref)(l)))+`% `,1)]),(0,t.createElementVNode)(`div`,lu,[(0,t.createElementVNode)(`div`,{class:`bg-primary h-1 rounded-full transition-all duration-300`,style:(0,t.normalizeStyle)({width:(0,t.unref)(l)+`%`})},null,4)])])])])):(0,t.createCommentVNode)(``,!0)])),(0,t.createVNode)(sc,{"is-open":!!L.value,title:`Delete Blob`,question:`Delete "${R.value}"?`,warning:`This action cannot be undone.`,"is-deleting":z.value,onCancel:r[5]||=e=>L.value=null,onConfirm:B},null,8,[`is-open`,`question`,`is-deleting`]),(0,t.createVNode)(sc,{"is-open":ae.value,title:`Delete Blobs`,question:`Delete ${N.value.size} blob${N.value.size===1?``:`s`}?`,warning:`This action cannot be undone.`,"is-deleting":!1,onCancel:r[6]||=e=>ae.value=!1,onConfirm:se},null,8,[`is-open`,`question`]),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[V.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,uu,[(0,t.createElementVNode)(`div`,du,[r[24]||=(0,t.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground animate-spin shrink-0`,fill:`none`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`circle`,{class:`opacity-25`,cx:`12`,cy:`12`,r:`10`,stroke:`currentColor`,"stroke-width":`4`}),(0,t.createElementVNode)(`path`,{class:`opacity-75`,fill:`currentColor`,d:`M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z`})],-1),(0,t.createElementVNode)(`span`,fu,`Deleting `+(0,t.toDisplayString)(N.value.size)+` blob`+(0,t.toDisplayString)(N.value.size===1?``:`s`)+`…`,1)])])):(0,t.createCommentVNode)(``,!0)]))]))}}),gu={class:`flex-1 flex overflow-hidden min-w-0`},_u={class:`flex-1 flex flex-col min-w-0 bg-background`},vu={key:0,class:`absolute inset-0 px-3 bg-muted flex items-center justify-between z-10`},yu={class:`flex items-center gap-2`},bu={class:`text-xs font-medium`},xu={class:`flex items-center gap-2 min-w-0`},Su={class:`flex items-center gap-2 min-w-0`},Cu={class:`text-sm font-medium truncate`},wu={key:0,class:`relative ml-1`},Tu=[`placeholder`],Eu={key:1,class:`flex items-center gap-1.5 shrink-0`},Du={key:0},Ou={key:0,class:`flex-1 flex flex-col items-center justify-center text-center p-6`},ku={class:`hidden lg:contents`},Au=(0,t.defineComponent)({__name:`BlobExplorerIndex`,setup(e){let n=Qe(),r=(0,t.ref)([]),i=(0,t.ref)(!1),a=(0,t.ref)(null);async function o(){try{let e=await m.getClientAsync();a.value=await e.getRootDocId(),await e.syncMetadata({scope:`all`,includeRoot:!0,pageSize:500}),r.value=(await e.documents.list({refreshFromServer:!0,includeRoot:!0})).map(e=>({...e,isRoot:e.documentId===a.value})),i.value=!0}catch(e){U(`Failed to load documents: `+W(e)),i.value=!0}}let s=null,c=null;(0,t.onMounted)(async()=>{S.value&&(w=new ResizeObserver(e=>{for(let t of e)C.value=t.contentRect.width<500}),w.observe(S.value)),o();let e=await m.getClientAsync(),t=e=>{e.action===`accepted`&&o()};e.on(`invitation`,t),s=()=>e.off(`invitation`,t);let n=()=>{o()};e.on(`documentMetadataChanged`,n),c=()=>e.off(`documentMetadataChanged`,n)}),(0,t.onUnmounted)(()=>{s?.(),c?.(),w?.disconnect()});let l=(0,t.computed)(()=>n.currentDocumentId),u=(0,t.computed)(()=>r.value.find(e=>e.documentId===l.value)??null);async function d(e){if(n.currentDocumentId!==e){f.value=null;try{await n.openDocument(e);let t=r.value.find(t=>t.documentId===e);t&&n.setCurrentDocumentTitle(t.title??e)}catch(e){U(`Failed to open document: `+W(e))}}}let f=(0,t.ref)(null),p=(0,t.ref)(!1),h=(0,t.ref)(``),g=(0,t.ref)(null);(0,t.watch)(l,()=>{f.value=null,h.value=``});let _=(0,t.ref)(0);function v(e){_.value=e}function y(){g.value?.executeBulkDelete()}function b(){g.value?.clearSelection(),_.value=0}let x=(0,t.computed)(()=>{let e=u.value?.permission;return e?e!==`reader`:!1}),S=(0,t.ref)(null),C=(0,t.ref)(!1),w=null;return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,gu,[(0,t.createVNode)((0,t.unref)(Ge),{position:`bottom-right`,duration:3e3}),(0,t.createVNode)(cl,{documents:r.value,"selected-doc-id":l.value,"document-list-loaded":i.value,onSelectDocument:d},null,8,[`documents`,`selected-doc-id`,`document-list-loaded`]),(0,t.createElementVNode)(`div`,_u,[(0,t.createElementVNode)(`div`,{ref_key:`toolbarRef`,ref:S,class:`flex items-center justify-between px-3 py-2 border-b border-border relative shrink-0`},[_.value>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,vu,[(0,t.createElementVNode)(`div`,yu,[(0,t.createElementVNode)(`span`,bu,(0,t.toDisplayString)(_.value)+` selected`,1),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:b},` Clear `)]),(0,t.createElementVNode)(`button`,{class:`px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1`,onClick:y},[...n[7]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1),(0,t.createTextVNode)(` Delete `,-1)]])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,xu,[(0,t.createElementVNode)(`div`,Su,[(0,t.createElementVNode)(`span`,Cu,(0,t.toDisplayString)(u.value?.title??u.value?.documentId??`Select a document`),1)]),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wu,[n[8]||=(0,t.createElementVNode)(`svg`,{class:`absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z`})],-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":n[0]||=e=>h.value=e,type:`text`,placeholder:C.value?`Blob ID…`:`Search by blob ID…`,class:(0,t.normalizeClass)([`pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,C.value?`w-28`:`w-44`])},null,10,Tu),[[t.vModelText,h.value]])])):(0,t.createCommentVNode)(``,!0)]),l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Eu,[i.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground`,title:`Refresh`,onClick:n[1]||=e=>g.value?.refresh()},[...n[11]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15`})],-1)]]),x.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:(0,t.normalizeClass)([`text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center`,C.value?`p-1.5`:`px-2 py-1 gap-1`]),title:`Upload`,onClick:n[2]||=e=>p.value=!0},[n[12]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12`})],-1),C.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Du,`Upload`))],2)):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[n[9]||=(0,t.createElementVNode)(`div`,{class:`w-6 h-6 bg-muted rounded animate-pulse`},null,-1),n[10]||=(0,t.createElementVNode)(`div`,{class:`w-16 h-6 bg-muted rounded animate-pulse`},null,-1)],64))])):(0,t.createCommentVNode)(``,!0)],512),l.value?((0,t.openBlock)(),(0,t.createBlock)(hu,{key:1,ref_key:`blobTableRef`,ref:g,"document-id":l.value,"search-query":h.value,"can-write":x.value,"upload-dialog-open":p.value,onSelectBlob:n[3]||=e=>f.value=e,"onUpdate:uploadDialogOpen":n[4]||=e=>p.value=e,onSelectionChange:v},null,8,[`document-id`,`search-query`,`can-write`,`upload-dialog-open`])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ou,[...n[13]||=[(0,t.createElementVNode)(`svg`,{class:`w-10 h-10 text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12`})],-1),(0,t.createElementVNode)(`p`,{class:`text-sm font-medium text-muted-foreground`},` Select a document `,-1),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground/70 mt-1`},` Choose a document from the left panel to explore its blobs `,-1)]]))]),(0,t.createElementVNode)(`div`,ku,[(0,t.createVNode)(tl,{"document-id":l.value??``,"selected-blob":f.value,"can-write":x.value,onDeleteBlob:n[5]||=e=>g.value?.handleExternalDelete(e),onReloadBlobs:n[6]||=e=>g.value?.refresh()},null,8,[`document-id`,`selected-blob`,`can-write`])])]))}}),ju=e.t(((e,t)=>{var n=`Expected a function`,r=NaN,i=`[object Symbol]`,a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,c=/^0o[0-7]+$/i,l=parseInt,u=typeof global==`object`&&global&&global.Object===Object&&global,d=typeof self==`object`&&self&&self.Object===Object&&self,f=u||d||Function(`return this`)(),p=Object.prototype.toString,m=Math.max,h=Math.min,g=function(){return f.Date.now()};function _(e,t,r){var i,a,o,s,c,l,u=0,d=!1,f=!1,p=!0;if(typeof e!=`function`)throw TypeError(n);t=x(t)||0,v(r)&&(d=!!r.leading,f=`maxWait`in r,o=f?m(x(r.maxWait)||0,t):o,p=`trailing`in r?!!r.trailing:p);function _(t){var n=i,r=a;return i=a=void 0,u=t,s=e.apply(r,n),s}function y(e){return u=e,c=setTimeout(C,t),d?_(e):s}function b(e){var n=e-l,r=e-u,i=t-n;return f?h(i,o-r):i}function S(e){var n=e-l,r=e-u;return l===void 0||n>=t||n<0||f&&r>=o}function C(){var e=g();if(S(e))return w(e);c=setTimeout(C,b(e))}function w(e){return c=void 0,p&&i?_(e):(i=a=void 0,s)}function T(){c!==void 0&&clearTimeout(c),u=0,i=l=a=c=void 0}function E(){return c===void 0?s:w(g())}function D(){var e=g(),n=S(e);if(i=arguments,a=this,l=e,n){if(c===void 0)return y(l);if(f)return c=setTimeout(C,t),_(l)}return c===void 0&&(c=setTimeout(C,t)),s}return D.cancel=T,D.flush=E,D}function v(e){var t=typeof e;return!!e&&(t==`object`||t==`function`)}function y(e){return!!e&&typeof e==`object`}function b(e){return typeof e==`symbol`||y(e)&&p.call(e)==i}function x(e){if(typeof e==`number`)return e;if(b(e))return r;if(v(e)){var t=typeof e.valueOf==`function`?e.valueOf():e;e=v(t)?t+``:t}if(typeof e!=`string`)return e===0?e:+e;e=e.replace(a,``);var n=s.test(e);return n||c.test(e)?l(e.slice(2),n?2:8):o.test(e)?r:+e}t.exports=_})),Mu=e.i(ju(),1),$=u.forScope(`useJsBaoDataLoader`);function Nu(e,n){return e===void 0?n:!!(0,t.unref)(e)}function Pu(e){let t=new WeakSet,n=e=>{if(e&&typeof e==`object`){if(t.has(e))return`[Circular]`;if(t.add(e),Array.isArray(e))return e.map(n);let r=Object.keys(e).sort(),i={};for(let t of r)i[t]=n(e[t]);return i}return e};try{return JSON.stringify(n(e))}catch{return`__non_serializable__`}}function Fu(e){let{subscribeTo:n,queryParams:r,documentReady:i,loadData:a,pauseUpdates:o,reloadOnDocumentEvents:s=!0,debounceMs:c=50,onError:l}=e,u=(0,t.ref)(null),d=(0,t.ref)(!1),f=(0,t.ref)(!1),p=(0,t.computed)(()=>Nu(i,!1)),h=(0,t.computed)(()=>Nu(o,!1)),g=(0,t.computed)(()=>(0,t.unref)(r)??null),_=(0,t.computed)(()=>{let e=g.value;return e===null?null:Pu(e)}),v=async e=>{if(!p.value){$.debug(`loadData skipped: not ready`,{reason:e,queryParams:(0,t.toRaw)(g.value)});return}if(h.value){$.debug(`loadData skipped: paused`,{reason:e,queryParams:(0,t.toRaw)(g.value)});return}$.debug(`loadData start`,{reason:e,queryParams:(0,t.toRaw)(g.value)});try{let n=await a(g.value);u.value=n,d.value||(d.value=!0,f.value=!0),$.debug(`loadData success`,{reason:e,queryParams:(0,t.toRaw)(g.value),data:n})}catch(n){if(l)try{l(n)}catch(e){$.warn(`onError handler threw`,{handlerError:e})}$.error(`loadData error`,{reason:e,queryParams:(0,t.toRaw)(g.value),error:n})}},y=(0,Mu.default)(e=>{$.debug(`Reload scheduled`,{reason:e}),v(e)},c),b=()=>{y(`Manual`)},x=[];return(0,t.onMounted)(async()=>{for(let e of n)try{let t=e.subscribe(()=>{f.value&&p.value&&(h.value||y(`Subscribed models changed`))});x.push(t)}catch(e){$.warn(`Failed to subscribe to model`,{error:e})}if(Nu(s,!0))try{let e=await m.getClientAsync(),t=()=>{f.value&&p.value&&(h.value||y(`Document loaded`))},n=()=>{f.value&&p.value&&(h.value||y(`Document closed`))};e.on(`documentLoaded`,t),e.on(`documentClosed`,n),x.push(()=>{e.off(`documentLoaded`,t),e.off(`documentClosed`,n)}),$.debug(`Subscribed to js-bao document events`)}catch(e){$.warn(`Failed to subscribe to js-bao client events`,{error:e})}}),(0,t.onUnmounted)(()=>{for(let e of x)try{e()}catch{}}),(0,t.watch)(p,e=>{if(!e){$.debug(`documentReady became false; resetting state`),d.value=!1,f.value=!1;return}h.value?$.debug(`documentReady became true but updates are paused; not scheduling load`):($.debug(`documentReady became true; scheduling initial load`),y(`Document became ready`))},{immediate:!0}),(0,t.watch)(_,e=>{if(e===null){$.debug(`queryParams disabled (null)`);return}if(!p.value){$.debug(`queryParams changed but document not ready; ignoring`,{signature:e});return}if(h.value){$.debug(`queryParams changed but updates are paused; ignoring`,{signature:e});return}$.debug(`queryParams changed; scheduling reload`,{signature:e}),y(`Queries changed`)}),{data:u,initialDataLoaded:d,reload:b}}var Iu=(0,t.defineComponent)({__name:`PrimitiveLoadingGate`,props:{isReady:{type:Boolean},delayMs:{default:50}},setup(e){let n=e,r=(0,t.computed)(()=>!n.isReady),i=(0,t.ref)(!1),a=null,o=()=>{a!=null&&window.clearTimeout(a),a=null};(0,t.watch)(r,e=>{e?(o(),a=window.setTimeout(()=>{i.value=!0},n.delayMs)):(o(),i.value=!1)},{immediate:!0}),(0,t.onUnmounted)(()=>{o()});let s=(0,t.computed)(()=>r.value&&!i.value),c=(0,t.computed)(()=>r.value&&i.value);return(e,n)=>s.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[],64)):c.value?(0,t.renderSlot)(e.$slots,`loading`,{key:1}):(0,t.renderSlot)(e.$slots,`default`,{key:2})}});function Lu(e){return e}function Ru(){return a.ModelRegistry.getInstance().getAllRegisteredModelsInfo().map(e=>{let t=new Map;for(let[n,r]of e.fields.entries()){let e=r;t.set(n,{name:n,hidden:e.hidden??n.startsWith(`_`),schema:{type:e.type??`string`,indexed:e.indexed,default:e.default,autoAssign:e.autoAssign,maxCount:e.maxCount,maxLength:e.maxLength}})}let n=e.options.uniqueConstraints??[];return{name:e.class.name,modelClass:Lu(e.class),tableName:e.options.name,fields:Array.from(e.fields.keys()),fieldInfo:t,relationships:e.options.relationships,uniqueConstraints:n,sourcePath:e.options.sourcePath??void 0}})}function zu(e,t){let n=new WeakSet;return JSON.stringify(e,(e,t)=>{if(t===void 0)return`[undefined]`;if(typeof t==`function`)return`[Function]`;if(typeof t==`symbol`)return t.toString();if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;if(n.add(t),t.constructor&&t.constructor.name&&(t.constructor.name.includes(`Set`)||t.constructor.name.includes(`Map`)||t.constructor.name.includes(`Model`)))return Array.isArray(t)?t:t.toString&&t.toString()!==`[object Object]`?t.toString():`[${t.constructor.name}]`}return t},t)}function Bu(e,t){let n=e.toLowerCase(),r=t.toLowerCase().trim();if(!r||n.includes(r))return!0;let i=0;for(let e=0;e<n.length&&i<r.length;e++)n[e]===r[i]&&i++;return i===r.length}function Vu(e){return e!==`is_null`&&e!==`is_not_null`}function Hu(e){return{equals:`equals`,not_equals:`not equals`,is_null:`is null`,is_not_null:`is not null`,contains:`contains`,not_contains:`not contains`,in:`in list`,not_in:`not in list`,starts_with:`starts with`,ends_with:`ends with`,gt:`>`,gte:`>=`,lt:`<`,lte:`<=`}[e]||e}var Uu=[`equals`,`not_equals`,`is_null`,`is_not_null`,`contains`,`not_contains`,`starts_with`,`ends_with`,`in`,`not_in`,`gt`,`gte`,`lt`,`lte`],Wu={string:Uu,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 Gu(e,t){return Wu[rd(e,t)?.type??`string`]??Uu}function Ku(e,t){switch(rd(e,t)?.type??`string`){case`id`:case`number`:case`boolean`:case`date`:return`equals`;default:return`contains`}}function qu(e){if(e==null)return`string`;if(typeof e==`boolean`)return`boolean`;if(typeof e==`number`)return`number`;if(typeof e==`string`){if(e.startsWith(`{`)||e.startsWith(`[`))try{return JSON.parse(e),`json`}catch{return`string`}if(e.length>100)return`textarea`}return`string`}function Ju(e,t,n=!1){let r=[],i=new Set(e.fields||[]),a=(t[e.tableName]||[])[0];return a&&(Object.keys(a).filter(e=>e!==`type`).forEach(e=>i.add(e)),Object.getOwnPropertyNames(a).filter(e=>e!==`type`).forEach(e=>i.add(e))),r=Array.from(i),n||(r=r.filter(t=>!(e.fieldInfo.get(t)?.hidden??t.startsWith(`_`)))),r.includes(`id`)&&(r=[`id`,...r.filter(e=>e!==`id`)]),r}function Yu(e,t){if(!e.relationships)return null;for(let[n,r]of Object.entries(e.relationships))if(r.type===`refersTo`&&r.relatedIdField===t)return{relationshipName:n,relatedModel:r.model,relatedIdField:r.relatedIdField};return null}function Xu(e){if(typeof e==`object`&&e)return!0;if(typeof e==`string`){let t=e.trim();if(t.startsWith(`{`)||t.startsWith(`[`))try{return JSON.parse(t),!0}catch{return!1}}return!1}function Zu(){return`filter-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}function Qu(e){let{field:t,mode:n,value:r}=e;switch(n){case`equals`:return!isNaN(Number(r))&&r.trim()!==``?{[t]:Number(r)}:r.toLowerCase()===`true`?{[t]:!0}:r.toLowerCase()===`false`?{[t]:!1}:{[t]:r};case`not_equals`:return!isNaN(Number(r))&&r.trim()!==``?{[t]:{$ne:Number(r)}}:r.toLowerCase()===`true`?{[t]:{$ne:!0}}:r.toLowerCase()===`false`?{[t]:{$ne:!1}}:{[t]:{$ne:r}};case`is_null`:return{[t]:null};case`is_not_null`:return{[t]:{$exists:!0}};case`contains`:return{[t]:{$containsText:r}};case`not_contains`:return{[t]:{$not:{$containsText:r}}};case`in`:{let e=r.split(`,`).map(e=>e.trim()).map(e=>!isNaN(Number(e))&&e!==``?Number(e):e);return{[t]:{$in:e}}}case`not_in`:{let e=r.split(`,`).map(e=>e.trim()).map(e=>!isNaN(Number(e))&&e!==``?Number(e):e);return{[t]:{$nin:e}}}case`starts_with`:return{[t]:{$startsWith:r}};case`ends_with`:return{[t]:{$endsWith:r}};case`gt`:return{[t]:{$gt:Number(r)}};case`gte`:return{[t]:{$gte:Number(r)}};case`lt`:return{[t]:{$lt:Number(r)}};case`lte`:return{[t]:{$lte:Number(r)}};default:return{}}}function $u(e){if(!e||e.length===0)return{};if(e.length===1&&e[0])return Qu(e[0]);let t=e.filter(e=>e&&e.field!=null&&e.field!==``&&(e.mode===`is_null`||e.mode===`is_not_null`||e.mode===`equals`||e.mode===`not_equals`||e.value!==void 0&&e.value!==``)).map(e=>Qu(e));return t.length===0?{}:t.length===1?t[0]??{}:{$and:t}}var ed=[10,25,50,100];function td(){try{let e=localStorage.getItem(Xe);if(e){let t=Number(e);if(ed.includes(t))return t}}catch{}return 25}function nd(e){try{localStorage.setItem(Xe,String(e))}catch{}}function rd(e,t){return e.fieldInfo.get(t)?.schema}function id(e,t){return rd(e,t)?.type===`stringset`}function ad(e,t){return rd(e,t)?.type===`date`}function od(e,t){return rd(e,t)?.type===`number`}function sd(e,t){return rd(e,t)?.type===`boolean`}function cd(e){if(e==null)return[];if(typeof e==`object`&&e){if(`toArray`in e&&typeof e.toArray==`function`)return e.toArray();if(Symbol.iterator in e)return Array.from(e)}return Array.isArray(e)?e.map(String):[]}function ld(e,t){return rd(e,t)?.indexed===!0}function ud(e){return e?{[e.field]:e.direction}:{id:1}}function dd(e){return e===1?`↑`:`↓`}function fd(){try{let e=localStorage.getItem(Ze);if(e)return JSON.parse(e)}catch{}return{}}function pd(e){try{localStorage.setItem(Ze,JSON.stringify(e))}catch{}}function md(e){return fd()[e]}function hd(e,t){let n=fd();n[e]=t,pd(n)}function gd(e){switch(e){case`owner`:case`admin`:return`Owner`;case`read-write`:return`Editor`;case`reader`:return`Viewer`;default:return`Owner`}}function _d(e){switch(e){case`owner`:case`admin`:return`bg-muted text-muted-foreground`;case`read-write`:return`bg-blue-500/10 text-blue-600`;case`reader`:return`bg-green-500/10 text-green-600`;default:return`bg-muted text-muted-foreground`}}function vd(e){return e===`owner`||e===`admin`}var yd={class:`flex items-center px-2 h-10 bg-muted border-b border-border relative`},bd={key:0,class:`absolute inset-0 px-2 bg-muted flex items-center justify-between z-10`},xd={class:`flex items-center gap-2`},Sd={class:`text-[10px] font-medium`},Cd={class:`flex items-center gap-0.5`},wd={class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide flex-1`},Td={key:0,class:`flex-1 overflow-y-auto scrollbar-thin flex flex-col`},Ed={key:0,class:`p-3 text-center text-[10px] text-muted-foreground`},Dd={key:1,class:`p-3 text-center text-[10px] text-muted-foreground`},Od={class:`flex items-center px-2 py-1 border-b border-border bg-muted/20 border-l-2 border-l-transparent`},kd=[`checked`,`indeterminate`],Ad=[`onClick`],jd=[`checked`,`disabled`,`title`,`onChange`],Md={key:0,class:`text-[9px] px-1 py-0.5 bg-amber-500/10 text-amber-600 rounded ml-1`},Nd=(0,t.defineComponent)({__name:`DocumentListSection`,props:{documents:{},filteredDocuments:{},selectedDocId:{},isExpanded:{type:Boolean},documentListLoaded:{type:Boolean},searchQuery:{},sectionLabel:{default:`Documents`},showCreateButton:{type:Boolean,default:!0}},emits:[`select-document`,`create-document`,`bulk-delete`,`bulk-leave`,`bulk-delete-mixed`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(new Set),o=(0,t.computed)(()=>a.value.size),s=(0,t.computed)(()=>a.value.size>0),c=(0,t.computed)(()=>Array.from(a.value).some(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&vd(t.permission)&&!t.isRoot})),l=(0,t.computed)(()=>c.value?!1:Array.from(a.value).some(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&!vd(t.permission)&&!t.isRoot})),u=(0,t.computed)(()=>{let e=r.filteredDocuments.filter(e=>!e.isRoot);if(e.length===0)return!1;let t=e.filter(e=>a.value.has(e.documentId)).length;return t===0?!1:t===e.length?!0:`indeterminate`}),d=(e,t)=>{t&&t.stopPropagation();let n=new Set(a.value);n.has(e)?n.delete(e):n.add(e),a.value=n},f=()=>{let e=r.filteredDocuments.filter(e=>!e.isRoot),t=e.every(e=>a.value.has(e.documentId)),n=new Set(a.value);t?e.forEach(e=>n.delete(e.documentId)):e.forEach(e=>n.add(e.documentId)),a.value=n},p=()=>{a.value=new Set},m=(0,t.ref)(!1),h=(0,t.ref)([]),g=()=>{let e=Array.from(a.value),t=e.filter(e=>{let t=r.documents.find(t=>t.documentId===e);return t&&vd(t.permission)&&!t.isRoot});t.length!==0&&(t.length<e.length?(i(`bulk-delete-mixed`,e),p()):(h.value=t,m.value=!0))},_=()=>{i(`bulk-delete`,h.value),p(),m.value=!1,h.value=[]},v=()=>{i(`bulk-leave`,Array.from(a.value))};return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{class:`flex flex-col min-h-0`,style:(0,t.normalizeStyle)({flex:e.isExpanded?`1 1 auto`:`0 0 auto`})},[(0,t.createElementVNode)(`div`,yd,[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bd,[(0,t.createElementVNode)(`div`,xd,[(0,t.createElementVNode)(`span`,Sd,(0,t.toDisplayString)(o.value)+` selected `,1),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:(0,t.withModifiers)(p,[`stop`])},` Clear `)]),(0,t.createElementVNode)(`div`,Cd,[l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`p-1 text-muted-foreground hover:bg-muted-foreground/10 hover:text-foreground rounded`,title:`Leave Document`,onClick:(0,t.withModifiers)(v,[`stop`])},[...r[4]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1`})],-1)]])):(0,t.createCommentVNode)(``,!0),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`p-1 text-destructive hover:bg-destructive/10 rounded`,title:`Delete Document`,onClick:(0,t.withModifiers)(g,[`stop`])},[...r[5]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1)]])):(0,t.createCommentVNode)(``,!0)])])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`span`,wd,(0,t.toDisplayString)(e.sectionLabel),1),e.showCreateButton?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`p-0.5 hover:bg-background/50 rounded text-muted-foreground hover:text-foreground`,title:`New Document`,onClick:r[0]||=(0,t.withModifiers)(e=>i(`create-document`),[`stop`])},[...r[6]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1)]])):(0,t.createCommentVNode)(``,!0)]),e.isExpanded?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Td,[e.documentListLoaded?e.filteredDocuments.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Dd,(0,t.toDisplayString)(e.searchQuery?`No matching documents`:`No documents found`),1)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.createElementVNode)(`div`,Od,[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:u.value===!0,indeterminate:u.value===`indeterminate`,onChange:f},null,40,kd),r[7]||=(0,t.createElementVNode)(`span`,{class:`ml-2 text-[10px] text-muted-foreground`},`Select all`,-1)]),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.filteredDocuments,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n.documentId,class:(0,t.normalizeClass)([`flex items-center px-2 py-1.5 cursor-pointer border-l-2`,n.documentId===e.selectedDocId?`border-primary bg-primary/5`:`border-transparent hover:bg-muted/30`,n.isRoot?`opacity-60`:``]),onClick:e=>i(`select-document`,n.documentId)},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border flex-shrink-0`,checked:a.value.has(n.documentId),disabled:n.isRoot,title:n.isRoot?`Cannot select root document`:``,onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`]),onChange:e=>d(n.documentId)},null,40,jd),(0,t.createElementVNode)(`span`,{class:(0,t.normalizeClass)([`ml-2 text-xs flex-1 truncate`,n.documentId===e.selectedDocId?`font-medium`:``])},(0,t.toDisplayString)(n.title||`Untitled`),3),n.isRoot?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Md,` root `)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:(0,t.normalizeClass)([`text-[9px] px-1 py-0.5 rounded ml-1`,(0,t.unref)(_d)(n.permission)])},(0,t.toDisplayString)((0,t.unref)(gd)(n.permission)),3))],10,Ad))),128))],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ed,` Loading documents... `))])):(0,t.createCommentVNode)(``,!0),(0,t.createVNode)(sc,{"is-open":m.value,title:`Delete Documents`,question:`Delete ${h.value.length} document(s)? This action cannot be undone.`,warning:``,"is-deleting":!1,onConfirm:_,onCancel:r[2]||=e=>{m.value=!1,h.value=[]},"onUpdate:isOpen":r[3]||=e=>{e||(m.value=!1,h.value=[])}},null,8,[`is-open`,`question`])],4))}}),Pd={key:0,class:`w-10 border-r border-border flex flex-col items-center bg-background`},Fd={class:`h-10 flex items-center justify-center border-b border-border w-full`},Id=[`title`],Ld={key:1,class:`w-48 lg:w-56 border-r border-border flex flex-col bg-background`},Rd={class:`h-10 flex items-center px-2 gap-1 border-b border-border`},zd={class:`relative flex-1 min-w-0`},Bd={class:`flex-1 overflow-y-auto scrollbar-thin`},Vd=(0,t.defineComponent)({__name:`DocumentListPanel`,props:{ownedDocuments:{},sharedDocuments:{},selectedDocId:{},documentListLoaded:{type:Boolean}},emits:[`select-document`,`create-document`,`bulk-delete`,`bulk-leave`,`bulk-delete-mixed`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(``),s=(0,t.ref)(!1),c=(0,t.computed)(()=>i.ownedDocuments.length+i.sharedDocuments.length);function l(e){if(!o.value.trim())return e;let t=o.value.trim();if(t.toLowerCase().startsWith(`tag:`)){let n=t.slice(4);return n?e.filter(e=>e.tags?.some(e=>Bu(e,n))):e}return e.filter(e=>Bu(e.title||``,t)||Bu(e.documentId,t)||e.tags?.some(e=>Bu(e,t)))}let u=(0,t.computed)(()=>l(i.ownedDocuments)),d=(0,t.computed)(()=>l(i.sharedDocuments));return n({isCollapsed:s}),(n,r)=>s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Pd,[(0,t.createElementVNode)(`div`,Fd,[(0,t.createElementVNode)(`button`,{class:`p-1.5 hover:bg-muted rounded text-muted-foreground`,title:`Expand document list`,onClick:r[0]||=e=>s.value=!1},[...r[12]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M4 6h16M4 12h16M4 18h16`})],-1)]])]),(0,t.createElementVNode)(`span`,{class:`mt-2 text-[9px] text-muted-foreground tabular-nums`,title:`${c.value} documents`},(0,t.toDisplayString)(c.value),9,Id)])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ld,[(0,t.createElementVNode)(`div`,Rd,[(0,t.createElementVNode)(`div`,zd,[r[13]||=(0,t.createElementVNode)(`svg`,{class:`absolute left-2 top-1/2 -translate-y-1/2 w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z`})],-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>o.value=e,type:`text`,placeholder:`Search…`,class:`w-full pl-7 pr-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},null,512),[[t.vModelText,o.value]])]),(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground flex-shrink-0 md:hidden`,title:`Collapse panel`,onClick:r[2]||=e=>s.value=!0},[...r[14]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M11 19l-7-7 7-7`})],-1)]])]),(0,t.createElementVNode)(`div`,Bd,[(0,t.createVNode)(Nd,{documents:e.ownedDocuments,"filtered-documents":u.value,"selected-doc-id":e.selectedDocId,"is-expanded":!0,"document-list-loaded":e.documentListLoaded,"search-query":o.value,"section-label":`My Documents`,onSelectDocument:r[3]||=e=>a(`select-document`,e),onCreateDocument:r[4]||=e=>a(`create-document`),onBulkDelete:r[5]||=e=>a(`bulk-delete`,e),onBulkLeave:r[6]||=e=>a(`bulk-leave`,e),onBulkDeleteMixed:r[7]||=e=>a(`bulk-delete-mixed`,e)},null,8,[`documents`,`filtered-documents`,`selected-doc-id`,`document-list-loaded`,`search-query`]),e.sharedDocuments.length>0||o.value.trim()?((0,t.openBlock)(),(0,t.createBlock)(Nd,{key:0,documents:e.sharedDocuments,"filtered-documents":d.value,"selected-doc-id":e.selectedDocId,"is-expanded":!0,"document-list-loaded":e.documentListLoaded,"search-query":o.value,"section-label":`Shared with Me`,"show-create-button":!1,onSelectDocument:r[8]||=e=>a(`select-document`,e),onBulkDelete:r[9]||=e=>a(`bulk-delete`,e),onBulkLeave:r[10]||=e=>a(`bulk-leave`,e),onBulkDeleteMixed:r[11]||=e=>a(`bulk-delete-mixed`,e)},null,8,[`documents`,`filtered-documents`,`selected-doc-id`,`document-list-loaded`,`search-query`])):(0,t.createCommentVNode)(``,!0)])]))}}),Hd=(0,t.defineComponent)({__name:`Skeleton`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{"data-slot":`skeleton`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`animate-pulse rounded-md bg-primary/10`,n.class))},null,2))}}),Ud={key:0,class:`space-y-1.5`},Wd={key:1,class:`space-y-1`},Gd=[`onKeydown`,`onBlur`],Kd=[`title`,`onClick`],qd=[`disabled`,`onClick`],Jd={key:0,class:`flex items-center gap-1`},Yd=[`disabled`,`onKeydown`],Xd=(0,t.defineComponent)({__name:`DocumentAliasesSection`,props:{documentId:{},canWrite:{type:Boolean}},setup(e){let n=u.forScope(`DocumentAliasesSection`),r=e,i=(0,t.ref)([]),a=(0,t.ref)(!0),o=(0,t.ref)(``),s=(0,t.ref)(!1),c=(0,t.ref)(null),l=(0,t.ref)(!1),d=(0,t.ref)(null),f=(0,t.ref)(null),p=(0,t.ref)(``),h=(0,t.ref)(null);async function g(e=!1){e||(a.value=!0);try{i.value=await(await m.getClientAsync()).documents.aliases.listForDocument(r.documentId)}catch(e){n.error(`Failed to load aliases:`,e),i.value=[],U(`Failed to load aliases: `+W(e))}finally{a.value=!1}}(0,t.watch)(()=>r.documentId,()=>{i.value=[],a.value=!0,g()},{immediate:!0});async function _(){let e=o.value.trim();if(!e)return;o.value=``;let t={aliasKey:e,scope:`user`};i.value=[...i.value,t],s.value=!0;try{let t=await(await m.getClientAsync()).documents.aliases.set({documentId:r.documentId,scope:`user`,aliasKey:e});n.debug(`Alias set result:`,t),await g(!0),i.value.some(t=>t.aliasKey===e)||(n.warn(`Alias set returned success but alias not found in refreshed list:`,e),U(`Alias "${e}" was not saved. The server may have rejected it.`))}catch(t){i.value=i.value.filter(t=>t.aliasKey!==e),n.error(`Failed to add alias:`,t),U(`Failed to add alias: `+W(t))}finally{s.value=!1}}function v(e,t){d.value={aliasKey:e,scope:t},l.value=!0}function y(){l.value=!1,d.value=null}function b(){d.value&&x(d.value.aliasKey,d.value.scope),l.value=!1,d.value=null}async function x(e,t){let r=[...i.value];i.value=i.value.filter(t=>t.aliasKey!==e),c.value=e;try{await(await m.getClientAsync()).documents.aliases.delete({scope:t,aliasKey:e}),await g(!0)}catch(e){i.value=r,n.error(`Failed to remove alias:`,e),U(`Failed to remove alias: `+W(e))}finally{c.value=null}}async function S(e){f.value=e.aliasKey,p.value=e.aliasKey,await(0,t.nextTick)(),h.value?.focus(),h.value?.select()}function C(){f.value=null,p.value=``}async function w(e,t){let a=p.value.trim();if(!a||a===e){C();return}let o=[...i.value];i.value=i.value.map(t=>t.aliasKey===e?{...t,aliasKey:a}:t),C();try{let o=await m.getClientAsync();await o.documents.aliases.delete({scope:t,aliasKey:e});try{let e=await o.documents.aliases.set({documentId:r.documentId,scope:t,aliasKey:a});n.debug(`Alias rename set result:`,e)}catch(i){n.error(`Alias rename: set failed, restoring original alias`,{originalKey:e,newKey:a,setErr:i});try{await o.documents.aliases.set({documentId:r.documentId,scope:t,aliasKey:e})}catch(t){n.error(`Failed to restore original alias after rename failure`,{originalKey:e,restoreErr:t})}throw i}await g(!0),i.value.some(e=>e.aliasKey===a)||(n.warn(`Alias rename: set returned success but alias not found in refreshed list:`,a),U(`Alias "${a}" was not saved. The server may have rejected it.`))}catch(e){i.value=o,n.error(`Failed to edit alias:`,e),U(`Failed to edit alias: `+W(e))}}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[r[3]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Aliases `,-1),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ud,[(0,t.createVNode)(Hd,{class:`h-4 w-24`}),(0,t.createVNode)(Hd,{class:`h-4 w-32`})])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wd,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(i.value,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n.aliasKey,class:`flex items-center justify-between gap-1 text-xs group min-w-0`},[f.value===n.aliasKey?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:0,ref_for:!0,ref_key:`editInputRef`,ref:h,"onUpdate:modelValue":r[0]||=e=>p.value=e,type:`text`,class:`flex-1 min-w-0 px-1.5 py-0.5 text-[10px] font-mono bg-muted border border-ring rounded focus:outline-none`,onKeydown:[(0,t.withKeys)((0,t.withModifiers)(e=>w(n.aliasKey,n.scope),[`prevent`]),[`enter`]),(0,t.withKeys)((0,t.withModifiers)(C,[`prevent`]),[`escape`])],onBlur:e=>w(n.aliasKey,n.scope)},null,40,Gd)),[[t.vModelText,p.value]]):((0,t.openBlock)(),(0,t.createElementBlock)(`code`,{key:1,class:(0,t.normalizeClass)([`text-[10px] font-mono text-muted-foreground truncate min-w-0`,e.canWrite?`cursor-pointer hover:text-foreground`:``]),title:n.aliasKey,onClick:t=>e.canWrite?S(n):void 0},(0,t.toDisplayString)(n.aliasKey),11,Kd)),e.canWrite&&f.value!==n.aliasKey?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:2,class:`opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-destructive flex-shrink-0`,disabled:c.value===n.aliasKey,onClick:e=>v(n.aliasKey,n.scope)},` × `,8,qd)):(0,t.createCommentVNode)(``,!0)]))),128)),e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jd,[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[1]||=e=>o.value=e,type:`text`,class:`flex-1 px-1.5 py-0.5 text-[10px] font-mono bg-transparent border border-dashed border-border rounded focus:outline-none focus:border-ring focus:bg-muted`,placeholder:`+ add alias`,disabled:s.value,onKeydown:(0,t.withKeys)((0,t.withModifiers)(_,[`prevent`]),[`enter`])},null,40,Yd),[[t.vModelText,o.value]])])):(0,t.createCommentVNode)(``,!0)])),(0,t.createVNode)(sc,{"is-open":l.value,title:`Remove Alias`,question:`Remove the alias "${d.value?.aliasKey}" from this document?`,warning:``,"confirm-label":`Remove`,"confirming-label":`Removing...`,"is-deleting":c.value!==null,onConfirm:b,onCancel:y,"onUpdate:isOpen":r[2]||=e=>{e||y()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),Zd={key:0,class:`space-y-2.5`},Qd={class:`flex-1 space-y-1`},$d={key:1,class:`space-y-2`},ef={class:`flex items-center gap-2 min-w-0 flex-1`},tf={class:`min-w-0`},nf=[`title`],rf=[`title`],af={key:0,class:`text-[10px] text-muted-foreground flex-shrink-0`},of=[`value`,`onChange`],sf={key:0,value:`transfer-ownership`},cf={value:`remove`},lf={key:2,class:`flex items-center gap-1.5 flex-shrink-0`},uf={class:`text-[10px] text-muted-foreground capitalize`},df=[`onClick`],ff={key:3,class:`text-[10px] text-muted-foreground capitalize flex-shrink-0`},pf={class:`flex items-center gap-2 min-w-0 flex-1`},mf={class:`min-w-0`},hf=[`title`],gf=[`onClick`],_f={class:`flex items-center gap-2 min-w-0 flex-1`},vf={class:`min-w-0`},yf=[`title`],bf={class:`text-[10px] text-muted-foreground truncate`},xf={class:`text-[10px] text-muted-foreground capitalize flex-shrink-0`},Sf={key:0,class:`pt-1`},Cf=[`onKeydown`],wf={class:`flex items-center gap-1`},Tf=[`disabled`],Ef={key:0,class:`w-2.5 h-2.5 border border-current border-t-transparent rounded-full animate-spin`},Df=(0,t.defineComponent)({__name:`DocumentSharingSection`,props:{documentId:{},canWrite:{type:Boolean}},setup(e){let n=u.forScope(`DocumentSharingSection`),r=e,i=(0,t.ref)(``),a=(0,t.ref)([]),o=(0,t.ref)([]),s=(0,t.ref)([]),c=(0,t.ref)(!0),l=(0,t.ref)(``),d=(0,t.ref)(`read-write`),f=(0,t.ref)(!1),p=(0,t.ref)(!1),h=(0,t.ref)(!1),g=(0,t.ref)(``),_=(0,t.ref)(``),v=(0,t.ref)(!1),y=(0,t.ref)(!1),b=(0,t.ref)(!1),x=(0,t.ref)(``),S=(0,t.ref)(``),C=(0,t.ref)(!1),w=(0,t.ref)(!1),T=(0,t.ref)(!1);async function E(e=!1){e||(c.value=!0);try{let e=await m.getClientAsync();i.value=(await e.me.get())?.userId??``;let[t,c,l]=await Promise.all([e.documents.getPermissions(r.documentId).catch(e=>(n.debug(`getPermissions not available:`,e),[])),e.documents.listPendingInvitations(r.documentId).catch(e=>(n.debug(`listPendingInvitations not available:`,e),[])),e.documents.listGroupPermissions(r.documentId).catch(e=>(n.debug(`listGroupPermissions not available:`,e),[]))]);a.value=t,o.value=c,s.value=await Promise.all(l.map(async t=>{if(!t.groupType)return t;try{let n=await e.groups.get(t.groupType,t.groupId);return{...t,groupName:n.name}}catch{return{...t,groupName:void 0}}}))}catch(e){n.error(`Failed to load sharing info:`,e),a.value=[],o.value=[],s.value=[],U(`Failed to load sharing info: `+W(e))}finally{c.value=!1}}(0,t.watch)(()=>r.documentId,()=>{a.value=[],o.value=[],s.value=[],c.value=!0,E()},{immediate:!0});let D=null,O=!1;(0,t.onMounted)(async()=>{O=!0;try{let e=await m.getClientAsync();if(!O)return;let t=e=>{e.documentId===r.documentId&&(n.debug(`Invitation event received – reloading sharing data`,{action:e.action}),E(!0))};e.on(`invitation`,t),D=()=>e.off(`invitation`,t)}catch(e){n.warn(`Could not subscribe to invitation events:`,e)}}),(0,t.onUnmounted)(()=>{O=!1,D?.()});let k=(0,t.computed)(()=>{let e=a.value.find(e=>e.userId===i.value);return e?vd(e.permission):!1}),A=(0,t.computed)(()=>{let e=a.value.find(e=>e.userId===i.value);return e?vd(e.permission)||e.permission===`read-write`:!1});function j(e){return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)}function M(e){return e.split(` `).map(e=>e[0]).join(``).toUpperCase().slice(0,2)}function N(e){let t=[`bg-blue-500`,`bg-green-500`,`bg-purple-500`,`bg-pink-500`,`bg-orange-500`,`bg-teal-500`],n=0;for(let t=0;t<e.length;t++)n=e.charCodeAt(t)+((n<<5)-n);return t[Math.abs(n)%t.length]??`bg-blue-500`}async function ee(){let e=l.value.trim().toLowerCase();if(!e)return;if(!j(e)){U(`Please enter a valid email address.`);return}if(a.value.some(t=>t.email.toLowerCase()===e)){U(`${e} already has access to this document.`);return}if(o.value.some(t=>t.email.toLowerCase()===e)){U(`${e} already has a pending invitation.`);return}let t=d.value,i={invitationId:`optimistic-${Date.now()}`,email:e,permission:t,createdAt:new Date().toISOString(),expiresAt:``};o.value=[...o.value,i],l.value=``,p.value=!1,f.value=!0;try{await(await m.getClientAsync()).documents.updatePermissions(r.documentId,{email:e,permission:t}),await E(!0)}catch(e){o.value=o.value.filter(e=>e.invitationId!==i.invitationId),n.error(`Failed to invite collaborator:`,e),U(`Failed to invite: `+W(e))}finally{f.value=!1}}async function te(e){let t=[...o.value];o.value=o.value.filter(t=>t.email!==e);try{await(await m.getClientAsync()).documents.removePermission(r.documentId,{email:e}),await E(!0)}catch(e){o.value=t,n.error(`Failed to cancel invitation:`,e),U(`Failed to cancel invitation: `+W(e))}}async function P(e,t){let i=a.value.slice();a.value=a.value.map(n=>n.userId===e?{...n,permission:t}:n);try{await(await m.getClientAsync()).documents.updatePermissions(r.documentId,{userId:e,permission:t}),await E(!0)}catch(e){a.value=i,n.error(`Failed to update permission:`,e),U(`Failed to update permission: `+W(e))}}async function ne(e){let t=a.value.slice();a.value=a.value.filter(t=>t.userId!==e);try{await(await m.getClientAsync()).documents.removePermission(r.documentId,e),await E(!0)}catch(e){a.value=t,n.error(`Failed to remove permission:`,e),U(`Failed to remove permission: `+W(e))}}function F(e,t,n){let r=a.value.find(t=>t.userId===e);t===`remove`?(r&&(n.value=r.permission,_.value=r.name||r.email),g.value=e,v.value=e===i.value,h.value=!0):t===`transfer-ownership`?(r&&(n.value=r.permission,S.value=r.name||r.email),x.value=e,b.value=!0):t===`reader`&&e===i.value?(r&&(n.value=r.permission),w.value=!0):P(e,t)}function re(){T.value=!0,P(i.value,`reader`).finally(()=>{T.value=!1,w.value=!1})}function I(){w.value=!1}function L(){y.value=!0,ne(g.value).finally(()=>{y.value=!1,h.value=!1,g.value=``,_.value=``,v.value=!1})}function R(){h.value=!1,g.value=``,_.value=``,v.value=!1}function z(e){g.value=e.userId,_.value=e.name||e.email,v.value=!0,h.value=!0}async function ie(e){let t=a.value.slice();a.value=a.value.map(t=>t.userId===e?{...t,permission:`owner`}:t.userId===i.value?{...t,permission:`read-write`}:t),C.value=!0;try{let t=await m.getClientAsync();await t.documents.updatePermissions(r.documentId,{userId:e,permission:`owner`}),await t.documents.updatePermissions(r.documentId,{userId:i.value,permission:`read-write`}),await E(!0)}catch(e){a.value=t,n.error(`Failed to transfer ownership:`,e),U(`Failed to transfer ownership: `+W(e))}finally{C.value=!1,b.value=!1,x.value=``,S.value=``}}function B(){ie(x.value)}function ae(){b.value=!1,x.value=``,S.value=``}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[r[16]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Sharing `,-1),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Zd,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(2,e=>(0,t.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2`},[(0,t.createVNode)(Hd,{class:`h-5 w-5 rounded-full flex-shrink-0`}),(0,t.createElementVNode)(`div`,Qd,[(0,t.createVNode)(Hd,{class:`h-3 w-20`}),(0,t.createVNode)(Hd,{class:`h-2.5 w-28`})]),(0,t.createVNode)(Hd,{class:`h-3 w-10`})])),64))])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$d,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.userId,class:`flex items-center justify-between gap-2 text-xs`},[(0,t.createElementVNode)(`div`,ef,[(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`w-5 h-5 rounded-full flex items-center justify-center text-[10px] text-white font-medium flex-shrink-0`,N(e.name||e.email)])},(0,t.toDisplayString)(M(e.name||e.email)),3),(0,t.createElementVNode)(`div`,tf,[(0,t.createElementVNode)(`div`,{class:`font-medium truncate`,title:e.name||e.email},(0,t.toDisplayString)(e.name||e.email),9,nf),e.name?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`text-[10px] text-muted-foreground truncate`,title:e.email},(0,t.toDisplayString)(e.email),9,rf)):(0,t.createCommentVNode)(``,!0)])]),(0,t.unref)(vd)(e.permission)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,af,` Owner `)):A.value?((0,t.openBlock)(),(0,t.createElementBlock)(`select`,{key:1,value:e.permission,class:`text-[10px] px-1.5 py-0.5 bg-muted border border-border text-foreground cursor-pointer focus:outline-none focus:ring-1 focus:ring-ring rounded appearance-auto flex-shrink-0`,onChange:t=>F(e.userId,t.target.value,t.target)},[r[8]||=(0,t.createElementVNode)(`option`,{value:`read-write`},`Editor`,-1),r[9]||=(0,t.createElementVNode)(`option`,{value:`reader`},`Viewer`,-1),r[10]||=(0,t.createElementVNode)(`option`,{disabled:``},`───`,-1),k.value&&e.userId!==i.value&&e.permission===`read-write`?((0,t.openBlock)(),(0,t.createElementBlock)(`option`,sf,` Transfer Ownership `)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`option`,cf,(0,t.toDisplayString)(e.userId===i.value?`Leave`:`Remove`),1)],40,of)):e.userId===i.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lf,[(0,t.createElementVNode)(`span`,uf,(0,t.toDisplayString)((0,t.unref)(gd)(e.permission)),1),(0,t.createElementVNode)(`button`,{class:`text-muted-foreground hover:text-destructive flex-shrink-0`,title:`Leave document`,onClick:t=>z(e)},[...r[11]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1`})],-1)]],8,df)])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ff,(0,t.toDisplayString)((0,t.unref)(gd)(e.permission)),1))]))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(o.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.email,class:`flex items-center justify-between gap-2 text-xs`},[(0,t.createElementVNode)(`div`,pf,[r[13]||=(0,t.createElementVNode)(`div`,{class:`w-5 h-5 rounded-full bg-muted flex items-center justify-center text-[10px] text-muted-foreground font-medium border border-dashed border-border flex-shrink-0`},` ? `,-1),(0,t.createElementVNode)(`div`,mf,[(0,t.createElementVNode)(`div`,{class:`font-medium text-muted-foreground truncate`,title:e.email},(0,t.toDisplayString)(e.email),9,hf),r[12]||=(0,t.createElementVNode)(`div`,{class:`text-[10px] text-amber-600 flex items-center gap-1`},[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z`})]),(0,t.createTextVNode)(` Pending invitation `)],-1)])]),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-destructive flex-shrink-0`,onClick:t=>te(e.email)},` Cancel `,8,gf)]))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(s.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:`${e.groupType}/${e.groupId}`,class:`flex items-center justify-between gap-2 text-xs`},[(0,t.createElementVNode)(`div`,_f,[r[14]||=(0,t.createElementVNode)(`div`,{class:`w-5 h-5 rounded-full bg-indigo-500/15 flex items-center justify-center text-[10px] text-indigo-600 font-medium flex-shrink-0`},[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0z`})])],-1),(0,t.createElementVNode)(`div`,vf,[(0,t.createElementVNode)(`div`,{class:`font-medium truncate`,title:e.groupName??`${e.groupType}/${e.groupId}`},(0,t.toDisplayString)(e.groupName??`${e.groupType}/${e.groupId}`),9,yf),(0,t.createElementVNode)(`div`,bf,(0,t.toDisplayString)(e.groupType)+` group `,1)])]),(0,t.createElementVNode)(`span`,xf,(0,t.toDisplayString)((0,t.unref)(gd)(e.permission)),1)]))),128)),e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Sf,[p.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,"data-devtools-dropdown":``,class:`space-y-1.5`,onKeydown:r[3]||=(0,t.withKeys)((0,t.withModifiers)(e=>{p.value=!1,l.value=``},[`stop`,`prevent`]),[`escape`])},[(0,t.withDirectives)((0,t.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>l.value=e,type:`email`,class:`w-full px-1.5 py-1 text-[10px] border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,placeholder:`Email address`,onKeydown:(0,t.withKeys)((0,t.withModifiers)(ee,[`prevent`]),[`enter`])},null,40,Cf),[[t.vModelText,l.value]]),(0,t.createElementVNode)(`div`,wf,[(0,t.withDirectives)((0,t.createElementVNode)(`select`,{"onUpdate:modelValue":r[1]||=e=>d.value=e,class:`flex-1 px-1 py-0.5 text-[10px] border border-border rounded bg-background`},[...r[15]||=[(0,t.createElementVNode)(`option`,{value:`read-write`},`Editor`,-1),(0,t.createElementVNode)(`option`,{value:`reader`},`Viewer`,-1)]],512),[[t.vModelSelect,d.value]]),(0,t.createElementVNode)(`button`,{class:`px-2 py-0.5 text-[10px] bg-primary text-primary-foreground rounded hover:bg-primary/90 disabled:opacity-50 flex items-center gap-1`,disabled:f.value||!l.value.trim()||!j(l.value.trim()),onClick:ee},[f.value?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Ef)):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(f.value?`Sending...`:`Send`),1)],8,Tf),(0,t.createElementVNode)(`button`,{class:`px-2 py-0.5 text-[10px] text-muted-foreground hover:text-foreground`,onClick:r[2]||=e=>{p.value=!1,l.value=``}},` Cancel `)])],32)):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`w-full px-2 py-1.5 text-[10px] text-center border border-dashed border-border rounded hover:bg-muted`,onClick:r[4]||=e=>p.value=!0},` + Invite collaborator `))])):(0,t.createCommentVNode)(``,!0)])),(0,t.createVNode)(sc,{"is-open":h.value,title:v.value?`Leave Document`:`Remove Collaborator`,question:v.value?`Leave this document? You will lose access immediately.`:`Remove ${_.value} from this document? They will lose access immediately.`,warning:``,"confirm-label":v.value?`Leave`:`Remove`,"confirming-label":v.value?`Leaving...`:`Removing...`,"is-deleting":y.value,onConfirm:L,onCancel:R,"onUpdate:isOpen":r[5]||=e=>{e||R()}},null,8,[`is-open`,`title`,`question`,`confirm-label`,`confirming-label`,`is-deleting`]),(0,t.createVNode)(sc,{"is-open":w.value,title:`Change Your Role`,question:`Change your role to Viewer? You will lose edit access to this document immediately.`,warning:``,"confirm-label":`Change to Viewer`,"confirming-label":`Changing...`,"is-deleting":T.value,onConfirm:re,onCancel:I,"onUpdate:isOpen":r[6]||=e=>{e||I()}},null,8,[`is-open`,`is-deleting`]),(0,t.createVNode)(sc,{"is-open":b.value,title:`Transfer Ownership`,question:`Transfer ownership to ${S.value}?`,warning:`You will lose ownership of this document and become an editor. This cannot be undone without the new owner's help.`,"confirm-label":`Transfer`,"confirming-label":`Transferring...`,"is-deleting":C.value,onConfirm:B,onCancel:ae,"onUpdate:isOpen":r[7]||=e=>{e||ae()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),Of={class:`flex flex-wrap gap-1 items-center`},kf=[`title`],Af={class:`truncate min-w-0`},jf=[`disabled`,`onClick`],Mf=[`onKeydown`],Nf=`__ROOT_TAG__`,Pf=(0,t.defineComponent)({__name:`DocumentTagsSection`,props:{documentId:{},baseTags:{},canWrite:{type:Boolean},isRoot:{type:Boolean}},emits:[`documents-changed`],setup(e,{emit:n}){let r=u.forScope(`DocumentTagsSection`),i=e,a=n,o=(0,t.ref)(``),s=(0,t.ref)(!1),c=(0,t.ref)(null),l=(0,t.ref)(!1),d=(0,t.ref)(null),f=(0,t.ref)([]),p=(0,t.ref)(new Set),h=(0,t.ref)([]),g=(0,t.computed)(()=>{let e=new Set([...i.baseTags,...f.value]);for(let t of p.value)e.delete(t);let t=h.value.filter(t=>e.has(t)),n=new Set(t);for(let r of e)n.has(r)||t.push(r);return t});(0,t.watch)(()=>i.baseTags,e=>{if(!e)return;let t=new Set(h.value);for(let n of e)t.has(n)||h.value.push(n);f.value=f.value.filter(t=>!e.includes(t));for(let t of p.value)e.includes(t)||p.value.delete(t);let n=new Set([...e,...f.value]);h.value=h.value.filter(e=>n.has(e))},{deep:!0}),(0,t.watch)(()=>i.documentId,()=>{f.value=[],p.value=new Set,h.value=[]});async function _(){let e=o.value.trim();if(e){o.value=``,f.value.includes(e)||f.value.push(e),h.value.includes(e)||h.value.push(e),s.value=!0;try{await(await m.getClientAsync()).documents.addTag(i.documentId,e),a(`documents-changed`),r.debug(`Added tag to document`,{documentId:i.documentId,tag:e})}catch(t){f.value=f.value.filter(t=>t!==e),r.error(`Failed to add tag to document:`,t),U(`Failed to add tag: `+W(t))}finally{s.value=!1}}}function v(e){d.value=e,l.value=!0}function y(){l.value=!1,d.value=null}function b(){d.value&&x(d.value),l.value=!1,d.value=null}async function x(e){p.value.add(e),c.value=e;try{await(await m.getClientAsync()).makeRequest(`DELETE`,`/documents/${i.documentId}/tags/${encodeURIComponent(e)}`),a(`documents-changed`),r.debug(`Removed tag from document`,{documentId:i.documentId,tag:e})}catch(t){p.value.delete(e),r.error(`Failed to remove tag from document:`,t),U(`Failed to remove tag: `+W(t))}finally{c.value=null}}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,null,[r[2]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Tags `,-1),(0,t.createElementVNode)(`div`,Of,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(g.value,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:n,class:`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] bg-muted rounded group max-w-full`,title:n},[(0,t.createElementVNode)(`span`,Af,(0,t.toDisplayString)(n),1),e.canWrite&&!(e.isRoot&&n===Nf)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`opacity-0 group-hover:opacity-100 hover:text-destructive flex-shrink-0`,disabled:c.value===n,onClick:e=>v(n)},` × `,8,jf)):(0,t.createCommentVNode)(``,!0)],8,kf))),128)),e.canWrite&&!e.isRoot?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:0,"onUpdate:modelValue":r[0]||=e=>o.value=e,type:`text`,class:`w-16 px-1.5 py-0.5 text-[10px] bg-transparent border border-dashed border-border rounded focus:outline-none focus:border-ring focus:bg-muted`,placeholder:`+ add tag`,onKeydown:(0,t.withKeys)((0,t.withModifiers)(_,[`prevent`]),[`enter`]),onBlur:_},null,40,Mf)),[[t.vModelText,o.value]]):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)(sc,{"is-open":l.value,title:`Remove Tag`,question:`Remove the tag "${d.value}" from this document?`,warning:``,"confirm-label":`Remove`,"confirming-label":`Removing...`,"is-deleting":c.value!==null,onConfirm:b,onCancel:y,"onUpdate:isOpen":r[1]||=e=>{e||y()}},null,8,[`is-open`,`question`,`is-deleting`])]))}}),Ff={class:`relative min-h-0`},If={class:`w-3 h-3 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Lf={key:0,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 19l-7-7 7-7`},Rf={key:1,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`},zf={class:`flex-1 overflow-y-auto scrollbar-thin min-h-0 p-3`},Bf={class:`mb-4`},Vf={class:`flex items-center justify-between`},Hf={class:`text-base font-semibold truncate`},Uf={key:0,class:`relative`},Wf={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`},Gf={class:`py-1`},Kf={key:0,class:`border-t border-border my-1`},qf=[`title`],Jf={class:`text-[10px] text-muted-foreground font-mono group-hover:text-foreground truncate max-w-[180px]`},Yf={key:0,class:`w-3 h-3 text-green-500 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Xf={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`},Zf={class:`space-y-3 mb-4 text-xs`},Qf={class:`flex justify-between`},$f={class:`flex justify-between`},ep={key:0,class:`flex justify-between`},tp={class:`mb-4`},np={class:`mb-4`},rp={key:0,class:`mb-4`},ip={key:1,class:`mb-4`},ap={key:0,class:`space-y-1.5`},op={key:1,class:`space-y-1`},sp={class:`flex items-center gap-1.5 min-w-0`},cp=[`title`],lp=[`onClick`],up={key:2,class:`text-xs text-muted-foreground italic`},dp={class:`mb-4`},fp={key:0,class:`space-y-1`},pp={key:0,class:`flex justify-between gap-2 text-xs`},mp=[`title`,`onClick`],hp={class:`text-muted-foreground flex-shrink-0 whitespace-nowrap`},gp={key:1,class:`text-xs text-muted-foreground italic`},_p={class:`bg-background rounded-lg shadow-xl w-80 p-4`},vp={class:`space-y-3`},yp={class:`flex justify-end gap-2`},bp=[`disabled`],xp=(0,t.defineComponent)({__name:`DocumentPropertiesPanel`,props:{document:{},models:{},recordCounts:{}},emits:[`navigate-to-model`,`rename-document`,`delete-document`,`documents-changed`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>r.document.permission!==`reader`),o=(0,t.ref)(typeof window<`u`?localStorage.getItem(Ye)===`true`:!1);(0,t.watch)(o,e=>{typeof window<`u`&&localStorage.setItem(Ye,String(e))});let s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(``),d=(0,t.ref)(null);function f(e){if(e.key===`Escape`){if(s.value){s.value=!1,e.stopPropagation();return}c.value=!1}}function p(){c.value||s.value?document.addEventListener(`keydown`,f):document.removeEventListener(`keydown`,f)}(0,t.watch)(c,e=>{p(),e&&(0,t.nextTick)(()=>d.value?.focus())}),(0,t.watch)(s,()=>p()),(0,t.onUnmounted)(()=>{document.removeEventListener(`keydown`,f)});let h=(0,t.ref)(null),g=null;async function _(e){try{await navigator.clipboard.writeText(e)}catch{}h.value=e,g&&clearTimeout(g),g=setTimeout(()=>{h.value=null},1500)}let v=u.forScope(`DocumentPropertiesPanel`),y=(0,t.ref)([]),b=(0,t.ref)(!1);async function x(){b.value=!0;try{let e=await m.getClientAsync(),t=await e.collections.listCollectionsForDocument(r.document.documentId);y.value=await Promise.all(t.items.map(async t=>{if(t.name)return t;try{let n=await e.collections.get(t.collectionId);return{...t,name:n.name}}catch{return t}}))}catch(e){v.error(`Failed to load collections:`,e),y.value=[]}finally{b.value=!1}}async function S(e){let t=[...y.value];y.value=y.value.filter(t=>t.collectionId!==e);try{await(await m.getClientAsync()).collections.removeDocument(e,r.document.documentId)}catch{y.value=t}}(0,t.watch)(()=>r.document.documentId,()=>x(),{immediate:!0});function C(){let e=l.value.trim();e&&(i(`rename-document`,r.document.documentId,e),c.value=!1)}function w(e){if(!e)return`Unknown`;try{return new Date(e).toLocaleDateString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`})}catch{return e}}return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ff,[(0,t.createElementVNode)(`button`,{class:`absolute -left-5 top-1/2 -translate-y-1/2 w-5 h-10 bg-muted border border-border border-r-0 rounded-l flex items-center justify-center hover:bg-muted/80 z-20`,title:`Toggle properties panel`,onClick:r[0]||=e=>o.value=!o.value},[((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,If,[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`path`,Lf)):((0,t.openBlock)(),(0,t.createElementBlock)(`path`,Rf))]))]),(0,t.createElementVNode)(`div`,{class:(0,t.normalizeClass)([`h-full border-l border-border flex flex-col bg-background transition-all duration-200`,o.value?`w-0 overflow-hidden border-l-0`:`w-64 lg:w-72`])},[(0,t.createElementVNode)(`div`,zf,[(0,t.createElementVNode)(`div`,Bf,[(0,t.createElementVNode)(`div`,Vf,[(0,t.createElementVNode)(`h2`,Hf,(0,t.toDisplayString)(e.document.title||`Untitled`),1),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Uf,[(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,onClick:r[1]||=e=>s.value=!s.value},[...r[9]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4 text-muted-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z`})],-1)]]),s.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Wf,[(0,t.createElementVNode)(`div`,Gf,[(0,t.createElementVNode)(`button`,{class:`w-full px-3 py-1.5 text-xs text-left hover:bg-muted flex items-center gap-2`,onClick:r[2]||=t=>{s.value=!1,c.value=!0,l.value=e.document?.title||``}},[(0,t.createVNode)((0,t.unref)(Xs),{class:`w-3.5 h-3.5`}),r[10]||=(0,t.createTextVNode)(` Rename Document `,-1)]),e.document.isRoot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Kf)),e.document.isRoot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:1,class:`w-full px-3 py-1.5 text-xs text-left hover:bg-destructive/10 text-destructive flex items-center gap-2`,onClick:r[3]||=t=>{s.value=!1,i(`delete-document`,e.document.documentId)}},[(0,t.createVNode)((0,t.unref)(Zs),{class:`w-3.5 h-3.5`}),r[11]||=(0,t.createTextVNode)(` Delete Document `,-1)]))])])):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`button`,{class:`flex items-center gap-1 mt-1 group hover:text-foreground`,title:`Click to copy: ${e.document.documentId}`,onClick:r[4]||=t=>_(e.document.documentId)},[(0,t.createElementVNode)(`code`,Jf,(0,t.toDisplayString)(e.document.documentId),1),h.value===e.document.documentId?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Yf,[...r[12]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Xf,[...r[13]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,qf)]),(0,t.createElementVNode)(`div`,Zf,[(0,t.createElementVNode)(`div`,Qf,[r[14]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Created`,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(w(e.document.createdAt||e.document.lastModified)),1)]),(0,t.createElementVNode)(`div`,$f,[r[15]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Permission`,-1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(gd)(e.document.permission)),1)]),e.document.isRoot?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ep,[...r[16]||=[(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`Type`,-1),(0,t.createElementVNode)(`span`,{class:`text-amber-600`},`Root Document`,-1)]])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,tp,[(0,t.createVNode)(Pf,{"document-id":e.document.documentId,"base-tags":e.document.tags??[],"can-write":a.value,"is-root":e.document.isRoot,onDocumentsChanged:r[5]||=e=>i(`documents-changed`)},null,8,[`document-id`,`base-tags`,`can-write`,`is-root`])]),(0,t.createElementVNode)(`div`,np,[(0,t.createVNode)(Xd,{"document-id":e.document.documentId,"can-write":a.value},null,8,[`document-id`,`can-write`])]),e.document.isRoot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rp,[(0,t.createVNode)(Df,{"document-id":e.document.documentId,"can-write":a.value},null,8,[`document-id`,`can-write`])])),e.document.isRoot?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ip,[r[20]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Collections `,-1),b.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ap,[((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(2,e=>(0,t.createElementVNode)(`div`,{key:e,class:`flex items-center gap-2`},[...r[17]||=[(0,t.createElementVNode)(`div`,{class:`h-3 w-20 bg-muted animate-pulse rounded`},null,-1)]])),64))])):y.value.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,op,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(y.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.collectionId,class:`flex items-center justify-between gap-2 text-xs group`},[(0,t.createElementVNode)(`div`,sp,[r[18]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-muted-foreground flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10`})],-1),(0,t.createElementVNode)(`span`,{class:`truncate`,title:e.name||e.collectionId},(0,t.toDisplayString)(e.name||e.collectionId),9,cp)]),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`text-muted-foreground hover:text-destructive opacity-0 group-hover:opacity-100 flex-shrink-0`,title:`Remove from collection`,onClick:t=>S(e.collectionId)},[...r[19]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]],8,lp)):(0,t.createCommentVNode)(``,!0)]))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,up,` Not in any collections `))])),(0,t.createElementVNode)(`div`,dp,[r[21]||=(0,t.createElementVNode)(`h3`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Models `,-1),e.models.some(t=>(e.recordCounts[t.tableName]??0)>0)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,fp,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.models,n=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:n.tableName},[(e.recordCounts[n.tableName]??0)>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,pp,[(0,t.createElementVNode)(`button`,{class:`hover:text-primary hover:underline text-left truncate min-w-0`,title:n.name,onClick:e=>i(`navigate-to-model`,n.tableName)},(0,t.toDisplayString)(n.name),9,mp),(0,t.createElementVNode)(`span`,hp,(0,t.toDisplayString)(e.recordCounts[n.tableName])+` records `,1)])):(0,t.createCommentVNode)(``,!0)],64))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`p`,gp,` No records in this document `))])])],2),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,"data-devtools-modal":``,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,onClick:r[8]||=(0,t.withModifiers)(e=>c.value=!1,[`self`])},[(0,t.createElementVNode)(`div`,_p,[r[23]||=(0,t.createElementVNode)(`h3`,{class:`text-sm font-semibold mb-3`},`Rename Document`,-1),(0,t.createElementVNode)(`div`,vp,[(0,t.createElementVNode)(`div`,null,[r[22]||=(0,t.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`Document Name`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref_key:`renameInputRef`,ref:d,"onUpdate:modelValue":r[6]||=e=>l.value=e,type:`text`,class:`w-full mt-1 px-2 py-1.5 text-xs border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onKeydown:(0,t.withKeys)(C,[`enter`])},null,544),[[t.vModelText,l.value]])]),(0,t.createElementVNode)(`div`,yp,[(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,onClick:r[7]||=e=>c.value=!1},` Cancel `),(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,disabled:!l.value.trim(),onClick:C},` Rename `,8,bp)])])])])):(0,t.createCommentVNode)(``,!0)]))}});function Sp(e,t){function n(n,r){let i=[...e.value],a=e.value.find(e=>e[t]===n),o=e.value.findIndex(e=>e[t]===n);return e.value=e.value.filter(e=>e[t]!==n),r().then(()=>({success:!0})).catch(()=>{if(a&&o>=0){let t=[...e.value];t.splice(o,0,a),e.value=t}else a?e.value=[...e.value,a]:e.value=i;return{success:!1}})}async function r(n,r){let i=[...e.value],a=new Set(n);e.value=e.value.filter(e=>!a.has(e[t]));try{let a=await r(n);if(a.length>0){let n=new Set(a),r=i.filter(e=>n.has(e[t])),o=e.value,s=new Set(o.map(e=>e[t])),c=[];for(let e of i){let i=e[t];(s.has(i)||n.has(i))&&c.push(o.find(e=>e[t]===i)??r.find(e=>e[t]===i)??e)}for(let e of o)c.some(n=>n[t]===e[t])||c.push(e);e.value=c}return{failedIds:a}}catch{return e.value=i,{failedIds:n}}}async function i(n,r,i,a){let o=e.value.find(e=>e[t]===n),s=o?o[r]:void 0;e.value=e.value.map(e=>e[t]===n?{...e,[r]:i}:e);try{return await a(),{success:!0}}catch{return s!==void 0&&(e.value=e.value.map(e=>e[t]===n?{...e,[r]:s}:e)),{success:!1}}}return{optimisticRemove:n,optimisticBulkRemove:r,optimisticFieldUpdate:i}}var Cp={class:`bg-background rounded-lg shadow-xl w-80 p-4`},wp={class:`space-y-3`},Tp=[`disabled`],Ep={class:`flex justify-end gap-2`},Dp=[`disabled`],Op=[`disabled`],kp={key:0,class:`w-3 h-3 border-2 border-primary-foreground border-t-transparent rounded-full animate-spin`},Ap=(0,t.defineComponent)({__name:`CreateDocumentDialog`,props:{open:{type:Boolean},isCreating:{type:Boolean}},emits:[`update:open`,`create`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(``),o=(0,t.ref)(null),s=()=>{if(r.isCreating)return;let e=a.value.trim();e&&i(`create`,e)},c=()=>{r.isCreating||i(`update:open`,!1)};function l(e){e.key===`Escape`&&!r.isCreating&&c()}return(0,t.watch)(()=>r.open,e=>{e?(document.addEventListener(`keydown`,l),(0,t.nextTick)(()=>o.value?.focus())):(document.removeEventListener(`keydown`,l),a.value=``)}),(0,t.onUnmounted)(()=>{document.removeEventListener(`keydown`,l)}),(n,r)=>e.open?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,"data-devtools-modal":``,class:`fixed inset-0 bg-black/50 flex items-center justify-center z-50`,onClick:(0,t.withModifiers)(c,[`self`])},[(0,t.createElementVNode)(`div`,Cp,[r[2]||=(0,t.createElementVNode)(`h3`,{class:`text-sm font-semibold mb-3`},`Create New Document`,-1),(0,t.createElementVNode)(`div`,wp,[(0,t.createElementVNode)(`div`,null,[r[1]||=(0,t.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`Document Name`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`input`,{ref_key:`titleInputRef`,ref:o,"onUpdate:modelValue":r[0]||=e=>a.value=e,type:`text`,placeholder:`My Document`,class:`w-full mt-1 px-2 py-1.5 text-xs border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,disabled:e.isCreating,onKeydown:(0,t.withKeys)(s,[`enter`])},null,40,Tp),[[t.vModelText,a.value]])]),(0,t.createElementVNode)(`div`,Ep,[(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs hover:bg-muted rounded`,disabled:e.isCreating,onClick:c},` Cancel `,8,Dp),(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 inline-flex items-center gap-1.5`,disabled:!a.value.trim()||e.isCreating,onClick:s},[e.isCreating?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,kp)):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(e.isCreating?`Creating...`:`Create`),1)],8,Op)])])])])):(0,t.createCommentVNode)(``,!0)}}),jp=(0,t.defineComponent)({__name:`Label`,props:{for:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=(0,i.reactiveOmit)(n,`class`);return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(wa),(0,t.mergeProps)({"data-slot":`label`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16,[`class`]))}}),Mp=(0,t.defineComponent)({__name:`Switch`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},id:{},value:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=n,o=zt((0,i.reactiveOmit)(r,`class`),a);return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(so),(0,t.mergeProps)({"data-slot":`switch`},(0,t.unref)(o),{class:(0,t.unref)(Q)(`peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,r.class)}),{default:(0,t.withCtx)(n=>[(0,t.createVNode)((0,t.unref)(co),{"data-slot":`switch-thumb`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0`))},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`thumb`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)))]),_:2},1032,[`class`])]),_:3},16,[`class`]))}}),Np=(0,t.defineComponent)({__name:`Textarea`,props:{class:{type:[Boolean,null,String,Object,Array]},defaultValue:{},modelValue:{}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=(0,i.useVModel)(r,`modelValue`,n,{passive:!0,defaultValue:r.defaultValue});return(e,n)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`textarea`,{"onUpdate:modelValue":n[0]||=e=>(0,t.isRef)(a)?a.value=e:null,"data-slot":`textarea`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,r.class))},null,2)),[[t.vModelText,(0,t.unref)(a)]])}}),Pp={class:`min-h-10 px-3 py-1.5 border-b border-border bg-muted/20 relative flex items-center`},Fp={class:`flex items-center gap-2 flex-1`},Ip=[`onClick`,`onKeydown`],Lp={class:`text-muted-foreground`},Rp={key:0,class:`font-medium truncate max-w-[120px]`},zp=[`onClick`],Bp={class:`space-y-2`},Vp=[`value`],Hp=[`value`],Up={key:0},Wp=[`value`],Gp=[`placeholder`],Kp={key:1,class:`text-[9px] text-muted-foreground`},qp={class:`flex justify-end gap-2 pt-2`},Jp=[`disabled`],Yp=(0,t.defineComponent)({__name:`FilterBar`,props:{modelInfo:{},filters:{},loadedData:{},showHiddenFields:{type:Boolean}},emits:[`add-filter`,`remove-filter`,`update-filter`,`clear-all`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(null),s=(0,t.ref)(null),c=(0,t.ref)(null),l=(0,t.ref)(null),u=(0,t.ref)(``),d=(0,t.ref)(`contains`),f=(0,t.ref)(``),p=(0,t.computed)(()=>r.modelInfo?Ju(r.modelInfo,r.loadedData,r.showHiddenFields):[]),m=(0,t.computed)(()=>!r.modelInfo||!u.value?[]:Gu(r.modelInfo,u.value)),h=(0,t.computed)(()=>!r.modelInfo||!u.value?`string`:rd(r.modelInfo,u.value)?.type??`string`),g=(0,t.computed)(()=>d.value===`in`||d.value===`not_in`),_=(0,t.computed)(()=>h.value===`boolean`&&!g.value),v=(0,t.computed)(()=>h.value===`number`&&!g.value),y=()=>{l.value=null;let e=p.value[0]||``;u.value=e,d.value=r.modelInfo&&e?Ku(r.modelInfo,e):`contains`,f.value=``};(0,t.watch)(u,e=>{!r.modelInfo||!e||(Gu(r.modelInfo,e).includes(d.value)||(d.value=Ku(r.modelInfo,e)),(rd(r.modelInfo,e)?.type??`string`)===`boolean`&&f.value!==`true`&&f.value!==`false`&&(f.value=`true`))}),(0,t.watch)(()=>r.modelInfo,()=>y(),{immediate:!0});let b=()=>{y(),a.value=!0},x=e=>{l.value=e.id,u.value=e.field,d.value=e.mode,f.value=e.value,a.value=!0},S=()=>{a.value=!1,l.value=null},C=()=>{u.value&&(l.value?i(`update-filter`,{id:l.value,field:u.value,mode:d.value,value:f.value}):i(`add-filter`,{field:u.value,mode:d.value,value:f.value}),y(),S())},w=e=>{e.key===`Escape`&&a.value&&S()},T=e=>{if(!a.value)return;let t=e.target,n=o.value?.contains(t),r=s.value?.contains(t),i=c.value?.contains(t);!n&&!r&&!i&&S()};return(0,t.onMounted)(()=>{document.addEventListener(`click`,T),document.addEventListener(`keydown`,w)}),(0,t.onUnmounted)(()=>{document.removeEventListener(`click`,T),document.removeEventListener(`keydown`,w)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Pp,[(0,t.createElementVNode)(`div`,Fp,[(0,t.createElementVNode)(`div`,{ref_key:`chipsContainerRef`,ref:c,class:`flex-1 flex items-center gap-1 flex-wrap`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.filters,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,role:`button`,tabindex:`0`,class:`inline-flex items-center gap-1 px-2 py-1 text-[10px] bg-background border border-border rounded cursor-pointer hover:bg-muted/50 focus:outline-none focus:ring-1 focus:ring-ring`,onClick:t=>x(e),onKeydown:(0,t.withKeys)(t=>x(e),[`enter`])},[(0,t.createElementVNode)(`span`,Lp,(0,t.toDisplayString)(e.field),1),(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)((0,t.unref)(Hu)(e.mode)),1),(0,t.unref)(Vu)(e.mode)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Rp,`"`+(0,t.toDisplayString)(e.value)+`"`,1)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`button`,{type:`button`,class:`ml-1 hover:text-destructive shrink-0`,"aria-label":`Remove filter`,onClick:(0,t.withModifiers)(t=>i(`remove-filter`,e.id),[`stop`])},[(0,t.createVNode)((0,t.unref)(Qs),{class:`w-3 h-3`})],8,zp)],40,Ip))),128)),(0,t.createElementVNode)(`button`,{ref_key:`addBtnRef`,ref:s,class:`inline-flex items-center gap-1 px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded border border-dashed border-border`,onClick:r[0]||=e=>a.value?S():b()},[(0,t.createVNode)((0,t.unref)(Ys),{class:`w-3 h-3`}),r[7]||=(0,t.createTextVNode)(` Add filter `,-1)],512)],512),e.filters.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`text-[10px] text-muted-foreground hover:text-foreground flex-shrink-0`,onClick:r[1]||=e=>i(`clear-all`)},` Clear all `)):(0,t.createCommentVNode)(``,!0)]),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:o,"data-devtools-dropdown":``,class:`absolute top-full left-3 mt-1 w-72 bg-background border border-border rounded-md shadow-lg p-3 z-20`},[(0,t.createElementVNode)(`div`,Bp,[(0,t.createElementVNode)(`div`,null,[r[8]||=(0,t.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Field`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`select`,{"onUpdate:modelValue":r[2]||=e=>u.value=e,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(p.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,Vp))),128))],512),[[t.vModelSelect,u.value]])]),(0,t.createElementVNode)(`div`,null,[r[9]||=(0,t.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Operator`,-1),(0,t.withDirectives)((0,t.createElementVNode)(`select`,{"onUpdate:modelValue":r[3]||=e=>d.value=e,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)((0,t.unref)(Hu)(e)),9,Hp))),128))],512),[[t.vModelSelect,d.value]])]),(0,t.unref)(Vu)(d.value)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Up,[r[11]||=(0,t.createElementVNode)(`label`,{class:`text-[10px] font-medium text-muted-foreground`},`Value`,-1),_.value?(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`select`,{key:0,"onUpdate:modelValue":r[4]||=e=>f.value=e,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onKeyup:(0,t.withKeys)(C,[`enter`])},[...r[10]||=[(0,t.createElementVNode)(`option`,{value:`true`},`true`,-1),(0,t.createElementVNode)(`option`,{value:`false`},`false`,-1)]],544)),[[t.vModelSelect,f.value]]):v.value?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:1,value:f.value,type:`number`,placeholder:`Number...`,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onInput:r[5]||=e=>f.value=e.target.value,onKeyup:(0,t.withKeys)(C,[`enter`])},null,40,Wp)):(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:2,"onUpdate:modelValue":r[6]||=e=>f.value=e,type:`text`,placeholder:g.value?`val1, val2, ...`:`Enter value...`,class:`w-full mt-1 px-2 py-1 text-xs bg-muted border border-border rounded focus:outline-none focus:ring-1 focus:ring-ring`,onKeyup:(0,t.withKeys)(C,[`enter`])},null,40,Gp)),[[t.vModelText,f.value]])])):(0,t.createCommentVNode)(``,!0),g.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Kp,` Tip: Enter comma-separated values `)):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,qp,[(0,t.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] text-muted-foreground hover:text-foreground`,onClick:S},` Cancel `),(0,t.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] font-medium bg-primary text-primary-foreground rounded disabled:opacity-50`,disabled:!u.value||(0,t.unref)(Vu)(d.value)&&d.value!==`equals`&&d.value!==`not_equals`&&!f.value.trim(),onClick:C},(0,t.toDisplayString)(l.value?`Save`:`Add`),9,Jp)])])],512)):(0,t.createCommentVNode)(``,!0)]))}}),Xp={class:`flex items-center gap-2`},Zp={class:`text-xs font-medium`},Qp={class:`flex items-center gap-2 min-w-0 flex-1`},$p={class:`relative flex items-center gap-1.5 min-w-0`,"data-model-selector":``},em={class:`truncate`},tm={key:0,class:`text-[10px] text-muted-foreground font-mono ml-2 truncate hidden lg:inline`},nm={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`},rm={class:`py-1`},im=[`onClick`],am={class:`font-medium truncate min-w-0`},om={class:`text-muted-foreground flex-shrink-0 ml-2`},sm={class:`flex items-center gap-1 flex-shrink-0 min-w-0 max-w-[50%]`},cm=[`title`],lm={key:0,class:`truncate`},um={key:0,class:`border-b border-border bg-muted/30 max-h-64 overflow-y-auto scrollbar-thin`},dm={class:`p-3`},fm={class:`grid grid-cols-4 gap-4 text-xs`},pm={class:`space-y-1`},mm={class:`truncate min-w-0`},hm={class:`text-muted-foreground flex-shrink-0`},gm={key:0,class:`space-y-1.5`},_m={class:`font-medium`},vm={class:`text-[10px] text-blue-600 font-mono`},ym={key:1,class:`text-[10px] text-muted-foreground italic`},bm={key:0,class:`space-y-1.5`},xm={class:`font-medium font-mono`},Sm={class:`font-mono text-muted-foreground italic`},Cm={class:`font-mono text-muted-foreground`},wm={key:1,class:`text-[10px] text-muted-foreground italic`},Tm={class:`space-y-3`},Em={key:0,class:`space-y-1`},Dm={key:1,class:`text-[10px] text-muted-foreground italic`},Om={key:0,class:`space-y-1`},km={key:1,class:`text-[10px] text-muted-foreground italic`},Am=(0,t.defineComponent)({__name:`ModelHeader`,props:{currentModel:{},modelName:{},models:{},modelCounts:{},canWrite:{type:Boolean},selectedCount:{}},emits:[`switch-model`,`open-create`,`clear-selection`,`open-bulk-delete`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(!1),o=(0,t.ref)(!1),s=(0,t.ref)(null),c=(0,t.ref)(!1),l=null,u=e=>{a.value=!1,i(`switch-model`,e)},d=e=>{a.value&&(e.target.closest(`[data-model-selector]`)||(a.value=!1))},f=e=>{e.key===`Escape`&&a.value&&(a.value=!1)},p=e=>{if(!e?.modelClass)return{instanceMethods:[],staticMethods:[],getters:[]};let t=e.modelClass,n=new Set([`constructor`,`save`,`delete`,`update`,`reload`,`toJSON`,`toString`,`valueOf`,`hasOwnProperty`,`isPrototypeOf`,`propertyIsEnumerable`,`toLocaleString`,`__defineGetter__`,`__defineSetter__`,`__lookupGetter__`,`__lookupSetter__`,`_initStringSet`,`_getStringSet`,`_buildQuery`,`_buildUpdate`,...e.fields]),r=[],i=[],a=t.prototype,o=Object.getOwnPropertyDescriptors(a);for(let[e,t]of Object.entries(o))if(!(n.has(e)||e.startsWith(`_`))){if(t.get&&!t.set)i.push({name:e,type:`getter`,signature:`get ${e}`});else if(typeof t.value==`function`&&e!==`constructor`){let n=t.value.toString().match(/\(([^)]*)\)/),i=n?n[1]:``;r.push({name:e,type:`method`,signature:`${e}(${i})`})}}let s=[],c=Object.getOwnPropertyDescriptors(t),l=new Set(`length.name.prototype.find.findOne.all.where.count.first.last.create.update.delete.deleteAll.query.tableName.schema.modelName._schema._tableName._fields._relationships._options.caller.callee.arguments`.split(`.`));for(let[e,t]of Object.entries(c))if(!(l.has(e)||e.startsWith(`_`))&&typeof t.value==`function`){let n=t.value.toString().match(/\(([^)]*)\)/),r=n?n[1]:``;s.push({name:e,type:`static-method`,signature:`static ${e}(${r})`})}return{instanceMethods:r.sort((e,t)=>e.name.localeCompare(t.name)),staticMethods:s.sort((e,t)=>e.name.localeCompare(t.name)),getters:i.sort((e,t)=>e.name.localeCompare(t.name))}},m=(0,t.computed)(()=>p(r.currentModel??null)),h=(0,t.computed)(()=>{let e=m.value;return e.instanceMethods.length>0||e.staticMethods.length>0||e.getters.length>0}),g=(0,t.computed)(()=>{if(!r.currentModel)return[];let e=[];for(let[t,n]of r.currentModel.fieldInfo.entries())n.schema?.indexed&&e.push(t);return e.sort()});return(0,t.onMounted)(()=>{document.addEventListener(`click`,d),document.addEventListener(`keydown`,f),s.value&&(l=new ResizeObserver(e=>{for(let t of e)c.value=t.contentRect.width<400}),l.observe(s.value))}),(0,t.onUnmounted)(()=>{document.removeEventListener(`click`,d),document.removeEventListener(`keydown`,f),l?.disconnect()}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`div`,{ref_key:`headerRef`,ref:s,class:`flex-shrink-0 h-10 flex items-center justify-between px-3 border-b border-border relative`},[e.selectedCount>0&&e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,Xp,[(0,t.createElementVNode)(`span`,Zp,(0,t.toDisplayString)(e.selectedCount)+` selected `,1),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:r[0]||=e=>i(`clear-selection`)},` Clear `)]),(0,t.createElementVNode)(`button`,{class:`px-2 py-1 text-xs text-destructive hover:bg-destructive/10 rounded flex items-center gap-1`,onClick:r[1]||=e=>i(`open-bulk-delete`)},[(0,t.createVNode)((0,t.unref)(Zs),{class:`w-3.5 h-3.5`}),r[5]||=(0,t.createTextVNode)(` Delete `,-1)])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,Qp,[(0,t.createElementVNode)(`div`,$p,[(0,t.createElementVNode)(`button`,{class:`flex items-center gap-1.5 px-2 py-1 text-sm font-medium hover:bg-muted rounded min-w-0`,onClick:r[2]||=e=>a.value=!a.value},[(0,t.createElementVNode)(`span`,em,(0,t.toDisplayString)(e.currentModel?.name||e.modelName)+` model `,1),r[6]||=(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5 text-muted-foreground flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 9l-7 7-7-7`})],-1)]),e.currentModel?.sourcePath?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,tm,(0,t.toDisplayString)(e.currentModel.sourcePath),1)):(0,t.createCommentVNode)(``,!0),a.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,nm,[(0,t.createElementVNode)(`div`,rm,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.models,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n.tableName,class:(0,t.normalizeClass)([`w-full flex items-center justify-between px-3 py-1.5 text-xs text-left hover:bg-muted`,n.tableName===e.modelName?`bg-primary/5`:``]),onClick:e=>u(n.tableName)},[(0,t.createElementVNode)(`span`,am,(0,t.toDisplayString)(n.name)+` model `,1),(0,t.createElementVNode)(`span`,om,(0,t.toDisplayString)(e.modelCounts[n.tableName]??`...`),1)],10,im))),128))])])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded text-muted-foreground`,title:`Show model properties`,onClick:r[3]||=e=>o.value=!o.value},[...r[7]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})],-1)]])]),(0,t.createElementVNode)(`div`,sm,[e.canWrite?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:(0,t.normalizeClass)([`ml-1 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center min-w-0`,c.value?`p-1.5`:`px-2 py-1 gap-1`]),title:`New ${e.currentModel?.name||e.modelName}`,onClick:r[4]||=e=>i(`open-create`)},[r[8]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),c.value?(0,t.createCommentVNode)(``,!0):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,lm,` New `+(0,t.toDisplayString)(e.currentModel?.name||e.modelName),1))],10,cm)):(0,t.createCommentVNode)(``,!0)])],64))],512),o.value&&e.currentModel?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,um,[(0,t.createElementVNode)(`div`,dm,[(0,t.createElementVNode)(`div`,fm,[(0,t.createElementVNode)(`div`,null,[r[9]||=(0,t.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Schema `,-1),(0,t.createElementVNode)(`div`,pm,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.currentModel.fields.filter(e=>e!==`id`&&!e.startsWith(`_`)),n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`flex justify-between gap-2`},[(0,t.createElementVNode)(`span`,mm,(0,t.toDisplayString)(n),1),(0,t.createElementVNode)(`span`,hm,(0,t.toDisplayString)((0,t.unref)(rd)(e.currentModel,n)?.type||`string`),1)]))),128))])]),(0,t.createElementVNode)(`div`,null,[r[10]||=(0,t.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Relationships `,-1),e.currentModel.relationships&&Object.keys(e.currentModel.relationships).length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,gm,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.currentModel.relationships,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`flex items-center justify-between`},[(0,t.createElementVNode)(`span`,_m,(0,t.toDisplayString)(n),1),(0,t.createElementVNode)(`span`,vm,(0,t.toDisplayString)(e.type===`hasMany`?`←`:`→`)+` `+(0,t.toDisplayString)(e.model)+(0,t.toDisplayString)(e.type===`hasMany`?`[]`:``),1)]))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,ym,` None `))]),(0,t.createElementVNode)(`div`,null,[r[11]||=(0,t.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Methods `,-1),h.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bm,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value.instanceMethods,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.name},[(0,t.createElementVNode)(`span`,xm,(0,t.toDisplayString)(e.signature),1)]))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value.getters,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.name},[(0,t.createElementVNode)(`span`,Sm,(0,t.toDisplayString)(e.signature),1)]))),128)),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value.staticMethods,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.name},[(0,t.createElementVNode)(`span`,Cm,(0,t.toDisplayString)(e.signature),1)]))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,wm,` None `))]),(0,t.createElementVNode)(`div`,Tm,[(0,t.createElementVNode)(`div`,null,[r[12]||=(0,t.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Indexes `,-1),g.value.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Em,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(g.value,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e,class:`px-2 py-1 bg-muted rounded font-mono text-[10px]`},(0,t.toDisplayString)(e),1))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Dm,` None `))]),(0,t.createElementVNode)(`div`,null,[r[13]||=(0,t.createElementVNode)(`h4`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide mb-2`},` Unique Constraints `,-1),e.currentModel.uniqueConstraints&&e.currentModel.uniqueConstraints.length>0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Om,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.currentModel.uniqueConstraints,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.name,class:`px-2 py-1 bg-muted rounded font-mono text-[10px]`},(0,t.toDisplayString)(e.fields.join(`, `)),1))),128))])):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,km,` None `))])])])])])):(0,t.createCommentVNode)(``,!0)],64))}}),jm={class:`flex items-center gap-1.5 min-w-0`},Mm={class:`text-muted-foreground text-[10px] tabular-nums whitespace-nowrap`},Nm=[`value`],Pm=[`value`],Fm={class:`flex items-center gap-0.5`},Im=[`disabled`],Lm={class:`text-[10px] px-1 tabular-nums`},Rm={class:`text-muted-foreground`},zm=[`disabled`],Bm={class:`flex items-center gap-2`},Vm={class:`text-muted-foreground`},Hm=[`value`],Um=[`value`],Wm={class:`flex items-center gap-1`},Gm=[`disabled`],Km=[`onClick`],qm=[`disabled`],Jm=(0,t.defineComponent)({__name:`ModelPaginationBar`,props:{currentPage:{},totalCount:{},pageSize:{},totalPages:{}},emits:[`go-to-page`,`change-page-size`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)(null),o=(0,t.ref)(!1),s=null;(0,t.onMounted)(()=>{a.value&&(s=new ResizeObserver(e=>{for(let t of e)o.value=t.contentRect.width<480}),s.observe(a.value))}),(0,t.onUnmounted)(()=>{s?.disconnect()});let c=(0,t.computed)(()=>{let e=r.totalPages,t=r.currentPage,n=[];if(e<=5)for(let t=1;t<=e;t++)n.push(t);else{let r=Math.max(1,t-2),i=Math.min(e,r+5-1);i-r<4&&(r=Math.max(1,i-5+1));for(let e=r;e<=i;e++)n.push(e)}return n});return(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{ref_key:`barRef`,ref:a,class:(0,t.normalizeClass)([`flex-shrink-0 flex items-center justify-between py-2 border-t border-border bg-muted/20 text-xs`,o.value?`pl-2 pr-16 gap-2`:`pl-3 pr-16`])},[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[(0,t.createElementVNode)(`div`,jm,[(0,t.createElementVNode)(`span`,Mm,(0,t.toDisplayString)(e.totalCount===0?0:(e.currentPage-1)*e.pageSize+1)+`–`+(0,t.toDisplayString)(Math.min(e.currentPage*e.pageSize,e.totalCount))+` / `+(0,t.toDisplayString)(e.totalCount),1),(0,t.createElementVNode)(`select`,{class:`px-1 py-0.5 text-[10px] bg-background border border-border rounded`,value:e.pageSize,onChange:r[0]||=e=>i(`change-page-size`,Number(e.target.value))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(ed),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,Pm))),128))],40,Nm)]),(0,t.createElementVNode)(`div`,Fm,[(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded disabled:opacity-30`,disabled:e.currentPage<=1,title:`Previous page`,onClick:r[1]||=t=>i(`go-to-page`,e.currentPage-1)},[...r[6]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M15 19l-7-7 7-7`})],-1)]],8,Im),(0,t.createElementVNode)(`span`,Lm,[(0,t.createTextVNode)((0,t.toDisplayString)(e.currentPage),1),(0,t.createElementVNode)(`span`,Rm,`/`+(0,t.toDisplayString)(e.totalPages),1)]),(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded disabled:opacity-30`,disabled:e.currentPage>=e.totalPages,title:`Next page`,onClick:r[2]||=t=>i(`go-to-page`,e.currentPage+1)},[...r[7]||=[(0,t.createElementVNode)(`svg`,{class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5l7 7-7 7`})],-1)]],8,zm)])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`div`,Bm,[(0,t.createElementVNode)(`span`,Vm,` Showing `+(0,t.toDisplayString)(e.totalCount===0?0:(e.currentPage-1)*e.pageSize+1)+`-`+(0,t.toDisplayString)(Math.min(e.currentPage*e.pageSize,e.totalCount))+` of `+(0,t.toDisplayString)(e.totalCount),1),(0,t.createElementVNode)(`select`,{class:`px-1 py-0.5 text-[10px] bg-background border border-border rounded`,value:e.pageSize,onChange:r[3]||=e=>i(`change-page-size`,Number(e.target.value))},[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)((0,t.unref)(ed),e=>((0,t.openBlock)(),(0,t.createElementBlock)(`option`,{key:e,value:e},(0,t.toDisplayString)(e),9,Um))),128))],40,Hm),r[8]||=(0,t.createElementVNode)(`span`,{class:`text-muted-foreground`},`per page`,-1)]),(0,t.createElementVNode)(`div`,Wm,[(0,t.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:e.currentPage<=1,onClick:r[4]||=t=>i(`go-to-page`,e.currentPage-1)},` Previous `,8,Gm),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(c.value,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:n,class:(0,t.normalizeClass)([`px-2 py-1 rounded`,n===e.currentPage?`bg-primary text-primary-foreground`:`hover:bg-muted`]),onClick:e=>i(`go-to-page`,n)},(0,t.toDisplayString)(n),11,Km))),128)),(0,t.createElementVNode)(`button`,{class:`px-2 py-1 hover:bg-muted rounded disabled:opacity-50`,disabled:e.currentPage>=e.totalPages,onClick:r[5]||=t=>i(`go-to-page`,e.currentPage+1)},` Next `,8,qm)])],64))],2))}}),Ym=(0,t.defineComponent)({__name:`Input`,props:{defaultValue:{},modelValue:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:n}){let r=e,a=(0,i.useVModel)(r,`modelValue`,n,{passive:!0,defaultValue:r.defaultValue});return(e,n)=>(0,t.withDirectives)(((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{"onUpdate:modelValue":n[0]||=e=>(0,t.isRef)(a)?a.value=e:null,"data-slot":`input`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,r.class))},null,2)),[[t.vModelText,(0,t.unref)(a)]])}}),Xm=(0,t.defineComponent)({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(e,{emit:n}){let r=zt(e,n);return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Na),(0,t.mergeProps)({"data-slot":`select`},(0,t.unref)(r)),{default:(0,t.withCtx)(n=>[(0,t.renderSlot)(e.$slots,`default`,(0,t.normalizeProps)((0,t.guardReactiveProps)(n)))]),_:3},16))}}),Zm=(0,t.defineComponent)({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`popper`},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,a=n,o=zt((0,i.reactiveOmit)(r,`class`),a);return(n,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Qa),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ga),(0,t.mergeProps)({"data-slot":`select-content`},{...n.$attrs,...(0,t.unref)(o)},{class:(0,t.unref)(Q)(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--reka-select-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,e.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,r.class)}),{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(th)),(0,t.createVNode)((0,t.unref)(io),{class:(0,t.normalizeClass)((0,t.unref)(Q)(`p-1`,e.position===`popper`&&`h-[var(--reka-select-trigger-height)] w-full min-w-[var(--reka-select-trigger-width)] scroll-my-1`))},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(n.$slots,`default`)]),_:3},8,[`class`]),(0,t.createVNode)((0,t.unref)(eh))]),_:3},16,[`class`])]),_:3}))}}),Qm={class:`absolute right-2 flex size-3.5 items-center justify-center`},$m=(0,t.defineComponent)({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Rt((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ya),(0,t.mergeProps)({"data-slot":`select-item`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`span`,Qm,[(0,t.createVNode)((0,t.unref)(Xa),null,{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`indicator-icon`,{},()=>[(0,t.createVNode)((0,t.unref)(Ws),{class:`size-4`})])]),_:3})]),(0,t.createVNode)((0,t.unref)(Za),null,{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),eh=(0,t.defineComponent)({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Rt((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(eo),(0,t.mergeProps)({"data-slot":`select-scroll-down-button`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`flex cursor-default items-center justify-center py-1`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{},()=>[(0,t.createVNode)((0,t.unref)(Gs),{class:`size-4`})])]),_:3},16,[`class`]))}}),th=(0,t.defineComponent)({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e,r=Rt((0,i.reactiveOmit)(n,`class`));return(e,i)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(to),(0,t.mergeProps)({"data-slot":`select-scroll-up-button`},(0,t.unref)(r),{class:(0,t.unref)(Q)(`flex cursor-default items-center justify-center py-1`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`,{},()=>[(0,t.createVNode)((0,t.unref)(Ks),{class:`size-4`})])]),_:3},16,[`class`]))}}),nh=(0,t.defineComponent)({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(e){let n=e,r=Rt((0,i.reactiveOmit)(n,`class`,`size`));return(i,a)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(no),(0,t.mergeProps)({"data-slot":`select-trigger`,"data-size":e.size},(0,t.unref)(r),{class:(0,t.unref)(Q)(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,n.class)}),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(i.$slots,`default`),(0,t.createVNode)((0,t.unref)(Ka),{"as-child":``},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Gs),{class:`size-4 opacity-50`})]),_:1})]),_:3},16,[`data-size`,`class`]))}}),rh=(0,t.defineComponent)({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(ro),(0,t.mergeProps)({"data-slot":`select-value`},n),{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(e.$slots,`default`)]),_:3},16))}}),ih=[`title`,`onClick`],ah={class:`text-xs font-mono truncate`},oh={key:0,class:`w-3 h-3 flex-shrink-0 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},sh={key:1,class:`w-3 h-3 flex-shrink-0`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},ch=[`for`,`title`],lh={key:0,class:`opacity-50`},uh={key:0,class:`space-y-1.5 mt-1`},dh={key:0,class:`flex gap-1`},fh={key:0,class:`text-muted-foreground ml-2`},ph={class:`text-[10px] text-muted-foreground`},mh={key:1,class:`mt-1 space-y-1.5`},hh={class:`flex flex-wrap gap-1`},gh=[`onClick`],_h={key:0,class:`text-xs text-muted-foreground`},vh={class:`flex gap-1`},yh={key:2,class:`mt-1 space-y-1`},bh=[`id`,`value`,`onChange`],xh={key:0,class:`text-[10px] text-destructive`},Sh={key:1,class:`text-[10px] text-muted-foreground`},Ch={class:`flex items-center gap-1`},wh=[`onClick`],Th=[`onClick`],Eh={key:3,class:`mt-1 flex items-center gap-2`},Dh=[`id`,`checked`,`onChange`],Oh={class:`text-xs text-muted-foreground`},kh=(0,t.defineComponent)({__name:`RecordFormFields`,props:{modelInfo:{},formData:{},fields:{},excludeId:{type:Boolean,default:!1},relatedModelData:{},customIdFields:{},copiedId:{default:null},idPrefix:{default:`field`}},emits:[`update-field`,`copy-id`,`toggle-custom-id`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.ref)({}),o=(0,t.ref)(new Set);function s(e){let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=t}function c(e){if(!e)return!0;let t=new Date(e);return!isNaN(t.getTime())}let l=(0,t.computed)(()=>{let e={};for(let t of o.value){let n=r.formData[t];e[t]=c(n==null?``:String(n))}return e});function u(e,t){i(`update-field`,e,t)}function d(e){let t=a.value[e]?.trim();if(!t)return;let n=r.formData[e]||[];n.includes(t)||i(`update-field`,e,[...n,t]),a.value[e]=``}function f(e,t){i(`update-field`,e,(r.formData[e]||[]).filter(e=>e!==t))}function p(e){if(!e)return``;try{let t=new Date(String(e));return isNaN(t.getTime())?``:`${t.getFullYear().toString().padStart(4,`0`)}-${(t.getMonth()+1).toString().padStart(2,`0`)}-${t.getDate().toString().padStart(2,`0`)}`}catch{return``}}function m(e){if(!e)return``;try{let[t,n,r]=e.split(`-`).map(Number),i=new Date(0);return i.setFullYear(t,n-1,r),i.setHours(0,0,0,0),isNaN(i.getTime())?``:i.toISOString()}catch{return``}}return(n,r)=>((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.excludeId?e.fields.filter(e=>e!==`id`):e.fields,n=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,class:`min-w-0`},[n===`id`&&!e.excludeId?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[r[2]||=(0,t.createElementVNode)(`label`,{class:`text-xs text-muted-foreground`},`id`,-1),(0,t.createElementVNode)(`button`,{class:`mt-1 flex items-center gap-1 min-w-0 p-0.5 -ml-0.5 hover:bg-muted rounded text-muted-foreground cursor-pointer`,title:`Click to copy: ${e.formData[n]}`,onClick:t=>i(`copy-id`,String(e.formData[n]))},[(0,t.createElementVNode)(`code`,ah,(0,t.toDisplayString)(e.formData[n]),1),e.copiedId===String(e.formData[n])?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,oh,[...r[0]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,sh,[...r[1]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,ih)],64)):n!==`id`||!e.excludeId?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createElementVNode)(`label`,{for:`${e.idPrefix}-${n}`,class:`text-xs text-muted-foreground block truncate`,title:n},[(0,t.createTextVNode)((0,t.toDisplayString)(n)+` `,1),n.startsWith(`_`)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,lh,`(hidden)`)):(0,t.createCommentVNode)(``,!0)],8,ch),(0,t.unref)(Yu)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,uh,[e.customIdFields.has(n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,dh,[(0,t.createVNode)((0,t.unref)(Ym),{id:`${e.idPrefix}-${n}`,"model-value":e.formData[n]||``,placeholder:`Enter new ID...`,class:`h-8 text-xs flex-1`,"onUpdate:modelValue":e=>u(n,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`]),(0,t.createVNode)((0,t.unref)(Ms),{type:`button`,variant:`ghost`,size:`sm`,class:`h-8 w-8 p-0`,title:`Back to dropdown`,onClick:e=>i(`toggle-custom-id`,n,!1)},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Qs),{class:`h-3 w-3`})]),_:1},8,[`onClick`])])):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Xm),{key:1,"model-value":e.formData[n]||``,"onUpdate:modelValue":e=>{e===`__custom_id__`?(i(`toggle-custom-id`,n,!0),u(n,``)):e===`__null__`?u(n,null):u(n,e)}},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(nh),{id:`${e.idPrefix}-${n}`,class:`h-8 text-xs`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(rh),{placeholder:`Select a record...`})]),_:1},8,[`id`]),(0,t.createVNode)((0,t.unref)(Zm),null,{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.relatedModelData[(0,t.unref)(Yu)(e.modelInfo,n)?.relatedModel??``]||[],e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)($m),{key:e.id,value:e.id},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)((0,t.toDisplayString)(e.id)+` `,1),e.name||e.title?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,fh,` (`+(0,t.toDisplayString)(e.name||e.title)+`) `,1)):(0,t.createCommentVNode)(``,!0)]),_:2},1032,[`value`]))),128)),(0,t.createVNode)((0,t.unref)($m),{value:`__custom_id__`,class:`text-primary`},{default:(0,t.withCtx)(()=>[...r[3]||=[(0,t.createTextVNode)(` + Add new ID `,-1)]]),_:1}),e.formData[n]?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)($m),{key:0,value:`__null__`,class:`text-destructive`},{default:(0,t.withCtx)(()=>[...r[4]||=[(0,t.createTextVNode)(` Set null `,-1)]]),_:1})):(0,t.createCommentVNode)(``,!0)]),_:2},1024)]),_:2},1032,[`model-value`,`onUpdate:modelValue`])),(0,t.createElementVNode)(`div`,ph,` → `+(0,t.toDisplayString)((0,t.unref)(Yu)(e.modelInfo,n)?.relatedModel),1)])):(0,t.unref)(id)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,mh,[(0,t.createElementVNode)(`div`,hh,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.formData[n]||[],e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:`inline-flex items-center gap-1 px-2 py-0.5 text-xs bg-muted rounded`},[(0,t.createTextVNode)((0,t.toDisplayString)(e)+` `,1),(0,t.createElementVNode)(`button`,{type:`button`,class:`hover:text-destructive`,onClick:t=>f(n,e)},[(0,t.createVNode)((0,t.unref)(Qs),{class:`h-3 w-3`})],8,gh)]))),128)),!e.formData[n]||e.formData[n].length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,_h,` No items `)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,vh,[(0,t.createVNode)((0,t.unref)(Ym),{id:`${e.idPrefix}-stringset-${n}`,modelValue:a.value[n],"onUpdate:modelValue":e=>a.value[n]=e,placeholder:`Add item...`,class:`flex-1 h-8 text-xs`,onKeyup:(0,t.withKeys)(e=>d(n),[`enter`])},null,8,[`id`,`modelValue`,`onUpdate:modelValue`,`onKeyup`]),(0,t.createVNode)((0,t.unref)(Ms),{type:`button`,variant:`outline`,size:`sm`,class:`h-8 px-2 text-xs`,onClick:e=>d(n)},{default:(0,t.withCtx)(()=>[...r[5]||=[(0,t.createTextVNode)(` Add `,-1)]]),_:1},8,[`onClick`])])])):(0,t.unref)(ad)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,yh,[o.value.has(n)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createVNode)((0,t.unref)(Ym),{id:`${e.idPrefix}-${n}`,"model-value":String(e.formData[n]??``),placeholder:`e.g. 2024-01-15T00:00:00.000Z`,class:(0,t.normalizeClass)([`h-8 text-xs font-mono`,{"border-destructive focus-visible:ring-destructive/50":e.formData[n]&&!l.value[n]}]),"onUpdate:modelValue":e=>u(n,e||void 0)},null,8,[`id`,`model-value`,`class`,`onUpdate:modelValue`]),e.formData[n]&&!l.value[n]?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,xh,` Invalid date — use ISO 8601 format `)):e.formData[n]&&l.value[n]?((0,t.openBlock)(),(0,t.createElementBlock)(`p`,Sh,(0,t.toDisplayString)(new Date(e.formData[n]).toLocaleDateString(void 0,{weekday:`short`,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`})),1)):(0,t.createCommentVNode)(``,!0)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:0,id:`${e.idPrefix}-${n}`,type:`date`,value:p(e.formData[n]),class:`flex h-8 w-full rounded-md border border-input bg-transparent px-3 py-1 text-xs shadow-xs transition-colors focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:border-ring`,onChange:e=>u(n,m(e.target.value)||void 0)},null,40,bh)),(0,t.createElementVNode)(`div`,Ch,[(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors`,o.value.has(n)?`text-muted-foreground hover:text-foreground hover:bg-muted`:`bg-primary text-primary-foreground`]),onClick:()=>{o.value.has(n)&&s(n)}},` Picker `,10,wh),(0,t.createElementVNode)(`button`,{type:`button`,class:(0,t.normalizeClass)([`text-[10px] px-1.5 py-0.5 rounded font-medium transition-colors`,o.value.has(n)?`bg-primary text-primary-foreground`:`text-muted-foreground hover:text-foreground hover:bg-muted`]),onClick:()=>{o.value.has(n)||s(n)}},` ISO `,10,Th)])])):(0,t.unref)(sd)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Eh,[(0,t.createElementVNode)(`input`,{id:`${e.idPrefix}-${n}`,type:`checkbox`,class:`w-4 h-4 rounded border-border`,checked:!!e.formData[n],onChange:e=>u(n,e.target.checked)},null,40,Dh),(0,t.createElementVNode)(`span`,Oh,(0,t.toDisplayString)(e.formData[n]?`Yes`:`No`),1)])):(0,t.unref)(od)(e.modelInfo,n)?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ym),{key:4,id:`${e.idPrefix}-${n}`,type:`number`,"model-value":String(e.formData[n]??``),class:`mt-1 h-8 text-xs`,"onUpdate:modelValue":e=>u(n,e===``?void 0:Number(e))},null,8,[`id`,`model-value`,`onUpdate:modelValue`])):(0,t.unref)(Xu)(e.formData[n])||(0,t.unref)(qu)(e.formData[n])===`textarea`?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Np),{key:5,id:`${e.idPrefix}-${n}`,"model-value":typeof e.formData[n]==`object`?(0,t.unref)(zu)(e.formData[n],2):String(e.formData[n]??``),rows:`4`,class:`mt-1 font-mono text-xs resize-vertical`,"onUpdate:modelValue":e=>u(n,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`])):((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Np),{key:6,id:`${e.idPrefix}-${n}`,"model-value":String(e.formData[n]??``),rows:`1`,class:`mt-1 text-xs min-h-[2rem] resize-vertical`,"onUpdate:modelValue":e=>u(n,e)},null,8,[`id`,`model-value`,`onUpdate:modelValue`]))],64)):(0,t.createCommentVNode)(``,!0)]))),128))}}),Ah=(0,t.defineComponent)({__name:`Table`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`table`,{"data-slot":`table`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`w-full caption-bottom text-sm`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),jh=(0,t.defineComponent)({__name:`TableBody`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tbody`,{"data-slot":`table-body`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`[&_tr:last-child]:border-0`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),Mh=(0,t.defineComponent)({__name:`TableCell`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`td`,{"data-slot":`table-cell`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),Nh=(0,t.defineComponent)({__name:`TableRow`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`tr`,{"data-slot":`table-row`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),Ph=(0,t.defineComponent)({__name:`TableHead`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`th`,{"data-slot":`table-head`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),Fh=(0,t.defineComponent)({__name:`TableHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`thead`,{"data-slot":`table-header`,class:(0,t.normalizeClass)((0,t.unref)(Q)(`[&_tr]:border-b`,n.class))},[(0,t.renderSlot)(e.$slots,`default`)],2))}}),Ih={class:`flex-1 relative min-h-[200px]`},Lh=[`checked`,`indeterminate`],Rh=[`title`,`onClick`],zh={class:`truncate`},Bh={key:0,class:`text-primary font-bold text-xs flex-shrink-0`},Vh=[`title`],Hh=[`checked`,`onChange`],Uh={class:`truncate`},Wh=[`title`,`onClick`],Gh={class:`overflow-hidden whitespace-nowrap`},Kh={key:0,class:`w-3 h-3 flex-shrink-0 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},qh={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`},Jh={key:1,class:`text-[10px] font-mono text-muted-foreground/50`},Yh={key:2,class:`flex gap-0.5 overflow-hidden`},Xh={key:0,class:`text-[9px] text-muted-foreground shrink-0`},Zh={key:0},Qh=[`checked`],$h={key:5,class:`text-xs bg-muted px-1 py-0.5 rounded`},eg={class:`flex items-center gap-0.5`},tg=[`onClick`],ng=[`onClick`],rg={key:0,class:`absolute inset-0 flex items-center justify-center pointer-events-none`,style:{top:`1.5rem`}},ig=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})((0,t.defineComponent)({__name:`RecordTable`,props:{records:{},modelInfo:{},canWrite:{type:Boolean},showHiddenFields:{type:Boolean},loadedData:{},sorting:{},selectedRecordIds:{},highlightedRecordId:{}},emits:[`edit-record`,`delete-record`,`toggle-column-sort`,`toggle-record-selection`,`toggle-select-all`],setup(e,{emit:n}){let r=e,i=n,a=(0,t.computed)(()=>Ju(r.modelInfo,r.loadedData,r.showHiddenFields)),o=(0,t.computed)(()=>r.selectedRecordIds.size===0?!1:r.selectedRecordIds.size===r.records.length?!0:`indeterminate`),s=(0,t.ref)(null),c=null,l=async e=>{try{await navigator.clipboard.writeText(e)}catch{let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}s.value=e,c&&clearTimeout(c),c=setTimeout(()=>{s.value=null},1500)},u=e=>ld(r.modelInfo,e),d=e=>!r.sorting||r.sorting.field!==e?``:dd(r.sorting.direction),f=(e,t=8)=>{let n=String(e??``);return n.length<=t?n:`…`+n.slice(-t)},p=e=>e===`id`?`120px`:sd(r.modelInfo,e)?`60px`:ad(r.modelInfo,e)?`110px`:id(r.modelInfo,e)?`160px`:`180px`,m=(0,t.ref)(null),h=(0,t.ref)(null),g=(0,t.ref)(!1),_=null,v=e=>{if(h.value===e)return{backgroundColor:g.value?`transparent`:`rgba(250, 204, 21, 0.35)`,transition:`background-color 2s ease-out`}};return(0,t.watch)(()=>r.highlightedRecordId,async e=>{if(!e)return;g.value=!1,h.value=e,await(0,t.nextTick)();let n=m.value?.querySelector(`tr[data-highlight-id="${e}"]`);n&&n.scrollIntoView({block:`nearest`,behavior:`smooth`}),_&&clearTimeout(_),_=setTimeout(()=>{g.value=!0,_=setTimeout(()=>{h.value=null,g.value=!1},2200)},600)}),(n,r)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Ih,[(0,t.createElementVNode)(`div`,{ref_key:`tableContainer`,ref:m,class:`absolute inset-0 overflow-auto`},[(0,t.createVNode)((0,t.unref)(Ah),{class:`text-xs`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Fh),{class:`sticky top-0 z-10 bg-muted`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Nh),null,{default:(0,t.withCtx)(()=>[e.canWrite?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ph),{key:0,class:`w-8 px-2`},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:o.value===!0,indeterminate:o.value===`indeterminate`,onChange:r[0]||=e=>i(`toggle-select-all`)},null,40,Lh)]),_:1})):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,e=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ph),{key:e,class:`px-2 text-left font-medium text-muted-foreground overflow-hidden`,style:(0,t.normalizeStyle)({width:p(e),minWidth:p(e),maxWidth:p(e)})},{default:(0,t.withCtx)(()=>[u(e)?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`flex items-center gap-0.5 hover:text-foreground max-w-full min-w-0`,title:e,onClick:t=>i(`toggle-column-sort`,e)},[(0,t.createElementVNode)(`span`,zh,(0,t.toDisplayString)(e),1),d(e)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Bh,(0,t.toDisplayString)(d(e)),1)):(0,t.createCommentVNode)(``,!0)],8,Rh)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:1,class:`truncate block`,title:e},(0,t.toDisplayString)(e),9,Vh))]),_:2},1032,[`style`]))),128)),e.canWrite?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Ph),{key:1,class:`w-0 p-0`})):(0,t.createCommentVNode)(``,!0)]),_:1})]),_:1}),(0,t.createVNode)((0,t.unref)(jh),null,{default:(0,t.withCtx)(()=>[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(e.records,n=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Nh),{key:n.id,class:(0,t.normalizeClass)(`hover:bg-muted/30 group border-none`),style:(0,t.normalizeStyle)(v(n.id)),"data-highlight-id":n.id,onClick:e=>i(`edit-record`,n)},{default:(0,t.withCtx)(()=>[e.canWrite?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Mh),{key:0,class:`px-2 w-8`,onClick:r[1]||=(0,t.withModifiers)(()=>{},[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:e.selectedRecordIds.has(n.id),onChange:e=>i(`toggle-record-selection`,n.id)},null,40,Hh)]),_:2},1024)):(0,t.createCommentVNode)(``,!0),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,i=>((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Mh),{key:i,class:`px-2 overflow-hidden`,style:(0,t.normalizeStyle)({width:p(i),minWidth:p(i),maxWidth:p(i)})},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,Uh,[i===`id`?((0,t.openBlock)(),(0,t.createElementBlock)(`button`,{key:0,class:`flex items-center gap-1 text-[10px] text-muted-foreground font-mono hover:text-foreground max-w-[80px]`,title:`Click to copy: ${n[i]}`,onClick:(0,t.withModifiers)(e=>l(String(n[i])),[`stop`])},[(0,t.createElementVNode)(`span`,Gh,(0,t.toDisplayString)(f(n[i])),1),s.value===String(n[i])?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Kh,[...r[3]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,qh,[...r[4]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))],8,Wh)):n[i]==null?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Jh,`NULL`)):(0,t.unref)(id)(e.modelInfo,i)?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Yh,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(n[i]&&typeof n[i].toArray==`function`?n[i].toArray().slice(0,3):[],e=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{key:e,class:`px-1 text-[9px] bg-muted rounded truncate shrink-0`},(0,t.toDisplayString)(e),1))),128)),n[i]&&typeof n[i].toArray==`function`&&n[i].toArray().length>3?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Xh,` +`+(0,t.toDisplayString)(n[i].toArray().length-3),1)):(0,t.createCommentVNode)(``,!0)])):(0,t.unref)(ad)(e.modelInfo,i)?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:3},[n[i]?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Zh,(0,t.toDisplayString)(new Date(n[i]).toLocaleDateString()),1)):(0,t.createCommentVNode)(``,!0)],64)):(0,t.unref)(sd)(e.modelInfo,i)?((0,t.openBlock)(),(0,t.createElementBlock)(`input`,{key:4,type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:!!n[i],disabled:``},null,8,Qh)):(0,t.unref)(Xu)(n[i])?((0,t.openBlock)(),(0,t.createElementBlock)(`code`,$h,(0,t.toDisplayString)((0,t.unref)(zu)(n[i]).slice(0,50))+(0,t.toDisplayString)((0,t.unref)(zu)(n[i]).length>50?`...`:``),1)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:6},[(0,t.createTextVNode)((0,t.toDisplayString)(n[i]),1)],64))])]),_:2},1032,[`style`]))),128)),e.canWrite?((0,t.openBlock)(),(0,t.createBlock)((0,t.unref)(Mh),{key:1,class:`px-2 sticky right-0 group-hover:bg-white`,onClick:r[2]||=(0,t.withModifiers)(()=>{},[`stop`])},{default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,eg,[(0,t.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground`,title:`Edit`,onClick:e=>i(`edit-record`,n)},[(0,t.createVNode)((0,t.unref)(Xs),{class:`w-3.5 h-3.5`})],8,tg),(0,t.createElementVNode)(`button`,{class:`p-0.5 opacity-0 group-hover:opacity-100 hover:bg-muted rounded text-muted-foreground hover:text-destructive`,title:`Delete`,onClick:e=>i(`delete-record`,n.id)},[(0,t.createVNode)((0,t.unref)(Zs),{class:`w-3.5 h-3.5`})],8,ng)])]),_:2},1024)):(0,t.createCommentVNode)(``,!0)]),_:2},1032,[`style`,`data-highlight-id`,`onClick`]))),128))]),_:1})]),_:1})],512),e.records.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,rg,[...r[5]||=[(0,t.createElementVNode)(`span`,{class:`text-muted-foreground text-xs`},`No records found`,-1)]])):(0,t.createCommentVNode)(``,!0)]))}}),[[`__scopeId`,`data-v-8b45a90c`]]),ag=u.forScope(`ModelPagination`);function og(e,n,r,i){let a=(0,t.ref)([]),o=(0,t.ref)(!1),s=(0,t.ref)(td()),c=(0,t.ref)({currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}),l=(0,t.computed)(()=>Math.max(1,Math.ceil(c.value.totalCount/s.value))),u=(0,t.computed)(()=>{let e=l.value,t=c.value.currentPage,n=[];if(e<=5)for(let t=1;t<=e;t++)n.push(t);else{let r=Math.max(1,t-2),i=Math.min(e,r+5-1);i-r<4&&(r=Math.max(1,i-5+1));for(let e=r;e<=i;e++)n.push(e)}return n}),d=async(e,t=1,a=null)=>{try{let o=e.modelClass,l=$u(r.value),u=n.value,d={documents:u},f=await o.count(l,d),p=ud(i.value),m={limit:s.value,sort:p,documents:u};a&&(m.uniqueStartKey=a);let h=await o.query(l,m);return c.value.currentPage=t,c.value.totalCount=f,c.value.hasMore=h.hasMore??!1,c.value.nextCursor=h.nextCursor??null,c.value.prevCursor=h.prevCursor??null,h.nextCursor&&t>=1&&c.value.pageCursors.set(t+1,h.nextCursor),{data:h.data||[],totalCount:f,hasMore:h.hasMore??!1,nextCursor:h.nextCursor??null,prevCursor:h.prevCursor??null}}catch(t){return ag.error(`Error loading ${e.name}:`,t),U(`Failed to load ${e.name} records: `+W(t)),{data:[],totalCount:0,hasMore:!1,nextCursor:null,prevCursor:null}}},f=async(t=1)=>{if(!e.value)return;let n=await d(e.value,1,null);a.value=n.data,o.value=!0,ag.debug(`Loaded model data:`,{model:e.value.name,totalRecords:n.totalCount}),t>1&&n.totalCount>0&&t<=Math.ceil(n.totalCount/s.value)&&await p(t)},p=async t=>{if(!e.value)return;let n=Math.ceil(c.value.totalCount/s.value);if(t<1||t>n)return;let r=null;if(t>1&&(r=c.value.pageCursors.get(t)??null,!r)){let n=1,i=null;for(let e=t-1;e>=1;e--)if(c.value.pageCursors.has(e)){n=e,i=c.value.pageCursors.get(e)??null;break}for(let r=n;r<t&&(i=(await d(e.value,r,i)).nextCursor,i);r++);r=i}a.value=(await d(e.value,t,r)).data};return{records:a,initialDataLoaded:o,paginationState:c,pageSize:s,totalPages:l,visiblePageNumbers:u,loadModelData:d,loadInitialData:f,goToPage:p,goToPrevPage:()=>p(c.value.currentPage-1),goToNextPage:()=>p(c.value.currentPage+1),goToPageContainingRecord:async t=>{if(!e.value)return!1;c.value={currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])};let n=await d(e.value,1,null);if(n.data.some(e=>e.id===t))return a.value=n.data,!0;let r=Math.ceil(n.totalCount/s.value);for(let i=2;i<=r;i++){let r=c.value.pageCursors.get(i)??null;if(r===null&&i>2)break;if(n=await d(e.value,i,r),n.data.some(e=>e.id===t))return a.value=n.data,!0}return a.value=n.data,!1},handlePageSizeChange:async t=>{s.value=t,nd(t),e.value&&(c.value={currentPage:1,totalCount:c.value.totalCount,pageSize:t,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])},a.value=(await d(e.value,1,null)).data)},reloadModelData:async()=>{e.value&&(c.value={currentPage:1,totalCount:0,pageSize:s.value,nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])},a.value=(await d(e.value,1,null)).data)}}}var sg=u.forScope(`RecordCrud`);function cg(e,n,r,i,a){let o=(0,t.ref)(!1),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.ref)(null),u=(0,t.ref)(!1),d=(0,t.ref)(!1),f=(0,t.ref)({}),p=(0,t.ref)(null),m=(0,t.ref)({}),h=(0,t.ref)(new Set),g=t=>{if(e.value){p.value=t;try{f.value=JSON.parse(JSON.stringify(t))}catch{let e={};for(let n of Object.getOwnPropertyNames(t))try{e[n]=t[n]}catch{}for(let n of Object.keys(t))if(!(n in e))try{e[n]=t[n]}catch{}f.value=e}for(let n of Object.keys(f.value))id(e.value,n)&&(f.value[n]=cd(t[n]));h.value=new Set,o.value=!0,w()}},_=()=>{e.value&&(f.value={},h.value=new Set,s.value=!0,w())},v=async()=>{if(e.value)try{let t=e.value.modelClass,n=p.value?await t.find(p.value.id):null;if(n){let t={},r={};for(let[n,i]of Object.entries(f.value))id(e.value,n)?r[n]=i||[]:t[n]=i;Object.assign(n,t);for(let[e,t]of Object.entries(r)){let r=n[e];if(r&&typeof r.clear==`function`){r.clear();for(let e of t)r.add(e)}}await n.save()}o.value=!1,s.value=!1}catch(e){sg.error(`Error saving record:`,e),U(`Failed to save record: `+W(e))}},y=async()=>{if(!e.value)return null;d.value=!0;try{let t={},r={};for(let[n,i]of Object.entries(f.value))id(e.value,n)?r[n]=i||[]:t[n]=i;let i=e.value.modelClass,a=new i(t);for(let[e,t]of Object.entries(r)){let n=a[e];if(n&&typeof n.add==`function`)for(let e of t)n.add(e)}await a.save({targetDocument:n.value??void 0});let o=a.id??null;return o?(s.value=!1,f.value={},o):(U(`Failed to create record: no ID was returned after save`),null)}catch(e){return sg.error(`Error creating record:`,e),U(`Failed to create record: `+W(e)),null}finally{d.value=!1}},b=async()=>{if(!(!l.value||!e.value)){u.value=!0;try{let t=await e.value.modelClass.find(l.value);t&&(await t.delete(),l.value=null)}catch(e){sg.error(`Error deleting record:`,e),U(`Failed to delete record: `+W(e))}finally{u.value=!1}}},x=async t=>{if(!e.value||t.size===0)return{success:!1};let n=Array.from(t);try{let t=e.value.modelClass;for(let e=0;e<n.length;e++){let r=n[e],i=await t.find(r);i&&await i.delete(),e%5==4&&await new Promise(e=>setTimeout(e,0))}return sg.debug(`Deleted ${n.length} records from ${e.value.tableName}`),c.value=!1,{success:!0}}catch(e){return sg.error(`Error deleting records:`,e),U(`Failed to delete records: `+W(e)),{success:!1}}},S=(e,t)=>{f.value={...f.value,[e]:t}},C=(e,t)=>{if(t)h.value=new Set([...h.value,e]),S(e,``);else{let t=new Set(h.value);t.delete(e),h.value=t}},w=async()=>{if(!e.value?.relationships)return;let t=n.value,r={};for(let n of Object.values(e.value.relationships)){if(n.type!==`refersTo`||!n.model||r[n.model])continue;let e=a.value.find(e=>e.tableName===n.model);if(e)try{let i=await e.modelClass.query({},{documents:t,limit:500});r[n.model]=i.data||[]}catch(e){sg.error(`Error loading related model data for ${n.model}:`,e),r[n.model]=[],U(`Failed to load related ${n.model} data: `+W(e))}}m.value=r};return{editDialogOpen:o,createDialogOpen:s,bulkDeleteDialogOpen:c,deleteRecordId:l,isDeleting:u,isCreating:d,editFormData:f,selectedRecord:p,relatedModelData:m,customIdFields:h,openEditDialog:g,openCreateDialog:_,handleSaveRecord:v,handleCreateRecord:y,handleDeleteRecord:b,handleBulkDeleteRecords:x,updateFormField:S,handleToggleCustomId:C,loadRelatedModelData:w}}var lg={class:`h-full flex flex-col min-w-0`},ug={key:0,class:`flex-1 flex items-center justify-center`},dg={class:`text-center py-12 px-8`},fg={class:`text-muted-foreground`},pg={class:`flex-1 flex flex-col min-h-0`},mg={class:`space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1`},hg={class:`space-y-3 overflow-y-auto overflow-x-hidden flex-1 pr-4 py-1 -my-1 px-1 -mx-1`},gg={key:0,class:`w-3 h-3 border-2 border-current border-t-transparent rounded-full animate-spin mr-1`},_g={class:`flex-1 flex flex-col min-h-0 gap-4`},vg={class:`flex items-center gap-2`},yg=(0,t.defineComponent)({__name:`DocumentExplorerModel`,props:{modelName:{},documentPermission:{}},emits:[`back`,`switchModel`],setup(e,{emit:n}){let r=u.forScope(`DocumentExplorerModel`),i=e,a=(0,t.computed)(()=>i.documentPermission!==`reader`),o=n,s=(0,t.computed)(()=>i.modelName),c=Qe(),l=(0,t.computed)(()=>c.currentDocumentId),d=(0,t.computed)(()=>Ru()),f=(0,t.computed)(()=>d.value.find(e=>e.tableName===s.value)),p=(0,t.ref)({}),m=async()=>{if(!l.value)return;let e={};for(let t of d.value)try{let n=t.modelClass;e[t.tableName]=await n.count({},{documents:l.value})}catch(n){r.debug(`Could not load count for ${t.tableName}:`,n),e[t.tableName]=0}p.value=e},h=(0,t.computed)({get:()=>c.showHiddenFields,set:e=>{c.showHiddenFields=e}}),g=(0,t.ref)([]),_=(0,t.ref)(null),{records:v,initialDataLoaded:y,paginationState:b,pageSize:x,totalPages:S,loadModelData:C,loadInitialData:w,goToPage:T,goToPageContainingRecord:E,handlePageSizeChange:D,reloadModelData:O}=og(f,l,g,_),k=(0,t.computed)(()=>f.value?{[f.value.tableName]:v.value}:{}),{editDialogOpen:A,createDialogOpen:j,bulkDeleteDialogOpen:M,deleteRecordId:N,isDeleting:ee,isCreating:te,editFormData:P,relatedModelData:ne,customIdFields:F,openEditDialog:re,openCreateDialog:I,handleSaveRecord:L,handleCreateRecord:R,handleDeleteRecord:z,handleBulkDeleteRecords:ie,updateFormField:B,handleToggleCustomId:ae}=cg(f,l,h,k,d),V=(0,t.ref)(new Set),oe=e=>{let t=new Set(V.value);t.has(e)?t.delete(e):t.add(e),V.value=t},se=()=>{V.value=V.value.size===v.value.length?new Set:new Set(v.value.map(e=>e.id))},ce=()=>{V.value=new Set},le=(0,t.ref)(null),ue=null,de=e=>{ue&&clearTimeout(ue),le.value=e,ue=setTimeout(()=>{le.value=null},5200)},H=(0,t.ref)(!1),fe=(0,t.ref)(``),pe=(0,t.ref)(null),me=(0,t.ref)(!1),he=(0,t.computed)(()=>{let e=pe.value;if(e==null)return``;if(typeof e==`object`)return zu(e,me.value?2:void 0);let t=String(e);if(me.value)try{if(t.startsWith(`{`)||t.startsWith(`[`))return JSON.stringify(JSON.parse(t),null,2)}catch{}return t}),ge=e=>{let t=String(e);pe.value=t,P.value&&fe.value&&(P.value[fe.value]=t)},_e=()=>{if(!f.value)return;let e={page:b.value.currentPage,filters:g.value.map(e=>({id:e.id,field:e.field,mode:e.mode,value:e.value})),sorts:_.value?{field:_.value.field,direction:_.value.direction}:null};hd(f.value.tableName,e)},ve=async e=>{let t=e.value.trim();if(g.value.some(n=>n.field===e.field&&n.mode===e.mode&&n.value.trim()===t)){et(`This filter is already applied.`);return}g.value.push({id:Zu(),...e}),await O()},ye=async e=>{g.value=g.value.filter(t=>t.id!==e),await O()},be=async e=>{let t=g.value.findIndex(t=>t.id===e.id);t!==-1&&(g.value[t]=e),await O()},xe=async()=>{g.value=[],await O()},Se=async e=>{if(!f.value||!ld(f.value,e))return;let t=_.value;t&&t.field===e?t.direction===1?_.value={field:e,direction:-1}:_.value=null:_.value={field:e,direction:1},await O()},Ce=(0,t.ref)(!1),we=async()=>{Ce.value=!0,await(0,t.nextTick)(),await new Promise(e=>requestAnimationFrame(e)),(await ie(V.value)).success&&ce(),Ce.value=!1},Te=async()=>{je=!0;try{let e=await R();e&&(await E(e),de(e))}finally{je=!1}},Ee=(0,t.ref)(null),De=null,Oe=async e=>{try{await navigator.clipboard.writeText(e)}catch{let t=document.createElement(`textarea`);t.value=e,document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t)}Ee.value=e,De&&clearTimeout(De),De=setTimeout(()=>{Ee.value=null},1500)},ke=(0,t.computed)(()=>f.value?Ju(f.value,k.value,h.value):[]);(0,t.watch)(()=>f.value,()=>{if(f.value){let e=md(f.value.tableName);g.value=e?.filters?e.filters:[],_.value=e?.sorts?e.sorts:null,w(e?.page??1),m()}},{immediate:!0}),(0,t.watch)(()=>b.value.totalCount,e=>{f.value&&(p.value={...p.value,[f.value.tableName]:e})}),(0,t.watch)([g,_,()=>b.value.currentPage],()=>_e(),{deep:!0}),(0,t.watch)(()=>c.isDocumentReady,e=>{e&&f.value&&w()});let Ae=null,je=!1;function Me(){if(Ae){try{Ae()}catch{}Ae=null}if(!f.value)return;let e=f.value.modelClass;e&&typeof e.subscribe==`function`&&(Ae=e.subscribe(()=>{if(!je&&f.value){let e=b.value.currentPage>1?b.value.pageCursors.get(b.value.currentPage)??null:null;C(f.value,b.value.currentPage,e).then(e=>{v.value=e.data,e.data.length===0&&b.value.currentPage>1&&T(b.value.currentPage-1)})}}),r.debug(`Subscribed to model changes:`,f.value.name))}return(0,t.onMounted)(()=>Me()),(0,t.watch)(()=>c.currentDocumentId,()=>{c.isDocumentReady&&Me()}),(0,t.onUnmounted)(()=>{if(Ae){try{Ae()}catch{}Ae=null}}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,lg,[(0,t.createVNode)(Am,{"current-model":f.value,"model-name":s.value,models:d.value,"model-counts":p.value,"can-write":a.value,"selected-count":V.value.size,onSwitchModel:n[0]||=e=>o(`switchModel`,e),onOpenCreate:(0,t.unref)(I),onClearSelection:ce,onOpenBulkDelete:n[1]||=e=>M.value=!0},null,8,[`current-model`,`model-name`,`models`,`model-counts`,`can-write`,`selected-count`,`onOpenCreate`]),f.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[(0,t.createVNode)(Yp,{"model-info":f.value,filters:g.value,"loaded-data":k.value,"show-hidden-fields":h.value,onAddFilter:ve,onRemoveFilter:ye,onUpdateFilter:be,onClearAll:xe},null,8,[`model-info`,`filters`,`loaded-data`,`show-hidden-fields`]),(0,t.createVNode)(Iu,{"is-ready":(0,t.unref)(y),class:`flex-1 flex flex-col min-h-0`},{loading:(0,t.withCtx)(()=>[...n[14]||=[(0,t.createElementVNode)(`div`,{class:`flex-1 flex items-center justify-center p-6`},[(0,t.createElementVNode)(`div`,{class:`w-full max-w-lg animate-pulse space-y-4`},[(0,t.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`}),(0,t.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`}),(0,t.createElementVNode)(`div`,{class:`h-8 bg-muted rounded w-full`})])],-1)]]),default:(0,t.withCtx)(()=>[(0,t.createElementVNode)(`div`,pg,[(0,t.createVNode)(ig,{records:(0,t.unref)(v),"model-info":f.value,"can-write":a.value,"show-hidden-fields":h.value,"loaded-data":k.value,sorting:_.value,"selected-record-ids":V.value,"highlighted-record-id":le.value,onEditRecord:(0,t.unref)(re),onDeleteRecord:n[3]||=e=>N.value=e,onToggleColumnSort:Se,onToggleRecordSelection:oe,onToggleSelectAll:se},null,8,[`records`,`model-info`,`can-write`,`show-hidden-fields`,`loaded-data`,`sorting`,`selected-record-ids`,`highlighted-record-id`,`onEditRecord`]),(0,t.createVNode)(Jm,{"current-page":(0,t.unref)(b).currentPage,"total-count":(0,t.unref)(b).totalCount,"page-size":(0,t.unref)(x),"total-pages":(0,t.unref)(S),onGoToPage:(0,t.unref)(T),onChangePageSize:(0,t.unref)(D)},null,8,[`current-page`,`total-count`,`page-size`,`total-pages`,`onGoToPage`,`onChangePageSize`])])]),_:1},8,[`is-ready`])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,ug,[(0,t.createElementVNode)(`div`,dg,[(0,t.createElementVNode)(`p`,fg,`Model "`+(0,t.toDisplayString)(s.value)+`" not found`,1),(0,t.createVNode)((0,t.unref)(Ms),{class:`mt-4`,onClick:n[2]||=e=>o(`back`)},{default:(0,t.withCtx)(()=>[...n[13]||=[(0,t.createTextVNode)(`Go Back`,-1)]]),_:1})])])),(0,t.createVNode)((0,t.unref)(Ps),{open:(0,t.unref)(A),"onUpdate:open":n[5]||=e=>(0,t.isRef)(A)?A.value=e:null},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ec),{class:`sm:max-w-md max-h-[80vh] flex flex-col`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(rc),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ic),{class:`text-sm font-semibold`},{default:(0,t.withCtx)(()=>[...n[15]||=[(0,t.createTextVNode)(`Edit Record`,-1)]]),_:1})]),_:1}),(0,t.createElementVNode)(`div`,mg,[f.value?((0,t.openBlock)(),(0,t.createBlock)(kh,{key:0,"model-info":f.value,"form-data":(0,t.unref)(P),fields:ke.value,"related-model-data":(0,t.unref)(ne),"custom-id-fields":(0,t.unref)(F),"copied-id":Ee.value,"id-prefix":`edit`,onUpdateField:(0,t.unref)(B),onCopyId:Oe,onToggleCustomId:(0,t.unref)(ae)},null,8,[`model-info`,`form-data`,`fields`,`related-model-data`,`custom-id-fields`,`copied-id`,`onUpdateField`,`onToggleCustomId`])):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)((0,t.unref)(nc),{class:`border-t border-border pt-3 mt-3`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ms),{variant:`outline`,size:`sm`,onClick:n[4]||=e=>A.value=!1},{default:(0,t.withCtx)(()=>[...n[16]||=[(0,t.createTextVNode)(` Cancel `,-1)]]),_:1}),(0,t.createVNode)((0,t.unref)(Ms),{size:`sm`,onClick:(0,t.unref)(L)},{default:(0,t.withCtx)(()=>[...n[17]||=[(0,t.createTextVNode)(`Save Changes`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`open`]),(0,t.createVNode)((0,t.unref)(Ps),{open:(0,t.unref)(j),"onUpdate:open":n[7]||=e=>(0,t.isRef)(j)?j.value=e:null},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ec),{class:`sm:max-w-md max-h-[80vh] flex flex-col`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(rc),null,{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ic),{class:`text-sm font-semibold`},{default:(0,t.withCtx)(()=>[(0,t.createTextVNode)(` New `+(0,t.toDisplayString)(f.value?.name||s.value),1)]),_:1})]),_:1}),(0,t.createElementVNode)(`div`,hg,[f.value?((0,t.openBlock)(),(0,t.createBlock)(kh,{key:0,"model-info":f.value,"form-data":(0,t.unref)(P),fields:ke.value,"exclude-id":!0,"related-model-data":(0,t.unref)(ne),"custom-id-fields":(0,t.unref)(F),"id-prefix":`create`,onUpdateField:(0,t.unref)(B),onToggleCustomId:(0,t.unref)(ae)},null,8,[`model-info`,`form-data`,`fields`,`related-model-data`,`custom-id-fields`,`onUpdateField`,`onToggleCustomId`])):(0,t.createCommentVNode)(``,!0)]),(0,t.createVNode)((0,t.unref)(nc),{class:`border-t border-border pt-3 mt-3`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ms),{variant:`outline`,size:`sm`,disabled:(0,t.unref)(te),onClick:n[6]||=e=>j.value=!1},{default:(0,t.withCtx)(()=>[...n[18]||=[(0,t.createTextVNode)(` Cancel `,-1)]]),_:1},8,[`disabled`]),(0,t.createVNode)((0,t.unref)(Ms),{size:`sm`,disabled:(0,t.unref)(te),onClick:Te},{default:(0,t.withCtx)(()=>[(0,t.unref)(te)?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,gg)):(0,t.createCommentVNode)(``,!0),(0,t.createTextVNode)(` `+(0,t.toDisplayString)((0,t.unref)(te)?`Creating...`:`Create`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`]),(0,t.createVNode)(sc,{"is-open":!!(0,t.unref)(N),title:`Delete Record`,question:`Are you sure you want to delete this record?`,warning:`This action cannot be undone.`,"is-deleting":(0,t.unref)(ee),onCancel:n[8]||=e=>N.value=null,onConfirm:(0,t.unref)(z)},null,8,[`is-open`,`is-deleting`,`onConfirm`]),(0,t.createVNode)(sc,{"is-open":(0,t.unref)(M),title:`Delete Records`,question:`Delete ${V.value.size} record${V.value.size===1?``:`s`}? This action cannot be undone.`,warning:void 0,"confirm-label":`Delete`,"is-deleting":Ce.value,onCancel:n[9]||=e=>M.value=!1,onConfirm:we},null,8,[`is-open`,`question`,`is-deleting`]),(0,t.createVNode)((0,t.unref)(Ps),{open:H.value,"onUpdate:open":n[12]||=e=>H.value=e},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ec),{class:`max-w-4xl max-h-[90vh] flex flex-col`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(rc),{class:`flex-shrink-0`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(ic),{class:`flex items-center gap-2`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(qs),{class:`h-5 w-5`}),(0,t.createTextVNode)(` `+(0,t.toDisplayString)(fe.value),1)]),_:1})]),_:1}),(0,t.createElementVNode)(`div`,_g,[(0,t.createElementVNode)(`div`,vg,[(0,t.createVNode)((0,t.unref)(Mp),{id:`pretty-print`,checked:me.value,"onUpdate:checked":n[10]||=e=>me.value=e},null,8,[`checked`]),(0,t.createVNode)((0,t.unref)(jp),{for:`pretty-print`,class:`text-sm`},{default:(0,t.withCtx)(()=>[...n[19]||=[(0,t.createTextVNode)(`Pretty Print JSON`,-1)]]),_:1})]),(0,t.createVNode)((0,t.unref)(Np),{"model-value":he.value,class:`flex-1 font-mono text-sm min-h-[300px]`,"onUpdate:modelValue":ge},null,8,[`model-value`])]),(0,t.createVNode)((0,t.unref)(nc),{class:`flex-shrink-0`},{default:(0,t.withCtx)(()=>[(0,t.createVNode)((0,t.unref)(Ms),{variant:`outline`,onClick:n[11]||=e=>H.value=!1},{default:(0,t.withCtx)(()=>[...n[20]||=[(0,t.createTextVNode)(` Close `,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}}),bg={class:`h-full flex flex-col`},xg={class:`flex-1 flex overflow-hidden min-w-0`},Sg={class:`flex-1 flex flex-col min-w-0 bg-background`},Cg={key:0,class:`flex-1 flex items-center justify-center`},wg={key:1,class:`flex-1 flex items-center justify-center`},Tg={key:0,class:`flex-1 flex items-center justify-center`},Eg={class:`hidden lg:contents`},Dg=(0,t.defineComponent)({__name:`DocumentExplorerIndex`,setup(e){let n=u.forScope(`DocumentExplorer`),r=Qe(),i=(0,t.ref)([]),a=(0,t.ref)([]),o=(0,t.ref)(!1),s=(0,t.ref)(null),c=(0,t.computed)(()=>[...i.value,...a.value]),l=(0,t.ref)(new Set);async function d(){try{let e=await m.getClientAsync();s.value=await e.getRootDocId(),await e.syncMetadata({scope:`all`,includeRoot:!0,pageSize:500});let[t,r]=await Promise.all([e.me.ownedDocuments({refreshFromServer:!0,includeRoot:!0}),e.me.sharedDocuments()]);i.value=t,a.value=r.documents,o.value=!0,n.debug(`Documents loaded`,{owned:t.length,shared:r.documents.length,rootDocId:s.value})}catch(e){n.error(`Failed to load documents from client`,e),U(`Failed to load documents: `+W(e))}}let f=null,p=!1;(0,t.onMounted)(async()=>{let e=d();try{let e=await m.getClientAsync(),t=()=>{if(p){n.debug(`Document metadata changed (suppressed – bulk operation in progress)`);return}n.debug(`Document metadata changed, refreshing documents`),d()};e.on(`documentMetadataChanged`,t),f=()=>e.off(`documentMetadataChanged`,t)}catch(e){n.debug(`Could not subscribe to real-time events`,e)}if(await e,r.currentDocumentId&&!c.value.some(e=>e.documentId===r.currentDocumentId)&&(n.debug(`Persisted document no longer exists, clearing selection:`,r.currentDocumentId),r.setCurrentDocumentId(null)),r.currentDocumentId&&!r.isDocumentReady){n.debug(`Restoring previously selected document:`,r.currentDocumentId);try{await r.openDocument(r.currentDocumentId);let e=c.value.find(e=>e.documentId===r.currentDocumentId);r.setCurrentDocumentTitle(e?.title||`Untitled`)}catch(e){n.error(`Failed to restore document:`,e),r.setCurrentDocumentId(null)}}r.isDocumentReady&&ie()}),(0,t.onUnmounted)(()=>{f&&=(f(),null)});let h=(0,t.computed)(()=>Ru()),g=(0,t.computed)(()=>{let e={};for(let t of h.value)e[t.tableName]={query:{}};return e}),_=(0,t.computed)({get:()=>r.currentDocumentId,set:e=>r.setCurrentDocumentId(e)}),v=(0,t.ref)(null),y=(0,t.computed)(()=>v.value??r.currentDocumentId),b=(0,t.computed)({get:()=>r.currentModelName,set:e=>r.setCurrentModelName(e)}),x=(0,t.ref)(null),S=(0,t.ref)(!1),C=(0,t.ref)(!1),w=(0,t.ref)(!1),T=(0,t.ref)(!1),E=(0,t.ref)([]),D=(0,t.ref)([]),O=(0,t.ref)([]),k=(0,t.ref)(``),A=(0,t.ref)({});function j(){return{currentPage:1,totalCount:0,pageSize:td(),nextCursor:null,prevCursor:null,hasMore:!1,pageCursors:new Map([[1,null]])}}function M(e){return A.value[e]||(A.value[e]=j()),A.value[e]??j()}let{optimisticFieldUpdate:N}=Sp(i,`documentId`),{optimisticFieldUpdate:ee}=Sp(a,`documentId`);async function te(e){try{let t=r.currentDocumentId;return await e.modelClass.count({},{documents:t})}catch(t){return n.error(`Error loading count for ${e.name}:`,t),0}}let{initialDataLoaded:P}=Fu({subscribeTo:h.value.map(e=>e.modelClass),queryParams:g,documentReady:(0,t.computed)(()=>r.isDocumentReady),loadData:async()=>{let e={};for(let t of h.value){let n=await te(t),r=M(t.tableName);r.totalCount=n,e[t.tableName]=[]}let t=Object.values(A.value).reduce((e,t)=>e+(t?.totalCount??0),0);if(n.debug(`Loaded model counts:`,{models:h.value.length,totalRecords:t}),!I.value?.isRoot){let t=b.value?M(b.value).totalCount:0;if(!b.value||t===0){let t=h.value.find(e=>M(e.tableName).totalCount>0);if(t)return b.value=t.tableName,e}}return ie(),e},onError:e=>{n.error(`Error loading data:`,e),U(`Failed to load model data: `+W(e))}});function ne(e){let t=l.value;return e.filter(e=>e&&!t.has(e.documentId)).map(e=>({...e,isRoot:e.documentId===s.value})).sort((e,t)=>e.isRoot&&!t.isRoot?-1:!e.isRoot&&t.isRoot?1:(e.title||``).localeCompare(t.title||``))}let F=(0,t.computed)(()=>ne(i.value)),re=(0,t.computed)(()=>ne(a.value)),I=(0,t.computed)(()=>{let e=_.value;return F.value.find(t=>t.documentId===e)??re.value.find(t=>t.documentId===e)}),L=(0,t.computed)(()=>{let e={};for(let t of h.value)e[t.tableName]=M(t.tableName).totalCount;return e}),R=(0,t.computed)(()=>c.value.find(e=>e.documentId===x.value)?.title);function z(){return h.value.length===0?``:I.value?.isRoot&&h.value.some(e=>e.tableName===`user_prefs`)?`user_prefs`:h.value[0]?.tableName??``}function ie(){h.value.length!==0&&(b.value&&!h.value.some(e=>e.tableName===b.value)&&(b.value=null),b.value||=z())}function B(e){b.value=e}function ae(){b.value=h.value.length>0?z():null}async function V(e){if(e===y.value&&r.isDocumentReady)return;n.debug(`Switching to document:`,e),v.value=e,b.value=null;let t=c.value.find(t=>t.documentId===e);r.setCurrentDocumentTitle(t?.title||`Untitled`);try{await r.switchDocument(e),ie()}finally{v.value=null}}async function oe(e){try{let{metadata:t}=await(await m.getClientAsync()).documents.create({title:e});n.debug(`Created new document:`,t),await d(),await r.switchDocument(t.documentId)}catch(e){throw n.error(`Failed to create document:`,e),e}}async function se(e){w.value=!0;try{await oe(e),C.value=!1}catch(e){U(`Failed to create document: `+W(e))}finally{w.value=!1}}async function ce(e,t){e===r.currentDocumentId&&r.setCurrentDocumentTitle(t);let{success:a}=await(i.value.some(t=>t.documentId===e)?N:ee)(e,`title`,t,async()=>{await(await m.getClientAsync()).documents.update(e,{title:t}),n.debug(`Renamed document:`,e,`to`,t)});if(!a){let t=c.value.find(t=>t.documentId===e);e===r.currentDocumentId&&r.setCurrentDocumentTitle(t?.title||`Untitled`),U(`Failed to rename document`)}}async function le(e){S.value=!0,_.value===e&&r.setCurrentDocumentId(null),S.value=!1,x.value=null,l.value=new Set([...l.value,e]);try{await(await m.getClientAsync()).documents.delete(e,{forceCloseIfOpen:!0}),await d()}catch{U(`Failed to delete document`)}finally{let t=new Set(l.value);t.delete(e),l.value=t}}async function ue(e){_.value&&e.includes(_.value)&&r.setCurrentDocumentId(null),l.value=new Set([...l.value,...e]),p=!0;try{let t=await m.getClientAsync(),r=[];for(let i of e)try{await t.documents.delete(i,{forceCloseIfOpen:!0})}catch(e){n.error(`Failed to delete document ${i}:`,e),r.push(i)}await d(),r.length>0&&U(`Failed to delete ${r.length} document(s). They have been restored.`)}finally{let t=new Set(l.value);for(let n of e)t.delete(n);l.value=t,p=!1}}async function de(e){try{if(!(await(await m.getClientAsync()).me.get())?.userId){U(`Could not determine current user.`);return}let t=[],n=[];for(let r of e){let e=c.value.find(e=>e.documentId===r);!e||e.documentId===s.value||(!e.permission||e.permission===`owner`||e.permission===`admin`?n.push(r):t.push(r))}if(t.length===0&&n.length===0)return;let r=[];n.length>0&&r.push(`delete ${n.length}`),t.length>0&&r.push(`leave ${t.length}`),E.value=e,D.value=t,O.value=n,k.value=`This will ${r.join(` and `)} document(s). Continue?`,T.value=!0}catch(e){n.error(`Failed to process bulk leave:`,e),U(`Failed to leave documents: `+W(e))}}async function H(){T.value=!1;let e=D.value,t=O.value;E.value=[],D.value=[],O.value=[],k.value=``;try{let i=await m.getClientAsync(),a=await i.me.get();if(!a?.userId){U(`Could not determine current user.`);return}let o=[...e,...t];_.value&&o.includes(_.value)&&r.setCurrentDocumentId(null),l.value=new Set([...l.value,...o]),p=!0;try{let r=[];for(let t of e)try{await i.documents.removePermission(t,a.userId)}catch(e){n.error(`Failed to leave document ${t}:`,e),r.push(t)}for(let e of t)try{await i.documents.delete(e,{forceCloseIfOpen:!0})}catch(t){n.error(`Failed to delete document ${e}:`,t),r.push(e)}await d(),r.length>0&&U(`Failed to process ${r.length} document(s). They have been restored.`)}finally{let e=new Set(l.value);for(let t of o)e.delete(t);l.value=e,p=!1}}catch(e){n.error(`Failed to process bulk leave:`,e),U(`Failed to leave documents: `+W(e))}}return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,bg,[(0,t.createVNode)((0,t.unref)(Ge),{position:`bottom-right`,expand:!1,"rich-colors":``}),(0,t.createElementVNode)(`div`,xg,[(0,t.createVNode)(Vd,{"owned-documents":F.value,"shared-documents":re.value,"selected-doc-id":y.value,"document-list-loaded":o.value,onSelectDocument:V,onCreateDocument:n[0]||=e=>C.value=!0,onBulkDelete:ue,onBulkLeave:de,onBulkDeleteMixed:de},null,8,[`owned-documents`,`shared-documents`,`selected-doc-id`,`document-list-loaded`]),(0,t.createElementVNode)(`div`,Sg,[o.value?I.value?((0,t.openBlock)(),(0,t.createBlock)(Iu,{key:2,"is-ready":(0,t.unref)(P)},{loading:(0,t.withCtx)(()=>[...n[9]||=[(0,t.createElementVNode)(`div`,{class:`flex-1 flex items-center justify-center`},[(0,t.createElementVNode)(`div`,{class:`text-center`},[(0,t.createElementVNode)(`div`,{class:`w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2`}),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`Loading data...`)])],-1)]]),default:(0,t.withCtx)(()=>[h.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Tg,[...n[10]||=[(0,t.createElementVNode)(`div`,{class:`text-center`},[(0,t.createElementVNode)(`svg`,{class:`w-12 h-12 mx-auto text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4`})]),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Add models to get started `)],-1)]])):b.value?((0,t.openBlock)(),(0,t.createBlock)(yg,{key:b.value,"model-name":b.value,"document-permission":I.value?.permission,onBack:ae,onSwitchModel:B},null,8,[`model-name`,`document-permission`])):(0,t.createCommentVNode)(``,!0)]),_:1},8,[`is-ready`])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,wg,[...n[8]||=[(0,t.createElementVNode)(`div`,{class:`text-center`},[(0,t.createElementVNode)(`svg`,{class:`w-12 h-12 mx-auto text-muted-foreground/30 mb-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`1.5`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})]),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},` Select a document to explore `)],-1)]])):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Cg,[...n[7]||=[(0,t.createElementVNode)(`div`,{class:`text-center`},[(0,t.createElementVNode)(`div`,{class:`w-6 h-6 border-2 border-primary border-t-transparent rounded-full animate-spin mx-auto mb-2`}),(0,t.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`Loading documents...`)],-1)]]))]),(0,t.createElementVNode)(`div`,Eg,[I.value?((0,t.openBlock)(),(0,t.createBlock)(xp,{key:0,document:I.value,models:h.value,"record-counts":L.value,onNavigateToModel:B,onRenameDocument:ce,onDeleteDocument:n[1]||=e=>x.value=e,onDocumentsChanged:d},null,8,[`document`,`models`,`record-counts`])):(0,t.createCommentVNode)(``,!0)])]),(0,t.createVNode)(Ap,{open:C.value,"is-creating":w.value,"onUpdate:open":n[2]||=e=>C.value=e,onCreate:se},null,8,[`open`,`is-creating`]),(0,t.createVNode)(sc,{"is-open":!!x.value,title:`Delete Document`,question:`Are you sure you want to delete "${R.value}"?`,warning:`This action cannot be undone.`,"is-deleting":S.value,onCancel:n[3]||=e=>x.value=null,onConfirm:n[4]||=e=>x.value&&le(x.value)},null,8,[`is-open`,`question`,`is-deleting`]),(0,t.createVNode)(sc,{"is-open":T.value,title:`Leave / Delete Documents`,question:k.value,warning:``,"confirm-label":`Continue`,"confirming-label":`Processing...`,"is-deleting":!1,onConfirm:H,onCancel:n[5]||=e=>{T.value=!1,E.value=[],D.value=[],O.value=[],k.value=``},"onUpdate:isOpen":n[6]||=e=>{e||(T.value=!1,E.value=[],D.value=[],O.value=[],k.value=``)}},null,8,[`is-open`,`question`])]))}}),Og={class:`h-full flex overflow-hidden`},kg={class:`w-64 lg:w-72 border-r border-border flex flex-col bg-background`},Ag={class:`px-3 py-2 border-b border-border bg-muted/30 relative`},jg={key:0,class:`absolute inset-0 px-3 bg-muted flex items-center justify-between z-10`},Mg={class:`flex items-center gap-2`},Ng={class:`text-[10px] font-medium`},Pg=[`disabled`],Fg={class:`flex items-center gap-2`},Ig=[`checked`,`indeterminate`],Lg={class:`flex-1 overflow-y-auto scrollbar-thin`},Rg=[`onClick`],zg=[`checked`,`indeterminate`,`onClick`],Bg={class:`ml-2 text-xs font-medium flex-1`},Vg={class:`text-[10px] text-muted-foreground`},Hg=[`onClick`],Ug=[`checked`,`onClick`],Wg={class:`ml-2 w-4 h-4 flex items-center justify-center`},Gg={key:0,class:`w-3.5 h-3.5 text-blue-500 animate-spin`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Kg={key:1,class:`w-3.5 h-3.5 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},qg={key:2,class:`w-3.5 h-3.5 text-red-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},Jg={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`},Yg={class:`ml-1.5 text-xs flex-1 truncate`},Xg={key:0,class:`px-1 py-0.5 text-[9px] bg-green-100 text-green-700 rounded`},Zg={key:1,class:`px-1 py-0.5 text-[9px] bg-red-100 text-red-700 rounded`},Qg={key:2,class:`px-1 py-0.5 text-[9px] bg-blue-100 text-blue-700 rounded`},$g={key:0,class:`text-center py-8 text-muted-foreground`},e_={class:`px-3 py-2 border-t border-border bg-muted/20 text-[10px] text-muted-foreground`},t_={class:`flex items-center justify-between`},n_={key:0},r_={key:0,class:`text-green-600`},i_={key:1},a_={key:2,class:`text-red-600`},o_={class:`flex-1 flex flex-col min-w-0 bg-background`},s_={class:`flex items-center justify-between px-3 py-2 border-b border-border bg-muted/30`},c_={class:`flex items-center gap-1`},l_=[`disabled`],u_=[`disabled`],d_=[`disabled`],f_={key:0,class:`text-muted-foreground`},p_={key:1,class:`space-y-0.5`},m_=[`data-test-id`],h_={key:0,class:`px-3 py-2 border-t border-border bg-muted/20`},g_={class:`flex items-center justify-between text-[10px] mb-1`},__={class:`text-muted-foreground truncate pr-2`},v_={class:`font-medium flex-shrink-0`},y_={class:`h-1 bg-muted rounded-full overflow-hidden`},b_=(0,t.defineComponent)({__name:`TestRunner`,props:{tests:{},onTestsComplete:{type:Function}},setup(e){let n=u.forScope(`TestRunner`),r=e,i=(0,t.ref)({}),a=(0,t.ref)([]),o=(0,t.ref)(!1),s=(0,t.ref)(!1),c=(0,t.ref)(!1),l=(0,t.reactive)(new Map),d=(0,t.ref)(null),f=(0,t.ref)(null),p=(0,t.ref)(0),m=(0,t.ref)(0),h=(0,t.ref)(``);(0,t.watchEffect)(()=>{let e={};r.tests.forEach(t=>{e[t.id]=!0}),i.value=e});let g=(0,t.computed)(()=>{let e=new Map;return r.tests.forEach(t=>{e.has(t.group)||e.set(t.group,[]),e.get(t.group).push(t)}),Array.from(e.entries())}),_=(0,t.computed)(()=>Object.values(i.value).filter(Boolean).length),v=(0,t.computed)(()=>r.tests.length),x=(0,t.computed)(()=>({passed:Array.from(l.values()).filter(e=>e.status===`passed`||e.status===`scored`).length,failed:Array.from(l.values()).filter(e=>e.status===`failed`).length})),S=e=>l.get(e)?.status??`pending`,C=e=>e.every(e=>i.value[e.id]),w=e=>{let t=e.some(e=>i.value[e.id]),n=e.every(e=>i.value[e.id]);return t&&!n},T=e=>e.filter(e=>i.value[e.id]).length,E=(0,t.computed)(()=>r.tests.every(e=>i.value[e.id])),D=(0,t.computed)(()=>r.tests.some(e=>i.value[e.id])&&!E.value),O=(e,n=`normal`,r)=>{let i=new Date().toLocaleTimeString();a.value=[...a.value,{text:`${i} - ${e}`,type:n,testId:r}],f.value||(0,t.nextTick)(()=>{d.value&&(d.value.scrollTop=d.value.scrollHeight)})},k=async()=>{if(!c.value){c.value=!0,a.value=[],p.value=g.value.flatMap(([,e])=>e.filter(e=>i.value[e.id])).length,m.value=0,h.value=``,O(`=`.repeat(60),`header`),O(`Starting test run`,`header`),O(`=`.repeat(60),`header`);try{let e=await y();e>0&&O(`Closed ${e} host app document(s) for test isolation`);for(let[e,t]of g.value)for(let n of t){if(!i.value[n.id])continue;l.set(n.id,{status:`running`}),h.value=`${e} :: ${n.name}`,O(`Running ${e} :: ${n.name}`,`normal`,n.id);let t=performance.now();try{let e=await n.run(e=>O(`[${n.id}] ${e}`,`normal`,n.id)),r=Math.round(performance.now()-t),i=e.match(/^(\d+)\/(\d+)\s*\((\d+(?:\.\d+)?)%\)/);if(i&&i[1]&&i[2]&&i[3]){let t=Number.parseInt(i[1],10),a=Number.parseInt(i[2],10),o=Number.parseFloat(i[3]);l.set(n.id,{status:`scored`,durationMs:r,message:e,score:{passed:t,total:a,percentage:o}}),O(`Scored (${r}ms): ${e}`,`success`,n.id)}else l.set(n.id,{status:`passed`,durationMs:r,message:e}),O(`Passed (${r}ms): ${e}`,`success`,n.id)}catch(e){let r=Math.round(performance.now()-t),i=e instanceof Error?e.message:String(e);l.set(n.id,{status:`failed`,durationMs:r,message:i}),O(`Failed (${r}ms): ${i}`,`error`,n.id)}m.value++}}finally{O(`=`.repeat(60),`header`),O(`Test run complete`,`header`),O(`=`.repeat(60),`header`);try{await b(),O(`Host app documents restored`)}catch(e){O(`Warning: Failed to restore host app documents: ${e instanceof Error?e.message:String(e)}`)}if(r.onTestsComplete)try{O(`Cleaning up test documents...`),await r.onTestsComplete(),O(`Test documents cleaned up successfully`)}catch(e){O(`Warning: Failed to clean up test documents: ${e instanceof Error?e.message:String(e)}`)}c.value=!1}}},A=e=>{i.value={...i.value,[e]:!i.value[e]}},j=e=>{let t=C(e),n={...i.value};e.forEach(e=>{n[e.id]=!t}),i.value=n},M=()=>{let e=E.value,t={};r.tests.forEach(n=>{t[n.id]=!e}),i.value=t},N=()=>{i.value={}},ee=async()=>{try{await navigator.clipboard.writeText(a.value.map(e=>e.text).join(`
50
+ `)),o.value=!0,window.setTimeout(()=>{o.value=!1},1500)}catch(e){n.error(`Copy to clipboard failed in test runner`,{err:e})}},te=async()=>{try{let e=new Set(Array.from(l.entries()).filter(([,e])=>e.status===`failed`).map(([e])=>e)),t=a.value.filter(t=>t.testId&&e.has(t.testId)).map(e=>e.text).join(`
51
+ `);await navigator.clipboard.writeText(t),s.value=!0,window.setTimeout(()=>{s.value=!1},1500)}catch(e){n.error(`Copy failed tests to clipboard failed`,{err:e})}},P=e=>{if(f.value===e){f.value=null;return}f.value=e,(0,t.nextTick)(()=>{if(d.value){let t=d.value.querySelector(`[data-test-id="${e}"]`);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}})},ne=()=>{a.value=[],l.clear(),f.value=null},F=(0,t.computed)(()=>Array.from(l.values()).some(e=>e.status===`failed`)),re=(0,t.computed)(()=>p.value===0?0:Math.round(m.value/p.value*100));return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Og,[(0,t.createElementVNode)(`div`,kg,[(0,t.createElementVNode)(`div`,Ag,[_.value>0&&!c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,jg,[(0,t.createElementVNode)(`div`,Mg,[(0,t.createElementVNode)(`span`,Ng,(0,t.toDisplayString)(_.value)+` selected `,1),(0,t.createElementVNode)(`button`,{class:`text-[10px] text-muted-foreground hover:text-foreground`,onClick:N},` Clear `)]),(0,t.createElementVNode)(`button`,{class:`px-2 py-1 text-[10px] bg-primary text-primary-foreground rounded hover:bg-primary/90 flex items-center gap-1`,disabled:c.value,onClick:k},[...n[0]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z`}),(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})],-1),(0,t.createTextVNode)(` Run `,-1)]],8,Pg)])):(0,t.createCommentVNode)(``,!0),(0,t.createElementVNode)(`div`,Fg,[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:E.value,indeterminate:D.value,onChange:M},null,40,Ig),n[1]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Available Tests `,-1)])]),(0,t.createElementVNode)(`div`,Lg,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(g.value,([e,r])=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e},[(0,t.createElementVNode)(`div`,{class:`flex items-center px-3 py-1.5 bg-muted/50 border-b border-border cursor-pointer hover:bg-muted/70`,onClick:e=>j(r)},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:C(r),indeterminate:w(r),onClick:(0,t.withModifiers)(e=>j(r),[`stop`])},null,8,zg),(0,t.createElementVNode)(`span`,Bg,(0,t.toDisplayString)(e),1),(0,t.createElementVNode)(`span`,Vg,(0,t.toDisplayString)(T(r))+`/`+(0,t.toDisplayString)(r.length),1)],8,Rg),((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(r,e=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:e.id,class:(0,t.normalizeClass)([`flex items-center px-3 py-1.5 hover:bg-muted/30 cursor-pointer`,{"bg-primary/10 border-l-2 border-l-primary":f.value===e.id}]),onClick:t=>P(e.id)},[(0,t.createElementVNode)(`input`,{type:`checkbox`,class:`w-3.5 h-3.5 rounded border-border`,checked:i.value[e.id],onClick:(0,t.withModifiers)(t=>A(e.id),[`stop`])},null,8,Ug),(0,t.createElementVNode)(`span`,Wg,[S(e.id)===`running`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Gg,[...n[2]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z`},null,-1)]])):S(e.id)===`passed`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,Kg,[...n[3]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z`},null,-1)]])):S(e.id)===`failed`?((0,t.openBlock)(),(0,t.createElementBlock)(`svg`,qg,[...n[4]||=[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z`},null,-1)]])):S(e.id)===`scored`?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,Jg,` % `)):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`span`,Yg,(0,t.toDisplayString)(e.name),1),l.get(e.id)?.status===`passed`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Xg,` Passed `)):l.get(e.id)?.status===`failed`?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Zg,` Failed `)):l.get(e.id)?.status===`scored`&&l.get(e.id)?.score?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,Qg,(0,t.toDisplayString)(l.get(e.id).score.passed)+`/`+(0,t.toDisplayString)(l.get(e.id).score.total)+` (`+(0,t.toDisplayString)(l.get(e.id).score.percentage)+`%) `,1)):(0,t.createCommentVNode)(``,!0)],10,Hg))),128))]))),128)),g.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,$g,[...n[5]||=[(0,t.createElementVNode)(`p`,{class:`text-xs`},`No tests found.`,-1),(0,t.createElementVNode)(`p`,{class:`text-[10px] mt-1`},` Create test files with the .primitive-test.ts extension. `,-1)]])):(0,t.createCommentVNode)(``,!0)]),(0,t.createElementVNode)(`div`,e_,[(0,t.createElementVNode)(`div`,t_,[(0,t.createElementVNode)(`span`,null,(0,t.toDisplayString)(v.value)+` tests in `+(0,t.toDisplayString)(g.value.length)+` groups`,1),x.value.passed>0||x.value.failed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,n_,[x.value.passed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,r_,(0,t.toDisplayString)(x.value.passed)+` passed `,1)):(0,t.createCommentVNode)(``,!0),x.value.passed>0&&x.value.failed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,i_,`, `)):(0,t.createCommentVNode)(``,!0),x.value.failed>0?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,a_,(0,t.toDisplayString)(x.value.failed)+` failed `,1)):(0,t.createCommentVNode)(``,!0)])):(0,t.createCommentVNode)(``,!0)])])]),(0,t.createElementVNode)(`div`,o_,[(0,t.createElementVNode)(`div`,s_,[n[15]||=(0,t.createElementVNode)(`span`,{class:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`},` Test Output `,-1),(0,t.createElementVNode)(`div`,c_,[(0,t.createElementVNode)(`button`,{class:`px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50`,disabled:a.value.length===0,onClick:ee},[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[n[6]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),n[7]||=(0,t.createTextVNode)(` Copied! `,-1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[n[8]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`})],-1),n[9]||=(0,t.createTextVNode)(` Copy `,-1)],64))],8,l_),(0,t.createElementVNode)(`button`,{class:`px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50`,disabled:!F.value,onClick:te},[s.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:0},[n[10]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3 text-green-500`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`})],-1),n[11]||=(0,t.createTextVNode)(` Copied! `,-1)],64)):((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:1},[n[12]||=(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`})],-1),n[13]||=(0,t.createTextVNode)(` Copy Failing Tests `,-1)],64))],8,u_),(0,t.createElementVNode)(`button`,{class:`px-1.5 py-0.5 text-[10px] text-muted-foreground hover:text-foreground hover:bg-muted rounded flex items-center gap-1 disabled:opacity-50`,disabled:a.value.length===0,onClick:ne},[...n[14]||=[(0,t.createElementVNode)(`svg`,{class:`w-3 h-3`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16`})],-1),(0,t.createTextVNode)(` Clear `,-1)]],8,d_)])]),(0,t.createElementVNode)(`div`,{ref_key:`outputEl`,ref:d,class:`flex-1 overflow-y-auto scrollbar-thin bg-muted/10 font-mono text-xs p-3`},[a.value.length===0?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,f_,` Select tests and click "Run" to see output... `)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,p_,[((0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(a.value,(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:n,"data-test-id":e.testId,class:(0,t.normalizeClass)([e.type===`header`?`text-muted-foreground font-medium`:e.type===`success`?`text-green-600`:e.type===`error`?`text-red-600`:``,f.value&&e.testId!==f.value?`opacity-20`:``,f.value&&e.testId===f.value?`bg-primary/5 -mx-1 px-1 rounded`:``])},(0,t.toDisplayString)(e.text),11,m_))),128))]))],512),c.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,h_,[(0,t.createElementVNode)(`div`,g_,[(0,t.createElementVNode)(`span`,__,` Running: `+(0,t.toDisplayString)(h.value),1),(0,t.createElementVNode)(`span`,v_,(0,t.toDisplayString)(m.value)+`/`+(0,t.toDisplayString)(p.value),1)]),(0,t.createElementVNode)(`div`,y_,[(0,t.createElementVNode)(`div`,{class:`h-full bg-primary transition-all duration-300`,style:(0,t.normalizeStyle)({width:`${re.value}%`})},null,4)])])):(0,t.createCommentVNode)(``,!0)])]))}}),x_={class:`fixed inset-0 z-40 bg-background flex flex-col overflow-hidden`},S_={class:`flex items-center justify-between px-4 py-2 border-b border-border bg-muted/30`},C_={class:`flex items-center gap-3 min-w-0 flex-1`},w_={class:`text-sm font-semibold truncate`},T_={class:`flex-1 flex overflow-hidden min-w-0`},E_={class:`w-10 bg-muted/50 border-r border-border flex flex-col items-center py-2 gap-1`},D_={class:`flex-1 flex flex-col overflow-hidden min-w-0`},O_={key:0,class:`flex-1 flex items-center justify-center`},k_={class:`text-center max-w-md`},A_={class:`text-xs text-muted-foreground mb-4`},j_={key:1,class:`flex-1 flex items-center justify-center`},M_={class:`text-center`},N_={class:`flex-1 overflow-hidden`},P_={class:`flex-1 overflow-hidden flex`},F_={class:`flex-1 overflow-hidden`},I_=`primitive-devtools-active-tab`,L_=(0,t.defineComponent)({__name:`DevToolsOverlay`,props:{testGroups:{},appName:{}},emits:[`close`],setup(e,{emit:n}){let r=u.forScope(`DevToolsOverlay`),i=e,a=n,o=[`documents`,`blobs`,`tests`];function s(){let e=localStorage.getItem(I_);return o.includes(e)?e:`documents`}let c=(0,t.ref)(s());(0,t.watch)(c,e=>localStorage.setItem(I_,e));let l=(0,t.ref)(!1),d=(0,t.ref)(null),f=(0,t.ref)(!1);async function p(){if(!l.value)try{await C(),l.value=!0}catch(e){r.error(`Failed to initialize dev tools`,{err:e}),d.value=e instanceof Error?e.message:`Failed to initialize`}}let m=(0,t.ref)(``);function h(e){if(e.key!==`Escape`||document.querySelectorAll(`[role="dialog"][data-state="open"], [role="alertdialog"][data-state="open"]`).length>0||document.querySelectorAll(`[data-devtools-modal]`).length>0||document.querySelectorAll(`[data-devtools-dropdown]`).length>0)return;let t=document.activeElement;if(t&&t!==document.body&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`||t.isContentEditable)){t.blur();return}v()}(0,t.onMounted)(()=>{m.value=document.body.style.overflow,document.body.style.overflow=`hidden`,document.addEventListener(`keydown`,h,!0),p()}),(0,t.onUnmounted)(()=>{document.body.style.overflow=m.value,document.removeEventListener(`keydown`,h,!0)});let g=(0,t.computed)(()=>T(i.testGroups));async function _(){if(!f.value){f.value=!0;try{await C()}finally{f.value=!1}}}function v(){a(`close`)}let y=Qe(),b=(0,t.computed)(()=>{if(c.value===`tests`)return`Test Harness`;if(c.value===`blobs`){let e=y.currentDocumentTitle;return e?`Blob Explorer: ${e}`:`Blob Explorer`}let e=y.currentDocumentTitle;return e?`Document Explorer: ${e}`:`Document Explorer`});return(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(`div`,x_,[(0,t.createElementVNode)(`div`,S_,[(0,t.createElementVNode)(`div`,C_,[(0,t.createElementVNode)(`span`,w_,(0,t.toDisplayString)(b.value),1)]),(0,t.createElementVNode)(`button`,{class:`p-1 hover:bg-muted rounded`,title:`Close`,onClick:v},[...n[3]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M6 18L18 6M6 6l12 12`})],-1)]])]),(0,t.createElementVNode)(`div`,T_,[(0,t.createElementVNode)(`div`,E_,[(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`p-2 rounded`,c.value===`documents`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Document Explorer`,onClick:n[0]||=e=>c.value=`documents`},[...n[4]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z`})],-1)]],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`p-2 rounded`,c.value===`tests`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Test Harness`,onClick:n[1]||=e=>c.value=`tests`},[...n[5]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4`})],-1)]],2),(0,t.createElementVNode)(`button`,{class:(0,t.normalizeClass)([`p-2 rounded`,c.value===`blobs`?`bg-primary/10 text-primary`:`hover:bg-muted text-muted-foreground`]),title:`Blob Explorer`,onClick:n[2]||=e=>c.value=`blobs`},[...n[6]||=[(0,t.createElementVNode)(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[(0,t.createElementVNode)(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12`})],-1)]],2)]),(0,t.createElementVNode)(`div`,D_,[d.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,O_,[(0,t.createElementVNode)(`div`,k_,[n[7]||=(0,t.createElementVNode)(`h2`,{class:`text-sm font-semibold text-destructive mb-2`},` Initialization Failed `,-1),(0,t.createElementVNode)(`p`,A_,(0,t.toDisplayString)(d.value),1),(0,t.createElementVNode)(`button`,{class:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90`,onClick:p},` Retry `)])])):l.value?((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:2},[(0,t.withDirectives)((0,t.createElementVNode)(`div`,N_,[(0,t.createVNode)(Dg)],512),[[t.vShow,c.value===`documents`]]),(0,t.withDirectives)((0,t.createElementVNode)(`div`,P_,[(0,t.createVNode)(Au)],512),[[t.vShow,c.value===`blobs`]]),(0,t.withDirectives)((0,t.createElementVNode)(`div`,F_,[(0,t.createVNode)(b_,{tests:g.value,"on-tests-complete":_},null,8,[`tests`])],512),[[t.vShow,c.value===`tests`]])],64)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,j_,[(0,t.createElementVNode)(`div`,M_,[(0,t.createVNode)(F),n[8]||=(0,t.createElementVNode)(`p`,{class:`mt-4 text-xs text-muted-foreground`},` Initializing dev tools... `,-1)])]))])])]))}}),R_=`#devtools`,z_=(0,t.defineComponent)({__name:`DevToolsRoot`,props:{testGroups:{},appName:{},keyboardShortcut:{}},setup(e){let n=u.forScope(`DevToolsRoot`),r=e,i=(0,t.ref)(!1),a=(0,t.ref)(!1),o=typeof navigator<`u`&&/mac/i.test(navigator.platform);function s(e){let t=e.toLowerCase().split(`+`);return o?t.map(e=>e===`cmd`||e===`meta`?`⌘`:e===`ctrl`?`⌃`:e===`shift`?`⇧`:e===`alt`?`⌥`:e.toUpperCase()).join(``):t.map(e=>e===`cmd`||e===`meta`||e===`ctrl`?`Ctrl`:e===`shift`?`Shift`:e===`alt`?`Alt`:e.toUpperCase()).join(`+`)}let c=(0,t.computed)(()=>{if(r.keyboardShortcut)return s(r.keyboardShortcut)});function l(e,t){let n=t.toLowerCase().split(`+`),r=n.pop(),i=new Set(n),a=i.has(`cmd`)||i.has(`meta`),s=i.has(`ctrl`),c=i.has(`shift`),l=i.has(`alt`);if(o){if(a!==e.metaKey||s!==e.ctrlKey)return!1}else if((a||s)!==e.ctrlKey||e.metaKey)return!1;return!(c!==e.shiftKey||l!==e.altKey||e.key.toLowerCase()!==r)}function d(e){!r.keyboardShortcut||!a.value||l(e,r.keyboardShortcut)&&(e.preventDefault(),b())}let f=!1,p=null;function h(){!i.value&&a.value&&window.location.hash===R_&&(i.value=!0)}async function g(){try{let e=await m.getClientAsync();a.value=e.isAuthenticated(),h(),a.value&&C().catch(e=>{n.debug(`Startup cleanup of leftover test documents failed`,{err:e})});let t=()=>{a.value=!0,h()},r=()=>{a.value=!1},i=()=>{a.value=!1,y()};e.on(`auth-success`,t),e.on(`auth-failed`,r),e.on(`auth:logout`,i),p=()=>{e.off(`auth-success`,t),e.off(`auth-failed`,r),e.off(`auth:logout`,i)}}catch{a.value=!1}}function _(){let e=window.location.hash===R_;i.value&&!e?(i.value=!1,f=!1):!i.value&&e&&a.value&&(i.value=!0)}(0,t.onMounted)(()=>{window.addEventListener(`popstate`,_),document.addEventListener(`keydown`,d),g()}),(0,t.onUnmounted)(()=>{window.removeEventListener(`popstate`,_),document.removeEventListener(`keydown`,d),p?.(),p=null});function v(){i.value||(i.value=!0,f=!0,history.pushState({primitiveDevtools:!0},``,R_))}function y(){i.value&&(i.value=!1,window.location.hash===R_&&(f?(f=!1,history.back()):history.replaceState(null,``,window.location.pathname+window.location.search)))}function b(){i.value?y():v()}return(e,n)=>((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[a.value?((0,t.openBlock)(),(0,t.createBlock)(te,{key:0,"is-open":i.value,"shortcut-hint":c.value,onClick:b},null,8,[`is-open`,`shortcut-hint`])):(0,t.createCommentVNode)(``,!0),i.value?((0,t.openBlock)(),(0,t.createBlock)(L_,{key:1,"test-groups":r.testGroups,"app-name":r.appName,onClose:y},null,8,[`test-groups`,`app-name`])):(0,t.createCommentVNode)(``,!0)]))}});exports.DevToolsRoot=z_,exports.initializeJsBao=h,exports.jsBaoClientService=m,exports.setPrimitiveAppLogLevel=d;