@hiai-gg/docsmint 0.5.5 → 0.5.7
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/backend/index.js +2 -2
- package/dist/frontend/CreateSnapshotDialog-FUq-ZfBH.js +217 -0
- package/dist/frontend/components/create-snapshot-dialog.js +1 -1
- package/dist/frontend/components/editor/document-editor.js +1 -1
- package/dist/frontend/components/version-history.js +81 -80
- package/dist/frontend-ssr/assets/{CreateSnapshotDialog-b6O0nUVp.js → CreateSnapshotDialog-CI8vXXcN.js} +3 -1
- package/dist/frontend-ssr/components/create-snapshot-dialog.js +1 -1
- package/dist/frontend-ssr/components/editor/document-editor.js +1 -1
- package/dist/frontend-ssr/components/version-history.js +5 -3
- package/package.json +1 -1
- package/packages/cli/src/index.ts +1 -1
- package/packages/mcp-server/src/index.ts +1 -1
- package/dist/frontend/CreateSnapshotDialog-CXW4sCuf.js +0 -216
package/dist/backend/index.js
CHANGED
|
@@ -226452,7 +226452,7 @@ async function invalidateDocListCache(userId) {
|
|
|
226452
226452
|
}
|
|
226453
226453
|
}
|
|
226454
226454
|
async function invalidateDocCache(docId) {
|
|
226455
|
-
const pattern = `${SINGLE_PREFIX}*:${docId}
|
|
226455
|
+
const pattern = `${SINGLE_PREFIX}*:${docId}:scope:*`;
|
|
226456
226456
|
try {
|
|
226457
226457
|
let cursor = "0";
|
|
226458
226458
|
do {
|
|
@@ -234279,7 +234279,7 @@ var swaggerConfig = {
|
|
|
234279
234279
|
},
|
|
234280
234280
|
info: {
|
|
234281
234281
|
title: "DocsMint API",
|
|
234282
|
-
version: "0.5.
|
|
234282
|
+
version: "0.5.7",
|
|
234283
234283
|
description: "Self-hosted AI-first documentation platform. Full-text + semantic search, version history, sharing, and folder organization.",
|
|
234284
234284
|
contact: { name: "HiAi-gg", url: "https://github.com/HiAi-gg/docsmint" },
|
|
234285
234285
|
license: {
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { n as e } from "./dist-DQa_OHOa.js";
|
|
2
|
+
import { V as t, Yt as n, an as r, ar as i, en as a, in as o, nn as s, on as c, rn as l, rr as u, sn as d, tn as f } from "./messages-DIovIZrK.js";
|
|
3
|
+
import { a as p } from "./route-context-DYQlUfzL.js";
|
|
4
|
+
import { a as m, i as h, n as g, o as _, r as v, t as y } from "./dialog-Ce79C9fd.js";
|
|
5
|
+
import { t as b } from "./input-BWlOML_m.js";
|
|
6
|
+
import { n as x, t as S } from "./client-GbtOH90i.js";
|
|
7
|
+
import { t as C } from "./textarea-DOAE-h42.js";
|
|
8
|
+
import "svelte/internal/disclose-version";
|
|
9
|
+
import * as w from "svelte/internal/client";
|
|
10
|
+
//#region src/lib/components/CreateSnapshotDialog.svelte
|
|
11
|
+
var T = w.from_html("<!> <!>", 1), E = w.from_html("<p id=\"snapshot-label-error\" class=\"text-xs text-destructive\"> </p>"), D = w.from_html("<p class=\"text-xs text-destructive\" role=\"alert\"> </p>"), O = w.from_html("<!> ", 1), k = w.from_html("<!> <form class=\"space-y-4\"><div class=\"space-y-2\"><label for=\"snapshot-label\" class=\"text-sm font-medium\"> </label> <!> <!></div> <div class=\"space-y-2\"><label for=\"snapshot-description\" class=\"text-sm font-medium\"> </label> <!></div> <!></form> <!>", 1);
|
|
12
|
+
function A(A, j) {
|
|
13
|
+
w.push(j, !0);
|
|
14
|
+
let M = w.prop(j, "open", 15, !1), N = w.state(""), P = w.state(""), F = w.state(null), I = w.state(null), L = w.state(!1), R = p();
|
|
15
|
+
function z() {
|
|
16
|
+
w.set(N, ""), w.set(P, ""), w.set(F, null), w.set(I, null), w.set(L, !1);
|
|
17
|
+
}
|
|
18
|
+
function B() {
|
|
19
|
+
w.get(L) || (M(!1), z());
|
|
20
|
+
}
|
|
21
|
+
function V(e) {
|
|
22
|
+
e ? z() : w.get(L) || (M(!1), z());
|
|
23
|
+
}
|
|
24
|
+
function H(e) {
|
|
25
|
+
if (e?.preventDefault(), w.get(L)) return;
|
|
26
|
+
let n = w.get(N).trim();
|
|
27
|
+
if (n.length === 0) {
|
|
28
|
+
w.set(F, d(), !0);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (n.length > 100) {
|
|
32
|
+
w.set(F, t(), !0);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
let r = w.get(P).trim();
|
|
36
|
+
if (r.length > 500) {
|
|
37
|
+
w.set(I, t(), !0);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
U(n, r);
|
|
41
|
+
}
|
|
42
|
+
async function U(e, t) {
|
|
43
|
+
w.set(L, !0), w.set(F, null), w.set(I, null);
|
|
44
|
+
try {
|
|
45
|
+
let n = { label: e };
|
|
46
|
+
t.length > 0 && (n.description = t), await x(`/api/documents/${j.documentId}/versions`, {
|
|
47
|
+
method: "POST",
|
|
48
|
+
body: JSON.stringify(n)
|
|
49
|
+
}, R.fetch), j.onSuccess?.(), M(!1), z();
|
|
50
|
+
} catch (e) {
|
|
51
|
+
e instanceof S ? w.set(I, `${n()}: ${e.message}`) : w.set(I, e instanceof Error ? e.message : i(), !0), console.error("CreateSnapshotDialog: failed", e);
|
|
52
|
+
} finally {
|
|
53
|
+
w.set(L, !1);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
function W(e) {
|
|
57
|
+
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), H());
|
|
58
|
+
}
|
|
59
|
+
m(A, {
|
|
60
|
+
onOpenChange: V,
|
|
61
|
+
get open() {
|
|
62
|
+
return M();
|
|
63
|
+
},
|
|
64
|
+
set open(e) {
|
|
65
|
+
M(e);
|
|
66
|
+
},
|
|
67
|
+
children: (t, n) => {
|
|
68
|
+
var i = k(), p = w.first_child(i);
|
|
69
|
+
g(p, {
|
|
70
|
+
children: (e, t) => {
|
|
71
|
+
var n = T(), r = w.first_child(n);
|
|
72
|
+
y(r, {
|
|
73
|
+
children: (e, t) => {
|
|
74
|
+
w.next();
|
|
75
|
+
var n = w.text();
|
|
76
|
+
w.template_effect((e) => w.set_text(n, e), [() => f()]), w.append(e, n);
|
|
77
|
+
},
|
|
78
|
+
$$slots: { default: !0 }
|
|
79
|
+
}), h(w.sibling(r, 2), {
|
|
80
|
+
children: (e, t) => {
|
|
81
|
+
w.next();
|
|
82
|
+
var n = w.text();
|
|
83
|
+
w.template_effect((e) => w.set_text(n, e), [() => a()]), w.append(e, n);
|
|
84
|
+
},
|
|
85
|
+
$$slots: { default: !0 }
|
|
86
|
+
}), w.append(e, n);
|
|
87
|
+
},
|
|
88
|
+
$$slots: { default: !0 }
|
|
89
|
+
});
|
|
90
|
+
var m = w.sibling(p, 2), x = w.child(m), S = w.child(x), A = w.child(S, !0);
|
|
91
|
+
w.reset(S);
|
|
92
|
+
var j = w.sibling(S, 2);
|
|
93
|
+
{
|
|
94
|
+
let e = w.derived(() => r()), t = w.derived(() => w.get(F) ? "true" : void 0), n = w.derived(() => w.get(F) ? "snapshot-label-error" : void 0);
|
|
95
|
+
b(j, {
|
|
96
|
+
id: "snapshot-label",
|
|
97
|
+
name: "label",
|
|
98
|
+
type: "text",
|
|
99
|
+
get placeholder() {
|
|
100
|
+
return w.get(e);
|
|
101
|
+
},
|
|
102
|
+
maxlength: 100,
|
|
103
|
+
required: !0,
|
|
104
|
+
get disabled() {
|
|
105
|
+
return w.get(L);
|
|
106
|
+
},
|
|
107
|
+
get "aria-invalid"() {
|
|
108
|
+
return w.get(t);
|
|
109
|
+
},
|
|
110
|
+
get "aria-describedby"() {
|
|
111
|
+
return w.get(n);
|
|
112
|
+
},
|
|
113
|
+
autocomplete: "off",
|
|
114
|
+
onkeydown: W,
|
|
115
|
+
get value() {
|
|
116
|
+
return w.get(N);
|
|
117
|
+
},
|
|
118
|
+
set value(e) {
|
|
119
|
+
w.set(N, e, !0);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
var M = w.sibling(j, 2), R = (e) => {
|
|
124
|
+
var t = E(), n = w.child(t, !0);
|
|
125
|
+
w.reset(t), w.template_effect(() => w.set_text(n, w.get(F))), w.append(e, t);
|
|
126
|
+
};
|
|
127
|
+
w.if(M, (e) => {
|
|
128
|
+
w.get(F) && e(R);
|
|
129
|
+
}), w.reset(x);
|
|
130
|
+
var z = w.sibling(x, 2), V = w.child(z), U = w.child(V, !0);
|
|
131
|
+
w.reset(V);
|
|
132
|
+
var G = w.sibling(V, 2);
|
|
133
|
+
{
|
|
134
|
+
let e = w.derived(() => o());
|
|
135
|
+
C(G, {
|
|
136
|
+
id: "snapshot-description",
|
|
137
|
+
name: "description",
|
|
138
|
+
get placeholder() {
|
|
139
|
+
return w.get(e);
|
|
140
|
+
},
|
|
141
|
+
maxlength: 500,
|
|
142
|
+
rows: 3,
|
|
143
|
+
get disabled() {
|
|
144
|
+
return w.get(L);
|
|
145
|
+
},
|
|
146
|
+
get value() {
|
|
147
|
+
return w.get(P);
|
|
148
|
+
},
|
|
149
|
+
set value(e) {
|
|
150
|
+
w.set(P, e, !0);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
w.reset(z);
|
|
155
|
+
var K = w.sibling(z, 2), q = (e) => {
|
|
156
|
+
var t = D(), n = w.child(t, !0);
|
|
157
|
+
w.reset(t), w.template_effect(() => w.set_text(n, w.get(I))), w.append(e, t);
|
|
158
|
+
};
|
|
159
|
+
w.if(K, (e) => {
|
|
160
|
+
w.get(I) && e(q);
|
|
161
|
+
}), w.reset(m), v(w.sibling(m, 2), {
|
|
162
|
+
children: (t, n) => {
|
|
163
|
+
var r = T(), i = w.first_child(r);
|
|
164
|
+
_(i, {
|
|
165
|
+
variant: "outline",
|
|
166
|
+
type: "button",
|
|
167
|
+
onclick: B,
|
|
168
|
+
get disabled() {
|
|
169
|
+
return w.get(L);
|
|
170
|
+
},
|
|
171
|
+
children: (e, t) => {
|
|
172
|
+
w.next();
|
|
173
|
+
var n = w.text();
|
|
174
|
+
w.template_effect((e) => w.set_text(n, e), [() => u()]), w.append(e, n);
|
|
175
|
+
},
|
|
176
|
+
$$slots: { default: !0 }
|
|
177
|
+
});
|
|
178
|
+
var a = w.sibling(i, 2);
|
|
179
|
+
{
|
|
180
|
+
let t = w.derived(() => w.get(L) || w.get(N).trim().length === 0);
|
|
181
|
+
_(a, {
|
|
182
|
+
type: "button",
|
|
183
|
+
onclick: () => H(),
|
|
184
|
+
get disabled() {
|
|
185
|
+
return w.get(t);
|
|
186
|
+
},
|
|
187
|
+
children: (t, n) => {
|
|
188
|
+
var r = w.comment(), i = w.first_child(r), a = (t) => {
|
|
189
|
+
var n = O(), r = w.first_child(n);
|
|
190
|
+
e(r, { class: "mr-1 size-4 animate-spin" });
|
|
191
|
+
var i = w.sibling(r);
|
|
192
|
+
w.template_effect((e) => w.set_text(i, ` ${e ?? ""}`), [() => s()]), w.append(t, n);
|
|
193
|
+
}, o = (e) => {
|
|
194
|
+
var t = w.text();
|
|
195
|
+
w.template_effect((e) => w.set_text(t, e), [() => l()]), w.append(e, t);
|
|
196
|
+
};
|
|
197
|
+
w.if(i, (e) => {
|
|
198
|
+
w.get(L) ? e(a) : e(o, -1);
|
|
199
|
+
}), w.append(t, r);
|
|
200
|
+
},
|
|
201
|
+
$$slots: { default: !0 }
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
w.append(t, r);
|
|
205
|
+
},
|
|
206
|
+
$$slots: { default: !0 }
|
|
207
|
+
}), w.template_effect((e, t) => {
|
|
208
|
+
w.set_text(A, e), w.set_text(U, t);
|
|
209
|
+
}, [() => d(), () => c()]), w.event("submit", m, (e) => {
|
|
210
|
+
e.preventDefault(), H();
|
|
211
|
+
}), w.append(t, i);
|
|
212
|
+
},
|
|
213
|
+
$$slots: { default: !0 }
|
|
214
|
+
}), w.pop();
|
|
215
|
+
}
|
|
216
|
+
//#endregion
|
|
217
|
+
export { A as t };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../CreateSnapshotDialog-
|
|
1
|
+
import { t as e } from "../CreateSnapshotDialog-FUq-ZfBH.js";
|
|
2
2
|
export { e as CreateSnapshotDialog };
|
|
@@ -15,7 +15,7 @@ import { h as Ve, u as He } from "../../keyboard.svelte-CApmX0vl.js";
|
|
|
15
15
|
import { t as Ue } from "../../clipboard-Cgzxc0_R.js";
|
|
16
16
|
import { n as We, o as Ge, r as Ke } from "../../attachments-B8AuDjno.js";
|
|
17
17
|
import { A as S, B as qe, C, D as Je, F as Ye, H as Xe, L as Ze, M as Qe, N as $e, O as w, P as et, S as T, U as E, Y as tt, _ as D, a as nt, b as O, c as rt, ct as k, d as A, et as j, f as M, ft as N, h as P, j as F, k as it, l as I, lt as L, m as R, mt as at, o as ot, p as st, pt as ct, s as lt, st as ut, tt as dt, u as z, v as ft, w as pt, x as mt, y as B, z as V } from "../../awareness-snQ3RD9f.js";
|
|
18
|
-
import { t as ht } from "../../CreateSnapshotDialog-
|
|
18
|
+
import { t as ht } from "../../CreateSnapshotDialog-FUq-ZfBH.js";
|
|
19
19
|
import { _ as gt, a as _t, c as H, d as U, f as W, g as G, h as vt, l as K, m as q, o as yt, p as bt, r as xt, s as St, u as Ct, v as wt } from "../../editorExtensions-BMHvUbdk.js";
|
|
20
20
|
import { t as Tt } from "../../markdown-BwnyjITU.js";
|
|
21
21
|
import "svelte/internal/disclose-version";
|
|
@@ -5,9 +5,10 @@ import { t as r } from "../rotate-ccw-ta4NosZ0.js";
|
|
|
5
5
|
import { t as i } from "../circle-check-BrqfiQH1.js";
|
|
6
6
|
import { n as a } from "../dist-DQa_OHOa.js";
|
|
7
7
|
import { $t as o, E as s, Jn as c, Kn as l, Qt as u, Xt as ee, Yn as d, Yt as f, Zt as p, cn as m, dn as h, fn as g, ln as _, or as v, qn as y, rr as b, un as x } from "../messages-DIovIZrK.js";
|
|
8
|
-
import {
|
|
9
|
-
import { t as w } from "../
|
|
10
|
-
import { t as
|
|
8
|
+
import { a as S } from "../route-context-DYQlUfzL.js";
|
|
9
|
+
import { n as C, t as w } from "../client-GbtOH90i.js";
|
|
10
|
+
import { t as te } from "../ConfirmDialog-DgMTQBq4.js";
|
|
11
|
+
import { t as T } from "../CreateSnapshotDialog-FUq-ZfBH.js";
|
|
11
12
|
import "svelte/internal/disclose-version";
|
|
12
13
|
import * as E from "svelte/internal/client";
|
|
13
14
|
import "svelte/internal/flags/legacy";
|
|
@@ -56,32 +57,32 @@ function O(t, n) {
|
|
|
56
57
|
}
|
|
57
58
|
//#endregion
|
|
58
59
|
//#region src/lib/components/VersionHistory.svelte
|
|
59
|
-
var
|
|
60
|
-
function
|
|
61
|
-
E.push(
|
|
62
|
-
let
|
|
60
|
+
var ne = E.from_html("<div class=\"inline-flex w-full overflow-hidden rounded-md border border-border text-xs\" role=\"tablist\"><button type=\"button\" role=\"tab\"> </button> <button type=\"button\" role=\"tab\"> </button></div>"), re = E.from_html("<div class=\"flex items-center justify-center gap-2 py-6 text-sm text-muted-foreground\"><!> <span> </span></div>"), ie = E.from_html("<p class=\"py-4 text-center text-xs text-destructive\"> </p>"), ae = E.from_html("<p class=\"py-4 text-center text-xs text-muted-foreground\"> </p>"), oe = E.from_html("<span class=\"truncate text-xs font-medium text-foreground\"> </span>"), se = E.from_html("<span class=\"truncate text-[11px] text-muted-foreground\"> </span>"), ce = E.from_html("<div class=\"mt-1 flex flex-wrap items-center gap-1\"><span class=\"inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-[10px] font-medium text-amber-800 dark:bg-amber-900/30 dark:text-amber-300\"><!> </span> <!></div>"), le = E.from_html("<div class=\"mt-1 inline-flex items-center gap-1 text-[11px] text-muted-foreground\"><!> <code class=\"rounded bg-muted px-1 font-mono text-[10px]\"> </code></div>"), ue = E.from_html("<div class=\"flex items-start gap-3 rounded-md border border-border p-3 text-sm hover:bg-accent transition-colors\"><!> <div class=\"flex-1 min-w-0\"><div class=\"flex items-center justify-between gap-2\"><div class=\"flex flex-col gap-0.5 min-w-0\"><!> <span class=\"text-xs text-muted-foreground\"> </span></div> <button type=\"button\" class=\"inline-flex items-center gap-1 rounded-md px-2 py-1 text-xs text-muted-foreground hover:bg-background hover:text-foreground transition-colors\"><!> </button></div> <!> <!> <p class=\"mt-1 truncate text-xs text-muted-foreground\"> </p></div></div>"), de = E.from_html("<div class=\"flex flex-col gap-1 overflow-y-auto max-h-80\"></div>"), fe = E.from_html("<p class=\"sr-only\" role=\"alert\"> </p>"), pe = E.from_html("<div class=\"flex flex-col gap-2 p-4\"><div class=\"flex items-center justify-between gap-2\"><div class=\"flex items-center gap-2 text-sm font-medium text-foreground\"><!> <span> </span></div> <button type=\"button\" class=\"inline-flex items-center gap-1 rounded-md border border-border bg-background px-2 py-1 text-xs font-medium hover:bg-accent disabled:opacity-50\"><!> </button></div> <!> <!></div> <!> <!> <!>", 1);
|
|
61
|
+
function k(e, k) {
|
|
62
|
+
E.push(k, !0);
|
|
63
|
+
let A = E.state(E.proxy([])), j = E.state(!0), M = E.state(null), N = E.state("all"), P = E.state(!1), F = E.state(!1), I = E.state(null), L = E.state(!1), R = E.state(null), z = S();
|
|
63
64
|
async function B() {
|
|
64
|
-
E.set(
|
|
65
|
+
E.set(j, !0), E.set(M, null);
|
|
65
66
|
try {
|
|
66
|
-
E.set(
|
|
67
|
+
E.set(A, await C(`/api/documents/${k.documentId}/versions`, {}, z.fetch), !0);
|
|
67
68
|
} catch (e) {
|
|
68
|
-
E.set(
|
|
69
|
+
E.set(M, e instanceof Error ? e.message : String(e), !0), console.error("Failed to load versions", e);
|
|
69
70
|
} finally {
|
|
70
|
-
E.set(
|
|
71
|
+
E.set(j, !1);
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
E.user_effect(() => {
|
|
74
|
-
|
|
75
|
+
k.documentId, B();
|
|
75
76
|
}), E.user_effect(() => {
|
|
76
|
-
E.get(
|
|
77
|
+
E.get(F) || E.get(L) || E.get(I) !== null && E.set(I, null);
|
|
77
78
|
});
|
|
78
|
-
let V = E.derived(() => E.get(
|
|
79
|
+
let V = E.derived(() => E.get(N) === "snapshots" ? E.get(A).filter((e) => e.isSnapshot === !0) : E.get(A)), me = E.derived(() => E.get(A).reduce((e, t) => t.isSnapshot ? e + 1 : e, 0)), he = E.derived(() => E.get(I)?.label ? `${_()} (${E.get(I).label})` : _());
|
|
79
80
|
function H(e) {
|
|
80
81
|
if (!e) return "";
|
|
81
82
|
let t = e.replace(/```[\s\S]*?```/g, "").replace(/[#*_`>~-]/g, "").replace(/\s+/g, " ").trim();
|
|
82
83
|
return t.length > 100 ? `${t.slice(0, 100)}…` : t;
|
|
83
84
|
}
|
|
84
|
-
function
|
|
85
|
+
function ge(e) {
|
|
85
86
|
let t = typeof e == "string" ? new Date(e) : e, n = Date.now() - t.getTime();
|
|
86
87
|
if (Number.isNaN(n)) return "";
|
|
87
88
|
let r = Math.floor(n / 6e4);
|
|
@@ -90,74 +91,74 @@ function A(e, A) {
|
|
|
90
91
|
let i = Math.floor(r / 60);
|
|
91
92
|
return i < 24 ? y({ count: i }) : l({ count: Math.floor(i / 24) });
|
|
92
93
|
}
|
|
93
|
-
function
|
|
94
|
-
E.set(
|
|
94
|
+
function _e(e) {
|
|
95
|
+
E.set(I, e, !0), E.set(R, null), E.set(F, !0);
|
|
95
96
|
}
|
|
96
|
-
function
|
|
97
|
-
E.get(
|
|
97
|
+
function ve() {
|
|
98
|
+
E.get(L) || (E.set(I, null), E.set(R, null));
|
|
98
99
|
}
|
|
99
|
-
async function
|
|
100
|
-
let e = E.get(
|
|
101
|
-
if (!(!e || E.get(
|
|
102
|
-
E.set(
|
|
100
|
+
async function ye() {
|
|
101
|
+
let e = E.get(I);
|
|
102
|
+
if (!(!e || E.get(L))) {
|
|
103
|
+
E.set(L, !0), E.set(R, null);
|
|
103
104
|
try {
|
|
104
|
-
await
|
|
105
|
-
documentId:
|
|
105
|
+
await C(`/api/documents/${k.documentId}/versions/${e.id}/restore`, { method: "POST" }, z.fetch), await B(), E.set(I, null), E.set(F, !1), k.onRestored?.(e), typeof window < "u" && window.dispatchEvent(new CustomEvent("version-restored", { detail: {
|
|
106
|
+
documentId: k.documentId,
|
|
106
107
|
versionId: e.id
|
|
107
108
|
} }));
|
|
108
109
|
} catch (e) {
|
|
109
|
-
e instanceof
|
|
110
|
+
e instanceof w ? E.set(R, `${f()}: ${e.message}`) : E.set(R, e instanceof Error ? e.message : v(), !0), console.error("Failed to restore version", e);
|
|
110
111
|
} finally {
|
|
111
|
-
E.set(
|
|
112
|
+
E.set(L, !1);
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
|
-
function
|
|
116
|
+
function be() {
|
|
116
117
|
B();
|
|
117
118
|
}
|
|
118
|
-
function
|
|
119
|
+
function xe(e) {
|
|
119
120
|
if (!e) return null;
|
|
120
|
-
let t = E.get(
|
|
121
|
+
let t = E.get(A).find((t) => t.id === e);
|
|
121
122
|
return t ? t.label ?? e.slice(0, 8) : e.slice(0, 8);
|
|
122
123
|
}
|
|
123
|
-
var U =
|
|
124
|
+
var U = pe(), W = E.first_child(U), G = E.child(W), K = E.child(G), q = E.child(K);
|
|
124
125
|
D(q, { class: "h-4 w-4" });
|
|
125
|
-
var J = E.sibling(q, 2),
|
|
126
|
+
var J = E.sibling(q, 2), Se = E.child(J, !0);
|
|
126
127
|
E.reset(J), E.reset(K);
|
|
127
128
|
var Y = E.sibling(K, 2), X = E.child(Y);
|
|
128
129
|
t(X, { class: "h-3 w-3" });
|
|
129
|
-
var
|
|
130
|
+
var Ce = E.sibling(X);
|
|
130
131
|
E.reset(Y), E.reset(G);
|
|
131
|
-
var Z = E.sibling(G, 2),
|
|
132
|
-
var t =
|
|
132
|
+
var Z = E.sibling(G, 2), we = (e) => {
|
|
133
|
+
var t = ne(), n = E.child(t), r = E.child(n);
|
|
133
134
|
E.reset(n);
|
|
134
135
|
var i = E.sibling(n, 2), a = E.child(i);
|
|
135
136
|
E.reset(i), E.reset(t), E.template_effect((e, o, s) => {
|
|
136
|
-
E.set_attribute(t, "aria-label", e), E.set_attribute(n, "aria-selected", E.get(
|
|
137
|
+
E.set_attribute(t, "aria-label", e), E.set_attribute(n, "aria-selected", E.get(N) === "all"), E.set_class(n, 1, `flex-1 px-2 py-1 transition-colors ${E.get(N) === "all" ? "bg-primary text-primary-foreground" : "bg-background text-muted-foreground hover:bg-accent"}`), E.set_text(r, `${o ?? ""} (${E.get(A).length ?? ""})`), E.set_attribute(i, "aria-selected", E.get(N) === "snapshots"), E.set_class(i, 1, `flex-1 px-2 py-1 transition-colors ${E.get(N) === "snapshots" ? "bg-primary text-primary-foreground" : "bg-background text-muted-foreground hover:bg-accent"}`), E.set_text(a, `${s ?? ""} (${E.get(me) ?? ""})`);
|
|
137
138
|
}, [
|
|
138
139
|
() => o(),
|
|
139
140
|
() => o(),
|
|
140
141
|
() => u()
|
|
141
|
-
]), E.delegated("click", n, () => E.set(
|
|
142
|
+
]), E.delegated("click", n, () => E.set(N, "all")), E.delegated("click", i, () => E.set(N, "snapshots")), E.append(e, t);
|
|
142
143
|
};
|
|
143
144
|
E.if(Z, (e) => {
|
|
144
|
-
E.get(
|
|
145
|
+
E.get(A).length > 0 && e(we);
|
|
145
146
|
});
|
|
146
|
-
var
|
|
147
|
-
var t =
|
|
147
|
+
var Te = E.sibling(Z, 2), Ee = (e) => {
|
|
148
|
+
var t = re(), n = E.child(t);
|
|
148
149
|
a(n, { class: "h-3.5 w-3.5 animate-spin" });
|
|
149
150
|
var r = E.sibling(n, 2), i = E.child(r, !0);
|
|
150
151
|
E.reset(r), E.reset(t), E.template_effect((e) => E.set_text(i, e), [() => d()]), E.append(e, t);
|
|
151
|
-
}, Te = (e) => {
|
|
152
|
-
var t = ne(), n = E.child(t, !0);
|
|
153
|
-
E.reset(t), E.template_effect(() => E.set_text(n, E.get(N))), E.append(e, t);
|
|
154
|
-
}, Ee = (e) => {
|
|
155
|
-
var t = re(), n = E.child(t, !0);
|
|
156
|
-
E.reset(t), E.template_effect((e) => E.set_text(n, e), [() => s()]), E.append(e, t);
|
|
157
152
|
}, De = (e) => {
|
|
158
|
-
var t =
|
|
153
|
+
var t = ie(), n = E.child(t, !0);
|
|
154
|
+
E.reset(t), E.template_effect(() => E.set_text(n, E.get(M))), E.append(e, t);
|
|
155
|
+
}, Oe = (e) => {
|
|
156
|
+
var t = ae(), n = E.child(t, !0);
|
|
157
|
+
E.reset(t), E.template_effect((e) => E.set_text(n, e), [() => s()]), E.append(e, t);
|
|
158
|
+
}, ke = (e) => {
|
|
159
|
+
var t = de();
|
|
159
160
|
E.each(t, 21, () => E.get(V), (e) => e.id, (e, t) => {
|
|
160
|
-
var a =
|
|
161
|
+
var a = ue(), o = E.child(a), s = (e) => {
|
|
161
162
|
{
|
|
162
163
|
let t = E.derived(() => p());
|
|
163
164
|
O(e, {
|
|
@@ -174,7 +175,7 @@ function A(e, A) {
|
|
|
174
175
|
E.get(t).isSnapshot ? e(s) : e(c, -1);
|
|
175
176
|
});
|
|
176
177
|
var l = E.sibling(o, 2), u = E.child(l), d = E.child(u), f = E.child(d), m = (e) => {
|
|
177
|
-
var n =
|
|
178
|
+
var n = oe(), r = E.child(n, !0);
|
|
178
179
|
E.reset(n), E.template_effect(() => {
|
|
179
180
|
E.set_attribute(n, "title", E.get(t).label), E.set_text(r, E.get(t).label);
|
|
180
181
|
}), E.append(e, n);
|
|
@@ -189,12 +190,12 @@ function A(e, A) {
|
|
|
189
190
|
var b = E.sibling(y);
|
|
190
191
|
E.reset(v), E.reset(u);
|
|
191
192
|
var S = E.sibling(u, 2), C = (e) => {
|
|
192
|
-
var n =
|
|
193
|
+
var n = ce(), r = E.child(n), i = E.child(r);
|
|
193
194
|
O(i, { class: "h-2.5 w-2.5" });
|
|
194
195
|
var a = E.sibling(i);
|
|
195
196
|
E.reset(r);
|
|
196
197
|
var o = E.sibling(r, 2), s = (e) => {
|
|
197
|
-
var n =
|
|
198
|
+
var n = se(), r = E.child(n, !0);
|
|
198
199
|
E.reset(n), E.template_effect(() => {
|
|
199
200
|
E.set_attribute(n, "title", E.get(t).description), E.set_text(r, E.get(t).description);
|
|
200
201
|
}), E.append(e, n);
|
|
@@ -206,42 +207,42 @@ function A(e, A) {
|
|
|
206
207
|
E.if(S, (e) => {
|
|
207
208
|
E.get(t).isSnapshot && e(C);
|
|
208
209
|
});
|
|
209
|
-
var w = E.sibling(S, 2),
|
|
210
|
-
var n =
|
|
210
|
+
var w = E.sibling(S, 2), te = (e) => {
|
|
211
|
+
var n = le(), r = E.child(n);
|
|
211
212
|
i(r, { class: "h-3 w-3" });
|
|
212
213
|
var a = E.sibling(r), o = E.sibling(a), s = E.child(o, !0);
|
|
213
214
|
E.reset(o), E.reset(n), E.template_effect((e, t) => {
|
|
214
215
|
E.set_text(a, ` ${e ?? ""} `), E.set_text(s, t);
|
|
215
|
-
}, [() => ee(), () =>
|
|
216
|
+
}, [() => ee(), () => xe(E.get(t).restoredFrom) ?? "—"]), E.append(e, n);
|
|
216
217
|
};
|
|
217
218
|
E.if(w, (e) => {
|
|
218
|
-
E.get(t).restoredFrom && e(
|
|
219
|
+
E.get(t).restoredFrom && e(te);
|
|
219
220
|
});
|
|
220
|
-
var
|
|
221
|
-
E.reset(
|
|
222
|
-
E.set_text(_, e), E.set_attribute(v, "title", t), E.set_attribute(v, "aria-label", n), E.set_text(b, ` ${r ?? ""}`), E.set_attribute(
|
|
221
|
+
var T = E.sibling(w, 2), D = E.child(T, !0);
|
|
222
|
+
E.reset(T), E.reset(l), E.reset(a), E.template_effect((e, t, n, r, i, a) => {
|
|
223
|
+
E.set_text(_, e), E.set_attribute(v, "title", t), E.set_attribute(v, "aria-label", n), E.set_text(b, ` ${r ?? ""}`), E.set_attribute(T, "title", i), E.set_text(D, a);
|
|
223
224
|
}, [
|
|
224
|
-
() =>
|
|
225
|
+
() => ge(E.get(t).createdAt),
|
|
225
226
|
() => h(),
|
|
226
227
|
() => h(),
|
|
227
228
|
() => x(),
|
|
228
229
|
() => H(E.get(t).content),
|
|
229
230
|
() => H(E.get(t).content)
|
|
230
|
-
]), E.delegated("click", v, () =>
|
|
231
|
+
]), E.delegated("click", v, () => _e(E.get(t))), E.append(e, a);
|
|
231
232
|
}), E.reset(t), E.append(e, t);
|
|
232
233
|
};
|
|
233
|
-
E.if(
|
|
234
|
-
E.get(
|
|
234
|
+
E.if(Te, (e) => {
|
|
235
|
+
E.get(j) ? e(Ee) : E.get(M) ? e(De, 1) : E.get(V).length === 0 ? e(Oe, 2) : e(ke, -1);
|
|
235
236
|
}), E.reset(W);
|
|
236
237
|
var Q = E.sibling(W, 2);
|
|
237
238
|
{
|
|
238
239
|
let e = E.derived(() => h()), t = E.derived(() => x()), n = E.derived(() => b());
|
|
239
|
-
|
|
240
|
+
te(Q, {
|
|
240
241
|
get title() {
|
|
241
242
|
return E.get(e);
|
|
242
243
|
},
|
|
243
244
|
get description() {
|
|
244
|
-
return E.get(
|
|
245
|
+
return E.get(he);
|
|
245
246
|
},
|
|
246
247
|
get confirmLabel() {
|
|
247
248
|
return E.get(t);
|
|
@@ -251,44 +252,44 @@ function A(e, A) {
|
|
|
251
252
|
},
|
|
252
253
|
variant: "default",
|
|
253
254
|
get busy() {
|
|
254
|
-
return E.get(
|
|
255
|
+
return E.get(L);
|
|
255
256
|
},
|
|
256
|
-
onConfirm:
|
|
257
|
-
onCancel:
|
|
257
|
+
onConfirm: ye,
|
|
258
|
+
onCancel: ve,
|
|
258
259
|
get open() {
|
|
259
|
-
return E.get(
|
|
260
|
+
return E.get(F);
|
|
260
261
|
},
|
|
261
262
|
set open(e) {
|
|
262
|
-
E.set(
|
|
263
|
+
E.set(F, e, !0);
|
|
263
264
|
}
|
|
264
265
|
});
|
|
265
266
|
}
|
|
266
|
-
var $ = E.sibling(Q, 2),
|
|
267
|
-
var t =
|
|
268
|
-
E.reset(t), E.template_effect(() => E.set_text(n, E.get(
|
|
267
|
+
var $ = E.sibling(Q, 2), Ae = (e) => {
|
|
268
|
+
var t = fe(), n = E.child(t, !0);
|
|
269
|
+
E.reset(t), E.template_effect(() => E.set_text(n, E.get(R))), E.append(e, t);
|
|
269
270
|
};
|
|
270
271
|
E.if($, (e) => {
|
|
271
|
-
E.get(
|
|
272
|
+
E.get(R) && e(Ae);
|
|
272
273
|
}), T(E.sibling($, 2), {
|
|
273
274
|
get documentId() {
|
|
274
|
-
return
|
|
275
|
+
return k.documentId;
|
|
275
276
|
},
|
|
276
|
-
onSuccess:
|
|
277
|
+
onSuccess: be,
|
|
277
278
|
get open() {
|
|
278
|
-
return E.get(
|
|
279
|
+
return E.get(P);
|
|
279
280
|
},
|
|
280
281
|
set open(e) {
|
|
281
|
-
E.set(
|
|
282
|
+
E.set(P, e, !0);
|
|
282
283
|
}
|
|
283
284
|
}), E.template_effect((e, t, n, r) => {
|
|
284
|
-
E.set_text(
|
|
285
|
+
E.set_text(Se, e), Y.disabled = E.get(j), E.set_attribute(Y, "title", t), E.set_attribute(Y, "aria-label", n), E.set_text(Ce, ` ${r ?? ""}`);
|
|
285
286
|
}, [
|
|
286
287
|
() => g(),
|
|
287
288
|
() => m(),
|
|
288
289
|
() => m(),
|
|
289
290
|
() => m()
|
|
290
|
-
]), E.delegated("click", Y, () => E.set(
|
|
291
|
+
]), E.delegated("click", Y, () => E.set(P, !0)), E.append(e, U), E.pop();
|
|
291
292
|
}
|
|
292
293
|
E.delegate(["click"]);
|
|
293
294
|
//#endregion
|
|
294
|
-
export {
|
|
295
|
+
export { k as VersionHistory };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { At as version_snapshot_description_placeholder, Dt as version_snapshot_dialog_title, Et as version_snapshot_dialog_description, Mt as version_snapshot_description, Nt as version_snapshot_label, Ot as version_snapshot_creating, _n as action_cancel, jt as version_snapshot_label_placeholder, kt as version_snapshot_create, xt as version_restore_failed, yn as error_server, z as error_validation } from "./messages-BAQzILs4.js";
|
|
2
2
|
import { t as Loader_circle } from "./loader-circle-CIEWGyfP.js";
|
|
3
|
+
import { a as getDocsmintRequestAdapter } from "./route-context-BPRerEtZ.js";
|
|
3
4
|
import { a as Dialog, i as Dialog_description, n as Dialog_header, o as Button, r as Dialog_footer, t as Dialog_title } from "./dialog-BOV1u6zP.js";
|
|
4
5
|
import { t as Input } from "./input-DezGsU3y.js";
|
|
5
6
|
import { n as apiFetch, t as ApiError } from "./client-DZMkDkDn.js";
|
|
@@ -16,6 +17,7 @@ function CreateSnapshotDialog($$renderer, $$props) {
|
|
|
16
17
|
let labelError = null;
|
|
17
18
|
let submitError = null;
|
|
18
19
|
let submitting = false;
|
|
20
|
+
const request = getDocsmintRequestAdapter();
|
|
19
21
|
function reset() {
|
|
20
22
|
label = "";
|
|
21
23
|
description = "";
|
|
@@ -64,7 +66,7 @@ function CreateSnapshotDialog($$renderer, $$props) {
|
|
|
64
66
|
await apiFetch(`/api/documents/${documentId}/versions`, {
|
|
65
67
|
method: "POST",
|
|
66
68
|
body: JSON.stringify(body)
|
|
67
|
-
});
|
|
69
|
+
}, request.fetch);
|
|
68
70
|
onSuccess?.();
|
|
69
71
|
open = false;
|
|
70
72
|
reset();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-
|
|
1
|
+
import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-CI8vXXcN.js";
|
|
2
2
|
export { CreateSnapshotDialog };
|
|
@@ -9,7 +9,7 @@ import { t as Input } from "../../assets/input-DezGsU3y.js";
|
|
|
9
9
|
import { a as resolveOfflineIdentity } from "../../assets/identity-B3uHoDtf.js";
|
|
10
10
|
import { n as getOfflineDB } from "../../assets/db-CnxeO66n.js";
|
|
11
11
|
import { h as unregisterShortcut, u as registerShortcut } from "../../assets/keyboard.svelte-BgF47N3L.js";
|
|
12
|
-
import { t as CreateSnapshotDialog } from "../../assets/CreateSnapshotDialog-
|
|
12
|
+
import { t as CreateSnapshotDialog } from "../../assets/CreateSnapshotDialog-CI8vXXcN.js";
|
|
13
13
|
import { r as editorExtensions } from "../../assets/editorExtensions-DUzwndMy.js";
|
|
14
14
|
import { t as markdownToJson } from "../../assets/markdown-CjqvGi5W.js";
|
|
15
15
|
import * as $ from "svelte/internal/server";
|
|
@@ -5,9 +5,10 @@ import { t as Clock } from "../assets/clock-CzsE58TH.js";
|
|
|
5
5
|
import { t as Rotate_ccw } from "../assets/rotate-ccw-dJSqPyTd.js";
|
|
6
6
|
import { t as Circle_check } from "../assets/circle-check-CPS9dKEo.js";
|
|
7
7
|
import { t as Loader_circle } from "../assets/loader-circle-CIEWGyfP.js";
|
|
8
|
+
import { a as getDocsmintRequestAdapter } from "../assets/route-context-BPRerEtZ.js";
|
|
8
9
|
import { n as apiFetch, t as ApiError } from "../assets/client-DZMkDkDn.js";
|
|
9
10
|
import { t as ConfirmDialog } from "../assets/ConfirmDialog-BhAelejz.js";
|
|
10
|
-
import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-
|
|
11
|
+
import { t as CreateSnapshotDialog } from "../assets/CreateSnapshotDialog-CI8vXXcN.js";
|
|
11
12
|
import * as $ from "svelte/internal/server";
|
|
12
13
|
//#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/history.svelte
|
|
13
14
|
function History($$renderer, $$props) {
|
|
@@ -171,11 +172,12 @@ function VersionHistory($$renderer, $$props) {
|
|
|
171
172
|
let pendingRestore = null;
|
|
172
173
|
let restoring = false;
|
|
173
174
|
let restoreError = null;
|
|
175
|
+
const request = getDocsmintRequestAdapter();
|
|
174
176
|
async function loadVersions() {
|
|
175
177
|
loading = true;
|
|
176
178
|
loadError = null;
|
|
177
179
|
try {
|
|
178
|
-
versions = await apiFetch(`/api/documents/${documentId}/versions
|
|
180
|
+
versions = await apiFetch(`/api/documents/${documentId}/versions`, {}, request.fetch);
|
|
179
181
|
} catch (e) {
|
|
180
182
|
loadError = e instanceof Error ? e.message : String(e);
|
|
181
183
|
console.error("Failed to load versions", e);
|
|
@@ -216,7 +218,7 @@ function VersionHistory($$renderer, $$props) {
|
|
|
216
218
|
restoring = true;
|
|
217
219
|
restoreError = null;
|
|
218
220
|
try {
|
|
219
|
-
await apiFetch(`/api/documents/${documentId}/versions/${target.id}/restore`, { method: "POST" });
|
|
221
|
+
await apiFetch(`/api/documents/${documentId}/versions/${target.id}/restore`, { method: "POST" }, request.fetch);
|
|
220
222
|
await loadVersions();
|
|
221
223
|
pendingRestore = null;
|
|
222
224
|
restoreDialogOpen = false;
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@ import { registerSearch } from "./commands/search.js";
|
|
|
24
24
|
import { registerSnapshot } from "./commands/snapshot.js";
|
|
25
25
|
import { registerUpdate } from "./commands/update.js";
|
|
26
26
|
|
|
27
|
-
const VERSION = "0.5.
|
|
27
|
+
const VERSION = "0.5.7";
|
|
28
28
|
|
|
29
29
|
const program = new Command();
|
|
30
30
|
program
|
|
@@ -1,216 +0,0 @@
|
|
|
1
|
-
import { n as e } from "./dist-DQa_OHOa.js";
|
|
2
|
-
import { V as t, Yt as n, an as r, ar as i, en as a, in as o, nn as s, on as c, rn as l, rr as u, sn as d, tn as f } from "./messages-DIovIZrK.js";
|
|
3
|
-
import { a as p, i as m, n as h, o as g, r as _, t as v } from "./dialog-Ce79C9fd.js";
|
|
4
|
-
import { t as y } from "./input-BWlOML_m.js";
|
|
5
|
-
import { n as b, t as x } from "./client-GbtOH90i.js";
|
|
6
|
-
import { t as S } from "./textarea-DOAE-h42.js";
|
|
7
|
-
import "svelte/internal/disclose-version";
|
|
8
|
-
import * as C from "svelte/internal/client";
|
|
9
|
-
//#region src/lib/components/CreateSnapshotDialog.svelte
|
|
10
|
-
var w = C.from_html("<!> <!>", 1), T = C.from_html("<p id=\"snapshot-label-error\" class=\"text-xs text-destructive\"> </p>"), E = C.from_html("<p class=\"text-xs text-destructive\" role=\"alert\"> </p>"), D = C.from_html("<!> ", 1), O = C.from_html("<!> <form class=\"space-y-4\"><div class=\"space-y-2\"><label for=\"snapshot-label\" class=\"text-sm font-medium\"> </label> <!> <!></div> <div class=\"space-y-2\"><label for=\"snapshot-description\" class=\"text-sm font-medium\"> </label> <!></div> <!></form> <!>", 1);
|
|
11
|
-
function k(k, A) {
|
|
12
|
-
C.push(A, !0);
|
|
13
|
-
let j = C.prop(A, "open", 15, !1), M = C.state(""), N = C.state(""), P = C.state(null), F = C.state(null), I = C.state(!1);
|
|
14
|
-
function L() {
|
|
15
|
-
C.set(M, ""), C.set(N, ""), C.set(P, null), C.set(F, null), C.set(I, !1);
|
|
16
|
-
}
|
|
17
|
-
function R() {
|
|
18
|
-
C.get(I) || (j(!1), L());
|
|
19
|
-
}
|
|
20
|
-
function z(e) {
|
|
21
|
-
e ? L() : C.get(I) || (j(!1), L());
|
|
22
|
-
}
|
|
23
|
-
function B(e) {
|
|
24
|
-
if (e?.preventDefault(), C.get(I)) return;
|
|
25
|
-
let n = C.get(M).trim();
|
|
26
|
-
if (n.length === 0) {
|
|
27
|
-
C.set(P, d(), !0);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
if (n.length > 100) {
|
|
31
|
-
C.set(P, t(), !0);
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
let r = C.get(N).trim();
|
|
35
|
-
if (r.length > 500) {
|
|
36
|
-
C.set(F, t(), !0);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
V(n, r);
|
|
40
|
-
}
|
|
41
|
-
async function V(e, t) {
|
|
42
|
-
C.set(I, !0), C.set(P, null), C.set(F, null);
|
|
43
|
-
try {
|
|
44
|
-
let n = { label: e };
|
|
45
|
-
t.length > 0 && (n.description = t), await b(`/api/documents/${A.documentId}/versions`, {
|
|
46
|
-
method: "POST",
|
|
47
|
-
body: JSON.stringify(n)
|
|
48
|
-
}), A.onSuccess?.(), j(!1), L();
|
|
49
|
-
} catch (e) {
|
|
50
|
-
e instanceof x ? C.set(F, `${n()}: ${e.message}`) : C.set(F, e instanceof Error ? e.message : i(), !0), console.error("CreateSnapshotDialog: failed", e);
|
|
51
|
-
} finally {
|
|
52
|
-
C.set(I, !1);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
function H(e) {
|
|
56
|
-
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), B());
|
|
57
|
-
}
|
|
58
|
-
p(k, {
|
|
59
|
-
onOpenChange: z,
|
|
60
|
-
get open() {
|
|
61
|
-
return j();
|
|
62
|
-
},
|
|
63
|
-
set open(e) {
|
|
64
|
-
j(e);
|
|
65
|
-
},
|
|
66
|
-
children: (t, n) => {
|
|
67
|
-
var i = O(), p = C.first_child(i);
|
|
68
|
-
h(p, {
|
|
69
|
-
children: (e, t) => {
|
|
70
|
-
var n = w(), r = C.first_child(n);
|
|
71
|
-
v(r, {
|
|
72
|
-
children: (e, t) => {
|
|
73
|
-
C.next();
|
|
74
|
-
var n = C.text();
|
|
75
|
-
C.template_effect((e) => C.set_text(n, e), [() => f()]), C.append(e, n);
|
|
76
|
-
},
|
|
77
|
-
$$slots: { default: !0 }
|
|
78
|
-
}), m(C.sibling(r, 2), {
|
|
79
|
-
children: (e, t) => {
|
|
80
|
-
C.next();
|
|
81
|
-
var n = C.text();
|
|
82
|
-
C.template_effect((e) => C.set_text(n, e), [() => a()]), C.append(e, n);
|
|
83
|
-
},
|
|
84
|
-
$$slots: { default: !0 }
|
|
85
|
-
}), C.append(e, n);
|
|
86
|
-
},
|
|
87
|
-
$$slots: { default: !0 }
|
|
88
|
-
});
|
|
89
|
-
var b = C.sibling(p, 2), x = C.child(b), k = C.child(x), A = C.child(k, !0);
|
|
90
|
-
C.reset(k);
|
|
91
|
-
var j = C.sibling(k, 2);
|
|
92
|
-
{
|
|
93
|
-
let e = C.derived(() => r()), t = C.derived(() => C.get(P) ? "true" : void 0), n = C.derived(() => C.get(P) ? "snapshot-label-error" : void 0);
|
|
94
|
-
y(j, {
|
|
95
|
-
id: "snapshot-label",
|
|
96
|
-
name: "label",
|
|
97
|
-
type: "text",
|
|
98
|
-
get placeholder() {
|
|
99
|
-
return C.get(e);
|
|
100
|
-
},
|
|
101
|
-
maxlength: 100,
|
|
102
|
-
required: !0,
|
|
103
|
-
get disabled() {
|
|
104
|
-
return C.get(I);
|
|
105
|
-
},
|
|
106
|
-
get "aria-invalid"() {
|
|
107
|
-
return C.get(t);
|
|
108
|
-
},
|
|
109
|
-
get "aria-describedby"() {
|
|
110
|
-
return C.get(n);
|
|
111
|
-
},
|
|
112
|
-
autocomplete: "off",
|
|
113
|
-
onkeydown: H,
|
|
114
|
-
get value() {
|
|
115
|
-
return C.get(M);
|
|
116
|
-
},
|
|
117
|
-
set value(e) {
|
|
118
|
-
C.set(M, e, !0);
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
var L = C.sibling(j, 2), z = (e) => {
|
|
123
|
-
var t = T(), n = C.child(t, !0);
|
|
124
|
-
C.reset(t), C.template_effect(() => C.set_text(n, C.get(P))), C.append(e, t);
|
|
125
|
-
};
|
|
126
|
-
C.if(L, (e) => {
|
|
127
|
-
C.get(P) && e(z);
|
|
128
|
-
}), C.reset(x);
|
|
129
|
-
var V = C.sibling(x, 2), U = C.child(V), W = C.child(U, !0);
|
|
130
|
-
C.reset(U);
|
|
131
|
-
var G = C.sibling(U, 2);
|
|
132
|
-
{
|
|
133
|
-
let e = C.derived(() => o());
|
|
134
|
-
S(G, {
|
|
135
|
-
id: "snapshot-description",
|
|
136
|
-
name: "description",
|
|
137
|
-
get placeholder() {
|
|
138
|
-
return C.get(e);
|
|
139
|
-
},
|
|
140
|
-
maxlength: 500,
|
|
141
|
-
rows: 3,
|
|
142
|
-
get disabled() {
|
|
143
|
-
return C.get(I);
|
|
144
|
-
},
|
|
145
|
-
get value() {
|
|
146
|
-
return C.get(N);
|
|
147
|
-
},
|
|
148
|
-
set value(e) {
|
|
149
|
-
C.set(N, e, !0);
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
C.reset(V);
|
|
154
|
-
var K = C.sibling(V, 2), q = (e) => {
|
|
155
|
-
var t = E(), n = C.child(t, !0);
|
|
156
|
-
C.reset(t), C.template_effect(() => C.set_text(n, C.get(F))), C.append(e, t);
|
|
157
|
-
};
|
|
158
|
-
C.if(K, (e) => {
|
|
159
|
-
C.get(F) && e(q);
|
|
160
|
-
}), C.reset(b), _(C.sibling(b, 2), {
|
|
161
|
-
children: (t, n) => {
|
|
162
|
-
var r = w(), i = C.first_child(r);
|
|
163
|
-
g(i, {
|
|
164
|
-
variant: "outline",
|
|
165
|
-
type: "button",
|
|
166
|
-
onclick: R,
|
|
167
|
-
get disabled() {
|
|
168
|
-
return C.get(I);
|
|
169
|
-
},
|
|
170
|
-
children: (e, t) => {
|
|
171
|
-
C.next();
|
|
172
|
-
var n = C.text();
|
|
173
|
-
C.template_effect((e) => C.set_text(n, e), [() => u()]), C.append(e, n);
|
|
174
|
-
},
|
|
175
|
-
$$slots: { default: !0 }
|
|
176
|
-
});
|
|
177
|
-
var a = C.sibling(i, 2);
|
|
178
|
-
{
|
|
179
|
-
let t = C.derived(() => C.get(I) || C.get(M).trim().length === 0);
|
|
180
|
-
g(a, {
|
|
181
|
-
type: "button",
|
|
182
|
-
onclick: () => B(),
|
|
183
|
-
get disabled() {
|
|
184
|
-
return C.get(t);
|
|
185
|
-
},
|
|
186
|
-
children: (t, n) => {
|
|
187
|
-
var r = C.comment(), i = C.first_child(r), a = (t) => {
|
|
188
|
-
var n = D(), r = C.first_child(n);
|
|
189
|
-
e(r, { class: "mr-1 size-4 animate-spin" });
|
|
190
|
-
var i = C.sibling(r);
|
|
191
|
-
C.template_effect((e) => C.set_text(i, ` ${e ?? ""}`), [() => s()]), C.append(t, n);
|
|
192
|
-
}, o = (e) => {
|
|
193
|
-
var t = C.text();
|
|
194
|
-
C.template_effect((e) => C.set_text(t, e), [() => l()]), C.append(e, t);
|
|
195
|
-
};
|
|
196
|
-
C.if(i, (e) => {
|
|
197
|
-
C.get(I) ? e(a) : e(o, -1);
|
|
198
|
-
}), C.append(t, r);
|
|
199
|
-
},
|
|
200
|
-
$$slots: { default: !0 }
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
C.append(t, r);
|
|
204
|
-
},
|
|
205
|
-
$$slots: { default: !0 }
|
|
206
|
-
}), C.template_effect((e, t) => {
|
|
207
|
-
C.set_text(A, e), C.set_text(W, t);
|
|
208
|
-
}, [() => d(), () => c()]), C.event("submit", b, (e) => {
|
|
209
|
-
e.preventDefault(), B();
|
|
210
|
-
}), C.append(t, i);
|
|
211
|
-
},
|
|
212
|
-
$$slots: { default: !0 }
|
|
213
|
-
}), C.pop();
|
|
214
|
-
}
|
|
215
|
-
//#endregion
|
|
216
|
-
export { k as t };
|