@hiai-gg/docsmint 0.3.0 → 0.3.2
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/README.md +26 -23
- package/{packages/sdk/dist → dist}/client.d.ts +16 -1
- package/{packages/sdk/dist → dist}/client.js +25 -1
- package/dist/frontend/DatePicker-BcMD49PV.js +275 -0
- package/dist/frontend/SettingsDialog-DiAyhzw0.js +4852 -0
- package/dist/frontend/ShareDialog-DaZf1raY.js +1317 -0
- package/dist/frontend/api/categories.d.ts +10 -0
- package/dist/frontend/api/categories.js +2 -0
- package/dist/frontend/api/documents.d.ts +10 -0
- package/dist/frontend/api/documents.js +2 -0
- package/dist/frontend/api/folders.d.ts +10 -0
- package/dist/frontend/api/folders.js +2 -0
- package/dist/frontend/api/settings.d.ts +8 -0
- package/dist/frontend/api/settings.js +2 -0
- package/dist/frontend/api/tags.d.ts +11 -0
- package/dist/frontend/api/tags.js +2 -0
- package/dist/frontend/categories-BE6ZpZl8.js +61 -0
- package/dist/frontend/client-B9hzI0W8.js +76 -0
- package/dist/frontend/client-C6QQGb0e.js +2766 -0
- package/dist/frontend/components/settings.d.ts +2 -0
- package/dist/frontend/components/settings.js +2 -0
- package/dist/frontend/components/sidebar.d.ts +2 -0
- package/dist/frontend/components/sidebar.js +4569 -0
- package/dist/frontend/context-DbnW5yib.js +31 -0
- package/dist/frontend/dashboard.d.ts +2 -0
- package/dist/frontend/dashboard.js +2152 -0
- package/dist/frontend/documents-DFVS9SsL.js +83 -0
- package/dist/frontend/extension.d.ts +2 -0
- package/dist/frontend/extension.js +10 -0
- package/dist/frontend/folders-CGe9diAG.js +91 -0
- package/dist/frontend/frontend.css +2 -0
- package/dist/frontend/i18n.d.ts +5 -0
- package/dist/frontend/i18n.js +8 -0
- package/dist/frontend/input-ieWIt8I7.js +257 -0
- package/dist/frontend/messages-CTGAsqFu.js +1106 -0
- package/dist/frontend/resolve-Bl6xmJl_.js +2068 -0
- package/dist/frontend/schemas-DwtKylCJ.js +3002 -0
- package/dist/frontend/search.d.ts +2 -0
- package/dist/frontend/search.js +1001 -0
- package/dist/frontend/settings-PCrOtied.js +1313 -0
- package/dist/frontend/shared-document.d.ts +3 -0
- package/dist/frontend/shared-document.js +193 -0
- package/dist/frontend/tag-C5xrg-bb.js +53 -0
- package/dist/frontend/tag-store.svelte-B3839FYq.js +6152 -0
- package/dist/frontend/tags-DVXTut0p.js +48 -0
- package/dist/frontend/theme.d.ts +4 -0
- package/dist/frontend/theme.js +8 -0
- package/dist/frontend/theme.svelte-ei0QxXa8.js +49 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +3 -0
- package/dist/lifecycle.d.ts +90 -0
- package/dist/lifecycle.js +99 -0
- package/{packages/sdk/dist → dist}/types.d.ts +5 -0
- package/dist/workspace.d.ts +21 -0
- package/dist/workspace.js +66 -0
- package/package.json +70 -36
- package/packages/cli/src/index.ts +1 -1
- package/packages/db/src/schema.ts +41 -0
- package/packages/mcp-server/src/index.ts +1 -1
- package/frontend/src/lib/components/editor/shared-document.ts +0 -237
- package/frontend/src/lib/extensions/context.ts +0 -60
- package/frontend/src/lib/extensions/doc-tabs.ts +0 -18
- package/frontend/src/lib/extensions/resolve.ts +0 -48
- package/frontend/src/lib/extensions/types.ts +0 -202
- package/frontend/src/lib/hosts/DocsmintSharedDocumentHost.svelte +0 -65
- package/frontend/src/lib/hosts/HiaiDocsDashboardHost.svelte +0 -1007
- package/frontend/src/lib/hosts/HiaiDocsExtensionProvider.svelte +0 -20
- package/frontend/src/lib/hosts/HiaiDocsSearchHost.svelte +0 -996
- package/frontend/src/lib/hosts/index.ts +0 -25
- package/frontend/src/lib/index.ts +0 -65
- package/frontend/src/lib/stores/doc-tab-registry.svelte.ts +0 -68
- package/packages/sdk/dist/index.d.ts +0 -3
- package/packages/sdk/dist/index.js +0 -1
- /package/{packages/sdk/dist → dist}/types.js +0 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { t as e } from "./context-DbnW5yib.js";
|
|
2
|
+
import { $ as t, D as n, H as r, M as i, N as a, S as o, T as s, _t as c, dt as l, et as u, ft as d, j as f, k as p, tt as m } from "./client-C6QQGb0e.js";
|
|
3
|
+
//#region src/lib/components/editor/shared-document.ts
|
|
4
|
+
var h = /^\/api\/attachments\/[0-9a-f-]+\/raw$/i, g = /* @__PURE__ */ new Set([
|
|
5
|
+
"http:",
|
|
6
|
+
"https:",
|
|
7
|
+
"mailto:"
|
|
8
|
+
]);
|
|
9
|
+
function _(e) {
|
|
10
|
+
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
11
|
+
}
|
|
12
|
+
function v(e, t) {
|
|
13
|
+
switch (e.type) {
|
|
14
|
+
case "bold": return `<strong>${t}</strong>`;
|
|
15
|
+
case "italic": return `<em>${t}</em>`;
|
|
16
|
+
case "strike":
|
|
17
|
+
case "strikethrough": return `<s>${t}</s>`;
|
|
18
|
+
case "underline": return `<u>${t}</u>`;
|
|
19
|
+
case "code": return `<code>${t}</code>`;
|
|
20
|
+
case "link": return `<a href="${_(y(e.attrs?.href ?? "#"))}" target="_blank" rel="noopener noreferrer">${t}</a>`;
|
|
21
|
+
case "highlight": return `<mark style="background-color: ${_(e.attrs?.color ?? "#fde68a")}">${t}</mark>`;
|
|
22
|
+
default: return t;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function y(e) {
|
|
26
|
+
if (e.startsWith("#") || e.startsWith("/") || e.startsWith("./")) return e;
|
|
27
|
+
try {
|
|
28
|
+
let t = new URL(e);
|
|
29
|
+
return g.has(t.protocol) ? e : "#";
|
|
30
|
+
} catch {
|
|
31
|
+
return "#";
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
function b(e) {
|
|
35
|
+
let t = e?.textAlign;
|
|
36
|
+
return t !== "left" && t !== "center" && t !== "right" && t !== "justify" ? "" : ` style="text-align: ${t}"`;
|
|
37
|
+
}
|
|
38
|
+
function x(e) {
|
|
39
|
+
if (e.type === "text") {
|
|
40
|
+
let t = _(e.text ?? "");
|
|
41
|
+
for (let n of e.marks ?? []) t = v(n, t);
|
|
42
|
+
return t;
|
|
43
|
+
}
|
|
44
|
+
return (e.content ?? []).map(x).join("");
|
|
45
|
+
}
|
|
46
|
+
function S(e) {
|
|
47
|
+
let t = (e) => {
|
|
48
|
+
if (e.type === "text") return x(e);
|
|
49
|
+
let n = b(e.attrs), r = (e.content ?? []).map(t).join("");
|
|
50
|
+
switch (e.type) {
|
|
51
|
+
case "paragraph": return `<p${n}>${r}</p>`;
|
|
52
|
+
case "heading": {
|
|
53
|
+
let t = Math.min(Math.max(Number(e.attrs?.level ?? 1), 1), 6);
|
|
54
|
+
return `<h${t}${n}>${(e.content ?? []).map(x).join("")}</h${t}>`;
|
|
55
|
+
}
|
|
56
|
+
case "bulletList": return `<ul${n}>${r}</ul>`;
|
|
57
|
+
case "orderedList": {
|
|
58
|
+
let t = Number(e.attrs?.start ?? 1);
|
|
59
|
+
return `<ol${Number.isSafeInteger(t) && t > 1 ? ` start="${t}"` : ""}${n}>${r}</ol>`;
|
|
60
|
+
}
|
|
61
|
+
case "listItem": return `<li${n}>${r}</li>`;
|
|
62
|
+
case "taskList": return `<ul data-type="taskList">${r}</ul>`;
|
|
63
|
+
case "taskItem": {
|
|
64
|
+
let t = e.attrs?.checked === !0 || e.attrs?.checked === "true";
|
|
65
|
+
return `<li data-type="taskItem"${t ? " data-checked=\"true\"" : ""}><label><input type="checkbox" disabled${t ? " checked" : ""} /></label><div>${r}</div></li>`;
|
|
66
|
+
}
|
|
67
|
+
case "blockquote": return `<blockquote${n}>${r}</blockquote>`;
|
|
68
|
+
case "table": return `<table><tbody>${r}</tbody></table>`;
|
|
69
|
+
case "tableRow": return `<tr>${r}</tr>`;
|
|
70
|
+
case "tableHeader": return `<th${n}>${r}</th>`;
|
|
71
|
+
case "tableCell": return `<td${n}>${r}</td>`;
|
|
72
|
+
case "codeBlock": {
|
|
73
|
+
let t = e.attrs?.language ?? "";
|
|
74
|
+
return `<pre><code${t ? ` class="language-${_(t)}"` : ""}>${r}</code></pre>`;
|
|
75
|
+
}
|
|
76
|
+
case "horizontalRule": return "<hr />";
|
|
77
|
+
case "hardBreak": return "<br />";
|
|
78
|
+
case "image": {
|
|
79
|
+
let t = e.attrs?.src ?? "", n = e.attrs?.alt ?? "", r = Number(e.attrs?.width), i = Number(e.attrs?.height), a = `${Number.isFinite(r) && r > 0 ? ` width="${Math.round(r)}"` : ""}${Number.isFinite(i) && i > 0 ? ` height="${Math.round(i)}"` : ""}`;
|
|
80
|
+
return h.test(t) ? `<img data-shared-attachment-src="${_(t)}" alt="${_(n)}"${a} />` : `<img src="${_(t)}" alt="${_(n)}"${a} />`;
|
|
81
|
+
}
|
|
82
|
+
default: return r;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return (e.content ?? []).map(t).join("");
|
|
86
|
+
}
|
|
87
|
+
function C(e) {
|
|
88
|
+
return e.replace(/<li>(\s*<input\b[^>]*type=["']checkbox["'][^>]*>)/gi, "<li class=\"task-list-item\">$1");
|
|
89
|
+
}
|
|
90
|
+
function w(e, t = "") {
|
|
91
|
+
return {
|
|
92
|
+
"x-share-token": e,
|
|
93
|
+
...t ? { "x-share-password": t } : {}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
async function T(e, t, n = "") {
|
|
97
|
+
let r = [], i = e.querySelectorAll("img[data-shared-attachment-src]");
|
|
98
|
+
return await Promise.all(Array.from(i, async (e) => {
|
|
99
|
+
let i = e.dataset.sharedAttachmentSrc;
|
|
100
|
+
if (i) try {
|
|
101
|
+
let a = await fetch(i, { headers: w(t, n) });
|
|
102
|
+
if (!a.ok) {
|
|
103
|
+
e.dataset.sharedAttachmentError = String(a.status);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
let o = URL.createObjectURL(await a.blob());
|
|
107
|
+
r.push(o), e.src = o, e.removeAttribute("data-shared-attachment-src");
|
|
108
|
+
} catch {
|
|
109
|
+
e.dataset.sharedAttachmentError = "network";
|
|
110
|
+
}
|
|
111
|
+
})), r;
|
|
112
|
+
}
|
|
113
|
+
async function E(e) {
|
|
114
|
+
let t = Array.from(e.querySelectorAll("img"));
|
|
115
|
+
await Promise.all(t.map(async (e) => {
|
|
116
|
+
if (!e.complete) {
|
|
117
|
+
if (typeof e.decode == "function") {
|
|
118
|
+
await e.decode().catch(() => void 0);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
await new Promise((t) => {
|
|
122
|
+
e.addEventListener("load", () => t(), { once: !0 }), e.addEventListener("error", () => t(), { once: !0 });
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
//#endregion
|
|
128
|
+
//#region src/lib/hosts/DocsmintSharedDocumentHost.svelte
|
|
129
|
+
var D = a("<div data-docsmint-shared-document-host=\"\"><div data-extension-zone=\"shared-header-actions\"></div> <!> <div data-extension-zone=\"shared-document-tabs\"></div> <div data-extension-zone=\"shared-document-notes\"></div> <div data-extension-zone=\"shared-document-editor\"><!></div></div>");
|
|
130
|
+
function O(a, h) {
|
|
131
|
+
d(h, !0);
|
|
132
|
+
let g = e();
|
|
133
|
+
function _(e) {
|
|
134
|
+
return e.permission === "annotate" ? h.context.permissions.annotate : h.context.permissions.edit;
|
|
135
|
+
}
|
|
136
|
+
function v(e) {
|
|
137
|
+
let t = /* @__PURE__ */ new Set();
|
|
138
|
+
return e.filter((e) => {
|
|
139
|
+
if (t.has(e.id) || !_(e)) return !1;
|
|
140
|
+
t.add(e.id);
|
|
141
|
+
try {
|
|
142
|
+
return e.visible?.(h.context) ?? !0;
|
|
143
|
+
} catch {
|
|
144
|
+
return !1;
|
|
145
|
+
}
|
|
146
|
+
}).sort((e, t) => (e.order ?? 0) - (t.order ?? 0) || e.id.localeCompare(t.id));
|
|
147
|
+
}
|
|
148
|
+
var y = D(), b = t(y);
|
|
149
|
+
s(b, 21, () => v(g.sharedDocumentHeaderActions), (e) => e.id, (e, t) => {
|
|
150
|
+
var n = i();
|
|
151
|
+
o(u(n), () => r(t).component, (e, t) => {
|
|
152
|
+
t(e, { get context() {
|
|
153
|
+
return h.context;
|
|
154
|
+
} });
|
|
155
|
+
}), f(e, n);
|
|
156
|
+
}), c(b);
|
|
157
|
+
var x = m(b, 2);
|
|
158
|
+
p(x, () => h.children);
|
|
159
|
+
var S = m(x, 2);
|
|
160
|
+
s(S, 21, () => v(g.sharedDocumentTabs), (e) => e.id, (e, t) => {
|
|
161
|
+
var n = i();
|
|
162
|
+
o(u(n), () => r(t).component, (e, t) => {
|
|
163
|
+
t(e, { get context() {
|
|
164
|
+
return h.context;
|
|
165
|
+
} });
|
|
166
|
+
}), f(e, n);
|
|
167
|
+
}), c(S);
|
|
168
|
+
var C = m(S, 2);
|
|
169
|
+
s(C, 21, () => v(g.sharedDocumentNotesModes), (e) => e.id, (e, t) => {
|
|
170
|
+
var n = i();
|
|
171
|
+
o(u(n), () => r(t).component, (e, t) => {
|
|
172
|
+
t(e, { get context() {
|
|
173
|
+
return h.context;
|
|
174
|
+
} });
|
|
175
|
+
}), f(e, n);
|
|
176
|
+
}), c(C);
|
|
177
|
+
var w = m(C, 2), T = t(w), E = (e) => {
|
|
178
|
+
var t = i();
|
|
179
|
+
s(u(t), 17, () => v(g.sharedDocumentEditorModes), (e) => e.id, (e, t) => {
|
|
180
|
+
var n = i();
|
|
181
|
+
o(u(n), () => r(t).component, (e, t) => {
|
|
182
|
+
t(e, { get context() {
|
|
183
|
+
return h.context;
|
|
184
|
+
} });
|
|
185
|
+
}), f(e, n);
|
|
186
|
+
}), f(e, t);
|
|
187
|
+
};
|
|
188
|
+
n(T, (e) => {
|
|
189
|
+
h.context.permissions.edit && e(E);
|
|
190
|
+
}), c(w), c(y), f(a, y), l();
|
|
191
|
+
}
|
|
192
|
+
//#endregion
|
|
193
|
+
export { O as DocsmintSharedDocumentHost, T as hydrateSharedAttachmentImages, C as markMarkdownTaskItems, S as renderSharedDocument, w as sharedAttachmentHeaders, E as waitForSharedDocumentImages };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import "./context-DbnW5yib.js";
|
|
2
|
+
import { C as e, M as t, et as n, i as r, j as i, t as a } from "./client-C6QQGb0e.js";
|
|
3
|
+
import { r as o } from "./resolve-Bl6xmJl_.js";
|
|
4
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/search.svelte
|
|
5
|
+
function s(s, c) {
|
|
6
|
+
let l = a(c, [
|
|
7
|
+
"children",
|
|
8
|
+
"$$slots",
|
|
9
|
+
"$$events",
|
|
10
|
+
"$$legacy"
|
|
11
|
+
]), u = [["path", { d: "m21 21-4.34-4.34" }], ["circle", {
|
|
12
|
+
cx: "11",
|
|
13
|
+
cy: "11",
|
|
14
|
+
r: "8"
|
|
15
|
+
}]];
|
|
16
|
+
o(s, r({ name: "search" }, () => l, {
|
|
17
|
+
get iconNode() {
|
|
18
|
+
return u;
|
|
19
|
+
},
|
|
20
|
+
children: (r, a) => {
|
|
21
|
+
var o = t();
|
|
22
|
+
e(n(o), c, "default", {}, null), i(r, o);
|
|
23
|
+
},
|
|
24
|
+
$$slots: { default: !0 }
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/tag.svelte
|
|
29
|
+
function c(s, c) {
|
|
30
|
+
let l = a(c, [
|
|
31
|
+
"children",
|
|
32
|
+
"$$slots",
|
|
33
|
+
"$$events",
|
|
34
|
+
"$$legacy"
|
|
35
|
+
]), u = [["path", { d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z" }], ["circle", {
|
|
36
|
+
cx: "7.5",
|
|
37
|
+
cy: "7.5",
|
|
38
|
+
r: ".5",
|
|
39
|
+
fill: "currentColor"
|
|
40
|
+
}]];
|
|
41
|
+
o(s, r({ name: "tag" }, () => l, {
|
|
42
|
+
get iconNode() {
|
|
43
|
+
return u;
|
|
44
|
+
},
|
|
45
|
+
children: (r, a) => {
|
|
46
|
+
var o = t();
|
|
47
|
+
e(n(o), c, "default", {}, null), i(r, o);
|
|
48
|
+
},
|
|
49
|
+
$$slots: { default: !0 }
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { s as n, c as t };
|