@membank/dashboard 0.10.0 → 0.11.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.
- package/dist/bin.mjs +73 -1
- package/dist/client/assets/AppLink-CcI58QNL.js +3 -0
- package/dist/client/assets/WorkspaceMemoryDetail-CKp3CCbn.js +1 -0
- package/dist/client/assets/_projectId-Eeq3OhFZ.js +4 -0
- package/dist/client/assets/_projectId._memoryId-BFlrz98g.js +1 -0
- package/dist/client/assets/collections-gO05Tpa7.js +19 -0
- package/dist/client/assets/index--CCYAGMc.js +48 -0
- package/dist/client/assets/index-BudjKWgr.css +2 -0
- package/dist/client/assets/popupStateMapping-CKjEg8lE.js +1 -0
- package/dist/client/assets/preload-helper-DEuj8E0K.js +1 -0
- package/dist/client/assets/review-CnySMKKH.js +1 -0
- package/dist/client/assets/routes-LNNp11yc.js +1 -0
- package/dist/client/assets/spinner-B9RlP5lt.js +1 -0
- package/dist/client/assets/textarea-BLDQQzbc.js +1 -0
- package/dist/client/index.html +5 -4
- package/dist/index.cjs +72 -0
- package/dist/index.mjs +73 -1
- package/package.json +1 -1
- package/dist/client/assets/WorkspaceMemoryDetail-B-SQPmf_.js +0 -1
- package/dist/client/assets/_projectId-ChOHT2g6.js +0 -40
- package/dist/client/assets/_projectId-DdCE-NRK.js +0 -4
- package/dist/client/assets/_projectId._memoryId-j78rWv7Z.js +0 -1
- package/dist/client/assets/collections-Ci78mgZL.js +0 -19
- package/dist/client/assets/index-DcreRb0E.js +0 -10
- package/dist/client/assets/index-RbnYc2mC.css +0 -2
- package/dist/client/assets/routes-CDZywPpw.js +0 -1
- package/dist/client/assets/typeColors-BREuYmod.js +0 -3
- /package/dist/client/assets/{_projectId.index-jEbJri1I.js → _projectId.index-8YNIf2cB.js} +0 -0
package/dist/index.cjs
CHANGED
|
@@ -114,6 +114,78 @@ function createApiApp(repo, projectRepo, embedder, queryEngine, synthRepo, activ
|
|
|
114
114
|
}
|
|
115
115
|
return c.json(memories);
|
|
116
116
|
});
|
|
117
|
+
app.get("/api/memories/flagged-clusters", (c) => {
|
|
118
|
+
const projectIdParam = c.req.query("projectId");
|
|
119
|
+
const project = projectIdParam ? projectRepo.list().find((p) => p.id === projectIdParam) : void 0;
|
|
120
|
+
const clusters = (0, _membank_core.clusterFlagged)(repo.listReviewEdges(project?.scopeHash));
|
|
121
|
+
const inActiveCluster = new Set(clusters.flatMap((cl) => cl.memoryIds));
|
|
122
|
+
const activeResults = clusters.map((cl) => {
|
|
123
|
+
const memories = repo.findManyById(cl.memoryIds);
|
|
124
|
+
const maxSimilarity = memories.reduce((max, m) => {
|
|
125
|
+
const sim = m.reviewEvents.reduce((ms, e) => Math.max(ms, e.similarity), 0);
|
|
126
|
+
return Math.max(max, sim);
|
|
127
|
+
}, 0);
|
|
128
|
+
return {
|
|
129
|
+
clusterId: cl.clusterId,
|
|
130
|
+
memories,
|
|
131
|
+
maxSimilarity,
|
|
132
|
+
isStale: false
|
|
133
|
+
};
|
|
134
|
+
});
|
|
135
|
+
const staleResults = repo.list({
|
|
136
|
+
needsReview: true,
|
|
137
|
+
...project && { projectId: project.id }
|
|
138
|
+
}).filter((m) => !inActiveCluster.has(m.id)).map((m) => ({
|
|
139
|
+
clusterId: m.id,
|
|
140
|
+
memories: [m],
|
|
141
|
+
maxSimilarity: 0,
|
|
142
|
+
isStale: true
|
|
143
|
+
}));
|
|
144
|
+
return c.json([...activeResults, ...staleResults].sort((a, b) => b.maxSimilarity - a.maxSimilarity));
|
|
145
|
+
});
|
|
146
|
+
app.post("/api/memories/merge", async (c) => {
|
|
147
|
+
const body = await c.req.json();
|
|
148
|
+
if (typeof body.keepId !== "string" || !Array.isArray(body.dropIds) || typeof body.mergedContent !== "string") return c.json({ error: "keepId, dropIds, and mergedContent are required" }, 400);
|
|
149
|
+
try {
|
|
150
|
+
const { kept } = await (0, _membank_core.mergeMemories)({
|
|
151
|
+
keepId: body.keepId,
|
|
152
|
+
dropIds: body.dropIds,
|
|
153
|
+
mergedContent: body.mergedContent
|
|
154
|
+
}, {
|
|
155
|
+
repo,
|
|
156
|
+
embedder,
|
|
157
|
+
activityLogger
|
|
158
|
+
});
|
|
159
|
+
return c.json(kept);
|
|
160
|
+
} catch (err) {
|
|
161
|
+
return c.json({ error: err instanceof Error ? err.message : String(err) }, 400);
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
app.post("/api/memories/merge-suggest", async (c) => {
|
|
165
|
+
if (!(0, _membank_core.isSynthesisEnabled)()) return c.json({ error: "Synthesis is disabled" }, 503);
|
|
166
|
+
const body = await c.req.json();
|
|
167
|
+
if (!Array.isArray(body.ids)) return c.json({ error: "ids array is required" }, 400);
|
|
168
|
+
const memories = body.ids.map((id) => repo.findById(id)).filter((m) => m !== void 0);
|
|
169
|
+
if (memories.length === 0) return c.json({ error: "No memories found for given ids" }, 404);
|
|
170
|
+
try {
|
|
171
|
+
const content = await (0, _membank_core.suggestMerge)(memories.map((m) => m.content));
|
|
172
|
+
return c.json({ content });
|
|
173
|
+
} catch (err) {
|
|
174
|
+
return c.json({ error: err instanceof Error ? err.message : String(err) }, 500);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
app.post("/api/memories/delete-many", async (c) => {
|
|
178
|
+
const body = await c.req.json();
|
|
179
|
+
if (!Array.isArray(body.ids)) return c.json({ error: "ids array is required" }, 400);
|
|
180
|
+
const results = await (0, _membank_core.deleteManyMemories)(body.ids, repo, activityLogger);
|
|
181
|
+
return c.json(results);
|
|
182
|
+
});
|
|
183
|
+
app.post("/api/memories/resolve-many", async (c) => {
|
|
184
|
+
const body = await c.req.json();
|
|
185
|
+
if (!Array.isArray(body.ids)) return c.json({ error: "ids array is required" }, 400);
|
|
186
|
+
const results = (0, _membank_core.resolveReviewMany)(body.ids, repo);
|
|
187
|
+
return c.json(results);
|
|
188
|
+
});
|
|
117
189
|
app.get("/api/memories/:id", (c) => {
|
|
118
190
|
const memory = repo.findById(c.req.param("id"));
|
|
119
191
|
if (!memory) return c.json({ error: "Not found" }, 404);
|
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { createServer } from "node:net";
|
|
|
3
3
|
import { dirname, extname, join } from "node:path";
|
|
4
4
|
import { fileURLToPath } from "node:url";
|
|
5
5
|
import { serve } from "@hono/node-server";
|
|
6
|
-
import { ActivityEventTypeSchema, DatabaseManager, EmbeddingService, QueryEngine, createActivityLogger, createActivityRepository, createMemoryRepository, createProjectRepository, createSynthesisAgentRunner, createSynthesisRepository, deleteMemory, isSynthesisEnabled, listEvents, revertMemory, revertSynthesis, runSynthesis, updateMemory } from "@membank/core";
|
|
6
|
+
import { ActivityEventTypeSchema, DatabaseManager, EmbeddingService, QueryEngine, clusterFlagged, createActivityLogger, createActivityRepository, createMemoryRepository, createProjectRepository, createSynthesisAgentRunner, createSynthesisRepository, deleteManyMemories, deleteMemory, isSynthesisEnabled, listEvents, mergeMemories, resolveReviewMany, revertMemory, revertSynthesis, runSynthesis, suggestMerge, updateMemory } from "@membank/core";
|
|
7
7
|
import { Hono } from "hono";
|
|
8
8
|
import open from "open";
|
|
9
9
|
//#region src/server/index.ts
|
|
@@ -90,6 +90,78 @@ function createApiApp(repo, projectRepo, embedder, queryEngine, synthRepo, activ
|
|
|
90
90
|
}
|
|
91
91
|
return c.json(memories);
|
|
92
92
|
});
|
|
93
|
+
app.get("/api/memories/flagged-clusters", (c) => {
|
|
94
|
+
const projectIdParam = c.req.query("projectId");
|
|
95
|
+
const project = projectIdParam ? projectRepo.list().find((p) => p.id === projectIdParam) : void 0;
|
|
96
|
+
const clusters = clusterFlagged(repo.listReviewEdges(project?.scopeHash));
|
|
97
|
+
const inActiveCluster = new Set(clusters.flatMap((cl) => cl.memoryIds));
|
|
98
|
+
const activeResults = clusters.map((cl) => {
|
|
99
|
+
const memories = repo.findManyById(cl.memoryIds);
|
|
100
|
+
const maxSimilarity = memories.reduce((max, m) => {
|
|
101
|
+
const sim = m.reviewEvents.reduce((ms, e) => Math.max(ms, e.similarity), 0);
|
|
102
|
+
return Math.max(max, sim);
|
|
103
|
+
}, 0);
|
|
104
|
+
return {
|
|
105
|
+
clusterId: cl.clusterId,
|
|
106
|
+
memories,
|
|
107
|
+
maxSimilarity,
|
|
108
|
+
isStale: false
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
const staleResults = repo.list({
|
|
112
|
+
needsReview: true,
|
|
113
|
+
...project && { projectId: project.id }
|
|
114
|
+
}).filter((m) => !inActiveCluster.has(m.id)).map((m) => ({
|
|
115
|
+
clusterId: m.id,
|
|
116
|
+
memories: [m],
|
|
117
|
+
maxSimilarity: 0,
|
|
118
|
+
isStale: true
|
|
119
|
+
}));
|
|
120
|
+
return c.json([...activeResults, ...staleResults].sort((a, b) => b.maxSimilarity - a.maxSimilarity));
|
|
121
|
+
});
|
|
122
|
+
app.post("/api/memories/merge", async (c) => {
|
|
123
|
+
const body = await c.req.json();
|
|
124
|
+
if (typeof body.keepId !== "string" || !Array.isArray(body.dropIds) || typeof body.mergedContent !== "string") return c.json({ error: "keepId, dropIds, and mergedContent are required" }, 400);
|
|
125
|
+
try {
|
|
126
|
+
const { kept } = await mergeMemories({
|
|
127
|
+
keepId: body.keepId,
|
|
128
|
+
dropIds: body.dropIds,
|
|
129
|
+
mergedContent: body.mergedContent
|
|
130
|
+
}, {
|
|
131
|
+
repo,
|
|
132
|
+
embedder,
|
|
133
|
+
activityLogger
|
|
134
|
+
});
|
|
135
|
+
return c.json(kept);
|
|
136
|
+
} catch (err) {
|
|
137
|
+
return c.json({ error: err instanceof Error ? err.message : String(err) }, 400);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
app.post("/api/memories/merge-suggest", async (c) => {
|
|
141
|
+
if (!isSynthesisEnabled()) return c.json({ error: "Synthesis is disabled" }, 503);
|
|
142
|
+
const body = await c.req.json();
|
|
143
|
+
if (!Array.isArray(body.ids)) return c.json({ error: "ids array is required" }, 400);
|
|
144
|
+
const memories = body.ids.map((id) => repo.findById(id)).filter((m) => m !== void 0);
|
|
145
|
+
if (memories.length === 0) return c.json({ error: "No memories found for given ids" }, 404);
|
|
146
|
+
try {
|
|
147
|
+
const content = await suggestMerge(memories.map((m) => m.content));
|
|
148
|
+
return c.json({ content });
|
|
149
|
+
} catch (err) {
|
|
150
|
+
return c.json({ error: err instanceof Error ? err.message : String(err) }, 500);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
app.post("/api/memories/delete-many", async (c) => {
|
|
154
|
+
const body = await c.req.json();
|
|
155
|
+
if (!Array.isArray(body.ids)) return c.json({ error: "ids array is required" }, 400);
|
|
156
|
+
const results = await deleteManyMemories(body.ids, repo, activityLogger);
|
|
157
|
+
return c.json(results);
|
|
158
|
+
});
|
|
159
|
+
app.post("/api/memories/resolve-many", async (c) => {
|
|
160
|
+
const body = await c.req.json();
|
|
161
|
+
if (!Array.isArray(body.ids)) return c.json({ error: "ids array is required" }, 400);
|
|
162
|
+
const results = resolveReviewMany(body.ids, repo);
|
|
163
|
+
return c.json(results);
|
|
164
|
+
});
|
|
93
165
|
app.get("/api/memories/:id", (c) => {
|
|
94
166
|
const memory = repo.findById(c.req.param("id"));
|
|
95
167
|
if (!memory) return c.json({ error: "Not found" }, 404);
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as e,$n as t,$t as n,An as r,B as i,C as a,D as o,E as s,F as c,Fn as l,G as u,Gn as d,H as f,Hn as p,I as m,J as h,K as g,Kn as _,Kr as v,L as y,M as b,N as x,Nn as S,P as C,Pn as w,Qn as T,S as E,Sn as D,Tn as O,U as k,V as A,Vn as j,Wn as M,X as ee,Xn as te,Xt as ne,Y as N,Yr as re,Z as ie,Zn as P,Zt as ae,a as F,an as oe,ar as I,c as L,cn as se,ct as ce,dr as le,dt as ue,en as R,er as de,f as fe,ft as pe,gt as me,h as he,hn as z,ht as ge,in as B,j as _e,k as ve,kn as V,ln as ye,lt as be,mt as xe,n as Se,nn as Ce,nr as we,on as Te,or as Ee,ot as De,p as H,pt as Oe,q as ke,qn as U,qr as Ae,qt as je,r as Me,rn as W,rt as Ne,sn as Pe,st as Fe,t as Ie,tn as Le,tr as G,un as K,ur as Re,ut as ze,v as Be,w as q,wn as Ve,wt as He,x as Ue,xn as We,y as Ge,yn as Ke,z as qe,zn as Je}from"./collections-Ci78mgZL.js";import{C as Ye,S as Xe,a as Ze,b as Qe,f as $e,g as et,h as tt,i as nt,m as rt,o as it,p as at,r as ot,s as st,t as ct,u as lt,x as J}from"./_projectId-ChOHT2g6.js";var ut=class{constructor(e){this.atom=Xe(e)}setState(e){this.atom.set(e)}get state(){return this.atom.get()}get(){return this.state}subscribe(e){return this.atom.subscribe(Ye(e))}},dt=class{constructor(e){this.atom=Xe(e)}get state(){return this.atom.get()}get(){return this.state}subscribe(e){return this.atom.subscribe(Ye(e))}};function ft(e){return typeof e==`function`?new dt(e):new ut(e)}var Y=re(Ae(),1);function pt(e,t){if(e===void 0)return{shouldBlockFn:()=>!0,withResolver:!1};if(`shouldBlockFn`in e)return e;if(typeof e==`function`){let n=!!(t??!0);return{shouldBlockFn:async()=>n?await e():!1,enableBeforeUnload:n,withResolver:!1}}let n=!!(e.condition??!0),r=e.blockerFn;return{shouldBlockFn:async()=>n&&r!==void 0?await r():n,enableBeforeUnload:n,withResolver:r===void 0}}function mt(e,t){let{shouldBlockFn:n,enableBeforeUnload:r=!0,disabled:i=!1,withResolver:a=!1}=pt(e,t),o=le(),{history:s}=o,[c,l]=Y.useState({status:`idle`,current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0});return Y.useEffect(()=>i?void 0:s.block({blockerFn:async e=>{function t(e){let t=o.parseLocation(e),n=o.getMatchedRoutes(t.pathname);return n.foundRoute===void 0?{routeId:`__notFound__`,fullPath:t.pathname,pathname:t.pathname,params:n.routeParams,search:o.options.parseSearch(e.search)}:{routeId:n.foundRoute.id,fullPath:n.foundRoute.fullPath,pathname:t.pathname,params:n.routeParams,search:o.options.parseSearch(e.search)}}let r=t(e.currentLocation),i=t(e.nextLocation);if(r.routeId===`__notFound__`&&i.routeId!==`__notFound__`)return!1;let s=await n({action:e.action,current:r,next:i});if(!a)return s;if(!s)return!1;let c=await new Promise(t=>{l({status:`blocked`,current:r,next:i,action:e.action,proceed:()=>t(!1),reset:()=>t(!0)})});return l({status:`idle`,current:void 0,next:void 0,action:void 0,proceed:void 0,reset:void 0}),c},enableBeforeUnload:r}),[n,r,i,a,s,o]),c}var ht=0;function gt(e,t={}){let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(ht);let a=()=>e?.focus({preventScroll:n});if(i)return a(),p;let o=requestAnimationFrame(a);return ht=o,()=>{ht===o&&(cancelAnimationFrame(o),ht=0)}}var _t={inert:new WeakMap,"aria-hidden":new WeakMap},vt=`data-base-ui-inert`,yt={inert:new WeakSet,"aria-hidden":new WeakSet},bt=new WeakMap,xt=0;function St(e){return yt[e]}function Ct(e){return e?O(e)?e.host:Ct(e.parentNode):null}var wt=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=Ct(t);return e.contains(n)?n:null}).filter(e=>e!=null),Tt=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},Et=(e,t,n)=>{let r=[],i=e=>{!e||n.has(e)||Array.from(e.children).forEach(e=>{z(e)!==`script`&&(t.has(e)?i(e):r.push(e))})};return i(e),r};function Dt(e,t,n,r,{mark:i=!0,markerIgnoreElements:a=[]}){let o=r?`inert`:n?`aria-hidden`:null,s=null,c=null,l=wt(t,e),u=i?wt(t,a):[],d=new Set(u),f=i?Et(t,Tt(l),new Set(l)).filter(e=>!d.has(e)):[],p=[],m=[];if(o){let e=_t[o],n=St(o);c=n,s=e;let r=wt(t,Array.from(t.querySelectorAll(`[aria-live]`))),i=l.concat(r);Et(t,Tt(i),new Set(i)).forEach(t=>{let r=t.getAttribute(o),i=r!==null&&r!==`false`,a=(e.get(t)||0)+1;e.set(t,a),p.push(t),a===1&&i&&n.add(t),i||t.setAttribute(o,o===`inert`?``:`true`)})}return i&&f.forEach(e=>{let t=(bt.get(e)||0)+1;bt.set(e,t),m.push(e),t===1&&e.setAttribute(vt,``)}),xt+=1,()=>{s&&p.forEach(e=>{let t=(s.get(e)||0)-1;s.set(e,t),t||(!c?.has(e)&&o&&e.removeAttribute(o),c?.delete(e))}),i&&m.forEach(e=>{let t=(bt.get(e)||0)-1;bt.set(e,t),t||e.removeAttribute(vt)}),--xt,xt||(_t.inert=new WeakMap,_t[`aria-hidden`]=new WeakMap,yt.inert=new WeakSet,yt[`aria-hidden`]=new WeakSet,bt=new WeakMap)}}function Ot(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:i=!0,markerIgnoreElements:a=[]}=t,o=W(e[0]).body;return Dt(e,o,n,r,{mark:i,markerIgnoreElements:a})}var X=v();function kt(e,t){let n=Ke(Le(e));return e instanceof n.KeyboardEvent?`keyboard`:e instanceof n.FocusEvent?t||`keyboard`:`pointerType`in e?e.pointerType||`keyboard`:`touches`in e?`touch`:e instanceof n.MouseEvent?t||(e.detail===0?`keyboard`:`mouse`):``}var At=20,jt=[];function Mt(){jt=jt.filter(e=>e.deref()?.isConnected)}function Nt(e){Mt(),e&&z(e)!==`body`&&(jt.push(new WeakRef(e)),jt.length>At&&(jt=jt.slice(-At)))}function Pt(){return Mt(),jt[jt.length-1]?.deref()}function Ft(e){return e?ge(e)?e:me(e)[0]||e:null}function It(e,t){if(e.hasAttribute(`tabindex`)&&!e.hasAttribute(`data-tabindex`)||!t.current.includes(`floating`)&&!e.getAttribute(`role`)?.includes(`dialog`))return;let n=ue(e).filter(e=>{let t=e.getAttribute(`data-tabindex`)||``;return ge(e)||e.hasAttribute(`data-tabindex`)&&!t.startsWith(`-`)}),r=e.getAttribute(`tabindex`);t.current.includes(`floating`)||n.length===0?r!==`0`&&e.setAttribute(`tabindex`,`0`):(r!==`-1`||e.hasAttribute(`data-tabindex`)&&e.getAttribute(`data-tabindex`)!==`-1`)&&(e.setAttribute(`tabindex`,`-1`),e.setAttribute(`data-tabindex`,`-1`))}function Lt(t){let{context:r,children:i,disabled:a=!1,initialFocus:o=!0,returnFocus:s=!0,restoreFocus:c=!1,modal:l=!0,closeOnFocusOut:u=!0,openInteractionType:f=``,nextFocusableElement:p,previousFocusableElement:m,beforeContentFocusGuardRef:g,externalTree:v,getInsideElements:y}=t,b=`rootStore`in r?r.rootStore:r,x=b.useState(`open`),C=b.useState(`domReferenceElement`),w=b.useState(`floatingElement`),{events:E,dataRef:O}=b.context,k=Te(()=>O.current.floatingContext?.nodeId),A=o===!1,j=ne(C)&&A,N=Y.useRef([`content`]),re=Pe(o),ie=Pe(s),P=Pe(f),F=ee(v),I=e(),L=Y.useRef(!1),le=Y.useRef(!1),ue=Y.useRef(!1),de=Y.useRef(null),fe=Y.useRef(``),he=Y.useRef(``),z=Y.useRef(null),B=Y.useRef(null),_e=se(z,g,I?.beforeInsideRef),ve=se(B,I?.afterInsideRef),Se=T(),we=T(),Ee=oe(),De=I!=null,H=je(w),ke=Te((e=H)=>e?me(e):[]),U=Te(()=>y?.().filter(e=>e!=null)??[]);Y.useEffect(()=>{if(a||!l)return;function e(e){e.key===`Tab`&&R(H,n(W(H)))&&ke().length===0&&!j&&_(e)}return K(W(H),`keydown`,e)},[a,C,H,l,N,j,ke]),Y.useEffect(()=>{if(a||!x)return;let e=W(H);function t(){ue.current=!1}function n(e){let t=Le(e),n=U();ue.current=!(R(w,t)||R(C,t)||R(I?.portalNode,t)||n.some(e=>e===t||R(e,t))),he.current=e.pointerType||`keyboard`,t?.closest(`[data-base-ui-click-trigger]`)&&(le.current=!0)}function r(){he.current=`keyboard`}return ye(K(e,`pointerdown`,n,!0),K(e,`pointerup`,t,!0),K(e,`pointercancel`,t,!0),K(e,`keydown`,r,!0))},[a,w,C,H,x,I,U]),Y.useEffect(()=>{if(a||!u)return;let e=W(H);function t(){le.current=!0,we.start(0,()=>{le.current=!1})}function r(e){let t=Le(e);ge(t)&&(de.current=t)}function i(t){let r=t.relatedTarget,i=t.currentTarget,a=Le(t);queueMicrotask(()=>{let o=k(),s=b.context.triggerElements,u=U(),d=r?.hasAttribute(ce(`focus-guard`))&&[z.current,B.current,I?.beforeInsideRef.current,I?.afterInsideRef.current,I?.beforeOutsideRef.current,I?.afterOutsideRef.current,h(m),h(p)].includes(r),f=!(R(C,r)||R(w,r)||R(r,w)||R(I?.portalNode,r)||u.some(e=>e===r||R(e,r))||r!=null&&s.hasElement(r)||s.hasMatchingElement(e=>R(e,r))||d||F&&(ze(F.nodesRef.current,o).find(e=>R(e.context?.elements.floating,r)||R(e.context?.elements.domReference,r))||be(F.nodesRef.current,o).find(e=>[e.context?.elements.floating,je(e.context?.elements.floating)].includes(r)||e.context?.elements.domReference===r)));if(i===C&&H&&It(H,N),c&&i!==C&&!He(a)&&n(e)===e.body){if(D(H)&&(H.focus(),c===`popup`)){Ee.request(()=>{H.focus()});return}let e=ke(),t=de.current,n=(t&&e.includes(t)?t:null)||e[e.length-1]||H;D(n)&&n.focus()}if(O.current.insideReactTree){O.current.insideReactTree=!1;return}(j||!l)&&r&&f&&!le.current&&(j||r!==Pt())&&(L.current=!0,b.setOpen(!1,V(S,t)))})}function o(){ue.current||(O.current.insideReactTree=!0,Se.start(0,()=>{O.current.insideReactTree=!1}))}let s=D(C)?C:null;if(!(!w&&!s))return ye(s&&K(s,`focusout`,i),s&&K(s,`pointerdown`,t),w&&K(w,`focusin`,r),w&&K(w,`focusout`,i),w&&I&&K(w,`focusout`,o,!0))},[a,C,w,H,l,F,I,b,u,c,ke,j,k,N,O,Se,we,Ee,p,m,U]),Y.useEffect(()=>{if(a||!w||!x)return;let e=Array.from(I?.portalNode?.querySelectorAll(`[${ce(`portal`)}]`)||[]),t=(F?be(F.nodesRef.current,k()):[]).find(e=>ne(e.context?.elements.domReference||null))?.context?.elements.domReference,n=Ot([w,...e,z.current,B.current,I?.beforeOutsideRef.current,I?.afterOutsideRef.current,...U(),t,h(m),h(p),j?C:null].filter(e=>e!=null),{ariaHidden:l||j,mark:!1}),r=Ot([w,...e].filter(e=>e!=null));return()=>{r(),n()}},[x,a,C,w,l,N,I,j,F,k,p,m,U]),G(()=>{if(!x||a||!D(H))return;let e=n(W(H));queueMicrotask(()=>{let t=re.current,n=typeof t==`function`?t(P.current||``):t;if(n===void 0||n===!1||R(H,e))return;let r=null,i=()=>(r??=ke(H),r[0]||H),a;a=n===!0||n===null?i():h(n),a||=i(),gt(a,{preventScroll:a===H})})},[a,x,H,A,ke,re,P]),G(()=>{if(a||!H)return;let e=W(H);Nt(n(e));function t(e){if(e.open||(fe.current=kt(e.nativeEvent,he.current)),e.reason===`trigger-hover`&&e.nativeEvent.type===`mouseleave`&&(L.current=!0),e.reason===`outside-press`)if(e.nested)L.current=!1;else if(M(e.nativeEvent)||d(e.nativeEvent))L.current=!1;else{let e=!1;W(H).createElement(`div`).focus({get preventScroll(){return e=!0,!1}}),e?L.current=!1:L.current=!0}}E.on(`openchange`,t);function r(){let e=ie.current,t=typeof e==`function`?e(fe.current):e;if(t===void 0||t===!1)return null;if(t===null&&(t=!0),typeof t==`boolean`){let e=C||Pt();return e&&e.isConnected?e:null}let n=C||Pt();return h(t)||n||null}return()=>{E.off(`openchange`,t);let i=n(e),a=U(),o=R(w,i)||a.some(e=>e===i||R(e,i))||F&&ze(F.nodesRef.current,k(),!1).some(e=>R(e.context?.elements.floating,i)),s=ie.current,c=r();queueMicrotask(()=>{let t=Ft(c),n=typeof s!=`boolean`;s&&!L.current&&D(t)&&(!(!n&&t!==i&&i!==e.body)||o)&&t.focus({preventScroll:!0}),L.current=!1})}},[a,w,H,ie,O,E,F,C,k,U]),G(()=>{if(!te||x||!w)return;let e=n(W(w));!D(e)||!ae(e)||R(w,e)&&e.blur()},[x,w]),G(()=>{if(!(a||!I))return I.setFocusManagerState({modal:l,closeOnFocusOut:u,open:x,onOpenChange:b.setOpen,domReference:C}),()=>{I.setFocusManagerState(null)}},[a,I,l,x,b,u,C]),G(()=>{if(!(a||!H))return It(H,N),()=>{queueMicrotask(Mt)}},[a,H,N]);let Ae=!a&&(l?!j:!0)&&(De||l);return(0,X.jsxs)(Y.Fragment,{children:[Ae&&(0,X.jsx)(Ce,{"data-type":`inside`,ref:_e,onFocus:e=>{if(l){let e=ke();gt(e[e.length-1])}else I?.portalNode&&(L.current=!1,xe(e,I.portalNode)?pe(C)?.focus():h(m??I.beforeOutsideRef)?.focus())}}),i,Ae&&(0,X.jsx)(Ce,{"data-type":`inside`,ref:ve,onFocus:e=>{l?gt(ke()[0]):I?.portalNode&&(u&&(L.current=!0),xe(e,I.portalNode)?Oe(C)?.focus():h(p??I.afterOutsideRef)?.focus())}})]})}var Rt=new Map([[`select`,`listbox`],[`combobox`,`listbox`],[`label`,!1]]);function zt(e,t={}){let n=`rootStore`in e?e.rootStore:e,r=n.useState(`open`),i=n.useState(`floatingId`),a=n.useState(`domReferenceElement`),o=n.useState(`floatingElement`),{role:s=`dialog`}=t,c=Fe(),l=a?.id||c,u=Y.useMemo(()=>je(o)?.id||i,[o,i]),d=Rt.get(s)??s,f=N()!=null,p=Y.useMemo(()=>d===`tooltip`||s===`label`?j:{"aria-haspopup":d===`alertdialog`?`dialog`:d,"aria-expanded":`false`,...d===`listbox`&&{role:`combobox`},...d===`menu`&&f&&{role:`menuitem`},...s===`select`&&{"aria-autocomplete":`none`},...s===`combobox`&&{"aria-autocomplete":`list`}},[d,f,s]),m=Y.useMemo(()=>d===`tooltip`||s===`label`?{[`aria-${s===`label`?`labelledby`:`describedby`}`]:r?u:void 0}:{...p,"aria-expanded":r?`true`:`false`,"aria-controls":r?u:void 0,...d===`menu`&&{id:l}},[d,u,r,l,s,p]),h=Y.useMemo(()=>{let e={id:u,...d&&{role:d}};return d===`tooltip`||s===`label`?e:{...e,...d===`menu`&&{"aria-labelledby":l}}},[d,u,l,s]),g=Y.useCallback(({active:e,selected:t})=>{let n={role:`option`,...e&&{id:`${u}-fui-option`}};switch(s){case`select`:case`combobox`:return{...n,"aria-selected":t};default:}return{}},[u,s]);return Y.useMemo(()=>({reference:m,floating:h,item:g,trigger:p}),[m,h,p,g])}function Bt(e){return De(19)?e:e?`true`:void 0}var Vt=new Map([[`bold`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z`}))],[`duotone`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M208,96l-80,80L48,96Z`,opacity:`0.2`}),Y.createElement(`path`,{d:`M215.39,92.94A8,8,0,0,0,208,88H48a8,8,0,0,0-5.66,13.66l80,80a8,8,0,0,0,11.32,0l80-80A8,8,0,0,0,215.39,92.94ZM128,164.69,67.31,104H188.69Z`}))],[`fill`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,48,88H208a8,8,0,0,1,5.66,13.66Z`}))],[`light`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M212.24,100.24l-80,80a6,6,0,0,1-8.48,0l-80-80a6,6,0,0,1,8.48-8.48L128,167.51l75.76-75.75a6,6,0,0,1,8.48,8.48Z`}))],[`regular`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z`}))],[`thin`,Y.createElement(Y.Fragment,null,Y.createElement(`path`,{d:`M210.83,98.83l-80,80a4,4,0,0,1-5.66,0l-80-80a4,4,0,0,1,5.66-5.66L128,170.34l77.17-77.17a4,4,0,1,1,5.66,5.66Z`}))]]),Ht=Y.forwardRef((e,t)=>Y.createElement(et,{ref:t,...e,weights:Vt}));Ht.displayName=`CaretDownIcon`;var Ut=Ht,Wt=class{constructor(e,t){this.fn=e,this.options=t,this.lastExecutionTime=0,this.isPending=!1,this.maybeExecute=(...e)=>{let t=Date.now()-this.lastExecutionTime;if(this.options.leading&&t>=this.options.wait)this.execute(...e);else if(this.lastArgs=e,!this.timeoutId&&this.options.trailing){let e=this.options.wait-t;this.isPending=!0,this.timeoutId=setTimeout(()=>{this.lastArgs!==void 0&&this.execute(...this.lastArgs)},e)}},this.execute=(...e)=>{this.fn(...e),this.options.onExecute?.(e,this),this.lastExecutionTime=Date.now(),this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.flush=()=>{this.isPending&&this.lastArgs&&this.execute(...this.lastArgs)},this.cancel=()=>{this.clearTimeout(),this.lastArgs=void 0,this.isPending=!1},this.clearTimeout=()=>{this.timeoutId&&=(clearTimeout(this.timeoutId),void 0)},this.options.leading===void 0&&this.options.trailing===void 0&&(this.options.leading=!0,this.options.trailing=!0)}};function Gt(e,t){return new Wt(e,t).maybeExecute}var Kt=class{#e=!0;#t;#n;#r;#i;#a;#o;#s;#c=0;#l=5;#u=!1;#d=!1;#f=null;#p=()=>{this.debugLog(`Connected to event bus`),this.#a=!0,this.#u=!1,this.debugLog(`Emitting queued events`,this.#i),this.#i.forEach(e=>this.emitEventToBus(e)),this.#i=[],this.stopConnectLoop(),this.#n().removeEventListener(`tanstack-connect-success`,this.#p)};#m=()=>{if(this.#c<this.#l){this.#c++,this.dispatchCustomEvent(`tanstack-connect`,{});return}this.#n().removeEventListener(`tanstack-connect`,this.#m),this.#d=!0,this.debugLog(`Max retries reached, giving up on connection`),this.stopConnectLoop()};#h=()=>{this.#u||(this.#u=!0,this.#n().addEventListener(`tanstack-connect-success`,this.#p),this.#m())};constructor({pluginId:e,debug:t=!1,enabled:n=!0,reconnectEveryMs:r=300}){this.#t=e,this.#e=n,this.#n=this.getGlobalTarget,this.#r=t,this.debugLog(` Initializing event subscription for plugin`,this.#t),this.#i=[],this.#a=!1,this.#d=!1,this.#o=null,this.#s=r}startConnectLoop(){this.#o!==null||this.#a||(this.debugLog(`Starting connect loop (every ${this.#s}ms)`),this.#o=setInterval(this.#m,this.#s))}stopConnectLoop(){this.#u=!1,this.#o!==null&&(clearInterval(this.#o),this.#o=null,this.#i=[],this.debugLog(`Stopped connect loop`))}debugLog(...e){this.#r&&console.log(`🌴 [tanstack-devtools:${this.#t}-plugin]`,...e)}getGlobalTarget(){if(typeof globalThis<`u`&&globalThis.__TANSTACK_EVENT_TARGET__)return this.debugLog(`Using global event target`),globalThis.__TANSTACK_EVENT_TARGET__;if(typeof window<`u`&&window.addEventListener!==void 0)return this.debugLog(`Using window as event target`),window;let e=typeof EventTarget<`u`?new EventTarget:void 0;return e===void 0||e.addEventListener===void 0?(this.debugLog(`No event mechanism available, running in non-web environment`),{addEventListener:()=>{},removeEventListener:()=>{},dispatchEvent:()=>!1}):(this.debugLog(`Using new EventTarget as fallback`),e)}getPluginId(){return this.#t}dispatchCustomEventShim(e,t){try{let n=new Event(e,{detail:t});this.#n().dispatchEvent(n)}catch{this.debugLog(`Failed to dispatch shim event`)}}dispatchCustomEvent(e,t){try{this.#n().dispatchEvent(new CustomEvent(e,{detail:t}))}catch{this.dispatchCustomEventShim(e,t)}}emitEventToBus(e){this.debugLog(`Emitting event to client bus`,e),this.dispatchCustomEvent(`tanstack-dispatch-event`,e)}createEventPayload(e,t){return{type:`${this.#t}:${e}`,payload:t,pluginId:this.#t}}emit(e,t){if(!this.#e){this.debugLog(`Event bus client is disabled, not emitting event`,e,t);return}if(this.#f&&(this.debugLog(`Emitting event to internal event target`,e,t),this.#f.dispatchEvent(new CustomEvent(`${this.#t}:${e}`,{detail:this.createEventPayload(e,t)}))),this.#d){this.debugLog(`Previously failed to connect, not emitting to bus`);return}if(!this.#a){this.debugLog(`Bus not available, will be pushed as soon as connected`),this.#i.push(this.createEventPayload(e,t)),typeof CustomEvent<`u`&&!this.#u&&(this.#h(),this.startConnectLoop());return}return this.emitEventToBus(this.createEventPayload(e,t))}on(e,t,n){let r=n?.withEventTarget??!1,i=`${this.#t}:${e}`;if(r&&(this.#f||=new EventTarget,this.#f.addEventListener(i,e=>{t(e.detail)})),!this.#e)return this.debugLog(`Event bus client is disabled, not registering event`,i),()=>{};let a=e=>{this.debugLog(`Received event from bus`,e.detail),t(e.detail)};return this.#n().addEventListener(i,a),this.debugLog(`Registered event to bus`,i),()=>{r&&this.#f?.removeEventListener(i,a),this.#n().removeEventListener(i,a)}}onAll(e){if(!this.#e)return this.debugLog(`Event bus client is disabled, not registering event`),()=>{};let t=t=>{let n=t.detail;e(n)};return this.#n().addEventListener(`tanstack-devtools-global`,t),()=>this.#n().removeEventListener(`tanstack-devtools-global`,t)}onAllPluginEvents(e){if(!this.#e)return this.debugLog(`Event bus client is disabled, not registering event`),()=>{};let t=t=>{let n=t.detail;this.#t&&n.pluginId!==this.#t||e(n)};return this.#n().addEventListener(`tanstack-devtools-global`,t),()=>this.#n().removeEventListener(`tanstack-devtools-global`,t)}},Z=new class extends Kt{constructor(){super({pluginId:`form-devtools`,reconnectEveryMs:1e3})}};function qt(e,t){return typeof e==`function`?e(t):e}function Jt(e,t){return an(t).reduce((e,t)=>{if(e===null)return null;if(e!==void 0)return e[t]},e)}function Yt(e,t,n){let r=an(t);function i(e){if(!r.length)return qt(n,e);let t=r.shift();if(typeof t==`string`||typeof t==`number`&&!Array.isArray(e))return typeof e==`object`?(e===null&&(e={}),{...e,[t]:i(e[t])}):{[t]:i()};if(Array.isArray(e)&&typeof t==`number`){let n=e.slice(0,t);return[...n.length?n:Array(t),i(e[t]),...e.slice(t+1)]}return[...Array(t),i()]}return i(e)}function Xt(e,t){let n=an(t);function r(e){if(!e)return;if(n.length===1){let t=n[0];if(Array.isArray(e)&&typeof t==`number`)return e.filter((e,n)=>n!==t);let{[t]:r,...i}=e;return i}let t=n.shift();if((typeof t==`string`||typeof t==`number`&&!Array.isArray(e))&&typeof e==`object`)return{...e,[t]:r(e[t])};if(typeof t==`number`&&Array.isArray(e)){if(t>=e.length)return e;let n=e.slice(0,t);return[...n.length?n:Array(t),r(e[t]),...e.slice(t+1)]}throw Error(`It seems we have created an infinite loop in deleteBy. `)}return r(e)}var Zt=/^(\d+)$/gm,Qt=/\.(\d+)(?=\.)/gm,$t=/^(\d+)\./gm,en=/\.(\d+$)/gm,tn=/\.{2,}/gm,nn=`__int__`,rn=`${nn}$1`;function an(e){if(Array.isArray(e))return[...e];if(typeof e!=`string`)throw Error(`Path must be a string.`);return e.replace(/(^\[)|]/gm,``).replace(/\[/g,`.`).replace(Zt,rn).replace(Qt,`.${rn}.`).replace($t,`${rn}.`).replace(en,`.${rn}`).replace(tn,`.`).split(`.`).map(e=>{if(e.startsWith(nn)){let t=e.substring(7),n=parseInt(t,10);return String(n)===t?n:t}return e})}function on(e){return!(Array.isArray(e)&&e.length===0)}function sn(e,t){return t.validationLogic({form:t.form,validators:t.validators,event:{type:e,fieldName:t.fieldName,async:!1},runValidation:e=>e.validators.filter(Boolean).map(e=>({cause:e.cause,validate:e.fn}))})}function cn(e,t){let{asyncDebounceMs:n}=t,{onBlurAsyncDebounceMs:r,onChangeAsyncDebounceMs:i,onDynamicAsyncDebounceMs:a}=t.validators||{},o=n??0;return t.validationLogic({form:t.form,validators:t.validators,event:{type:e,fieldName:t.fieldName,async:!0},runValidation:t=>t.validators.filter(Boolean).map(t=>{let n=t?.cause||e,s=o;switch(n){case`change`:s=i??o;break;case`blur`:s=r??o;break;case`dynamic`:s=a??o;break;case`submit`:s=0;break}return e===`submit`&&(s=0),{cause:n,validate:t.fn,debounceMs:s}})})}var ln=e=>!!e&&typeof e==`object`&&`fields`in e;function un(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i of n)if(!r.includes(i)||!un(e[i],t[i]))return!1;return!0}var dn=({newFormValidatorError:e,isPreviousErrorFromFormValidator:t,previousErrorValue:n})=>e?{newErrorValue:e,newSource:`form`}:t?{newErrorValue:void 0,newSource:void 0}:n?{newErrorValue:n,newSource:`field`}:{newErrorValue:void 0,newSource:void 0},fn=({formLevelError:e,fieldLevelError:t})=>t?{newErrorValue:t,newSource:`field`}:e?{newErrorValue:e,newSource:`form`}:{newErrorValue:void 0,newSource:void 0};function Q(e,t){return e==null?t:{...e,...t}}for(var pn=256,mn=[],hn;pn--;)mn[pn]=(pn+256).toString(16).substring(1);function gn(){let e=0,t,n=``;if(!hn||pn+16>256){for(hn=Array(256),e=256;e--;)hn[e]=256*Math.random()|0;e=0,pn=0}for(;e<16;e++)t=hn[pn+e],e===6?n+=mn[t&15|64]:e===8?n+=mn[t&63|128]:n+=mn[t],e&1&&e>1&&e<11&&(n+=`-`);return pn++,n}var _n=Gt(e=>Z.emit(`form-state`,{id:e.formId,state:e.store.state}),{wait:300});function vn(e){if(typeof e!=`object`||!e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++)t[n]=vn(e[n]);return t}if(e instanceof Map){let t=new Map;return e.forEach((e,n)=>{t.set(n,vn(e))}),t}if(e instanceof Set){let t=new Set;return e.forEach(e=>{t.add(vn(e))}),t}let t={};for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=vn(e[n]));return t}var yn=e=>{if(!e.validators)return e.runValidation({validators:[],form:e.form});let t=e.event.async,n=t?void 0:{fn:e.validators.onMount,cause:`mount`},r={fn:t?e.validators.onChangeAsync:e.validators.onChange,cause:`change`},i={fn:t?e.validators.onBlurAsync:e.validators.onBlur,cause:`blur`},a={fn:t?e.validators.onSubmitAsync:e.validators.onSubmit,cause:`submit`},o=t?void 0:{fn:()=>void 0,cause:`server`};switch(e.event.type){case`mount`:return e.runValidation({validators:[n],form:e.form});case`submit`:return e.runValidation({validators:[r,i,a,o],form:e.form});case`server`:return e.runValidation({validators:[],form:e.form});case`blur`:return e.runValidation({validators:[i,o],form:e.form});case`change`:return e.runValidation({validators:[r,o],form:e.form});default:throw Error(`Unknown validation event type: ${e.event.type}`)}};function bn(e,t){let n=new Map;for(let r of e){let e=r.path??[],i=t,a=``;for(let t=0;t<e.length;t++){let n=e[t];if(n===void 0)continue;let r=typeof n==`object`?n.key:n,o=Number(r);Array.isArray(i)&&!Number.isNaN(o)?a+=`[${o}]`:a+=(t>0?`.`:``)+String(r),i=typeof i==`object`&&i?i[r]:void 0}n.set(a,(n.get(a)??[]).concat(r))}return Object.fromEntries(n)}var xn=(e,t)=>{let n=bn(e,t);return{form:n,fields:n}},Sn={validate({value:e,validationSource:t},n){let r=n[`~standard`].validate(e);if(r instanceof Promise)throw Error(`async function passed to sync validator`);if(r.issues)return t===`field`?r.issues:xn(r.issues,e)},async validateAsync({value:e,validationSource:t},n){let r=await n[`~standard`].validate(e);if(r.issues)return t===`field`?r.issues:xn(r.issues,e)}},Cn=e=>!!e&&`~standard`in e,wn={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,isValid:!0,isDefaultValue:!0,errors:[],errorMap:{},errorSourceMap:{}};function Tn(e){function t(t,n,r){let i=o(t,n,`move`,r),s=Math.min(n,r),l=Math.max(n,r);for(let e=s;e<=l;e++)i.push(a(t,e));let u=Object.keys(e.fieldInfo).reduce((r,i)=>(i.startsWith(a(t,n))&&r.set(i,e.getFieldMeta(i)),r),new Map);c(i,n<r?`up`:`down`),Object.keys(e.fieldInfo).filter(e=>e.startsWith(a(t,r))).forEach(i=>{let o=i.replace(a(t,r),a(t,n)),s=u.get(o);s&&e.setFieldMeta(i,s)})}function n(e,t){c(o(e,t,`remove`),`up`)}function r(t,n,r){o(t,n,`swap`,r).forEach(i=>{if(!i.toString().startsWith(a(t,n)))return;let o=i.toString().replace(a(t,n),a(t,r)),[s,c]=[e.getFieldMeta(i),e.getFieldMeta(o)];s&&e.setFieldMeta(o,s),c&&e.setFieldMeta(i,c)})}function i(t,n){let r=o(t,n,`insert`);c(r,`down`),r.forEach(r=>{r.toString().startsWith(a(t,n))&&e.setFieldMeta(r,l())})}function a(e,t){return`${e}[${t}]`}function o(t,n,r,i){let o=[a(t,n)];switch(r){case`swap`:o.push(a(t,i));break;case`move`:{let[e,r]=[Math.min(n,i),Math.max(n,i)];for(let n=e;n<=r;n++)o.push(a(t,n));break}default:{let r=e.getFieldValue(t),i=Array.isArray(r)?r.length:0;for(let e=n+1;e<i;e++)o.push(a(t,e));break}}return Object.keys(e.fieldInfo).filter(e=>o.some(t=>e.startsWith(t)))}function s(e,t){return e.replace(/\[(\d+)\]/,(e,n)=>{let r=parseInt(n,10);return`[${t===`up`?r+1:Math.max(0,r-1)}]`})}function c(t,n){(n===`up`?t:[...t].reverse()).forEach(t=>{let r=s(t.toString(),n),i=e.getFieldMeta(r);i?e.setFieldMeta(t,i):e.setFieldMeta(t,l())})}let l=()=>wn;return{handleArrayMove:t,handleArrayRemove:n,handleArraySwap:r,handleArrayInsert:i}}function En(e){return{values:e.values??{},errorMap:e.errorMap??{},fieldMetaBase:e.fieldMetaBase??{},isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,isSubmitSuccessful:e.isSubmitSuccessful??!1,validationMetaMap:e.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}}}var Dn=class{constructor(e){this.options={},this.fieldInfo={},this.mount=()=>{let e=this.store.subscribe(()=>{_n(this)}),t=Z.on(`request-form-state`,e=>{e.payload.id===this._formId&&Z.emit(`form-api`,{id:this._formId,state:this.store.state,options:this.options})}),n=Z.on(`request-form-reset`,e=>{e.payload.id===this._formId&&this.reset()}),r=Z.on(`request-form-force-submit`,e=>{e.payload.id===this._formId&&(this._devtoolsSubmissionOverride=!0,this.handleSubmit(),this._devtoolsSubmissionOverride=!1)}),i=()=>{r(),n(),t(),e.unsubscribe(),Z.emit(`form-unmounted`,{id:this._formId})};this.options.listeners?.onMount?.({formApi:this});let{onMount:a}=this.options.validators||{};return Z.emit(`form-api`,{id:this._formId,state:this.store.state,options:this.options}),a&&this.validateSync(`mount`),i},this.update=e=>{if(!e)return;let t=this.options;this.options=e;let n=e.defaultValues&&!un(e.defaultValues,t.defaultValues)&&!this.state.isTouched,r=!un(e.defaultState,t.defaultState)&&!this.state.isTouched;!n&&!r||(J(()=>{this.baseStore.setState(()=>En(Object.assign({},this.state,r?e.defaultState:{},n?{values:e.defaultValues}:{})))}),Z.emit(`form-api`,{id:this._formId,state:this.store.state,options:this.options}))},this.reset=(e,t)=>{let{fieldMeta:n}=this.state,r=this.resetFieldMeta(n);e&&!t?.keepDefaultValues&&(this.options={...this.options,defaultValues:e}),this.baseStore.setState(()=>En({...this.options.defaultState,values:e??this.options.defaultValues??this.options.defaultState?.values,fieldMetaBase:r}))},this.validateAllFields=async e=>{let t=[];return J(()=>{Object.values(this.fieldInfo).forEach(n=>{if(!n.instance)return;let r=n.instance;t.push(Promise.resolve().then(()=>r.validate(e,{skipFormValidation:!0}))),n.instance.state.meta.isTouched||n.instance.setMeta(e=>({...e,isTouched:!0}))})}),(await Promise.all(t)).flat()},this.validateArrayFieldsStartingFrom=async(e,t,n)=>{let r=this.getFieldValue(e),i=Array.isArray(r)?Math.max(r.length-1,0):null,a=[`${e}[${t}]`];for(let n=t+1;n<=(i??0);n++)a.push(`${e}[${n}]`);let o=Object.keys(this.fieldInfo).filter(e=>a.some(t=>e.startsWith(t))),s=[];return J(()=>{o.forEach(e=>{s.push(Promise.resolve().then(()=>this.validateField(e,n)))})}),(await Promise.all(s)).flat()},this.validateField=(e,t)=>{let n=this.fieldInfo[e]?.instance;if(!n){let{hasErrored:n}=this.validateSync(t);return n&&!this.options.asyncAlways?this.getFieldMeta(e)?.errors??[]:this.validateAsync(t).then(()=>this.getFieldMeta(e)?.errors??[])}return n.state.meta.isTouched||n.setMeta(e=>({...e,isTouched:!0})),n.validate(t)},this.validateSync=e=>{let t=sn(e,{...this.options,form:this,validationLogic:this.options.validationLogic||yn}),n=!1,r={};return J(()=>{for(let e of t){if(!e.validate)continue;let{formError:t,fieldErrors:i}=On(this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:`form`},type:`validate`})),a=kn(e.cause),o=new Set([...Object.keys(this.state.fieldMeta),...Object.keys(i||{})]);for(let e of o){if(this.baseStore.state.fieldMetaBase[e]===void 0&&!i?.[e])continue;let{errorMap:t,errorSourceMap:n}=this.getFieldMeta(e)??wn,o=i?.[e],{newErrorValue:s,newSource:c}=dn({newFormValidatorError:o,isPreviousErrorFromFormValidator:n?.[a]===`form`,previousErrorValue:t?.[a]});c===`form`&&(r[e]={...r[e],[a]:o}),t?.[a]!==s&&this.setFieldMeta(e,(e=wn)=>({...e,errorMap:{...e.errorMap,[a]:s},errorSourceMap:{...e.errorSourceMap,[a]:c}}))}this.state.errorMap?.[a]!==t&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[a]:t}})),(t||i)&&(n=!0)}let i=kn(`submit`);this.state.errorMap?.[i]&&e!==`submit`&&!n&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[i]:void 0}}));let a=kn(`server`);this.state.errorMap?.[a]&&e!==`server`&&!n&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[a]:void 0}}))}),{hasErrored:n,fieldsErrorMap:r}},this.validateAsync=async e=>{let t=cn(e,{...this.options,form:this,validationLogic:this.options.validationLogic||yn});this.state.isFormValidating||this.baseStore.setState(e=>({...e,isFormValidating:!0}));let n=[],r;for(let e of t){if(!e.validate)continue;let t=kn(e.cause);this.state.validationMetaMap[t]?.lastAbortController.abort();let i=new AbortController;this.state.validationMetaMap[t]={lastAbortController:i},n.push(new Promise(async t=>{let n;try{n=await new Promise((t,n)=>{setTimeout(async()=>{if(i.signal.aborted)return t(void 0);try{t(await this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:`form`,signal:i.signal},type:`validateAsync`}))}catch(e){n(e)}},e.debounceMs)})}catch(e){n=e}let{formError:a,fieldErrors:o}=On(n);o&&(r=r?{...r,...o}:o);let s=kn(e.cause);for(let e of Object.keys(this.state.fieldMeta)){if(this.baseStore.state.fieldMetaBase[e]===void 0)continue;let t=this.getFieldMeta(e);if(!t)continue;let{errorMap:n,errorSourceMap:i}=t,a=r?.[e],{newErrorValue:o,newSource:c}=dn({newFormValidatorError:a,isPreviousErrorFromFormValidator:i?.[s]===`form`,previousErrorValue:n?.[s]});n?.[s]!==o&&this.setFieldMeta(e,e=>({...e,errorMap:{...e.errorMap,[s]:o},errorSourceMap:{...e.errorSourceMap,[s]:c}}))}this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[s]:a}})),t(r?{fieldErrors:r,errorMapKey:s}:void 0)}))}let i=[],a={};if(n.length){i=await Promise.all(n);for(let e of i)if(e?.fieldErrors){let{errorMapKey:t}=e;for(let[n,r]of Object.entries(e.fieldErrors))a[n]={...a[n]||{},[t]:r}}}return this.baseStore.setState(e=>({...e,isFormValidating:!1})),a},this.validate=e=>{let{hasErrored:t,fieldsErrorMap:n}=this.validateSync(e);return t&&!this.options.asyncAlways?n:this.validateAsync(e)},this._handleSubmit=async e=>{this.baseStore.setState(e=>({...e,isSubmitted:!1,submissionAttempts:e.submissionAttempts+1,isSubmitSuccessful:!1})),J(()=>{Object.values(this.fieldInfo).forEach(e=>{e.instance&&(e.instance.state.meta.isTouched||e.instance.setMeta(e=>({...e,isTouched:!0})))})});let t=e??this.options.onSubmitMeta;if(!this.state.canSubmit&&!this._devtoolsSubmissionOverride){this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t});return}this.baseStore.setState(e=>({...e,isSubmitting:!0}));let n=()=>{this.baseStore.setState(e=>({...e,isSubmitting:!1}))};if(await this.validateAllFields(`submit`),!this.state.isFieldsValid){n(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t}),Z.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:`validateAllFields`,errors:Object.values(this.state.fieldMeta).map(e=>e.errors).flat()});return}if(await this.validate(`submit`),!this.state.isValid){n(),this.options.onSubmitInvalid?.({value:this.state.values,formApi:this,meta:t}),Z.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:`validate`,errors:this.state.errors});return}J(()=>{Object.values(this.fieldInfo).forEach(e=>{e.instance?.options.listeners?.onSubmit?.({value:e.instance.state.value,fieldApi:e.instance})})}),this.options.listeners?.onSubmit?.({formApi:this,meta:t});try{await this.options.onSubmit?.({value:this.state.values,formApi:this,meta:t}),J(()=>{this.baseStore.setState(e=>({...e,isSubmitted:!0,isSubmitSuccessful:!0})),Z.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!0}),n()})}catch(e){throw this.baseStore.setState(e=>({...e,isSubmitSuccessful:!1})),Z.emit(`form-submission`,{id:this._formId,submissionAttempt:this.state.submissionAttempts,successful:!1,stage:`inflight`,onError:e}),n(),e}},this.getFieldValue=e=>Jt(this.state.values,e),this.getFieldMeta=e=>this.state.fieldMeta[e],this.getFieldInfo=e=>this.fieldInfo[e]||={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0,onDynamic:void 0}},this.setFieldMeta=(e,t)=>{this.baseStore.setState(n=>({...n,fieldMetaBase:{...n.fieldMetaBase,[e]:qt(t,n.fieldMetaBase[e])}}))},this.resetFieldMeta=e=>Object.keys(e).reduce((e,t)=>{let n=t;return e[n]=wn,e},{}),this.setFieldValue=(e,t,n)=>{let r=n?.dontUpdateMeta??!1,i=n?.dontRunListeners??!1,a=n?.dontValidate??!1;J(()=>{r||this.setFieldMeta(e,e=>({...e,isTouched:!0,isDirty:!0,errorMap:{...e?.errorMap,onMount:void 0}})),this.baseStore.setState(n=>({...n,values:Yt(n.values,e,t)}))}),i||this.getFieldInfo(e).instance?.triggerOnChangeListener(),a||this.validateField(e,`change`)},this.deleteField=e=>{let t=[...Object.keys(this.fieldInfo).filter(t=>{let n=e.toString();return t!==n&&t.startsWith(n)}),e];this.baseStore.setState(e=>{let n={...e};return t.forEach(e=>{n.values=Xt(n.values,e),delete this.fieldInfo[e],delete n.fieldMetaBase[e]}),n})},this.pushFieldValue=(e,t,n)=>{this.setFieldValue(e,e=>[...Array.isArray(e)?e:[],t],n)},this.insertFieldValue=async(e,t,n,r)=>{this.setFieldValue(e,e=>[...e.slice(0,t),n,...e.slice(t)],Q(r,{dontValidate:!0}));let i=r?.dontValidate??!1;i||await this.validateField(e,`change`),Tn(this).handleArrayInsert(e,t),i||await this.validateArrayFieldsStartingFrom(e,t,`change`)},this.replaceFieldValue=async(e,t,n,r)=>{this.setFieldValue(e,e=>e.map((e,r)=>r===t?n:e),Q(r,{dontValidate:!0})),(r?.dontValidate??!1)||(await this.validateField(e,`change`),await this.validateArrayFieldsStartingFrom(e,t,`change`))},this.removeFieldValue=async(e,t,n)=>{let r=this.getFieldValue(e),i=Array.isArray(r)?Math.max(r.length-1,0):null;if(this.setFieldValue(e,e=>e.filter((e,n)=>n!==t),Q(n,{dontValidate:!0})),Tn(this).handleArrayRemove(e,t),i!==null){let t=`${e}[${i}]`;this.deleteField(t)}(n?.dontValidate??!1)||(await this.validateField(e,`change`),await this.validateArrayFieldsStartingFrom(e,t,`change`))},this.swapFieldValues=(e,t,n,r)=>{this.setFieldValue(e,e=>{let r=e[t],i=e[n];return Yt(Yt(e,`${t}`,i),`${n}`,r)},Q(r,{dontValidate:!0})),Tn(this).handleArraySwap(e,t,n),(r?.dontValidate??!1)||(this.validateField(e,`change`),this.validateField(`${e}[${t}]`,`change`),this.validateField(`${e}[${n}]`,`change`))},this.moveFieldValues=(e,t,n,r)=>{this.setFieldValue(e,e=>{let r=[...e];return r.splice(n,0,r.splice(t,1)[0]),r},Q(r,{dontValidate:!0})),Tn(this).handleArrayMove(e,t,n),(r?.dontValidate??!1)||(this.validateField(e,`change`),this.validateField(`${e}[${t}]`,`change`),this.validateField(`${e}[${n}]`,`change`))},this.clearFieldValues=(e,t)=>{let n=this.getFieldValue(e),r=Array.isArray(n)?Math.max(n.length-1,0):null;if(this.setFieldValue(e,[],Q(t,{dontValidate:!0})),r!==null)for(let t=0;t<=r;t++){let n=`${e}[${t}]`;this.deleteField(n)}(t?.dontValidate??!1)||this.validateField(e,`change`)},this.resetField=e=>{this.baseStore.setState(t=>({...t,fieldMetaBase:{...t.fieldMetaBase,[e]:wn},values:this.options.defaultValues?Yt(t.values,e,Jt(this.options.defaultValues,e)):t.values}))},this.setErrorMap=e=>{J(()=>{Object.entries(e).forEach(([e,t])=>{let n=e;if(ln(t)){let{formError:e,fieldErrors:r}=On(t);for(let e of Object.keys(this.fieldInfo))this.getFieldMeta(e)&&this.setFieldMeta(e,t=>({...t,errorMap:{...t.errorMap,[n]:r?.[e]},errorSourceMap:{...t.errorSourceMap,[n]:`form`}}));this.baseStore.setState(t=>({...t,errorMap:{...t.errorMap,[n]:e}}))}else this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[n]:t}}))})})},this.getAllErrors=()=>({form:{errors:this.state.errors,errorMap:this.state.errorMap},fields:Object.entries(this.state.fieldMeta).reduce((e,[t,n])=>(Object.keys(n).length&&n.errors.length&&(e[t]={errors:n.errors,errorMap:n.errorMap}),e),{})}),this.parseValuesWithSchema=e=>Sn.validate({value:this.state.values,validationSource:`form`},e),this.parseValuesWithSchemaAsync=e=>Sn.validateAsync({value:this.state.values,validationSource:`form`},e),this.timeoutIds={validations:{},listeners:{},formListeners:{}},this._formId=e?.formId??gn(),this._devtoolsSubmissionOverride=!1;let t=En({...e?.defaultState,values:e?.defaultValues??e?.defaultState?.values});if(e?.transform){t=e.transform({state:t}).state;for(let e of Object.keys(t.errorMap)){let n=t.errorMap[e];if(!(n===void 0||!ln(n)))for(let r of Object.keys(n.fields)){let i=n.fields[r];if(i===void 0)continue;let a=t.fieldMetaBase[r];t.fieldMetaBase[r]={isTouched:!1,isValidating:!1,isBlurred:!1,isDirty:!1,...a??{},errorSourceMap:{...a?.errorSourceMap??{},onChange:`form`},errorMap:{...a?.errorMap??{},[e]:i}}}}}this.baseStore=ft(t);let n;this.fieldMetaDerived=ft(e=>{let t=this.baseStore.get(),r=0,i={};for(let a of Object.keys(t.fieldMetaBase)){let o=t.fieldMetaBase[a],s=n?.fieldMetaBase[a],c=e?.[a],l=Jt(t.values,a),u=c?.errors;if(!s||o.errorMap!==s.errorMap){u=Object.values(o.errorMap??{}).filter(e=>e!==void 0);let e=this.getFieldInfo(a)?.instance;(!e||!e.options.disableErrorFlat)&&(u=u.flat(1))}let d=!on(u),f=!o.isDirty,p=un(l,Jt(this.options.defaultValues,a))||un(l,this.getFieldInfo(a)?.instance?.options.defaultValue);if(c&&c.isPristine===f&&c.isValid===d&&c.isDefaultValue===p&&c.errors===u&&o===s){i[a]=c,r++;continue}i[a]={...o,errors:u??[],isPristine:f,isValid:d,isDefaultValue:p}}return Object.keys(t.fieldMetaBase).length?e&&r===Object.keys(t.fieldMetaBase).length?e:(n=this.baseStore.get(),i):i});let r;this.store=ft(e=>{let t=this.baseStore.get(),n=this.fieldMetaDerived.get(),i=Object.values(n).filter(Boolean),a=i.some(e=>e.isValidating),o=i.every(e=>e.isValid),s=i.some(e=>e.isTouched),c=i.some(e=>e.isBlurred),l=i.every(e=>e.isDefaultValue),u=s&&t.errorMap?.onMount,d=i.some(e=>e.isDirty),f=!d,p=!!(t.errorMap?.onMount||i.some(e=>e?.errorMap?.onMount)),m=!!a,h=e?.errors??[];(!r||t.errorMap!==r.errorMap)&&(h=Object.values(t.errorMap).reduce((e,t)=>t===void 0?e:t&&ln(t)?(e.push(t.form),e):(e.push(t),e),[]));let g=h.length===0,_=o&&g,v=this.options.canSubmitWhenInvalid??!1,y=t.submissionAttempts===0&&!s&&!p||!m&&!t.isSubmitting&&_||v,b=t.errorMap;if(u&&(h=h.filter(e=>e!==t.errorMap.onMount),b=Object.assign(b,{onMount:void 0})),e&&r&&e.errorMap===b&&e.fieldMeta===this.fieldMetaDerived.state&&e.errors===h&&e.isFieldsValidating===a&&e.isFieldsValid===o&&e.isFormValid===g&&e.isValid===_&&e.canSubmit===y&&e.isTouched===s&&e.isBlurred===c&&e.isPristine===f&&e.isDefaultValue===l&&e.isDirty===d&&un(r,t))return e;let x={...t,errorMap:b,fieldMeta:this.fieldMetaDerived.state,errors:h,isFieldsValidating:a,isFieldsValid:o,isFormValid:g,isValid:_,canSubmit:y,isTouched:s,isBlurred:c,isPristine:f,isDefaultValue:l,isDirty:d};return r=this.baseStore.get(),x}),this.handleSubmit=this.handleSubmit.bind(this),this.update(e||{})}get state(){return this.store.state}get formId(){return this._formId}runValidator(e){return Cn(e.validate)?Sn[e.type](e.value,e.validate):e.validate(e.value)}handleSubmit(e){return this._handleSubmit(e)}};function On(e){return e?ln(e)?{formError:On(e.form).formError,fieldErrors:e.fields}:{formError:e}:{formError:void 0}}function kn(e){switch(e){case`submit`:return`onSubmit`;case`blur`:return`onBlur`;case`mount`:return`onMount`;case`server`:return`onServer`;case`dynamic`:return`onDynamic`;default:return`onChange`}}var An=class{constructor(e){this.options={},this.mount=()=>{this.options.defaultValue!==void 0&&!this.getMeta().isTouched&&this.form.setFieldValue(this.name,this.options.defaultValue,{dontUpdateMeta:!0});let e=this.getInfo();e.instance=this,this.update(this.options);let{onMount:t}=this.options.validators||{};if(t){let e=this.runValidator({validate:t,value:{value:this.state.value,fieldApi:this,validationSource:`field`},type:`validate`});e&&this.setMeta(t=>({...t,errorMap:{...t?.errorMap,onMount:e},errorSourceMap:{...t?.errorSourceMap,onMount:`field`}}))}return this.options.listeners?.onMount?.({value:this.state.value,fieldApi:this}),()=>{for(let[e,t]of Object.entries(this.timeoutIds.validations))t&&(clearTimeout(t),this.timeoutIds.validations[e]=null);for(let[e,t]of Object.entries(this.timeoutIds.listeners))t&&(clearTimeout(t),this.timeoutIds.listeners[e]=null);for(let[e,t]of Object.entries(this.timeoutIds.formListeners))t&&(clearTimeout(t),this.timeoutIds.formListeners[e]=null);let e=this.form.fieldInfo[this.name];if(e&&e.instance===this){for(let[t,n]of Object.entries(e.validationMetaMap))n?.lastAbortController.abort(),e.validationMetaMap[t]=void 0;this.form.baseStore.setState(e=>({...e,fieldMetaBase:{...e.fieldMetaBase,[this.name]:{...wn,isTouched:e.fieldMetaBase[this.name]?.isTouched??wn.isTouched,isBlurred:e.fieldMetaBase[this.name]?.isBlurred??wn.isBlurred,isDirty:e.fieldMetaBase[this.name]?.isDirty??wn.isDirty}}})),e.instance=null,this.options.listeners?.onUnmount?.({value:this.state.value,fieldApi:this}),this.form.options.listeners?.onFieldUnmount?.({formApi:this.form,fieldApi:this})}}},this.update=e=>{this.options=e,this.name=e.name,!this.state.meta.isTouched&&this.options.defaultValue!==void 0&&(un(this.form.getFieldValue(this.name),e.defaultValue)||this.form.setFieldValue(this.name,e.defaultValue,{dontUpdateMeta:!0,dontValidate:!0,dontRunListeners:!0})),this.form.getFieldMeta(this.name)||this.form.setFieldMeta(this.name,this.state.meta)},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(e,t)=>{this.form.setFieldValue(this.name,e,Q(t,{dontRunListeners:!0,dontValidate:!0})),t?.dontRunListeners||this.triggerOnChangeListener(),t?.dontValidate||this.validate(`change`)},this.getMeta=()=>this.store.state.meta,this.setMeta=e=>this.form.setFieldMeta(this.name,e),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(e,t)=>{this.form.pushFieldValue(this.name,e,Q(t,{dontRunListeners:!0})),t?.dontRunListeners||this.triggerOnChangeListener()},this.insertValue=(e,t,n)=>{this.form.insertFieldValue(this.name,e,t,Q(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.replaceValue=(e,t,n)=>{this.form.replaceFieldValue(this.name,e,t,Q(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.removeValue=(e,t)=>{this.form.removeFieldValue(this.name,e,Q(t,{dontRunListeners:!0})),t?.dontRunListeners||this.triggerOnChangeListener()},this.swapValues=(e,t,n)=>{this.form.swapFieldValues(this.name,e,t,Q(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.moveValue=(e,t,n)=>{this.form.moveFieldValues(this.name,e,t,Q(n,{dontRunListeners:!0})),n?.dontRunListeners||this.triggerOnChangeListener()},this.clearValues=e=>{this.form.clearFieldValues(this.name,Q(e,{dontRunListeners:!0})),e?.dontRunListeners||this.triggerOnChangeListener()},this.getLinkedFields=e=>{let t=Object.values(this.form.fieldInfo),n=[];for(let r of t){if(!r.instance)continue;let{onChangeListenTo:t,onBlurListenTo:i}=r.instance.options.validators||{};e===`change`&&t?.includes(this.name)&&n.push(r.instance),e===`blur`&&i?.includes(this.name)&&n.push(r.instance)}return n},this.validateSync=(e,t)=>{let n=sn(e,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||yn}),r=this.getLinkedFields(e).reduce((t,n)=>{let r=sn(e,{...n.options,form:n.form,fieldName:n.name,validationLogic:n.form.options.validationLogic||yn});return r.forEach(e=>{e.field=n}),t.concat(r)},[]),i=!1;J(()=>{let e=(e,n)=>{let r=Mn(n.cause),a=n.validate?jn(e.runValidator({validate:n.validate,value:{value:e.store.state.value,validationSource:`field`,fieldApi:e},type:`validate`})):void 0,o=t[r],{newErrorValue:s,newSource:c}=fn({formLevelError:o,fieldLevelError:a});e.state.meta.errorMap?.[r]!==s&&e.setMeta(e=>({...e,errorMap:{...e.errorMap,[r]:s},errorSourceMap:{...e.errorSourceMap,[r]:c}})),s&&(i=!0)};for(let t of n)e(this,t);for(let t of r)t.validate&&e(t.field,t)});let a=Mn(`submit`);return this.state.meta.errorMap?.[a]&&e!==`submit`&&!i&&this.setMeta(e=>({...e,errorMap:{...e.errorMap,[a]:void 0},errorSourceMap:{...e.errorSourceMap,[a]:void 0}})),{hasErrored:i}},this.validateAsync=async(e,t)=>{let n=cn(e,{...this.options,form:this.form,fieldName:this.name,validationLogic:this.form.options.validationLogic||yn}),r=await t,i=this.getLinkedFields(e),a=i.reduce((t,n)=>{let r=cn(e,{...n.options,form:n.form,fieldName:n.name,validationLogic:n.form.options.validationLogic||yn});return r.forEach(e=>{e.field=n}),t.concat(r)},[]),o=[],s=[],c=n.some(e=>e.validate)||a.some(e=>e.validate);if(c){this.state.meta.isValidating||this.setMeta(e=>({...e,isValidating:!0}));for(let e of i)e.setMeta(e=>({...e,isValidating:!0}))}let l=(e,t,n)=>{let i=Mn(t.cause),a=e.getInfo();a.validationMetaMap[i]?.lastAbortController.abort();let o=new AbortController;a.validationMetaMap[i]={lastAbortController:o},n.push(new Promise(async n=>{let a;try{a=await new Promise((n,r)=>{e.timeoutIds.validations[t.cause]&&clearTimeout(e.timeoutIds.validations[t.cause]),e.timeoutIds.validations[t.cause]=setTimeout(async()=>{if(o.signal.aborted)return n(void 0);try{n(await this.runValidator({validate:t.validate,value:{value:e.store.state.value,fieldApi:e,signal:o.signal,validationSource:`field`},type:`validateAsync`}))}catch(e){r(e)}},t.debounceMs)})}catch(e){a=e}if(o.signal.aborted)return n(void 0);let s=jn(a),c=r[e.name]?.[i],{newErrorValue:l,newSource:u}=fn({formLevelError:c,fieldLevelError:s});if(e.getInfo().instance!==e)return n(void 0);e.setMeta(e=>({...e,errorMap:{...e?.errorMap,[i]:l},errorSourceMap:{...e.errorSourceMap,[i]:u}})),n(l)}))};for(let e of n)e.validate&&l(this,e,o);for(let e of a)e.validate&&l(e.field,e,s);let u=[];if((o.length||s.length)&&(u=await Promise.all(o),await Promise.all(s)),c){this.setMeta(e=>({...e,isValidating:!1}));for(let e of i)e.setMeta(e=>({...e,isValidating:!1}))}return u.filter(Boolean)},this.validate=(e,t)=>{if(!this.state.meta.isTouched)return[];let{fieldsErrorMap:n}=t?.skipFormValidation?{fieldsErrorMap:{}}:this.form.validateSync(e),{hasErrored:r}=this.validateSync(e,n[this.name]??{});if(r&&!this.options.asyncAlways)return this.getInfo().validationMetaMap[Mn(e)]?.lastAbortController.abort(),this.state.meta.errors;let i=t?.skipFormValidation?Promise.resolve({}):this.form.validateAsync(e);return this.validateAsync(e,i)},this.handleChange=e=>{this.setValue(e)},this.handleBlur=()=>{this.state.meta.isTouched||this.setMeta(e=>({...e,isTouched:!0})),this.state.meta.isBlurred||this.setMeta(e=>({...e,isBlurred:!0})),this.validate(`blur`),this.triggerOnBlurListener()},this.setErrorMap=e=>{this.setMeta(t=>({...t,errorMap:{...t.errorMap,...e}}))},this.parseValueWithSchema=e=>Sn.validate({value:this.state.value,validationSource:`field`},e),this.parseValueWithSchemaAsync=e=>Sn.validateAsync({value:this.state.value,validationSource:`field`},e),this.triggerOnChangeListener=()=>{let e=this.form.options.listeners?.onChangeDebounceMs;e&&e>0?(this.timeoutIds.formListeners.change&&clearTimeout(this.timeoutIds.formListeners.change),this.timeoutIds.formListeners.change=setTimeout(()=>{this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this})},e)):this.form.options.listeners?.onChange?.({formApi:this.form,fieldApi:this});let t=this.options.listeners?.onChangeDebounceMs;t&&t>0?(this.timeoutIds.listeners.change&&clearTimeout(this.timeoutIds.listeners.change),this.timeoutIds.listeners.change=setTimeout(()=>{this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})},t)):this.options.listeners?.onChange?.({value:this.state.value,fieldApi:this})},this.form=e.form,this.name=e.name,this.options=e,this.timeoutIds={validations:{},listeners:{},formListeners:{}},this.store=ft(t=>{this.form.store.get();let n=this.form.getFieldMeta(this.name)??{...wn,...e.defaultMeta},r=this.form.getFieldValue(this.name);return!n.isTouched&&r===void 0&&this.options.defaultValue!==void 0&&!un(r,this.options.defaultValue)&&(r=this.options.defaultValue),t&&t.value===r&&t.meta===n?t:{value:r,meta:n}})}get state(){return this.store.state}runValidator(e){return Cn(e.validate)?Sn[e.type](e.value,e.validate):e.validate(e.value)}triggerOnBlurListener(){let e=this.form.options.listeners?.onBlurDebounceMs;e&&e>0?(this.timeoutIds.formListeners.blur&&clearTimeout(this.timeoutIds.formListeners.blur),this.timeoutIds.formListeners.blur=setTimeout(()=>{this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this})},e)):this.form.options.listeners?.onBlur?.({formApi:this.form,fieldApi:this});let t=this.options.listeners?.onBlurDebounceMs;t&&t>0?(this.timeoutIds.listeners.blur&&clearTimeout(this.timeoutIds.listeners.blur),this.timeoutIds.listeners.blur=setTimeout(()=>{this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})},t)):this.options.listeners?.onBlur?.({value:this.state.value,fieldApi:this})}};function jn(e){if(e)return e}function Mn(e){switch(e){case`submit`:return`onSubmit`;case`blur`:return`onBlur`;case`mount`:return`onMount`;case`server`:return`onServer`;case`dynamic`:return`onDynamic`;default:return`onChange`}}function Nn(e,t){if(!t)return;let n=Object.assign({},e,{state:vn(e.state)});t(n),n.fieldInfo!==e.fieldInfo&&(e.fieldInfo=n.fieldInfo),n.options!==e.options&&(e.options=n.options);let r=Object.keys({values:null,validationMetaMap:null,fieldMetaBase:null,isSubmitting:null,isSubmitted:null,isValidating:null,submissionAttempts:null,isSubmitSuccessful:null,_force_re_eval:null}).reduce((t,r)=>(e.state[r]!==n.state[r]&&(t[r]=n.state[r]),t),{});return J(()=>{Object.keys(r).length&&e.baseStore.setState(e=>({...e,...r})),n.state.errorMap!==e.state.errorMap&&e.setErrorMap(n.state.errorMap)}),n}var Pn=typeof window<`u`?Y.useLayoutEffect:Y.useEffect;function Fn(e){let[t,n]=(0,Y.useState)(()=>({form:e.form,name:e.name})),[r,i]=(0,Y.useState)(()=>new An({...e}));(t.form!==e.form||t.name!==e.name)&&(i(new An({...e})),n({form:e.form,name:e.name}));let a=Re(r.store,e.mode===`array`?e=>Object.keys(e.value??[]).length:e=>e.value),o=Re(r.store,e=>e.meta.isTouched),s=Re(r.store,e=>e.meta.isBlurred),c=Re(r.store,e=>e.meta.isDirty),l=Re(r.store,e=>e.meta.errorMap),u=Re(r.store,e=>e.meta.errorSourceMap),d=Re(r.store,e=>e.meta.isValidating),f=(0,Y.useMemo)(()=>{let t={...r,get state(){return{value:e.mode===`array`?r.state.value:a,get meta(){return{...r.state.meta,isTouched:o,isBlurred:s,isDirty:c,errorMap:l,errorSourceMap:u,isValidating:d}}}}};return t.Field=In,t},[r,e.mode,a,o,s,c,l,u,d]);return Pn(r.mount,[r]),Pn(()=>{r.update(e)}),f}var In=(({children:e,...t})=>{let n=Fn(t);return(0,X.jsx)(X.Fragment,{children:(0,Y.useMemo)(()=>qt(e,n),[e,n])})});function Ln(){return(0,Y.useState)(()=>gn())[0]}var Rn=Y,zn=`19.2.5`.split(`.`)[0]===`17`?Ln:Rn.useId;function Bn({form:e,selector:t=e=>e,children:n}){return(0,X.jsx)(X.Fragment,{children:qt(n,Re(e.store,t))})}function Vn(e){let t=zn(),[n,r]=(0,Y.useState)(e?.formId),[i,a]=(0,Y.useState)(()=>new Dn({...e,formId:e?.formId??t}));if(n!==e?.formId){let n=e?.formId??t;a(new Dn({...e,formId:n})),r(n)}let o=(0,Y.useMemo)(()=>{let e={...i,handleSubmit:((...e)=>i._handleSubmit(...e)),get formId(){return i._formId},get state(){return i.store.state}};return e.Field=function(e){return(0,X.jsx)(In,{...e,form:i})},e.Subscribe=function(e){return(0,X.jsx)(Bn,{form:i,selector:e.selector,children:e.children})},e},[i]);Pn(i.mount,[]),Pn(()=>{i.update(e)});let s=(0,Y.useRef)(!1);return Pn(()=>{s.current&&e?.transform&&Nn(i,e.transform)},[i,e?.transform]),Pn(()=>{s.current=!0}),o}function Hn({controlled:e,default:t,name:n,state:r=`value`}){let{current:i}=Y.useRef(e!==void 0),[a,o]=Y.useState(t);return[i?e:a,Y.useCallback(e=>{i||o(e)},[])]}function Un(e){let{open:t,defaultOpen:n,onOpenChange:r,disabled:a}=e,o=t!==void 0,[c,l]=Hn({controlled:t,default:n,name:`Collapsible`,state:`open`}),{mounted:u,setMounted:d,transitionStatus:f}=k(c,!0,!0),[p,m]=Y.useState(c),[{height:h,width:g},_]=Y.useState({height:void 0,width:void 0}),v=s(),[y,b]=Y.useState(),x=y??v,[S,C]=Y.useState(!1),[w,T]=Y.useState(!1),E=Y.useRef(null),D=Y.useRef(null),O=Y.useRef(null),A=Y.useRef(null),j=i(A,!1),M=Te(e=>{let t=!c,n=V(Je,e.nativeEvent);if(r(t,n),n.isCanceled)return;let i=A.current;D.current===`css-animation`&&i!=null&&i.style.removeProperty(`animation-name`),!S&&!w&&(D.current!=null&&D.current!==`css-animation`&&!u&&t&&d(!0),D.current===`css-animation`&&(!p&&t&&m(!0),!u&&t&&d(!0))),l(t),D.current===`none`&&u&&!t&&d(!1)});return G(()=>{o&&D.current===`none`&&!c&&d(!1)},[o,c,t,d]),Y.useMemo(()=>({abortControllerRef:E,animationTypeRef:D,disabled:a,handleTrigger:M,height:h,mounted:u,open:c,panelId:x,panelRef:A,runOnceAnimationsFinish:j,setDimensions:_,setHiddenUntilFound:C,setKeepMounted:T,setMounted:d,setOpen:l,setPanelIdState:b,setVisible:m,transitionDimensionRef:O,transitionStatus:f,visible:p,width:g}),[E,D,a,M,h,u,c,x,A,j,_,C,T,d,l,m,O,f,p,g])}var Wn=Y.createContext(void 0);function Gn(){let e=Y.useContext(Wn);if(e===void 0)throw Error(de(15));return e}var Kn=function(e){return e.open=`data-open`,e.closed=`data-closed`,e[e.startingStyle=A.startingStyle]=`startingStyle`,e[e.endingStyle=A.endingStyle]=`endingStyle`,e}({}),qn=function(e){return e.panelOpen=`data-panel-open`,e}({}),Jn={[Kn.open]:``},Yn={[Kn.closed]:``},Xn={open(e){return e?{[qn.panelOpen]:``}:null}},Zn={open(e){return e?Jn:Yn},...f},Qn=Y.forwardRef(function(e,t){let{render:n,className:r,defaultOpen:i=!1,disabled:a=!1,onOpenChange:o,open:s,style:c,...l}=e,u=Te(o),d=Un({open:s,defaultOpen:i,onOpenChange:u,disabled:a}),f=Y.useMemo(()=>({open:d.open,disabled:d.disabled,transitionStatus:d.transitionStatus}),[d.open,d.disabled,d.transitionStatus]),p=Y.useMemo(()=>({...d,onOpenChange:u,state:f}),[d,u,f]),m=Ne(`div`,e,{state:f,ref:t,props:l,stateAttributesMapping:Zn});return(0,X.jsx)(Wn.Provider,{value:p,children:m})}),$n={...Xn,...f},er=Y.forwardRef(function(e,t){let{panelId:n,open:r,handleTrigger:i,state:a,disabled:o}=Gn(),{className:s,disabled:c=o,id:l,render:u,nativeButton:d=!0,style:f,...p}=e,{getButtonProps:m,buttonRef:h}=st({disabled:c,focusableWhenDisabled:!0,native:d}),g=Y.useMemo(()=>({"aria-controls":r?n:void 0,"aria-expanded":r,onClick:i}),[n,r,i]);return Ne(`button`,e,{state:a,ref:[t,h],props:[g,p,m],stateAttributesMapping:$n})}),tr=function(e){return e.disabled=`data-disabled`,e.orientation=`data-orientation`,e}({});function nr(e){let{abortControllerRef:n,animationTypeRef:r,externalRef:i,height:a,hiddenUntilFound:o,keepMounted:s,id:c,mounted:u,onOpenChange:d,open:f,panelRef:p,runOnceAnimationsFinish:m,setDimensions:h,setMounted:g,setOpen:_,setVisible:v,transitionDimensionRef:y,visible:b,width:x}=e,S=Y.useRef(!1),C=Y.useRef(null),w=Y.useRef(f),T=Y.useRef(f),E=oe(),D=Y.useMemo(()=>r.current===`css-animation`?!b:!f&&!u,[f,u,b,r]),O=se(i,p,Te(e=>{if(!e)return;if(r.current==null||y.current==null){let t=getComputedStyle(e),n=t.animationName!==`none`&&t.animationName!==``,i=t.transitionDuration!==`0s`&&t.transitionDuration!==``;n&&i||(t.animationName===`none`&&t.transitionDuration!==`0s`?r.current=`css-transition`:t.animationName!==`none`&&t.transitionDuration===`0s`?r.current=`css-animation`:r.current=`none`),e.getAttribute(tr.orientation)===`horizontal`||t.transitionProperty.indexOf(`width`)>-1?y.current=`width`:y.current=`height`}if(r.current!==`css-transition`)return;(a===void 0||x===void 0)&&(h({height:e.scrollHeight,width:e.scrollWidth}),T.current&&e.style.setProperty(`transition-duration`,`0s`));let t=-1,n=-1;return t=B.request(()=>{T.current=!1,n=B.request(()=>{setTimeout(()=>{e.style.removeProperty(`transition-duration`)})})}),()=>{B.cancel(t),B.cancel(n)}}));return G(()=>{if(r.current!==`css-transition`)return;let e=p.current;if(!e)return;let t=-1;if(n.current!=null&&(n.current.abort(),n.current=null),f){let n={"justify-content":e.style.justifyContent,"align-items":e.style.alignItems,"align-content":e.style.alignContent,"justify-items":e.style.justifyItems};Object.keys(n).forEach(t=>{e.style.setProperty(t,`initial`,`important`)}),!T.current&&!s&&e.setAttribute(Kn.startingStyle,``),h({height:e.scrollHeight,width:e.scrollWidth}),t=B.request(()=>{Object.entries(n).forEach(([t,n])=>{n===``?e.style.removeProperty(t):e.style.setProperty(t,n)})})}else{if(e.scrollHeight===0&&e.scrollWidth===0)return;h({height:e.scrollHeight,width:e.scrollWidth});let t=new AbortController;n.current=t;let r=t.signal,i=null,a=Kn.endingStyle;return i=new MutationObserver(o=>{o.some(e=>e.type===`attributes`&&e.attributeName===a)&&(i?.disconnect(),i=null,m(()=>{h({height:0,width:0}),e.style.removeProperty(`content-visibility`),g(!1),n.current===t&&(n.current=null)},r))}),i.observe(e,{attributes:!0,attributeFilter:[a]}),()=>{i?.disconnect(),E.cancel(),n.current===t&&(t.abort(),n.current=null)}}return()=>{B.cancel(t)}},[n,r,E,o,s,u,f,p,m,h,g]),G(()=>{if(r.current!==`css-animation`)return;let e=p.current;e&&(C.current=e.style.animationName||C.current,e.style.setProperty(`animation-name`,`none`),h({height:e.scrollHeight,width:e.scrollWidth}),!w.current&&!S.current&&e.style.removeProperty(`animation-name`),f?(n.current!=null&&(n.current.abort(),n.current=null),g(!0),v(!0)):(n.current=new AbortController,m(()=>{g(!1),v(!1),n.current=null},n.current.signal)))},[n,r,f,p,m,h,g,v,b]),t(()=>{let e=B.request(()=>{w.current=!1});return()=>B.cancel(e)}),G(()=>{if(!o)return;let e=p.current;if(!e)return;let t=-1,n=-1;return f&&S.current&&(e.style.transitionDuration=`0s`,h({height:e.scrollHeight,width:e.scrollWidth}),t=B.request(()=>{S.current=!1,n=B.request(()=>{setTimeout(()=>{e.style.removeProperty(`transition-duration`)})})})),()=>{B.cancel(t),B.cancel(n)}},[o,f,p,h]),G(()=>{let e=p.current;e&&o&&D&&(e.setAttribute(`hidden`,`until-found`),r.current===`css-transition`&&e.setAttribute(Kn.startingStyle,``))},[o,D,r,p]),Y.useEffect(function(){let e=p.current;if(!e)return;function t(e){S.current=!0,_(!0),d(!0,V(l,e))}return K(e,`beforematch`,t)},[d,p,_]),Y.useMemo(()=>({props:{hidden:D,id:c,ref:O}}),[D,c,O])}var rr=function(e){return e.collapsiblePanelHeight=`--collapsible-panel-height`,e.collapsiblePanelWidth=`--collapsible-panel-width`,e}({}),ir=Y.forwardRef(function(e,t){let{className:n,hiddenUntilFound:r,keepMounted:i,render:a,id:o,style:s,...c}=e,{abortControllerRef:l,animationTypeRef:u,height:d,mounted:f,onOpenChange:p,open:m,panelId:h,panelRef:g,runOnceAnimationsFinish:_,setDimensions:v,setHiddenUntilFound:y,setKeepMounted:b,setMounted:x,setPanelIdState:S,setOpen:C,setVisible:w,state:T,transitionDimensionRef:E,visible:D,width:O,transitionStatus:k}=Gn(),A=r??!1,j=i??!1;G(()=>{if(o)return S(o),()=>{S(void 0)}},[o,S]),G(()=>{y(A)},[y,A]),G(()=>{b(j)},[b,j]);let{props:M}=nr({abortControllerRef:l,animationTypeRef:u,externalRef:t,height:d,hiddenUntilFound:A,id:h,keepMounted:j,mounted:f,onOpenChange:p,open:m,panelRef:g,runOnceAnimationsFinish:_,setDimensions:v,setMounted:x,setOpen:C,setVisible:w,transitionDimensionRef:E,visible:D,width:O});qe({open:m&&k===`idle`,ref:g,onComplete(){m&&v({height:void 0,width:void 0})}});let ee=Ne(`div`,e,{state:Y.useMemo(()=>({...T,transitionStatus:k}),[T,k]),ref:[t,g],props:[M,{style:{[rr.collapsiblePanelHeight]:d===void 0?`auto`:`${d}px`,[rr.collapsiblePanelWidth]:O===void 0?`auto`:`${O}px`}},c],stateAttributesMapping:Zn});return j||A||f?ee:null}),$=Ee();function ar(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,X.jsx)(Qn,{"data-slot":`collapsible`,...n}),t[2]=n,t[3]=r),r}function or(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,X.jsx)(er,{"data-slot":`collapsible-trigger`,...n}),t[2]=n,t[3]=r),r}function sr(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,X.jsx)(ir,{"data-slot":`collapsible-content`,...n}),t[2]=n,t[3]=r),r}var cr=Y.createContext(void 0);function lr(e){let t=Y.useContext(cr);if(e===!1&&t===void 0)throw Error(de(27));return t}var ur={...ve,...f},dr=Y.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...o}=e,{store:s}=lr(),c=s.useState(`open`),l=s.useState(`nested`),u=s.useState(`mounted`);return Ne(`div`,e,{state:{open:c,transitionStatus:s.useState(`transitionStatus`)},ref:[s.context.backdropRef,t],stateAttributesMapping:ur,props:[{role:`presentation`,hidden:!u,style:{userSelect:`none`,WebkitUserSelect:`none`}},o],enabled:a||!l})}),fr=Y.forwardRef(function(e,t){let{render:n,className:i,disabled:a=!1,nativeButton:o=!0,style:s,...c}=e,{store:l}=lr(),u=l.useState(`open`);function d(e){u&&l.setOpen(!1,V(r,e.nativeEvent))}let{getButtonProps:f,buttonRef:p}=st({disabled:a,native:o});return Ne(`button`,e,{state:{disabled:a},ref:[t,p],props:[{onClick:d},c,f]})}),pr=function(e){return e.nestedDialogs=`--nested-dialogs`,e}({}),mr=function(e){return e[e.open=o.open]=`open`,e[e.closed=o.closed]=`closed`,e[e.startingStyle=o.startingStyle]=`startingStyle`,e[e.endingStyle=o.endingStyle]=`endingStyle`,e.nested=`data-nested`,e.nestedDialogOpen=`data-nested-dialog-open`,e}({}),hr=Y.createContext(void 0);function gr(){let e=Y.useContext(hr);if(e===void 0)throw Error(de(26));return e}var _r=`ArrowUp`,vr=`ArrowDown`,yr=`ArrowLeft`,br=`ArrowRight`,xr=`Home`,Sr=new Set([yr,br]),Cr=new Set([yr,br,xr,`End`]),wr=new Set([_r,vr]),Tr=new Set([_r,vr,xr,`End`]),Er=new Set([...Sr,...wr]),Dr=new Set([...Er,xr,`End`]),Or=new Set([_r,vr,yr,br,xr,`End`]),kr=new Set([`Shift`,`Control`,`Alt`,`Meta`]);function Ar(e){return D(e)&&e.tagName===`INPUT`}function jr(e){return!!(Ar(e)&&e.selectionStart!=null||D(e)&&e.tagName===`TEXTAREA`)}function Mr(e,t,n,r){if(!e||!t||!t.scrollTo)return;let i=e.scrollLeft,a=e.scrollTop,o=e.clientWidth<e.scrollWidth,s=e.clientHeight<e.scrollHeight;if(o&&r!==`vertical`){let r=Nr(e,t,`left`),a=Pr(e),o=Pr(t);n===`ltr`&&(r+t.offsetWidth+o.scrollMarginRight>e.scrollLeft+e.clientWidth-a.scrollPaddingRight?i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight:r-o.scrollMarginLeft<e.scrollLeft+a.scrollPaddingLeft&&(i=r-o.scrollMarginLeft-a.scrollPaddingLeft)),n===`rtl`&&(r-o.scrollMarginRight<e.scrollLeft+a.scrollPaddingLeft?i=r-o.scrollMarginLeft-a.scrollPaddingLeft:r+t.offsetWidth+o.scrollMarginRight>e.scrollLeft+e.clientWidth-a.scrollPaddingRight&&(i=r+t.offsetWidth+o.scrollMarginRight-e.clientWidth+a.scrollPaddingRight))}if(s&&r!==`horizontal`){let n=Nr(e,t,`top`),r=Pr(e),i=Pr(t);n-i.scrollMarginTop<e.scrollTop+r.scrollPaddingTop?a=n-i.scrollMarginTop-r.scrollPaddingTop:n+t.offsetHeight+i.scrollMarginBottom>e.scrollTop+e.clientHeight-r.scrollPaddingBottom&&(a=n+t.offsetHeight+i.scrollMarginBottom-e.clientHeight+r.scrollPaddingBottom)}e.scrollTo({left:i,top:a,behavior:`auto`})}function Nr(e,t,n){let r=n===`left`?`offsetLeft`:`offsetTop`,i=0;for(;t.offsetParent&&(i+=t[r],t.offsetParent!==e);)t=t.offsetParent;return i}function Pr(e){let t=getComputedStyle(e);return{scrollMarginTop:parseFloat(t.scrollMarginTop)||0,scrollMarginRight:parseFloat(t.scrollMarginRight)||0,scrollMarginBottom:parseFloat(t.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(t.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(t.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(t.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(t.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(t.scrollPaddingLeft)||0}}var Fr={...ve,...f,nestedDialogOpen(e){return e?{[mr.nestedDialogOpen]:``}:null}},Ir=Y.forwardRef(function(e,t){let{className:n,finalFocus:r,initialFocus:i,render:a,style:o,...s}=e,{store:c}=lr(),l=c.useState(`descriptionElementId`),u=c.useState(`disablePointerDismissal`),d=c.useState(`floatingRootContext`),f=c.useState(`popupProps`),p=c.useState(`modal`),m=c.useState(`mounted`),h=c.useState(`nested`),g=c.useState(`nestedOpenDialogCount`),_=c.useState(`open`),v=c.useState(`openMethod`),y=c.useState(`titleElementId`),b=c.useState(`transitionStatus`),x=c.useState(`role`);gr(),qe({open:_,ref:c.context.popupRef,onComplete(){_&&c.context.onOpenChangeComplete?.(!0)}});function S(e){return e===`touch`?c.context.popupRef.current:!0}let C=i===void 0?S:i,w=Ne(`div`,e,{state:{open:_,nested:h,transitionStatus:b,nestedDialogOpen:g>0},props:[f,{"aria-labelledby":y??void 0,"aria-describedby":l??void 0,role:x,tabIndex:-1,hidden:!m,onKeyDown(e){Or.has(e.key)&&e.stopPropagation()},style:{[pr.nestedDialogs]:g}},s],ref:[t,c.context.popupRef,c.useStateSetter(`popupElement`)],stateAttributesMapping:Fr});return(0,X.jsx)(Lt,{context:d,openInteractionType:v,disabled:!m,closeOnFocusOut:!u,initialFocus:C,returnFocus:r,modal:p!==!1,restoreFocus:`popup`,children:w})}),Lr=Y.forwardRef(function(e,t){let{cutout:n,...r}=e,i;if(n){let e=n.getBoundingClientRect();i=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${e.left}px ${e.top}px,${e.left}px ${e.bottom}px,${e.right}px ${e.bottom}px,${e.right}px ${e.top}px,${e.left}px ${e.top}px)`}return(0,X.jsx)(`div`,{ref:t,role:`presentation`,"data-base-ui-inert":``,...r,style:{position:`fixed`,inset:0,userSelect:`none`,WebkitUserSelect:`none`,clipPath:i}})}),Rr=Y.forwardRef(function(e,t){let{keepMounted:n=!1,...r}=e,{store:i}=lr(),a=i.useState(`mounted`),o=i.useState(`modal`),s=i.useState(`open`);return a||n?(0,X.jsx)(hr.Provider,{value:n,children:(0,X.jsxs)(ie,{ref:t,...r,children:[a&&o===!0&&(0,X.jsx)(Lr,{ref:i.context.internalBackdropRef,inert:Bt(!s)}),e.children]})}):null}),zr={},Br={},Vr=``;function Hr(e){if(typeof document>`u`)return!1;let t=W(e);return Ke(t).innerWidth-t.documentElement.clientWidth>0}function Ur(e){if(!(typeof CSS<`u`&&CSS.supports&&CSS.supports(`scrollbar-gutter`,`stable`))||typeof document>`u`)return!1;let t=W(e),n=t.documentElement,r=t.body,i=Ve(n)?n:r,a=i.style.overflowY,o=n.style.scrollbarGutter;n.style.scrollbarGutter=`stable`,i.style.overflowY=`scroll`;let s=i.offsetWidth;i.style.overflowY=`hidden`;let c=i.offsetWidth;return i.style.overflowY=a,n.style.scrollbarGutter=o,s===c}function Wr(e){let t=W(e),n=t.documentElement,r=t.body,i=Ve(n)?n:r,a={overflowY:i.style.overflowY,overflowX:i.style.overflowX};return Object.assign(i.style,{overflowY:`hidden`,overflowX:`hidden`}),()=>{Object.assign(i.style,a)}}function Gr(e){let t=W(e),n=t.documentElement,r=t.body,i=Ke(n),a=0,o=0,s=!1,c=B.create();if(te&&(i.visualViewport?.scale??1)!==1)return()=>{};function l(){let t=i.getComputedStyle(n),c=i.getComputedStyle(r),l=(t.scrollbarGutter||``).includes(`both-edges`)?`stable both-edges`:`stable`;a=n.scrollTop,o=n.scrollLeft,zr={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},Vr=n.style.scrollBehavior,Br={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let u=n.scrollHeight>n.clientHeight,d=n.scrollWidth>n.clientWidth,f=t.overflowY===`scroll`||c.overflowY===`scroll`,p=t.overflowX===`scroll`||c.overflowX===`scroll`,m=Math.max(0,i.innerWidth-r.clientWidth),h=Math.max(0,i.innerHeight-r.clientHeight),g=parseFloat(c.marginTop)+parseFloat(c.marginBottom),_=parseFloat(c.marginLeft)+parseFloat(c.marginRight),v=Ve(n)?n:r;if(s=Ur(e),s){n.style.scrollbarGutter=l,v.style.overflowY=`hidden`,v.style.overflowX=`hidden`;return}Object.assign(n.style,{scrollbarGutter:l,overflowY:`hidden`,overflowX:`hidden`}),(u||f)&&(n.style.overflowY=`scroll`),(d||p)&&(n.style.overflowX=`scroll`),Object.assign(r.style,{position:`relative`,height:g||h?`calc(100dvh - ${g+h}px)`:`100dvh`,width:_||m?`calc(100vw - ${_+m}px)`:`100vw`,boxSizing:`border-box`,overflow:`hidden`,scrollBehavior:`unset`}),r.scrollTop=a,r.scrollLeft=o,n.setAttribute(`data-base-ui-scroll-locked`,``),n.style.scrollBehavior=`unset`}function u(){Object.assign(n.style,zr),Object.assign(r.style,Br),s||(n.scrollTop=a,n.scrollLeft=o,n.removeAttribute(`data-base-ui-scroll-locked`),n.style.scrollBehavior=Vr)}function d(){u(),c.request(l)}l();let f=K(i,`resize`,d);return()=>{c.cancel(),u(),typeof i.removeEventListener==`function`&&f()}}var Kr=new class{lockCount=0;restore=null;timeoutLock=P.create();timeoutUnlock=P.create();acquire(e){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}release=()=>{--this.lockCount,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(e){if(this.lockCount===0||this.restore!==null)return;let t=W(e).documentElement,n=Ke(t).getComputedStyle(t).overflowY;if(n===`hidden`||n===`clip`){this.restore=p;return}let r=U||!Hr(e);this.restore=r?Wr(e):Gr(e)}};function qr(e=!0,t=null){G(()=>{if(e)return Kr.acquire(t)},[e,t])}function Jr(e){let t=Y.useRef(``),n=Y.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:Y.useCallback(n=>{if(n.detail===0){e(n,`keyboard`);return}`pointerType`in n?e(n,n.pointerType):e(n,t.current),t.current=``},[e]),onPointerDown:n}}function Yr(e,t){let n=Y.useRef(e),r=Te(t);G(()=>{n.current!==e&&r(n.current)},[e,r]),G(()=>{n.current=e},[e])}function Xr(e){let[t,n]=Y.useState(null),r=Te((t,r)=>{e||n(r||(U?`touch`:``))});Yr(e,t=>{t&&!e&&n(null)});let{onClick:i,onPointerDown:a}=Jr(r);return Y.useMemo(()=>({openMethod:t,triggerProps:{onClick:i,onPointerDown:a}}),[t,i,a])}function Zr(e){let{store:t,parentContext:n,actionsRef:r,isDrawer:i}=e,a=t.useState(`open`),o=t.useState(`disablePointerDismissal`),s=t.useState(`modal`),c=t.useState(`popupElement`),{openMethod:l,triggerProps:u}=Xr(a);m(t);let{forceUnmount:d}=y(a,t),f=Y.useCallback(()=>{t.setOpen(!1,V(w))},[t]);Y.useImperativeHandle(r,()=>({unmount:d,close:f}),[d,f]);let p=b({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0}),[h,g]=Y.useState(0),[_,v]=Y.useState(0),x=h===0,S=zt(p),C=ke(p,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?`intentional`:{mouse:s===`trap-focus`?`sloppy`:`intentional`,touch:`sloppy`}},outsidePress(e){if(!t.context.outsidePressEnabledRef.current||`button`in e&&e.button!==0||`touches`in e&&e.touches.length!==1)return!1;let n=Le(e);if(x&&!o){let e=n;return s&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===e||t.context.backdropRef.current===e||R(e,c)&&!e?.hasAttribute(`data-base-ui-portal`):!0}return!1},escapeKey:x});qr(a&&s===!0,c);let{getReferenceProps:T,getFloatingProps:E,getTriggerProps:D}=_e([S,C]);t.useContextCallback(`onNestedDialogOpen`,(e,t)=>{g(e),v(t)}),t.useContextCallback(`onNestedDialogClose`,()=>{g(0),v(0)}),Y.useEffect(()=>(n?.onNestedDialogOpen&&a&&n.onNestedDialogOpen(h+1,_+ +!!i),n?.onNestedDialogClose&&!a&&n.onNestedDialogClose(),()=>{n?.onNestedDialogClose&&a&&n.onNestedDialogClose()}),[i,a,h,_,n]);let O=Y.useMemo(()=>T(u),[T,u]),k=Y.useMemo(()=>D(u),[D,u]),A=Y.useMemo(()=>E(),[E]);t.useSyncedValues({openMethod:l,activeTriggerProps:O,inactiveTriggerProps:k,popupProps:A,floatingRootContext:p,nestedOpenDialogCount:h,nestedOpenDrawerCount:_})}var Qr={...C,modal:g(e=>e.modal),nested:g(e=>e.nested),nestedOpenDialogCount:g(e=>e.nestedOpenDialogCount),nestedOpenDrawerCount:g(e=>e.nestedOpenDrawerCount),disablePointerDismissal:g(e=>e.disablePointerDismissal),openMethod:g(e=>e.openMethod),descriptionElementId:g(e=>e.descriptionElementId),titleElementId:g(e=>e.titleElementId),viewportElement:g(e=>e.viewportElement),role:g(e=>e.role)},$r=class e extends u{constructor(e){super(ei(e),{popupRef:Y.createRef(),backdropRef:Y.createRef(),internalBackdropRef:Y.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:new c,onOpenChange:void 0,onOpenChangeComplete:void 0},Qr)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set(`preventUnmountingOnClose`,!0)},!e&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let n={open:e},r=t.trigger?.id??null;(r||e)&&(n.activeTriggerId=r,n.activeTriggerElement=t.trigger??null),this.update(n)};static useStore(t,n){let r=I(()=>new e(n)).current;return t??r}};function ei(e={}){return{...x(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:`dialog`,...e}}var ti=Y.createContext(!1);function ni(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:i,onOpenChangeComplete:a,disablePointerDismissal:o=!1,modal:s=!0,actionsRef:c,handle:l,triggerId:u,defaultTriggerId:d=null}=e,f=lr(!0),p=Y.useContext(ti),m=!!f,h=$r.useStore(l?.store,{open:r,openProp:n,activeTriggerId:d,triggerIdProp:u,modal:s,disablePointerDismissal:o,nested:m});we(()=>{n===void 0&&h.state.open===!1&&r===!0&&h.update({open:!0,activeTriggerId:d})}),h.useControlledProp(`openProp`,n),h.useControlledProp(`triggerIdProp`,u),h.useSyncedValues({disablePointerDismissal:o,nested:m,modal:s}),h.useContextCallback(`onOpenChange`,i),h.useContextCallback(`onOpenChangeComplete`,a);let g=h.useState(`payload`);Zr({store:h,actionsRef:c,parentContext:f?.store.context,isDrawer:p,onOpenChange:i,triggerIdProp:u});let _=Y.useMemo(()=>({store:h}),[h]);return(0,X.jsx)(ti.Provider,{value:!1,children:(0,X.jsx)(cr.Provider,{value:_,children:typeof t==`function`?t({payload:g}):t})})}var ri=Y.forwardRef(function(e,t){let{render:n,className:r,style:i,id:a,...o}=e,{store:c}=lr(),l=s(a);return c.useSyncedValueWithCleanup(`titleElementId`,l),Ne(`h2`,e,{ref:t,props:[{id:l},o]})});function ii(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,X.jsx)(ni,{"data-slot":`dialog`,...n}),t[2]=n,t[3]=r),r}function ai(e){let t=(0,$.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,X.jsx)(Rr,{"data-slot":`dialog-portal`,...n}),t[2]=n,t[3]=r),r}function oi(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=q(`fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(dr,{"data-slot":`dialog-overlay`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function si(e){let t=(0,$.c)(15),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,children:n,showCloseButton:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=a===void 0?!0:a,s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,X.jsx)(oi,{}),t[5]=s):s=t[5];let c;t[6]===r?c=t[7]:(c=q(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-xs/relaxed text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,r),t[6]=r,t[7]=c);let l;t[8]===o?l=t[9]:(l=o&&(0,X.jsxs)(fr,{"data-slot":`dialog-close`,render:(0,X.jsx)(it,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`}),children:[(0,X.jsx)(rt,{}),(0,X.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),t[8]=o,t[9]=l);let u;return t[10]!==n||t[11]!==i||t[12]!==c||t[13]!==l?(u=(0,X.jsxs)(ai,{children:[s,(0,X.jsxs)(Ir,{"data-slot":`dialog-content`,className:c,...i,children:[n,l]})]}),t[10]=n,t[11]=i,t[12]=c,t[13]=l,t[14]=u):u=t[14],u}function ci(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=q(`flex flex-col gap-1`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(`div`,{"data-slot":`dialog-header`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function li(e){let t=(0,$.c)(14),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,showCloseButton:a,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=a===void 0?!1:a,s;t[5]===r?s=t[6]:(s=q(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,r),t[5]=r,t[6]=s);let c;t[7]===o?c=t[8]:(c=o&&(0,X.jsx)(fr,{render:(0,X.jsx)(it,{variant:`outline`}),children:`Close`}),t[7]=o,t[8]=c);let l;return t[9]!==n||t[10]!==i||t[11]!==s||t[12]!==c?(l=(0,X.jsxs)(`div`,{"data-slot":`dialog-footer`,className:s,...i,children:[n,c]}),t[9]=n,t[10]=i,t[11]=s,t[12]=c,t[13]=l):l=t[13],l}function ui(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=q(`font-heading text-sm font-medium`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(ri,{"data-slot":`dialog-title`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function di(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=q(`flex items-center gap-2 text-xs/relaxed 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),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(`label`,{"data-slot":`label`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function fi(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=q(`group/field-group @container/field-group flex w-full flex-col gap-4 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(`div`,{"data-slot":`field-group`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}var pi=E(`group/field flex w-full gap-2 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:`flex-col *:w-full [&>.sr-only]:w-auto`,horizontal:`flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`,responsive:`flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`}},defaultVariants:{orientation:`vertical`}});function mi(e){let t=(0,$.c)(11),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,orientation:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`vertical`:i,o;t[4]!==n||t[5]!==a?(o=q(pi({orientation:a}),n),t[4]=n,t[5]=a,t[6]=o):o=t[6];let s;return t[7]!==a||t[8]!==r||t[9]!==o?(s=(0,X.jsx)(`fieldset`,{"data-slot":`field`,"data-orientation":a,className:o,...r}),t[7]=a,t[8]=r,t[9]=o,t[10]=s):s=t[10],s}function hi(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=q(`group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border *:data-[slot=field]:p-2 dark:has-data-checked:bg-primary/10`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(di,{"data-slot":`field-label`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function gi(e){let t=(0,$.c)(15),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,children:n,errors:i,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;bb0:{if(n){o=n;break bb0}if(!i?.length){o=null;break bb0}let e;t[5]===i?e=t[6]:(e=[...new Map(i.map(vi)).values()],t[5]=i,t[6]=e);let r=e;if(r?.length===1){o=r[0]?.message;break bb0}let a;t[7]===r?a=t[8]:(a=(0,X.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:r.map(_i)}),t[7]=r,t[8]=a),o=a}let s=o;if(!s)return null;let c;t[9]===r?c=t[10]:(c=q(`text-xs/relaxed font-normal text-destructive`,r),t[9]=r,t[10]=c);let l;return t[11]!==s||t[12]!==a||t[13]!==c?(l=(0,X.jsx)(`div`,{role:`alert`,"data-slot":`field-error`,className:c,...a,children:s}),t[11]=s,t[12]=a,t[13]=c,t[14]=l):l=t[14],l}function _i(e){return e?.message&&(0,X.jsx)(`li`,{children:e.message},e.message)}function vi(e){return[e?.message,e]}var yi=function(e){return e.disabled=`data-disabled`,e.valid=`data-valid`,e.invalid=`data-invalid`,e.touched=`data-touched`,e.dirty=`data-dirty`,e.filled=`data-filled`,e.focused=`data-focused`,e}({}),bi={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},xi={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},Si={disabled:!1,...xi},Ci={valid(e){return e===null?null:e?{[yi.valid]:``}:{[yi.invalid]:``}}},wi=Y.createContext({invalid:void 0,name:void 0,validityData:{state:bi,errors:[],error:``,value:``,initialValue:null},setValidityData:p,disabled:void 0,touched:xi.touched,setTouched:p,dirty:xi.dirty,setDirty:p,filled:xi.filled,setFilled:p,focused:xi.focused,setFocused:p,validate:()=>null,validationMode:`onSubmit`,validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:Si,markedDirtyRef:{current:!1},registerFieldControl:p,validation:{getValidationProps:(e=j)=>e,getInputValidationProps:(e=j)=>e,inputRef:{current:null},commit:async()=>{}}});function Ti(e=!0){let t=Y.useContext(wi);if(t.setValidityData===p&&!e)throw Error(de(28));return t}var Ei=Y.createContext({controlId:void 0,registerControlId:p,labelId:void 0,setLabelId:p,messageIds:[],setMessageIds:p,getDescriptionProps:e=>e});function Di(){return Y.useContext(Ei)}function Oi(e={}){let{id:t,implicit:n=!1,controlRef:r}=e,{controlId:i,registerControlId:a}=Di(),o=s(t),c=n?i:void 0,l=I(()=>Symbol(`labelable-control`)),u=Y.useRef(!1),d=Y.useRef(t!=null),f=Te(()=>{!u.current||a===p||(u.current=!1,a(l.current,void 0))});return G(()=>{if(a===p)return;let e;if(n){let n=r?.current;e=We(n)&&n.closest(`label`)!=null?t??null:c??o}else if(t!=null)d.current=!0,e=t;else if(d.current)e=o;else{f();return}if(e===void 0){f();return}u.current=!0,a(l.current,e)},[t,r,c,a,n,o,l,f]),Y.useEffect(()=>f,[f]),i??o}function ki(e,t){let{enabled:n=!0,getValue:r,id:i,value:a}=t,{registerFieldControl:o}=Ti(),s=Y.useRef(null);s.current||=Symbol(),G(()=>{let t=s.current;if(!(!t||!n))return o(t,{controlRef:e,getValue:r,id:i,value:a}),()=>{o(t,void 0)}},[e,n,r,i,o,a])}var Ai=Y.forwardRef(function(e,t){let{render:r,className:i,id:a,name:o,value:s,disabled:c=!1,onValueChange:u,defaultValue:d,autoFocus:f=!1,style:p,...m}=e,{state:h,name:g,disabled:_,setTouched:v,setDirty:y,validityData:b,setFocused:x,setFilled:S,validationMode:C,validation:w}=Ti(),T=_||c,E=g??o,D={...h,disabled:T},{labelId:O}=Di(),k=Oi({id:a});G(()=>{let e=s!=null;w.inputRef.current?.value||e&&s!==``?S(!0):e&&s===``&&S(!1)},[w.inputRef,S,s]);let A=Y.useRef(null);G(()=>{f&&A.current===n(W(A.current))&&x(!0)},[f,x]);let[j]=Hn({controlled:s,default:d,name:`FieldControl`,state:`value`}),M=s!==void 0,ee=M?j:void 0,te=Te(()=>w.inputRef.current?.value);return ki(w.inputRef,{id:k,value:ee,getValue:te}),Ne(`input`,e,{ref:[t,A],state:D,props:[{id:k,disabled:T,name:E,ref:w.inputRef,"aria-labelledby":O,autoFocus:f,...M?{value:ee}:{defaultValue:d},onChange(e){let t=e.currentTarget.value;u?.(t,V(l,e.nativeEvent)),y(t!==b.initialValue),S(t!==``)},onFocus(){x(!0)},onBlur(e){v(!0),x(!1),C===`onBlur`&&w.commit(e.currentTarget.value)},onKeyDown(e){e.currentTarget.tagName===`INPUT`&&e.key===`Enter`&&(v(!0),w.commit(e.currentTarget.value))}},w.getInputValidationProps(),m],stateAttributesMapping:Ci})}),ji=Y.forwardRef(function(e,t){return(0,X.jsx)(Ai,{ref:t,...e})});function Mi(e){let t=(0,$.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,type:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===n?a=t[5]:(a=q(`h-7 w-full min-w-0 rounded-md border border-input bg-input/20 px-2 py-0.5 text-sm transition-colors outline-none file:inline-flex file:h-6 file:border-0 file:bg-transparent file:text-xs/relaxed file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-xs/relaxed dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,n),t[4]=n,t[5]=a);let o;return t[6]!==r||t[7]!==a||t[8]!==i?(o=(0,X.jsx)(ji,{type:i,"data-slot":`input`,className:a,...r}),t[6]=r,t[7]=a,t[8]=i,t[9]=o):o=t[9],o}function Ni(e){let t=(0,$.c)(14),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,size:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?`default`:i,o;t[4]===n?o=t[5]:(o=q(`group/native-select relative w-fit has-[select:disabled]:opacity-50`,n),t[4]=n,t[5]=o);let s;t[6]!==r||t[7]!==a?(s=(0,X.jsx)(`select`,{"data-slot":`native-select`,"data-size":a,className:`h-7 w-full min-w-0 appearance-none rounded-md border border-input bg-input/20 py-0.5 pr-6 pl-2 text-xs/relaxed transition-colors outline-none select-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 data-[size=sm]:h-6 data-[size=sm]:text-[0.625rem] dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,...r}),t[6]=r,t[7]=a,t[8]=s):s=t[8];let c;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,X.jsx)(Ut,{className:`pointer-events-none absolute top-1/2 right-1.5 size-3.5 -translate-y-1/2 text-muted-foreground select-none group-data-[size=sm]/native-select:size-3`,"aria-hidden":`true`,"data-slot":`native-select-icon`}),t[9]=c):c=t[9];let l;return t[10]!==a||t[11]!==o||t[12]!==s?(l=(0,X.jsxs)(`div`,{className:o,"data-slot":`native-select-wrapper`,"data-size":a,children:[s,c]}),t[10]=a,t[11]=o,t[12]=s,t[13]=l):l=t[13],l}function Pi(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=q(`bg-[Canvas] text-[CanvasText]`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(`option`,{"data-slot":`native-select-option`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Fi(e){let t=(0,$.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=q(`flex field-sizing-content min-h-16 w-full resize-none rounded-md border border-input bg-input/20 px-2 py-2 text-sm transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-2 aria-invalid:ring-destructive/20 md:text-xs/relaxed dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,X.jsx)(`textarea`,{"data-slot":`textarea`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Ii(e){let[t,n]=(0,Y.useState)([]),[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)(!1);return(0,Y.useEffect)(()=>{let t=!1;return i(!0),L(e).then(e=>{t||n(e)}).catch(()=>{t||Ue.error(`Failed to load history`)}).finally(()=>{t||i(!1)}),()=>{t=!0}},[e]),{versions:t,isLoading:r,reverting:a,revert:async t=>{o(!0);try{return await he(e,t),await Me.invalidateQueries({queryKey:[`memories`]}),n(await L(e)),!0}catch{return Ue.error(`Failed to revert — try again`),!1}finally{o(!1)}}}}function Li(e,t){let n=(0,$.c)(27),r,i;n[0]===e?(r=n[1],i=n[2]):(r=t=>t.from({m:Ie}).where(t=>{let{m:n}=t;return Ge(n.id,e)}),i=[e],n[0]=e,n[1]=r,n[2]=i);let{data:a,isLoading:o}=Be(r,i),s;n[3]===a?s=n[4]:(s=a===void 0?[]:a,n[3]=a,n[4]=s);let c=s[0]??null,l;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=[],n[5]=l):l=n[5];let{data:u}=Be(zi,l),d;n[6]===u?d=n[7]:(d=u===void 0?[]:u,n[6]=u,n[7]=d);let f=d,p;n[8]===e?p=n[9]:(p=()=>{fe(e,{needsReview:!1}).then(Ri)},n[8]=e,n[9]=p);let m=p,h;n[10]===e?h=n[11]:(h=async t=>{try{return await F(e,t),await Me.invalidateQueries({queryKey:[`memories`]}),!0}catch{return Ue.error(`Failed to add project — try again`),!1}},n[10]=e,n[11]=h);let g=h,_;n[12]===e?_=n[13]:(_=async t=>{try{await H(e,t),await Me.invalidateQueries({queryKey:[`memories`]})}catch{Ue.error(`Failed to remove project — try again`)}},n[12]=e,n[13]=_);let v=_,y;if(n[14]!==f||n[15]!==c?.projects){let e;n[17]===c?.projects?e=n[18]:(e=e=>!c?.projects.some(t=>t.id===e.id),n[17]=c?.projects,n[18]=e),y=f.filter(e),n[14]=f,n[15]=c?.projects,n[16]=y}else y=n[16];let b=y,x;return n[19]!==b||n[20]!==g||n[21]!==m||n[22]!==v||n[23]!==o||n[24]!==c||n[25]!==t?(x={memory:c,isLoading:o,availableProjects:b,handleApprove:m,handleAddProject:g,handleRemoveProject:v,handleClose:t},n[19]=b,n[20]=g,n[21]=m,n[22]=v,n[23]=o,n[24]=c,n[25]=t,n[26]=x):x=n[26],x}function Ri(){return Me.invalidateQueries({queryKey:[`memories`]})}function zi(e){return e.from({p:Se})}var Bi=nt({content:Ze().min(1,`Content is required.`),type:ot(lt),tagsInput:Ze()});function Vi(e){let t=(0,$.c)(18),{version:n,reverting:r,onConfirm:i,onClose:a}=e,o;t[0]===n.version?o=t[1]:(o=(0,X.jsx)(ci,{children:(0,X.jsxs)(ui,{children:[`Revert to version `,n.version,`?`]})}),t[0]=n.version,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`The current content will be archived as a new version before restoring this snapshot.`}),t[2]=s):s=t[2];let c;t[3]===n.content?c=t[4]:(c=(0,X.jsx)(`pre`,{className:`text-[11px] font-mono whitespace-pre-wrap rounded border border-border bg-muted px-2 py-1.5 max-h-40 overflow-y-auto`,children:n.content}),t[3]=n.content,t[4]=c);let l;t[5]===a?l=t[6]:(l=(0,X.jsx)(it,{variant:`outline`,size:`sm`,onClick:a,children:`Cancel`}),t[5]=a,t[6]=l);let u=r?`Reverting…`:`Revert`,d;t[7]!==i||t[8]!==r||t[9]!==u?(d=(0,X.jsx)(it,{variant:`default`,size:`sm`,disabled:r,onClick:i,children:u}),t[7]=i,t[8]=r,t[9]=u,t[10]=d):d=t[10];let f;t[11]!==l||t[12]!==d?(f=(0,X.jsxs)(li,{children:[l,d]}),t[11]=l,t[12]=d,t[13]=f):f=t[13];let p;return t[14]!==o||t[15]!==c||t[16]!==f?(p=(0,X.jsxs)(si,{children:[o,s,c,f]}),t[14]=o,t[15]=c,t[16]=f,t[17]=p):p=t[17],p}function Hi(e){let t=(0,$.c)(23),{memoryId:n}=e,{versions:r,isLoading:i,reverting:a,revert:o}=Ii(n),[s,c]=(0,Y.useState)(null),l;t[0]!==o||t[1]!==s?(l=async()=>{s&&await o(s.version)&&c(null)},t[0]=o,t[1]=s,t[2]=l):l=t[2];let u=l;if(!i&&r.length===0)return null;let d=s!==null,f;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>!e&&c(null),t[3]=f):f=t[3];let p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,X.jsx)(`span`,{className:`transition-transform group-data-[open]:rotate-90`,children:`›`}),t[4]=p):p=t[4];let m=r.length>0?` (${r.length})`:``,h;t[5]===m?h=t[6]:(h=(0,X.jsxs)(or,{className:`flex items-center gap-1 cursor-pointer text-[11px] uppercase tracking-wide text-muted-foreground hover:text-foreground transition-colors select-none w-full`,children:[p,`History`,m]}),t[5]=m,t[6]=h);let g;t[7]!==i||t[8]!==r?(g=i?(0,X.jsx)(`p`,{className:`text-[11px] font-mono text-muted-foreground`,children:`Loading…`}):r.map(e=>(0,X.jsxs)(`button`,{type:`button`,className:`w-full text-left rounded border border-border px-2 py-1.5 space-y-0.5 hover:bg-muted transition-colors`,onClick:()=>c(e),children:[(0,X.jsxs)(`div`,{className:`flex justify-between text-[11px] font-mono text-muted-foreground`,children:[(0,X.jsxs)(`span`,{className:`font-medium text-foreground`,children:[`v`,e.version]}),(0,X.jsx)(`span`,{children:new Date(e.createdAt).toLocaleString()})]}),(0,X.jsx)(`p`,{className:`text-[11px] font-mono text-muted-foreground truncate`,children:e.content.slice(0,80)})]},e.version)),t[7]=i,t[8]=r,t[9]=g):g=t[9];let _;t[10]===g?_=t[11]:(_=(0,X.jsx)(sr,{className:`space-y-1 mt-2`,children:g}),t[10]=g,t[11]=_);let v;t[12]!==h||t[13]!==_?(v=(0,X.jsxs)(ar,{className:`group pt-2 border-t border-border`,children:[h,_]}),t[12]=h,t[13]=_,t[14]=v):v=t[14];let y;t[15]!==u||t[16]!==a||t[17]!==s?(y=s!==null&&(0,X.jsx)(Vi,{version:s,reverting:a,onConfirm:()=>void u(),onClose:()=>c(null)}),t[15]=u,t[16]=a,t[17]=s,t[18]=y):y=t[18];let b;return t[19]!==y||t[20]!==d||t[21]!==v?(b=(0,X.jsxs)(ii,{open:d,onOpenChange:f,children:[v,y]}),t[19]=y,t[20]=d,t[21]=v,t[22]=b):b=t[22],b}function Ui(e){let t=(0,$.c)(12),{field:n,label:r,description:i,children:a}=e,o=n.state.meta.isTouched&&!n.state.meta.isValid,s;t[0]!==n.name||t[1]!==r?(s=(0,X.jsx)(hi,{htmlFor:n.name,className:`text-[11px] uppercase tracking-wide text-muted-foreground`,children:r}),t[0]=n.name,t[1]=r,t[2]=s):s=t[2];let c;t[3]!==n.state.meta.errors||t[4]!==o?(c=o&&(0,X.jsx)(gi,{errors:n.state.meta.errors}),t[3]=n.state.meta.errors,t[4]=o,t[5]=c):c=t[5];let l;return t[6]!==a||t[7]!==i||t[8]!==o||t[9]!==s||t[10]!==c?(l=(0,X.jsxs)(mi,{"data-invalid":o,children:[s,a,i,c]}),t[6]=a,t[7]=i,t[8]=o,t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function Wi(e){let t=(0,$.c)(116),{memory:n,availableProjects:r,handleApprove:i,handleAddProject:a,handleRemoveProject:o,handleClose:s}=e,[c,l]=(0,Y.useState)(!1),[u,d]=(0,Y.useState)(``),f,p;t[0]===c?(f=t[1],p=t[2]):(f=()=>{if(!c)return;let e=setTimeout(()=>l(!1),1500);return()=>clearTimeout(e)},p=[c],t[0]=c,t[1]=f,t[2]=p),(0,Y.useEffect)(f,p);let m=n.content,h=n.type,g;t[3]===n.tags?g=t[4]:(g=n.tags.join(`, `),t[3]=n.tags,t[4]=g);let _;t[5]!==n.content||t[6]!==n.type||t[7]!==g?(_={content:m,type:h,tagsInput:g},t[5]=n.content,t[6]=n.type,t[7]=g,t[8]=_):_=t[8];let v;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(v={onSubmit:Bi},t[9]=v):v=t[9];let y;t[10]!==n.content||t[11]!==n.id||t[12]!==n.tags||t[13]!==n.type?(y=e=>{let{value:t}=e,r=t.tagsInput.split(`,`).map(Zi).filter(Boolean);Ie.update(n.id,e=>{t.content!==n.content&&(e.content=t.content),t.type!==n.type&&(e.type=t.type),JSON.stringify(r)!==JSON.stringify(n.tags)&&(e.tags=r)}),l(!0)},t[10]=n.content,t[11]=n.id,t[12]=n.tags,t[13]=n.type,t[14]=y):y=t[14];let b;t[15]!==_||t[16]!==y?(b={defaultValues:_,validators:v,onSubmit:y},t[15]=_,t[16]=y,t[17]=b):b=t[17];let x=Vn(b),S;t[18]===x.state.isDirty?S=t[19]:(S={shouldBlockFn:()=>x.state.isDirty,withResolver:!0},t[18]=x.state.isDirty,t[19]=S);let C=mt(S),w;t[20]!==u||t[21]!==a?(w=async()=>{u&&await a(u)&&d(``)},t[20]=u,t[21]=a,t[22]=w):w=t[22];let T=w,E;t[23]===n.type?E=t[24]:(E=(0,X.jsx)(at,{variant:n.type,children:n.type}),t[23]=n.type,t[24]=E);let D;t[25]===n.reviewEvents.length?D=t[26]:(D=n.reviewEvents.length>0&&(0,X.jsx)(at,{variant:`destructive`,title:`Flagged for review — possible duplicate or conflict with another memory`,children:`needs review`}),t[25]=n.reviewEvents.length,t[26]=D);let O;t[27]===n.pinned?O=t[28]:(O=n.pinned&&(0,X.jsx)(at,{variant:`default`,children:`pinned`}),t[27]=n.pinned,t[28]=O);let k;t[29]!==E||t[30]!==D||t[31]!==O?(k=(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[E,D,O]}),t[29]=E,t[30]=D,t[31]=O,t[32]=k):k=t[32];let A;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,X.jsx)(tt,{weight:`regular`}),t[33]=A):A=t[33];let j;t[34]===s?j=t[35]:(j=(0,X.jsx)(it,{variant:`ghost`,size:`icon-sm`,onClick:s,"aria-label":`Close`,children:A}),t[34]=s,t[35]=j);let M;t[36]!==k||t[37]!==j?(M=(0,X.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2.5 border-b border-border shrink-0`,children:[k,j]}),t[36]=k,t[37]=j,t[38]=M):M=t[38];let ee;t[39]===x.Field?ee=t[40]:(ee=(0,X.jsx)(x.Field,{name:`content`,children:Xi}),t[39]=x.Field,t[40]=ee);let te;t[41]===x.Field?te=t[42]:(te=(0,X.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,X.jsx)(x.Field,{name:`type`,children:Ji}),(0,X.jsx)(x.Field,{name:`tagsInput`,children:qi})]}),t[41]=x.Field,t[42]=te);let ne;t[43]!==ee||t[44]!==te?(ne=(0,X.jsxs)(fi,{children:[ee,te]}),t[43]=ee,t[44]=te,t[45]=ne):ne=t[45];let N;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,X.jsx)(`p`,{className:`text-[11px] uppercase tracking-wide text-muted-foreground font-mono`,children:`Projects`}),t[46]=N):N=t[46];let re;t[47]===n.projects.length?re=t[48]:(re=n.projects.length===0&&(0,X.jsx)(`span`,{className:`text-[11px] font-mono text-muted-foreground`,children:`Global (no project)`}),t[47]=n.projects.length,t[48]=re);let ie;if(t[49]!==o||t[50]!==n.projects){let e;t[52]===o?e=t[53]:(e=e=>(0,X.jsxs)(at,{variant:`secondary`,className:`gap-1 rounded-full text-[11px]`,children:[e.name,(0,X.jsx)(`button`,{type:`button`,onClick:()=>void o(e.id),className:`hover:text-destructive transition-colors leading-none`,"aria-label":`Remove from ${e.name}`,children:(0,X.jsx)(tt,{weight:`regular`,className:`size-2.5`})})]},e.id),t[52]=o,t[53]=e),ie=n.projects.map(e),t[49]=o,t[50]=n.projects,t[51]=ie}else ie=t[51];let P;t[54]!==re||t[55]!==ie?(P=(0,X.jsxs)(`div`,{className:`flex flex-wrap gap-1`,children:[re,ie]}),t[54]=re,t[55]=ie,t[56]=P):P=t[56];let ae;t[57]!==u||t[58]!==r||t[59]!==T?(ae=r.length>0&&(0,X.jsxs)(`div`,{className:`flex gap-1`,children:[(0,X.jsxs)(Ni,{value:u,onChange:e=>d(e.target.value),size:`sm`,className:`flex-1`,children:[(0,X.jsx)(Pi,{value:``,children:`Add to project…`}),r.map(Ki)]}),(0,X.jsx)(it,{variant:`outline`,size:`sm`,disabled:!u,onClick:()=>void T(),children:`+`})]}),t[57]=u,t[58]=r,t[59]=T,t[60]=ae):ae=t[60];let F;t[61]!==P||t[62]!==ae?(F=(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[N,P,ae]}),t[61]=P,t[62]=ae,t[63]=F):F=t[63];let oe;t[64]===n.reviewEvents?oe=t[65]:(oe=n.reviewEvents.length>0&&(0,X.jsxs)(ar,{defaultOpen:!0,className:`group pt-2 border-t border-border`,children:[(0,X.jsxs)(or,{className:`flex items-center gap-1 cursor-pointer text-[11px] uppercase tracking-wide text-muted-foreground hover:text-foreground transition-colors select-none w-full`,children:[(0,X.jsx)(`span`,{className:`transition-transform group-data-[open]:rotate-90`,children:`›`}),`Review reasons`]}),(0,X.jsx)(sr,{className:`space-y-2 mt-2`,children:n.reviewEvents.map(Gi)})]}),t[64]=n.reviewEvents,t[65]=oe);let I;t[66]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,X.jsxs)(or,{className:`flex items-center gap-1 cursor-pointer text-[11px] uppercase tracking-wide text-muted-foreground hover:text-foreground transition-colors select-none w-full`,children:[(0,X.jsx)(`span`,{className:`transition-transform group-data-[open]:rotate-90`,children:`›`}),`Details`]}),t[66]=I):I=t[66];let L;t[67]===n.sourceHarness?L=t[68]:(L=n.sourceHarness&&(0,X.jsxs)(`div`,{className:`flex justify-between text-[11px] font-mono text-muted-foreground`,children:[(0,X.jsx)(`span`,{children:`Source`}),(0,X.jsx)(`span`,{children:n.sourceHarness})]}),t[67]=n.sourceHarness,t[68]=L);let se;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(se=(0,X.jsx)(`span`,{children:`Accessed`}),t[69]=se):se=t[69];let ce;t[70]===n.accessCount?ce=t[71]:(ce=(0,X.jsxs)(`div`,{className:`flex justify-between text-[11px] font-mono text-muted-foreground`,children:[se,(0,X.jsxs)(`span`,{children:[n.accessCount,`×`]})]}),t[70]=n.accessCount,t[71]=ce);let le;t[72]===Symbol.for(`react.memo_cache_sentinel`)?(le=(0,X.jsx)(`span`,{children:`Updated`}),t[72]=le):le=t[72];let ue;t[73]===n.updatedAt?ue=t[74]:(ue=new Date(n.updatedAt).toLocaleString(),t[73]=n.updatedAt,t[74]=ue);let R;t[75]===ue?R=t[76]:(R=(0,X.jsxs)(`div`,{className:`flex justify-between text-[11px] font-mono text-muted-foreground`,children:[le,(0,X.jsx)(`span`,{children:ue})]}),t[75]=ue,t[76]=R);let de;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(de=(0,X.jsx)(`span`,{children:`Created`}),t[77]=de):de=t[77];let fe;t[78]===n.createdAt?fe=t[79]:(fe=new Date(n.createdAt).toLocaleString(),t[78]=n.createdAt,t[79]=fe);let pe;t[80]===fe?pe=t[81]:(pe=(0,X.jsxs)(`div`,{className:`flex justify-between text-[11px] font-mono text-muted-foreground`,children:[de,(0,X.jsx)(`span`,{children:fe})]}),t[80]=fe,t[81]=pe);let me;t[82]!==L||t[83]!==ce||t[84]!==R||t[85]!==pe?(me=(0,X.jsxs)(ar,{className:`group pt-2 border-t border-border`,children:[I,(0,X.jsxs)(sr,{className:`space-y-1 mt-2`,children:[L,ce,R,pe]})]}),t[82]=L,t[83]=ce,t[84]=R,t[85]=pe,t[86]=me):me=t[86];let he;t[87]===n.id?he=t[88]:(he=(0,X.jsx)(Hi,{memoryId:n.id}),t[87]=n.id,t[88]=he);let z;t[89]!==ne||t[90]!==F||t[91]!==oe||t[92]!==me||t[93]!==he?(z=(0,X.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-4 py-4 space-y-4`,children:[ne,F,oe,me,he]}),t[89]=ne,t[90]=F,t[91]=oe,t[92]=me,t[93]=he,t[94]=z):z=t[94];let ge;t[95]===C?ge=t[96]:(ge=C.status===`blocked`&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`text-xs font-mono text-destructive`,children:`Unsaved changes`}),(0,X.jsx)(it,{variant:`ghost`,size:`sm`,onClick:()=>C.proceed(),children:`Discard`}),(0,X.jsx)(it,{variant:`outline`,size:`sm`,onClick:()=>C.reset(),children:`Keep editing`})]}),t[95]=C,t[96]=ge);let B;t[97]!==C.status||t[98]!==i||t[99]!==n.reviewEvents.length?(B=n.reviewEvents.length>0&&C.status!==`blocked`&&(0,X.jsx)(it,{variant:`outline`,size:`sm`,onClick:i,title:`Mark as reviewed — this memory was flagged as a possible duplicate or conflict`,children:`Mark reviewed`}),t[97]=C.status,t[98]=i,t[99]=n.reviewEvents.length,t[100]=B):B=t[100];let _e;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,X.jsx)(`div`,{className:`flex-1`}),t[101]=_e):_e=t[101];let ve=!x.state.isDirty,V;t[102]===x?V=t[103]:(V=()=>void x.handleSubmit(),t[102]=x,t[103]=V);let ye=c?`Saved`:`Save`,be;t[104]!==ve||t[105]!==V||t[106]!==ye?(be=(0,X.jsx)(it,{variant:`default`,size:`sm`,disabled:ve,onClick:V,children:ye}),t[104]=ve,t[105]=V,t[106]=ye,t[107]=be):be=t[107];let xe;t[108]!==ge||t[109]!==B||t[110]!==be?(xe=(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-t border-border shrink-0`,children:[ge,B,_e,be]}),t[108]=ge,t[109]=B,t[110]=be,t[111]=xe):xe=t[111];let Se;return t[112]!==M||t[113]!==z||t[114]!==xe?(Se=(0,X.jsxs)(`div`,{className:`flex flex-col h-full`,children:[M,z,xe]}),t[112]=M,t[113]=z,t[114]=xe,t[115]=Se):Se=t[115],Se}function Gi(e){return(0,X.jsxs)(`div`,{className:`rounded border border-border p-2 space-y-1 text-[11px]`,children:[(0,X.jsxs)(`div`,{className:`flex justify-between text-muted-foreground`,children:[(0,X.jsxs)(`span`,{className:`font-medium text-destructive`,children:[Math.round(e.similarity*100),`% similarity match`]}),(0,X.jsx)(`span`,{children:new Date(e.createdAt).toLocaleString()})]}),e.conflictingMemoryId?(0,X.jsxs)(`div`,{className:`text-muted-foreground font-mono`,children:[`Conflicting memory:`,` `,(0,X.jsx)(`span`,{className:`font-mono text-[10px]`,children:e.conflictingMemoryId})]}):(0,X.jsx)(`div`,{className:`text-muted-foreground italic`,children:`Conflicting memory deleted`}),e.conflictContentSnapshot&&(0,X.jsxs)(ar,{children:[(0,X.jsx)(or,{className:`text-muted-foreground hover:text-foreground transition-colors cursor-pointer`,children:`Show conflicting content ›`}),(0,X.jsx)(sr,{children:(0,X.jsx)(`p`,{className:`mt-1 text-foreground bg-muted rounded px-2 py-1 whitespace-pre-wrap font-mono`,children:e.conflictContentSnapshot})})]})]},e.id)}function Ki(e){return(0,X.jsx)(Pi,{value:e.id,children:e.name},e.id)}function qi(e){return(0,X.jsx)(Ui,{field:e,label:`Tags`,children:(0,X.jsx)(Mi,{id:e.name,name:e.name,value:e.state.value,onBlur:e.handleBlur,onChange:t=>e.handleChange(t.target.value),placeholder:`tag1, tag2`,"aria-invalid":e.state.meta.isTouched&&!e.state.meta.isValid})})}function Ji(e){return(0,X.jsx)(Ui,{field:e,label:`Type`,description:(0,X.jsx)(`p`,{className:`text-[10px] text-muted-foreground leading-snug`,children:$e[e.state.value]}),children:(0,X.jsx)(Ni,{id:e.name,name:e.name,value:e.state.value,onBlur:e.handleBlur,onChange:t=>e.handleChange(t.target.value),className:`w-full`,children:lt.map(Yi)})})}function Yi(e){return(0,X.jsx)(Pi,{value:e,children:a(e)},e)}function Xi(e){return(0,X.jsx)(Ui,{field:e,label:`Content`,children:(0,X.jsx)(Fi,{id:e.name,name:e.name,value:e.state.value,onBlur:e.handleBlur,onChange:t=>e.handleChange(t.target.value),rows:8,className:`min-h-32 font-heading text-sm`,"aria-invalid":e.state.meta.isTouched&&!e.state.meta.isValid})})}function Zi(e){return e.trim()}function Qi(e){let t=(0,$.c)(12),{id:n}=e,{projectId:r}=ct.useParams(),i=Qe(),a;t[0]!==i||t[1]!==r?(a=()=>void i({to:`/$projectId`,params:{projectId:r},search:$i}),t[0]=i,t[1]=r,t[2]=a):a=t[2];let{memory:o,isLoading:s,availableProjects:c,handleApprove:l,handleAddProject:u,handleRemoveProject:d,handleClose:f}=Li(n,a);if(s||!o){let e=s?`Loading…`:`Memory not found`,n;return t[3]===e?n=t[4]:(n=(0,X.jsx)(`div`,{className:`flex items-center justify-center h-full text-xs font-mono text-muted-foreground`,children:e}),t[3]=e,t[4]=n),n}let p;return t[5]!==c||t[6]!==u||t[7]!==l||t[8]!==f||t[9]!==d||t[10]!==o?(p=(0,X.jsx)(Wi,{memory:o,availableProjects:c,handleApprove:l,handleAddProject:u,handleRemoveProject:d,handleClose:f},o.id),t[5]=c,t[6]=u,t[7]=l,t[8]=f,t[9]=d,t[10]=o,t[11]=p):p=t[11],p}function $i(e){return e}export{sr as C,Bt as E,ar as S,Hn as T,kr as _,li as a,jr as b,Dr as c,yr as d,br as f,Cr as g,Sr as h,si as i,vr as l,xr as m,Mi as n,ci as o,_r as p,ii as r,ui as s,Qi as t,Er as u,wr as v,or as w,Mr as x,Tr as y};
|