@kimuson/claude-code-viewer 0.6.1-beta.4 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +102 -110
  2. package/dist/main.js +1694 -1401
  3. package/dist/main.js.map +4 -4
  4. package/dist/migrations/20260403053302_nappy_night_thrasher/migration.sql +28 -0
  5. package/dist/migrations/20260403053302_nappy_night_thrasher/snapshot.json +318 -0
  6. package/dist/static/assets/{AuthProvider-BKc7q7ka.js → AuthProvider-Ds-c4CWc.js} +1 -1
  7. package/dist/static/assets/ProtectedRoute-BTfjJdM-.js +1 -0
  8. package/dist/static/assets/{dist-DiGJ7VFi.js → dist-Cartj9I0.js} +3 -3
  9. package/dist/static/assets/index-DPQFjjdS.css +2 -0
  10. package/dist/static/assets/index-Dd_UGB4w.js +20 -0
  11. package/dist/static/assets/{login-pLhQHKNI.js → login-CKSjZM5v.js} +1 -1
  12. package/dist/static/assets/messages-BIF6nUZW.js +1 -0
  13. package/dist/static/assets/messages-BLphVEYK.js +1 -0
  14. package/dist/static/assets/messages-CuPsU53l.js +1 -0
  15. package/dist/static/assets/projects-DH0K12HM.js +1 -0
  16. package/dist/static/assets/routes-CzLZwWu9.js +1 -0
  17. package/dist/static/assets/session-CJWdf6N4.js +12 -0
  18. package/dist/static/assets/session-vY-62UKf.js +1 -0
  19. package/dist/static/index.html +4 -4
  20. package/dist/static/sw.js +1 -1
  21. package/package.json +3 -1
  22. package/dist/static/assets/ProtectedRoute-DtqWc34B.js +0 -1
  23. package/dist/static/assets/index-CxzFZpzV.js +0 -20
  24. package/dist/static/assets/index-DgQxQj-3.css +0 -2
  25. package/dist/static/assets/messages-Cq0t_Ljz.js +0 -1
  26. package/dist/static/assets/messages-DJ70MfCl.js +0 -1
  27. package/dist/static/assets/messages-DRdgpO3i.js +0 -1
  28. package/dist/static/assets/projects-DWwR_fHN.js +0 -1
  29. package/dist/static/assets/routes-9aZugTrf.js +0 -1
  30. package/dist/static/assets/session-D5eScPGc.js +0 -8
  31. package/dist/static/assets/session-DK1CQBjg.js +0 -1
@@ -0,0 +1,28 @@
1
+ ALTER TABLE `sessions` ADD `permission_allowlist_json` text;--> statement-breakpoint
2
+ PRAGMA foreign_keys=OFF;--> statement-breakpoint
3
+ CREATE TABLE `__new_sessions` (
4
+ `id` text PRIMARY KEY,
5
+ `project_id` text NOT NULL,
6
+ `file_path` text NOT NULL UNIQUE,
7
+ `message_count` integer DEFAULT 0 NOT NULL,
8
+ `first_user_message_json` text,
9
+ `custom_title` text,
10
+ `total_cost_usd` real DEFAULT 0 NOT NULL,
11
+ `cost_breakdown_json` text,
12
+ `token_usage_json` text,
13
+ `model_name` text,
14
+ `pr_links_json` text,
15
+ `file_mtime_ms` integer NOT NULL,
16
+ `last_modified_at` text NOT NULL,
17
+ `synced_at` integer NOT NULL,
18
+ `permission_allowlist_json` text,
19
+ CONSTRAINT `sessions_project_id_projects_id_fk` FOREIGN KEY (`project_id`) REFERENCES `projects`(`id`) ON DELETE CASCADE
20
+ );
21
+ --> statement-breakpoint
22
+ INSERT INTO `__new_sessions`(`id`, `project_id`, `file_path`, `message_count`, `first_user_message_json`, `custom_title`, `total_cost_usd`, `cost_breakdown_json`, `token_usage_json`, `model_name`, `pr_links_json`, `file_mtime_ms`, `last_modified_at`, `synced_at`) SELECT `id`, `project_id`, `file_path`, `message_count`, `first_user_message_json`, `custom_title`, `total_cost_usd`, `cost_breakdown_json`, `token_usage_json`, `model_name`, `pr_links_json`, `file_mtime_ms`, `last_modified_at`, `synced_at` FROM `sessions`;--> statement-breakpoint
23
+ DROP TABLE `sessions`;--> statement-breakpoint
24
+ ALTER TABLE `__new_sessions` RENAME TO `sessions`;--> statement-breakpoint
25
+ PRAGMA foreign_keys=ON;--> statement-breakpoint
26
+ DROP INDEX IF EXISTS `sessions_file_path_unique`;--> statement-breakpoint
27
+ CREATE INDEX `idx_sessions_project_id` ON `sessions` (`project_id`);--> statement-breakpoint
28
+ CREATE INDEX `idx_sessions_file_mtime` ON `sessions` (`file_mtime_ms`);
@@ -0,0 +1,318 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "36c0fb3d-de17-4e04-b848-5502ed676cf1",
5
+ "prevIds": ["382a3f92-e566-45ff-af50-939de0afe931"],
6
+ "ddl": [
7
+ {
8
+ "name": "projects",
9
+ "entityType": "tables"
10
+ },
11
+ {
12
+ "name": "sessions",
13
+ "entityType": "tables"
14
+ },
15
+ {
16
+ "name": "sync_state",
17
+ "entityType": "tables"
18
+ },
19
+ {
20
+ "type": "text",
21
+ "notNull": false,
22
+ "autoincrement": false,
23
+ "default": null,
24
+ "generated": null,
25
+ "name": "id",
26
+ "entityType": "columns",
27
+ "table": "projects"
28
+ },
29
+ {
30
+ "type": "text",
31
+ "notNull": false,
32
+ "autoincrement": false,
33
+ "default": null,
34
+ "generated": null,
35
+ "name": "name",
36
+ "entityType": "columns",
37
+ "table": "projects"
38
+ },
39
+ {
40
+ "type": "text",
41
+ "notNull": false,
42
+ "autoincrement": false,
43
+ "default": null,
44
+ "generated": null,
45
+ "name": "path",
46
+ "entityType": "columns",
47
+ "table": "projects"
48
+ },
49
+ {
50
+ "type": "integer",
51
+ "notNull": true,
52
+ "autoincrement": false,
53
+ "default": "0",
54
+ "generated": null,
55
+ "name": "session_count",
56
+ "entityType": "columns",
57
+ "table": "projects"
58
+ },
59
+ {
60
+ "type": "integer",
61
+ "notNull": true,
62
+ "autoincrement": false,
63
+ "default": null,
64
+ "generated": null,
65
+ "name": "dir_mtime_ms",
66
+ "entityType": "columns",
67
+ "table": "projects"
68
+ },
69
+ {
70
+ "type": "integer",
71
+ "notNull": true,
72
+ "autoincrement": false,
73
+ "default": null,
74
+ "generated": null,
75
+ "name": "synced_at",
76
+ "entityType": "columns",
77
+ "table": "projects"
78
+ },
79
+ {
80
+ "type": "text",
81
+ "notNull": false,
82
+ "autoincrement": false,
83
+ "default": null,
84
+ "generated": null,
85
+ "name": "id",
86
+ "entityType": "columns",
87
+ "table": "sessions"
88
+ },
89
+ {
90
+ "type": "text",
91
+ "notNull": true,
92
+ "autoincrement": false,
93
+ "default": null,
94
+ "generated": null,
95
+ "name": "project_id",
96
+ "entityType": "columns",
97
+ "table": "sessions"
98
+ },
99
+ {
100
+ "type": "text",
101
+ "notNull": true,
102
+ "autoincrement": false,
103
+ "default": null,
104
+ "generated": null,
105
+ "name": "file_path",
106
+ "entityType": "columns",
107
+ "table": "sessions"
108
+ },
109
+ {
110
+ "type": "integer",
111
+ "notNull": true,
112
+ "autoincrement": false,
113
+ "default": "0",
114
+ "generated": null,
115
+ "name": "message_count",
116
+ "entityType": "columns",
117
+ "table": "sessions"
118
+ },
119
+ {
120
+ "type": "text",
121
+ "notNull": false,
122
+ "autoincrement": false,
123
+ "default": null,
124
+ "generated": null,
125
+ "name": "first_user_message_json",
126
+ "entityType": "columns",
127
+ "table": "sessions"
128
+ },
129
+ {
130
+ "type": "text",
131
+ "notNull": false,
132
+ "autoincrement": false,
133
+ "default": null,
134
+ "generated": null,
135
+ "name": "custom_title",
136
+ "entityType": "columns",
137
+ "table": "sessions"
138
+ },
139
+ {
140
+ "type": "real",
141
+ "notNull": true,
142
+ "autoincrement": false,
143
+ "default": "0",
144
+ "generated": null,
145
+ "name": "total_cost_usd",
146
+ "entityType": "columns",
147
+ "table": "sessions"
148
+ },
149
+ {
150
+ "type": "text",
151
+ "notNull": false,
152
+ "autoincrement": false,
153
+ "default": null,
154
+ "generated": null,
155
+ "name": "cost_breakdown_json",
156
+ "entityType": "columns",
157
+ "table": "sessions"
158
+ },
159
+ {
160
+ "type": "text",
161
+ "notNull": false,
162
+ "autoincrement": false,
163
+ "default": null,
164
+ "generated": null,
165
+ "name": "token_usage_json",
166
+ "entityType": "columns",
167
+ "table": "sessions"
168
+ },
169
+ {
170
+ "type": "text",
171
+ "notNull": false,
172
+ "autoincrement": false,
173
+ "default": null,
174
+ "generated": null,
175
+ "name": "model_name",
176
+ "entityType": "columns",
177
+ "table": "sessions"
178
+ },
179
+ {
180
+ "type": "text",
181
+ "notNull": false,
182
+ "autoincrement": false,
183
+ "default": null,
184
+ "generated": null,
185
+ "name": "pr_links_json",
186
+ "entityType": "columns",
187
+ "table": "sessions"
188
+ },
189
+ {
190
+ "type": "integer",
191
+ "notNull": true,
192
+ "autoincrement": false,
193
+ "default": null,
194
+ "generated": null,
195
+ "name": "file_mtime_ms",
196
+ "entityType": "columns",
197
+ "table": "sessions"
198
+ },
199
+ {
200
+ "type": "text",
201
+ "notNull": true,
202
+ "autoincrement": false,
203
+ "default": null,
204
+ "generated": null,
205
+ "name": "last_modified_at",
206
+ "entityType": "columns",
207
+ "table": "sessions"
208
+ },
209
+ {
210
+ "type": "integer",
211
+ "notNull": true,
212
+ "autoincrement": false,
213
+ "default": null,
214
+ "generated": null,
215
+ "name": "synced_at",
216
+ "entityType": "columns",
217
+ "table": "sessions"
218
+ },
219
+ {
220
+ "type": "text",
221
+ "notNull": false,
222
+ "autoincrement": false,
223
+ "default": null,
224
+ "generated": null,
225
+ "name": "permission_allowlist_json",
226
+ "entityType": "columns",
227
+ "table": "sessions"
228
+ },
229
+ {
230
+ "type": "text",
231
+ "notNull": false,
232
+ "autoincrement": false,
233
+ "default": null,
234
+ "generated": null,
235
+ "name": "key",
236
+ "entityType": "columns",
237
+ "table": "sync_state"
238
+ },
239
+ {
240
+ "type": "text",
241
+ "notNull": true,
242
+ "autoincrement": false,
243
+ "default": null,
244
+ "generated": null,
245
+ "name": "value",
246
+ "entityType": "columns",
247
+ "table": "sync_state"
248
+ },
249
+ {
250
+ "columns": ["project_id"],
251
+ "tableTo": "projects",
252
+ "columnsTo": ["id"],
253
+ "onUpdate": "NO ACTION",
254
+ "onDelete": "CASCADE",
255
+ "nameExplicit": false,
256
+ "name": "sessions_project_id_projects_id_fk",
257
+ "entityType": "fks",
258
+ "table": "sessions"
259
+ },
260
+ {
261
+ "columns": ["id"],
262
+ "nameExplicit": false,
263
+ "name": "projects_pk",
264
+ "table": "projects",
265
+ "entityType": "pks"
266
+ },
267
+ {
268
+ "columns": ["id"],
269
+ "nameExplicit": false,
270
+ "name": "sessions_pk",
271
+ "table": "sessions",
272
+ "entityType": "pks"
273
+ },
274
+ {
275
+ "columns": ["key"],
276
+ "nameExplicit": false,
277
+ "name": "sync_state_pk",
278
+ "table": "sync_state",
279
+ "entityType": "pks"
280
+ },
281
+ {
282
+ "columns": [
283
+ {
284
+ "value": "project_id",
285
+ "isExpression": false
286
+ }
287
+ ],
288
+ "isUnique": false,
289
+ "where": null,
290
+ "origin": "manual",
291
+ "name": "idx_sessions_project_id",
292
+ "entityType": "indexes",
293
+ "table": "sessions"
294
+ },
295
+ {
296
+ "columns": [
297
+ {
298
+ "value": "file_mtime_ms",
299
+ "isExpression": false
300
+ }
301
+ ],
302
+ "isUnique": false,
303
+ "where": null,
304
+ "origin": "manual",
305
+ "name": "idx_sessions_file_mtime",
306
+ "entityType": "indexes",
307
+ "table": "sessions"
308
+ },
309
+ {
310
+ "columns": ["file_path"],
311
+ "nameExplicit": false,
312
+ "name": "sessions_file_path_unique",
313
+ "entityType": "uniques",
314
+ "table": "sessions"
315
+ }
316
+ ],
317
+ "renames": []
318
+ }
@@ -19,4 +19,4 @@ function useAtomValueWithDelay<Value>(
19
19
  }, [store, atom, delay])
20
20
  return value
21
21
  }
22
- `),setTimeout(l,n);return}l()});return l(),t},[a,e,n,r]),(0,i.useDebugValue)(u),Y(u)){let t=kt(a,u,()=>a.get(e));return r&&X(t),Dt(t)}return u}function jt(e,t){let n=J(t);return(0,i.useCallback)((...t)=>n.set(e,...t),[n,e])}function Mt(e,t){return[At(e,t),jt(e,t)]}var Nt=yt({authEnabled:!1,authenticated:!1,checked:!1}),Pt=(e,t,n={})=>{let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}for(let e of[`domain`,`path`])if(n[e]&&/[;\r\n]/.test(n[e]))throw Error(`${e} must not contain ";", "\\r", or "\\n"`);if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},Ft=(e,t,n)=>(t=encodeURIComponent(t),Pt(e,t,n)),It=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),Lt=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},Rt=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(r!==void 0)if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r);return t},zt=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},Bt=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function Z(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Vt(e,t){if(!Z(e)&&!Z(t))return t;let n={...e};for(let e in t){let r=t[e];Z(n[e])&&Z(r)?n[e]=Vt(n[e],r):n[e]=r}return n}var Ht=(e,t)=>new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return Ht(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),Ut=class{url;method;buildSearchParams;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t,n){this.url=e,this.method=t,this.buildSearchParams=n.buildSearchParams}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=this.buildSearchParams(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(r!==void 0)if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))t.push(Ft(n,r,{path:`/`}));r.Cookie=t.join(`,`)}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers(r??void 0),a=this.url;a=Bt(a),a=Lt(a,this.pathParams),this.queryParams&&(a=a+`?`+this.queryParams.toString()),n=this.method.toUpperCase();let o=!(n===`GET`||n===`HEAD`);return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},Wt=(e,t)=>Ht(function n(r){let i=t?.buildSearchParams??Rt,a=[...r.path],o=a.slice(-3).reverse();if(o[0]===`toString`)return o[1]===`name`?o[2]||``:n.toString();if(o[0]===`valueOf`)return o[1]===`name`?o[2]||``:n;let s=``;if(/^\$/.test(o[0])){let e=a.pop();e&&(s=e.replace(/^\$/,``))}let c=It(e,a.join(`/`));if(s===`url`||s===`path`){let t=c;return r.args[0]&&(r.args[0].param&&(t=Lt(c,r.args[0].param)),r.args[0].query&&(t=t+`?`+i(r.args[0].query).toString())),t=Bt(t),s===`url`?new URL(t):t.slice(e.replace(/\/+$/,``).length).replace(/^\/?/,`/`)}if(s===`ws`){let e=zt(r.args[0]&&r.args[0].param?Lt(c,r.args[0].param):c,`ws`),n=new URL(e),i=r.args[0]?.query;return i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)}),((...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e))(n.toString())}let l=new Ut(c,s,{buildSearchParams:i});if(s){t??={};let e=Vt(t,{...r.args[1]});return l.fetch(r.args[0],e)}return l},[]),Gt=class extends Error{status;statusText;constructor(e,t){super(`HttpError: ${e} ${t}`),this.status=e,this.statusText=t}},Q=Wt(`/`,{fetch:async(...e)=>{let t=await fetch(...e);if(!t.ok)throw console.error(t),new Gt(t.status,t.statusText);return t}}),$={queryKey:[`auth`,`check`],queryFn:async()=>await(await Q.api.auth.check.$get()).json()},Kt={queryKey:[`projects`],queryFn:async()=>{let e=await Q.api.projects.$get({param:{}});if(!e.ok)throw Error(`Failed to fetch projects: ${e.statusText}`);return await e.json()}},qt=(e,t)=>({queryKey:[`directory-listing`,e,t],queryFn:async()=>{let n=await Q.api[`file-system`][`directory-browser`].$get({query:{...e!==void 0&&e!==``?{currentPath:e}:{},...t===void 0?{}:{showHidden:t.toString()}}});if(!n.ok)throw Error(`Failed to fetch directory listing`);return await n.json()}}),Jt=(e,t)=>({queryKey:[`projects`,e],queryFn:async()=>{let n=await Q.api.projects[`:projectId`].$get({param:{projectId:e},query:{cursor:t}});if(!n.ok)throw Error(`Failed to fetch project: ${n.statusText}`);return await n.json()}}),Yt=(e,t)=>({queryKey:[`projects`,e,`sessions`,t],queryFn:async()=>{let n=await Q.api.projects[`:projectId`].sessions[`:sessionId`].$get({param:{projectId:e,sessionId:t}});if(!n.ok)throw Error(`Failed to fetch session: ${n.statusText}`);return await n.json()}}),Xt=e=>({queryKey:[`claude-commands`,e],queryFn:async()=>{let t=await Q.api.projects[`:projectId`][`claude-commands`].$get({param:{projectId:e}});if(!t.ok)throw Error(`Failed to fetch claude commands: ${t.statusText}`);return await t.json()}}),Zt={queryKey:[`sessionProcesses`],queryFn:async()=>{let e=await Q.api[`claude-code`][`session-processes`].$get({});if(!e.ok)throw Error(`Failed to fetch alive tasks: ${e.statusText}`);return await e.json()}},Qt=e=>({queryKey:[`git`,`current-revisions`,e],queryFn:async()=>{let t=await Q.api.projects[`:projectId`].git[`current-revisions`].$get({param:{projectId:e}});if(!t.ok)throw Error(`Failed to fetch current revisions: ${t.statusText}`);return await t.json()}}),$t=e=>({queryKey:[`git`,`branches`,e],queryFn:async()=>{let t=await Q.api.projects[`:projectId`].git.branches.$get({param:{projectId:e}});if(!t.ok)throw Error(`Failed to fetch branches: ${t.statusText}`);return await t.json()}}),en=(e,t,n)=>({queryKey:[`git`,`diff`,e,t,n],queryFn:async()=>{let r=await Q.api.projects[`:projectId`].git.diff.$post({param:{projectId:e},json:{fromRef:t,toRef:n}});if(!r.ok)throw Error(`Failed to fetch diff: ${r.statusText}`);return await r.json()}}),tn=e=>({queryKey:[`mcp`,`list`,e],queryFn:async()=>{let t=await Q.api.projects[`:projectId`].mcp.list.$get({param:{projectId:e}});if(!t.ok)throw Error(`Failed to fetch MCP list: ${t.statusText}`);return await t.json()}}),nn=(e,t)=>({queryKey:[`file-completion`,e,t],queryFn:async()=>{let n=await Q.api[`file-system`][`file-completion`].$get({query:{basePath:t,projectId:e}});if(!n.ok)throw Error(`Failed to fetch file completion`);return await n.json()}}),rn={queryKey:[`config`],queryFn:async()=>{let e=await Q.api.config.$get();if(!e.ok)throw Error(`Failed to fetch config: ${e.statusText}`);return await e.json()}},an={queryKey:[`version`],queryFn:async()=>{let e=await Q.api.version.$get();if(!e.ok)throw Error(`Failed to fetch system version: ${e.statusText}`);return await e.json()}},on={queryKey:[`cc`,`meta`],queryFn:async()=>{let e=await Q.api[`claude-code`].meta.$get();if(!e.ok)throw Error(`Failed to fetch system features: ${e.statusText}`);return await e.json()}},sn={queryKey:[`flags`],queryFn:async()=>{let e=await Q.api[`feature-flags`].$get();if(!e.ok)throw Error(`Failed to fetch feature flags: ${e.statusText}`);return await e.json()}},cn=(e,t)=>({queryKey:[`projects`,e,`sessions`,t,`agent-sessions`],queryFn:async()=>{let n=await Q.api.projects[`:projectId`].sessions[`:sessionId`][`agent-sessions`].$get({param:{projectId:e,sessionId:t}});if(!n.ok)throw Error(`Failed to fetch agent sessions: ${n.statusText}`);return await n.json()}}),ln=(e,t,n)=>({queryKey:[`projects`,e,`agent-sessions`,t,n],queryFn:async()=>{let r=await Q.api.projects[`:projectId`][`agent-sessions`][`:agentId`].$get({param:{projectId:e,agentId:t},query:{sessionId:n}});if(!r.ok)throw Error(`Failed to fetch agent session: ${r.statusText}`);return await r.json()}}),un=(e,t)=>({queryKey:[`search`,e,t?.limit,t?.projectId],queryFn:async()=>{let n=await Q.api.search.$get({query:{q:e,...t?.limit===void 0?{}:{limit:t.limit.toString()},...t?.projectId!==void 0&&t.projectId!==``?{projectId:t.projectId}:{}}});if(!n.ok)throw Error(`Failed to search: ${n.statusText}`);return await n.json()}}),dn={queryKey:[`notifications`],queryFn:async()=>{let e=await Q.api.notifications.$get();if(!e.ok)throw Error(`Failed to fetch notifications: ${e.statusText}`);return await e.json()}},fn={queryKey:[`pending-permission-requests`],queryFn:async()=>{let e=await Q.api[`claude-code`][`pending-permission-requests`].$get();if(!e.ok)throw Error(`Failed to fetch pending permission requests`);return await e.json()}},pn={queryKey:[`pending-question-requests`],queryFn:async()=>{let e=await Q.api[`claude-code`][`pending-question-requests`].$get();if(!e.ok)throw Error(`Failed to fetch pending question requests`);return await e.json()}},mn=(e,t)=>({queryKey:[`projects`,e,`files`,t],queryFn:async()=>{let n=await Q.api.projects[`:projectId`].files.$get({param:{projectId:e},query:{filePath:t}});if(!n.ok)throw Error(`Failed to fetch file content`);return await n.json()}}),hn=({children:e})=>{let t=jt(Nt),{data:n}=We({queryKey:$.queryKey,queryFn:$.queryFn});return(0,i.useEffect)(()=>{t({authEnabled:n.authEnabled,authenticated:n.authenticated,checked:!0})},[n,t]),(0,H.jsx)(H.Fragment,{children:e})},gn=()=>{let e=At(Nt),t=U(),n=f(),r=W({mutationFn:async e=>{await Q.api.auth.login.$post({json:{password:e}})},onSuccess:async()=>{await t.invalidateQueries({queryKey:$.queryKey}),n({to:`/projects`})}}),i=W({mutationFn:async()=>{await Q.api.auth.logout.$post(),await t.invalidateQueries({queryKey:$.queryKey})},onSuccess:()=>{n({to:`/login`})}});return{authEnabled:e.authEnabled,isAuthenticated:e.authenticated,login:r.mutateAsync,logout:i.mutateAsync}};export{ee as $,jt as A,Te as B,Zt as C,Nt as D,Q as E,We as F,le as G,ge as H,Ue as I,ce as J,oe as K,Re as L,yt as M,Tt as N,Mt as O,W as P,E as Q,ke as R,Yt as S,Gt as T,R as U,be as V,L as W,O as X,x as Y,D as Z,fn as _,on as a,m as at,Kt as b,qt as c,d as ct,mn as d,l as dt,b as et,$t as f,c as ft,dn as g,tn as h,ln as i,h as it,J as j,At as k,sn as l,u as lt,en as m,s as mt,gn as n,w as nt,Xt as o,p as ot,Qt as p,o as pt,se as q,cn as r,N as rt,rn as s,f as st,hn as t,k as tt,nn as u,a as ut,pn as v,an as w,un as x,Jt as y,U as z};
22
+ `),setTimeout(l,n);return}l()});return l(),t},[a,e,n,r]),(0,i.useDebugValue)(u),Y(u)){let t=kt(a,u,()=>a.get(e));return r&&X(t),Dt(t)}return u}function jt(e,t){let n=J(t);return(0,i.useCallback)((...t)=>n.set(e,...t),[n,e])}function Mt(e,t){return[At(e,t),jt(e,t)]}var Nt=yt({authEnabled:!1,authenticated:!1,checked:!1}),Pt=(e,t,n={})=>{let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}for(let e of[`domain`,`path`])if(n[e]&&/[;\r\n]/.test(n[e]))throw Error(`${e} must not contain ";", "\\r", or "\\n"`);if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},Ft=(e,t,n)=>(t=encodeURIComponent(t),Pt(e,t,n)),It=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),Lt=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},Rt=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(r!==void 0)if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r);return t},zt=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},Bt=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function Z(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Vt(e,t){if(!Z(e)&&!Z(t))return t;let n={...e};for(let e in t){let r=t[e];Z(n[e])&&Z(r)?n[e]=Vt(n[e],r):n[e]=r}return n}var Ht=(e,t)=>new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return Ht(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),Ut=class{url;method;buildSearchParams;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t,n){this.url=e,this.method=t,this.buildSearchParams=n.buildSearchParams}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=this.buildSearchParams(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(r!==void 0)if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))t.push(Ft(n,r,{path:`/`}));r.Cookie=t.join(`,`)}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers(r??void 0),a=this.url;a=Bt(a),a=Lt(a,this.pathParams),this.queryParams&&(a=a+`?`+this.queryParams.toString()),n=this.method.toUpperCase();let o=!(n===`GET`||n===`HEAD`);return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},Wt=(e,t)=>Ht(function n(r){let i=t?.buildSearchParams??Rt,a=[...r.path],o=a.slice(-3).reverse();if(o[0]===`toString`)return o[1]===`name`?o[2]||``:n.toString();if(o[0]===`valueOf`)return o[1]===`name`?o[2]||``:n;let s=``;if(/^\$/.test(o[0])){let e=a.pop();e&&(s=e.replace(/^\$/,``))}let c=It(e,a.join(`/`));if(s===`url`||s===`path`){let t=c;return r.args[0]&&(r.args[0].param&&(t=Lt(c,r.args[0].param)),r.args[0].query&&(t=t+`?`+i(r.args[0].query).toString())),t=Bt(t),s===`url`?new URL(t):t.slice(e.replace(/\/+$/,``).length).replace(/^\/?/,`/`)}if(s===`ws`){let e=zt(r.args[0]&&r.args[0].param?Lt(c,r.args[0].param):c,`ws`),n=new URL(e),i=r.args[0]?.query;return i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)}),((...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e))(n.toString())}let l=new Ut(c,s,{buildSearchParams:i});if(s){t??={};let e=Vt(t,{...r.args[1]});return l.fetch(r.args[0],e)}return l},[]),Gt=class extends Error{status;statusText;constructor(e,t){super(`HttpError: ${e} ${t}`),this.status=e,this.statusText=t}},Q=Wt(`/`,{fetch:async(...e)=>{let t=await fetch(...e);if(!t.ok)throw console.error(t),new Gt(t.status,t.statusText);return t}}),$={queryKey:[`auth`,`check`],queryFn:async()=>await(await Q.api.auth.check.$get()).json()},Kt={queryKey:[`projects`],queryFn:async()=>{let e=await Q.api.projects.$get({param:{}});if(!e.ok)throw Error(`Failed to fetch projects: ${e.statusText}`);return await e.json()}},qt=(e,t)=>({queryKey:[`directory-listing`,e,t],queryFn:async()=>{let n=await Q.api[`file-system`][`directory-browser`].$get({query:{...e!==void 0&&e!==``?{currentPath:e}:{},...t===void 0?{}:{showHidden:t.toString()}}});if(!n.ok)throw Error(`Failed to fetch directory listing`);return await n.json()}}),Jt=(e,t)=>({queryKey:[`projects`,e],queryFn:async()=>{let n=await Q.api.projects[`:projectId`].$get({param:{projectId:e},query:{cursor:t}});if(!n.ok)throw Error(`Failed to fetch project: ${n.statusText}`);return await n.json()}}),Yt=(e,t)=>({queryKey:[`projects`,e,`sessions`,t],queryFn:async()=>{let n=await Q.api.projects[`:projectId`].sessions[`:sessionId`].$get({param:{projectId:e,sessionId:t}});if(!n.ok)throw Error(`Failed to fetch session: ${n.statusText}`);return await n.json()}}),Xt=e=>({queryKey:[`claude-commands`,e],queryFn:async()=>{let t=await Q.api.projects[`:projectId`][`claude-commands`].$get({param:{projectId:e}});if(!t.ok)throw Error(`Failed to fetch claude commands: ${t.statusText}`);return await t.json()}}),Zt={queryKey:[`sessionProcesses`],queryFn:async()=>{let e=await Q.api[`claude-code`][`session-processes`].$get({});if(!e.ok)throw Error(`Failed to fetch alive tasks: ${e.statusText}`);return await e.json()}},Qt=e=>({queryKey:[`git`,`current-revisions`,e],queryFn:async()=>{let t=await Q.api.projects[`:projectId`].git[`current-revisions`].$get({param:{projectId:e}});if(!t.ok)throw Error(`Failed to fetch current revisions: ${t.statusText}`);return await t.json()}}),$t=e=>({queryKey:[`git`,`branches`,e],queryFn:async()=>{let t=await Q.api.projects[`:projectId`].git.branches.$get({param:{projectId:e}});if(!t.ok)throw Error(`Failed to fetch branches: ${t.statusText}`);return await t.json()}}),en=(e,t,n)=>({queryKey:[`git`,`diff`,e,t,n],queryFn:async()=>{let r=await Q.api.projects[`:projectId`].git.diff.$post({param:{projectId:e},json:{fromRef:t,toRef:n}});if(!r.ok)throw Error(`Failed to fetch diff: ${r.statusText}`);return await r.json()}}),tn=e=>({queryKey:[`mcp`,`list`,e],queryFn:async()=>{let t=await Q.api.projects[`:projectId`].mcp.list.$get({param:{projectId:e}});if(!t.ok)throw Error(`Failed to fetch MCP list: ${t.statusText}`);return await t.json()}}),nn=(e,t)=>({queryKey:[`file-completion`,e,t],queryFn:async()=>{let n=await Q.api[`file-system`][`file-completion`].$get({query:{basePath:t,projectId:e}});if(!n.ok)throw Error(`Failed to fetch file completion`);return await n.json()}}),rn={queryKey:[`config`],queryFn:async()=>{let e=await Q.api.config.$get();if(!e.ok)throw Error(`Failed to fetch config: ${e.statusText}`);return await e.json()}},an={queryKey:[`version`],queryFn:async()=>{let e=await Q.api.version.$get();if(!e.ok)throw Error(`Failed to fetch system version: ${e.statusText}`);return await e.json()}},on={queryKey:[`cc`,`meta`],queryFn:async()=>{let e=await Q.api[`claude-code`].meta.$get();if(!e.ok)throw Error(`Failed to fetch system features: ${e.statusText}`);return await e.json()}},sn={queryKey:[`flags`],queryFn:async()=>{let e=await Q.api[`feature-flags`].$get();if(!e.ok)throw Error(`Failed to fetch feature flags: ${e.statusText}`);return await e.json()}},cn=(e,t)=>({queryKey:[`projects`,e,`sessions`,t,`agent-sessions`],queryFn:async()=>{let n=await Q.api.projects[`:projectId`].sessions[`:sessionId`][`agent-sessions`].$get({param:{projectId:e,sessionId:t}});if(!n.ok)throw Error(`Failed to fetch agent sessions: ${n.statusText}`);return await n.json()}}),ln=(e,t,n)=>({queryKey:[`projects`,e,`agent-sessions`,t,n],queryFn:async()=>{let r=await Q.api.projects[`:projectId`][`agent-sessions`][`:agentId`].$get({param:{projectId:e,agentId:t},query:{sessionId:n}});if(!r.ok)throw Error(`Failed to fetch agent session: ${r.statusText}`);return await r.json()}}),un=(e,t)=>({queryKey:[`search`,e,t?.limit,t?.projectId],queryFn:async()=>{let n=await Q.api.search.$get({query:{q:e,...t?.limit===void 0?{}:{limit:t.limit.toString()},...t?.projectId!==void 0&&t.projectId!==``?{projectId:t.projectId}:{}}});if(!n.ok)throw Error(`Failed to search: ${n.statusText}`);return await n.json()}}),dn={queryKey:[`notifications`],queryFn:async()=>{let e=await Q.api.notifications.$get();if(!e.ok)throw Error(`Failed to fetch notifications: ${e.statusText}`);return await e.json()}},fn={queryKey:[`pending-permission-requests`],queryFn:async()=>{let e=await Q.api[`claude-code`][`pending-permission-requests`].$get();if(!e.ok)throw Error(`Failed to fetch pending permission requests`);return await e.json()}},pn=(e,t,n)=>({queryKey:[`generate-permission-rule`,e,t,n],queryFn:async()=>{let r=await Q.api[`claude-code`][`generate-permission-rule`].$post({json:{toolName:e,toolInput:t,projectId:n}});if(!r.ok)throw Error(`Failed to generate permission rule`);return await r.json()}}),mn={queryKey:[`pending-question-requests`],queryFn:async()=>{let e=await Q.api[`claude-code`][`pending-question-requests`].$get();if(!e.ok)throw Error(`Failed to fetch pending question requests`);return await e.json()}},hn=(e,t)=>({queryKey:[`projects`,e,`files`,t],queryFn:async()=>{let n=await Q.api.projects[`:projectId`].files.$get({param:{projectId:e},query:{filePath:t}});if(!n.ok)throw Error(`Failed to fetch file content`);return await n.json()}}),gn=({children:e})=>{let t=jt(Nt),{data:n}=We({queryKey:$.queryKey,queryFn:$.queryFn});return(0,i.useEffect)(()=>{t({authEnabled:n.authEnabled,authenticated:n.authenticated,checked:!0})},[n,t]),(0,H.jsx)(H.Fragment,{children:e})},_n=()=>{let e=At(Nt),t=U(),n=f(),r=W({mutationFn:async e=>{await Q.api.auth.login.$post({json:{password:e}})},onSuccess:async()=>{await t.invalidateQueries({queryKey:$.queryKey}),n({to:`/projects`})}}),i=W({mutationFn:async()=>{await Q.api.auth.logout.$post(),await t.invalidateQueries({queryKey:$.queryKey})},onSuccess:()=>{n({to:`/login`})}});return{authEnabled:e.authEnabled,isAuthenticated:e.authenticated,login:r.mutateAsync,logout:i.mutateAsync}};export{E as $,At as A,U as B,Yt as C,Q as D,Gt as E,W as F,L as G,be as H,We as I,se as J,le as K,Ue as L,J as M,yt as N,Nt as O,Tt as P,D as Q,Re as R,un as S,an as T,ge as U,Te as V,R as W,x as X,ce as Y,O as Z,dn as _,on as a,h as at,Jt as b,qt as c,f as ct,hn as d,a as dt,ee as et,pn as f,l as ft,tn as g,en as h,s as ht,ln as i,N as it,jt as j,Mt as k,sn as l,d as lt,Qt as m,o as mt,_n as n,k as nt,Xt as o,m as ot,$t as p,c as pt,oe as q,cn as r,w as rt,rn as s,p as st,gn as t,b as tt,nn as u,u as ut,fn as v,Zt as w,Kt as x,mn as y,ke as z};
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{d as t,f as n}from"./markdown-parser-vendor-D9j1a-bm.js";import{B as r,D as i,F as a,I as o,T as s,_ as c,a as l,ct as u,l as d,n as f}from"./AuthProvider-Ds-c4CWc.js";import{$ as p,A as m,C as h,D as g,E as _,M as v,N as y,O as b,S as x,T as S,Y as C,_ as w,b as T,et as E,j as D,k as O,v as k,w as A,x as j,y as M}from"./dist-Cartj9I0.js";import{n as N}from"./dist-CG2L4mx5.js";import{t as P}from"./createLucideIcon-BL_meogc.js";import{c as ee,f as F,l as te,s as I}from"./card-DGrqtTaC.js";var ne=P(`bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),re=P(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),ie=P(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),ae=P(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),oe=P(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),se=P(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),ce=P(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),le=P(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),ue=P(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),L=e(n(),1),R=t(),de=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),fe=`VisuallyHidden`,pe=L.forwardRef((e,t)=>(0,R.jsx)(m.span,{...e,ref:t,style:{...de,...e.style}}));pe.displayName=fe;var me=pe,he=`Collapsible`,[ge,_e]=O(he),[ve,ye]=ge(he),be=L.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=_({prop:r,defaultProp:i??!1,onChange:o,caller:he});return(0,R.jsx)(ve,{scope:n,disabled:a,contentId:A(),open:c,onOpenToggle:L.useCallback(()=>l(e=>!e),[l]),children:(0,R.jsx)(m.div,{"data-state":Ee(c),"data-disabled":a?``:void 0,...s,ref:t})})});be.displayName=he;var xe=`CollapsibleTrigger`,Se=L.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=ye(xe,n);return(0,R.jsx)(m.button,{type:`button`,"aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":Ee(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:b(e.onClick,i.onOpenToggle)})});Se.displayName=xe;var Ce=`CollapsibleContent`,we=L.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=ye(Ce,e.__scopeCollapsible);return(0,R.jsx)(S,{present:n||i.open,children:({present:e})=>(0,R.jsx)(Te,{...r,ref:t,present:e})})});we.displayName=Ce;var Te=L.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=ye(Ce,n),[s,c]=L.useState(r),l=L.useRef(null),u=F(t,l),d=L.useRef(0),f=d.current,p=L.useRef(0),h=p.current,_=o.open||s,v=L.useRef(_),y=L.useRef(void 0);return L.useEffect(()=>{let e=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(e)},[]),g(()=>{let e=l.current;if(e){y.current=y.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,p.current=t.width,v.current||(e.style.transitionDuration=y.current.transitionDuration,e.style.animationName=y.current.animationName),c(r)}},[o.open,r]),(0,R.jsx)(m.div,{"data-state":Ee(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!_,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":h?`${h}px`:void 0,...e.style},children:_&&i})});function Ee(e){return e?`open`:`closed`}var De=be;function Oe(e){let t=L.useRef({value:e,previous:e});return L.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}function ke(e){let[t,n]=L.useState(void 0);return g(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Ae=`Checkbox`,[je,Me]=O(Ae),[Ne,Pe]=je(Ae);function Fe(e){let{__scopeCheckbox:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=_({prop:n,defaultProp:i??!1,onChange:c,caller:Ae}),[m,h]=L.useState(null),[g,v]=L.useState(null),y=L.useRef(!1),b=m?!!o||!!m.closest(`form`):!0,x={checked:f,disabled:a,setChecked:p,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:y,required:l,defaultChecked:z(i)?!1:i,isFormControl:b,bubbleInput:g,setBubbleInput:v};return(0,R.jsx)(Ne,{scope:t,...x,children:Ue(d)?d(x):r})}var Ie=`CheckboxTrigger`,Le=L.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:n,...r},i)=>{let{control:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,isFormControl:p,bubbleInput:h}=Pe(Ie,e),g=F(i,u),_=L.useRef(c);return L.useEffect(()=>{let e=a?.form;if(e){let t=()=>d(_.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[a,d]),(0,R.jsx)(m.button,{type:`button`,role:`checkbox`,"aria-checked":z(c)?`mixed`:c,"aria-required":l,"data-state":We(c),"data-disabled":s?``:void 0,disabled:s,value:o,...r,ref:g,onKeyDown:b(t,e=>{e.key===`Enter`&&e.preventDefault()}),onClick:b(n,e=>{d(e=>z(e)?!0:!e),h&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});Le.displayName=Ie;var Re=L.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,R.jsx)(Fe,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(Le,{...d,ref:t,__scopeCheckbox:n}),e&&(0,R.jsx)(He,{__scopeCheckbox:n})]})})});Re.displayName=Ae;var ze=`CheckboxIndicator`,Be=L.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...i}=e,a=Pe(ze,n);return(0,R.jsx)(S,{present:r||z(a.checked)||a.checked===!0,children:(0,R.jsx)(m.span,{"data-state":We(a.checked),"data-disabled":a.disabled?``:void 0,...i,ref:t,style:{pointerEvents:`none`,...e.style}})})});Be.displayName=ze;var Ve=`CheckboxBubbleInput`,He=L.forwardRef(({__scopeCheckbox:e,...t},n)=>{let{control:r,hasConsumerStoppedPropagationRef:i,checked:a,defaultChecked:o,required:s,disabled:c,name:l,value:u,form:d,bubbleInput:f,setBubbleInput:p}=Pe(Ve,e),h=F(n,p),g=Oe(a),_=ke(r);L.useEffect(()=>{let e=f;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=!i.current;if(g!==a&&n){let t=new Event(`click`,{bubbles:r});e.indeterminate=z(a),n.call(e,z(a)?!1:a),e.dispatchEvent(t)}},[f,g,a,i]);let v=L.useRef(z(a)?!1:a);return(0,R.jsx)(m.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:o??v.current,required:s,disabled:c,name:l,value:u,form:d,...t,tabIndex:-1,ref:h,style:{...t.style,..._,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})});He.displayName=Ve;function Ue(e){return typeof e==`function`}function z(e){return e===`indeterminate`}function We(e){return z(e)?`indeterminate`:e?`checked`:`unchecked`}var Ge=[`top`,`right`,`bottom`,`left`],B=Math.min,V=Math.max,Ke=Math.round,qe=Math.floor,H=e=>({x:e,y:e}),Je={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Ye(e,t,n){return V(e,B(t,n))}function U(e,t){return typeof e==`function`?e(t):e}function W(e){return e.split(`-`)[0]}function Xe(e){return e.split(`-`)[1]}function Ze(e){return e===`x`?`y`:`x`}function Qe(e){return e===`y`?`height`:`width`}function G(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function $e(e){return Ze(G(e))}function et(e,t,n){n===void 0&&(n=!1);let r=Xe(e),i=$e(e),a=Qe(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=lt(o)),[o,lt(o)]}function tt(e){let t=lt(e);return[nt(e),t,nt(t)]}function nt(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var rt=[`left`,`right`],it=[`right`,`left`],at=[`top`,`bottom`],ot=[`bottom`,`top`];function st(e,t,n){switch(e){case`top`:case`bottom`:return n?t?it:rt:t?rt:it;case`left`:case`right`:return t?at:ot;default:return[]}}function ct(e,t,n,r){let i=Xe(e),a=st(W(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(nt)))),a}function lt(e){let t=W(e);return Je[t]+e.slice(t.length)}function ut(e){return{top:0,right:0,bottom:0,left:0,...e}}function dt(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ut(e)}function ft(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function pt(e,t,n){let{reference:r,floating:i}=e,a=G(t),o=$e(t),s=Qe(o),c=W(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Xe(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function mt(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=U(t,e),p=dt(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ft(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=ft(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var ht=50,gt=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:mt},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=pt(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<ht&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=pt(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},_t=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=U(e,t)||{};if(l==null)return{};let d=dt(u),f={x:n,y:r},p=$e(i),m=Qe(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=B(d[_],T),D=B(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Ye(O,A,k),M=!c.arrow&&Xe(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),vt=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=U(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=W(r),_=G(o),v=W(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[lt(o)]:tt(o)),x=p!==`none`;!d&&x&&b.push(...ct(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=et(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==G(t))||T.every(e=>G(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=G(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function yt(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function bt(e){return Ge.some(t=>e[t]>=0)}var xt=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=U(e,t);switch(i){case`referenceHidden`:{let e=yt(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:bt(e)}}}case`escaped`:{let e=yt(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:bt(e)}}}default:return{}}}}},St=new Set([`left`,`top`]);async function Ct(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=W(n),s=Xe(n),c=G(n)===`y`,l=St.has(o)?-1:1,u=a&&c?-1:1,d=U(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var wt=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Ct(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Tt=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=U(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=G(W(i)),p=Ze(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Ye(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Ye(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Et=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=U(e,t),u={x:n,y:r},d=G(i),f=Ze(d),p=u[f],m=u[d],h=U(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=St.has(W(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Dt=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=U(e,t),u=await o.detectOverflow(t,l),d=W(i),f=Xe(i),p=G(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=B(h-u[g],v),x=B(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=V(u.left,0),t=V(u.right,0),n=V(u.top,0),r=V(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:V(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:V(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Ot(){return typeof window<`u`}function kt(e){return At(e)?(e.nodeName||``).toLowerCase():`#document`}function K(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function q(e){return((At(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function At(e){return Ot()?e instanceof Node||e instanceof K(e).Node:!1}function J(e){return Ot()?e instanceof Element||e instanceof K(e).Element:!1}function Y(e){return Ot()?e instanceof HTMLElement||e instanceof K(e).HTMLElement:!1}function jt(e){return!Ot()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof K(e).ShadowRoot}function Mt(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Z(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Nt(e){return/^(table|td|th)$/.test(kt(e))}function Pt(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ft=/transform|translate|scale|rotate|perspective|filter/,It=/paint|layout|strict|content/,X=e=>!!e&&e!==`none`,Lt;function Rt(e){let t=J(e)?Z(e):e;return X(t.transform)||X(t.translate)||X(t.scale)||X(t.rotate)||X(t.perspective)||!Bt()&&(X(t.backdropFilter)||X(t.filter))||Ft.test(t.willChange||``)||It.test(t.contain||``)}function zt(e){let t=Q(e);for(;Y(t)&&!Vt(t);){if(Rt(t))return t;if(Pt(t))return null;t=Q(t)}return null}function Bt(){return Lt??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Lt}function Vt(e){return/^(html|body|#document)$/.test(kt(e))}function Z(e){return K(e).getComputedStyle(e)}function Ht(e){return J(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Q(e){if(kt(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||jt(e)&&e.host||q(e);return jt(t)?t.host:t}function Ut(e){let t=Q(e);return Vt(t)?e.ownerDocument?e.ownerDocument.body:e.body:Y(t)&&Mt(t)?t:Ut(t)}function Wt(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ut(e),i=r===e.ownerDocument?.body,a=K(r);if(i){let e=Gt(a);return t.concat(a,a.visualViewport||[],Mt(r)?r:[],e&&n?Wt(e):[])}else return t.concat(r,Wt(r,[],n))}function Gt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Kt(e){let t=Z(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Y(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ke(n)!==a||Ke(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function qt(e){return J(e)?e:e.contextElement}function Jt(e){let t=qt(e);if(!Y(t))return H(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Kt(t),o=(a?Ke(n.width):n.width)/r,s=(a?Ke(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Yt=H(0);function Xt(e){let t=K(e);return!Bt()||!t.visualViewport?Yt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Zt(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==K(e)?!1:t}function Qt(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=qt(e),o=H(1);t&&(r?J(r)&&(o=Jt(r)):o=Jt(e));let s=Zt(a,n,r)?Xt(a):H(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=K(a),t=r&&J(r)?K(r):r,n=e,i=Gt(n);for(;i&&r&&t!==n;){let e=Jt(i),t=i.getBoundingClientRect(),r=Z(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=K(i),i=Gt(n)}}return ft({width:u,height:d,x:c,y:l})}function $t(e,t){let n=Ht(e).scrollLeft;return t?t.left+n:Qt(q(e)).left+n}function en(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-$t(e,n),y:n.top+t.scrollTop}}function tn(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=q(r),s=t?Pt(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=H(1),u=H(0),d=Y(r);if((d||!d&&!a)&&((kt(r)!==`body`||Mt(o))&&(c=Ht(r)),d)){let e=Qt(r);l=Jt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?en(o,c):H(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function nn(e){return Array.from(e.getClientRects())}function rn(e){let t=q(e),n=Ht(e),r=e.ownerDocument.body,i=V(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=V(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+$t(e),s=-n.scrollTop;return Z(r).direction===`rtl`&&(o+=V(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var an=25;function on(e,t){let n=K(e),r=q(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Bt();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=$t(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=an&&(a-=o)}else l<=an&&(a+=l);return{width:a,height:o,x:s,y:c}}function sn(e,t){let n=Qt(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Y(e)?Jt(e):H(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function cn(e,t,n){let r;if(t===`viewport`)r=on(e,n);else if(t===`document`)r=rn(q(e));else if(J(t))r=sn(t,n);else{let n=Xt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ft(r)}function ln(e,t){let n=Q(e);return n===t||!J(n)||Vt(n)?!1:Z(n).position===`fixed`||ln(n,t)}function un(e,t){let n=t.get(e);if(n)return n;let r=Wt(e,[],!1).filter(e=>J(e)&&kt(e)!==`body`),i=null,a=Z(e).position===`fixed`,o=a?Q(e):e;for(;J(o)&&!Vt(o);){let t=Z(o),n=Rt(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Mt(o)&&!n&&ln(e,o))?r=r.filter(e=>e!==o):i=t,o=Q(o)}return t.set(e,r),r}function dn(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Pt(t)?[]:un(t,this._c):[].concat(n),r],o=cn(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=cn(t,a[e],i);s=V(n.top,s),c=B(n.right,c),l=B(n.bottom,l),u=V(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function fn(e){let{width:t,height:n}=Kt(e);return{width:t,height:n}}function pn(e,t,n){let r=Y(t),i=q(t),a=n===`fixed`,o=Qt(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=H(0);function l(){c.x=$t(i)}if(r||!r&&!a)if((kt(t)!==`body`||Mt(i))&&(s=Ht(t)),r){let e=Qt(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?en(i,s):H(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function mn(e){return Z(e).position===`static`}function hn(e,t){if(!Y(e)||Z(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return q(e)===n&&(n=n.ownerDocument.body),n}function gn(e,t){let n=K(e);if(Pt(e))return n;if(!Y(e)){let t=Q(e);for(;t&&!Vt(t);){if(J(t)&&!mn(t))return t;t=Q(t)}return n}let r=hn(e,t);for(;r&&Nt(r)&&mn(r);)r=hn(r,t);return r&&Vt(r)&&mn(r)&&!Rt(r)?n:r||zt(e)||n}var _n=async function(e){let t=this.getOffsetParent||gn,n=this.getDimensions,r=await n(e.floating);return{reference:pn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function vn(e){return Z(e).direction===`rtl`}var yn={convertOffsetParentRelativeRectToViewportRelativeRect:tn,getDocumentElement:q,getClippingRect:dn,getOffsetParent:gn,getElementRects:_n,getClientRects:nn,getDimensions:fn,getScale:Jt,isElement:J,isRTL:vn};function bn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function xn(e,t){let n=null,r,i=q(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=qe(d),h=qe(i.clientWidth-(u+f)),g=qe(i.clientHeight-(d+p)),_=qe(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:V(0,B(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!bn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function Sn(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=qt(e),u=i||a?[...l?Wt(l):[],...t?Wt(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?xn(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Qt(e):null;c&&g();function g(){let t=Qt(e);h&&!bn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Cn=wt,wn=Tt,Tn=vt,En=Dt,Dn=xt,On=_t,kn=Et,An=(e,t,n)=>{let r=new Map,i={platform:yn,...n},a={...i.platform,_c:r};return gt(e,t,{...i,platform:a})},jn=e(E(),1),Mn=typeof document<`u`?L.useLayoutEffect:function(){};function Nn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Nn(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Nn(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function Pn(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Fn(e,t){let n=Pn(e);return Math.round(t*n)/n}function In(e){let t=L.useRef(e);return Mn(()=>{t.current=e}),t}function Ln(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=L.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=L.useState(r);Nn(f,r)||p(r);let[m,h]=L.useState(null),[g,_]=L.useState(null),v=L.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=L.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=L.useRef(null),C=L.useRef(null),w=L.useRef(u),T=c!=null,E=In(c),D=In(i),O=In(l),k=L.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),An(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!Nn(w.current,t)&&(w.current=t,jn.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);Mn(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=L.useRef(!1);Mn(()=>(A.current=!0,()=>{A.current=!1}),[]),Mn(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=L.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=L.useMemo(()=>({reference:b,floating:x}),[b,x]),N=L.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=Fn(M.floating,u.x),r=Fn(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...Pn(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return L.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var Rn=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:On({element:r.current,padding:i}).fn(n):r?On({element:r,padding:i}).fn(n):{}}}},zn=(e,t)=>{let n=Cn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Bn=(e,t)=>{let n=wn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Vn=(e,t)=>({fn:kn(e).fn,options:[e,t]}),Hn=(e,t)=>{let n=Tn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Un=(e,t)=>{let n=En(e);return{name:n.name,fn:n.fn,options:[e,t]}},Wn=(e,t)=>{let n=Dn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Gn=(e,t)=>{let n=Rn(e);return{name:n.name,fn:n.fn,options:[e,t]}},Kn=`Arrow`,qn=L.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,R.jsx)(m.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,R.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});qn.displayName=Kn;var Jn=qn,Yn=`Popper`,[Xn,Zn]=O(Yn),[Qn,$n]=Xn(Yn),er=e=>{let{__scopePopper:t,children:n}=e,[r,i]=L.useState(null);return(0,R.jsx)(Qn,{scope:t,anchor:r,onAnchorChange:i,children:n})};er.displayName=Yn;var tr=`PopperAnchor`,nr=L.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=$n(tr,n),o=L.useRef(null),s=F(t,o),c=L.useRef(null);return L.useEffect(()=>{let e=c.current;c.current=r?.current||o.current,e!==c.current&&a.onAnchorChange(c.current)}),r?null:(0,R.jsx)(m.div,{...i,ref:s})});nr.displayName=tr;var rr=`PopperContent`,[ir,ar]=Xn(rr),or=L.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:_,...v}=e,y=$n(rr,n),[b,x]=L.useState(null),S=F(t,e=>x(e)),[C,w]=L.useState(null),T=ke(C),E=T?.width??0,D=T?.height??0,O=r+(a===`center`?``:`-`+a),k=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},A=Array.isArray(l)?l:[l],j=A.length>0,M={padding:k,boundary:A.filter(ur),altBoundary:j},{refs:N,floatingStyles:P,placement:ee,isPositioned:te,middlewareData:I}=Ln({strategy:`fixed`,placement:O,whileElementsMounted:(...e)=>Sn(...e,{animationFrame:p===`always`}),elements:{reference:y.anchor},middleware:[zn({mainAxis:i+D,alignmentAxis:o}),c&&Bn({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Vn():void 0,...M}),c&&Hn({...M}),Un({...M,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),C&&Gn({element:C,padding:s}),dr({arrowWidth:E,arrowHeight:D}),f&&Wn({strategy:`referenceHidden`,...M})]}),[ne,re]=fr(ee),ie=h(_);g(()=>{te&&ie?.()},[te,ie]);let ae=I.arrow?.x,oe=I.arrow?.y,se=I.arrow?.centerOffset!==0,[ce,le]=L.useState();return g(()=>{b&&le(window.getComputedStyle(b).zIndex)},[b]),(0,R.jsx)(`div`,{ref:N.setFloating,"data-radix-popper-content-wrapper":``,style:{...P,transform:te?P.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ce,"--radix-popper-transform-origin":[I.transformOrigin?.x,I.transformOrigin?.y].join(` `),...I.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,R.jsx)(ir,{scope:n,placedSide:ne,onArrowChange:w,arrowX:ae,arrowY:oe,shouldHideArrow:se,children:(0,R.jsx)(m.div,{"data-side":ne,"data-align":re,...v,ref:S,style:{...v.style,animation:te?void 0:`none`}})})})});or.displayName=rr;var sr=`PopperArrow`,cr={top:`bottom`,right:`left`,bottom:`top`,left:`right`},lr=L.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=ar(sr,n),a=cr[i.placedSide];return(0,R.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,R.jsx)(Jn,{...r,ref:t,style:{...r.style,display:`block`}})})});lr.displayName=sr;function ur(e){return e!==null}var dr=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=fr(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function fr(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var pr=er,mr=nr,hr=or,gr=lr,_r=`Popover`,[vr,yr]=O(_r,[Zn]),br=Zn(),[xr,$]=vr(_r),Sr=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=br(t),c=L.useRef(null),[l,u]=L.useState(!1),[d,f]=_({prop:r,defaultProp:i??!1,onChange:a,caller:_r});return(0,R.jsx)(pr,{...s,children:(0,R.jsx)(xr,{scope:t,contentId:A(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:L.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:L.useCallback(()=>u(!0),[]),onCustomAnchorRemove:L.useCallback(()=>u(!1),[]),modal:o,children:n})})};Sr.displayName=_r;var Cr=`PopoverAnchor`,wr=L.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=$(Cr,n),a=br(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return L.useEffect(()=>(o(),()=>s()),[o,s]),(0,R.jsx)(mr,{...a,...r,ref:t})});wr.displayName=Cr;var Tr=`PopoverTrigger`,Er=L.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=$(Tr,n),a=br(n),o=F(t,i.triggerRef),s=(0,R.jsx)(m.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":Vr(i.open),...r,ref:o,onClick:b(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,R.jsx)(mr,{asChild:!0,...a,children:s})});Er.displayName=Tr;var Dr=`PopoverPortal`,[Or,kr]=vr(Dr,{forceMount:void 0}),Ar=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=$(Dr,t);return(0,R.jsx)(Or,{scope:t,forceMount:n,children:(0,R.jsx)(S,{present:n||a.open,children:(0,R.jsx)(T,{asChild:!0,container:i,children:r})})})};Ar.displayName=Dr;var jr=`PopoverContent`,Mr=L.forwardRef((e,t)=>{let n=kr(jr,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=$(jr,e.__scopePopover);return(0,R.jsx)(S,{present:r||a.open,children:a.modal?(0,R.jsx)(Pr,{...i,ref:t}):(0,R.jsx)(Fr,{...i,ref:t})})});Mr.displayName=jr;var Nr=D(`PopoverContent.RemoveScroll`),Pr=L.forwardRef((e,t)=>{let n=$(jr,e.__scopePopover),r=L.useRef(null),i=F(t,r),a=L.useRef(!1);return L.useEffect(()=>{let e=r.current;if(e)return w(e)},[]),(0,R.jsx)(k,{as:Nr,allowPinchZoom:!0,children:(0,R.jsx)(Ir,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:b(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:b(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:b(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),Fr=L.forwardRef((e,t)=>{let n=$(jr,e.__scopePopover),r=L.useRef(!1),i=L.useRef(!1);return(0,R.jsx)(Ir,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Ir=L.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=$(jr,n),p=br(n);return M(),(0,R.jsx)(j,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,R.jsx)(x,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),children:(0,R.jsx)(hr,{"data-state":Vr(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),Lr=`PopoverClose`,Rr=L.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=$(Lr,n);return(0,R.jsx)(m.button,{type:`button`,...r,ref:t,onClick:b(e.onClick,()=>i.onOpenChange(!1))})});Rr.displayName=Lr;var zr=`PopoverArrow`,Br=L.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=br(n);return(0,R.jsx)(gr,{...i,...r,ref:t})});Br.displayName=zr;function Vr(e){return e?`open`:`closed`}var Hr=Sr,Ur=Er,Wr=Ar,Gr=Mr,[Kr,qr]=O(`Tooltip`,[Zn]),Jr=Zn(),Yr=`TooltipProvider`,Xr=700,Zr=`tooltip.open`,[Qr,$r]=Kr(Yr),ei=e=>{let{__scopeTooltip:t,delayDuration:n=Xr,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=L.useRef(!0),s=L.useRef(!1),c=L.useRef(0);return L.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,R.jsx)(Qr,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:L.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:L.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:L.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};ei.displayName=Yr;var ti=`Tooltip`,[ni,ri]=Kr(ti),ii=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=$r(ti,e.__scopeTooltip),l=Jr(t),[u,d]=L.useState(null),f=A(),p=L.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=L.useRef(!1),[v,y]=_({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Zr))):c.onClose(),a?.(e)},caller:ti}),b=L.useMemo(()=>v?g.current?`delayed-open`:`instant-open`:`closed`,[v]),x=L.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,y(!0)},[y]),S=L.useCallback(()=>{window.clearTimeout(p.current),p.current=0,y(!1)},[y]),C=L.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,y(!0),p.current=0},h)},[h,y]);return L.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,R.jsx)(pr,{...l,children:(0,R.jsx)(ni,{scope:t,contentId:f,open:v,stateAttribute:b,trigger:u,onTriggerChange:d,onTriggerEnter:L.useCallback(()=>{c.isOpenDelayedRef.current?C():x()},[c.isOpenDelayedRef,C,x]),onTriggerLeave:L.useCallback(()=>{m?S():(window.clearTimeout(p.current),p.current=0)},[S,m]),onOpen:x,onClose:S,disableHoverableContent:m,children:n})})};ii.displayName=ti;var ai=`TooltipTrigger`,oi=L.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=ri(ai,n),a=$r(ai,n),o=Jr(n),s=F(t,L.useRef(null),i.onTriggerChange),c=L.useRef(!1),l=L.useRef(!1),u=L.useCallback(()=>c.current=!1,[]);return L.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,R.jsx)(mr,{asChild:!0,...o,children:(0,R.jsx)(m.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:b(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:b(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:b(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:b(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:b(e.onBlur,i.onClose),onClick:b(e.onClick,i.onClose)})})});oi.displayName=ai;var si=`TooltipPortal`,[ci,li]=Kr(si,{forceMount:void 0}),ui=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=ri(si,t);return(0,R.jsx)(ci,{scope:t,forceMount:n,children:(0,R.jsx)(S,{present:n||a.open,children:(0,R.jsx)(T,{asChild:!0,container:i,children:r})})})};ui.displayName=si;var di=`TooltipContent`,fi=L.forwardRef((e,t)=>{let n=li(di,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=ri(di,e.__scopeTooltip);return(0,R.jsx)(S,{present:r||o.open,children:o.disableHoverableContent?(0,R.jsx)(_i,{side:i,...a,ref:t}):(0,R.jsx)(pi,{side:i,...a,ref:t})})}),pi=L.forwardRef((e,t)=>{let n=ri(di,e.__scopeTooltip),r=$r(di,e.__scopeTooltip),i=L.useRef(null),a=F(t,i),[o,s]=L.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=L.useCallback(()=>{s(null),d(!1)},[d]),p=L.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=xi(r,bi(r,n.getBoundingClientRect())),a=Si(t.getBoundingClientRect());s(wi([...i,...a])),d(!0)},[d]);return L.useEffect(()=>()=>f(),[f]),L.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),L.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!Ci(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,R.jsx)(_i,{...e,ref:a})}),[mi,hi]=Kr(ti,{isInside:!1}),gi=v(`TooltipContent`),_i=L.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=ri(di,n),l=Jr(n),{onClose:u}=c;return L.useEffect(()=>(document.addEventListener(Zr,u),()=>document.removeEventListener(Zr,u)),[u]),L.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,R.jsx)(x,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,R.jsxs)(hr,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,R.jsx)(gi,{children:r}),(0,R.jsx)(mi,{scope:n,isInside:!0,children:(0,R.jsx)(me,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});fi.displayName=di;var vi=`TooltipArrow`,yi=L.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Jr(n);return hi(vi,n).isInside?null:(0,R.jsx)(gr,{...i,...r,ref:t})});yi.displayName=vi;function bi(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function xi(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Si(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Ci(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function wi(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),Ti(t)}function Ti(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Ei=ei,Di=ii,Oi=oi,ki=ui,Ai=fi,ji=yi,Mi=ee(`inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}}),Ni=({className:e,variant:t,asChild:n=!1,...r})=>(0,R.jsx)(n?te:`span`,{"data-slot":`badge`,className:I(Mi({variant:t}),e),...r}),Pi=({delayDuration:e=0,...t})=>(0,R.jsx)(Ei,{"data-slot":`tooltip-provider`,delayDuration:e,...t}),Fi=({...e})=>(0,R.jsx)(Pi,{children:(0,R.jsx)(Di,{"data-slot":`tooltip`,...e})}),Ii=({...e})=>(0,R.jsx)(Oi,{"data-slot":`tooltip-trigger`,...e}),Li=({className:e,sideOffset:t=0,children:n,...r})=>(0,R.jsx)(ki,{children:(0,R.jsxs)(Ai,{"data-slot":`tooltip-content`,sideOffset:t,className:I(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance max-md:hidden`,e),...r,children:[n,(0,R.jsx)(ji,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})}),Ri=({...e})=>(0,R.jsx)(Hr,{"data-slot":`popover`,...e}),zi=({...e})=>(0,R.jsx)(Ur,{"data-slot":`popover-trigger`,...e}),Bi=({className:e,align:t=`center`,sideOffset:n=4,...r})=>(0,R.jsx)(Wr,{children:(0,R.jsx)(Gr,{"data-slot":`popover-content`,align:t,sideOffset:n,className:I(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden`,e),...r})}),Vi=({sessionId:e})=>{let t=r(),{data:n}=C(c),o=(0,L.useMemo)(()=>n?.notifications??[],[n?.notifications]),s=a({mutationFn:async e=>{await i.api.notifications[`:sessionId`].consume.$post({param:{sessionId:e},json:{types:[`session_paused`,`session_completed`]}})},onSuccess:()=>{t.invalidateQueries({queryKey:c.queryKey})}}),l=(0,L.useRef)(null);(0,L.useEffect)(()=>{if(e===void 0||e===``){l.current=null;return}n!==void 0&&l.current!==e&&(l.current=e,o.some(t=>t.sessionId===e&&(t.type===`session_paused`||t.type===`session_completed`))&&s.mutate(e))},[e,n,o,s]);let u=o.length;return(0,R.jsx)(Pi,{children:(0,R.jsxs)(Ri,{children:[(0,R.jsxs)(Fi,{children:[(0,R.jsx)(Ii,{asChild:!0,children:(0,R.jsx)(zi,{asChild:!0,children:(0,R.jsxs)(`button`,{type:`button`,className:I(`relative w-11 h-11 md:w-7 md:h-7 flex items-center justify-center rounded transition-colors`,u>0?`text-primary`:`hover:bg-muted text-muted-foreground hover:text-foreground`),"aria-label":`Notifications`,children:[(0,R.jsx)(ne,{className:`w-3.5 h-3.5`}),u>0&&(0,R.jsx)(`span`,{className:`absolute -top-0.5 -right-0.5 md:top-0 md:right-0 flex h-3.5 w-3.5 items-center justify-center rounded-full bg-primary text-[9px] font-bold text-primary-foreground`,children:u>9?`9+`:u})]})})}),(0,R.jsx)(Li,{side:`bottom`,className:`text-xs`,children:(0,R.jsx)(N,{id:`notification.title`})})]}),(0,R.jsxs)(Bi,{align:`end`,className:`w-[calc(100vw-2rem)] sm:w-80 p-0 z-[53]`,sideOffset:8,collisionPadding:16,children:[(0,R.jsxs)(`div`,{className:`flex items-center justify-between border-b px-3 py-2`,children:[(0,R.jsx)(`p`,{className:`text-sm font-medium`,children:(0,R.jsx)(N,{id:`notification.title`})}),u>0&&(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:u})]}),(0,R.jsx)(`div`,{className:`max-h-[300px] overflow-y-auto`,children:o.length===0?(0,R.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-8 text-muted-foreground`,children:[(0,R.jsx)(re,{className:`w-5 h-5 mb-2`}),(0,R.jsx)(`p`,{className:`text-xs`,children:(0,R.jsx)(N,{id:`notification.empty`})})]}):(0,R.jsx)(`div`,{className:`p-1.5 space-y-0.5`,children:o.map(e=>(0,R.jsxs)(p,{to:`/projects/$projectId/session`,params:{projectId:e.projectId},search:{sessionId:e.sessionId},className:`flex items-start gap-2.5 rounded-md p-2 text-sm transition-colors hover:bg-muted/50`,onClick:()=>s.mutate(e.sessionId),children:[(0,R.jsx)(`div`,{className:`mt-0.5 h-2 w-2 rounded-full bg-primary flex-shrink-0`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsx)(`p`,{className:`text-xs font-medium truncate`,children:e.type===`session_paused`?(0,R.jsx)(N,{id:`notification.session_paused`}):e.type===`session_completed`?(0,R.jsx)(N,{id:`notification.session_completed`}):e.type===`permission_requested`?(0,R.jsx)(N,{id:`notification.permission_requested`}):(0,R.jsx)(N,{id:`notification.question_asked`})}),(0,R.jsx)(`p`,{className:`text-[11px] text-muted-foreground font-mono truncate`,children:e.sessionId}),(0,R.jsx)(`p`,{className:`text-[10px] text-muted-foreground mt-0.5`,children:y(new Date(e.createdAt),{target:`time`})})]})]},e.id))})})]})]})})},Hi=({className:e,...t})=>(0,R.jsx)(Re,{"data-slot":`checkbox`,className:I(`peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,R.jsx)(Be,{"data-slot":`checkbox-indicator`,className:`flex items-center justify-center text-current transition-none`,children:(0,R.jsx)(re,{className:`size-3.5`})})}),Ui=({...e})=>(0,R.jsx)(De,{"data-slot":`collapsible`,...e}),Wi=({...e})=>(0,R.jsx)(Se,{"data-slot":`collapsible-trigger`,...e}),Gi=({...e})=>(0,R.jsx)(we,{"data-slot":`collapsible-content`,...e}),Ki=()=>{let{data:e}=o({queryKey:d.queryKey,queryFn:d.queryFn}),t=(0,L.useMemo)(()=>new Set(e.flags.filter(e=>e.enabled).map(e=>e.name)),[e.flags]),n=(0,L.useCallback)(e=>t.has(e),[t]);return{flags:e.flags,isFlagEnabled:n}},qi=e=>{switch(e){case`tool-approval`:return{title:(0,R.jsx)(N,{id:`system_info.feature.tool_approval.title`}),description:(0,R.jsx)(N,{id:`system_info.feature.tool_approval.description`})};case`agent-sdk`:return{title:(0,R.jsx)(N,{id:`system_info.feature.agent_sdk.title`}),description:(0,R.jsx)(N,{id:`system_info.feature.agent_sdk.description`})};case`sidechain-separation`:return{title:(0,R.jsx)(N,{id:`system_info.feature.sidechain_separation.title`}),description:(0,R.jsx)(N,{id:`system_info.feature.sidechain_separation.description`})};case`uuid-on-sdk-message`:return{title:(0,R.jsx)(N,{id:`system_info.feature.uuid_on_sdk_message.title`}),description:(0,R.jsx)(N,{id:`system_info.feature.uuid_on_sdk_message.description`})};case`run-skills-directly`:return{title:(0,R.jsx)(N,{id:`system_info.feature.run_skills_directly.title`}),description:(0,R.jsx)(N,{id:`system_info.feature.run_skills_directly.description`})};default:return{title:e,description:(0,R.jsx)(N,{id:`system_info.feature.unknown.description`})}}},Ji=()=>{let[e,t]=(0,L.useState)(!1),{data:n}=o({...s}),{data:r}=o({...l}),{flags:i}=Ki();return(0,R.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,R.jsxs)(`div`,{className:`border-b border-sidebar-border p-4`,children:[(0,R.jsx)(`h2`,{className:`font-semibold text-lg`,children:(0,R.jsx)(N,{id:`system_info.title`})}),(0,R.jsx)(`p`,{className:`text-xs text-sidebar-foreground/70`,children:(0,R.jsx)(N,{id:`system_info.description`})})]}),(0,R.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-4 space-y-6`,children:[(0,R.jsxs)(`div`,{className:`space-y-3`,children:[(0,R.jsx)(`h3`,{className:`font-medium text-sm text-sidebar-foreground`,children:(0,R.jsx)(N,{id:`system_info.viewer_version`})}),(0,R.jsxs)(`div`,{className:`flex justify-between items-center pl-2`,children:[(0,R.jsx)(`span`,{className:`text-xs text-sidebar-foreground/70`,children:(0,R.jsx)(N,{id:`system_info.version_label`})}),(0,R.jsxs)(Ni,{variant:`secondary`,className:`text-xs font-mono`,children:[`v`,n?.version||`Unknown`]})]})]}),(0,R.jsxs)(`div`,{className:`space-y-3`,children:[(0,R.jsx)(`h3`,{className:`font-medium text-sm text-sidebar-foreground`,children:(0,R.jsx)(N,{id:`system_info.claude_code`})}),(0,R.jsxs)(`div`,{className:`space-y-2 pl-2`,children:[(0,R.jsxs)(`div`,{className:`space-y-1`,children:[(0,R.jsx)(`div`,{className:`text-xs text-sidebar-foreground/70`,children:(0,R.jsx)(N,{id:`system_info.executable_path`})}),(0,R.jsx)(`div`,{className:`text-xs text-sidebar-foreground font-mono break-all`,children:r?.executablePath||(0,R.jsx)(`span`,{className:`text-sidebar-foreground/50`,children:(0,R.jsx)(N,{id:`system_info.unknown`})})})]}),(0,R.jsxs)(`div`,{className:`flex justify-between items-center pt-1`,children:[(0,R.jsx)(`span`,{className:`text-xs text-sidebar-foreground/70`,children:(0,R.jsx)(N,{id:`system_info.version_label`})}),(0,R.jsx)(Ni,{variant:`secondary`,className:`text-xs font-mono`,children:r?.version??(0,R.jsx)(N,{id:`system_info.unknown`})})]})]})]}),(0,R.jsx)(`div`,{className:`space-y-3`,children:(0,R.jsxs)(Ui,{open:e,onOpenChange:t,children:[(0,R.jsxs)(Wi,{className:`flex w-full items-center justify-between group`,children:[(0,R.jsx)(`h3`,{className:`font-medium text-sm text-sidebar-foreground`,children:(0,R.jsx)(N,{id:`system_info.available_features`})}),e?(0,R.jsx)(ie,{className:`h-4 w-4 text-sidebar-foreground/70 group-hover:text-sidebar-foreground transition-colors`}):(0,R.jsx)(ae,{className:`h-4 w-4 text-sidebar-foreground/70 group-hover:text-sidebar-foreground transition-colors`})]}),(0,R.jsx)(Gi,{className:`pt-3`,children:(0,R.jsx)(Pi,{children:(0,R.jsx)(`ul`,{className:`space-y-2 pl-2`,children:i.map(({name:e,enabled:t})=>{let n=qi(e);return(0,R.jsxs)(`li`,{className:`flex items-start gap-2`,children:[t?(0,R.jsx)(oe,{className:`h-3.5 w-3.5 text-green-500 dark:text-green-400 mt-0.5 flex-shrink-0`}):(0,R.jsx)(se,{className:`h-3.5 w-3.5 text-sidebar-foreground/30 mt-0.5 flex-shrink-0`}),(0,R.jsxs)(Fi,{children:[(0,R.jsx)(Ii,{asChild:!0,children:(0,R.jsx)(`span`,{className:t?`text-xs text-sidebar-foreground cursor-help`:`text-xs text-sidebar-foreground/50 line-through cursor-help`,children:n.title})}),(0,R.jsx)(Li,{side:`right`,className:`max-w-xs text-xs`,children:n.description})]})]},e)})})})})]})})]})]})},Yi=({children:e})=>{let{isAuthenticated:t}=f(),n=u();return(0,L.useEffect)(()=>{t||n({to:`/login`})},[t,n]),t?(0,R.jsx)(R.Fragment,{children:e}):null};export{ie as A,de as C,se as D,ce as E,ne as M,oe as O,Oe as S,le as T,mr as _,Gi as a,pr as b,Vi as c,zi as d,Fi as f,Ni as g,Ii as h,Ui as i,re as j,ae as k,Ri as l,Pi as m,Ji as n,Wi as o,Li as p,Ki as r,Hi as s,Yi as t,Bi as u,gr as v,ue as w,Zn as x,hr as y};