mindpm 1.2.8 → 1.2.9
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/index.js
CHANGED
|
@@ -13,12 +13,31 @@ import { mkdirSync } from "fs";
|
|
|
13
13
|
import { dirname, resolve } from "path";
|
|
14
14
|
import { homedir } from "os";
|
|
15
15
|
|
|
16
|
+
// src/utils/ids.ts
|
|
17
|
+
import { randomBytes } from "crypto";
|
|
18
|
+
function generateId() {
|
|
19
|
+
return randomBytes(4).toString("hex");
|
|
20
|
+
}
|
|
21
|
+
function generateSlug(name) {
|
|
22
|
+
const normalized = name.toLowerCase().replace(/[^a-z0-9]+/g, " ").trim();
|
|
23
|
+
const words = normalized.split(/\s+/).filter(Boolean);
|
|
24
|
+
let slug;
|
|
25
|
+
if (words.length > 1) {
|
|
26
|
+
slug = words.slice(0, 4).map((w) => w[0]).join("");
|
|
27
|
+
} else {
|
|
28
|
+
const consonants = normalized.replace(/[aeiou]/g, "");
|
|
29
|
+
slug = consonants.length >= 2 ? consonants.slice(0, 4) : normalized.slice(0, 4);
|
|
30
|
+
}
|
|
31
|
+
return slug || normalized.slice(0, 4) || "prj";
|
|
32
|
+
}
|
|
33
|
+
|
|
16
34
|
// src/db/schema.ts
|
|
17
35
|
function createSchema(db2) {
|
|
18
36
|
db2.exec(`
|
|
19
37
|
CREATE TABLE IF NOT EXISTS projects (
|
|
20
38
|
id TEXT PRIMARY KEY,
|
|
21
39
|
name TEXT NOT NULL UNIQUE,
|
|
40
|
+
slug TEXT,
|
|
22
41
|
description TEXT,
|
|
23
42
|
status TEXT DEFAULT 'active' CHECK(status IN ('active', 'paused', 'completed', 'archived')),
|
|
24
43
|
repo_path TEXT,
|
|
@@ -30,6 +49,7 @@ function createSchema(db2) {
|
|
|
30
49
|
CREATE TABLE IF NOT EXISTS tasks (
|
|
31
50
|
id TEXT PRIMARY KEY,
|
|
32
51
|
project_id TEXT NOT NULL REFERENCES projects(id),
|
|
52
|
+
seq INTEGER,
|
|
33
53
|
title TEXT NOT NULL,
|
|
34
54
|
description TEXT,
|
|
35
55
|
status TEXT DEFAULT 'todo' CHECK(status IN ('todo', 'in_progress', 'blocked', 'done', 'cancelled')),
|
|
@@ -101,6 +121,8 @@ function createSchema(db2) {
|
|
|
101
121
|
CREATE INDEX IF NOT EXISTS idx_sessions_project_id ON sessions(project_id);
|
|
102
122
|
CREATE INDEX IF NOT EXISTS idx_sessions_created_at ON sessions(created_at);
|
|
103
123
|
|
|
124
|
+
CREATE INDEX IF NOT EXISTS idx_tasks_seq ON tasks(project_id, seq);
|
|
125
|
+
|
|
104
126
|
CREATE INDEX IF NOT EXISTS idx_context_project_id ON context(project_id);
|
|
105
127
|
|
|
106
128
|
-- Triggers for updated_at (WHEN clause prevents infinite recursion)
|
|
@@ -129,6 +151,37 @@ function createSchema(db2) {
|
|
|
129
151
|
END;
|
|
130
152
|
`);
|
|
131
153
|
}
|
|
154
|
+
function runMigrations(db2) {
|
|
155
|
+
const projectCols = db2.pragma("table_info(projects)").map((c) => c.name);
|
|
156
|
+
if (!projectCols.includes("slug")) {
|
|
157
|
+
db2.exec("ALTER TABLE projects ADD COLUMN slug TEXT");
|
|
158
|
+
const projects = db2.prepare("SELECT id, name FROM projects").all();
|
|
159
|
+
const usedSlugs = /* @__PURE__ */ new Set();
|
|
160
|
+
for (const p of projects) {
|
|
161
|
+
let slug = generateSlug(p.name);
|
|
162
|
+
let candidate = slug;
|
|
163
|
+
let n = 2;
|
|
164
|
+
while (usedSlugs.has(candidate)) {
|
|
165
|
+
candidate = slug + n++;
|
|
166
|
+
}
|
|
167
|
+
usedSlugs.add(candidate);
|
|
168
|
+
db2.prepare("UPDATE projects SET slug = ? WHERE id = ?").run(candidate, p.id);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
const taskCols = db2.pragma("table_info(tasks)").map((c) => c.name);
|
|
172
|
+
if (!taskCols.includes("seq")) {
|
|
173
|
+
db2.exec("ALTER TABLE tasks ADD COLUMN seq INTEGER");
|
|
174
|
+
const projects = db2.prepare("SELECT id FROM projects").all();
|
|
175
|
+
for (const p of projects) {
|
|
176
|
+
const tasks = db2.prepare(
|
|
177
|
+
"SELECT id FROM tasks WHERE project_id = ? ORDER BY created_at ASC, id ASC"
|
|
178
|
+
).all(p.id);
|
|
179
|
+
tasks.forEach((t, i) => {
|
|
180
|
+
db2.prepare("UPDATE tasks SET seq = ? WHERE id = ?").run(i + 1, t.id);
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
132
185
|
|
|
133
186
|
// src/db/connection.ts
|
|
134
187
|
var db = null;
|
|
@@ -153,6 +206,7 @@ function getDb() {
|
|
|
153
206
|
db.pragma("wal_autocheckpoint = 100");
|
|
154
207
|
db.pragma("foreign_keys = ON");
|
|
155
208
|
createSchema(db);
|
|
209
|
+
runMigrations(db);
|
|
156
210
|
return db;
|
|
157
211
|
}
|
|
158
212
|
function closeDb() {
|
|
@@ -163,12 +217,6 @@ function closeDb() {
|
|
|
163
217
|
}
|
|
164
218
|
}
|
|
165
219
|
|
|
166
|
-
// src/utils/ids.ts
|
|
167
|
-
import { randomBytes } from "crypto";
|
|
168
|
-
function generateId() {
|
|
169
|
-
return randomBytes(4).toString("hex");
|
|
170
|
-
}
|
|
171
|
-
|
|
172
220
|
// src/db/queries.ts
|
|
173
221
|
function resolveProjectId(projectRef) {
|
|
174
222
|
const db2 = getDb();
|
|
@@ -213,10 +261,17 @@ function registerProjectTools(server2) {
|
|
|
213
261
|
async ({ name, description, tech_stack, repo_path }) => {
|
|
214
262
|
const db2 = getDb();
|
|
215
263
|
const id = generateId();
|
|
264
|
+
let slug = generateSlug(name);
|
|
265
|
+
const existing = db2.prepare("SELECT slug FROM projects WHERE slug LIKE ?").all(`${slug}%`);
|
|
266
|
+
const usedSlugs = new Set(existing.map((r) => r.slug));
|
|
267
|
+
let candidate = slug;
|
|
268
|
+
let n = 2;
|
|
269
|
+
while (usedSlugs.has(candidate)) candidate = slug + n++;
|
|
270
|
+
slug = candidate;
|
|
216
271
|
try {
|
|
217
272
|
db2.prepare(
|
|
218
|
-
`INSERT INTO projects (id, name, description, tech_stack, repo_path) VALUES (?, ?, ?, ?, ?)`
|
|
219
|
-
).run(id, name, description ?? null, tech_stack ? JSON.stringify(tech_stack) : null, repo_path ?? null);
|
|
273
|
+
`INSERT INTO projects (id, name, slug, description, tech_stack, repo_path) VALUES (?, ?, ?, ?, ?, ?)`
|
|
274
|
+
).run(id, name, slug, description ?? null, tech_stack ? JSON.stringify(tech_stack) : null, repo_path ?? null);
|
|
220
275
|
} catch (e) {
|
|
221
276
|
if (e.message?.includes("UNIQUE constraint failed")) {
|
|
222
277
|
return { content: [{ type: "text", text: `Project "${name}" already exists.` }], isError: true };
|
|
@@ -310,22 +365,28 @@ function registerTaskTools(server2) {
|
|
|
310
365
|
}
|
|
311
366
|
const db2 = getDb();
|
|
312
367
|
const id = generateId();
|
|
368
|
+
const seqRow = db2.prepare("SELECT COALESCE(MAX(seq), 0) + 1 AS next_seq FROM tasks WHERE project_id = ?").get(resolved.id);
|
|
369
|
+
const seq = seqRow.next_seq;
|
|
313
370
|
db2.prepare(
|
|
314
|
-
`INSERT INTO tasks (id, project_id, title, description, priority, tags, parent_task_id) VALUES (?, ?, ?, ?, ?, ?, ?)`
|
|
371
|
+
`INSERT INTO tasks (id, project_id, seq, title, description, priority, tags, parent_task_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`
|
|
315
372
|
).run(
|
|
316
373
|
id,
|
|
317
374
|
resolved.id,
|
|
375
|
+
seq,
|
|
318
376
|
title,
|
|
319
377
|
description ?? null,
|
|
320
378
|
priority ?? "medium",
|
|
321
379
|
tags ? JSON.stringify(tags) : null,
|
|
322
380
|
parent_task_id ?? null
|
|
323
381
|
);
|
|
382
|
+
const proj = db2.prepare("SELECT slug FROM projects WHERE id = ?").get(resolved.id);
|
|
383
|
+
const short_id = proj?.slug ? `${proj.slug}-${seq}` : null;
|
|
324
384
|
return {
|
|
325
385
|
content: [{
|
|
326
386
|
type: "text",
|
|
327
387
|
text: JSON.stringify({
|
|
328
388
|
task_id: id,
|
|
389
|
+
short_id,
|
|
329
390
|
message: `Task created: "${title}" in ${resolved.name} (priority: ${priority ?? "medium"})`
|
|
330
391
|
})
|
|
331
392
|
}]
|
|
@@ -430,7 +491,7 @@ function registerTaskTools(server2) {
|
|
|
430
491
|
conditions.push("tags LIKE '%' || @tag || '%'");
|
|
431
492
|
params.tag = `"${tag}"`;
|
|
432
493
|
}
|
|
433
|
-
const sql = `SELECT
|
|
494
|
+
const sql = `SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE ${conditions.join(" AND ")} ORDER BY CASE t.priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END, t.created_at DESC`;
|
|
434
495
|
const rows = db2.prepare(sql).all(params);
|
|
435
496
|
return {
|
|
436
497
|
content: [{ type: "text", text: JSON.stringify({ project: resolved.name, tasks: rows }, null, 2) }]
|
|
@@ -448,11 +509,11 @@ function registerTaskTools(server2) {
|
|
|
448
509
|
},
|
|
449
510
|
async ({ task_id }) => {
|
|
450
511
|
const db2 = getDb();
|
|
451
|
-
const task = db2.prepare("SELECT
|
|
512
|
+
const task = db2.prepare("SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.id = ?").get(task_id);
|
|
452
513
|
if (!task) {
|
|
453
514
|
return { content: [{ type: "text", text: `Task "${task_id}" not found.` }], isError: true };
|
|
454
515
|
}
|
|
455
|
-
const subtasks = db2.prepare("SELECT
|
|
516
|
+
const subtasks = db2.prepare("SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.parent_task_id = ?").all(task_id);
|
|
456
517
|
const notes = db2.prepare("SELECT * FROM notes WHERE task_id = ? ORDER BY created_at DESC").all(task_id);
|
|
457
518
|
return {
|
|
458
519
|
content: [{ type: "text", text: JSON.stringify({ task, subtasks, notes }, null, 2) }]
|
|
@@ -476,10 +537,10 @@ function registerTaskTools(server2) {
|
|
|
476
537
|
}
|
|
477
538
|
const db2 = getDb();
|
|
478
539
|
const rows = db2.prepare(
|
|
479
|
-
`SELECT
|
|
480
|
-
WHERE project_id = ? AND status IN ('todo', 'in_progress')
|
|
481
|
-
ORDER BY CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END,
|
|
482
|
-
created_at ASC
|
|
540
|
+
`SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id
|
|
541
|
+
WHERE t.project_id = ? AND t.status IN ('todo', 'in_progress')
|
|
542
|
+
ORDER BY CASE t.priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END,
|
|
543
|
+
t.created_at ASC
|
|
483
544
|
LIMIT ?`
|
|
484
545
|
).all(resolved.id, limit ?? 5);
|
|
485
546
|
return {
|
|
@@ -780,11 +841,11 @@ var listTasks = async (req, res, params) => {
|
|
|
780
841
|
const db2 = getDb();
|
|
781
842
|
const url = new URL(req.url || "/", "http://localhost");
|
|
782
843
|
const includeDone = url.searchParams.get("include_done") === "true";
|
|
783
|
-
let sql = "SELECT
|
|
844
|
+
let sql = "SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.project_id = ?";
|
|
784
845
|
if (!includeDone) {
|
|
785
|
-
sql += " AND status NOT IN ('done', 'cancelled')";
|
|
846
|
+
sql += " AND t.status NOT IN ('done', 'cancelled')";
|
|
786
847
|
}
|
|
787
|
-
sql += " ORDER BY CASE priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END, created_at DESC";
|
|
848
|
+
sql += " ORDER BY CASE t.priority WHEN 'critical' THEN 0 WHEN 'high' THEN 1 WHEN 'medium' THEN 2 WHEN 'low' THEN 3 END, t.created_at DESC";
|
|
788
849
|
const rows = db2.prepare(sql).all(params.pid);
|
|
789
850
|
sendJson(res, 200, rows);
|
|
790
851
|
};
|
|
@@ -803,18 +864,21 @@ var createTask = async (req, res, params) => {
|
|
|
803
864
|
const id = generateId();
|
|
804
865
|
const priority = body.priority || "medium";
|
|
805
866
|
const tags = Array.isArray(body.tags) ? JSON.stringify(body.tags) : null;
|
|
867
|
+
const seqRow = db2.prepare("SELECT COALESCE(MAX(seq), 0) + 1 AS next_seq FROM tasks WHERE project_id = ?").get(params.pid);
|
|
868
|
+
const seq = seqRow.next_seq;
|
|
806
869
|
db2.prepare(
|
|
807
|
-
"INSERT INTO tasks (id, project_id, title, description, priority, tags, parent_task_id) VALUES (?, ?, ?, ?, ?, ?, ?)"
|
|
870
|
+
"INSERT INTO tasks (id, project_id, seq, title, description, priority, tags, parent_task_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
|
|
808
871
|
).run(
|
|
809
872
|
id,
|
|
810
873
|
params.pid,
|
|
874
|
+
seq,
|
|
811
875
|
body.title,
|
|
812
876
|
body.description ?? null,
|
|
813
877
|
priority,
|
|
814
878
|
tags,
|
|
815
879
|
body.parent_task_id ?? null
|
|
816
880
|
);
|
|
817
|
-
const task = db2.prepare("SELECT
|
|
881
|
+
const task = db2.prepare("SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.id = ?").get(id);
|
|
818
882
|
sendJson(res, 201, task);
|
|
819
883
|
};
|
|
820
884
|
var updateTask = async (req, res, params) => {
|
|
@@ -865,7 +929,7 @@ var updateTask = async (req, res, params) => {
|
|
|
865
929
|
}
|
|
866
930
|
sqlParams.push(params.id);
|
|
867
931
|
db2.prepare(`UPDATE tasks SET ${updates.join(", ")} WHERE id = ?`).run(...sqlParams);
|
|
868
|
-
const updated = db2.prepare("SELECT
|
|
932
|
+
const updated = db2.prepare("SELECT t.*, p.slug || '-' || t.seq AS short_id FROM tasks t JOIN projects p ON t.project_id = p.id WHERE t.id = ?").get(params.id);
|
|
869
933
|
sendJson(res, 200, updated);
|
|
870
934
|
};
|
|
871
935
|
var deleteTask = async (_req, res, params) => {
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var Ti=Object.defineProperty;var fr=e=>{throw TypeError(e)};var Si=(e,t,n)=>t in e?Ti(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ae=(e,t,n)=>Si(e,typeof t!="symbol"?t+"":t,n),Sn=(e,t,n)=>t.has(e)||fr("Cannot "+n);var u=(e,t,n)=>(Sn(e,t,"read from private field"),n?n.call(e):t.get(e)),P=(e,t,n)=>t.has(e)?fr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),x=(e,t,n,r)=>(Sn(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),U=(e,t,n)=>(Sn(e,t,"access private method"),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const An=!1;var Yn=Array.isArray,xi=Array.prototype.indexOf,Ot=Array.prototype.includes,wn=Array.from,Ci=Object.defineProperty,Vt=Object.getOwnPropertyDescriptor,Di=Object.prototype,Ai=Array.prototype,Pi=Object.getPrototypeOf,ur=Object.isExtensible;const ji=()=>{};function Oi(e){for(var t=0;t<e.length;t++)e[t]()}function Er(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}const X=2,en=4,bn=8,Tr=1<<24,Fe=16,De=32,yt=64,Pn=128,me=512,Y=1024,Z=2048,Ce=4096,de=8192,We=16384,ht=32768,Nt=65536,cr=1<<17,Sr=1<<18,Ft=1<<19,Ni=1<<20,Ke=1<<25,_t=65536,jn=1<<21,Wn=1<<22,Je=1<<23,Kt=Symbol("$state"),rt=new class extends Error{constructor(){super(...arguments);Ae(this,"name","StaleReactionError");Ae(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function Ri(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Mi(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Ii(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Li(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Fi(e){throw new Error("https://svelte.dev/e/effect_orphan")}function qi(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function zi(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Bi(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Hi(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Vi(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Ki=1,Ui=2,Yi=16,Wi=1,Ji=2,W=Symbol(),Gi="http://www.w3.org/1999/xhtml";function Xi(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Zi(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function xr(e){return e===this.v}function Qi(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Cr(e){return!Qi(e,this.v)}let $i=!1,we=null;function Rt(e){we=e}function $e(e,t=!1,n){we={p:we,i:!1,c:null,e:null,s:e,x:null,l:null}}function et(e){var t=we,n=t.e;if(n!==null){t.e=null;for(var r of n)Jr(r)}return t.i=!0,we=t.p,{}}function Dr(){return!0}let it=[];function Ar(){var e=it;it=[],Oi(e)}function Ge(e){if(it.length===0&&!Ut){var t=it;queueMicrotask(()=>{t===it&&Ar()})}it.push(e)}function es(){for(;it.length>0;)Ar()}function Pr(e){var t=R;if(t===null)return A.f|=Je,e;if((t.f&ht)===0&&(t.f&en)===0)throw e;Ue(e,t)}function Ue(e,t){for(;t!==null;){if((t.f&Pn)!==0){if((t.f&ht)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const ts=-7169;function B(e,t){e.f=e.f&ts|t}function Jn(e){(e.f&me)!==0||e.deps===null?B(e,Y):B(e,Ce)}function jr(e){if(e!==null)for(const t of e)(t.f&X)===0||(t.f&_t)===0||(t.f^=_t,jr(t.deps))}function Or(e,t,n){(e.f&Z)!==0?t.add(e):(e.f&Ce)!==0&&n.add(e),jr(e.deps),B(e,Y)}const on=new Set;let T=null,hn=null,J=null,ae=[],kn=null,On=!1,Ut=!1;var St,xt,lt,Ct,Xt,Zt,ot,Re,Dt,he,Nn,Rn,Mn,Nr;const sr=class sr{constructor(){P(this,he);Ae(this,"current",new Map);Ae(this,"previous",new Map);P(this,St,new Set);P(this,xt,new Set);P(this,lt,0);P(this,Ct,0);P(this,Xt,null);P(this,Zt,new Set);P(this,ot,new Set);P(this,Re,new Map);Ae(this,"is_fork",!1);P(this,Dt,!1)}skip_effect(t){u(this,Re).has(t)||u(this,Re).set(t,{d:[],m:[]})}unskip_effect(t){var n=u(this,Re).get(t);if(n){u(this,Re).delete(t);for(var r of n.d)B(r,Z),Se(r);for(r of n.m)B(r,Ce),Se(r)}}process(t){var s;ae=[],this.apply();var n=[],r=[];for(const i of t)U(this,he,Rn).call(this,i,n,r);if(U(this,he,Nn).call(this)){U(this,he,Mn).call(this,r),U(this,he,Mn).call(this,n);for(const[i,a]of u(this,Re))Lr(i,a)}else{for(const i of u(this,St))i();u(this,St).clear(),u(this,lt)===0&&U(this,he,Nr).call(this),hn=this,T=null,vr(r),vr(n),hn=null,(s=u(this,Xt))==null||s.resolve()}J=null}capture(t,n){n!==W&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&Je)===0&&(this.current.set(t,t.v),J==null||J.set(t,t.v))}activate(){T=this,this.apply()}deactivate(){T===this&&(T=null,J=null)}flush(){if(this.activate(),ae.length>0){if(Rr(),T!==null&&T!==this)return}else u(this,lt)===0&&this.process([]);this.deactivate()}discard(){for(const t of u(this,xt))t(this);u(this,xt).clear()}increment(t){x(this,lt,u(this,lt)+1),t&&x(this,Ct,u(this,Ct)+1)}decrement(t){x(this,lt,u(this,lt)-1),t&&x(this,Ct,u(this,Ct)-1),!u(this,Dt)&&(x(this,Dt,!0),Ge(()=>{x(this,Dt,!1),U(this,he,Nn).call(this)?ae.length>0&&this.flush():this.revive()}))}revive(){for(const t of u(this,Zt))u(this,ot).delete(t),B(t,Z),Se(t);for(const t of u(this,ot))B(t,Ce),Se(t);this.flush()}oncommit(t){u(this,St).add(t)}ondiscard(t){u(this,xt).add(t)}settled(){return(u(this,Xt)??x(this,Xt,Er())).promise}static ensure(){if(T===null){const t=T=new sr;on.add(T),Ut||Ge(()=>{T===t&&t.flush()})}return T}apply(){}};St=new WeakMap,xt=new WeakMap,lt=new WeakMap,Ct=new WeakMap,Xt=new WeakMap,Zt=new WeakMap,ot=new WeakMap,Re=new WeakMap,Dt=new WeakMap,he=new WeakSet,Nn=function(){return this.is_fork||u(this,Ct)>0},Rn=function(t,n,r){t.f^=Y;for(var s=t.first;s!==null;){var i=s.f,a=(i&(De|yt))!==0,l=a&&(i&Y)!==0,o=l||(i&de)!==0||u(this,Re).has(s);if(!o&&s.fn!==null){a?s.f^=Y:(i&en)!==0?n.push(s):nn(s)&&((i&Fe)!==0&&u(this,ot).add(s),It(s));var f=s.first;if(f!==null){s=f;continue}}for(;s!==null;){var h=s.next;if(h!==null){s=h;break}s=s.parent}}},Mn=function(t){for(var n=0;n<t.length;n+=1)Or(t[n],u(this,Zt),u(this,ot))},Nr=function(){var s;if(on.size>1){this.previous.clear();var t=J,n=!0;for(const i of on){if(i===this){n=!1;continue}const a=[];for(const[o,f]of this.current){if(i.current.has(o))if(n&&f!==i.current.get(o))i.current.set(o,f);else continue;a.push(o)}if(a.length===0)continue;const l=[...i.current.keys()].filter(o=>!this.current.has(o));if(l.length>0){var r=ae;ae=[];const o=new Set,f=new Map;for(const h of a)Mr(h,l,o,f);if(ae.length>0){T=i,i.apply();for(const h of ae)U(s=i,he,Rn).call(s,h,[],[]);i.deactivate()}ae=r}}T=null,J=t}on.delete(this)};let Xe=sr;function ns(e){var t=Ut;Ut=!0;try{for(var n;;){if(es(),ae.length===0&&(T==null||T.flush(),ae.length===0))return kn=null,n;Rr()}}finally{Ut=t}}function Rr(){On=!0;var e=null;try{for(var t=0;ae.length>0;){var n=Xe.ensure();if(t++>1e3){var r,s;rs()}n.process(ae),Ze.clear()}}finally{ae=[],On=!1,kn=null}}function rs(){try{qi()}catch(e){Ue(e,kn)}}let ke=null;function vr(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(We|de))===0&&nn(r)&&(ke=new Set,It(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Zr(r),(ke==null?void 0:ke.size)>0)){Ze.clear();for(const s of ke){if((s.f&(We|de))!==0)continue;const i=[s];let a=s.parent;for(;a!==null;)ke.has(a)&&(ke.delete(a),i.push(a)),a=a.parent;for(let l=i.length-1;l>=0;l--){const o=i[l];(o.f&(We|de))===0&&It(o)}}ke.clear()}}ke=null}}function Mr(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&X)!==0?Mr(s,t,n,r):(i&(Wn|Fe))!==0&&(i&Z)===0&&Ir(s,t,r)&&(B(s,Z),Se(s))}}function Ir(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Ot.call(t,s))return!0;if((s.f&X)!==0&&Ir(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function Se(e){var t=kn=e,n=t.b;if(n!=null&&n.is_pending&&(e.f&(en|bn|Tr))!==0&&(e.f&ht)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if(On&&t===R&&(r&Fe)!==0&&(r&Sr)===0&&(r&ht)!==0)return;if((r&(yt|De))!==0){if((r&Y)===0)return;t.f^=Y}}ae.push(t)}function Lr(e,t){if(!((e.f&De)!==0&&(e.f&Y)!==0)){(e.f&Z)!==0?t.d.push(e):(e.f&Ce)!==0&&t.m.push(e),B(e,Y);for(var n=e.first;n!==null;)Lr(n,t),n=n.next}}function is(e){let t=0,n=gt(0),r;return()=>{Zn()&&(v(n),Gr(()=>(t===0&&(r=oi(()=>e(()=>Yt(n)))),t+=1,()=>{Ge(()=>{t-=1,t===0&&(r==null||r(),r=void 0,Yt(n))})})))}}var ss=Nt|Ft;function as(e,t,n,r){new ls(e,t,n,r)}var pe,Un,Pe,ft,se,je,ce,Ee,Me,ut,Ve,At,Pt,jt,Ie,mn,V,os,fs,us,In,un,cn,Ln;class ls{constructor(t,n,r,s){P(this,V);Ae(this,"parent");Ae(this,"is_pending",!1);Ae(this,"transform_error");P(this,pe);P(this,Un,null);P(this,Pe);P(this,ft);P(this,se);P(this,je,null);P(this,ce,null);P(this,Ee,null);P(this,Me,null);P(this,ut,0);P(this,Ve,0);P(this,At,!1);P(this,Pt,new Set);P(this,jt,new Set);P(this,Ie,null);P(this,mn,is(()=>(x(this,Ie,gt(u(this,ut))),()=>{x(this,Ie,null)})));var i;x(this,pe,t),x(this,Pe,n),x(this,ft,a=>{var l=R;l.b=this,l.f|=Pn,r(a)}),this.parent=R.b,this.transform_error=s??((i=this.parent)==null?void 0:i.transform_error)??(a=>a),x(this,se,$n(()=>{U(this,V,In).call(this)},ss))}defer_effect(t){Or(t,u(this,Pt),u(this,jt))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!u(this,Pe).pending}update_pending_count(t){U(this,V,Ln).call(this,t),x(this,ut,u(this,ut)+t),!(!u(this,Ie)||u(this,At))&&(x(this,At,!0),Ge(()=>{x(this,At,!1),u(this,Ie)&&Mt(u(this,Ie),u(this,ut))}))}get_effect_pending(){return u(this,mn).call(this),v(u(this,Ie))}error(t){var n=u(this,Pe).onerror;let r=u(this,Pe).failed;if(!n&&!r)throw t;u(this,je)&&(oe(u(this,je)),x(this,je,null)),u(this,ce)&&(oe(u(this,ce)),x(this,ce,null)),u(this,Ee)&&(oe(u(this,Ee)),x(this,Ee,null));var s=!1,i=!1;const a=()=>{if(s){Zi();return}s=!0,i&&Vi(),u(this,Ee)!==null&&vt(u(this,Ee),()=>{x(this,Ee,null)}),U(this,V,cn).call(this,()=>{Xe.ensure(),U(this,V,In).call(this)})},l=o=>{try{i=!0,n==null||n(o,a),i=!1}catch(f){Ue(f,u(this,se)&&u(this,se).parent)}r&&x(this,Ee,U(this,V,cn).call(this,()=>{Xe.ensure();try{return ge(()=>{var f=R;f.b=this,f.f|=Pn,r(u(this,pe),()=>o,()=>a)})}catch(f){return Ue(f,u(this,se).parent),null}}))};Ge(()=>{var o;try{o=this.transform_error(t)}catch(f){Ue(f,u(this,se)&&u(this,se).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(l,f=>Ue(f,u(this,se)&&u(this,se).parent)):l(o)})}}pe=new WeakMap,Un=new WeakMap,Pe=new WeakMap,ft=new WeakMap,se=new WeakMap,je=new WeakMap,ce=new WeakMap,Ee=new WeakMap,Me=new WeakMap,ut=new WeakMap,Ve=new WeakMap,At=new WeakMap,Pt=new WeakMap,jt=new WeakMap,Ie=new WeakMap,mn=new WeakMap,V=new WeakSet,os=function(){try{x(this,je,ge(()=>u(this,ft).call(this,u(this,pe))))}catch(t){this.error(t)}},fs=function(t){const n=u(this,Pe).failed;n&&x(this,Ee,ge(()=>{n(u(this,pe),()=>t,()=>()=>{})}))},us=function(){const t=u(this,Pe).pending;t&&(this.is_pending=!0,x(this,ce,ge(()=>t(u(this,pe)))),Ge(()=>{var n=x(this,Me,document.createDocumentFragment()),r=Qe();n.append(r),x(this,je,U(this,V,cn).call(this,()=>(Xe.ensure(),ge(()=>u(this,ft).call(this,r))))),u(this,Ve)===0&&(u(this,pe).before(n),x(this,Me,null),vt(u(this,ce),()=>{x(this,ce,null)}),U(this,V,un).call(this))}))},In=function(){try{if(this.is_pending=this.has_pending_snippet(),x(this,Ve,0),x(this,ut,0),x(this,je,ge(()=>{u(this,ft).call(this,u(this,pe))})),u(this,Ve)>0){var t=x(this,Me,document.createDocumentFragment());ei(u(this,je),t);const n=u(this,Pe).pending;x(this,ce,ge(()=>n(u(this,pe))))}else U(this,V,un).call(this)}catch(n){this.error(n)}},un=function(){this.is_pending=!1;for(const t of u(this,Pt))B(t,Z),Se(t);for(const t of u(this,jt))B(t,Ce),Se(t);u(this,Pt).clear(),u(this,jt).clear()},cn=function(t){var n=R,r=A,s=we;Ne(u(this,se)),be(u(this,se)),Rt(u(this,se).ctx);try{return t()}catch(i){return Pr(i),null}finally{Ne(n),be(r),Rt(s)}},Ln=function(t){var n;if(!this.has_pending_snippet()){this.parent&&U(n=this.parent,V,Ln).call(n,t);return}x(this,Ve,u(this,Ve)+t),u(this,Ve)===0&&(U(this,V,un).call(this),u(this,ce)&&vt(u(this,ce),()=>{x(this,ce,null)}),u(this,Me)&&(u(this,pe).before(u(this,Me)),x(this,Me,null)))};function cs(e,t,n,r){const s=Gn;var i=e.filter(_=>!_.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var a=R,l=vs(),o=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(_=>_.promise)):null;function f(_){l();try{r(_)}catch(p){(a.f&We)===0&&Ue(p,a)}Fn()}if(n.length===0){o.then(()=>f(t.map(s)));return}function h(){l(),Promise.all(n.map(_=>hs(_))).then(_=>f([...t.map(s),..._])).catch(_=>Ue(_,a))}o?o.then(h):h()}function vs(){var e=R,t=A,n=we,r=T;return function(i=!0){Ne(e),be(t),Rt(n),i&&(r==null||r.activate())}}function Fn(e=!0){Ne(null),be(null),Rt(null),e&&(T==null||T.deactivate())}function ds(){var e=R.b,t=T,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function Gn(e){var t=X|Z,n=A!==null&&(A.f&X)!==0?A:null;return R!==null&&(R.f|=Ft),{ctx:we,deps:null,effects:null,equals:xr,f:t,fn:e,reactions:null,rv:0,v:W,wv:0,parent:n??R,ac:null}}function hs(e,t,n){R===null&&Ri();var s=void 0,i=gt(W),a=!A,l=new Map;return Ps(()=>{var p;var o=Er();s=o.promise;try{Promise.resolve(e()).then(o.resolve,o.reject).finally(Fn)}catch(w){o.reject(w),Fn()}var f=T;if(a){var h=ds();(p=l.get(f))==null||p.reject(rt),l.delete(f),l.set(f,o)}const _=(w,c=void 0)=>{if(f.activate(),c)c!==rt&&(i.f|=Je,Mt(i,c));else{(i.f&Je)!==0&&(i.f^=Je),Mt(i,w);for(const[m,d]of l){if(l.delete(m),m===f)break;d.reject(rt)}}h&&h()};o.promise.then(_,w=>_(null,w||"unknown"))}),Qn(()=>{for(const o of l.values())o.reject(rt)}),new Promise(o=>{function f(h){function _(){h===s?o(i):f(s)}h.then(_,_)}f(s)})}function pt(e){const t=Gn(e);return ti(t),t}function _s(e){const t=Gn(e);return t.equals=Cr,t}function ps(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)oe(t[n])}}function gs(e){for(var t=e.parent;t!==null;){if((t.f&X)===0)return(t.f&We)===0?t:null;t=t.parent}return null}function Xn(e){var t,n=R;Ne(gs(e));try{e.f&=~_t,ps(e),t=si(e)}finally{Ne(n)}return t}function Fr(e){var t=Xn(e);if(!e.equals(t)&&(e.wv=ri(),(!(T!=null&&T.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){B(e,Y);return}mt||(J!==null?(Zn()||T!=null&&T.is_fork)&&J.set(e,t):Jn(e))}function ms(e){var t,n;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((t=r.teardown)==null||t.call(r),(n=r.ac)==null||n.abort(rt),r.teardown=ji,r.ac=null,Gt(r,0),er(r))}function qr(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&It(t)}let qn=new Set;const Ze=new Map;let zr=!1;function gt(e,t){var n={f:0,v:e,reactions:null,equals:xr,rv:0,wv:0};return n}function j(e,t){const n=gt(e);return ti(n),n}function ys(e,t=!1,n=!0){const r=gt(e);return t||(r.equals=Cr),r}function g(e,t,n=!1){A!==null&&(!xe||(A.f&cr)!==0)&&Dr()&&(A.f&(X|Fe|Wn|cr))!==0&&(ye===null||!Ot.call(ye,e))&&Hi();let r=n?Ye(t):t;return Mt(e,r)}function Mt(e,t){if(!e.equals(t)){var n=e.v;mt?Ze.set(e,t):Ze.set(e,n),e.v=t;var r=Xe.ensure();if(r.capture(e,n),(e.f&X)!==0){const s=e;(e.f&Z)!==0&&Xn(s),Jn(s)}e.wv=ri(),Br(e,Z),R!==null&&(R.f&Y)!==0&&(R.f&(De|yt))===0&&(_e===null?Ns([e]):_e.push(e)),!r.is_fork&&qn.size>0&&!zr&&ws()}return t}function ws(){zr=!1;for(const e of qn)(e.f&Y)!==0&&B(e,Ce),nn(e)&&It(e);qn.clear()}function Yt(e){g(e,e.v+1)}function Br(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,s=0;s<r;s++){var i=n[s],a=i.f,l=(a&Z)===0;if(l&&B(i,t),(a&X)!==0){var o=i;J==null||J.delete(o),(a&_t)===0&&(a&me&&(i.f|=_t),Br(o,Ce))}else l&&((a&Fe)!==0&&ke!==null&&ke.add(i),Se(i))}}function Ye(e){if(typeof e!="object"||e===null||Kt in e)return e;const t=Pi(e);if(t!==Di&&t!==Ai)return e;var n=new Map,r=Yn(e),s=j(0),i=dt,a=l=>{if(dt===i)return l();var o=A,f=dt;be(null),pr(i);var h=l();return be(o),pr(f),h};return r&&n.set("length",j(e.length)),new Proxy(e,{defineProperty(l,o,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&zi();var h=n.get(o);return h===void 0?a(()=>{var _=j(f.value);return n.set(o,_),_}):g(h,f.value,!0),!0},deleteProperty(l,o){var f=n.get(o);if(f===void 0){if(o in l){const h=a(()=>j(W));n.set(o,h),Yt(s)}}else g(f,W),Yt(s);return!0},get(l,o,f){var w;if(o===Kt)return e;var h=n.get(o),_=o in l;if(h===void 0&&(!_||(w=Vt(l,o))!=null&&w.writable)&&(h=a(()=>{var c=Ye(_?l[o]:W),m=j(c);return m}),n.set(o,h)),h!==void 0){var p=v(h);return p===W?void 0:p}return Reflect.get(l,o,f)},getOwnPropertyDescriptor(l,o){var f=Reflect.getOwnPropertyDescriptor(l,o);if(f&&"value"in f){var h=n.get(o);h&&(f.value=v(h))}else if(f===void 0){var _=n.get(o),p=_==null?void 0:_.v;if(_!==void 0&&p!==W)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return f},has(l,o){var p;if(o===Kt)return!0;var f=n.get(o),h=f!==void 0&&f.v!==W||Reflect.has(l,o);if(f!==void 0||R!==null&&(!h||(p=Vt(l,o))!=null&&p.writable)){f===void 0&&(f=a(()=>{var w=h?Ye(l[o]):W,c=j(w);return c}),n.set(o,f));var _=v(f);if(_===W)return!1}return h},set(l,o,f,h){var N;var _=n.get(o),p=o in l;if(r&&o==="length")for(var w=f;w<_.v;w+=1){var c=n.get(w+"");c!==void 0?g(c,W):w in l&&(c=a(()=>j(W)),n.set(w+"",c))}if(_===void 0)(!p||(N=Vt(l,o))!=null&&N.writable)&&(_=a(()=>j(void 0)),g(_,Ye(f)),n.set(o,_));else{p=_.v!==W;var m=a(()=>Ye(f));g(_,m)}var d=Reflect.getOwnPropertyDescriptor(l,o);if(d!=null&&d.set&&d.set.call(h,f),!p){if(r&&typeof o=="string"){var y=n.get("length"),k=Number(o);Number.isInteger(k)&&k>=y.v&&g(y,k+1)}Yt(s)}return!0},ownKeys(l){v(s);var o=Reflect.ownKeys(l).filter(_=>{var p=n.get(_);return p===void 0||p.v!==W});for(var[f,h]of n)h.v!==W&&!(f in l)&&o.push(f);return o},setPrototypeOf(){Bi()}})}function dr(e){try{if(e!==null&&typeof e=="object"&&Kt in e)return e[Kt]}catch{}return e}function bs(e,t){return Object.is(dr(e),dr(t))}var _n,Hr,Vr,Kr;function ks(){if(_n===void 0){_n=window,Hr=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Vr=Vt(t,"firstChild").get,Kr=Vt(t,"nextSibling").get,ur(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),ur(n)&&(n.__t=void 0)}}function Qe(e=""){return document.createTextNode(e)}function pn(e){return Vr.call(e)}function tn(e){return Kr.call(e)}function E(e,t){return pn(e)}function Jt(e,t=!1){{var n=pn(e);return n instanceof Comment&&n.data===""?tn(n):n}}function S(e,t=1,n=!1){let r=e;for(;t--;)r=tn(r);return r}function Es(e){e.textContent=""}function Ur(){return!1}function Ts(e,t,n){return document.createElementNS(Gi,e,void 0)}function Yr(e,t){{const n=document.body;e.autofocus=!0,Ge(()=>{document.activeElement===n&&e.focus()})}}let hr=!1;function Ss(){hr||(hr=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function En(e){var t=A,n=R;be(null),Ne(null);try{return e()}finally{be(t),Ne(n)}}function Wr(e,t,n,r=n){e.addEventListener(t,()=>En(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),Ss()}function xs(e){R===null&&(A===null&&Fi(),Li()),mt&&Ii()}function Cs(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function qe(e,t,n){var r=R;r!==null&&(r.f&de)!==0&&(e|=de);var s={ctx:we,deps:null,nodes:null,f:e|Z|me,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{It(s)}catch(l){throw oe(s),l}else t!==null&&Se(s);var i=s;if(n&&i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Ft)===0&&(i=i.first,(e&Fe)!==0&&(e&Nt)!==0&&i!==null&&(i.f|=Nt)),i!==null&&(i.parent=r,r!==null&&Cs(i,r),A!==null&&(A.f&X)!==0&&(e&yt)===0)){var a=A;(a.effects??(a.effects=[])).push(i)}return s}function Zn(){return A!==null&&!xe}function Qn(e){const t=qe(bn,null,!1);return B(t,Y),t.teardown=e,t}function gn(e){xs();var t=R.f,n=!A&&(t&De)!==0&&(t&ht)===0;if(n){var r=we;(r.e??(r.e=[])).push(e)}else return Jr(e)}function Jr(e){return qe(en|Ni,e,!1)}function Ds(e){Xe.ensure();const t=qe(yt|Ft,e,!0);return(n={})=>new Promise(r=>{n.outro?vt(t,()=>{oe(t),r(void 0)}):(oe(t),r(void 0))})}function As(e){return qe(en,e,!1)}function Ps(e){return qe(Wn|Ft,e,!0)}function Gr(e,t=0){return qe(bn|t,e,!0)}function te(e,t=[],n=[],r=[]){cs(r,t,n,s=>{qe(bn,()=>e(...s.map(v)),!0)})}function $n(e,t=0){var n=qe(Fe|t,e,!0);return n}function ge(e){return qe(De|Ft,e,!0)}function Xr(e){var t=e.teardown;if(t!==null){const n=mt,r=A;_r(!0),be(null);try{t.call(null)}finally{_r(n),be(r)}}}function er(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&En(()=>{s.abort(rt)});var r=n.next;(n.f&yt)!==0?n.parent=null:oe(n,t),n=r}}function js(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&De)===0&&oe(t),t=n}}function oe(e,t=!0){var n=!1;(t||(e.f&Sr)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Os(e.nodes.start,e.nodes.end),n=!0),er(e,t&&!n),Gt(e,0),B(e,We);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();Xr(e);var s=e.parent;s!==null&&s.first!==null&&Zr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function Os(e,t){for(;e!==null;){var n=e===t?null:tn(e);e.remove(),e=n}}function Zr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function vt(e,t,n=!0){var r=[];Qr(e,r,!0);var s=()=>{n&&oe(e),t&&t()},i=r.length;if(i>0){var a=()=>--i||s();for(var l of r)l.out(a)}else s()}function Qr(e,t,n){if((e.f&de)===0){e.f^=de;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next,a=(s.f&Nt)!==0||(s.f&De)!==0&&(e.f&Fe)!==0;Qr(s,t,a?n:!1),s=i}}}function tr(e){$r(e,!0)}function $r(e,t){if((e.f&de)!==0){e.f^=de,(e.f&Y)===0&&(B(e,Z),Se(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Nt)!==0||(n.f&De)!==0;$r(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&a.in()}}function ei(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:tn(n);t.append(n),n=s}}let vn=!1,mt=!1;function _r(e){mt=e}let A=null,xe=!1;function be(e){A=e}let R=null;function Ne(e){R=e}let ye=null;function ti(e){A!==null&&(ye===null?ye=[e]:ye.push(e))}let le=null,ue=0,_e=null;function Ns(e){_e=e}let ni=1,st=0,dt=st;function pr(e){dt=e}function ri(){return++ni}function nn(e){var t=e.f;if((t&Z)!==0)return!0;if(t&X&&(e.f&=~_t),(t&Ce)!==0){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(nn(i)&&Fr(i),i.wv>e.wv)return!0}(t&me)!==0&&J===null&&B(e,Y)}return!1}function ii(e,t,n=!0){var r=e.reactions;if(r!==null&&!(ye!==null&&Ot.call(ye,e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&X)!==0?ii(i,t,!1):t===i&&(n?B(i,Z):(i.f&Y)!==0&&B(i,Ce),Se(i))}}function si(e){var m;var t=le,n=ue,r=_e,s=A,i=ye,a=we,l=xe,o=dt,f=e.f;le=null,ue=0,_e=null,A=(f&(De|yt))===0?e:null,ye=null,Rt(e.ctx),xe=!1,dt=++st,e.ac!==null&&(En(()=>{e.ac.abort(rt)}),e.ac=null);try{e.f|=jn;var h=e.fn,_=h();e.f|=ht;var p=e.deps,w=T==null?void 0:T.is_fork;if(le!==null){var c;if(w||Gt(e,ue),p!==null&&ue>0)for(p.length=ue+le.length,c=0;c<le.length;c++)p[ue+c]=le[c];else e.deps=p=le;if(Zn()&&(e.f&me)!==0)for(c=ue;c<p.length;c++)((m=p[c]).reactions??(m.reactions=[])).push(e)}else!w&&p!==null&&ue<p.length&&(Gt(e,ue),p.length=ue);if(Dr()&&_e!==null&&!xe&&p!==null&&(e.f&(X|Ce|Z))===0)for(c=0;c<_e.length;c++)ii(_e[c],e);if(s!==null&&s!==e){if(st++,s.deps!==null)for(let d=0;d<n;d+=1)s.deps[d].rv=st;if(t!==null)for(const d of t)d.rv=st;_e!==null&&(r===null?r=_e:r.push(..._e))}return(e.f&Je)!==0&&(e.f^=Je),_}catch(d){return Pr(d)}finally{e.f^=jn,le=t,ue=n,_e=r,A=s,ye=i,Rt(a),xe=l,dt=o}}function Rs(e,t){let n=t.reactions;if(n!==null){var r=xi.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(t.f&X)!==0&&(le===null||!Ot.call(le,t))){var i=t;(i.f&me)!==0&&(i.f^=me,i.f&=~_t),Jn(i),ms(i),Gt(i,0)}}function Gt(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Rs(e,n[r])}function It(e){var t=e.f;if((t&We)===0){B(e,Y);var n=R,r=vn;R=e,vn=!0;try{(t&(Fe|Tr))!==0?js(e):er(e),Xr(e);var s=si(e);e.teardown=typeof s=="function"?s:null,e.wv=ni;var i;An&&$i&&(e.f&Z)!==0&&e.deps}finally{vn=r,R=n}}}async function Ms(){await Promise.resolve(),ns()}function v(e){var t=e.f,n=(t&X)!==0;if(A!==null&&!xe){var r=R!==null&&(R.f&We)!==0;if(!r&&(ye===null||!Ot.call(ye,e))){var s=A.deps;if((A.f&jn)!==0)e.rv<st&&(e.rv=st,le===null&&s!==null&&s[ue]===e?ue++:le===null?le=[e]:le.push(e));else{(A.deps??(A.deps=[])).push(e);var i=e.reactions;i===null?e.reactions=[A]:Ot.call(i,A)||i.push(A)}}}if(mt&&Ze.has(e))return Ze.get(e);if(n){var a=e;if(mt){var l=a.v;return((a.f&Y)===0&&a.reactions!==null||li(a))&&(l=Xn(a)),Ze.set(a,l),l}var o=(a.f&me)===0&&!xe&&A!==null&&(vn||(A.f&me)!==0),f=(a.f&ht)===0;nn(a)&&(o&&(a.f|=me),Fr(a)),o&&!f&&(qr(a),ai(a))}if(J!=null&&J.has(e))return J.get(e);if((e.f&Je)!==0)throw e.v;return e.v}function ai(e){if(e.f|=me,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&X)!==0&&(t.f&me)===0&&(qr(t),ai(t))}function li(e){if(e.v===W)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Ze.has(t)||(t.f&X)!==0&&li(t))return!0;return!1}function oi(e){var t=xe;try{return xe=!0,e()}finally{xe=t}}const Is=["touchstart","touchmove"];function Ls(e){return Is.includes(e)}const at=Symbol("events"),fi=new Set,zn=new Set;function Fs(e,t,n,r={}){function s(i){if(r.capture||Bn.call(t,i),!i.cancelBubble)return En(()=>n==null?void 0:n.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Ge(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Le(e,t,n,r,s){var i={capture:r,passive:s},a=Fs(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Qn(()=>{t.removeEventListener(e,a,i)})}function fe(e,t,n){(t[at]??(t[at]={}))[e]=n}function qt(e){for(var t=0;t<e.length;t++)fi.add(e[t]);for(var n of zn)n(e)}let gr=null;function Bn(e){var d,y;var t=this,n=t.ownerDocument,r=e.type,s=((d=e.composedPath)==null?void 0:d.call(e))||[],i=s[0]||e.target;gr=e;var a=0,l=gr===e&&e[at];if(l){var o=s.indexOf(l);if(o!==-1&&(t===document||t===window)){e[at]=t;return}var f=s.indexOf(t);if(f===-1)return;o<=f&&(a=o)}if(i=s[a]||e.target,i!==t){Ci(e,"currentTarget",{configurable:!0,get(){return i||n}});var h=A,_=R;be(null),Ne(null);try{for(var p,w=[];i!==null;){var c=i.assignedSlot||i.parentNode||i.host||null;try{var m=(y=i[at])==null?void 0:y[r];m!=null&&(!i.disabled||e.target===i)&&m.call(i,e)}catch(k){p?w.push(k):p=k}if(e.cancelBubble||c===t||c===null)break;i=c}if(p){for(let k of w)queueMicrotask(()=>{throw k});throw p}}finally{e[at]=t,delete e.currentTarget,be(h),Ne(_)}}}var br;const xn=((br=globalThis==null?void 0:globalThis.window)==null?void 0:br.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function qs(e){return(xn==null?void 0:xn.createHTML(e))??e}function zs(e){var t=Ts("template");return t.innerHTML=qs(e.replaceAll("<!>","<!---->")),t.content}function Hn(e,t){var n=R;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function I(e,t){var n=(t&Wi)!==0,r=(t&Ji)!==0,s,i=!e.startsWith("<!>");return()=>{s===void 0&&(s=zs(i?e:"<!>"+e),n||(s=pn(s)));var a=r||Hr?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=pn(a),o=a.lastChild;Hn(l,o)}else Hn(a,a);return a}}function nr(){var e=document.createDocumentFragment(),t=document.createComment(""),n=Qe();return e.append(t,n),Hn(t,n),e}function O(e,t){e!==null&&e.before(t)}function z(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=n+"")}function Bs(e,t){return Hs(e,t)}const fn=new Map;function Hs(e,{target:t,anchor:n,props:r={},events:s,context:i,intro:a=!0,transformError:l}){ks();var o=void 0,f=Ds(()=>{var h=n??t.appendChild(Qe());as(h,{pending:()=>{}},w=>{$e({});var c=we;i&&(c.c=i),s&&(r.$$events=s),o=e(w,r)||{},et()},l);var _=new Set,p=w=>{for(var c=0;c<w.length;c++){var m=w[c];if(!_.has(m)){_.add(m);var d=Ls(m);for(const N of[t,document]){var y=fn.get(N);y===void 0&&(y=new Map,fn.set(N,y));var k=y.get(m);k===void 0?(N.addEventListener(m,Bn,{passive:d}),y.set(m,1)):y.set(m,k+1)}}}};return p(wn(fi)),zn.add(p),()=>{var d;for(var w of _)for(const y of[t,document]){var c=fn.get(y),m=c.get(w);--m==0?(y.removeEventListener(w,Bn),c.delete(w),c.size===0&&fn.delete(y)):c.set(w,m)}zn.delete(p),h!==n&&((d=h.parentNode)==null||d.removeChild(h))}});return Vs.set(o,f),o}let Vs=new WeakMap;var Te,Oe,ve,ct,Qt,$t,yn;class Ks{constructor(t,n=!0){Ae(this,"anchor");P(this,Te,new Map);P(this,Oe,new Map);P(this,ve,new Map);P(this,ct,new Set);P(this,Qt,!0);P(this,$t,()=>{var t=T;if(u(this,Te).has(t)){var n=u(this,Te).get(t),r=u(this,Oe).get(n);if(r)tr(r),u(this,ct).delete(n);else{var s=u(this,ve).get(n);s&&(u(this,Oe).set(n,s.effect),u(this,ve).delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,a]of u(this,Te)){if(u(this,Te).delete(i),i===t)break;const l=u(this,ve).get(a);l&&(oe(l.effect),u(this,ve).delete(a))}for(const[i,a]of u(this,Oe)){if(i===n||u(this,ct).has(i))continue;const l=()=>{if(Array.from(u(this,Te).values()).includes(i)){var f=document.createDocumentFragment();ei(a,f),f.append(Qe()),u(this,ve).set(i,{effect:a,fragment:f})}else oe(a);u(this,ct).delete(i),u(this,Oe).delete(i)};u(this,Qt)||!r?(u(this,ct).add(i),vt(a,l,!1)):l()}}});P(this,yn,t=>{u(this,Te).delete(t);const n=Array.from(u(this,Te).values());for(const[r,s]of u(this,ve))n.includes(r)||(oe(s.effect),u(this,ve).delete(r))});this.anchor=t,x(this,Qt,n)}ensure(t,n){var r=T,s=Ur();if(n&&!u(this,Oe).has(t)&&!u(this,ve).has(t))if(s){var i=document.createDocumentFragment(),a=Qe();i.append(a),u(this,ve).set(t,{effect:ge(()=>n(a)),fragment:i})}else u(this,Oe).set(t,ge(()=>n(this.anchor)));if(u(this,Te).set(r,t),s){for(const[l,o]of u(this,Oe))l===t?r.unskip_effect(o):r.skip_effect(o);for(const[l,o]of u(this,ve))l===t?r.unskip_effect(o.effect):r.skip_effect(o.effect);r.oncommit(u(this,$t)),r.ondiscard(u(this,yn))}else u(this,$t).call(this)}}Te=new WeakMap,Oe=new WeakMap,ve=new WeakMap,ct=new WeakMap,Qt=new WeakMap,$t=new WeakMap,yn=new WeakMap;function G(e,t,n=!1){var r=new Ks(e),s=n?Nt:0;function i(a,l){r.ensure(a,l)}$n(()=>{var a=!1;t((l,o=0)=>{a=!0,i(o,l)}),a||i(!1,null)},s)}function rr(e,t){return t}function Us(e,t,n){for(var r=[],s=t.length,i,a=t.length,l=0;l<s;l++){let _=t[l];vt(_,()=>{if(i){if(i.pending.delete(_),i.done.add(_),i.pending.size===0){var p=e.outrogroups;Vn(wn(i.done)),p.delete(i),p.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var o=r.length===0&&n!==null;if(o){var f=n,h=f.parentNode;Es(h),h.append(f),e.items.clear()}Vn(t,!o)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function Vn(e,t=!0){for(var n=0;n<e.length;n++)oe(e[n],t)}var mr;function Lt(e,t,n,r,s,i=null){var a=e,l=new Map;{var o=e;a=o.appendChild(Qe())}var f=null,h=_s(()=>{var d=n();return Yn(d)?d:d==null?[]:wn(d)}),_,p=!0;function w(){m.fallback=f,Ys(m,_,a,t,r),f!==null&&(_.length===0?(f.f&Ke)===0?tr(f):(f.f^=Ke,Ht(f,null,a)):vt(f,()=>{f=null}))}var c=$n(()=>{_=v(h);for(var d=_.length,y=new Set,k=T,N=Ur(),M=0;M<d;M+=1){var q=_[M],ne=r(q,M),C=p?null:l.get(ne);C?(C.v&&Mt(C.v,q),C.i&&Mt(C.i,M),N&&k.unskip_effect(C.e)):(C=Ws(l,p?a:mr??(mr=Qe()),q,ne,M,s,t,n),p||(C.e.f|=Ke),l.set(ne,C)),y.add(ne)}if(d===0&&i&&!f&&(p?f=ge(()=>i(a)):(f=ge(()=>i(mr??(mr=Qe()))),f.f|=Ke)),d>y.size&&Mi(),!p)if(N){for(const[K,H]of l)y.has(K)||k.skip_effect(H.e);k.oncommit(w),k.ondiscard(()=>{})}else w();v(h)}),m={effect:c,items:l,outrogroups:null,fallback:f};p=!1}function Bt(e){for(;e!==null&&(e.f&De)===0;)e=e.next;return e}function Ys(e,t,n,r,s){var K;var i=t.length,a=e.items,l=Bt(e.effect.first),o,f=null,h=[],_=[],p,w,c,m;for(m=0;m<i;m+=1){if(p=t[m],w=s(p,m),c=a.get(w).e,e.outrogroups!==null)for(const H of e.outrogroups)H.pending.delete(c),H.done.delete(c);if((c.f&Ke)!==0)if(c.f^=Ke,c===l)Ht(c,null,n);else{var d=f?f.next:l;c===e.effect.last&&(e.effect.last=c.prev),c.prev&&(c.prev.next=c.next),c.next&&(c.next.prev=c.prev),ze(e,f,c),ze(e,c,d),Ht(c,d,n),f=c,h=[],_=[],l=Bt(f.next);continue}if((c.f&de)!==0&&tr(c),c!==l){if(o!==void 0&&o.has(c)){if(h.length<_.length){var y=_[0],k;f=y.prev;var N=h[0],M=h[h.length-1];for(k=0;k<h.length;k+=1)Ht(h[k],y,n);for(k=0;k<_.length;k+=1)o.delete(_[k]);ze(e,N.prev,M.next),ze(e,f,N),ze(e,M,y),l=y,f=M,m-=1,h=[],_=[]}else o.delete(c),Ht(c,l,n),ze(e,c.prev,c.next),ze(e,c,f===null?e.effect.first:f.next),ze(e,f,c),f=c;continue}for(h=[],_=[];l!==null&&l!==c;)(o??(o=new Set)).add(l),_.push(l),l=Bt(l.next);if(l===null)continue}(c.f&Ke)===0&&h.push(c),f=c,l=Bt(c.next)}if(e.outrogroups!==null){for(const H of e.outrogroups)H.pending.size===0&&(Vn(wn(H.done)),(K=e.outrogroups)==null||K.delete(H));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||o!==void 0){var q=[];if(o!==void 0)for(c of o)(c.f&de)===0&&q.push(c);for(;l!==null;)(l.f&de)===0&&l!==e.fallback&&q.push(l),l=Bt(l.next);var ne=q.length;if(ne>0){var C=i===0?n:null;Us(e,q,C)}}}function Ws(e,t,n,r,s,i,a,l){var o=(a&Ki)!==0?(a&Yi)===0?ys(n,!1,!1):gt(n):null,f=(a&Ui)!==0?gt(s):null;return{v:o,i:f,e:ge(()=>(i(t,o??n,f??s,l),()=>{e.delete(r)}))}}function Ht(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,i=t&&(t.f&Ke)===0?t.nodes.start:n;r!==null;){var a=tn(r);if(i.before(r),r===s)return;r=a}}function ze(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}const yr=[...`
|
|
2
|
+
\r\f \v\uFEFF`];function Js(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var i=s.length,a=0;(a=r.indexOf(s,a))>=0;){var l=a+i;(a===0||yr.includes(r[a-1]))&&(l===r.length||yr.includes(r[l]))?r=(a===0?"":r.substring(0,a))+r.substring(l+1):a=l}}return r===""?null:r}function Kn(e,t,n,r,s,i){var a=e.__className;if(a!==n||a===void 0){var l=Js(n,r,i);l==null?e.removeAttribute("class"):e.className=l,e.__className=n}else if(i&&s!==i)for(var o in i){var f=!!i[o];(s==null||f!==!!s[o])&&e.classList.toggle(o,f)}return i}function ir(e,t,n=!1){if(e.multiple){if(t==null)return;if(!Yn(t))return Xi();for(var r of e.options)r.selected=t.includes(Wt(r));return}for(r of e.options){var s=Wt(r);if(bs(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function ui(e){var t=new MutationObserver(()=>{ir(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Qn(()=>{t.disconnect()})}function wr(e,t,n=t){var r=new WeakSet,s=!0;Wr(e,"change",i=>{var a=i?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(a),Wt);else{var o=e.querySelector(a)??e.querySelector("option:not([disabled])");l=o&&Wt(o)}n(l),T!==null&&r.add(T)}),As(()=>{var i=t();if(e===document.activeElement){var a=hn??T;if(r.has(a))return}if(ir(e,i,s),s&&i===void 0){var l=e.querySelector(":checked");l!==null&&(i=Wt(l),n(i))}e.__value=i,s=!1}),ui(e)}function Wt(e){return"__value"in e?e.__value:e.value}function dn(e,t,n=t){var r=new WeakSet;Wr(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Cn(e)?Dn(i):i,n(i),T!==null&&r.add(T),await Ms(),i!==(i=t())){var a=e.selectionStart,l=e.selectionEnd,o=e.value.length;if(e.value=i??"",l!==null){var f=e.value.length;a===l&&l===o&&f>o?(e.selectionStart=f,e.selectionEnd=f):(e.selectionStart=a,e.selectionEnd=Math.min(l,f))}}}),oi(t)==null&&e.value&&(n(Cn(e)?Dn(e.value):e.value),T!==null&&r.add(T)),Gr(()=>{var s=t();if(e===document.activeElement){var i=hn??T;if(r.has(i))return}Cn(e)&&s===Dn(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function Cn(e){var t=e.type;return t==="number"||t==="range"}function Dn(e){return e===""?null:+e}function ci(e,t,n,r){var s=r,i=!0,a=()=>(i&&(i=!1,s=r),s),l;l=e[t],l===void 0&&r!==void 0&&(l=a());var o;return o=()=>{var f=e[t];return f===void 0?a():(i=!0,f)},o}const Gs="5";var kr;typeof window<"u"&&((kr=window.__svelte??(window.__svelte={})).v??(kr.v=new Set)).add(Gs);async function Be(e,t){const n=await fetch(`/api${e}`,{headers:{"Content-Type":"application/json"},...t});if(!n.ok){const r=await n.json().catch(()=>({error:n.statusText}));throw new Error(r.error||"Request failed")}return n.json()}const He={getProjects:()=>Be("/projects"),getProject:e=>Be(`/projects/${e}`),updateProject:(e,t)=>Be(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>Be(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>Be(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>Be(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>Be(`/tasks/${e}`,{method:"DELETE"}),getDecisions:e=>Be(`/projects/${e}/decisions`)};var Xs=I('<option class="svelte-1kanzy0"> </option>'),Zs=I('<input class="rename-input svelte-1kanzy0" type="text"/>'),Qs=I('<button class="rename-btn svelte-1kanzy0" title="Rename project">✎</button>'),$s=I('<header class="toolbar svelte-1kanzy0"><div class="brand svelte-1kanzy0">mindpm</div> <div class="project-area svelte-1kanzy0"><select class="svelte-1kanzy0"></select> <!></div></header>');function ea(e,t){$e(t,!0);let n=j(!1),r=j("");const s=pt(()=>t.projects.find(c=>c.id===t.selectedId));function i(){v(s)&&(g(r,v(s).name,!0),g(n,!0))}function a(){if(!v(s)||!v(n))return;const c=v(r).trim();c&&c!==v(s).name&&t.onRenamed(v(s).id,c),g(n,!1)}function l(c){c.key==="Enter"&&a(),c.key==="Escape"&&g(n,!1)}var o=$s(),f=S(E(o),2),h=E(f);Lt(h,21,()=>t.projects,rr,(c,m)=>{var d=Xs(),y=E(d),k={};te(()=>{z(y,v(m).name),k!==(k=v(m).id)&&(d.value=(d.__value=v(m).id)??"")}),O(c,d)});var _;ui(h);var p=S(h,2);{var w=c=>{var m=nr(),d=Jt(m);{var y=N=>{var M=Zs();Yr(M),Le("blur",M,a),fe("keydown",M,l),dn(M,()=>v(r),q=>g(r,q)),O(N,M)},k=N=>{var M=Qs();fe("click",M,i),O(N,M)};G(d,N=>{v(n)?N(y):N(k,!1)})}O(c,m)};G(p,c=>{v(s)&&c(w)})}te(()=>{_!==(_=t.selectedId??"")&&(h.value=(h.__value=t.selectedId??"")??"",ir(h,t.selectedId??""))}),fe("change",h,c=>t.onSelect(c.target.value)),O(e,o),et()}qt(["change","keydown","click"]);const ta=[{status:"todo",label:"Todo"},{status:"in_progress",label:"In Progress"},{status:"blocked",label:"Blocked"},{status:"done",label:"Done"},{status:"cancelled",label:"Cancelled"}],na=["critical","high","medium","low"];var ra=I('<span class="task-id svelte-35ep21"> </span>'),ia=I('<div class="card-desc svelte-35ep21"> </div>'),sa=I('<span class="tag svelte-35ep21"> </span>'),aa=I('<div class="card-tags svelte-35ep21"></div>'),la=I('<div draggable="true" role="button" tabindex="0"><div class="card-header svelte-35ep21"><span> </span> <div class="card-header-right svelte-35ep21"><!> <button class="delete-btn svelte-35ep21" title="Delete task">×</button></div></div> <div class="card-title svelte-35ep21"> </div> <!> <!></div>');function oa(e,t){$e(t,!0);let n=j(!1);function r(C){if(!C)return[];try{return JSON.parse(C)}catch{return[]}}const s=pt(()=>r(t.task.tags)),i=pt(()=>`priority-${t.task.priority}`);function a(C){g(n,!0),t.onDragStart(C,t.task)}function l(){g(n,!1)}var o=la();let f;var h=E(o),_=E(h),p=E(_),w=S(_,2),c=E(w);{var m=C=>{var K=ra(),H=E(K);te(()=>z(H,t.task.short_id)),O(C,K)};G(c,C=>{t.task.short_id&&C(m)})}var d=S(c,2),y=S(h,2),k=E(y),N=S(y,2);{var M=C=>{var K=ia(),H=E(K);te(()=>z(H,t.task.description)),O(C,K)};G(N,C=>{t.task.description&&C(M)})}var q=S(N,2);{var ne=C=>{var K=aa();Lt(K,21,()=>v(s),rr,(H,wt)=>{var tt=sa(),bt=E(tt);te(()=>z(bt,v(wt))),O(H,tt)}),O(C,K)};G(q,C=>{v(s).length>0&&C(ne)})}te(()=>{f=Kn(o,1,"card svelte-35ep21",null,f,{dragging:v(n)}),Kn(_,1,`priority-badge ${v(i)??""}`,"svelte-35ep21"),z(p,t.task.priority),z(k,t.task.title)}),Le("dragstart",o,a),Le("dragend",o,l),fe("click",o,()=>t.onEdit(t.task)),fe("keydown",o,C=>{C.key==="Enter"&&t.onEdit(t.task)}),fe("click",d,C=>{C.stopPropagation(),t.onDelete(t.task)}),O(e,o),et()}qt(["click","keydown"]);var fa=I('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),ua=I('<div role="list"><div class="column-header svelte-zswfgn"><h3 class="svelte-zswfgn"> <span class="count svelte-zswfgn"> </span></h3> <!></div> <div class="card-list svelte-zswfgn"></div></div>');function ca(e,t){$e(t,!0);let n=j(!1);function r(d){d.preventDefault(),d.dataTransfer&&(d.dataTransfer.dropEffect="move"),g(n,!0)}function s(){g(n,!1)}function i(d){d.preventDefault(),g(n,!1),t.onDrop(t.status)}var a=ua();let l;var o=E(a),f=E(o),h=E(f),_=S(h),p=E(_),w=S(f,2);{var c=d=>{var y=fa();fe("click",y,()=>t.onAddTask(t.status)),O(d,y)};G(w,d=>{t.status==="todo"&&d(c)})}var m=S(o,2);Lt(m,21,()=>t.tasks,d=>d.id,(d,y)=>{oa(d,{get task(){return v(y)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}),te(()=>{l=Kn(a,1,"column svelte-zswfgn",null,l,{"drag-over":v(n)}),z(h,`${t.label??""} `),z(p,t.tasks.length)}),Le("dragover",a,r),Le("dragleave",a,s),Le("drop",a,i),O(e,a),et()}qt(["click"]);var va=I('<span class="modal-task-id svelte-1gmf2hi"> </span>'),da=I("<option> </option>"),ha=I('<div class="field svelte-1gmf2hi"><label for="status" class="svelte-1gmf2hi">Status</label> <select id="status" class="svelte-1gmf2hi"><option>Todo</option><option>In Progress</option><option>Blocked</option><option>Done</option><option>Cancelled</option></select></div>'),_a=I('<div class="decision-reasoning svelte-1gmf2hi"> </div>'),pa=I('<div class="decision-alts svelte-1gmf2hi"> </div>'),ga=I('<div class="decision-item svelte-1gmf2hi"><div class="decision-title svelte-1gmf2hi"> </div> <div class="decision-body svelte-1gmf2hi"> </div> <!> <!></div>'),ma=I('<div class="decisions-section svelte-1gmf2hi"><h3 class="decisions-heading svelte-1gmf2hi">Decisions</h3> <div class="decisions-list svelte-1gmf2hi"></div></div>'),ya=I('<div class="modal-backdrop svelte-1gmf2hi"><div class="modal svelte-1gmf2hi"><div class="modal-header svelte-1gmf2hi"><div class="modal-title svelte-1gmf2hi"><h2 class="svelte-1gmf2hi"> </h2> <!></div> <button class="close-btn svelte-1gmf2hi">×</button></div> <form><div class="field svelte-1gmf2hi"><label for="title" class="svelte-1gmf2hi">Title</label> <input id="title" type="text" placeholder="Task title" required="" class="svelte-1gmf2hi"/></div> <div class="field svelte-1gmf2hi"><label for="description" class="svelte-1gmf2hi">Description</label> <textarea id="description" placeholder="Optional description" rows="3" class="svelte-1gmf2hi"></textarea></div> <div class="row svelte-1gmf2hi"><div class="field svelte-1gmf2hi"><label for="priority" class="svelte-1gmf2hi">Priority</label> <select id="priority" class="svelte-1gmf2hi"></select></div> <!></div> <div class="field svelte-1gmf2hi"><label for="tags" class="svelte-1gmf2hi">Tags <span class="hint svelte-1gmf2hi">(comma-separated)</span></label> <input id="tags" type="text" placeholder="e.g. backend, auth, bug" class="svelte-1gmf2hi"/></div> <div class="actions svelte-1gmf2hi"><button type="button" class="btn-cancel svelte-1gmf2hi">Cancel</button> <button type="submit" class="btn-save svelte-1gmf2hi"> </button></div></form> <!></div></div>');function wa(e,t){$e(t,!0);let n=ci(t,"defaultStatus",3,"todo"),r=j(""),s=j(""),i=j("medium"),a=j("todo"),l=j(""),o=j(Ye([]));gn(()=>{var D,L,$,ie,ee;if(g(r,((D=t.task)==null?void 0:D.title)??"",!0),g(s,((L=t.task)==null?void 0:L.description)??"",!0),g(i,(($=t.task)==null?void 0:$.priority)??"medium",!0),g(a,((ie=t.task)==null?void 0:ie.status)??n(),!0),(ee=t.task)!=null&&ee.tags)try{g(l,JSON.parse(t.task.tags).join(", "),!0)}catch{g(l,"")}else g(l,"")}),gn(()=>{t.task!==null?He.getDecisions(t.projectId).then(D=>{g(o,D,!0)}).catch(()=>{g(o,[],!0)}):g(o,[],!0)});const f=pt(()=>t.task!==null);function h(D){D.preventDefault();const L=v(r).trim();if(!L)return;const $=v(l).split(",").map(ie=>ie.trim()).filter(Boolean);t.onSave({title:L,description:v(s).trim(),priority:v(i),...v(f)?{status:v(a)}:{},tags:$})}function _(D){D.target.classList.contains("modal-backdrop")&&t.onClose()}function p(D){D.key==="Escape"&&t.onClose()}var w=ya();Le("keydown",_n,p);var c=E(w),m=E(c),d=E(m),y=E(d),k=E(y),N=S(y,2);{var M=D=>{var L=va(),$=E(L);te(()=>z($,t.task.short_id)),O(D,L)};G(N,D=>{var L;(L=t.task)!=null&&L.short_id&&D(M)})}var q=S(d,2),ne=S(m,2),C=E(ne),K=S(E(C),2);Yr(K);var H=S(C,2),wt=S(E(H),2),tt=S(H,2),bt=E(tt),rn=S(E(bt),2);Lt(rn,21,()=>na,rr,(D,L)=>{var $=da(),ie=E($),ee={};te(()=>{z(ie,v(L)),ee!==(ee=v(L))&&($.value=($.__value=v(L))??"")}),O(D,$)});var b=S(bt,2);{var F=D=>{var L=ha(),$=S(E(L),2),ie=E($);ie.value=ie.__value="todo";var ee=S(ie);ee.value=ee.__value="in_progress";var kt=S(ee);kt.value=kt.__value="blocked";var Et=S(kt);Et.value=Et.__value="done";var sn=S(Et);sn.value=sn.__value="cancelled",wr($,()=>v(a),an=>g(a,an)),O(D,L)};G(b,D=>{v(f)&&D(F)})}var re=S(tt,2),Q=S(E(re),2),zt=S(re,2),ar=E(zt),vi=S(ar,2),di=E(vi),hi=S(ne,2);{var _i=D=>{var L=ma(),$=S(E(L),2);Lt($,21,()=>v(o),ie=>ie.id,(ie,ee)=>{var kt=ga(),Et=E(kt),sn=E(Et),an=S(Et,2),pi=E(an),lr=S(an,2);{var gi=nt=>{var Tt=_a(),ln=E(Tt);te(()=>z(ln,v(ee).reasoning)),O(nt,Tt)};G(lr,nt=>{v(ee).reasoning&&nt(gi)})}var mi=S(lr,2);{var yi=nt=>{const Tt=pt(()=>(()=>{try{return JSON.parse(v(ee).alternatives)}catch{return null}})());var ln=nr(),wi=Jt(ln);{var bi=Tn=>{var or=pa(),ki=E(or);te(Ei=>z(ki,`Alternatives: ${Ei??""}`),[()=>v(Tt).join(", ")]),O(Tn,or)};G(wi,Tn=>{v(Tt)&&v(Tt).length>0&&Tn(bi)})}O(nt,ln)};G(mi,nt=>{v(ee).alternatives&&nt(yi)})}te(()=>{z(sn,v(ee).title),z(pi,v(ee).decision)}),O(ie,kt)}),O(D,L)};G(hi,D=>{v(f)&&v(o).length>0&&D(_i)})}te(()=>{z(k,v(f)?"Edit Task":"New Task"),z(di,v(f)?"Save":"Create")}),fe("click",w,_),fe("click",q,function(...D){var L;(L=t.onClose)==null||L.apply(this,D)}),Le("submit",ne,h),dn(K,()=>v(r),D=>g(r,D)),dn(wt,()=>v(s),D=>g(s,D)),wr(rn,()=>v(i),D=>g(i,D)),dn(Q,()=>v(l),D=>g(l,D)),fe("click",ar,function(...D){var L;(L=t.onClose)==null||L.apply(this,D)}),O(e,w),et()}qt(["click"]);var ba=I('<div class="modal-backdrop svelte-1efofyg"><div class="dialog svelte-1efofyg"><h3 class="svelte-1efofyg"> </h3> <p class="svelte-1efofyg"> </p> <div class="actions svelte-1efofyg"><button class="btn-cancel svelte-1efofyg">Cancel</button> <button class="btn-confirm svelte-1efofyg"> </button></div></div></div>');function ka(e,t){$e(t,!0);let n=ci(t,"confirmLabel",3,"Delete");function r(m){m.target.classList.contains("modal-backdrop")&&t.onCancel()}function s(m){m.key==="Escape"&&t.onCancel()}var i=ba();Le("keydown",_n,s);var a=E(i),l=E(a),o=E(l),f=S(l,2),h=E(f),_=S(f,2),p=E(_),w=S(p,2),c=E(w);te(()=>{z(o,t.title),z(h,t.message),z(c,n())}),fe("click",i,r),fe("click",p,function(...m){var d;(d=t.onCancel)==null||d.apply(this,m)}),fe("click",w,function(...m){var d;(d=t.onConfirm)==null||d.apply(this,m)}),O(e,i),et()}qt(["click"]);var Ea=I('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),Ta=I('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),Sa=I('<div class="board svelte-x7v2jt"></div>'),xa=I('<div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function Ca(e,t){$e(t,!0);let n=j(Ye([])),r=j(!0),s=j(null),i=j(!1),a=j(null),l=j("todo"),o=j(!1),f=j(null),h=j(null);const _=pt(()=>ta.map(b=>({...b,tasks:v(n).filter(F=>F.status===b.status)})));async function p(){g(r,!0),g(s,null);try{g(n,await He.getTasks(t.project.id),!0)}catch(b){g(s,b.message,!0)}finally{g(r,!1)}}gn(()=>{t.project.id,p()});function w(b,F){g(h,F,!0),b.dataTransfer&&(b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/plain",F.id))}async function c(b){if(!v(h)||v(h).status===b){g(h,null);return}const F=v(h),re=F.status;g(h,null);const Q=v(n).findIndex(zt=>zt.id===F.id);Q!==-1&&(v(n)[Q]={...v(n)[Q],status:b});try{await He.updateTask(F.id,{status:b})}catch(zt){Q!==-1&&(v(n)[Q]={...v(n)[Q],status:re}),g(s,zt.message,!0)}}function m(b){g(a,null),g(l,b,!0),g(i,!0)}function d(b){g(a,b,!0),g(i,!0)}async function y(b){try{if(v(a)){const F=await He.updateTask(v(a).id,{title:b.title,description:b.description||null,priority:b.priority,status:b.status,tags:b.tags.length>0?b.tags:null}),re=v(n).findIndex(Q=>Q.id===v(a).id);re!==-1&&(v(n)[re]=F)}else{const F=await He.createTask(t.project.id,{title:b.title,description:b.description||void 0,priority:b.priority,tags:b.tags.length>0?b.tags:void 0});g(n,[F,...v(n)],!0)}g(i,!1),g(a,null)}catch(F){g(s,F.message,!0)}}function k(b){g(f,b,!0),g(o,!0)}async function N(){if(v(f))try{await He.deleteTask(v(f).id),g(n,v(n).filter(b=>b.id!==v(f).id&&b.parent_task_id!==v(f).id),!0),g(o,!1),g(f,null)}catch(b){g(s,b.message,!0)}}var M=xa(),q=Jt(M),ne=E(q);{var C=b=>{var F=Ea();O(b,F)},K=b=>{var F=Ta(),re=E(F),Q=S(re);te(()=>z(re,`${v(s)??""} `)),fe("click",Q,()=>{g(s,null),p()}),O(b,F)},H=b=>{var F=Sa();Lt(F,21,()=>v(_),re=>re.status,(re,Q)=>{ca(re,{get status(){return v(Q).status},get label(){return v(Q).label},get tasks(){return v(Q).tasks},onEdit:d,onDelete:k,onDragStart:w,onDrop:c,onAddTask:m})}),O(b,F)};G(ne,b=>{v(r)?b(C):v(s)?b(K,1):b(H,!1)})}var wt=S(q,2);{var tt=b=>{wa(b,{get task(){return v(a)},get projectId(){return t.project.id},get defaultStatus(){return v(l)},onSave:y,onClose:()=>{g(i,!1),g(a,null)}})};G(wt,b=>{v(i)&&b(tt)})}var bt=S(wt,2);{var rn=b=>{ka(b,{title:"Delete Task",get message(){return`Are you sure you want to delete "${v(f).title??""}"? This cannot be undone.`},onConfirm:N,onCancel:()=>{g(o,!1),g(f,null)}})};G(bt,b=>{v(o)&&v(f)&&b(rn)})}O(e,M),et()}qt(["click"]);var Da=I('<div class="loading svelte-1n46o8q">Loading projects...</div>'),Aa=I('<div class="error svelte-1n46o8q"> </div>'),Pa=I('<div class="empty svelte-1n46o8q"><h2 class="svelte-1n46o8q">No projects yet</h2> <p class="svelte-1n46o8q">Create a project using mindpm MCP tools to get started.</p></div>'),ja=I("<!> <!>",1);function Oa(e,t){$e(t,!0);let n=j(Ye([])),r=j(null),s=j(!0),i=j(null);const a=pt(()=>v(n).find(d=>d.id===v(r))??null);async function l(){try{if(g(n,await He.getProjects(),!0),v(n).length>0&&!v(r)){const d=new URLSearchParams(window.location.search).get("project"),y=d?v(n).find(k=>k.id===d||k.name===d):null;g(r,y?y.id:v(n)[0].id,!0)}}catch(d){g(i,d.message,!0)}finally{g(s,!1)}}function o(d){g(r,d,!0)}async function f(d,y){try{await He.updateProject(d,{name:y});const k=v(n).findIndex(N=>N.id===d);k!==-1&&(v(n)[k]={...v(n)[k],name:y})}catch(k){g(i,k.message,!0)}}gn(()=>{l()});var h=nr(),_=Jt(h);{var p=d=>{var y=Da();O(d,y)},w=d=>{var y=Aa(),k=E(y);te(()=>z(k,v(i))),O(d,y)},c=d=>{var y=Pa();O(d,y)},m=d=>{var y=ja(),k=Jt(y);ea(k,{get projects(){return v(n)},get selectedId(){return v(r)},onSelect:o,onRenamed:f});var N=S(k,2);{var M=q=>{Ca(q,{get project(){return v(a)}})};G(N,q=>{v(a)&&q(M)})}O(d,y)};G(_,d=>{v(s)?d(p):v(i)?d(w,1):v(n).length===0?d(c,2):d(m,!1)})}O(e,h),et()}Bs(Oa,{target:document.getElementById("app")});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.toolbar.svelte-1kanzy0{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--primary);color:#fff;flex-shrink:0}.brand.svelte-1kanzy0{font-weight:700;font-size:1.2rem;letter-spacing:-.5px}.project-area.svelte-1kanzy0{display:flex;align-items:center;gap:8px}select.svelte-1kanzy0{padding:6px 10px;border-radius:var(--radius-sm);border:none;background:#fff3;color:#fff;font-weight:600;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}select.svelte-1kanzy0 option:where(.svelte-1kanzy0){color:var(--text);background:#fff}.rename-btn.svelte-1kanzy0{background:#fff3;border:none;color:#fff;border-radius:var(--radius-sm);padding:4px 8px;font-size:.9rem}.rename-btn.svelte-1kanzy0:hover{background:#ffffff59}.rename-input.svelte-1kanzy0{padding:4px 8px;border-radius:var(--radius-sm);border:2px solid white;background:#ffffffe6;color:var(--text);font-weight:600;width:200px}.card.svelte-35ep21{background:var(--surface);border-radius:var(--radius);padding:10px;box-shadow:var(--card-shadow);cursor:grab;transition:box-shadow .15s}.card.svelte-35ep21:hover{box-shadow:var(--card-shadow-hover)}.card.dragging.svelte-35ep21{opacity:.5}.card-header.svelte-35ep21{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.card-header-right.svelte-35ep21{display:flex;align-items:center;gap:4px}.task-id.svelte-35ep21{font-size:.65rem;color:var(--text-muted);font-family:monospace;opacity:.7}.priority-badge.svelte-35ep21{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:3px;color:#fff;letter-spacing:.5px}.priority-critical.svelte-35ep21{background:var(--priority-critical)}.priority-high.svelte-35ep21{background:var(--priority-high);color:#333}.priority-medium.svelte-35ep21{background:var(--priority-medium)}.priority-low.svelte-35ep21{background:var(--priority-low);color:#333}.delete-btn.svelte-35ep21{background:none;border:none;color:var(--text-muted);font-size:1.2rem;line-height:1;padding:0 4px;opacity:0;transition:opacity .15s}.card.svelte-35ep21:hover .delete-btn:where(.svelte-35ep21){opacity:1}.delete-btn.svelte-35ep21:hover{color:var(--danger)}.card-title.svelte-35ep21{font-size:.9rem;font-weight:500;word-break:break-word}.card-desc.svelte-35ep21{font-size:.8rem;color:var(--text-muted);margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-tags.svelte-35ep21{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.tag.svelte-35ep21{font-size:.7rem;background:var(--bg);color:var(--text-muted);padding:2px 6px;border-radius:3px}.column.svelte-zswfgn{background:var(--column-bg);border-radius:var(--radius);width:280px;min-width:280px;max-height:calc(100vh - 70px);display:flex;flex-direction:column;transition:background-color .15s}.column.drag-over.svelte-zswfgn{background:#d5dbe3}.column-header.svelte-zswfgn{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.column-header.svelte-zswfgn h3:where(.svelte-zswfgn){font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.count.svelte-zswfgn{font-weight:400;color:var(--text-muted);margin-left:4px}.add-btn.svelte-zswfgn{background:#00000014;border:none;border-radius:var(--radius-sm);width:28px;height:28px;font-size:1.2rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.add-btn.svelte-zswfgn:hover{background:#00000026;color:var(--text)}.card-list.svelte-zswfgn{padding:0 8px 8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.modal-backdrop.svelte-1gmf2hi{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-1gmf2hi{background:var(--surface);border-radius:var(--radius);width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:24px}.modal-title.svelte-1gmf2hi{display:flex;align-items:baseline;gap:10px}.modal-task-id.svelte-1gmf2hi{font-size:.75rem;font-family:monospace;color:var(--text-muted);opacity:.8}.modal-header.svelte-1gmf2hi{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header.svelte-1gmf2hi h2:where(.svelte-1gmf2hi){font-size:1.2rem;font-weight:600}.close-btn.svelte-1gmf2hi{background:none;border:none;font-size:1.5rem;color:var(--text-muted);padding:0 4px}.close-btn.svelte-1gmf2hi:hover{color:var(--text)}.field.svelte-1gmf2hi{margin-bottom:16px;flex:1}label.svelte-1gmf2hi{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.hint.svelte-1gmf2hi{font-weight:400;text-transform:none;letter-spacing:0}input.svelte-1gmf2hi,textarea.svelte-1gmf2hi,select.svelte-1gmf2hi{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}input.svelte-1gmf2hi:focus,textarea.svelte-1gmf2hi:focus,select.svelte-1gmf2hi:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #0079bf33}textarea.svelte-1gmf2hi{resize:vertical}.row.svelte-1gmf2hi{display:flex;gap:12px}.actions.svelte-1gmf2hi{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn-cancel.svelte-1gmf2hi,.btn-save.svelte-1gmf2hi{padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;border:none}.btn-cancel.svelte-1gmf2hi{background:var(--bg);color:var(--text-muted)}.btn-cancel.svelte-1gmf2hi:hover{background:var(--border)}.btn-save.svelte-1gmf2hi{background:var(--primary);color:#fff}.btn-save.svelte-1gmf2hi:hover{background:var(--primary-hover)}.decisions-section.svelte-1gmf2hi{margin-top:24px;border-top:1px solid var(--border);padding-top:16px}.decisions-heading.svelte-1gmf2hi{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.decisions-list.svelte-1gmf2hi{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.decision-item.svelte-1gmf2hi{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.decision-title.svelte-1gmf2hi{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:4px}.decision-body.svelte-1gmf2hi{font-size:.82rem;color:var(--text);line-height:1.4}.decision-reasoning.svelte-1gmf2hi{font-size:.78rem;color:var(--text-muted);margin-top:4px;line-height:1.4;font-style:italic}.decision-alts.svelte-1gmf2hi{font-size:.78rem;color:var(--text-muted);margin-top:4px}.modal-backdrop.svelte-1efofyg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog.svelte-1efofyg{background:var(--surface);border-radius:var(--radius);padding:24px;width:360px;max-width:90vw}h3.svelte-1efofyg{font-size:1.1rem;margin-bottom:8px}p.svelte-1efofyg{color:var(--text-muted);font-size:.9rem;margin-bottom:20px}.actions.svelte-1efofyg{display:flex;justify-content:flex-end;gap:8px}.btn-cancel.svelte-1efofyg,.btn-confirm.svelte-1efofyg{padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;border:none}.btn-cancel.svelte-1efofyg{background:var(--bg);color:var(--text-muted)}.btn-cancel.svelte-1efofyg:hover{background:var(--border)}.btn-confirm.svelte-1efofyg{background:var(--danger);color:#fff}.btn-confirm.svelte-1efofyg:hover{background:var(--danger-hover)}.board-wrapper.svelte-x7v2jt{flex:1;overflow-x:auto;padding:16px}.board.svelte-x7v2jt{display:flex;gap:12px;align-items:flex-start;min-height:calc(100vh - 100px)}.board-message.svelte-x7v2jt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-muted);font-size:1rem}.board-message.error.svelte-x7v2jt{color:var(--danger)}.board-message.svelte-x7v2jt button:where(.svelte-x7v2jt){padding:6px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600}.loading.svelte-1n46o8q,.error.svelte-1n46o8q,.empty.svelte-1n46o8q{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:8px}.error.svelte-1n46o8q{color:var(--danger)}.empty.svelte-1n46o8q h2:where(.svelte-1n46o8q){font-size:1.5rem;font-weight:600}.empty.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--text-muted)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f6f8;--surface: #ffffff;--border: #dfe1e6;--text: #172b4d;--text-muted: #5e6c84;--primary: #0079bf;--primary-hover: #026aa7;--danger: #eb5a46;--danger-hover: #cf513d;--priority-critical: #eb5a46;--priority-high: #f2d600;--priority-medium: #61bd4f;--priority-low: #c1c7d0;--column-bg: #ebecf0;--card-shadow: 0 1px 2px rgba(9, 30, 66, .15);--card-shadow-hover: 0 4px 8px rgba(9, 30, 66, .2);--radius: 6px;--radius-sm: 4px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}#app{min-height:100vh;display:flex;flex-direction:column}
|
package/dist/ui/index.html
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>mindpm - Kanban</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-BrgskvYb.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="/assets/index-jNPGblW3.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="app"></div>
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.toolbar.svelte-1kanzy0{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--primary);color:#fff;flex-shrink:0}.brand.svelte-1kanzy0{font-weight:700;font-size:1.2rem;letter-spacing:-.5px}.project-area.svelte-1kanzy0{display:flex;align-items:center;gap:8px}select.svelte-1kanzy0{padding:6px 10px;border-radius:var(--radius-sm);border:none;background:#fff3;color:#fff;font-weight:600;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}select.svelte-1kanzy0 option:where(.svelte-1kanzy0){color:var(--text);background:#fff}.rename-btn.svelte-1kanzy0{background:#fff3;border:none;color:#fff;border-radius:var(--radius-sm);padding:4px 8px;font-size:.9rem}.rename-btn.svelte-1kanzy0:hover{background:#ffffff59}.rename-input.svelte-1kanzy0{padding:4px 8px;border-radius:var(--radius-sm);border:2px solid white;background:#ffffffe6;color:var(--text);font-weight:600;width:200px}.card.svelte-35ep21{background:var(--surface);border-radius:var(--radius);padding:10px;box-shadow:var(--card-shadow);cursor:grab;transition:box-shadow .15s}.card.svelte-35ep21:hover{box-shadow:var(--card-shadow-hover)}.card.dragging.svelte-35ep21{opacity:.5}.card-header.svelte-35ep21{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.priority-badge.svelte-35ep21{font-size:.65rem;font-weight:700;text-transform:uppercase;padding:2px 6px;border-radius:3px;color:#fff;letter-spacing:.5px}.priority-critical.svelte-35ep21{background:var(--priority-critical)}.priority-high.svelte-35ep21{background:var(--priority-high);color:#333}.priority-medium.svelte-35ep21{background:var(--priority-medium)}.priority-low.svelte-35ep21{background:var(--priority-low);color:#333}.delete-btn.svelte-35ep21{background:none;border:none;color:var(--text-muted);font-size:1.2rem;line-height:1;padding:0 4px;opacity:0;transition:opacity .15s}.card.svelte-35ep21:hover .delete-btn:where(.svelte-35ep21){opacity:1}.delete-btn.svelte-35ep21:hover{color:var(--danger)}.card-title.svelte-35ep21{font-size:.9rem;font-weight:500;word-break:break-word}.card-desc.svelte-35ep21{font-size:.8rem;color:var(--text-muted);margin-top:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-tags.svelte-35ep21{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.tag.svelte-35ep21{font-size:.7rem;background:var(--bg);color:var(--text-muted);padding:2px 6px;border-radius:3px}.column.svelte-zswfgn{background:var(--column-bg);border-radius:var(--radius);width:280px;min-width:280px;max-height:calc(100vh - 70px);display:flex;flex-direction:column;transition:background-color .15s}.column.drag-over.svelte-zswfgn{background:#d5dbe3}.column-header.svelte-zswfgn{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.column-header.svelte-zswfgn h3:where(.svelte-zswfgn){font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.count.svelte-zswfgn{font-weight:400;color:var(--text-muted);margin-left:4px}.add-btn.svelte-zswfgn{background:#00000014;border:none;border-radius:var(--radius-sm);width:28px;height:28px;font-size:1.2rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.add-btn.svelte-zswfgn:hover{background:#00000026;color:var(--text)}.card-list.svelte-zswfgn{padding:0 8px 8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.modal-backdrop.svelte-1gmf2hi{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-1gmf2hi{background:var(--surface);border-radius:var(--radius);width:520px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:24px}.modal-header.svelte-1gmf2hi{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header.svelte-1gmf2hi h2:where(.svelte-1gmf2hi){font-size:1.2rem;font-weight:600}.close-btn.svelte-1gmf2hi{background:none;border:none;font-size:1.5rem;color:var(--text-muted);padding:0 4px}.close-btn.svelte-1gmf2hi:hover{color:var(--text)}.field.svelte-1gmf2hi{margin-bottom:16px;flex:1}label.svelte-1gmf2hi{display:block;font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.hint.svelte-1gmf2hi{font-weight:400;text-transform:none;letter-spacing:0}input.svelte-1gmf2hi,textarea.svelte-1gmf2hi,select.svelte-1gmf2hi{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}input.svelte-1gmf2hi:focus,textarea.svelte-1gmf2hi:focus,select.svelte-1gmf2hi:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #0079bf33}textarea.svelte-1gmf2hi{resize:vertical}.row.svelte-1gmf2hi{display:flex;gap:12px}.actions.svelte-1gmf2hi{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn-cancel.svelte-1gmf2hi,.btn-save.svelte-1gmf2hi{padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;border:none}.btn-cancel.svelte-1gmf2hi{background:var(--bg);color:var(--text-muted)}.btn-cancel.svelte-1gmf2hi:hover{background:var(--border)}.btn-save.svelte-1gmf2hi{background:var(--primary);color:#fff}.btn-save.svelte-1gmf2hi:hover{background:var(--primary-hover)}.decisions-section.svelte-1gmf2hi{margin-top:24px;border-top:1px solid var(--border);padding-top:16px}.decisions-heading.svelte-1gmf2hi{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.decisions-list.svelte-1gmf2hi{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.decision-item.svelte-1gmf2hi{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px}.decision-title.svelte-1gmf2hi{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:4px}.decision-body.svelte-1gmf2hi{font-size:.82rem;color:var(--text);line-height:1.4}.decision-reasoning.svelte-1gmf2hi{font-size:.78rem;color:var(--text-muted);margin-top:4px;line-height:1.4;font-style:italic}.decision-alts.svelte-1gmf2hi{font-size:.78rem;color:var(--text-muted);margin-top:4px}.modal-backdrop.svelte-1efofyg{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog.svelte-1efofyg{background:var(--surface);border-radius:var(--radius);padding:24px;width:360px;max-width:90vw}h3.svelte-1efofyg{font-size:1.1rem;margin-bottom:8px}p.svelte-1efofyg{color:var(--text-muted);font-size:.9rem;margin-bottom:20px}.actions.svelte-1efofyg{display:flex;justify-content:flex-end;gap:8px}.btn-cancel.svelte-1efofyg,.btn-confirm.svelte-1efofyg{padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;border:none}.btn-cancel.svelte-1efofyg{background:var(--bg);color:var(--text-muted)}.btn-cancel.svelte-1efofyg:hover{background:var(--border)}.btn-confirm.svelte-1efofyg{background:var(--danger);color:#fff}.btn-confirm.svelte-1efofyg:hover{background:var(--danger-hover)}.board-wrapper.svelte-x7v2jt{flex:1;overflow-x:auto;padding:16px}.board.svelte-x7v2jt{display:flex;gap:12px;align-items:flex-start;min-height:calc(100vh - 100px)}.board-message.svelte-x7v2jt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:200px;color:var(--text-muted);font-size:1rem}.board-message.error.svelte-x7v2jt{color:var(--danger)}.board-message.svelte-x7v2jt button:where(.svelte-x7v2jt){padding:6px 16px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600}.loading.svelte-1n46o8q,.error.svelte-1n46o8q,.empty.svelte-1n46o8q{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:8px}.error.svelte-1n46o8q{color:var(--danger)}.empty.svelte-1n46o8q h2:where(.svelte-1n46o8q){font-size:1.5rem;font-weight:600}.empty.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--text-muted)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f6f8;--surface: #ffffff;--border: #dfe1e6;--text: #172b4d;--text-muted: #5e6c84;--primary: #0079bf;--primary-hover: #026aa7;--danger: #eb5a46;--danger-hover: #cf513d;--priority-critical: #eb5a46;--priority-high: #f2d600;--priority-medium: #61bd4f;--priority-low: #c1c7d0;--column-bg: #ebecf0;--card-shadow: 0 1px 2px rgba(9, 30, 66, .15);--card-shadow-hover: 0 4px 8px rgba(9, 30, 66, .2);--radius: 6px;--radius-sm: 4px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh}button{cursor:pointer;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit}#app{min-height:100vh;display:flex;flex-direction:column}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var bi=Object.defineProperty;var or=e=>{throw TypeError(e)};var ki=(e,t,n)=>t in e?bi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Ae=(e,t,n)=>ki(e,typeof t!="symbol"?t+"":t,n),Sn=(e,t,n)=>t.has(e)||or("Cannot "+n);var u=(e,t,n)=>(Sn(e,t,"read from private field"),n?n.call(e):t.get(e)),A=(e,t,n)=>t.has(e)?or("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),x=(e,t,n,r)=>(Sn(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),H=(e,t,n)=>(Sn(e,t,"access private method"),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const An=!1;var Yn=Array.isArray,Ei=Array.prototype.indexOf,At=Array.prototype.includes,mn=Array.from,Ti=Object.defineProperty,Bt=Object.getOwnPropertyDescriptor,Si=Object.prototype,xi=Array.prototype,Ci=Object.getPrototypeOf,fr=Object.isExtensible;const Di=()=>{};function Ai(e){for(var t=0;t<e.length;t++)e[t]()}function kr(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}const W=2,Qt=4,yn=8,Er=1<<24,Fe=16,De=32,mt=64,Pn=128,me=512,V=1024,J=2048,Ce=4096,ve=8192,We=16384,dt=32768,Pt=65536,ur=1<<17,Tr=1<<18,Mt=1<<19,Pi=1<<20,Ke=1<<25,ht=65536,jn=1<<21,Wn=1<<22,Je=1<<23,Ht=Symbol("$state"),nt=new class extends Error{constructor(){super(...arguments);Ae(this,"name","StaleReactionError");Ae(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function ji(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Oi(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Ni(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Ri(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Mi(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Ii(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Li(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Fi(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function qi(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function zi(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Bi=1,Hi=2,Vi=16,Ki=1,Ui=2,U=Symbol(),Yi="http://www.w3.org/1999/xhtml";function Wi(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Ji(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Sr(e){return e===this.v}function Gi(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function xr(e){return!Gi(e,this.v)}let Xi=!1,we=null;function jt(e){we=e}function $e(e,t=!1,n){we={p:we,i:!1,c:null,e:null,s:e,x:null,l:null}}function et(e){var t=we,n=t.e;if(n!==null){t.e=null;for(var r of n)Wr(r)}return t.i=!0,we=t.p,{}}function Cr(){return!0}let rt=[];function Dr(){var e=rt;rt=[],Ai(e)}function Ge(e){if(rt.length===0&&!Vt){var t=rt;queueMicrotask(()=>{t===rt&&Dr()})}rt.push(e)}function Zi(){for(;rt.length>0;)Dr()}function Ar(e){var t=N;if(t===null)return D.f|=Je,e;if((t.f&dt)===0&&(t.f&Qt)===0)throw e;Ue(e,t)}function Ue(e,t){for(;t!==null;){if((t.f&Pn)!==0){if((t.f&dt)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Qi=-7169;function q(e,t){e.f=e.f&Qi|t}function Jn(e){(e.f&me)!==0||e.deps===null?q(e,V):q(e,Ce)}function Pr(e){if(e!==null)for(const t of e)(t.f&W)===0||(t.f&ht)===0||(t.f^=ht,Pr(t.deps))}function jr(e,t,n){(e.f&J)!==0?t.add(e):(e.f&Ce)!==0&&n.add(e),Pr(e.deps),q(e,V)}const an=new Set;let S=null,vn=null,Y=null,ie=[],wn=null,On=!1,Vt=!1;var kt,Et,at,Tt,Jt,Gt,lt,Re,St,de,Nn,Rn,Mn,Or;const sr=class sr{constructor(){A(this,de);Ae(this,"current",new Map);Ae(this,"previous",new Map);A(this,kt,new Set);A(this,Et,new Set);A(this,at,0);A(this,Tt,0);A(this,Jt,null);A(this,Gt,new Set);A(this,lt,new Set);A(this,Re,new Map);Ae(this,"is_fork",!1);A(this,St,!1)}skip_effect(t){u(this,Re).has(t)||u(this,Re).set(t,{d:[],m:[]})}unskip_effect(t){var n=u(this,Re).get(t);if(n){u(this,Re).delete(t);for(var r of n.d)q(r,J),Se(r);for(r of n.m)q(r,Ce),Se(r)}}process(t){var s;ie=[],this.apply();var n=[],r=[];for(const i of t)H(this,de,Rn).call(this,i,n,r);if(H(this,de,Nn).call(this)){H(this,de,Mn).call(this,r),H(this,de,Mn).call(this,n);for(const[i,a]of u(this,Re))Ir(i,a)}else{for(const i of u(this,kt))i();u(this,kt).clear(),u(this,at)===0&&H(this,de,Or).call(this),vn=this,S=null,cr(r),cr(n),vn=null,(s=u(this,Jt))==null||s.resolve()}Y=null}capture(t,n){n!==U&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&Je)===0&&(this.current.set(t,t.v),Y==null||Y.set(t,t.v))}activate(){S=this,this.apply()}deactivate(){S===this&&(S=null,Y=null)}flush(){if(this.activate(),ie.length>0){if(Nr(),S!==null&&S!==this)return}else u(this,at)===0&&this.process([]);this.deactivate()}discard(){for(const t of u(this,Et))t(this);u(this,Et).clear()}increment(t){x(this,at,u(this,at)+1),t&&x(this,Tt,u(this,Tt)+1)}decrement(t){x(this,at,u(this,at)-1),t&&x(this,Tt,u(this,Tt)-1),!u(this,St)&&(x(this,St,!0),Ge(()=>{x(this,St,!1),H(this,de,Nn).call(this)?ie.length>0&&this.flush():this.revive()}))}revive(){for(const t of u(this,Gt))u(this,lt).delete(t),q(t,J),Se(t);for(const t of u(this,lt))q(t,Ce),Se(t);this.flush()}oncommit(t){u(this,kt).add(t)}ondiscard(t){u(this,Et).add(t)}settled(){return(u(this,Jt)??x(this,Jt,kr())).promise}static ensure(){if(S===null){const t=S=new sr;an.add(S),Vt||Ge(()=>{S===t&&t.flush()})}return S}apply(){}};kt=new WeakMap,Et=new WeakMap,at=new WeakMap,Tt=new WeakMap,Jt=new WeakMap,Gt=new WeakMap,lt=new WeakMap,Re=new WeakMap,St=new WeakMap,de=new WeakSet,Nn=function(){return this.is_fork||u(this,Tt)>0},Rn=function(t,n,r){t.f^=V;for(var s=t.first;s!==null;){var i=s.f,a=(i&(De|mt))!==0,l=a&&(i&V)!==0,o=l||(i&ve)!==0||u(this,Re).has(s);if(!o&&s.fn!==null){a?s.f^=V:(i&Qt)!==0?n.push(s):en(s)&&((i&Fe)!==0&&u(this,lt).add(s),Nt(s));var f=s.first;if(f!==null){s=f;continue}}for(;s!==null;){var h=s.next;if(h!==null){s=h;break}s=s.parent}}},Mn=function(t){for(var n=0;n<t.length;n+=1)jr(t[n],u(this,Gt),u(this,lt))},Or=function(){var s;if(an.size>1){this.previous.clear();var t=Y,n=!0;for(const i of an){if(i===this){n=!1;continue}const a=[];for(const[o,f]of this.current){if(i.current.has(o))if(n&&f!==i.current.get(o))i.current.set(o,f);else continue;a.push(o)}if(a.length===0)continue;const l=[...i.current.keys()].filter(o=>!this.current.has(o));if(l.length>0){var r=ie;ie=[];const o=new Set,f=new Map;for(const h of a)Rr(h,l,o,f);if(ie.length>0){S=i,i.apply();for(const h of ie)H(s=i,de,Rn).call(s,h,[],[]);i.deactivate()}ie=r}}S=null,Y=t}an.delete(this)};let Xe=sr;function $i(e){var t=Vt;Vt=!0;try{for(var n;;){if(Zi(),ie.length===0&&(S==null||S.flush(),ie.length===0))return wn=null,n;Nr()}}finally{Vt=t}}function Nr(){On=!0;var e=null;try{for(var t=0;ie.length>0;){var n=Xe.ensure();if(t++>1e3){var r,s;es()}n.process(ie),Ze.clear()}}finally{ie=[],On=!1,wn=null}}function es(){try{Ii()}catch(e){Ue(e,wn)}}let ke=null;function cr(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(We|ve))===0&&en(r)&&(ke=new Set,Nt(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Xr(r),(ke==null?void 0:ke.size)>0)){Ze.clear();for(const s of ke){if((s.f&(We|ve))!==0)continue;const i=[s];let a=s.parent;for(;a!==null;)ke.has(a)&&(ke.delete(a),i.push(a)),a=a.parent;for(let l=i.length-1;l>=0;l--){const o=i[l];(o.f&(We|ve))===0&&Nt(o)}}ke.clear()}}ke=null}}function Rr(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&W)!==0?Rr(s,t,n,r):(i&(Wn|Fe))!==0&&(i&J)===0&&Mr(s,t,r)&&(q(s,J),Se(s))}}function Mr(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(At.call(t,s))return!0;if((s.f&W)!==0&&Mr(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function Se(e){var t=wn=e,n=t.b;if(n!=null&&n.is_pending&&(e.f&(Qt|yn|Er))!==0&&(e.f&dt)===0){n.defer_effect(e);return}for(;t.parent!==null;){t=t.parent;var r=t.f;if(On&&t===N&&(r&Fe)!==0&&(r&Tr)===0&&(r&dt)!==0)return;if((r&(mt|De))!==0){if((r&V)===0)return;t.f^=V}}ie.push(t)}function Ir(e,t){if(!((e.f&De)!==0&&(e.f&V)!==0)){(e.f&J)!==0?t.d.push(e):(e.f&Ce)!==0&&t.m.push(e),q(e,V);for(var n=e.first;n!==null;)Ir(n,t),n=n.next}}function ts(e){let t=0,n=pt(0),r;return()=>{Zn()&&(v(n),Jr(()=>(t===0&&(r=li(()=>e(()=>Kt(n)))),t+=1,()=>{Ge(()=>{t-=1,t===0&&(r==null||r(),r=void 0,Kt(n))})})))}}var ns=Pt|Mt;function rs(e,t,n,r){new is(e,t,n,r)}var pe,Un,Pe,ot,re,je,ue,Ee,Me,ft,Ve,xt,Ct,Dt,Ie,pn,B,ss,as,ls,In,on,fn,Ln;class is{constructor(t,n,r,s){A(this,B);Ae(this,"parent");Ae(this,"is_pending",!1);Ae(this,"transform_error");A(this,pe);A(this,Un,null);A(this,Pe);A(this,ot);A(this,re);A(this,je,null);A(this,ue,null);A(this,Ee,null);A(this,Me,null);A(this,ft,0);A(this,Ve,0);A(this,xt,!1);A(this,Ct,new Set);A(this,Dt,new Set);A(this,Ie,null);A(this,pn,ts(()=>(x(this,Ie,pt(u(this,ft))),()=>{x(this,Ie,null)})));var i;x(this,pe,t),x(this,Pe,n),x(this,ot,a=>{var l=N;l.b=this,l.f|=Pn,r(a)}),this.parent=N.b,this.transform_error=s??((i=this.parent)==null?void 0:i.transform_error)??(a=>a),x(this,re,$n(()=>{H(this,B,In).call(this)},ns))}defer_effect(t){jr(t,u(this,Ct),u(this,Dt))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!u(this,Pe).pending}update_pending_count(t){H(this,B,Ln).call(this,t),x(this,ft,u(this,ft)+t),!(!u(this,Ie)||u(this,xt))&&(x(this,xt,!0),Ge(()=>{x(this,xt,!1),u(this,Ie)&&Ot(u(this,Ie),u(this,ft))}))}get_effect_pending(){return u(this,pn).call(this),v(u(this,Ie))}error(t){var n=u(this,Pe).onerror;let r=u(this,Pe).failed;if(!n&&!r)throw t;u(this,je)&&(le(u(this,je)),x(this,je,null)),u(this,ue)&&(le(u(this,ue)),x(this,ue,null)),u(this,Ee)&&(le(u(this,Ee)),x(this,Ee,null));var s=!1,i=!1;const a=()=>{if(s){Ji();return}s=!0,i&&zi(),u(this,Ee)!==null&&ct(u(this,Ee),()=>{x(this,Ee,null)}),H(this,B,fn).call(this,()=>{Xe.ensure(),H(this,B,In).call(this)})},l=o=>{try{i=!0,n==null||n(o,a),i=!1}catch(f){Ue(f,u(this,re)&&u(this,re).parent)}r&&x(this,Ee,H(this,B,fn).call(this,()=>{Xe.ensure();try{return ge(()=>{var f=N;f.b=this,f.f|=Pn,r(u(this,pe),()=>o,()=>a)})}catch(f){return Ue(f,u(this,re).parent),null}}))};Ge(()=>{var o;try{o=this.transform_error(t)}catch(f){Ue(f,u(this,re)&&u(this,re).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(l,f=>Ue(f,u(this,re)&&u(this,re).parent)):l(o)})}}pe=new WeakMap,Un=new WeakMap,Pe=new WeakMap,ot=new WeakMap,re=new WeakMap,je=new WeakMap,ue=new WeakMap,Ee=new WeakMap,Me=new WeakMap,ft=new WeakMap,Ve=new WeakMap,xt=new WeakMap,Ct=new WeakMap,Dt=new WeakMap,Ie=new WeakMap,pn=new WeakMap,B=new WeakSet,ss=function(){try{x(this,je,ge(()=>u(this,ot).call(this,u(this,pe))))}catch(t){this.error(t)}},as=function(t){const n=u(this,Pe).failed;n&&x(this,Ee,ge(()=>{n(u(this,pe),()=>t,()=>()=>{})}))},ls=function(){const t=u(this,Pe).pending;t&&(this.is_pending=!0,x(this,ue,ge(()=>t(u(this,pe)))),Ge(()=>{var n=x(this,Me,document.createDocumentFragment()),r=Qe();n.append(r),x(this,je,H(this,B,fn).call(this,()=>(Xe.ensure(),ge(()=>u(this,ot).call(this,r))))),u(this,Ve)===0&&(u(this,pe).before(n),x(this,Me,null),ct(u(this,ue),()=>{x(this,ue,null)}),H(this,B,on).call(this))}))},In=function(){try{if(this.is_pending=this.has_pending_snippet(),x(this,Ve,0),x(this,ft,0),x(this,je,ge(()=>{u(this,ot).call(this,u(this,pe))})),u(this,Ve)>0){var t=x(this,Me,document.createDocumentFragment());$r(u(this,je),t);const n=u(this,Pe).pending;x(this,ue,ge(()=>n(u(this,pe))))}else H(this,B,on).call(this)}catch(n){this.error(n)}},on=function(){this.is_pending=!1;for(const t of u(this,Ct))q(t,J),Se(t);for(const t of u(this,Dt))q(t,Ce),Se(t);u(this,Ct).clear(),u(this,Dt).clear()},fn=function(t){var n=N,r=D,s=we;Ne(u(this,re)),be(u(this,re)),jt(u(this,re).ctx);try{return t()}catch(i){return Ar(i),null}finally{Ne(n),be(r),jt(s)}},Ln=function(t){var n;if(!this.has_pending_snippet()){this.parent&&H(n=this.parent,B,Ln).call(n,t);return}x(this,Ve,u(this,Ve)+t),u(this,Ve)===0&&(H(this,B,on).call(this),u(this,ue)&&ct(u(this,ue),()=>{x(this,ue,null)}),u(this,Me)&&(u(this,pe).before(u(this,Me)),x(this,Me,null)))};function os(e,t,n,r){const s=Gn;var i=e.filter(_=>!_.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var a=N,l=fs(),o=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(_=>_.promise)):null;function f(_){l();try{r(_)}catch(p){(a.f&We)===0&&Ue(p,a)}Fn()}if(n.length===0){o.then(()=>f(t.map(s)));return}function h(){l(),Promise.all(n.map(_=>cs(_))).then(_=>f([...t.map(s),..._])).catch(_=>Ue(_,a))}o?o.then(h):h()}function fs(){var e=N,t=D,n=we,r=S;return function(i=!0){Ne(e),be(t),jt(n),i&&(r==null||r.activate())}}function Fn(e=!0){Ne(null),be(null),jt(null),e&&(S==null||S.deactivate())}function us(){var e=N.b,t=S,n=e.is_rendered();return e.update_pending_count(1),t.increment(n),()=>{e.update_pending_count(-1),t.decrement(n)}}function Gn(e){var t=W|J,n=D!==null&&(D.f&W)!==0?D:null;return N!==null&&(N.f|=Mt),{ctx:we,deps:null,effects:null,equals:Sr,f:t,fn:e,reactions:null,rv:0,v:U,wv:0,parent:n??N,ac:null}}function cs(e,t,n){N===null&&ji();var s=void 0,i=pt(U),a=!D,l=new Map;return Cs(()=>{var p;var o=kr();s=o.promise;try{Promise.resolve(e()).then(o.resolve,o.reject).finally(Fn)}catch(w){o.reject(w),Fn()}var f=S;if(a){var h=us();(p=l.get(f))==null||p.reject(nt),l.delete(f),l.set(f,o)}const _=(w,c=void 0)=>{if(f.activate(),c)c!==nt&&(i.f|=Je,Ot(i,c));else{(i.f&Je)!==0&&(i.f^=Je),Ot(i,w);for(const[m,d]of l){if(l.delete(m),m===f)break;d.reject(nt)}}h&&h()};o.promise.then(_,w=>_(null,w||"unknown"))}),Qn(()=>{for(const o of l.values())o.reject(nt)}),new Promise(o=>{function f(h){function _(){h===s?o(i):f(s)}h.then(_,_)}f(s)})}function _t(e){const t=Gn(e);return ei(t),t}function vs(e){const t=Gn(e);return t.equals=xr,t}function ds(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)le(t[n])}}function hs(e){for(var t=e.parent;t!==null;){if((t.f&W)===0)return(t.f&We)===0?t:null;t=t.parent}return null}function Xn(e){var t,n=N;Ne(hs(e));try{e.f&=~ht,ds(e),t=ii(e)}finally{Ne(n)}return t}function Lr(e){var t=Xn(e);if(!e.equals(t)&&(e.wv=ni(),(!(S!=null&&S.is_fork)||e.deps===null)&&(e.v=t,e.deps===null))){q(e,V);return}gt||(Y!==null?(Zn()||S!=null&&S.is_fork)&&Y.set(e,t):Jn(e))}function _s(e){var t,n;if(e.effects!==null)for(const r of e.effects)(r.teardown||r.ac)&&((t=r.teardown)==null||t.call(r),(n=r.ac)==null||n.abort(nt),r.teardown=Di,r.ac=null,Wt(r,0),er(r))}function Fr(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&Nt(t)}let qn=new Set;const Ze=new Map;let qr=!1;function pt(e,t){var n={f:0,v:e,reactions:null,equals:Sr,rv:0,wv:0};return n}function O(e,t){const n=pt(e);return ei(n),n}function ps(e,t=!1,n=!0){const r=pt(e);return t||(r.equals=xr),r}function g(e,t,n=!1){D!==null&&(!xe||(D.f&ur)!==0)&&Cr()&&(D.f&(W|Fe|Wn|ur))!==0&&(ye===null||!At.call(ye,e))&&qi();let r=n?Ye(t):t;return Ot(e,r)}function Ot(e,t){if(!e.equals(t)){var n=e.v;gt?Ze.set(e,t):Ze.set(e,n),e.v=t;var r=Xe.ensure();if(r.capture(e,n),(e.f&W)!==0){const s=e;(e.f&J)!==0&&Xn(s),Jn(s)}e.wv=ni(),zr(e,J),N!==null&&(N.f&V)!==0&&(N.f&(De|mt))===0&&(_e===null?Ps([e]):_e.push(e)),!r.is_fork&&qn.size>0&&!qr&&gs()}return t}function gs(){qr=!1;for(const e of qn)(e.f&V)!==0&&q(e,Ce),en(e)&&Nt(e);qn.clear()}function Kt(e){g(e,e.v+1)}function zr(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,s=0;s<r;s++){var i=n[s],a=i.f,l=(a&J)===0;if(l&&q(i,t),(a&W)!==0){var o=i;Y==null||Y.delete(o),(a&ht)===0&&(a&me&&(i.f|=ht),zr(o,Ce))}else l&&((a&Fe)!==0&&ke!==null&&ke.add(i),Se(i))}}function Ye(e){if(typeof e!="object"||e===null||Ht in e)return e;const t=Ci(e);if(t!==Si&&t!==xi)return e;var n=new Map,r=Yn(e),s=O(0),i=vt,a=l=>{if(vt===i)return l();var o=D,f=vt;be(null),_r(i);var h=l();return be(o),_r(f),h};return r&&n.set("length",O(e.length)),new Proxy(e,{defineProperty(l,o,f){(!("value"in f)||f.configurable===!1||f.enumerable===!1||f.writable===!1)&&Li();var h=n.get(o);return h===void 0?a(()=>{var _=O(f.value);return n.set(o,_),_}):g(h,f.value,!0),!0},deleteProperty(l,o){var f=n.get(o);if(f===void 0){if(o in l){const h=a(()=>O(U));n.set(o,h),Kt(s)}}else g(f,U),Kt(s);return!0},get(l,o,f){var w;if(o===Ht)return e;var h=n.get(o),_=o in l;if(h===void 0&&(!_||(w=Bt(l,o))!=null&&w.writable)&&(h=a(()=>{var c=Ye(_?l[o]:U),m=O(c);return m}),n.set(o,h)),h!==void 0){var p=v(h);return p===U?void 0:p}return Reflect.get(l,o,f)},getOwnPropertyDescriptor(l,o){var f=Reflect.getOwnPropertyDescriptor(l,o);if(f&&"value"in f){var h=n.get(o);h&&(f.value=v(h))}else if(f===void 0){var _=n.get(o),p=_==null?void 0:_.v;if(_!==void 0&&p!==U)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return f},has(l,o){var p;if(o===Ht)return!0;var f=n.get(o),h=f!==void 0&&f.v!==U||Reflect.has(l,o);if(f!==void 0||N!==null&&(!h||(p=Bt(l,o))!=null&&p.writable)){f===void 0&&(f=a(()=>{var w=h?Ye(l[o]):U,c=O(w);return c}),n.set(o,f));var _=v(f);if(_===U)return!1}return h},set(l,o,f,h){var j;var _=n.get(o),p=o in l;if(r&&o==="length")for(var w=f;w<_.v;w+=1){var c=n.get(w+"");c!==void 0?g(c,U):w in l&&(c=a(()=>O(U)),n.set(w+"",c))}if(_===void 0)(!p||(j=Bt(l,o))!=null&&j.writable)&&(_=a(()=>O(void 0)),g(_,Ye(f)),n.set(o,_));else{p=_.v!==U;var m=a(()=>Ye(f));g(_,m)}var d=Reflect.getOwnPropertyDescriptor(l,o);if(d!=null&&d.set&&d.set.call(h,f),!p){if(r&&typeof o=="string"){var y=n.get("length"),k=Number(o);Number.isInteger(k)&&k>=y.v&&g(y,k+1)}Kt(s)}return!0},ownKeys(l){v(s);var o=Reflect.ownKeys(l).filter(_=>{var p=n.get(_);return p===void 0||p.v!==U});for(var[f,h]of n)h.v!==U&&!(f in l)&&o.push(f);return o},setPrototypeOf(){Fi()}})}function vr(e){try{if(e!==null&&typeof e=="object"&&Ht in e)return e[Ht]}catch{}return e}function ms(e,t){return Object.is(vr(e),vr(t))}var dn,Br,Hr,Vr;function ys(){if(dn===void 0){dn=window,Br=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Hr=Bt(t,"firstChild").get,Vr=Bt(t,"nextSibling").get,fr(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),fr(n)&&(n.__t=void 0)}}function Qe(e=""){return document.createTextNode(e)}function hn(e){return Hr.call(e)}function $t(e){return Vr.call(e)}function T(e,t){return hn(e)}function Yt(e,t=!1){{var n=hn(e);return n instanceof Comment&&n.data===""?$t(n):n}}function C(e,t=1,n=!1){let r=e;for(;t--;)r=$t(r);return r}function ws(e){e.textContent=""}function Kr(){return!1}function bs(e,t,n){return document.createElementNS(Yi,e,void 0)}function Ur(e,t){{const n=document.body;e.autofocus=!0,Ge(()=>{document.activeElement===n&&e.focus()})}}let dr=!1;function ks(){dr||(dr=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function bn(e){var t=D,n=N;be(null),Ne(null);try{return e()}finally{be(t),Ne(n)}}function Yr(e,t,n,r=n){e.addEventListener(t,()=>bn(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),ks()}function Es(e){N===null&&(D===null&&Mi(),Ri()),gt&&Ni()}function Ts(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function qe(e,t,n){var r=N;r!==null&&(r.f&ve)!==0&&(e|=ve);var s={ctx:we,deps:null,nodes:null,f:e|J|me,first:null,fn:t,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};if(n)try{Nt(s)}catch(l){throw le(s),l}else t!==null&&Se(s);var i=s;if(n&&i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&(i.f&Mt)===0&&(i=i.first,(e&Fe)!==0&&(e&Pt)!==0&&i!==null&&(i.f|=Pt)),i!==null&&(i.parent=r,r!==null&&Ts(i,r),D!==null&&(D.f&W)!==0&&(e&mt)===0)){var a=D;(a.effects??(a.effects=[])).push(i)}return s}function Zn(){return D!==null&&!xe}function Qn(e){const t=qe(yn,null,!1);return q(t,V),t.teardown=e,t}function _n(e){Es();var t=N.f,n=!D&&(t&De)!==0&&(t&dt)===0;if(n){var r=we;(r.e??(r.e=[])).push(e)}else return Wr(e)}function Wr(e){return qe(Qt|Pi,e,!1)}function Ss(e){Xe.ensure();const t=qe(mt|Mt,e,!0);return(n={})=>new Promise(r=>{n.outro?ct(t,()=>{le(t),r(void 0)}):(le(t),r(void 0))})}function xs(e){return qe(Qt,e,!1)}function Cs(e){return qe(Wn|Mt,e,!0)}function Jr(e,t=0){return qe(yn|t,e,!0)}function ae(e,t=[],n=[],r=[]){os(r,t,n,s=>{qe(yn,()=>e(...s.map(v)),!0)})}function $n(e,t=0){var n=qe(Fe|t,e,!0);return n}function ge(e){return qe(De|Mt,e,!0)}function Gr(e){var t=e.teardown;if(t!==null){const n=gt,r=D;hr(!0),be(null);try{t.call(null)}finally{hr(n),be(r)}}}function er(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&bn(()=>{s.abort(nt)});var r=n.next;(n.f&mt)!==0?n.parent=null:le(n,t),n=r}}function Ds(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&De)===0&&le(t),t=n}}function le(e,t=!0){var n=!1;(t||(e.f&Tr)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(As(e.nodes.start,e.nodes.end),n=!0),er(e,t&&!n),Wt(e,0),q(e,We);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();Gr(e);var s=e.parent;s!==null&&s.first!==null&&Xr(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function As(e,t){for(;e!==null;){var n=e===t?null:$t(e);e.remove(),e=n}}function Xr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function ct(e,t,n=!0){var r=[];Zr(e,r,!0);var s=()=>{n&&le(e),t&&t()},i=r.length;if(i>0){var a=()=>--i||s();for(var l of r)l.out(a)}else s()}function Zr(e,t,n){if((e.f&ve)===0){e.f^=ve;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next,a=(s.f&Pt)!==0||(s.f&De)!==0&&(e.f&Fe)!==0;Zr(s,t,a?n:!1),s=i}}}function tr(e){Qr(e,!0)}function Qr(e,t){if((e.f&ve)!==0){e.f^=ve,(e.f&V)===0&&(q(e,J),Se(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Pt)!==0||(n.f&De)!==0;Qr(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&a.in()}}function $r(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:$t(n);t.append(n),n=s}}let un=!1,gt=!1;function hr(e){gt=e}let D=null,xe=!1;function be(e){D=e}let N=null;function Ne(e){N=e}let ye=null;function ei(e){D!==null&&(ye===null?ye=[e]:ye.push(e))}let se=null,fe=0,_e=null;function Ps(e){_e=e}let ti=1,it=0,vt=it;function _r(e){vt=e}function ni(){return++ti}function en(e){var t=e.f;if((t&J)!==0)return!0;if(t&W&&(e.f&=~ht),(t&Ce)!==0){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(en(i)&&Lr(i),i.wv>e.wv)return!0}(t&me)!==0&&Y===null&&q(e,V)}return!1}function ri(e,t,n=!0){var r=e.reactions;if(r!==null&&!(ye!==null&&At.call(ye,e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&W)!==0?ri(i,t,!1):t===i&&(n?q(i,J):(i.f&V)!==0&&q(i,Ce),Se(i))}}function ii(e){var m;var t=se,n=fe,r=_e,s=D,i=ye,a=we,l=xe,o=vt,f=e.f;se=null,fe=0,_e=null,D=(f&(De|mt))===0?e:null,ye=null,jt(e.ctx),xe=!1,vt=++it,e.ac!==null&&(bn(()=>{e.ac.abort(nt)}),e.ac=null);try{e.f|=jn;var h=e.fn,_=h();e.f|=dt;var p=e.deps,w=S==null?void 0:S.is_fork;if(se!==null){var c;if(w||Wt(e,fe),p!==null&&fe>0)for(p.length=fe+se.length,c=0;c<se.length;c++)p[fe+c]=se[c];else e.deps=p=se;if(Zn()&&(e.f&me)!==0)for(c=fe;c<p.length;c++)((m=p[c]).reactions??(m.reactions=[])).push(e)}else!w&&p!==null&&fe<p.length&&(Wt(e,fe),p.length=fe);if(Cr()&&_e!==null&&!xe&&p!==null&&(e.f&(W|Ce|J))===0)for(c=0;c<_e.length;c++)ri(_e[c],e);if(s!==null&&s!==e){if(it++,s.deps!==null)for(let d=0;d<n;d+=1)s.deps[d].rv=it;if(t!==null)for(const d of t)d.rv=it;_e!==null&&(r===null?r=_e:r.push(..._e))}return(e.f&Je)!==0&&(e.f^=Je),_}catch(d){return Ar(d)}finally{e.f^=jn,se=t,fe=n,_e=r,D=s,ye=i,jt(a),xe=l,vt=o}}function js(e,t){let n=t.reactions;if(n!==null){var r=Ei.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(t.f&W)!==0&&(se===null||!At.call(se,t))){var i=t;(i.f&me)!==0&&(i.f^=me,i.f&=~ht),Jn(i),_s(i),Wt(i,0)}}function Wt(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)js(e,n[r])}function Nt(e){var t=e.f;if((t&We)===0){q(e,V);var n=N,r=un;N=e,un=!0;try{(t&(Fe|Er))!==0?Ds(e):er(e),Gr(e);var s=ii(e);e.teardown=typeof s=="function"?s:null,e.wv=ti;var i;An&&Xi&&(e.f&J)!==0&&e.deps}finally{un=r,N=n}}}async function Os(){await Promise.resolve(),$i()}function v(e){var t=e.f,n=(t&W)!==0;if(D!==null&&!xe){var r=N!==null&&(N.f&We)!==0;if(!r&&(ye===null||!At.call(ye,e))){var s=D.deps;if((D.f&jn)!==0)e.rv<it&&(e.rv=it,se===null&&s!==null&&s[fe]===e?fe++:se===null?se=[e]:se.push(e));else{(D.deps??(D.deps=[])).push(e);var i=e.reactions;i===null?e.reactions=[D]:At.call(i,D)||i.push(D)}}}if(gt&&Ze.has(e))return Ze.get(e);if(n){var a=e;if(gt){var l=a.v;return((a.f&V)===0&&a.reactions!==null||ai(a))&&(l=Xn(a)),Ze.set(a,l),l}var o=(a.f&me)===0&&!xe&&D!==null&&(un||(D.f&me)!==0),f=(a.f&dt)===0;en(a)&&(o&&(a.f|=me),Lr(a)),o&&!f&&(Fr(a),si(a))}if(Y!=null&&Y.has(e))return Y.get(e);if((e.f&Je)!==0)throw e.v;return e.v}function si(e){if(e.f|=me,e.deps!==null)for(const t of e.deps)(t.reactions??(t.reactions=[])).push(e),(t.f&W)!==0&&(t.f&me)===0&&(Fr(t),si(t))}function ai(e){if(e.v===U)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Ze.has(t)||(t.f&W)!==0&&ai(t))return!0;return!1}function li(e){var t=xe;try{return xe=!0,e()}finally{xe=t}}const Ns=["touchstart","touchmove"];function Rs(e){return Ns.includes(e)}const st=Symbol("events"),oi=new Set,zn=new Set;function Ms(e,t,n,r={}){function s(i){if(r.capture||Bn.call(t,i),!i.cancelBubble)return bn(()=>n==null?void 0:n.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?Ge(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Le(e,t,n,r,s){var i={capture:r,passive:s},a=Ms(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Qn(()=>{t.removeEventListener(e,a,i)})}function oe(e,t,n){(t[st]??(t[st]={}))[e]=n}function It(e){for(var t=0;t<e.length;t++)oi.add(e[t]);for(var n of zn)n(e)}let pr=null;function Bn(e){var d,y;var t=this,n=t.ownerDocument,r=e.type,s=((d=e.composedPath)==null?void 0:d.call(e))||[],i=s[0]||e.target;pr=e;var a=0,l=pr===e&&e[st];if(l){var o=s.indexOf(l);if(o!==-1&&(t===document||t===window)){e[st]=t;return}var f=s.indexOf(t);if(f===-1)return;o<=f&&(a=o)}if(i=s[a]||e.target,i!==t){Ti(e,"currentTarget",{configurable:!0,get(){return i||n}});var h=D,_=N;be(null),Ne(null);try{for(var p,w=[];i!==null;){var c=i.assignedSlot||i.parentNode||i.host||null;try{var m=(y=i[st])==null?void 0:y[r];m!=null&&(!i.disabled||e.target===i)&&m.call(i,e)}catch(k){p?w.push(k):p=k}if(e.cancelBubble||c===t||c===null)break;i=c}if(p){for(let k of w)queueMicrotask(()=>{throw k});throw p}}finally{e[st]=t,delete e.currentTarget,be(h),Ne(_)}}}var wr;const xn=((wr=globalThis==null?void 0:globalThis.window)==null?void 0:wr.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Is(e){return(xn==null?void 0:xn.createHTML(e))??e}function Ls(e){var t=bs("template");return t.innerHTML=Is(e.replaceAll("<!>","<!---->")),t.content}function Hn(e,t){var n=N;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function I(e,t){var n=(t&Ki)!==0,r=(t&Ui)!==0,s,i=!e.startsWith("<!>");return()=>{s===void 0&&(s=Ls(i?e:"<!>"+e),n||(s=hn(s)));var a=r||Br?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=hn(a),o=a.lastChild;Hn(l,o)}else Hn(a,a);return a}}function nr(){var e=document.createDocumentFragment(),t=document.createComment(""),n=Qe();return e.append(t,n),Hn(t,n),e}function R(e,t){e!==null&&e.before(t)}function z(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=n+"")}function Fs(e,t){return qs(e,t)}const ln=new Map;function qs(e,{target:t,anchor:n,props:r={},events:s,context:i,intro:a=!0,transformError:l}){ys();var o=void 0,f=Ss(()=>{var h=n??t.appendChild(Qe());rs(h,{pending:()=>{}},w=>{$e({});var c=we;i&&(c.c=i),s&&(r.$$events=s),o=e(w,r)||{},et()},l);var _=new Set,p=w=>{for(var c=0;c<w.length;c++){var m=w[c];if(!_.has(m)){_.add(m);var d=Rs(m);for(const j of[t,document]){var y=ln.get(j);y===void 0&&(y=new Map,ln.set(j,y));var k=y.get(m);k===void 0?(j.addEventListener(m,Bn,{passive:d}),y.set(m,1)):y.set(m,k+1)}}}};return p(mn(oi)),zn.add(p),()=>{var d;for(var w of _)for(const y of[t,document]){var c=ln.get(y),m=c.get(w);--m==0?(y.removeEventListener(w,Bn),c.delete(w),c.size===0&&ln.delete(y)):c.set(w,m)}zn.delete(p),h!==n&&((d=h.parentNode)==null||d.removeChild(h))}});return zs.set(o,f),o}let zs=new WeakMap;var Te,Oe,ce,ut,Xt,Zt,gn;class Bs{constructor(t,n=!0){Ae(this,"anchor");A(this,Te,new Map);A(this,Oe,new Map);A(this,ce,new Map);A(this,ut,new Set);A(this,Xt,!0);A(this,Zt,()=>{var t=S;if(u(this,Te).has(t)){var n=u(this,Te).get(t),r=u(this,Oe).get(n);if(r)tr(r),u(this,ut).delete(n);else{var s=u(this,ce).get(n);s&&(u(this,Oe).set(n,s.effect),u(this,ce).delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,a]of u(this,Te)){if(u(this,Te).delete(i),i===t)break;const l=u(this,ce).get(a);l&&(le(l.effect),u(this,ce).delete(a))}for(const[i,a]of u(this,Oe)){if(i===n||u(this,ut).has(i))continue;const l=()=>{if(Array.from(u(this,Te).values()).includes(i)){var f=document.createDocumentFragment();$r(a,f),f.append(Qe()),u(this,ce).set(i,{effect:a,fragment:f})}else le(a);u(this,ut).delete(i),u(this,Oe).delete(i)};u(this,Xt)||!r?(u(this,ut).add(i),ct(a,l,!1)):l()}}});A(this,gn,t=>{u(this,Te).delete(t);const n=Array.from(u(this,Te).values());for(const[r,s]of u(this,ce))n.includes(r)||(le(s.effect),u(this,ce).delete(r))});this.anchor=t,x(this,Xt,n)}ensure(t,n){var r=S,s=Kr();if(n&&!u(this,Oe).has(t)&&!u(this,ce).has(t))if(s){var i=document.createDocumentFragment(),a=Qe();i.append(a),u(this,ce).set(t,{effect:ge(()=>n(a)),fragment:i})}else u(this,Oe).set(t,ge(()=>n(this.anchor)));if(u(this,Te).set(r,t),s){for(const[l,o]of u(this,Oe))l===t?r.unskip_effect(o):r.skip_effect(o);for(const[l,o]of u(this,ce))l===t?r.unskip_effect(o.effect):r.skip_effect(o.effect);r.oncommit(u(this,Zt)),r.ondiscard(u(this,gn))}else u(this,Zt).call(this)}}Te=new WeakMap,Oe=new WeakMap,ce=new WeakMap,ut=new WeakMap,Xt=new WeakMap,Zt=new WeakMap,gn=new WeakMap;function $(e,t,n=!1){var r=new Bs(e),s=n?Pt:0;function i(a,l){r.ensure(a,l)}$n(()=>{var a=!1;t((l,o=0)=>{a=!0,i(o,l)}),a||i(!1,null)},s)}function rr(e,t){return t}function Hs(e,t,n){for(var r=[],s=t.length,i,a=t.length,l=0;l<s;l++){let _=t[l];ct(_,()=>{if(i){if(i.pending.delete(_),i.done.add(_),i.pending.size===0){var p=e.outrogroups;Vn(mn(i.done)),p.delete(i),p.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var o=r.length===0&&n!==null;if(o){var f=n,h=f.parentNode;ws(h),h.append(f),e.items.clear()}Vn(t,!o)}else i={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(i)}function Vn(e,t=!0){for(var n=0;n<e.length;n++)le(e[n],t)}var gr;function Rt(e,t,n,r,s,i=null){var a=e,l=new Map;{var o=e;a=o.appendChild(Qe())}var f=null,h=vs(()=>{var d=n();return Yn(d)?d:d==null?[]:mn(d)}),_,p=!0;function w(){m.fallback=f,Vs(m,_,a,t,r),f!==null&&(_.length===0?(f.f&Ke)===0?tr(f):(f.f^=Ke,zt(f,null,a)):ct(f,()=>{f=null}))}var c=$n(()=>{_=v(h);for(var d=_.length,y=new Set,k=S,j=Kr(),E=0;E<d;E+=1){var M=_[E],Z=r(M,E),K=p?null:l.get(Z);K?(K.v&&Ot(K.v,M),K.i&&Ot(K.i,E),j&&k.unskip_effect(K.e)):(K=Ks(l,p?a:gr??(gr=Qe()),M,Z,E,s,t,n),p||(K.e.f|=Ke),l.set(Z,K)),y.add(Z)}if(d===0&&i&&!f&&(p?f=ge(()=>i(a)):(f=ge(()=>i(gr??(gr=Qe()))),f.f|=Ke)),d>y.size&&Oi(),!p)if(j){for(const[he,Q]of l)y.has(he)||k.skip_effect(Q.e);k.oncommit(w),k.ondiscard(()=>{})}else w();v(h)}),m={effect:c,items:l,outrogroups:null,fallback:f};p=!1}function qt(e){for(;e!==null&&(e.f&De)===0;)e=e.next;return e}function Vs(e,t,n,r,s){var he;var i=t.length,a=e.items,l=qt(e.effect.first),o,f=null,h=[],_=[],p,w,c,m;for(m=0;m<i;m+=1){if(p=t[m],w=s(p,m),c=a.get(w).e,e.outrogroups!==null)for(const Q of e.outrogroups)Q.pending.delete(c),Q.done.delete(c);if((c.f&Ke)!==0)if(c.f^=Ke,c===l)zt(c,null,n);else{var d=f?f.next:l;c===e.effect.last&&(e.effect.last=c.prev),c.prev&&(c.prev.next=c.next),c.next&&(c.next.prev=c.prev),ze(e,f,c),ze(e,c,d),zt(c,d,n),f=c,h=[],_=[],l=qt(f.next);continue}if((c.f&ve)!==0&&tr(c),c!==l){if(o!==void 0&&o.has(c)){if(h.length<_.length){var y=_[0],k;f=y.prev;var j=h[0],E=h[h.length-1];for(k=0;k<h.length;k+=1)zt(h[k],y,n);for(k=0;k<_.length;k+=1)o.delete(_[k]);ze(e,j.prev,E.next),ze(e,f,j),ze(e,E,y),l=y,f=E,m-=1,h=[],_=[]}else o.delete(c),zt(c,l,n),ze(e,c.prev,c.next),ze(e,c,f===null?e.effect.first:f.next),ze(e,f,c),f=c;continue}for(h=[],_=[];l!==null&&l!==c;)(o??(o=new Set)).add(l),_.push(l),l=qt(l.next);if(l===null)continue}(c.f&Ke)===0&&h.push(c),f=c,l=qt(c.next)}if(e.outrogroups!==null){for(const Q of e.outrogroups)Q.pending.size===0&&(Vn(mn(Q.done)),(he=e.outrogroups)==null||he.delete(Q));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||o!==void 0){var M=[];if(o!==void 0)for(c of o)(c.f&ve)===0&&M.push(c);for(;l!==null;)(l.f&ve)===0&&l!==e.fallback&&M.push(l),l=qt(l.next);var Z=M.length;if(Z>0){var K=i===0?n:null;Hs(e,M,K)}}}function Ks(e,t,n,r,s,i,a,l){var o=(a&Bi)!==0?(a&Vi)===0?ps(n,!1,!1):pt(n):null,f=(a&Hi)!==0?pt(s):null;return{v:o,i:f,e:ge(()=>(i(t,o??n,f??s,l),()=>{e.delete(r)}))}}function zt(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,i=t&&(t.f&Ke)===0?t.nodes.start:n;r!==null;){var a=$t(r);if(i.before(r),r===s)return;r=a}}function ze(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}const mr=[...`
|
|
2
|
-
\r\f \v\uFEFF`];function Us(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var i=s.length,a=0;(a=r.indexOf(s,a))>=0;){var l=a+i;(a===0||mr.includes(r[a-1]))&&(l===r.length||mr.includes(r[l]))?r=(a===0?"":r.substring(0,a))+r.substring(l+1):a=l}}return r===""?null:r}function Kn(e,t,n,r,s,i){var a=e.__className;if(a!==n||a===void 0){var l=Us(n,r,i);l==null?e.removeAttribute("class"):e.className=l,e.__className=n}else if(i&&s!==i)for(var o in i){var f=!!i[o];(s==null||f!==!!s[o])&&e.classList.toggle(o,f)}return i}function ir(e,t,n=!1){if(e.multiple){if(t==null)return;if(!Yn(t))return Wi();for(var r of e.options)r.selected=t.includes(Ut(r));return}for(r of e.options){var s=Ut(r);if(ms(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function fi(e){var t=new MutationObserver(()=>{ir(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Qn(()=>{t.disconnect()})}function yr(e,t,n=t){var r=new WeakSet,s=!0;Yr(e,"change",i=>{var a=i?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(a),Ut);else{var o=e.querySelector(a)??e.querySelector("option:not([disabled])");l=o&&Ut(o)}n(l),S!==null&&r.add(S)}),xs(()=>{var i=t();if(e===document.activeElement){var a=vn??S;if(r.has(a))return}if(ir(e,i,s),s&&i===void 0){var l=e.querySelector(":checked");l!==null&&(i=Ut(l),n(i))}e.__value=i,s=!1}),fi(e)}function Ut(e){return"__value"in e?e.__value:e.value}function cn(e,t,n=t){var r=new WeakSet;Yr(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Cn(e)?Dn(i):i,n(i),S!==null&&r.add(S),await Os(),i!==(i=t())){var a=e.selectionStart,l=e.selectionEnd,o=e.value.length;if(e.value=i??"",l!==null){var f=e.value.length;a===l&&l===o&&f>o?(e.selectionStart=f,e.selectionEnd=f):(e.selectionStart=a,e.selectionEnd=Math.min(l,f))}}}),li(t)==null&&e.value&&(n(Cn(e)?Dn(e.value):e.value),S!==null&&r.add(S)),Jr(()=>{var s=t();if(e===document.activeElement){var i=vn??S;if(r.has(i))return}Cn(e)&&s===Dn(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}function Cn(e){var t=e.type;return t==="number"||t==="range"}function Dn(e){return e===""?null:+e}function ui(e,t,n,r){var s=r,i=!0,a=()=>(i&&(i=!1,s=r),s),l;l=e[t],l===void 0&&r!==void 0&&(l=a());var o;return o=()=>{var f=e[t];return f===void 0?a():(i=!0,f)},o}const Ys="5";var br;typeof window<"u"&&((br=window.__svelte??(window.__svelte={})).v??(br.v=new Set)).add(Ys);async function Be(e,t){const n=await fetch(`/api${e}`,{headers:{"Content-Type":"application/json"},...t});if(!n.ok){const r=await n.json().catch(()=>({error:n.statusText}));throw new Error(r.error||"Request failed")}return n.json()}const He={getProjects:()=>Be("/projects"),getProject:e=>Be(`/projects/${e}`),updateProject:(e,t)=>Be(`/projects/${e}`,{method:"PATCH",body:JSON.stringify(t)}),getTasks:e=>Be(`/projects/${e}/tasks?include_done=true`),createTask:(e,t)=>Be(`/projects/${e}/tasks`,{method:"POST",body:JSON.stringify(t)}),updateTask:(e,t)=>Be(`/tasks/${e}`,{method:"PATCH",body:JSON.stringify(t)}),deleteTask:e=>Be(`/tasks/${e}`,{method:"DELETE"}),getDecisions:e=>Be(`/projects/${e}/decisions`)};var Ws=I('<option class="svelte-1kanzy0"> </option>'),Js=I('<input class="rename-input svelte-1kanzy0" type="text"/>'),Gs=I('<button class="rename-btn svelte-1kanzy0" title="Rename project">✎</button>'),Xs=I('<header class="toolbar svelte-1kanzy0"><div class="brand svelte-1kanzy0">mindpm</div> <div class="project-area svelte-1kanzy0"><select class="svelte-1kanzy0"></select> <!></div></header>');function Zs(e,t){$e(t,!0);let n=O(!1),r=O("");const s=_t(()=>t.projects.find(c=>c.id===t.selectedId));function i(){v(s)&&(g(r,v(s).name,!0),g(n,!0))}function a(){if(!v(s)||!v(n))return;const c=v(r).trim();c&&c!==v(s).name&&t.onRenamed(v(s).id,c),g(n,!1)}function l(c){c.key==="Enter"&&a(),c.key==="Escape"&&g(n,!1)}var o=Xs(),f=C(T(o),2),h=T(f);Rt(h,21,()=>t.projects,rr,(c,m)=>{var d=Ws(),y=T(d),k={};ae(()=>{z(y,v(m).name),k!==(k=v(m).id)&&(d.value=(d.__value=v(m).id)??"")}),R(c,d)});var _;fi(h);var p=C(h,2);{var w=c=>{var m=nr(),d=Yt(m);{var y=j=>{var E=Js();Ur(E),Le("blur",E,a),oe("keydown",E,l),cn(E,()=>v(r),M=>g(r,M)),R(j,E)},k=j=>{var E=Gs();oe("click",E,i),R(j,E)};$(d,j=>{v(n)?j(y):j(k,!1)})}R(c,m)};$(p,c=>{v(s)&&c(w)})}ae(()=>{_!==(_=t.selectedId??"")&&(h.value=(h.__value=t.selectedId??"")??"",ir(h,t.selectedId??""))}),oe("change",h,c=>t.onSelect(c.target.value)),R(e,o),et()}It(["change","keydown","click"]);const Qs=[{status:"todo",label:"Todo"},{status:"in_progress",label:"In Progress"},{status:"blocked",label:"Blocked"},{status:"done",label:"Done"},{status:"cancelled",label:"Cancelled"}],$s=["critical","high","medium","low"];var ea=I('<div class="card-desc svelte-35ep21"> </div>'),ta=I('<span class="tag svelte-35ep21"> </span>'),na=I('<div class="card-tags svelte-35ep21"></div>'),ra=I('<div draggable="true" role="button" tabindex="0"><div class="card-header svelte-35ep21"><span> </span> <button class="delete-btn svelte-35ep21" title="Delete task">×</button></div> <div class="card-title svelte-35ep21"> </div> <!> <!></div>');function ia(e,t){$e(t,!0);let n=O(!1);function r(E){if(!E)return[];try{return JSON.parse(E)}catch{return[]}}const s=_t(()=>r(t.task.tags)),i=_t(()=>`priority-${t.task.priority}`);function a(E){g(n,!0),t.onDragStart(E,t.task)}function l(){g(n,!1)}var o=ra();let f;var h=T(o),_=T(h),p=T(_),w=C(_,2),c=C(h,2),m=T(c),d=C(c,2);{var y=E=>{var M=ea(),Z=T(M);ae(()=>z(Z,t.task.description)),R(E,M)};$(d,E=>{t.task.description&&E(y)})}var k=C(d,2);{var j=E=>{var M=na();Rt(M,21,()=>v(s),rr,(Z,K)=>{var he=ta(),Q=T(he);ae(()=>z(Q,v(K))),R(Z,he)}),R(E,M)};$(k,E=>{v(s).length>0&&E(j)})}ae(()=>{f=Kn(o,1,"card svelte-35ep21",null,f,{dragging:v(n)}),Kn(_,1,`priority-badge ${v(i)??""}`,"svelte-35ep21"),z(p,t.task.priority),z(m,t.task.title)}),Le("dragstart",o,a),Le("dragend",o,l),oe("click",o,()=>t.onEdit(t.task)),oe("keydown",o,E=>{E.key==="Enter"&&t.onEdit(t.task)}),oe("click",w,E=>{E.stopPropagation(),t.onDelete(t.task)}),R(e,o),et()}It(["click","keydown"]);var sa=I('<button class="add-btn svelte-zswfgn" title="Add task">+</button>'),aa=I('<div role="list"><div class="column-header svelte-zswfgn"><h3 class="svelte-zswfgn"> <span class="count svelte-zswfgn"> </span></h3> <!></div> <div class="card-list svelte-zswfgn"></div></div>');function la(e,t){$e(t,!0);let n=O(!1);function r(d){d.preventDefault(),d.dataTransfer&&(d.dataTransfer.dropEffect="move"),g(n,!0)}function s(){g(n,!1)}function i(d){d.preventDefault(),g(n,!1),t.onDrop(t.status)}var a=aa();let l;var o=T(a),f=T(o),h=T(f),_=C(h),p=T(_),w=C(f,2);{var c=d=>{var y=sa();oe("click",y,()=>t.onAddTask(t.status)),R(d,y)};$(w,d=>{t.status==="todo"&&d(c)})}var m=C(o,2);Rt(m,21,()=>t.tasks,d=>d.id,(d,y)=>{ia(d,{get task(){return v(y)},get onEdit(){return t.onEdit},get onDelete(){return t.onDelete},get onDragStart(){return t.onDragStart}})}),ae(()=>{l=Kn(a,1,"column svelte-zswfgn",null,l,{"drag-over":v(n)}),z(h,`${t.label??""} `),z(p,t.tasks.length)}),Le("dragover",a,r),Le("dragleave",a,s),Le("drop",a,i),R(e,a),et()}It(["click"]);var oa=I("<option> </option>"),fa=I('<div class="field svelte-1gmf2hi"><label for="status" class="svelte-1gmf2hi">Status</label> <select id="status" class="svelte-1gmf2hi"><option>Todo</option><option>In Progress</option><option>Blocked</option><option>Done</option><option>Cancelled</option></select></div>'),ua=I('<div class="decision-reasoning svelte-1gmf2hi"> </div>'),ca=I('<div class="decision-alts svelte-1gmf2hi"> </div>'),va=I('<div class="decision-item svelte-1gmf2hi"><div class="decision-title svelte-1gmf2hi"> </div> <div class="decision-body svelte-1gmf2hi"> </div> <!> <!></div>'),da=I('<div class="decisions-section svelte-1gmf2hi"><h3 class="decisions-heading svelte-1gmf2hi">Decisions</h3> <div class="decisions-list svelte-1gmf2hi"></div></div>'),ha=I('<div class="modal-backdrop svelte-1gmf2hi"><div class="modal svelte-1gmf2hi"><div class="modal-header svelte-1gmf2hi"><h2 class="svelte-1gmf2hi"> </h2> <button class="close-btn svelte-1gmf2hi">×</button></div> <form><div class="field svelte-1gmf2hi"><label for="title" class="svelte-1gmf2hi">Title</label> <input id="title" type="text" placeholder="Task title" required="" class="svelte-1gmf2hi"/></div> <div class="field svelte-1gmf2hi"><label for="description" class="svelte-1gmf2hi">Description</label> <textarea id="description" placeholder="Optional description" rows="3" class="svelte-1gmf2hi"></textarea></div> <div class="row svelte-1gmf2hi"><div class="field svelte-1gmf2hi"><label for="priority" class="svelte-1gmf2hi">Priority</label> <select id="priority" class="svelte-1gmf2hi"></select></div> <!></div> <div class="field svelte-1gmf2hi"><label for="tags" class="svelte-1gmf2hi">Tags <span class="hint svelte-1gmf2hi">(comma-separated)</span></label> <input id="tags" type="text" placeholder="e.g. backend, auth, bug" class="svelte-1gmf2hi"/></div> <div class="actions svelte-1gmf2hi"><button type="button" class="btn-cancel svelte-1gmf2hi">Cancel</button> <button type="submit" class="btn-save svelte-1gmf2hi"> </button></div></form> <!></div></div>');function _a(e,t){$e(t,!0);let n=ui(t,"defaultStatus",3,"todo"),r=O(""),s=O(""),i=O("medium"),a=O("todo"),l=O(""),o=O(Ye([]));_n(()=>{var P,F,te,ne,X;if(g(r,((P=t.task)==null?void 0:P.title)??"",!0),g(s,((F=t.task)==null?void 0:F.description)??"",!0),g(i,((te=t.task)==null?void 0:te.priority)??"medium",!0),g(a,((ne=t.task)==null?void 0:ne.status)??n(),!0),(X=t.task)!=null&&X.tags)try{g(l,JSON.parse(t.task.tags).join(", "),!0)}catch{g(l,"")}else g(l,"")}),_n(()=>{t.task!==null?He.getDecisions(t.projectId).then(P=>{g(o,P,!0)}).catch(()=>{g(o,[],!0)}):g(o,[],!0)});const f=_t(()=>t.task!==null);function h(P){P.preventDefault();const F=v(r).trim();if(!F)return;const te=v(l).split(",").map(ne=>ne.trim()).filter(Boolean);t.onSave({title:F,description:v(s).trim(),priority:v(i),...v(f)?{status:v(a)}:{},tags:te})}function _(P){P.target.classList.contains("modal-backdrop")&&t.onClose()}function p(P){P.key==="Escape"&&t.onClose()}var w=ha();Le("keydown",dn,p);var c=T(w),m=T(c),d=T(m),y=T(d),k=C(d,2),j=C(m,2),E=T(j),M=C(T(E),2);Ur(M);var Z=C(E,2),K=C(T(Z),2),he=C(Z,2),Q=T(he),Lt=C(T(Q),2);Rt(Lt,21,()=>$s,rr,(P,F)=>{var te=oa(),ne=T(te),X={};ae(()=>{z(ne,v(F)),X!==(X=v(F))&&(te.value=(te.__value=v(F))??"")}),R(P,te)});var kn=C(Q,2);{var En=P=>{var F=fa(),te=C(T(F),2),ne=T(te);ne.value=ne.__value="todo";var X=C(ne);X.value=X.__value="in_progress";var yt=C(X);yt.value=yt.__value="blocked";var wt=C(yt);wt.value=wt.__value="done";var nn=C(wt);nn.value=nn.__value="cancelled",yr(te,()=>v(a),rn=>g(a,rn)),R(P,F)};$(kn,P=>{v(f)&&P(En)})}var tn=C(he,2),b=C(T(tn),2),L=C(tn,2),ee=T(L),G=C(ee,2),Ft=T(G),ci=C(j,2);{var vi=P=>{var F=da(),te=C(T(F),2);Rt(te,21,()=>v(o),ne=>ne.id,(ne,X)=>{var yt=va(),wt=T(yt),nn=T(wt),rn=C(wt,2),di=T(rn),ar=C(rn,2);{var hi=tt=>{var bt=ua(),sn=T(bt);ae(()=>z(sn,v(X).reasoning)),R(tt,bt)};$(ar,tt=>{v(X).reasoning&&tt(hi)})}var _i=C(ar,2);{var pi=tt=>{const bt=_t(()=>(()=>{try{return JSON.parse(v(X).alternatives)}catch{return null}})());var sn=nr(),gi=Yt(sn);{var mi=Tn=>{var lr=ca(),yi=T(lr);ae(wi=>z(yi,`Alternatives: ${wi??""}`),[()=>v(bt).join(", ")]),R(Tn,lr)};$(gi,Tn=>{v(bt)&&v(bt).length>0&&Tn(mi)})}R(tt,sn)};$(_i,tt=>{v(X).alternatives&&tt(pi)})}ae(()=>{z(nn,v(X).title),z(di,v(X).decision)}),R(ne,yt)}),R(P,F)};$(ci,P=>{v(f)&&v(o).length>0&&P(vi)})}ae(()=>{z(y,v(f)?"Edit Task":"New Task"),z(Ft,v(f)?"Save":"Create")}),oe("click",w,_),oe("click",k,function(...P){var F;(F=t.onClose)==null||F.apply(this,P)}),Le("submit",j,h),cn(M,()=>v(r),P=>g(r,P)),cn(K,()=>v(s),P=>g(s,P)),yr(Lt,()=>v(i),P=>g(i,P)),cn(b,()=>v(l),P=>g(l,P)),oe("click",ee,function(...P){var F;(F=t.onClose)==null||F.apply(this,P)}),R(e,w),et()}It(["click"]);var pa=I('<div class="modal-backdrop svelte-1efofyg"><div class="dialog svelte-1efofyg"><h3 class="svelte-1efofyg"> </h3> <p class="svelte-1efofyg"> </p> <div class="actions svelte-1efofyg"><button class="btn-cancel svelte-1efofyg">Cancel</button> <button class="btn-confirm svelte-1efofyg"> </button></div></div></div>');function ga(e,t){$e(t,!0);let n=ui(t,"confirmLabel",3,"Delete");function r(m){m.target.classList.contains("modal-backdrop")&&t.onCancel()}function s(m){m.key==="Escape"&&t.onCancel()}var i=pa();Le("keydown",dn,s);var a=T(i),l=T(a),o=T(l),f=C(l,2),h=T(f),_=C(f,2),p=T(_),w=C(p,2),c=T(w);ae(()=>{z(o,t.title),z(h,t.message),z(c,n())}),oe("click",i,r),oe("click",p,function(...m){var d;(d=t.onCancel)==null||d.apply(this,m)}),oe("click",w,function(...m){var d;(d=t.onConfirm)==null||d.apply(this,m)}),R(e,i),et()}It(["click"]);var ma=I('<div class="board-message svelte-x7v2jt">Loading tasks...</div>'),ya=I('<div class="board-message error svelte-x7v2jt"> <button class="svelte-x7v2jt">Retry</button></div>'),wa=I('<div class="board svelte-x7v2jt"></div>'),ba=I('<div class="board-wrapper svelte-x7v2jt"><!></div> <!> <!>',1);function ka(e,t){$e(t,!0);let n=O(Ye([])),r=O(!0),s=O(null),i=O(!1),a=O(null),l=O("todo"),o=O(!1),f=O(null),h=O(null);const _=_t(()=>Qs.map(b=>({...b,tasks:v(n).filter(L=>L.status===b.status)})));async function p(){g(r,!0),g(s,null);try{g(n,await He.getTasks(t.project.id),!0)}catch(b){g(s,b.message,!0)}finally{g(r,!1)}}_n(()=>{t.project.id,p()});function w(b,L){g(h,L,!0),b.dataTransfer&&(b.dataTransfer.effectAllowed="move",b.dataTransfer.setData("text/plain",L.id))}async function c(b){if(!v(h)||v(h).status===b){g(h,null);return}const L=v(h),ee=L.status;g(h,null);const G=v(n).findIndex(Ft=>Ft.id===L.id);G!==-1&&(v(n)[G]={...v(n)[G],status:b});try{await He.updateTask(L.id,{status:b})}catch(Ft){G!==-1&&(v(n)[G]={...v(n)[G],status:ee}),g(s,Ft.message,!0)}}function m(b){g(a,null),g(l,b,!0),g(i,!0)}function d(b){g(a,b,!0),g(i,!0)}async function y(b){try{if(v(a)){const L=await He.updateTask(v(a).id,{title:b.title,description:b.description||null,priority:b.priority,status:b.status,tags:b.tags.length>0?b.tags:null}),ee=v(n).findIndex(G=>G.id===v(a).id);ee!==-1&&(v(n)[ee]=L)}else{const L=await He.createTask(t.project.id,{title:b.title,description:b.description||void 0,priority:b.priority,tags:b.tags.length>0?b.tags:void 0});g(n,[L,...v(n)],!0)}g(i,!1),g(a,null)}catch(L){g(s,L.message,!0)}}function k(b){g(f,b,!0),g(o,!0)}async function j(){if(v(f))try{await He.deleteTask(v(f).id),g(n,v(n).filter(b=>b.id!==v(f).id&&b.parent_task_id!==v(f).id),!0),g(o,!1),g(f,null)}catch(b){g(s,b.message,!0)}}var E=ba(),M=Yt(E),Z=T(M);{var K=b=>{var L=ma();R(b,L)},he=b=>{var L=ya(),ee=T(L),G=C(ee);ae(()=>z(ee,`${v(s)??""} `)),oe("click",G,()=>{g(s,null),p()}),R(b,L)},Q=b=>{var L=wa();Rt(L,21,()=>v(_),ee=>ee.status,(ee,G)=>{la(ee,{get status(){return v(G).status},get label(){return v(G).label},get tasks(){return v(G).tasks},onEdit:d,onDelete:k,onDragStart:w,onDrop:c,onAddTask:m})}),R(b,L)};$(Z,b=>{v(r)?b(K):v(s)?b(he,1):b(Q,!1)})}var Lt=C(M,2);{var kn=b=>{_a(b,{get task(){return v(a)},get projectId(){return t.project.id},get defaultStatus(){return v(l)},onSave:y,onClose:()=>{g(i,!1),g(a,null)}})};$(Lt,b=>{v(i)&&b(kn)})}var En=C(Lt,2);{var tn=b=>{ga(b,{title:"Delete Task",get message(){return`Are you sure you want to delete "${v(f).title??""}"? This cannot be undone.`},onConfirm:j,onCancel:()=>{g(o,!1),g(f,null)}})};$(En,b=>{v(o)&&v(f)&&b(tn)})}R(e,E),et()}It(["click"]);var Ea=I('<div class="loading svelte-1n46o8q">Loading projects...</div>'),Ta=I('<div class="error svelte-1n46o8q"> </div>'),Sa=I('<div class="empty svelte-1n46o8q"><h2 class="svelte-1n46o8q">No projects yet</h2> <p class="svelte-1n46o8q">Create a project using mindpm MCP tools to get started.</p></div>'),xa=I("<!> <!>",1);function Ca(e,t){$e(t,!0);let n=O(Ye([])),r=O(null),s=O(!0),i=O(null);const a=_t(()=>v(n).find(d=>d.id===v(r))??null);async function l(){try{if(g(n,await He.getProjects(),!0),v(n).length>0&&!v(r)){const d=new URLSearchParams(window.location.search).get("project"),y=d?v(n).find(k=>k.id===d||k.name===d):null;g(r,y?y.id:v(n)[0].id,!0)}}catch(d){g(i,d.message,!0)}finally{g(s,!1)}}function o(d){g(r,d,!0)}async function f(d,y){try{await He.updateProject(d,{name:y});const k=v(n).findIndex(j=>j.id===d);k!==-1&&(v(n)[k]={...v(n)[k],name:y})}catch(k){g(i,k.message,!0)}}_n(()=>{l()});var h=nr(),_=Yt(h);{var p=d=>{var y=Ea();R(d,y)},w=d=>{var y=Ta(),k=T(y);ae(()=>z(k,v(i))),R(d,y)},c=d=>{var y=Sa();R(d,y)},m=d=>{var y=xa(),k=Yt(y);Zs(k,{get projects(){return v(n)},get selectedId(){return v(r)},onSelect:o,onRenamed:f});var j=C(k,2);{var E=M=>{ka(M,{get project(){return v(a)}})};$(j,M=>{v(a)&&M(E)})}R(d,y)};$(_,d=>{v(s)?d(p):v(i)?d(w,1):v(n).length===0?d(c,2):d(m,!1)})}R(e,h),et()}Fs(Ca,{target:document.getElementById("app")});
|