studiograph 1.3.48-next.109 → 1.3.48-next.110
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/server/yjs-persistence.d.ts +40 -5
- package/dist/server/yjs-persistence.js +173 -40
- package/dist/server/yjs-persistence.js.map +1 -1
- package/dist/web/_app/immutable/chunks/{h6qJ4lWH.js → -wvHgbx8.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CmFlP4qY.js → B24UNsyl.js} +1 -1
- package/dist/web/_app/immutable/chunks/{1qbaEmm5.js → B6V4J5UZ.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BJmN7nmB.js → B8wVlAAz.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DVNfrihk2.js → BK_Hb_ok2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{B9Fot6ua.js → BNJ3ZcTM.js} +1 -1
- package/dist/web/_app/immutable/chunks/BNl1RvZ2.js +1 -0
- package/dist/web/_app/immutable/chunks/{BouoGrFH.js → BUdKaXWI.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Cl2XDvUq.js → CIrQ1t-t.js} +3 -3
- package/dist/web/_app/immutable/chunks/{prsyhtov.js → CNmDX2qR.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C0CSuODH.js → CSaEUsIE.js} +1 -1
- package/dist/web/_app/immutable/chunks/{_58RLchV.js → CZteLrB5.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bwu3l-3S2.js → C_-z07gl2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BHJSSCB52.js → Cdp2inY42.js} +1 -1
- package/dist/web/_app/immutable/chunks/CrLLAn6A.js +1 -0
- package/dist/web/_app/immutable/chunks/{BbLu2dMi2.js → CxSplvj32.js} +1 -1
- package/dist/web/_app/immutable/chunks/{U2oGYwvf.js → D8pVvb1X.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B7hYacPP2.js → DC2tpDOi2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Dm-221q12.js → DRNBkl9b2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CoI-pZ3D.js → DlTCR4Mq.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bbde9E8Y.js → JVlEouQ5.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CMUXO0bX2.js → Vm1VkZTj2.js} +1 -1
- package/dist/web/_app/immutable/entry/{app.PsfcVFHw.js → app.CxD8A5Su.js} +2 -2
- package/dist/web/_app/immutable/entry/start.BbSQ3fP1.js +1 -0
- package/dist/web/_app/immutable/nodes/{0.BIX297cz.js → 0.CthsvICY.js} +2 -2
- package/dist/web/_app/immutable/nodes/{1.CpIa3Q5d.js → 1.y90BJgyn.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.BMr3Q-0l.js → 10.BzqwGC1G.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.DSCD567C.js → 11.IInbiISX.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.BH12Ezyq.js → 12.CYFRdsXP.js} +1 -1
- package/dist/web/_app/immutable/nodes/{13.CLcxmGVS.js → 13.8GQJj5hq.js} +1 -1
- package/dist/web/_app/immutable/nodes/{2.XOVswIia.js → 2.BGbfQFfJ.js} +4 -4
- package/dist/web/_app/immutable/nodes/{3.2KOI5wHT.js → 3.Gsoh3IWQ.js} +1 -1
- package/dist/web/_app/immutable/nodes/{4.LmZYdsex.js → 4.DnoGIDZ7.js} +3 -3
- package/dist/web/_app/immutable/nodes/{5.DRzUdmhZ.js → 5.ZbEJHuL6.js} +1 -1
- package/dist/web/_app/immutable/nodes/{6.C1FsJQ3Y.js → 6.C9g3gDkx.js} +1 -1
- package/dist/web/_app/immutable/nodes/{7.kuQZhF5d.js → 7.CI2dltHT.js} +1 -1
- package/dist/web/_app/immutable/nodes/{8.Bt3G4nm6.js → 8.DDtW5qWS.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.BnfT8opz.js → 9.BiTGztLZ.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +12 -12
- package/package.json +1 -1
- package/dist/web/_app/immutable/chunks/B1qgZtLy.js +0 -1
- package/dist/web/_app/immutable/chunks/CwVKWiij.js +0 -1
- package/dist/web/_app/immutable/entry/start.DC09kVMy.js +0 -1
|
@@ -91,14 +91,48 @@ export declare class YjsPersistence {
|
|
|
91
91
|
/** Atomic write: tmp file + fsync(tmp) + rename + best-effort fsync(parent dir). */
|
|
92
92
|
private doWrite;
|
|
93
93
|
}
|
|
94
|
+
/** Lock-file sentinel format. JSON; backward-compatible with the legacy
|
|
95
|
+
* plain-pid format via {@link parseLockSentinel}. */
|
|
96
|
+
interface LockSentinel {
|
|
97
|
+
pid: number;
|
|
98
|
+
/** Linux clock ticks since boot. 0 when unavailable (non-Linux or read
|
|
99
|
+
* failed) — comparison is skipped when 0. */
|
|
100
|
+
startTime: number;
|
|
101
|
+
/** Substring of `process.argv.join(' ')`. Used as backup identity when
|
|
102
|
+
* startTime isn't available on either side. Truncated to 200 chars. */
|
|
103
|
+
cmdline: string;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Decide whether a lock held by `recorded` is stale (we can take over) or
|
|
107
|
+
* live (we must refuse to start). Exported for tests.
|
|
108
|
+
*
|
|
109
|
+
* Decision tree:
|
|
110
|
+
* 1. Recorded pid not alive → stale.
|
|
111
|
+
* 2. Recorded pid alive AND we recorded a non-zero startTime AND we can read
|
|
112
|
+
* the live process's startTime → compare. Mismatch → stale (pid was
|
|
113
|
+
* recycled in a fresh container or on a long-lived host); match → live.
|
|
114
|
+
* 3. Recorded pid alive AND startTime not usable → fall back to cmdline.
|
|
115
|
+
* Recorded `studiograph` substring AND live cmdline contains `studiograph`
|
|
116
|
+
* → live. Recorded had it but live doesn't → stale (pid recycled, different
|
|
117
|
+
* program now). Recorded didn't have it (legacy or non-studiograph) →
|
|
118
|
+
* treat as live (paranoid default — better to surface the conflict than
|
|
119
|
+
* silently take over a lock we can't identify).
|
|
120
|
+
*
|
|
121
|
+
* Returns 'stale' to take over, 'live' to refuse, 'self' to no-op (lock is
|
|
122
|
+
* already ours from earlier in this process).
|
|
123
|
+
*/
|
|
124
|
+
export declare function classifyLockHolder(recorded: LockSentinel): 'stale' | 'live' | 'self';
|
|
94
125
|
/**
|
|
95
126
|
* Acquire an advisory single-instance lock at `<rootDir>/.lock`. The lock is a
|
|
96
|
-
*
|
|
97
|
-
* — multi-instance studiograph against the same
|
|
98
|
-
* snapshot writes and corrupt them, since we
|
|
99
|
-
* pubsub today.
|
|
127
|
+
* JSON sentinel `{pid, startTime, cmdline}`. Throws if another live process is
|
|
128
|
+
* already using this directory — multi-instance studiograph against the same
|
|
129
|
+
* workspace state would race on snapshot writes and corrupt them, since we
|
|
130
|
+
* don't have cross-instance Yjs pubsub today.
|
|
100
131
|
*
|
|
101
|
-
* Stale locks (pid
|
|
132
|
+
* Stale locks (recorded pid is dead, or alive but a different process now —
|
|
133
|
+
* common in containers where the pid namespace resets across restarts but the
|
|
134
|
+
* lock file persists on a mounted volume) are taken over. See
|
|
135
|
+
* {@link classifyLockHolder} for the full decision tree.
|
|
102
136
|
*
|
|
103
137
|
* Returns a release function the caller registers in its shutdown hook.
|
|
104
138
|
*
|
|
@@ -106,3 +140,4 @@ export declare class YjsPersistence {
|
|
|
106
140
|
* lock would be a no-op anyway. The server bootstrap calls it explicitly.
|
|
107
141
|
*/
|
|
108
142
|
export declare function acquireYjsStateLock(rootDir: string): () => void;
|
|
143
|
+
export {};
|
|
@@ -295,14 +295,164 @@ export class YjsPersistence {
|
|
|
295
295
|
function sha256(s) {
|
|
296
296
|
return createHash('sha256').update(s, 'utf-8').digest('hex');
|
|
297
297
|
}
|
|
298
|
+
/**
|
|
299
|
+
* Read the `starttime` field (clock ticks since boot) from `/proc/<pid>/stat`.
|
|
300
|
+
* Linux only; returns null elsewhere or on read failure. Unique per process for
|
|
301
|
+
* the kernel's lifetime, so combined with pid it survives pid reuse. Used by
|
|
302
|
+
* the lock acquisition to distinguish "the studiograph that wrote this lock is
|
|
303
|
+
* still alive" from "the kernel happens to have something else at that pid now"
|
|
304
|
+
* — a critical distinction in containers where the namespace gets reset on
|
|
305
|
+
* restart but the lock file persists on the mounted volume.
|
|
306
|
+
*
|
|
307
|
+
* `/proc/<pid>/stat` format: pid (comm) state ppid ... starttime ... — comm
|
|
308
|
+
* can contain spaces/parens, so we anchor on the LAST `)` rather than splitting
|
|
309
|
+
* naively. After the comm, fields are at fixed offsets: state=0, ppid=1, ...,
|
|
310
|
+
* starttime=19 (0-indexed within the post-comm tail).
|
|
311
|
+
*/
|
|
312
|
+
function readProcessStartTime(pid) {
|
|
313
|
+
if (process.platform !== 'linux')
|
|
314
|
+
return null;
|
|
315
|
+
try {
|
|
316
|
+
const stat = readFileSync(`/proc/${pid}/stat`, 'utf-8');
|
|
317
|
+
const close = stat.lastIndexOf(')');
|
|
318
|
+
if (close < 0)
|
|
319
|
+
return null;
|
|
320
|
+
const fields = stat.slice(close + 1).trim().split(/\s+/);
|
|
321
|
+
const starttime = Number.parseInt(fields[19], 10);
|
|
322
|
+
return Number.isFinite(starttime) ? starttime : null;
|
|
323
|
+
}
|
|
324
|
+
catch {
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Read the cmdline of a process via `/proc/<pid>/cmdline`. Linux only. Returns
|
|
330
|
+
* empty string on failure. Used as a backup signal when startTime isn't
|
|
331
|
+
* available (legacy lock files written before the start-time field existed).
|
|
332
|
+
*
|
|
333
|
+
* Cmdline args are NUL-separated in /proc; we collapse to spaces for substring
|
|
334
|
+
* matching.
|
|
335
|
+
*/
|
|
336
|
+
function readProcessCmdline(pid) {
|
|
337
|
+
if (process.platform !== 'linux')
|
|
338
|
+
return '';
|
|
339
|
+
try {
|
|
340
|
+
return readFileSync(`/proc/${pid}/cmdline`, 'utf-8').replace(/\0/g, ' ').trim();
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
return '';
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
function parseLockSentinel(raw) {
|
|
347
|
+
const trimmed = raw.trim();
|
|
348
|
+
if (!trimmed)
|
|
349
|
+
return null;
|
|
350
|
+
// Legacy format: bare pid number (pre-startTime addition).
|
|
351
|
+
if (/^\d+$/.test(trimmed)) {
|
|
352
|
+
const pid = Number.parseInt(trimmed, 10);
|
|
353
|
+
return Number.isFinite(pid) ? { pid, startTime: 0, cmdline: '' } : null;
|
|
354
|
+
}
|
|
355
|
+
try {
|
|
356
|
+
const parsed = JSON.parse(trimmed);
|
|
357
|
+
if (typeof parsed.pid !== 'number' || !Number.isFinite(parsed.pid))
|
|
358
|
+
return null;
|
|
359
|
+
return {
|
|
360
|
+
pid: parsed.pid,
|
|
361
|
+
startTime: typeof parsed.startTime === 'number' ? parsed.startTime : 0,
|
|
362
|
+
cmdline: typeof parsed.cmdline === 'string' ? parsed.cmdline : '',
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
catch {
|
|
366
|
+
return null;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
function buildSentinel() {
|
|
370
|
+
const sentinel = {
|
|
371
|
+
pid: process.pid,
|
|
372
|
+
startTime: readProcessStartTime(process.pid) ?? 0,
|
|
373
|
+
cmdline: process.argv.join(' ').slice(0, 200),
|
|
374
|
+
};
|
|
375
|
+
return JSON.stringify(sentinel);
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Decide whether a lock held by `recorded` is stale (we can take over) or
|
|
379
|
+
* live (we must refuse to start). Exported for tests.
|
|
380
|
+
*
|
|
381
|
+
* Decision tree:
|
|
382
|
+
* 1. Recorded pid not alive → stale.
|
|
383
|
+
* 2. Recorded pid alive AND we recorded a non-zero startTime AND we can read
|
|
384
|
+
* the live process's startTime → compare. Mismatch → stale (pid was
|
|
385
|
+
* recycled in a fresh container or on a long-lived host); match → live.
|
|
386
|
+
* 3. Recorded pid alive AND startTime not usable → fall back to cmdline.
|
|
387
|
+
* Recorded `studiograph` substring AND live cmdline contains `studiograph`
|
|
388
|
+
* → live. Recorded had it but live doesn't → stale (pid recycled, different
|
|
389
|
+
* program now). Recorded didn't have it (legacy or non-studiograph) →
|
|
390
|
+
* treat as live (paranoid default — better to surface the conflict than
|
|
391
|
+
* silently take over a lock we can't identify).
|
|
392
|
+
*
|
|
393
|
+
* Returns 'stale' to take over, 'live' to refuse, 'self' to no-op (lock is
|
|
394
|
+
* already ours from earlier in this process).
|
|
395
|
+
*/
|
|
396
|
+
export function classifyLockHolder(recorded) {
|
|
397
|
+
if (recorded.pid === process.pid)
|
|
398
|
+
return 'self';
|
|
399
|
+
let pidAlive;
|
|
400
|
+
try {
|
|
401
|
+
process.kill(recorded.pid, 0);
|
|
402
|
+
pidAlive = true;
|
|
403
|
+
}
|
|
404
|
+
catch (err) {
|
|
405
|
+
if (err?.code === 'ESRCH')
|
|
406
|
+
return 'stale';
|
|
407
|
+
if (err?.code === 'EPERM') {
|
|
408
|
+
// Process exists but owned by another user. Can't safely take over.
|
|
409
|
+
throw new Error(`[yjs-persistence] pid ${recorded.pid} exists but we can't signal it ` +
|
|
410
|
+
`(different user?). Refusing to share state.`);
|
|
411
|
+
}
|
|
412
|
+
throw err;
|
|
413
|
+
}
|
|
414
|
+
if (!pidAlive)
|
|
415
|
+
return 'stale';
|
|
416
|
+
// Pid is alive. Verify it's actually the same process that wrote the lock.
|
|
417
|
+
if (recorded.startTime > 0) {
|
|
418
|
+
const liveStartTime = readProcessStartTime(recorded.pid);
|
|
419
|
+
if (liveStartTime !== null) {
|
|
420
|
+
return liveStartTime === recorded.startTime ? 'live' : 'stale';
|
|
421
|
+
}
|
|
422
|
+
// We recorded a startTime but can't read the live one — tooling mismatch.
|
|
423
|
+
// Fall through to cmdline check.
|
|
424
|
+
}
|
|
425
|
+
// Cmdline fallback for legacy locks or non-Linux platforms.
|
|
426
|
+
const liveCmdline = readProcessCmdline(recorded.pid);
|
|
427
|
+
if (liveCmdline) {
|
|
428
|
+
// If we recorded a cmdline and it doesn't match the live one's
|
|
429
|
+
// studiograph-ness, the pid has been recycled. Be lenient — match on the
|
|
430
|
+
// substring "studiograph" rather than exact equality, since the same
|
|
431
|
+
// server may be invoked via npx with slightly different paths.
|
|
432
|
+
const recordedLooksLikeUs = recorded.cmdline.includes('studiograph');
|
|
433
|
+
const liveLooksLikeUs = liveCmdline.includes('studiograph');
|
|
434
|
+
if (recordedLooksLikeUs && !liveLooksLikeUs)
|
|
435
|
+
return 'stale';
|
|
436
|
+
if (!recordedLooksLikeUs && liveLooksLikeUs)
|
|
437
|
+
return 'stale';
|
|
438
|
+
return 'live';
|
|
439
|
+
}
|
|
440
|
+
// No cmdline available (non-Linux). Fall back to the strict pre-fix behavior:
|
|
441
|
+
// if pid is alive, treat as live conflict. False positives possible on dev
|
|
442
|
+
// machines where pids get reused, but multi-instance is rare in dev.
|
|
443
|
+
return 'live';
|
|
444
|
+
}
|
|
298
445
|
/**
|
|
299
446
|
* Acquire an advisory single-instance lock at `<rootDir>/.lock`. The lock is a
|
|
300
|
-
*
|
|
301
|
-
* — multi-instance studiograph against the same
|
|
302
|
-
* snapshot writes and corrupt them, since we
|
|
303
|
-
* pubsub today.
|
|
447
|
+
* JSON sentinel `{pid, startTime, cmdline}`. Throws if another live process is
|
|
448
|
+
* already using this directory — multi-instance studiograph against the same
|
|
449
|
+
* workspace state would race on snapshot writes and corrupt them, since we
|
|
450
|
+
* don't have cross-instance Yjs pubsub today.
|
|
304
451
|
*
|
|
305
|
-
* Stale locks (pid
|
|
452
|
+
* Stale locks (recorded pid is dead, or alive but a different process now —
|
|
453
|
+
* common in containers where the pid namespace resets across restarts but the
|
|
454
|
+
* lock file persists on a mounted volume) are taken over. See
|
|
455
|
+
* {@link classifyLockHolder} for the full decision tree.
|
|
306
456
|
*
|
|
307
457
|
* Returns a release function the caller registers in its shutdown hook.
|
|
308
458
|
*
|
|
@@ -329,7 +479,7 @@ export function acquireYjsStateLock(rootDir) {
|
|
|
329
479
|
// Best-effort; don't block startup on a gitignore backfill.
|
|
330
480
|
}
|
|
331
481
|
const lockPath = join(rootDir, '.lock');
|
|
332
|
-
const
|
|
482
|
+
const sentinel = buildSentinel();
|
|
333
483
|
// Atomic create-or-fail. The 'wx' flag bypasses the existsSync→writeFileSync
|
|
334
484
|
// TOCTOU window: two processes racing to acquire the lock can't both succeed,
|
|
335
485
|
// because the kernel fails the second openSync with EEXIST.
|
|
@@ -337,7 +487,7 @@ export function acquireYjsStateLock(rootDir) {
|
|
|
337
487
|
try {
|
|
338
488
|
const fd = openSync(lockPath, 'wx');
|
|
339
489
|
try {
|
|
340
|
-
writeSync(fd,
|
|
490
|
+
writeSync(fd, sentinel);
|
|
341
491
|
}
|
|
342
492
|
finally {
|
|
343
493
|
closeSync(fd);
|
|
@@ -351,55 +501,38 @@ export function acquireYjsStateLock(rootDir) {
|
|
|
351
501
|
}
|
|
352
502
|
};
|
|
353
503
|
if (!tryAcquire()) {
|
|
354
|
-
|
|
355
|
-
// it's stale (previous process crashed without releasing) and we can take over.
|
|
356
|
-
let otherPidRaw;
|
|
504
|
+
let raw;
|
|
357
505
|
try {
|
|
358
|
-
|
|
506
|
+
raw = readFileSync(lockPath, 'utf-8');
|
|
359
507
|
}
|
|
360
508
|
catch {
|
|
361
|
-
|
|
509
|
+
raw = '';
|
|
362
510
|
}
|
|
363
|
-
const
|
|
364
|
-
if (!
|
|
511
|
+
const recorded = parseLockSentinel(raw);
|
|
512
|
+
if (!recorded) {
|
|
365
513
|
// Garbage in the file — treat as stale, replace.
|
|
366
|
-
writeFileSync(lockPath,
|
|
367
|
-
}
|
|
368
|
-
else if (otherPid === process.pid) {
|
|
369
|
-
// Already our lock from an earlier run in the same process. No-op.
|
|
514
|
+
writeFileSync(lockPath, sentinel, 'utf-8');
|
|
370
515
|
}
|
|
371
516
|
else {
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
throw new Error(`[yjs-persistence] another studiograph server (pid ${
|
|
517
|
+
const verdict = classifyLockHolder(recorded);
|
|
518
|
+
if (verdict === 'stale') {
|
|
519
|
+
writeFileSync(lockPath, sentinel, 'utf-8');
|
|
520
|
+
}
|
|
521
|
+
else if (verdict === 'live') {
|
|
522
|
+
throw new Error(`[yjs-persistence] another studiograph server (pid ${recorded.pid}) ` +
|
|
378
523
|
`is already using ${rootDir}. Multi-instance is not supported — ` +
|
|
379
524
|
`stop the other process or pick a different workspace.`);
|
|
380
525
|
}
|
|
381
|
-
|
|
382
|
-
if (err?.code === 'ESRCH') {
|
|
383
|
-
// Stale lock — previous server crashed without releasing. Take over by
|
|
384
|
-
// overwriting (single-process race already settled by the openSync above).
|
|
385
|
-
writeFileSync(lockPath, pidStr, 'utf-8');
|
|
386
|
-
}
|
|
387
|
-
else if (err?.code === 'EPERM') {
|
|
388
|
-
throw new Error(`[yjs-persistence] pid ${otherPid} owns ${rootDir} but we can't ` +
|
|
389
|
-
`signal it (different user?). Refusing to share state.`);
|
|
390
|
-
}
|
|
391
|
-
else {
|
|
392
|
-
throw err;
|
|
393
|
-
}
|
|
394
|
-
}
|
|
526
|
+
// verdict === 'self' → no-op, our lock from an earlier run.
|
|
395
527
|
}
|
|
396
528
|
}
|
|
397
529
|
return function release() {
|
|
398
530
|
try {
|
|
399
|
-
const raw = readFileSync(lockPath, 'utf-8')
|
|
531
|
+
const raw = readFileSync(lockPath, 'utf-8');
|
|
532
|
+
const recorded = parseLockSentinel(raw);
|
|
400
533
|
// Only release if it's still ours — paranoia for the case where
|
|
401
534
|
// another process took over after a stale-lock cleanup.
|
|
402
|
-
if (
|
|
535
|
+
if (recorded && recorded.pid === process.pid)
|
|
403
536
|
unlinkSync(lockPath);
|
|
404
537
|
}
|
|
405
538
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yjs-persistence.js","sourceRoot":"","sources":["../../src/server/yjs-persistence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yjs-persistence.js","sourceRoot":"","sources":["../../src/server/yjs-persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,B as t,Bt as n,Ct as r,D as i,F as a,G as o,H as s,L as c,N as l,Nt as u,O as d,Pt as f,R as p,U as m,Vt as h,W as g,X as _,Y as v,_t as y,a as b,at as x,b as S,bt as C,ft as w,g as T,ht as E,it as ee,j as D,mt as O,n as te,o as k,ot as A,pt as j,st as M,u as N,v as ne,vt as P,w as re,x as F,xt as I,z as L}from"./BT3KAag_.js";import{r as ie}from"./B1qgZtLy.js";import"./t62M88qj.js";import"./CwVKWiij.js";import{A as ae}from"./ZCekGjo6.js";import{i as oe}from"./CpYSBmKC.js";import"./BZnJ8tbJ.js";import{i as se,n as ce,r as le,t as ue}from"./DI1F0sOk.js";import{a as de,i as fe,n as pe,o as me,r as he,s as ge,t as _e}from"./cKP8UZub2.js";import{t as ve}from"./ULJ0oJsu2.js";import{t as ye}from"./BTRrb8iS2.js";import{a as be,r as xe}from"./CTXhrVfi.js";import{t as Se}from"./7F3UwSfd.js";import{t as Ce}from"./MClf3kfO.js";import{i as we}from"./CJKv5-xr.js";import{t as Te}from"./BEKINBBr.js";import{t as Ee}from"./CPyrBlwI.js";import{a as De,t as R}from"./gFHG8ysP.js";import{t as Oe}from"./B-yPxkTf.js";import{t as ke}from"./vwBDR4bX.js";import{t as Ae}from"./B7hYacPP2.js";function je(e,t){let n=[],r=new Set;if(e&&R[e])for(let t of R[e])t.format===`date`&&!r.has(t.key)&&(n.push({key:t.key,label:t.label}),r.add(t.key));if(t){for(let e of t)if(!r.has(e)&&(e.endsWith(`_date`)||e===`date`||e===`expected_close`)){let t=e.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase());n.push({key:e,label:t}),r.add(e)}}return r.has(`created_at`)||n.push({key:`created_at`,label:`Created`}),n}function Me(e,t){let n;if(n=t===`created_at`?e.createdAt:t===`updated_at`?e.updatedAt:e.fields[t],!n)return null;let r=String(n);return/^\d{4}-\d{2}-\d{2}/.test(r)?r.slice(0,10):null}function Ne(e,t,n,r){let i=new Date,a=`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,`0`)}-${String(i.getDate()).padStart(2,`0`)}`,o=new Date(e,t-1,1).getDay(),s=new Date(e,t-1,1-o),c=new Map;for(let e of n){let t=Me(e,r);t&&(c.has(t)||c.set(t,[]),c.get(t).push(e))}let l=[];for(let n=0;n<42;n++){let r=new Date(s);r.setDate(r.getDate()+n);let i=r.getFullYear(),o=r.getMonth()+1,u=r.getDate(),d=`${i}-${String(o).padStart(2,`0`)}-${String(u).padStart(2,`0`)}`;l.push({dateStr:d,day:u,isCurrentMonth:o===t&&i===e,isToday:d===a,entities:c.get(d)??[]})}return l}function Pe(e,t,n,r,i){let a=new Date,o=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,`0`)}-${String(a.getDate()).padStart(2,`0`)}`,s=new Date(e,t-1,n),c=s.getDay(),l=new Date(s);l.setDate(s.getDate()-c);let u=new Map;for(let e of r){let t=Me(e,i);t&&(u.has(t)||u.set(t,[]),u.get(t).push(e))}let d=[];for(let n=0;n<7;n++){let r=new Date(l);r.setDate(r.getDate()+n);let i=r.getFullYear(),a=r.getMonth()+1,s=r.getDate(),c=`${i}-${String(a).padStart(2,`0`)}-${String(s).padStart(2,`0`)}`;d.push({dateStr:c,day:s,isCurrentMonth:a===t&&i===e,isToday:c===o,entities:u.get(c)??[]})}return d}function Fe(e){if(e.length===0)return``;let t=new Date(e[0].dateStr+`T00:00:00`),n=new Date(e[e.length-1].dateStr+`T00:00:00`),r=t.getMonth()===n.getMonth()&&t.getFullYear()===n.getFullYear(),i=t.getFullYear()===n.getFullYear(),a=e=>e.toLocaleDateString(`en-US`,{month:`short`});return r?`${a(t)} ${t.getDate()} – ${n.getDate()}, ${n.getFullYear()}`:i?`${a(t)} ${t.getDate()} – ${a(n)} ${n.getDate()}, ${n.getFullYear()}`:`${a(t)} ${t.getDate()}, ${t.getFullYear()} – ${a(n)} ${n.getDate()}, ${n.getFullYear()}`}var Ie=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Le=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],z=t(`<title> </title>`),Re=t(`<svg><!><path d="M30,23V21H27.91a5.9592,5.9592,0,0,0-1.0244-2.4707L28.364,17.05,26.95,15.6362l-1.4788,1.4785A5.9584,5.9584,0,0,0,23,16.09V14H21v2.09a5.9584,5.9584,0,0,0-2.4709,1.0244L17.05,15.6362,15.636,17.05l1.4787,1.479A5.9618,5.9618,0,0,0,16.09,21H14v2h2.09a5.9618,5.9618,0,0,0,1.0244,2.4707L15.636,26.95,17.05,28.3638l1.4788-1.4785A5.9584,5.9584,0,0,0,21,27.91V30h2V27.91a5.9584,5.9584,0,0,0,2.4709-1.0244L26.95,28.3638,28.364,26.95l-1.4787-1.479A5.9592,5.9592,0,0,0,27.91,23Zm-8,3a4,4,0,1,1,4-4A4.0045,4.0045,0,0,1,22,26Z"></path><path d="M28,6a2,2,0,0,0-2-2H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2h4V26H6V6h4V8h2V6h8V8h2V6h4v6h2Z"></path></svg>`);function ze(e,t){let r=b(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),i=b(r,[`size`,`title`]);f(t,!1);let o=y(),s=y(),d=k(t,`size`,8,16),p=k(t,`title`,8,void 0);ee(()=>(v(r),v(p())),()=>{P(o,r[`aria-label`]||r[`aria-labelledby`]||p())}),ee(()=>(_(o),v(r)),()=>{P(s,{"aria-hidden":_(o)?void 0:!0,role:_(o)?`img`:void 0,focusable:Number(r.tabindex)===0?!0:void 0})}),x(),N();var m=Re();T(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:d(),height:d(),..._(s),...i}));var g=w(m),S=e=>{var t=z(),n=w(t,!0);h(t),A(()=>a(n,p())),c(e,t)};l(g,e=>{p()&&e(S)}),n(2),h(m),c(e,m),u()}var Be=L(`<button class="toolbar-icon-btn" aria-label="Back"><!></button>`),Ve=L(`<!> <!> <!>`,1),He=L(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button>`),Ue=L(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button>`),We=L(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button> <!> <!>`,1),Ge=L(`<button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label">Month</span></button> <button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label">Week</span></button>`,1),Ke=L(`<button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label"> </span></button>`),qe=L(`<div class="sg-sheet-body"><!></div>`),Je=L(`<!> <!>`,1),Ye=L(`<!> <!>`,1),Xe=L(`<!> <!>`,1),Ze=L(`<div class="empty svelte-dnwsps"><p>No date fields available for the selected type.</p> <p class="empty-hint svelte-dnwsps">Try selecting a type with date fields like Task, Project, or Meeting.</p></div>`),Qe=L(`<div class="dow-header svelte-dnwsps"> </div>`),$e=L(`<button class="entity-chip svelte-dnwsps" draggable="true"><span class="chip-label svelte-dnwsps"> </span></button>`),et=L(`<button class="day-view-all svelte-dnwsps">View all</button>`),tt=L(`<div><span> </span> <div class="day-entities svelte-dnwsps"></div> <!></div>`),nt=L(`<div class="calendar-grid svelte-dnwsps"><!> <!></div>`),rt=L(`<div class="tooltip-row svelte-dnwsps"><span class="tooltip-meta svelte-dnwsps"> </span></div>`),it=L(`<span class="tooltip-dot svelte-dnwsps"></span>`),at=L(`<div class="tooltip-row svelte-dnwsps"><!> <span class="tooltip-meta svelte-dnwsps"> </span></div>`),ot=L(`<div class="floating-tooltip svelte-dnwsps"><strong class="tooltip-title svelte-dnwsps"> </strong> <div class="tooltip-row svelte-dnwsps"><span class="tooltip-dot svelte-dnwsps"></span> <span class="tooltip-meta svelte-dnwsps"> </span></div> <!> <!></div>`),st=L(`<button class="overflow-item svelte-dnwsps"><span class="chip-dot"></span> <span class="overflow-item-title svelte-dnwsps"> </span> <span class="overflow-item-type svelte-dnwsps"> </span></button>`),ct=L(`<div class="overflow-backdrop svelte-dnwsps"></div> <div class="overflow-popover svelte-dnwsps"><div class="overflow-list svelte-dnwsps"></div></div>`,1),lt=L(`<div class="calendar-view svelte-dnwsps"><div class="calendar-toolbar svelte-dnwsps"><!> <button><!></button> <!> <div class="toolbar-left svelte-dnwsps"><!> <!></div> <div class="month-nav svelte-dnwsps"><button class="nav-btn svelte-dnwsps"><!></button> <button class="month-label svelte-dnwsps"><span class="month-label-full svelte-dnwsps"> </span> <span class="month-label-short svelte-dnwsps"> </span></button> <button class="nav-btn svelte-dnwsps"><!></button></div> <div class="toolbar-right svelte-dnwsps"><!></div></div> <!></div> <!> <!>`,1);function ut(t,m){f(m,!0);let v=k(m,`lockedType`,3,null),y=k(m,`lockedFolder`,3,null),b=k(m,`lockedFolderPath`,3,null),x=k(m,`storageId`,3,null),T=k(m,`entities`,3,null),ee=k(m,`tagSource`,3,null),N=k(m,`selectedTags`,19,()=>[]),L=r(()=>{let e=ee()??T()??[],t=new Map;for(let n of e){let e=n.fields.tags;if(Array.isArray(e))for(let n of e){let e=String(n);t.set(e,(t.get(e)??0)+1)}}return[...t.entries()].sort((e,t)=>e[0].localeCompare(t[0])).map(([e,t])=>({tag:e,count:t}))}),R=C(!1),z=C(`root`),Re=r(()=>_(z)===`mode`?`View`:_(z)===`sort`?`Sort by`:_(z)===`filter`?`Filter by tag`:`Options`);M(()=>{_(R)||P(z,`root`)});function ut(){P(z,`root`)}function dt(e){m.onTagsChange&&m.onTagsChange(e),P(R,!1)}let ft=r(()=>x()?`sg-calendarview-${x()}`:null);function pt(){if(!_(ft))return null;try{let e=localStorage.getItem(_(ft));if(e)return JSON.parse(e)}catch{}return null}function mt(){if(!_(ft))return;let e={selectedType:v()?null:_(V),dateField:_(H),year:_(U),month:_(W),day:_(G),mode:_(K)};localStorage.setItem(_(ft),JSON.stringify(e))}let ht=x()?`sg-calendarview-${x()}`:null,B=(()=>{if(!ht||typeof localStorage>`u`)return null;try{let e=localStorage.getItem(ht);return e?JSON.parse(e):null}catch{return null}})(),gt=new Date,V=C(E(v()??B?.selectedType??null)),H=C(E(B?.dateField??`due_date`)),U=C(E(B?.year??gt.getFullYear())),W=C(E(B?.month??gt.getMonth()+1)),G=C(E(B?.day??gt.getDate())),K=C(E(B?.mode??`month`)),_t=C(null);M(()=>{if(m.view&&m.view.id!==_(_t)){P(_t,m.view.id,!0);let e=pt();if(e)P(V,v()??e.selectedType??null,!0),P(H,e.dateField??`due_date`,!0),P(U,e.year??new Date().getFullYear(),!0),P(W,e.month??new Date().getMonth()+1,!0),P(G,e.day??new Date().getDate(),!0),P(K,e.mode??`month`,!0);else{let e=m.view.config;P(V,v()??e.selectedType??null,!0),P(H,e.calendar?.dateField??`due_date`,!0),P(U,e.calendar?.year??new Date().getFullYear(),!0),P(W,e.calendar?.month??new Date().getMonth()+1,!0),P(G,new Date().getDate(),!0),P(K,`month`)}}}),M(()=>{v()&&P(V,v())}),M(()=>{_(V),_(H),_(U),_(W),_(G),_(K),_(_t)!==null&&mt()});let q=r(()=>{if(T())return T().filter(e=>!_(V)||e.entityType===_(V));let e=[];for(let t of oe.repos)if(!(y()&&t.name!==y()))for(let n of t.entities)(!_(V)||n.entityType===_(V))&&e.push(n);return e}),vt=r(()=>{let e=new Set;for(let t of _(q))for(let n of Object.keys(t.fields))e.add(n);return e}),J=r(()=>je(_(V),_(vt))),yt=r(()=>_(J).find(e=>e.key===_(H))?.label??_(H));function bt(e){At(e),P(R,!1)}function xt(e){P(K,e,!0),P(R,!1)}M(()=>{_(J).length>0&&!_(J).some(e=>e.key===_(H))&&P(H,_(J)[0].key,!0)});let St=r(()=>_(K)===`week`?Pe(_(U),_(W),_(G),_(q),_(H)):Ne(_(U),_(W),_(q),_(H))),Ct=r(()=>_(K)===`week`?Fe(_(St)):`${Ie[_(W)-1]} ${_(U)}`),wt=r(()=>_(K)===`week`?Fe(_(St)):`${Ie[_(W)-1].slice(0,3)} ${_(U)}`);M(()=>{Ee.count=_(q).length}),te(()=>{Ee.count=null});function Tt(e){let t=new Date(_(U),_(W)-1,_(G));t.setDate(t.getDate()+e),P(U,t.getFullYear(),!0),P(W,t.getMonth()+1),P(G,t.getDate(),!0)}function Et(){_(K)===`week`?Tt(-7):_(W)===1?(P(W,12),I(U,-1)):I(W,-1)}function Dt(){_(K)===`week`?Tt(7):_(W)===12?(P(W,1),I(U)):I(W)}function Ot(){let e=new Date;P(U,e.getFullYear(),!0),P(W,e.getMonth()+1),P(G,e.getDate(),!0)}function kt(){P(K,_(K)===`month`?`week`:`month`,!0)}function At(e){e&&P(H,e,!0)}function jt(e){ie(`/${e.repo}/${e.entityType}/${e.id}`)}let Y=C(null),Mt=C(E({x:0,y:0})),Nt=C(!1),Pt=C(!1);function Ft(e,t){P(Nt,e+10+200>window.innerWidth),P(Pt,t+10+80>window.innerHeight),P(Mt,{x:_(Nt)?e-10:e+10,y:_(Pt)?t-10:t+10},!0)}function It(e,t){P(Y,t,!0),Ft(e.clientX,e.clientY)}function Lt(e){Ft(e.clientX,e.clientY)}function Rt(){P(Y,null)}let zt=C(E([])),Bt=C(E({x:0,y:0})),Vt=C(``);function Ht(e,t,n){e.stopPropagation(),P(zt,t,!0),P(Vt,new Date(n+`T00:00:00`).toLocaleDateString(`en-US`,{weekday:`short`,month:`short`,day:`numeric`}),!0);let r=e.currentTarget.getBoundingClientRect(),i=Math.min(320,t.length*36+40),a=r.left,o=r.bottom+4;a+260>window.innerWidth&&(a=window.innerWidth-260-8),a<8&&(a=8),o+i>window.innerHeight&&(o=r.top-i-4),o<8&&(o=8),P(Bt,{x:a,y:o},!0)}function Ut(){P(zt,[],!0)}let Wt=new Set([`created_at`,`updated_at`]),Gt=r(()=>!Wt.has(_(H))),X=C(null),Z=C(null);function Kt(e,t){P(X,t,!0),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id),Rt()}function qt(e,t){!_(X)||!_(Gt)||(e.preventDefault(),e.dataTransfer.dropEffect=`move`,P(Z,t,!0))}function Jt(){P(Z,null)}function Yt(){P(X,null),P(Z,null)}async function Xt(e,t){if(e.preventDefault(),!_(X))return;let n=_(X);P(X,null),P(Z,null);try{await ae(n.repo,n.entityType,n.id,{data:{[_(H)]:t}}),await oe.refreshEntities(n.repo)}catch(e){console.error(`Failed to update entity date:`,e)}}var Zt=lt(),Qt=j(Zt),$t=w(Qt),en=w($t),tn=e=>{Ae(e,{get repoName(){return y()},get currentPath(){return b()}})};l(en,e=>{y()&&b()&&e(tn)});var Q=O(en,2);let nn;ze(w(Q),{size:16}),h(Q);var rn=O(Q,2);i(rn,()=>ge,(t,o)=>{o(t,{get open(){return _(R)},set open(e){P(R,e,!0)},children:(t,o)=>{var u=Ye(),d=j(u);i(d,()=>me,(e,t)=>{t(e,{class:`toolbar-icon-btn mobile-overflow`,title:`More options`,"aria-label":`More options`,children:(e,t)=>{Se(e,{})},$$slots:{default:!0}})}),i(O(d,2),()=>fe,(t,o)=>{o(t,{side:`bottom`,class:`sg-mobile-sheet`,children:(t,o)=>{var u=Je(),d=j(u);i(d,()=>he,(e,t)=>{t(e,{class:`sg-sheet-header`,children:(e,t)=>{var r=Ve(),o=j(r),u=e=>{var t=Be();ke(w(t),{size:16}),h(t),g(`click`,t,ut),c(e,t)};l(o,e=>{_(z)!==`root`&&e(u)});var d=O(o,2);i(d,()=>pe,(e,t)=>{t(e,{class:`sg-sheet-title`,children:(e,t)=>{n();var r=s();A(()=>a(r,_(Re))),c(e,r)},$$slots:{default:!0}})}),i(O(d,2),()=>de,(e,t)=>{t(e,{class:`dialog-close-btn`,"aria-label":`Close`,children:(e,t)=>{ve(e,{size:16})},$$slots:{default:!0}})}),c(e,r)},$$slots:{default:!0}})});var f=O(d,2),v=e=>{{let t=r(()=>_(R)&&_(z)===`filter`);_e(e,{get visible(){return _(t)},get availableTags(){return _(L)},get selectedTags(){return N()},onApply:dt})}},y=t=>{var r=qe(),i=w(r),o=e=>{var t=We(),n=j(t),r=w(n),i=w(r);h(r);var o=O(r,2);ye(w(o),{size:16}),h(o),h(n);var s=O(n,2),u=e=>{var t=He(),n=w(t),r=w(n);h(n);var i=O(n,2);ye(w(i),{size:16}),h(i),h(t),A(()=>a(r,`Sort by ${_(yt)??``}`)),g(`click`,t,()=>P(z,`sort`)),c(e,t)};l(s,e=>{_(J).length>1&&e(u)});var d=O(s,2),f=e=>{var t=Ue(),n=w(t),r=w(n);h(n);var i=O(n,2);ye(w(i),{size:16}),h(i),h(t),A(()=>a(r,`Filter by ${(N().length===0?`None`:N().length===1?N()[0]:`${N().length} tags`)??``}`)),g(`click`,t,()=>P(z,`filter`)),c(e,t)};l(d,e=>{m.onTagsChange&&_(L).length>0&&e(f)}),A(()=>a(i,`View ${_(K)===`week`?`Week`:`Month`}`)),g(`click`,n,()=>P(z,`mode`)),c(e,t)},s=e=>{var t=Ge(),r=j(t);let i;var a=w(r),o=w(a),s=e=>{Ce(e,{size:16})};l(o,e=>{_(K)===`month`&&e(s)}),h(a),n(2),h(r);var u=O(r,2);let d;var f=w(u),p=w(f),m=e=>{Ce(e,{size:16})};l(p,e=>{_(K)===`week`&&e(m)}),h(f),n(2),h(u),A(()=>{i=F(r,1,`sg-sheet-row`,null,i,{selected:_(K)===`month`}),d=F(u,1,`sg-sheet-row`,null,d,{selected:_(K)===`week`})}),g(`click`,r,()=>xt(`month`)),g(`click`,u,()=>xt(`week`)),c(e,t)},u=t=>{var n=p();e(j(n),17,()=>_(J),D,(e,t)=>{var n=Ke();let r;var i=w(n),o=w(i),s=e=>{Ce(e,{size:16})};l(o,e=>{_(H)===_(t).key&&e(s)}),h(i);var u=O(i,2),d=w(u,!0);h(u),h(n),A(()=>{r=F(n,1,`sg-sheet-row`,null,r,{selected:_(H)===_(t).key}),a(d,_(t).label)}),g(`click`,n,()=>bt(_(t).key)),c(e,n)}),c(t,n)};l(i,e=>{_(z)===`root`?e(o):_(z)===`mode`?e(s,1):_(z)===`sort`&&e(u,2)}),h(r),c(t,r)};l(f,e=>{_(z)===`filter`?e(v):e(y,-1)}),c(t,u)},$$slots:{default:!0}})}),c(t,u)},$$slots:{default:!0}})});var an=O(rn,2),on=w(an),sn=t=>{var n=p();i(j(n),()=>ue,(t,n)=>{n(t,{type:`single`,get value(){return _(H)},onValueChange:At,children:(t,n)=>{var a=Xe(),o=j(a);{let e=r(()=>_(J).find(e=>e.key===_(H))?.label??_(H));i(o,()=>se,(t,n)=>{n(t,{size:`sm`,get value(){return _(e)}})})}i(O(o,2),()=>le,(t,n)=>{n(t,{align:`start`,children:(t,n)=>{var r=p();e(j(r),17,()=>_(J),D,(e,t)=>{var n=p();i(j(n),()=>ce,(e,n)=>{n(e,{get value(){return _(t).key},get label(){return _(t).label}})}),c(e,n)}),c(t,r)},$$slots:{default:!0}})}),c(t,a)},$$slots:{default:!0}})}),c(t,n)};l(on,e=>{_(J).length>1&&e(sn)});var cn=O(on,2),ln=e=>{var t=p();d(j(t),()=>m.toolbarLeft),c(e,t)};l(cn,e=>{m.toolbarLeft&&e(ln)}),h(an);var un=O(an,2),$=w(un);Oe(w($),{size:16}),h($);var dn=O($,2),fn=w(dn),pn=w(fn,!0);h(fn);var mn=O(fn,2),hn=w(mn,!0);h(mn),h(dn);var gn=O(dn,2);ye(w(gn),{size:16}),h(gn),h(un);var _n=O(un,2),vn=w(_n),yn=e=>{var t=p();d(j(t),()=>m.toolbarRight),c(e,t)};l(vn,e=>{m.toolbarRight&&e(yn)}),h(_n),h($t);var bn=O($t,2),xn=e=>{c(e,Ze())},Sn=t=>{var n=nt(),i=w(n);e(i,17,()=>Le,D,(e,t)=>{var n=Qe(),r=w(n,!0);h(n),A(()=>a(r,_(t))),c(e,n)}),e(O(i,2),17,()=>_(St),D,(t,n,i,s)=>{let u=r(()=>_(n).entities.length>2);var d=tt();let f;var p=w(d);let m;var v=w(p,!0);h(p);var y=O(p,2);e(y,21,()=>_(n).entities,D,(e,t)=>{let n=r(()=>xe(_(t).entityType));var i=$e();let s;var l=w(i),u=w(l,!0);h(l),h(i),A(e=>{s=S(i,``,s,{"border-left-color":_(n)}),a(u,e)},[()=>we(_(t).title)]),o(`dragstart`,i,e=>Kt(e,_(t))),o(`dragend`,i,Yt),g(`click`,i,()=>jt(_(t))),o(`mouseenter`,i,e=>It(e,_(t))),g(`mousemove`,i,Lt),o(`mouseleave`,i,Rt),c(e,i)}),h(y);var b=O(y,2),x=e=>{var t=et();A(()=>ne(t,`title`,`View all ${_(n).entities.length??``}`)),g(`click`,t,e=>Ht(e,_(n).entities,_(n).dateStr)),c(e,t)};l(b,e=>{_(u)&&e(x)}),h(d),A(()=>{f=F(d,1,`calendar-day svelte-dnwsps`,null,f,{"outside-month":!_(n).isCurrentMonth,today:_(n).isToday,"week-mode":_(K)===`week`,"has-overflow":_(u),"drop-target":_(Gt)&&_(Z)===_(n).dateStr}),m=F(p,1,`day-number svelte-dnwsps`,null,m,{"today-number":_(n).isToday}),a(v,_(n).day)}),o(`dragover`,d,e=>qt(e,_(n).dateStr)),o(`dragleave`,d,Jt),o(`drop`,d,e=>Xt(e,_(n).dateStr)),c(t,d)}),h(n),c(t,n)};l(bn,e=>{_(J).length===0?e(xn):e(Sn,-1)}),h(Qt);var Cn=O(Qt,2),wn=e=>{let t=r(()=>xe(_(Y).entityType)),n=r(()=>Me(_(Y),_(H)));var i=ot();let o;var s=w(i),u=w(s,!0);h(s);var d=O(s,2),f=w(d);let p;var m=O(f,2),g=w(m,!0);h(m),h(d);var v=O(d,2),y=e=>{var t=rt(),r=w(t),i=w(r,!0);h(r),h(t),A(e=>a(i,e),[()=>new Date(_(n)+`T00:00:00`).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})]),c(e,t)};l(v,e=>{_(n)&&e(y)});var b=O(v,2),x=e=>{let t=r(()=>De(_(Y).entityType,`status`,String(_(Y).fields.status)));var n=at(),i=w(n),o=e=>{var n=it();let r;A(()=>r=S(n,``,r,{background:_(t)})),c(e,n)};l(i,e=>{_(t)&&e(o)});var s=O(i,2),u=w(s,!0);h(s),h(n),A(e=>a(u,e),[()=>be(String(_(Y).fields.status))]),c(e,n)};l(b,e=>{_(Y).fields.status&&e(x)}),h(i),A((e,n)=>{o=S(i,``,o,{left:`${_(Mt).x??``}px`,top:`${_(Mt).y??``}px`,transform:`translate(${_(Nt)?`-100%`:`0`}, ${_(Pt)?`-100%`:`0`})`}),a(u,e),p=S(f,``,p,{background:_(t)}),a(g,n)},[()=>we(_(Y).title),()=>be(_(Y).entityType)]),c(e,i)};l(Cn,e=>{_(Y)&&e(wn)});var Tn=O(Cn,2),En=t=>{var n=ct(),i=j(n),o=O(i,2);let s;var l=w(o);e(l,21,()=>_(zt),D,(e,t)=>{let n=r(()=>xe(_(t).entityType));var i=st(),o=w(i);let s;var l=O(o,2),u=w(l,!0);h(l),re(l,e=>Te?.(e));var d=O(l,2),f=w(d,!0);h(d),h(i),A((e,t)=>{s=S(o,``,s,{background:_(n)}),a(u,e),a(f,t)},[()=>we(_(t).title),()=>be(_(t).entityType)]),g(`click`,i,()=>{Ut(),jt(_(t))}),c(e,i)}),h(l),h(o),A(()=>s=S(o,``,s,{left:`${_(Bt).x??``}px`,top:`${_(Bt).y??``}px`})),g(`click`,i,Ut),c(t,n)};l(Tn,e=>{_(zt).length>0&&e(En)}),A(()=>{nn=F(Q,1,`toolbar-icon-btn mode-toggle svelte-dnwsps`,null,nn,{active:_(K)===`week`}),ne(Q,`title`,_(K)===`week`?`Switch to month view`:`Switch to week view`),ne($,`title`,_(K)===`week`?`Previous week`:`Previous month`),a(pn,_(Ct)),a(hn,_(wt)),ne(gn,`title`,_(K)===`week`?`Next week`:`Next month`)}),g(`click`,Q,kt),g(`click`,$,Et),g(`click`,dn,Ot),g(`click`,gn,Dt),c(t,Zt),u()}m([`click`,`mousemove`]);export{ut as default};
|
|
1
|
+
import{A as e,B as t,Bt as n,Ct as r,D as i,F as a,G as o,H as s,L as c,N as l,Nt as u,O as d,Pt as f,R as p,U as m,Vt as h,W as g,X as _,Y as v,_t as y,a as b,at as x,b as S,bt as C,ft as w,g as T,ht as E,it as ee,j as D,mt as O,n as te,o as k,ot as A,pt as j,st as M,u as N,v as ne,vt as P,w as re,x as F,xt as I,z as L}from"./BT3KAag_.js";import{r as ie}from"./BNl1RvZ2.js";import"./t62M88qj.js";import"./CrLLAn6A.js";import{A as ae}from"./ZCekGjo6.js";import{i as oe}from"./CpYSBmKC.js";import"./BZnJ8tbJ.js";import{i as se,n as ce,r as le,t as ue}from"./DI1F0sOk.js";import{a as de,i as fe,n as pe,o as me,r as he,s as ge,t as _e}from"./cKP8UZub2.js";import{t as ve}from"./ULJ0oJsu2.js";import{t as ye}from"./BTRrb8iS2.js";import{a as be,r as xe}from"./CTXhrVfi.js";import{t as Se}from"./7F3UwSfd.js";import{t as Ce}from"./MClf3kfO.js";import{i as we}from"./CJKv5-xr.js";import{t as Te}from"./BEKINBBr.js";import{t as Ee}from"./CPyrBlwI.js";import{a as De,t as R}from"./gFHG8ysP.js";import{t as Oe}from"./B-yPxkTf.js";import{t as ke}from"./vwBDR4bX.js";import{t as Ae}from"./DC2tpDOi2.js";function je(e,t){let n=[],r=new Set;if(e&&R[e])for(let t of R[e])t.format===`date`&&!r.has(t.key)&&(n.push({key:t.key,label:t.label}),r.add(t.key));if(t){for(let e of t)if(!r.has(e)&&(e.endsWith(`_date`)||e===`date`||e===`expected_close`)){let t=e.replace(/_/g,` `).replace(/\b\w/g,e=>e.toUpperCase());n.push({key:e,label:t}),r.add(e)}}return r.has(`created_at`)||n.push({key:`created_at`,label:`Created`}),n}function Me(e,t){let n;if(n=t===`created_at`?e.createdAt:t===`updated_at`?e.updatedAt:e.fields[t],!n)return null;let r=String(n);return/^\d{4}-\d{2}-\d{2}/.test(r)?r.slice(0,10):null}function Ne(e,t,n,r){let i=new Date,a=`${i.getFullYear()}-${String(i.getMonth()+1).padStart(2,`0`)}-${String(i.getDate()).padStart(2,`0`)}`,o=new Date(e,t-1,1).getDay(),s=new Date(e,t-1,1-o),c=new Map;for(let e of n){let t=Me(e,r);t&&(c.has(t)||c.set(t,[]),c.get(t).push(e))}let l=[];for(let n=0;n<42;n++){let r=new Date(s);r.setDate(r.getDate()+n);let i=r.getFullYear(),o=r.getMonth()+1,u=r.getDate(),d=`${i}-${String(o).padStart(2,`0`)}-${String(u).padStart(2,`0`)}`;l.push({dateStr:d,day:u,isCurrentMonth:o===t&&i===e,isToday:d===a,entities:c.get(d)??[]})}return l}function Pe(e,t,n,r,i){let a=new Date,o=`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,`0`)}-${String(a.getDate()).padStart(2,`0`)}`,s=new Date(e,t-1,n),c=s.getDay(),l=new Date(s);l.setDate(s.getDate()-c);let u=new Map;for(let e of r){let t=Me(e,i);t&&(u.has(t)||u.set(t,[]),u.get(t).push(e))}let d=[];for(let n=0;n<7;n++){let r=new Date(l);r.setDate(r.getDate()+n);let i=r.getFullYear(),a=r.getMonth()+1,s=r.getDate(),c=`${i}-${String(a).padStart(2,`0`)}-${String(s).padStart(2,`0`)}`;d.push({dateStr:c,day:s,isCurrentMonth:a===t&&i===e,isToday:c===o,entities:u.get(c)??[]})}return d}function Fe(e){if(e.length===0)return``;let t=new Date(e[0].dateStr+`T00:00:00`),n=new Date(e[e.length-1].dateStr+`T00:00:00`),r=t.getMonth()===n.getMonth()&&t.getFullYear()===n.getFullYear(),i=t.getFullYear()===n.getFullYear(),a=e=>e.toLocaleDateString(`en-US`,{month:`short`});return r?`${a(t)} ${t.getDate()} – ${n.getDate()}, ${n.getFullYear()}`:i?`${a(t)} ${t.getDate()} – ${a(n)} ${n.getDate()}, ${n.getFullYear()}`:`${a(t)} ${t.getDate()}, ${t.getFullYear()} – ${a(n)} ${n.getDate()}, ${n.getFullYear()}`}var Ie=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Le=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],z=t(`<title> </title>`),Re=t(`<svg><!><path d="M30,23V21H27.91a5.9592,5.9592,0,0,0-1.0244-2.4707L28.364,17.05,26.95,15.6362l-1.4788,1.4785A5.9584,5.9584,0,0,0,23,16.09V14H21v2.09a5.9584,5.9584,0,0,0-2.4709,1.0244L17.05,15.6362,15.636,17.05l1.4787,1.479A5.9618,5.9618,0,0,0,16.09,21H14v2h2.09a5.9618,5.9618,0,0,0,1.0244,2.4707L15.636,26.95,17.05,28.3638l1.4788-1.4785A5.9584,5.9584,0,0,0,21,27.91V30h2V27.91a5.9584,5.9584,0,0,0,2.4709-1.0244L26.95,28.3638,28.364,26.95l-1.4787-1.479A5.9592,5.9592,0,0,0,27.91,23Zm-8,3a4,4,0,1,1,4-4A4.0045,4.0045,0,0,1,22,26Z"></path><path d="M28,6a2,2,0,0,0-2-2H22V2H20V4H12V2H10V4H6A2,2,0,0,0,4,6V26a2,2,0,0,0,2,2h4V26H6V6h4V8h2V6h8V8h2V6h4v6h2Z"></path></svg>`);function ze(e,t){let r=b(t,[`children`,`$$slots`,`$$events`,`$$legacy`]),i=b(r,[`size`,`title`]);f(t,!1);let o=y(),s=y(),d=k(t,`size`,8,16),p=k(t,`title`,8,void 0);ee(()=>(v(r),v(p())),()=>{P(o,r[`aria-label`]||r[`aria-labelledby`]||p())}),ee(()=>(_(o),v(r)),()=>{P(s,{"aria-hidden":_(o)?void 0:!0,role:_(o)?`img`:void 0,focusable:Number(r.tabindex)===0?!0:void 0})}),x(),N();var m=Re();T(m,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:d(),height:d(),..._(s),...i}));var g=w(m),S=e=>{var t=z(),n=w(t,!0);h(t),A(()=>a(n,p())),c(e,t)};l(g,e=>{p()&&e(S)}),n(2),h(m),c(e,m),u()}var Be=L(`<button class="toolbar-icon-btn" aria-label="Back"><!></button>`),Ve=L(`<!> <!> <!>`,1),He=L(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button>`),Ue=L(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button>`),We=L(`<button class="sg-sheet-row"><span class="sg-sheet-row-label"> </span> <span class="sg-sheet-row-trail"><!></span></button> <!> <!>`,1),Ge=L(`<button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label">Month</span></button> <button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label">Week</span></button>`,1),Ke=L(`<button><span class="sg-sheet-row-lead"><!></span> <span class="sg-sheet-row-label"> </span></button>`),qe=L(`<div class="sg-sheet-body"><!></div>`),Je=L(`<!> <!>`,1),Ye=L(`<!> <!>`,1),Xe=L(`<!> <!>`,1),Ze=L(`<div class="empty svelte-dnwsps"><p>No date fields available for the selected type.</p> <p class="empty-hint svelte-dnwsps">Try selecting a type with date fields like Task, Project, or Meeting.</p></div>`),Qe=L(`<div class="dow-header svelte-dnwsps"> </div>`),$e=L(`<button class="entity-chip svelte-dnwsps" draggable="true"><span class="chip-label svelte-dnwsps"> </span></button>`),et=L(`<button class="day-view-all svelte-dnwsps">View all</button>`),tt=L(`<div><span> </span> <div class="day-entities svelte-dnwsps"></div> <!></div>`),nt=L(`<div class="calendar-grid svelte-dnwsps"><!> <!></div>`),rt=L(`<div class="tooltip-row svelte-dnwsps"><span class="tooltip-meta svelte-dnwsps"> </span></div>`),it=L(`<span class="tooltip-dot svelte-dnwsps"></span>`),at=L(`<div class="tooltip-row svelte-dnwsps"><!> <span class="tooltip-meta svelte-dnwsps"> </span></div>`),ot=L(`<div class="floating-tooltip svelte-dnwsps"><strong class="tooltip-title svelte-dnwsps"> </strong> <div class="tooltip-row svelte-dnwsps"><span class="tooltip-dot svelte-dnwsps"></span> <span class="tooltip-meta svelte-dnwsps"> </span></div> <!> <!></div>`),st=L(`<button class="overflow-item svelte-dnwsps"><span class="chip-dot"></span> <span class="overflow-item-title svelte-dnwsps"> </span> <span class="overflow-item-type svelte-dnwsps"> </span></button>`),ct=L(`<div class="overflow-backdrop svelte-dnwsps"></div> <div class="overflow-popover svelte-dnwsps"><div class="overflow-list svelte-dnwsps"></div></div>`,1),lt=L(`<div class="calendar-view svelte-dnwsps"><div class="calendar-toolbar svelte-dnwsps"><!> <button><!></button> <!> <div class="toolbar-left svelte-dnwsps"><!> <!></div> <div class="month-nav svelte-dnwsps"><button class="nav-btn svelte-dnwsps"><!></button> <button class="month-label svelte-dnwsps"><span class="month-label-full svelte-dnwsps"> </span> <span class="month-label-short svelte-dnwsps"> </span></button> <button class="nav-btn svelte-dnwsps"><!></button></div> <div class="toolbar-right svelte-dnwsps"><!></div></div> <!></div> <!> <!>`,1);function ut(t,m){f(m,!0);let v=k(m,`lockedType`,3,null),y=k(m,`lockedFolder`,3,null),b=k(m,`lockedFolderPath`,3,null),x=k(m,`storageId`,3,null),T=k(m,`entities`,3,null),ee=k(m,`tagSource`,3,null),N=k(m,`selectedTags`,19,()=>[]),L=r(()=>{let e=ee()??T()??[],t=new Map;for(let n of e){let e=n.fields.tags;if(Array.isArray(e))for(let n of e){let e=String(n);t.set(e,(t.get(e)??0)+1)}}return[...t.entries()].sort((e,t)=>e[0].localeCompare(t[0])).map(([e,t])=>({tag:e,count:t}))}),R=C(!1),z=C(`root`),Re=r(()=>_(z)===`mode`?`View`:_(z)===`sort`?`Sort by`:_(z)===`filter`?`Filter by tag`:`Options`);M(()=>{_(R)||P(z,`root`)});function ut(){P(z,`root`)}function dt(e){m.onTagsChange&&m.onTagsChange(e),P(R,!1)}let ft=r(()=>x()?`sg-calendarview-${x()}`:null);function pt(){if(!_(ft))return null;try{let e=localStorage.getItem(_(ft));if(e)return JSON.parse(e)}catch{}return null}function mt(){if(!_(ft))return;let e={selectedType:v()?null:_(V),dateField:_(H),year:_(U),month:_(W),day:_(G),mode:_(K)};localStorage.setItem(_(ft),JSON.stringify(e))}let ht=x()?`sg-calendarview-${x()}`:null,B=(()=>{if(!ht||typeof localStorage>`u`)return null;try{let e=localStorage.getItem(ht);return e?JSON.parse(e):null}catch{return null}})(),gt=new Date,V=C(E(v()??B?.selectedType??null)),H=C(E(B?.dateField??`due_date`)),U=C(E(B?.year??gt.getFullYear())),W=C(E(B?.month??gt.getMonth()+1)),G=C(E(B?.day??gt.getDate())),K=C(E(B?.mode??`month`)),_t=C(null);M(()=>{if(m.view&&m.view.id!==_(_t)){P(_t,m.view.id,!0);let e=pt();if(e)P(V,v()??e.selectedType??null,!0),P(H,e.dateField??`due_date`,!0),P(U,e.year??new Date().getFullYear(),!0),P(W,e.month??new Date().getMonth()+1,!0),P(G,e.day??new Date().getDate(),!0),P(K,e.mode??`month`,!0);else{let e=m.view.config;P(V,v()??e.selectedType??null,!0),P(H,e.calendar?.dateField??`due_date`,!0),P(U,e.calendar?.year??new Date().getFullYear(),!0),P(W,e.calendar?.month??new Date().getMonth()+1,!0),P(G,new Date().getDate(),!0),P(K,`month`)}}}),M(()=>{v()&&P(V,v())}),M(()=>{_(V),_(H),_(U),_(W),_(G),_(K),_(_t)!==null&&mt()});let q=r(()=>{if(T())return T().filter(e=>!_(V)||e.entityType===_(V));let e=[];for(let t of oe.repos)if(!(y()&&t.name!==y()))for(let n of t.entities)(!_(V)||n.entityType===_(V))&&e.push(n);return e}),vt=r(()=>{let e=new Set;for(let t of _(q))for(let n of Object.keys(t.fields))e.add(n);return e}),J=r(()=>je(_(V),_(vt))),yt=r(()=>_(J).find(e=>e.key===_(H))?.label??_(H));function bt(e){At(e),P(R,!1)}function xt(e){P(K,e,!0),P(R,!1)}M(()=>{_(J).length>0&&!_(J).some(e=>e.key===_(H))&&P(H,_(J)[0].key,!0)});let St=r(()=>_(K)===`week`?Pe(_(U),_(W),_(G),_(q),_(H)):Ne(_(U),_(W),_(q),_(H))),Ct=r(()=>_(K)===`week`?Fe(_(St)):`${Ie[_(W)-1]} ${_(U)}`),wt=r(()=>_(K)===`week`?Fe(_(St)):`${Ie[_(W)-1].slice(0,3)} ${_(U)}`);M(()=>{Ee.count=_(q).length}),te(()=>{Ee.count=null});function Tt(e){let t=new Date(_(U),_(W)-1,_(G));t.setDate(t.getDate()+e),P(U,t.getFullYear(),!0),P(W,t.getMonth()+1),P(G,t.getDate(),!0)}function Et(){_(K)===`week`?Tt(-7):_(W)===1?(P(W,12),I(U,-1)):I(W,-1)}function Dt(){_(K)===`week`?Tt(7):_(W)===12?(P(W,1),I(U)):I(W)}function Ot(){let e=new Date;P(U,e.getFullYear(),!0),P(W,e.getMonth()+1),P(G,e.getDate(),!0)}function kt(){P(K,_(K)===`month`?`week`:`month`,!0)}function At(e){e&&P(H,e,!0)}function jt(e){ie(`/${e.repo}/${e.entityType}/${e.id}`)}let Y=C(null),Mt=C(E({x:0,y:0})),Nt=C(!1),Pt=C(!1);function Ft(e,t){P(Nt,e+10+200>window.innerWidth),P(Pt,t+10+80>window.innerHeight),P(Mt,{x:_(Nt)?e-10:e+10,y:_(Pt)?t-10:t+10},!0)}function It(e,t){P(Y,t,!0),Ft(e.clientX,e.clientY)}function Lt(e){Ft(e.clientX,e.clientY)}function Rt(){P(Y,null)}let zt=C(E([])),Bt=C(E({x:0,y:0})),Vt=C(``);function Ht(e,t,n){e.stopPropagation(),P(zt,t,!0),P(Vt,new Date(n+`T00:00:00`).toLocaleDateString(`en-US`,{weekday:`short`,month:`short`,day:`numeric`}),!0);let r=e.currentTarget.getBoundingClientRect(),i=Math.min(320,t.length*36+40),a=r.left,o=r.bottom+4;a+260>window.innerWidth&&(a=window.innerWidth-260-8),a<8&&(a=8),o+i>window.innerHeight&&(o=r.top-i-4),o<8&&(o=8),P(Bt,{x:a,y:o},!0)}function Ut(){P(zt,[],!0)}let Wt=new Set([`created_at`,`updated_at`]),Gt=r(()=>!Wt.has(_(H))),X=C(null),Z=C(null);function Kt(e,t){P(X,t,!0),e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id),Rt()}function qt(e,t){!_(X)||!_(Gt)||(e.preventDefault(),e.dataTransfer.dropEffect=`move`,P(Z,t,!0))}function Jt(){P(Z,null)}function Yt(){P(X,null),P(Z,null)}async function Xt(e,t){if(e.preventDefault(),!_(X))return;let n=_(X);P(X,null),P(Z,null);try{await ae(n.repo,n.entityType,n.id,{data:{[_(H)]:t}}),await oe.refreshEntities(n.repo)}catch(e){console.error(`Failed to update entity date:`,e)}}var Zt=lt(),Qt=j(Zt),$t=w(Qt),en=w($t),tn=e=>{Ae(e,{get repoName(){return y()},get currentPath(){return b()}})};l(en,e=>{y()&&b()&&e(tn)});var Q=O(en,2);let nn;ze(w(Q),{size:16}),h(Q);var rn=O(Q,2);i(rn,()=>ge,(t,o)=>{o(t,{get open(){return _(R)},set open(e){P(R,e,!0)},children:(t,o)=>{var u=Ye(),d=j(u);i(d,()=>me,(e,t)=>{t(e,{class:`toolbar-icon-btn mobile-overflow`,title:`More options`,"aria-label":`More options`,children:(e,t)=>{Se(e,{})},$$slots:{default:!0}})}),i(O(d,2),()=>fe,(t,o)=>{o(t,{side:`bottom`,class:`sg-mobile-sheet`,children:(t,o)=>{var u=Je(),d=j(u);i(d,()=>he,(e,t)=>{t(e,{class:`sg-sheet-header`,children:(e,t)=>{var r=Ve(),o=j(r),u=e=>{var t=Be();ke(w(t),{size:16}),h(t),g(`click`,t,ut),c(e,t)};l(o,e=>{_(z)!==`root`&&e(u)});var d=O(o,2);i(d,()=>pe,(e,t)=>{t(e,{class:`sg-sheet-title`,children:(e,t)=>{n();var r=s();A(()=>a(r,_(Re))),c(e,r)},$$slots:{default:!0}})}),i(O(d,2),()=>de,(e,t)=>{t(e,{class:`dialog-close-btn`,"aria-label":`Close`,children:(e,t)=>{ve(e,{size:16})},$$slots:{default:!0}})}),c(e,r)},$$slots:{default:!0}})});var f=O(d,2),v=e=>{{let t=r(()=>_(R)&&_(z)===`filter`);_e(e,{get visible(){return _(t)},get availableTags(){return _(L)},get selectedTags(){return N()},onApply:dt})}},y=t=>{var r=qe(),i=w(r),o=e=>{var t=We(),n=j(t),r=w(n),i=w(r);h(r);var o=O(r,2);ye(w(o),{size:16}),h(o),h(n);var s=O(n,2),u=e=>{var t=He(),n=w(t),r=w(n);h(n);var i=O(n,2);ye(w(i),{size:16}),h(i),h(t),A(()=>a(r,`Sort by ${_(yt)??``}`)),g(`click`,t,()=>P(z,`sort`)),c(e,t)};l(s,e=>{_(J).length>1&&e(u)});var d=O(s,2),f=e=>{var t=Ue(),n=w(t),r=w(n);h(n);var i=O(n,2);ye(w(i),{size:16}),h(i),h(t),A(()=>a(r,`Filter by ${(N().length===0?`None`:N().length===1?N()[0]:`${N().length} tags`)??``}`)),g(`click`,t,()=>P(z,`filter`)),c(e,t)};l(d,e=>{m.onTagsChange&&_(L).length>0&&e(f)}),A(()=>a(i,`View ${_(K)===`week`?`Week`:`Month`}`)),g(`click`,n,()=>P(z,`mode`)),c(e,t)},s=e=>{var t=Ge(),r=j(t);let i;var a=w(r),o=w(a),s=e=>{Ce(e,{size:16})};l(o,e=>{_(K)===`month`&&e(s)}),h(a),n(2),h(r);var u=O(r,2);let d;var f=w(u),p=w(f),m=e=>{Ce(e,{size:16})};l(p,e=>{_(K)===`week`&&e(m)}),h(f),n(2),h(u),A(()=>{i=F(r,1,`sg-sheet-row`,null,i,{selected:_(K)===`month`}),d=F(u,1,`sg-sheet-row`,null,d,{selected:_(K)===`week`})}),g(`click`,r,()=>xt(`month`)),g(`click`,u,()=>xt(`week`)),c(e,t)},u=t=>{var n=p();e(j(n),17,()=>_(J),D,(e,t)=>{var n=Ke();let r;var i=w(n),o=w(i),s=e=>{Ce(e,{size:16})};l(o,e=>{_(H)===_(t).key&&e(s)}),h(i);var u=O(i,2),d=w(u,!0);h(u),h(n),A(()=>{r=F(n,1,`sg-sheet-row`,null,r,{selected:_(H)===_(t).key}),a(d,_(t).label)}),g(`click`,n,()=>bt(_(t).key)),c(e,n)}),c(t,n)};l(i,e=>{_(z)===`root`?e(o):_(z)===`mode`?e(s,1):_(z)===`sort`&&e(u,2)}),h(r),c(t,r)};l(f,e=>{_(z)===`filter`?e(v):e(y,-1)}),c(t,u)},$$slots:{default:!0}})}),c(t,u)},$$slots:{default:!0}})});var an=O(rn,2),on=w(an),sn=t=>{var n=p();i(j(n),()=>ue,(t,n)=>{n(t,{type:`single`,get value(){return _(H)},onValueChange:At,children:(t,n)=>{var a=Xe(),o=j(a);{let e=r(()=>_(J).find(e=>e.key===_(H))?.label??_(H));i(o,()=>se,(t,n)=>{n(t,{size:`sm`,get value(){return _(e)}})})}i(O(o,2),()=>le,(t,n)=>{n(t,{align:`start`,children:(t,n)=>{var r=p();e(j(r),17,()=>_(J),D,(e,t)=>{var n=p();i(j(n),()=>ce,(e,n)=>{n(e,{get value(){return _(t).key},get label(){return _(t).label}})}),c(e,n)}),c(t,r)},$$slots:{default:!0}})}),c(t,a)},$$slots:{default:!0}})}),c(t,n)};l(on,e=>{_(J).length>1&&e(sn)});var cn=O(on,2),ln=e=>{var t=p();d(j(t),()=>m.toolbarLeft),c(e,t)};l(cn,e=>{m.toolbarLeft&&e(ln)}),h(an);var un=O(an,2),$=w(un);Oe(w($),{size:16}),h($);var dn=O($,2),fn=w(dn),pn=w(fn,!0);h(fn);var mn=O(fn,2),hn=w(mn,!0);h(mn),h(dn);var gn=O(dn,2);ye(w(gn),{size:16}),h(gn),h(un);var _n=O(un,2),vn=w(_n),yn=e=>{var t=p();d(j(t),()=>m.toolbarRight),c(e,t)};l(vn,e=>{m.toolbarRight&&e(yn)}),h(_n),h($t);var bn=O($t,2),xn=e=>{c(e,Ze())},Sn=t=>{var n=nt(),i=w(n);e(i,17,()=>Le,D,(e,t)=>{var n=Qe(),r=w(n,!0);h(n),A(()=>a(r,_(t))),c(e,n)}),e(O(i,2),17,()=>_(St),D,(t,n,i,s)=>{let u=r(()=>_(n).entities.length>2);var d=tt();let f;var p=w(d);let m;var v=w(p,!0);h(p);var y=O(p,2);e(y,21,()=>_(n).entities,D,(e,t)=>{let n=r(()=>xe(_(t).entityType));var i=$e();let s;var l=w(i),u=w(l,!0);h(l),h(i),A(e=>{s=S(i,``,s,{"border-left-color":_(n)}),a(u,e)},[()=>we(_(t).title)]),o(`dragstart`,i,e=>Kt(e,_(t))),o(`dragend`,i,Yt),g(`click`,i,()=>jt(_(t))),o(`mouseenter`,i,e=>It(e,_(t))),g(`mousemove`,i,Lt),o(`mouseleave`,i,Rt),c(e,i)}),h(y);var b=O(y,2),x=e=>{var t=et();A(()=>ne(t,`title`,`View all ${_(n).entities.length??``}`)),g(`click`,t,e=>Ht(e,_(n).entities,_(n).dateStr)),c(e,t)};l(b,e=>{_(u)&&e(x)}),h(d),A(()=>{f=F(d,1,`calendar-day svelte-dnwsps`,null,f,{"outside-month":!_(n).isCurrentMonth,today:_(n).isToday,"week-mode":_(K)===`week`,"has-overflow":_(u),"drop-target":_(Gt)&&_(Z)===_(n).dateStr}),m=F(p,1,`day-number svelte-dnwsps`,null,m,{"today-number":_(n).isToday}),a(v,_(n).day)}),o(`dragover`,d,e=>qt(e,_(n).dateStr)),o(`dragleave`,d,Jt),o(`drop`,d,e=>Xt(e,_(n).dateStr)),c(t,d)}),h(n),c(t,n)};l(bn,e=>{_(J).length===0?e(xn):e(Sn,-1)}),h(Qt);var Cn=O(Qt,2),wn=e=>{let t=r(()=>xe(_(Y).entityType)),n=r(()=>Me(_(Y),_(H)));var i=ot();let o;var s=w(i),u=w(s,!0);h(s);var d=O(s,2),f=w(d);let p;var m=O(f,2),g=w(m,!0);h(m),h(d);var v=O(d,2),y=e=>{var t=rt(),r=w(t),i=w(r,!0);h(r),h(t),A(e=>a(i,e),[()=>new Date(_(n)+`T00:00:00`).toLocaleDateString(`en-US`,{month:`short`,day:`numeric`,year:`numeric`})]),c(e,t)};l(v,e=>{_(n)&&e(y)});var b=O(v,2),x=e=>{let t=r(()=>De(_(Y).entityType,`status`,String(_(Y).fields.status)));var n=at(),i=w(n),o=e=>{var n=it();let r;A(()=>r=S(n,``,r,{background:_(t)})),c(e,n)};l(i,e=>{_(t)&&e(o)});var s=O(i,2),u=w(s,!0);h(s),h(n),A(e=>a(u,e),[()=>be(String(_(Y).fields.status))]),c(e,n)};l(b,e=>{_(Y).fields.status&&e(x)}),h(i),A((e,n)=>{o=S(i,``,o,{left:`${_(Mt).x??``}px`,top:`${_(Mt).y??``}px`,transform:`translate(${_(Nt)?`-100%`:`0`}, ${_(Pt)?`-100%`:`0`})`}),a(u,e),p=S(f,``,p,{background:_(t)}),a(g,n)},[()=>we(_(Y).title),()=>be(_(Y).entityType)]),c(e,i)};l(Cn,e=>{_(Y)&&e(wn)});var Tn=O(Cn,2),En=t=>{var n=ct(),i=j(n),o=O(i,2);let s;var l=w(o);e(l,21,()=>_(zt),D,(e,t)=>{let n=r(()=>xe(_(t).entityType));var i=st(),o=w(i);let s;var l=O(o,2),u=w(l,!0);h(l),re(l,e=>Te?.(e));var d=O(l,2),f=w(d,!0);h(d),h(i),A((e,t)=>{s=S(o,``,s,{background:_(n)}),a(u,e),a(f,t)},[()=>we(_(t).title),()=>be(_(t).entityType)]),g(`click`,i,()=>{Ut(),jt(_(t))}),c(e,i)}),h(l),h(o),A(()=>s=S(o,``,s,{left:`${_(Bt).x??``}px`,top:`${_(Bt).y??``}px`})),g(`click`,i,Ut),c(t,n)};l(Tn,e=>{_(zt).length>0&&e(En)}),A(()=>{nn=F(Q,1,`toolbar-icon-btn mode-toggle svelte-dnwsps`,null,nn,{active:_(K)===`week`}),ne(Q,`title`,_(K)===`week`?`Switch to month view`:`Switch to week view`),ne($,`title`,_(K)===`week`?`Previous week`:`Previous month`),a(pn,_(Ct)),a(hn,_(wt)),ne(gn,`title`,_(K)===`week`?`Next week`:`Next month`)}),g(`click`,Q,kt),g(`click`,$,Et),g(`click`,dn,Ot),g(`click`,gn,Dt),c(t,Zt),u()}m([`click`,`mousemove`]);export{ut as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./BT3KAag_.js";import{o as e}from"./
|
|
1
|
+
import"./BT3KAag_.js";import{o as e}from"./BNl1RvZ2.js";var t=()=>{let t=e;return{page:{subscribe:t.page.subscribe},navigating:{subscribe:t.navigating.subscribe},updated:t.updated}},n={subscribe(e){return t().page.subscribe(e)}},r={subscribe(e){return t().navigating.subscribe(e)}};export{n,r as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,Bt as t,Ct as n,F as r,L as i,N as a,Nt as o,Pt as s,Vt as c,X as l,Y as u,_t as d,a as f,at as p,bt as m,ft as h,g,ht as _,it as v,o as y,ot as b,u as x,vt as S}from"./BT3KAag_.js";import"./t62M88qj.js";import"./BZnJ8tbJ.js";import{t as C}from"./
|
|
1
|
+
import{B as e,Bt as t,Ct as n,F as r,L as i,N as a,Nt as o,Pt as s,Vt as c,X as l,Y as u,_t as d,a as f,at as p,bt as m,ft as h,g,ht as _,it as v,o as y,ot as b,u as x,vt as S}from"./BT3KAag_.js";import"./t62M88qj.js";import"./BZnJ8tbJ.js";import{t as C}from"./CIrQ1t-t.js";var w=e(`<title> </title>`),T=e(`<svg><!><path d="M18 6 16.57 7.393 24.15 15 4 15 4 17 24.15 17 16.57 24.573 18 26 28 16 18 6z"></path></svg>`);function E(e,n){let m=f(n,[`children`,`$$slots`,`$$events`,`$$legacy`]),_=f(m,[`size`,`title`]);s(n,!1);let C=d(),E=d(),D=y(n,`size`,8,16),O=y(n,`title`,8,void 0);v(()=>(u(m),u(O())),()=>{S(C,m[`aria-label`]||m[`aria-labelledby`]||O())}),v(()=>(l(C),u(m)),()=>{S(E,{"aria-hidden":l(C)?void 0:!0,role:l(C)?`img`:void 0,focusable:Number(m.tabindex)===0?!0:void 0})}),p(),x();var k=T();g(k,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:D(),height:D(),...l(E),..._}));var A=h(k),j=e=>{var t=w(),n=h(t,!0);c(t),b(()=>r(n,O())),i(e,t)};a(A,e=>{O()&&e(j)}),t(),c(k),i(e,k),o()}var D=e(`<title> </title>`),O=e(`<svg><!><path d="M27.4,14.7l-6.1-6.1C21,8.2,20.5,8,20,8h-8c-1.1,0-2,0.9-2,2v18c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V16.1 C28,15.6,27.8,15.1,27.4,14.7z M20,10l5.9,6H20V10z M12,28V10h6v6c0,1.1,0.9,2,2,2h6l0,10H12z"></path><path d="M6,18H4V4c0-1.1,0.9-2,2-2h14v2H6V18z"></path></svg>`);function k(e,n){let m=f(n,[`children`,`$$slots`,`$$events`,`$$legacy`]),_=f(m,[`size`,`title`]);s(n,!1);let C=d(),w=d(),T=y(n,`size`,8,16),E=y(n,`title`,8,void 0);v(()=>(u(m),u(E())),()=>{S(C,m[`aria-label`]||m[`aria-labelledby`]||E())}),v(()=>(l(C),u(m)),()=>{S(w,{"aria-hidden":l(C)?void 0:!0,role:l(C)?`img`:void 0,focusable:Number(m.tabindex)===0?!0:void 0})}),p(),x();var k=O();g(k,()=>({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,fill:`currentColor`,preserveAspectRatio:`xMidYMid meet`,width:T(),height:T(),...l(w),..._}));var A=h(k),j=e=>{var t=D(),n=h(t,!0);c(t),b(()=>r(n,E())),i(e,t)};a(A,e=>{E()&&e(j)}),t(2),c(k),i(e,k),o()}function A(){let e=m(_({})),t=null,r=null;function i(e,n,i){r&&=(clearInterval(r),null),t=`${e}/${n}/${i}`,o(`enter`,e,n,i),r=setInterval(()=>{t&&o(`heartbeat`,e,n,i)},3e4)}function a(){if(r&&=(clearInterval(r),null),t){let[e,n,r]=t.split(`/`);e&&n&&r&&o(`leave`,e,n,r),t=null}}function o(e,t,n,r){C.send({type:`presence`,action:e,repo:t,entityType:n,entityId:r})}function s(t){let n=`${t.repo}/${t.entityType}/${t.entityId}`,r=l(e)[n]??[];if(t.action===`leave`)l(e)[n]=r.filter(e=>e.id!==t.user.id);else{let i=r.findIndex(e=>e.id===t.user.id);i>=0?(r[i]=t.user,l(e)[n]=[...r]):l(e)[n]=[...r,t.user]}}function c(){if(S(e,{},!0),!t)return;let[n,r,i]=t.split(`/`);n&&r&&i&&o(`enter`,n,r,i)}function u(t,n,r,i){let a=`${t}/${n}/${r}`,o=l(e)[a]??[];return i?o.filter(e=>e.id!==i):o}function d(t,n){let r=new Map;for(let[i,a]of Object.entries(l(e)))if(i.startsWith(t))for(let e of a)(!n||e.id!==n)&&r.set(e.id,e);return[...r.values()]}function f(e,t){return d(`${e}/`,t)}function p(t){let n=new Map;for(let r of Object.values(l(e)))for(let e of r)(!t||e.id!==t)&&n.set(e.id,e);return[...n.values()]}let h=n(()=>{let t=new Map;for(let n of Object.values(l(e)))for(let e of n)t.set(e.id,e);return[...t.values()]});return{enter:i,leave:a,handlePresenceEvent:s,resetAndResend:c,getPresence:u,getPresenceByPrefix:d,getRepoPresence:f,getAllUsers:p,get allUsers(){return l(h)}}}var j=A();C.setPresenceHandler(e=>j.handlePresenceEvent(e)),C.addConnectHandler(()=>j.resetAndResend()),typeof window<`u`&&window.addEventListener(`beforeunload`,()=>j.leave());export{k as n,E as r,j as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,Bt as t,Ct as n,D as r,Et as i,F as a,H as o,L as s,N as c,Nt as l,Pt as u,R as d,Tt as f,Vt as p,Wt as m,X as h,bt as g,ft as _,mt as v,ot as y,pt as b,st as x,vt as S,z as C}from"./BT3KAag_.js";import{r as w}from"./B1qgZtLy.js";import"./t62M88qj.js";import"./CwVKWiij.js";import{n as ee}from"./CmFlP4qY.js";import{k as te,l as ne,o as re,x as T}from"./ZCekGjo6.js";import{i as E,r as D}from"./CpYSBmKC.js";import{t as ie}from"./Cl2XDvUq.js";import{a as ae,c as oe,i as se,n as ce,o as le,r as ue,s as de,t as fe}from"./CxalqrMB.js";import{n as pe,t as O}from"./C3Enww9L2.js";import"./D9-_Euza2.js";import{n as k}from"./C-Ers7Sg2.js";import{t as me}from"./B1pYzlqe.js";import{t as he}from"./BBNNGW_Z.js";import{a as ge,c as _e,n as ve,o as A,r as j,s as M,t as N}from"./6ZlF7oWY.js";import{t as ye}from"./B0xoB9wb.js";import{n as be,t as xe}from"./DIt9lAm9.js";import Se from"./DOpK8moV.js";var Ce=C(`<!> <span> </span>`,1),we=C(`<!> <!>`,1),Te=C(`<p class="dialog-error svelte-2zr2mi"> </p>`),Ee=C(`<!> <div class="new-folder-meta svelte-2zr2mi"><!> <div class="new-folder-parent-row svelte-2zr2mi"><span class="new-folder-meta-label svelte-2zr2mi">in</span> <!></div></div> <!>`,1),De=C(`<!> <!>`,1),Oe=C(`<!> <!> <!>`,1),ke=C(`<p class="dialog-error svelte-2zr2mi"> </p>`),Ae=C(`<!> <!> <!>`,1),je=C(`<!> <!>`,1),Me=C(`<!> <!> <!>`,1),Ne=C(`<!> <span> </span>`,1),Pe=C(`<!> <!>`,1),Fe=C(`<p class="dialog-error svelte-2zr2mi"> </p>`),Ie=C(`<!> <p class="dialog-hint svelte-2zr2mi">Moving across folders changes who has access — folders share access with their parent repo.</p> <!> <!>`,1),Le=C(`<!> <!>`,1),Re=C(`<!> <!> <!>`,1),ze=C(`<!> <!>`,1),Be=C(`<span class="inline-spinner svelte-2zr2mi" aria-hidden="true"></span> <span class="inline-label-hidden svelte-2zr2mi">Delete</span>`,1),Ve=C(`<!> <!>`,1),He=C(`<!> <!>`,1),Ue=C(`<!> <!> <!> <!>`,1);function We(C,We){u(We,!0);let P=()=>i(ee,`$page`,Ge),[Ge,Ke]=f(),qe=(t,i=m,o=m,c=m)=>{var l=we(),u=b(l);{let e=n(()=>it(i(),o().path)),t=n(()=>rt(i(),o().path)),l=n(()=>Math.min(c(),4));r(u,()=>xe,(n,r)=>{r(n,{class:`move-row-nested`,get selected(){return h(e)},get disabled(){return h(t)},get"data-move-row"(){return`${i()??``}/${o().path??``}`},get style(){return`--move-depth: ${h(l)??``}`},onclick:()=>at(i(),o().path),children:(e,t)=>{var n=Ce(),r=b(n);ye(r,{size:14});var i=v(r,2),c=_(i,!0);p(i),y(e=>a(c,e),[()=>D(o().name,o().displayName)]),s(e,n)},$$slots:{default:!0}})})}e(v(u,2),17,()=>o().children,e=>e.path,(e,t)=>{qe(e,i,()=>h(t),()=>c()+1)}),s(t,l)};function Je(e,t){if(!t)return null;let n=t.split(`/`),r=e,i=null;for(let e of n){let t=r.find(t=>t.name===e)??null;if(!t)return null;i=t,r=t.children}return i}let F=n(()=>me.state);function I(){me.close()}function L(e){if(!e)return``;let t=e.split(`/`);return t[t.length-1]}function R(e){return!e||!e.includes(`/`)?``:e.slice(0,e.lastIndexOf(`/`))}function z(e,t){return e?`${e}/${t}`:t}function Ye(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}function Xe(e,t){let n=P().url.pathname,r=`/workspace/folder/${encodeURIComponent(e)}`;if(!n.startsWith(r))return!1;let i=n.slice(r.length).replace(/^\/+|\/+$/g,``).split(`/`).map(decodeURIComponent).join(`/`);return i===t||i.startsWith(t+`/`)}function Ze(e){let t=e.length;for(let n of e)t+=Ze(n.children);return t}function Qe(e,t){for(let n of e){if(n.path===t)return n;if(t.startsWith(n.path+`/`))return Qe(n.children,t)}return null}function $e(e,t){let n=E.repos.find(t=>t.name===e);if(!n)return{entries:0,subfolders:0};let r=Qe(n.subfolders,t),i=r?Ze(r.children):0;return{entries:n.entities.filter(e=>e.folder_path===t||e.folder_path.startsWith(t+`/`)).length,subfolders:i}}let B=g(``),V=g(null),H=g(!1),U=g(null),W=g(``),G=g(``);x(()=>{h(F)?.kind===`newFolder`&&(S(B,``),S(U,null),S(W,h(F).repo,!0),S(G,h(F).path,!0))}),x(()=>{h(F)?.kind===`newFolder`&&h(V)&&requestAnimationFrame(()=>h(V)?.focus())});async function et(){if(!h(F)||h(F).kind!==`newFolder`||h(H))return;let e=h(B).trim(),t=Ye(e);if(!t){S(U,`Enter a name`);return}S(H,!0);try{if(!h(W))await E.addFolder(t,e),I(),w(k(t,``));else{let n=z(h(G),t),r=e===D(t)?void 0:e;await re(h(W),n,r),await E.refreshRepoFolders(h(W));let i=h(W);I(),w(k(i,n))}}catch(e){S(U,e?.message??`Failed to create folder`,!0)}finally{S(H,!1)}}let K=g(``),q=g(null),J=g(!1),Y=g(null);x(()=>{if(h(F)?.kind===`rename`){if(h(F).path===``)S(K,E.repos.find(e=>e.name===h(F).repo)?.displayName??h(F).repo,!0);else{let e=E.repos.find(e=>e.name===h(F).repo);S(K,(e?Je(e.subfolders,h(F).path):null)?.displayName??D(L(h(F).path)),!0)}S(Y,null)}}),x(()=>{h(F)?.kind===`rename`&&h(q)&&requestAnimationFrame(()=>{h(q)?.focus(),h(q)?.select()})});async function tt(){if(!h(F)||h(F).kind!==`rename`||h(J))return;let e=h(K).trim(),t=Ye(e);if(!t){S(Y,`Enter a name`);return}let n=h(F).repo,r=h(F).path;if(r===``){S(J,!0);try{let r=t!==n;await E.renameFolderTo(n,e,r?t:void 0);let i=P().url.pathname===`/workspace/folder/${encodeURIComponent(n)}`||P().url.pathname===`/workspace/folder/${n}`;I(),r&&i&&w(`/workspace/folder/${encodeURIComponent(t)}`)}catch(e){S(Y,e?.message??`Failed to rename folder`,!0)}finally{S(J,!1)}return}let i=z(R(r),t),a=e===D(t)?``:e;if(i===r){S(J,!0);try{await T(n,r,r,a),await E.refreshRepoAfterFolderMutation(n),I()}catch(e){S(Y,e?.message??`Failed to update folder`,!0)}finally{S(J,!1)}return}S(J,!0);try{await T(n,r,i,a);let e=Xe(n,r);await E.refreshRepoAfterFolderMutation(n),I(),e&&w(k(n,i))}catch(e){S(Y,e?.message??`Failed to rename folder`,!0)}finally{S(J,!1)}}let X=g(null),Z=g(!1),Q=g(null),nt=g(null);x(()=>{h(F)?.kind===`move`&&(S(X,null),S(Q,null))}),x(()=>{if(h(F)?.kind!==`move`)return;let e=`${h(F).repo}/${h(F).path}`;requestAnimationFrame(()=>{requestAnimationFrame(()=>{(h(nt)?.querySelector(`[data-move-row="${CSS.escape(e)}"]`))?.scrollIntoView({block:`center`})})})});function rt(e,t){if(!h(F)||h(F).kind!==`move`)return!0;if(e!==h(F).repo)return!1;let n=h(F).path;return!!(t===n||t.startsWith(n+`/`)||t===R(n))}function it(e,t){return h(X)?.repo===e&&h(X)?.path===t}function at(e,t){rt(e,t)||S(X,{repo:e,path:t},!0)}async function ot(e,t,n,r,i){await te(e,t,n,i)}async function st(){if(!h(F)||h(F).kind!==`move`||h(Z)||h(X)===null)return;let e=h(F).repo,t=h(F).path,n=h(X).repo,r=h(X).path,i=z(r,L(t));if(e===n&&i===t){I();return}S(Z,!0);try{e===n?await T(e,t,i):await ot(e,t,n,r,i);let a=Xe(e,t);await E.refreshRepoAfterFolderMutation(e),e!==n&&await E.refreshRepoAfterFolderMutation(n),I(),a&&w(k(n,i))}catch(e){S(Q,e?.message??`Failed to move folder`,!0)}finally{S(Z,!1)}}let $=g(!1),ct=n(()=>h(F)?.kind===`delete`?$e(h(F).repo,h(F).path):{entries:0,subfolders:0}),lt=n(()=>{if(h(F)?.kind!==`delete`)return``;let e=E.repos.find(e=>e.name===h(F).repo),t=(e?Je(e.subfolders,h(F).path):null)?.displayName??D(L(h(F).path)),{entries:n,subfolders:r}=h(ct);if(n===0&&r===0)return`Delete folder “${t}”? This cannot be undone.`;let i=[];return n>0&&i.push(`${n} ${n===1?`entry`:`entries`}`),r>0&&i.push(`${r} ${r===1?`subfolder`:`subfolders`}`),`Delete folder “${t}” and everything inside it (${i.join(`, `)})? This cannot be undone.`});async function ut(){if(!(!h(F)||h(F).kind!==`delete`||h($))){S($,!0);try{await ne(h(F).repo,h(F).path,!0);let e=Xe(h(F).repo,h(F).path),t=h(F).repo,n=R(h(F).path);await E.refreshRepoAfterFolderMutation(t),I(),e&&w(k(t,n))}catch(e){ie.showToast(e?.message??`Failed to delete folder`),S($,!1)}finally{S($,!1)}}}let dt=n(()=>h(F)?.kind===`move`?E.repos.slice().sort((e,t)=>e.displayName.localeCompare(t.displayName)):[]);var ft=Ue(),pt=b(ft);{let e=n(()=>h(F)?.kind===`newFolder`);r(pt,()=>_e,(i,l)=>{l(i,{get open(){return h(e)},onOpenChange:e=>{e||I()},children:(e,i)=>{var l=d();r(b(l),()=>M,(e,i)=>{i(e,{size:`sm`,children:(e,i)=>{var l=Oe(),u=b(l);r(u,()=>A,(e,t)=>{t(e,{class:`close-only-header`,children:(e,t)=>{var n=d();r(b(n),()=>N,(e,t)=>{t(e,{})}),s(e,n)},$$slots:{default:!0}})});var f=v(u,2);r(f,()=>j,(e,n)=>{n(e,{class:`dialog-body-lg`,children:(e,n)=>{var i=Ee(),l=b(i);r(l,()=>ge,(e,n)=>{n(e,{children:(e,n)=>{t(),s(e,o(`New Folder`))},$$slots:{default:!0}})});var u=v(l,2),d=_(u);he(d,{type:`text`,placeholder:`Folder name`,onkeydown:e=>{e.key===`Enter`&&(e.preventDefault(),et())},get ref(){return h(V)},set ref(e){S(V,e,!0)},get value(){return h(B)},set value(e){S(B,e,!0)}});var f=v(d,2);Se(v(_(f),2),{get repos(){return E.repos},get repo(){return h(W)},get folderPath(){return h(G)},allowWorkspaceRoot:!0,onchange:({repo:e,folderPath:t})=>{S(W,e,!0),S(G,t,!0)}}),p(f),p(u);var m=v(u,2),g=e=>{var t=Te(),n=_(t,!0);p(t),y(()=>a(n,h(U))),s(e,t)};c(m,e=>{h(U)&&e(g)}),s(e,i)},$$slots:{default:!0}})}),r(v(f,2),()=>ve,(e,r)=>{r(e,{children:(e,r)=>{var i=De(),a=b(i);O(a,{variant:`ghost`,onclick:I,children:(e,n)=>{t(),s(e,o(`Cancel`))},$$slots:{default:!0}});var c=v(a,2);{let e=n(()=>!h(B).trim());O(c,{variant:`accent`,get disabled(){return h(e)},get loading(){return h(H)},onclick:et,children:(e,n)=>{t(),s(e,o(`Create`))},$$slots:{default:!0}})}s(e,i)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})})}var mt=v(pt,2);{let e=n(()=>h(F)?.kind===`rename`);r(mt,()=>_e,(i,l)=>{l(i,{get open(){return h(e)},onOpenChange:e=>{e||I()},children:(e,i)=>{var l=d();r(b(l),()=>M,(e,i)=>{i(e,{size:`sm`,children:(e,i)=>{var l=Me(),u=b(l);r(u,()=>A,(e,t)=>{t(e,{class:`close-only-header`,children:(e,t)=>{var n=d();r(b(n),()=>N,(e,t)=>{t(e,{})}),s(e,n)},$$slots:{default:!0}})});var f=v(u,2);r(f,()=>j,(e,n)=>{n(e,{class:`dialog-body-lg`,children:(e,n)=>{var i=Ae(),l=b(i);r(l,()=>ge,(e,n)=>{n(e,{children:(e,n)=>{t(),s(e,o(`Rename Folder`))},$$slots:{default:!0}})});var u=v(l,2);he(u,{type:`text`,placeholder:`Folder name`,onkeydown:e=>{e.key===`Enter`&&(e.preventDefault(),tt())},get ref(){return h(q)},set ref(e){S(q,e,!0)},get value(){return h(K)},set value(e){S(K,e,!0)}});var d=v(u,2),f=e=>{var t=ke(),n=_(t,!0);p(t),y(()=>a(n,h(Y))),s(e,t)};c(d,e=>{h(Y)&&e(f)}),s(e,i)},$$slots:{default:!0}})}),r(v(f,2),()=>ve,(e,r)=>{r(e,{children:(e,r)=>{var i=je(),a=b(i);O(a,{variant:`ghost`,onclick:I,children:(e,n)=>{t(),s(e,o(`Cancel`))},$$slots:{default:!0}});var c=v(a,2);{let e=n(()=>!h(K).trim());O(c,{variant:`accent`,get disabled(){return h(e)},get loading(){return h(J)},onclick:tt,children:(e,n)=>{t(),s(e,o(`Rename`))},$$slots:{default:!0}})}s(e,i)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})})}var ht=v(mt,2);{let i=n(()=>h(F)?.kind===`move`);r(ht,()=>_e,(l,u)=>{u(l,{get open(){return h(i)},onOpenChange:e=>{e||I()},children:(i,l)=>{var u=d();r(b(u),()=>M,(i,l)=>{l(i,{size:`sm`,children:(i,l)=>{var u=Re(),f=b(u);r(f,()=>A,(e,t)=>{t(e,{class:`close-only-header`,children:(e,t)=>{var n=d();r(b(n),()=>N,(e,t)=>{t(e,{})}),s(e,n)},$$slots:{default:!0}})});var m=v(f,2);r(m,()=>j,(i,l)=>{l(i,{class:`dialog-body-lg`,children:(i,l)=>{var u=Ie(),f=b(u);r(f,()=>ge,(e,n)=>{n(e,{children:(e,n)=>{t(),s(e,o(`Move Folder`))},$$slots:{default:!0}})});var m=v(f,4);r(m,()=>be,(t,i)=>{i(t,{"aria-label":`Choose destination folder`,get ref(){return h(nt)},set ref(e){S(nt,e,!0)},children:(t,i)=>{var o=d();e(b(o),17,()=>h(dt),e=>e.name,(t,i)=>{var o=Pe(),c=b(o);{let e=n(()=>it(h(i).name,``)),t=n(()=>rt(h(i).name,``));r(c,()=>xe,(n,r)=>{r(n,{class:`move-row-repo`,get selected(){return h(e)},get disabled(){return h(t)},get"data-move-row"(){return`${h(i).name??``}/`},onclick:()=>at(h(i).name,``),children:(e,t)=>{var n=Ne(),r=b(n);ye(r,{size:14});var o=v(r,2),c=_(o,!0);p(o),y(()=>a(c,h(i).displayName)),s(e,n)},$$slots:{default:!0}})})}e(v(c,2),17,()=>h(i).subfolders,e=>e.path,(e,t)=>{qe(e,()=>h(i).name,()=>h(t),()=>1)}),s(t,o)}),s(t,o)},$$slots:{default:!0}})});var g=v(m,2),x=e=>{var t=Fe(),n=_(t,!0);p(t),y(()=>a(n,h(Q))),s(e,t)};c(g,e=>{h(Q)&&e(x)}),s(i,u)},$$slots:{default:!0}})}),r(v(m,2),()=>ve,(e,r)=>{r(e,{children:(e,r)=>{var i=Le(),a=b(i);O(a,{variant:`ghost`,onclick:I,children:(e,n)=>{t(),s(e,o(`Cancel`))},$$slots:{default:!0}});var c=v(a,2);{let e=n(()=>h(X)===null);O(c,{variant:`accent`,get disabled(){return h(e)},get loading(){return h(Z)},onclick:st,children:(e,n)=>{t(),s(e,o(`Move`))},$$slots:{default:!0}})}s(e,i)},$$slots:{default:!0}})}),s(i,u)},$$slots:{default:!0}})}),s(i,u)},$$slots:{default:!0}})})}var gt=v(ht,2);{let e=n(()=>h(F)?.kind===`delete`);r(gt,()=>oe,(i,l)=>{l(i,{get open(){return h(e)},onOpenChange:e=>{e||I()},children:(e,i)=>{var l=d();r(b(l),()=>ce,(e,i)=>{i(e,{children:(e,i)=>{var l=He(),u=b(l);r(u,()=>ue,(e,n)=>{n(e,{children:(e,n)=>{var i=ze(),c=b(i);r(c,()=>de,(e,n)=>{n(e,{children:(e,n)=>{t(),s(e,o(`Delete Folder`))},$$slots:{default:!0}})}),r(v(c,2),()=>fe,(e,n)=>{n(e,{children:(e,n)=>{t();var r=o();y(()=>a(r,h(lt))),s(e,r)},$$slots:{default:!0}})}),s(e,i)},$$slots:{default:!0}})}),r(v(u,2),()=>se,(e,i)=>{i(e,{children:(e,i)=>{var a=Ve(),l=b(a);{let e=n(()=>pe({variant:`ghost`}));r(l,()=>ae,(n,r)=>{r(n,{get class(){return h(e)},onclick:I,children:(e,n)=>{t(),s(e,o(`Cancel`))},$$slots:{default:!0}})})}var u=v(l,2);{let e=n(()=>`${pe({variant:`destructive`})}${h($)?` relative`:``}`);r(u,()=>le,(n,r)=>{r(n,{get class(){return h(e)},onclick:ut,get disabled(){return h($)},get"aria-busy"(){return h($)},children:(e,n)=>{var r=d(),i=b(r),a=e=>{var n=Be();t(2),s(e,n)},l=e=>{s(e,o(`Delete`))};c(i,e=>{h($)?e(a):e(l,-1)}),s(e,r)},$$slots:{default:!0}})})}s(e,a)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})})}s(C,ft),l(),Ke()}export{We as default};
|
|
1
|
+
import{A as e,Bt as t,Ct as n,D as r,Et as i,F as a,H as o,L as s,N as c,Nt as l,Pt as u,R as d,Tt as f,Vt as p,Wt as m,X as h,bt as g,ft as _,mt as v,ot as y,pt as b,st as x,vt as S,z as C}from"./BT3KAag_.js";import{r as w}from"./BNl1RvZ2.js";import"./t62M88qj.js";import"./CrLLAn6A.js";import{n as ee}from"./B24UNsyl.js";import{k as te,l as ne,o as re,x as T}from"./ZCekGjo6.js";import{i as E,r as D}from"./CpYSBmKC.js";import{t as ie}from"./CIrQ1t-t.js";import{a as ae,c as oe,i as se,n as ce,o as le,r as ue,s as de,t as fe}from"./CxalqrMB.js";import{n as pe,t as O}from"./C3Enww9L2.js";import"./D9-_Euza2.js";import{n as k}from"./C-Ers7Sg2.js";import{t as me}from"./B1pYzlqe.js";import{t as he}from"./BBNNGW_Z.js";import{a as ge,c as _e,n as ve,o as A,r as j,s as M,t as N}from"./6ZlF7oWY.js";import{t as ye}from"./B0xoB9wb.js";import{n as be,t as xe}from"./DIt9lAm9.js";import Se from"./DOpK8moV.js";var Ce=C(`<!> <span> </span>`,1),we=C(`<!> <!>`,1),Te=C(`<p class="dialog-error svelte-2zr2mi"> </p>`),Ee=C(`<!> <div class="new-folder-meta svelte-2zr2mi"><!> <div class="new-folder-parent-row svelte-2zr2mi"><span class="new-folder-meta-label svelte-2zr2mi">in</span> <!></div></div> <!>`,1),De=C(`<!> <!>`,1),Oe=C(`<!> <!> <!>`,1),ke=C(`<p class="dialog-error svelte-2zr2mi"> </p>`),Ae=C(`<!> <!> <!>`,1),je=C(`<!> <!>`,1),Me=C(`<!> <!> <!>`,1),Ne=C(`<!> <span> </span>`,1),Pe=C(`<!> <!>`,1),Fe=C(`<p class="dialog-error svelte-2zr2mi"> </p>`),Ie=C(`<!> <p class="dialog-hint svelte-2zr2mi">Moving across folders changes who has access — folders share access with their parent repo.</p> <!> <!>`,1),Le=C(`<!> <!>`,1),Re=C(`<!> <!> <!>`,1),ze=C(`<!> <!>`,1),Be=C(`<span class="inline-spinner svelte-2zr2mi" aria-hidden="true"></span> <span class="inline-label-hidden svelte-2zr2mi">Delete</span>`,1),Ve=C(`<!> <!>`,1),He=C(`<!> <!>`,1),Ue=C(`<!> <!> <!> <!>`,1);function We(C,We){u(We,!0);let P=()=>i(ee,`$page`,Ge),[Ge,Ke]=f(),qe=(t,i=m,o=m,c=m)=>{var l=we(),u=b(l);{let e=n(()=>it(i(),o().path)),t=n(()=>rt(i(),o().path)),l=n(()=>Math.min(c(),4));r(u,()=>xe,(n,r)=>{r(n,{class:`move-row-nested`,get selected(){return h(e)},get disabled(){return h(t)},get"data-move-row"(){return`${i()??``}/${o().path??``}`},get style(){return`--move-depth: ${h(l)??``}`},onclick:()=>at(i(),o().path),children:(e,t)=>{var n=Ce(),r=b(n);ye(r,{size:14});var i=v(r,2),c=_(i,!0);p(i),y(e=>a(c,e),[()=>D(o().name,o().displayName)]),s(e,n)},$$slots:{default:!0}})})}e(v(u,2),17,()=>o().children,e=>e.path,(e,t)=>{qe(e,i,()=>h(t),()=>c()+1)}),s(t,l)};function Je(e,t){if(!t)return null;let n=t.split(`/`),r=e,i=null;for(let e of n){let t=r.find(t=>t.name===e)??null;if(!t)return null;i=t,r=t.children}return i}let F=n(()=>me.state);function I(){me.close()}function L(e){if(!e)return``;let t=e.split(`/`);return t[t.length-1]}function R(e){return!e||!e.includes(`/`)?``:e.slice(0,e.lastIndexOf(`/`))}function z(e,t){return e?`${e}/${t}`:t}function Ye(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}function Xe(e,t){let n=P().url.pathname,r=`/workspace/folder/${encodeURIComponent(e)}`;if(!n.startsWith(r))return!1;let i=n.slice(r.length).replace(/^\/+|\/+$/g,``).split(`/`).map(decodeURIComponent).join(`/`);return i===t||i.startsWith(t+`/`)}function Ze(e){let t=e.length;for(let n of e)t+=Ze(n.children);return t}function Qe(e,t){for(let n of e){if(n.path===t)return n;if(t.startsWith(n.path+`/`))return Qe(n.children,t)}return null}function $e(e,t){let n=E.repos.find(t=>t.name===e);if(!n)return{entries:0,subfolders:0};let r=Qe(n.subfolders,t),i=r?Ze(r.children):0;return{entries:n.entities.filter(e=>e.folder_path===t||e.folder_path.startsWith(t+`/`)).length,subfolders:i}}let B=g(``),V=g(null),H=g(!1),U=g(null),W=g(``),G=g(``);x(()=>{h(F)?.kind===`newFolder`&&(S(B,``),S(U,null),S(W,h(F).repo,!0),S(G,h(F).path,!0))}),x(()=>{h(F)?.kind===`newFolder`&&h(V)&&requestAnimationFrame(()=>h(V)?.focus())});async function et(){if(!h(F)||h(F).kind!==`newFolder`||h(H))return;let e=h(B).trim(),t=Ye(e);if(!t){S(U,`Enter a name`);return}S(H,!0);try{if(!h(W))await E.addFolder(t,e),I(),w(k(t,``));else{let n=z(h(G),t),r=e===D(t)?void 0:e;await re(h(W),n,r),await E.refreshRepoFolders(h(W));let i=h(W);I(),w(k(i,n))}}catch(e){S(U,e?.message??`Failed to create folder`,!0)}finally{S(H,!1)}}let K=g(``),q=g(null),J=g(!1),Y=g(null);x(()=>{if(h(F)?.kind===`rename`){if(h(F).path===``)S(K,E.repos.find(e=>e.name===h(F).repo)?.displayName??h(F).repo,!0);else{let e=E.repos.find(e=>e.name===h(F).repo);S(K,(e?Je(e.subfolders,h(F).path):null)?.displayName??D(L(h(F).path)),!0)}S(Y,null)}}),x(()=>{h(F)?.kind===`rename`&&h(q)&&requestAnimationFrame(()=>{h(q)?.focus(),h(q)?.select()})});async function tt(){if(!h(F)||h(F).kind!==`rename`||h(J))return;let e=h(K).trim(),t=Ye(e);if(!t){S(Y,`Enter a name`);return}let n=h(F).repo,r=h(F).path;if(r===``){S(J,!0);try{let r=t!==n;await E.renameFolderTo(n,e,r?t:void 0);let i=P().url.pathname===`/workspace/folder/${encodeURIComponent(n)}`||P().url.pathname===`/workspace/folder/${n}`;I(),r&&i&&w(`/workspace/folder/${encodeURIComponent(t)}`)}catch(e){S(Y,e?.message??`Failed to rename folder`,!0)}finally{S(J,!1)}return}let i=z(R(r),t),a=e===D(t)?``:e;if(i===r){S(J,!0);try{await T(n,r,r,a),await E.refreshRepoAfterFolderMutation(n),I()}catch(e){S(Y,e?.message??`Failed to update folder`,!0)}finally{S(J,!1)}return}S(J,!0);try{await T(n,r,i,a);let e=Xe(n,r);await E.refreshRepoAfterFolderMutation(n),I(),e&&w(k(n,i))}catch(e){S(Y,e?.message??`Failed to rename folder`,!0)}finally{S(J,!1)}}let X=g(null),Z=g(!1),Q=g(null),nt=g(null);x(()=>{h(F)?.kind===`move`&&(S(X,null),S(Q,null))}),x(()=>{if(h(F)?.kind!==`move`)return;let e=`${h(F).repo}/${h(F).path}`;requestAnimationFrame(()=>{requestAnimationFrame(()=>{(h(nt)?.querySelector(`[data-move-row="${CSS.escape(e)}"]`))?.scrollIntoView({block:`center`})})})});function rt(e,t){if(!h(F)||h(F).kind!==`move`)return!0;if(e!==h(F).repo)return!1;let n=h(F).path;return!!(t===n||t.startsWith(n+`/`)||t===R(n))}function it(e,t){return h(X)?.repo===e&&h(X)?.path===t}function at(e,t){rt(e,t)||S(X,{repo:e,path:t},!0)}async function ot(e,t,n,r,i){await te(e,t,n,i)}async function st(){if(!h(F)||h(F).kind!==`move`||h(Z)||h(X)===null)return;let e=h(F).repo,t=h(F).path,n=h(X).repo,r=h(X).path,i=z(r,L(t));if(e===n&&i===t){I();return}S(Z,!0);try{e===n?await T(e,t,i):await ot(e,t,n,r,i);let a=Xe(e,t);await E.refreshRepoAfterFolderMutation(e),e!==n&&await E.refreshRepoAfterFolderMutation(n),I(),a&&w(k(n,i))}catch(e){S(Q,e?.message??`Failed to move folder`,!0)}finally{S(Z,!1)}}let $=g(!1),ct=n(()=>h(F)?.kind===`delete`?$e(h(F).repo,h(F).path):{entries:0,subfolders:0}),lt=n(()=>{if(h(F)?.kind!==`delete`)return``;let e=E.repos.find(e=>e.name===h(F).repo),t=(e?Je(e.subfolders,h(F).path):null)?.displayName??D(L(h(F).path)),{entries:n,subfolders:r}=h(ct);if(n===0&&r===0)return`Delete folder “${t}”? This cannot be undone.`;let i=[];return n>0&&i.push(`${n} ${n===1?`entry`:`entries`}`),r>0&&i.push(`${r} ${r===1?`subfolder`:`subfolders`}`),`Delete folder “${t}” and everything inside it (${i.join(`, `)})? This cannot be undone.`});async function ut(){if(!(!h(F)||h(F).kind!==`delete`||h($))){S($,!0);try{await ne(h(F).repo,h(F).path,!0);let e=Xe(h(F).repo,h(F).path),t=h(F).repo,n=R(h(F).path);await E.refreshRepoAfterFolderMutation(t),I(),e&&w(k(t,n))}catch(e){ie.showToast(e?.message??`Failed to delete folder`),S($,!1)}finally{S($,!1)}}}let dt=n(()=>h(F)?.kind===`move`?E.repos.slice().sort((e,t)=>e.displayName.localeCompare(t.displayName)):[]);var ft=Ue(),pt=b(ft);{let e=n(()=>h(F)?.kind===`newFolder`);r(pt,()=>_e,(i,l)=>{l(i,{get open(){return h(e)},onOpenChange:e=>{e||I()},children:(e,i)=>{var l=d();r(b(l),()=>M,(e,i)=>{i(e,{size:`sm`,children:(e,i)=>{var l=Oe(),u=b(l);r(u,()=>A,(e,t)=>{t(e,{class:`close-only-header`,children:(e,t)=>{var n=d();r(b(n),()=>N,(e,t)=>{t(e,{})}),s(e,n)},$$slots:{default:!0}})});var f=v(u,2);r(f,()=>j,(e,n)=>{n(e,{class:`dialog-body-lg`,children:(e,n)=>{var i=Ee(),l=b(i);r(l,()=>ge,(e,n)=>{n(e,{children:(e,n)=>{t(),s(e,o(`New Folder`))},$$slots:{default:!0}})});var u=v(l,2),d=_(u);he(d,{type:`text`,placeholder:`Folder name`,onkeydown:e=>{e.key===`Enter`&&(e.preventDefault(),et())},get ref(){return h(V)},set ref(e){S(V,e,!0)},get value(){return h(B)},set value(e){S(B,e,!0)}});var f=v(d,2);Se(v(_(f),2),{get repos(){return E.repos},get repo(){return h(W)},get folderPath(){return h(G)},allowWorkspaceRoot:!0,onchange:({repo:e,folderPath:t})=>{S(W,e,!0),S(G,t,!0)}}),p(f),p(u);var m=v(u,2),g=e=>{var t=Te(),n=_(t,!0);p(t),y(()=>a(n,h(U))),s(e,t)};c(m,e=>{h(U)&&e(g)}),s(e,i)},$$slots:{default:!0}})}),r(v(f,2),()=>ve,(e,r)=>{r(e,{children:(e,r)=>{var i=De(),a=b(i);O(a,{variant:`ghost`,onclick:I,children:(e,n)=>{t(),s(e,o(`Cancel`))},$$slots:{default:!0}});var c=v(a,2);{let e=n(()=>!h(B).trim());O(c,{variant:`accent`,get disabled(){return h(e)},get loading(){return h(H)},onclick:et,children:(e,n)=>{t(),s(e,o(`Create`))},$$slots:{default:!0}})}s(e,i)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})})}var mt=v(pt,2);{let e=n(()=>h(F)?.kind===`rename`);r(mt,()=>_e,(i,l)=>{l(i,{get open(){return h(e)},onOpenChange:e=>{e||I()},children:(e,i)=>{var l=d();r(b(l),()=>M,(e,i)=>{i(e,{size:`sm`,children:(e,i)=>{var l=Me(),u=b(l);r(u,()=>A,(e,t)=>{t(e,{class:`close-only-header`,children:(e,t)=>{var n=d();r(b(n),()=>N,(e,t)=>{t(e,{})}),s(e,n)},$$slots:{default:!0}})});var f=v(u,2);r(f,()=>j,(e,n)=>{n(e,{class:`dialog-body-lg`,children:(e,n)=>{var i=Ae(),l=b(i);r(l,()=>ge,(e,n)=>{n(e,{children:(e,n)=>{t(),s(e,o(`Rename Folder`))},$$slots:{default:!0}})});var u=v(l,2);he(u,{type:`text`,placeholder:`Folder name`,onkeydown:e=>{e.key===`Enter`&&(e.preventDefault(),tt())},get ref(){return h(q)},set ref(e){S(q,e,!0)},get value(){return h(K)},set value(e){S(K,e,!0)}});var d=v(u,2),f=e=>{var t=ke(),n=_(t,!0);p(t),y(()=>a(n,h(Y))),s(e,t)};c(d,e=>{h(Y)&&e(f)}),s(e,i)},$$slots:{default:!0}})}),r(v(f,2),()=>ve,(e,r)=>{r(e,{children:(e,r)=>{var i=je(),a=b(i);O(a,{variant:`ghost`,onclick:I,children:(e,n)=>{t(),s(e,o(`Cancel`))},$$slots:{default:!0}});var c=v(a,2);{let e=n(()=>!h(K).trim());O(c,{variant:`accent`,get disabled(){return h(e)},get loading(){return h(J)},onclick:tt,children:(e,n)=>{t(),s(e,o(`Rename`))},$$slots:{default:!0}})}s(e,i)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})})}var ht=v(mt,2);{let i=n(()=>h(F)?.kind===`move`);r(ht,()=>_e,(l,u)=>{u(l,{get open(){return h(i)},onOpenChange:e=>{e||I()},children:(i,l)=>{var u=d();r(b(u),()=>M,(i,l)=>{l(i,{size:`sm`,children:(i,l)=>{var u=Re(),f=b(u);r(f,()=>A,(e,t)=>{t(e,{class:`close-only-header`,children:(e,t)=>{var n=d();r(b(n),()=>N,(e,t)=>{t(e,{})}),s(e,n)},$$slots:{default:!0}})});var m=v(f,2);r(m,()=>j,(i,l)=>{l(i,{class:`dialog-body-lg`,children:(i,l)=>{var u=Ie(),f=b(u);r(f,()=>ge,(e,n)=>{n(e,{children:(e,n)=>{t(),s(e,o(`Move Folder`))},$$slots:{default:!0}})});var m=v(f,4);r(m,()=>be,(t,i)=>{i(t,{"aria-label":`Choose destination folder`,get ref(){return h(nt)},set ref(e){S(nt,e,!0)},children:(t,i)=>{var o=d();e(b(o),17,()=>h(dt),e=>e.name,(t,i)=>{var o=Pe(),c=b(o);{let e=n(()=>it(h(i).name,``)),t=n(()=>rt(h(i).name,``));r(c,()=>xe,(n,r)=>{r(n,{class:`move-row-repo`,get selected(){return h(e)},get disabled(){return h(t)},get"data-move-row"(){return`${h(i).name??``}/`},onclick:()=>at(h(i).name,``),children:(e,t)=>{var n=Ne(),r=b(n);ye(r,{size:14});var o=v(r,2),c=_(o,!0);p(o),y(()=>a(c,h(i).displayName)),s(e,n)},$$slots:{default:!0}})})}e(v(c,2),17,()=>h(i).subfolders,e=>e.path,(e,t)=>{qe(e,()=>h(i).name,()=>h(t),()=>1)}),s(t,o)}),s(t,o)},$$slots:{default:!0}})});var g=v(m,2),x=e=>{var t=Fe(),n=_(t,!0);p(t),y(()=>a(n,h(Q))),s(e,t)};c(g,e=>{h(Q)&&e(x)}),s(i,u)},$$slots:{default:!0}})}),r(v(m,2),()=>ve,(e,r)=>{r(e,{children:(e,r)=>{var i=Le(),a=b(i);O(a,{variant:`ghost`,onclick:I,children:(e,n)=>{t(),s(e,o(`Cancel`))},$$slots:{default:!0}});var c=v(a,2);{let e=n(()=>h(X)===null);O(c,{variant:`accent`,get disabled(){return h(e)},get loading(){return h(Z)},onclick:st,children:(e,n)=>{t(),s(e,o(`Move`))},$$slots:{default:!0}})}s(e,i)},$$slots:{default:!0}})}),s(i,u)},$$slots:{default:!0}})}),s(i,u)},$$slots:{default:!0}})})}var gt=v(ht,2);{let e=n(()=>h(F)?.kind===`delete`);r(gt,()=>oe,(i,l)=>{l(i,{get open(){return h(e)},onOpenChange:e=>{e||I()},children:(e,i)=>{var l=d();r(b(l),()=>ce,(e,i)=>{i(e,{children:(e,i)=>{var l=He(),u=b(l);r(u,()=>ue,(e,n)=>{n(e,{children:(e,n)=>{var i=ze(),c=b(i);r(c,()=>de,(e,n)=>{n(e,{children:(e,n)=>{t(),s(e,o(`Delete Folder`))},$$slots:{default:!0}})}),r(v(c,2),()=>fe,(e,n)=>{n(e,{children:(e,n)=>{t();var r=o();y(()=>a(r,h(lt))),s(e,r)},$$slots:{default:!0}})}),s(e,i)},$$slots:{default:!0}})}),r(v(u,2),()=>se,(e,i)=>{i(e,{children:(e,i)=>{var a=Ve(),l=b(a);{let e=n(()=>pe({variant:`ghost`}));r(l,()=>ae,(n,r)=>{r(n,{get class(){return h(e)},onclick:I,children:(e,n)=>{t(),s(e,o(`Cancel`))},$$slots:{default:!0}})})}var u=v(l,2);{let e=n(()=>`${pe({variant:`destructive`})}${h($)?` relative`:``}`);r(u,()=>le,(n,r)=>{r(n,{get class(){return h(e)},onclick:ut,get disabled(){return h($)},get"aria-busy"(){return h($)},children:(e,n)=>{var r=d(),i=b(r),a=e=>{var n=Be();t(2),s(e,n)},l=e=>{s(e,o(`Delete`))};c(i,e=>{h($)?e(a):e(l,-1)}),s(e,r)},$$slots:{default:!0}})})}s(e,a)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})}),s(e,l)},$$slots:{default:!0}})})}s(C,ft),l(),Ke()}export{We as default};
|