@hiai-gg/docsmint 0.5.8 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE +39 -8
  2. package/README.md +67 -43
  3. package/dist/backend/index.js +53 -14
  4. package/dist/client.d.ts +3 -1
  5. package/dist/client.js +2 -0
  6. package/dist/frontend/{CategoryDialog-BYAFjX7E.js → CategoryDialog-CbXBMBZB.js} +3 -3
  7. package/dist/frontend/HiAiEditor-DSVG3GNd.js +2986 -0
  8. package/dist/frontend/SettingsDialog-BDNgf5rv.js +969 -0
  9. package/dist/frontend/ShareDialog-2Mty7hm4.js +258 -0
  10. package/dist/frontend/{Sidebar-B-zCJT9i.js → Sidebar-DX08utdV.js} +15 -15
  11. package/dist/frontend/app-shell.js +122 -65
  12. package/dist/frontend/components/category-dialog.js +1 -1
  13. package/dist/frontend/components/editor/compact-editor.d.ts +3 -0
  14. package/dist/frontend/components/editor/compact-editor.js +36 -0
  15. package/dist/frontend/components/editor/document-editor.js +2 -2986
  16. package/dist/frontend/components/settings.js +1 -1
  17. package/dist/frontend/components/share-dialog.d.ts +2 -1
  18. package/dist/frontend/components/share-dialog.js +1 -1
  19. package/dist/frontend/components/sidebar.js +1 -1
  20. package/dist/frontend/dashboard.js +1 -1
  21. package/dist/frontend/editor-preferences.d.ts +4 -0
  22. package/dist/frontend/editor-preferences.js +2 -0
  23. package/dist/frontend/editor-preferences.svelte-Bt_A9k7n.js +61 -0
  24. package/dist/frontend/frontend.css +1 -1
  25. package/dist/frontend-ssr/app-shell.js +46 -2
  26. package/dist/frontend-ssr/assets/{CategoryDialog-BLxVoynx.js → CategoryDialog-QHEv_9N4.js} +4 -4
  27. package/dist/frontend-ssr/assets/HiAiEditor-CUOJmKzT.js +2358 -0
  28. package/dist/frontend-ssr/assets/{SettingsDialog-DVp0OxPO.js → SettingsDialog-BjJIiVLc.js} +2 -64
  29. package/dist/frontend-ssr/assets/{ShareDialog-BZd28sg-.js → ShareDialog-C9C-XTm4.js} +1 -1
  30. package/dist/frontend-ssr/assets/{Sidebar-CO9LZRPa.js → Sidebar-C2sUfGNk.js} +18 -18
  31. package/dist/frontend-ssr/assets/editor-preferences.svelte-iI5jJM1x.js +65 -0
  32. package/dist/frontend-ssr/components/category-dialog.js +1 -1
  33. package/dist/frontend-ssr/components/editor/compact-editor.js +19 -0
  34. package/dist/frontend-ssr/components/editor/document-editor.js +1 -2357
  35. package/dist/frontend-ssr/components/settings.js +1 -1
  36. package/dist/frontend-ssr/components/share-dialog.js +1 -1
  37. package/dist/frontend-ssr/components/sidebar.js +1 -1
  38. package/dist/frontend-ssr/dashboard.js +1 -1
  39. package/dist/frontend-ssr/editor-preferences.js +2 -0
  40. package/dist/types.d.ts +5 -0
  41. package/package.json +16 -2
  42. package/packages/cli/src/index.ts +1 -1
  43. package/packages/mcp-server/src/index.ts +1 -1
  44. package/dist/frontend/SettingsDialog-CyZSOjLE.js +0 -1024
  45. package/dist/frontend/ShareDialog-BC-Jl6v1.js +0 -257
@@ -0,0 +1,2358 @@
1
+ import { $t as editor_toolbar_list, A as editor_highlight_gray, F as editor_highlight_red, Gt as editor_toolbar_emoji, Ht as editor_enter_url, I as editor_highlight_orange, Jt as editor_toolbar_redo, Kt as editor_toolbar_text_formatting, L as editor_highlight_yellow, M as editor_highlight_purple, Mr as doc_content_placeholder, N as editor_highlight_blue, P as editor_highlight_green, Pt as version_create_snapshot, Qt as editor_toolbar_heading, R as editor_anonymous, Ut as editor_toolbar_copy, Vt as editor_content_label, Wt as editor_toolbar_align, Xt as editor_toolbar_horizontal_rule, Yt as editor_toolbar_undo, Zt as editor_toolbar_code_block, _n as action_cancel, en as editor_toolbar_image, in as editor_toolbar_bold, j as editor_highlight_pink, nn as editor_toolbar_underline, qt as editor_toolbar_highlight, rn as editor_toolbar_italic, tn as editor_toolbar_link, vn as action_save } from "./messages-BAQzILs4.js";
2
+ import { t as Icon } from "./Icon-QwirKi9Y.js";
3
+ import { t as Camera } from "./camera-D6s20LDi.js";
4
+ import { t as Chevron_down } from "./chevron-down-CvqKATjM.js";
5
+ import { t as Copy } from "./copy-DkkCPkBL.js";
6
+ import { a as getDocsmintRequestAdapter } from "./route-context-BPRerEtZ.js";
7
+ import { a as Dialog, n as Dialog_header, o as Button, r as Dialog_footer, t as Dialog_title } from "./dialog-BOV1u6zP.js";
8
+ import { t as Input } from "./input-DezGsU3y.js";
9
+ import { a as resolveOfflineIdentity } from "./identity-B3uHoDtf.js";
10
+ import { n as getOfflineDB } from "./db-CnxeO66n.js";
11
+ import { h as unregisterShortcut, u as registerShortcut } from "./keyboard.svelte-BgF47N3L.js";
12
+ import { t as CreateSnapshotDialog } from "./CreateSnapshotDialog-CI8vXXcN.js";
13
+ import { a as sanitizeEditorContent, i as removeUnavailableAttachmentImages, r as editorExtensions } from "./editorExtensions-BwGeSPuX.js";
14
+ import { t as markdownToJson } from "./markdown-CB8DZ-LT.js";
15
+ import * as $ from "svelte/internal/server";
16
+ import { onDestroy, onMount, tick } from "svelte";
17
+ import "svelte/reactivity";
18
+ import Collaboration from "@tiptap/extension-collaboration";
19
+ import CollaborationCursor from "@tiptap/extension-collaboration-cursor";
20
+ import { Editor } from "@tiptap/core";
21
+ import { readable } from "svelte/store";
22
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/bold.svelte
23
+ function Bold($$renderer, $$props) {
24
+ const $$sanitized_props = $.sanitize_props($$props);
25
+ /**
26
+ * @license lucide-svelte v0.577.0 - ISC
27
+ *
28
+ * ISC License
29
+ *
30
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
31
+ *
32
+ * Permission to use, copy, modify, and/or distribute this software for any
33
+ * purpose with or without fee is hereby granted, provided that the above
34
+ * copyright notice and this permission notice appear in all copies.
35
+ *
36
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
37
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
38
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
39
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
40
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
41
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
42
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
43
+ *
44
+ * ---
45
+ *
46
+ * The MIT License (MIT) (for portions derived from Feather)
47
+ *
48
+ * Copyright (c) 2013-2026 Cole Bemis
49
+ *
50
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
51
+ * of this software and associated documentation files (the "Software"), to deal
52
+ * in the Software without restriction, including without limitation the rights
53
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
54
+ * copies of the Software, and to permit persons to whom the Software is
55
+ * furnished to do so, subject to the following conditions:
56
+ *
57
+ * The above copyright notice and this permission notice shall be included in all
58
+ * copies or substantial portions of the Software.
59
+ *
60
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
61
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
62
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
63
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
64
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
65
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
66
+ * SOFTWARE.
67
+ *
68
+ */
69
+ Icon($$renderer, $.spread_props([
70
+ { name: "bold" },
71
+ $$sanitized_props,
72
+ {
73
+ /**
74
+ * @component @name Bold
75
+ * @description Lucide SVG icon component, renders SVG Element with children.
76
+ *
77
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiAxMmg5YTQgNCAwIDAgMSAwIDhIN2ExIDEgMCAwIDEtMS0xVjVhMSAxIDAgMCAxIDEtMWg3YTQgNCAwIDAgMSAwIDgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/bold
78
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
79
+ *
80
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
81
+ * @returns {FunctionalComponent} Svelte component
82
+ *
83
+ */
84
+ iconNode: [["path", { "d": "M6 12h9a4 4 0 0 1 0 8H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h7a4 4 0 0 1 0 8" }]],
85
+ children: ($$renderer) => {
86
+ $$renderer.push(`<!--[-->`);
87
+ $.slot($$renderer, $$props, "default", {}, null);
88
+ $$renderer.push(`<!--]-->`);
89
+ },
90
+ $$slots: { default: true }
91
+ }
92
+ ]));
93
+ }
94
+ //#endregion
95
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/heading-1.svelte
96
+ function Heading_1($$renderer, $$props) {
97
+ const $$sanitized_props = $.sanitize_props($$props);
98
+ /**
99
+ * @license lucide-svelte v0.577.0 - ISC
100
+ *
101
+ * ISC License
102
+ *
103
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
104
+ *
105
+ * Permission to use, copy, modify, and/or distribute this software for any
106
+ * purpose with or without fee is hereby granted, provided that the above
107
+ * copyright notice and this permission notice appear in all copies.
108
+ *
109
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
110
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
111
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
112
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
113
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
114
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
115
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
116
+ *
117
+ * ---
118
+ *
119
+ * The MIT License (MIT) (for portions derived from Feather)
120
+ *
121
+ * Copyright (c) 2013-2026 Cole Bemis
122
+ *
123
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
124
+ * of this software and associated documentation files (the "Software"), to deal
125
+ * in the Software without restriction, including without limitation the rights
126
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
127
+ * copies of the Software, and to permit persons to whom the Software is
128
+ * furnished to do so, subject to the following conditions:
129
+ *
130
+ * The above copyright notice and this permission notice shall be included in all
131
+ * copies or substantial portions of the Software.
132
+ *
133
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
134
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
135
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
136
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
137
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
138
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
139
+ * SOFTWARE.
140
+ *
141
+ */
142
+ Icon($$renderer, $.spread_props([
143
+ { name: "heading-1" },
144
+ $$sanitized_props,
145
+ {
146
+ /**
147
+ * @component @name Heading1
148
+ * @description Lucide SVG icon component, renders SVG Element with children.
149
+ *
150
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxMmg4IiAvPgogIDxwYXRoIGQ9Ik00IDE4VjYiIC8+CiAgPHBhdGggZD0iTTEyIDE4VjYiIC8+CiAgPHBhdGggZD0ibTE3IDEyIDMtMnY4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/heading-1
151
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
152
+ *
153
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
154
+ * @returns {FunctionalComponent} Svelte component
155
+ *
156
+ */
157
+ iconNode: [
158
+ ["path", { "d": "M4 12h8" }],
159
+ ["path", { "d": "M4 18V6" }],
160
+ ["path", { "d": "M12 18V6" }],
161
+ ["path", { "d": "m17 12 3-2v8" }]
162
+ ],
163
+ children: ($$renderer) => {
164
+ $$renderer.push(`<!--[-->`);
165
+ $.slot($$renderer, $$props, "default", {}, null);
166
+ $$renderer.push(`<!--]-->`);
167
+ },
168
+ $$slots: { default: true }
169
+ }
170
+ ]));
171
+ }
172
+ //#endregion
173
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/highlighter.svelte
174
+ function Highlighter($$renderer, $$props) {
175
+ const $$sanitized_props = $.sanitize_props($$props);
176
+ /**
177
+ * @license lucide-svelte v0.577.0 - ISC
178
+ *
179
+ * ISC License
180
+ *
181
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
182
+ *
183
+ * Permission to use, copy, modify, and/or distribute this software for any
184
+ * purpose with or without fee is hereby granted, provided that the above
185
+ * copyright notice and this permission notice appear in all copies.
186
+ *
187
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
188
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
189
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
190
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
191
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
192
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
193
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
194
+ *
195
+ * ---
196
+ *
197
+ * The MIT License (MIT) (for portions derived from Feather)
198
+ *
199
+ * Copyright (c) 2013-2026 Cole Bemis
200
+ *
201
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
202
+ * of this software and associated documentation files (the "Software"), to deal
203
+ * in the Software without restriction, including without limitation the rights
204
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
205
+ * copies of the Software, and to permit persons to whom the Software is
206
+ * furnished to do so, subject to the following conditions:
207
+ *
208
+ * The above copyright notice and this permission notice shall be included in all
209
+ * copies or substantial portions of the Software.
210
+ *
211
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
212
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
213
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
214
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
215
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
216
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
217
+ * SOFTWARE.
218
+ *
219
+ */
220
+ Icon($$renderer, $.spread_props([
221
+ { name: "highlighter" },
222
+ $$sanitized_props,
223
+ {
224
+ /**
225
+ * @component @name Highlighter
226
+ * @description Lucide SVG icon component, renders SVG Element with children.
227
+ *
228
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxMS02IDZ2M2g5bDMtMyIgLz4KICA8cGF0aCBkPSJtMjIgMTItNC42IDQuNmEyIDIgMCAwIDEtMi44IDBsLTUuMi01LjJhMiAyIDAgMCAxIDAtMi44TDE0IDQiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/highlighter
229
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
230
+ *
231
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
232
+ * @returns {FunctionalComponent} Svelte component
233
+ *
234
+ */
235
+ iconNode: [["path", { "d": "m9 11-6 6v3h9l3-3" }], ["path", { "d": "m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4" }]],
236
+ children: ($$renderer) => {
237
+ $$renderer.push(`<!--[-->`);
238
+ $.slot($$renderer, $$props, "default", {}, null);
239
+ $$renderer.push(`<!--]-->`);
240
+ },
241
+ $$slots: { default: true }
242
+ }
243
+ ]));
244
+ }
245
+ //#endregion
246
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/image.svelte
247
+ function Image($$renderer, $$props) {
248
+ const $$sanitized_props = $.sanitize_props($$props);
249
+ /**
250
+ * @license lucide-svelte v0.577.0 - ISC
251
+ *
252
+ * ISC License
253
+ *
254
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
255
+ *
256
+ * Permission to use, copy, modify, and/or distribute this software for any
257
+ * purpose with or without fee is hereby granted, provided that the above
258
+ * copyright notice and this permission notice appear in all copies.
259
+ *
260
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
261
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
262
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
263
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
264
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
265
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
266
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
267
+ *
268
+ * ---
269
+ *
270
+ * The MIT License (MIT) (for portions derived from Feather)
271
+ *
272
+ * Copyright (c) 2013-2026 Cole Bemis
273
+ *
274
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
275
+ * of this software and associated documentation files (the "Software"), to deal
276
+ * in the Software without restriction, including without limitation the rights
277
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
278
+ * copies of the Software, and to permit persons to whom the Software is
279
+ * furnished to do so, subject to the following conditions:
280
+ *
281
+ * The above copyright notice and this permission notice shall be included in all
282
+ * copies or substantial portions of the Software.
283
+ *
284
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
285
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
286
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
287
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
288
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
289
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
290
+ * SOFTWARE.
291
+ *
292
+ */
293
+ Icon($$renderer, $.spread_props([
294
+ { name: "image" },
295
+ $$sanitized_props,
296
+ {
297
+ /**
298
+ * @component @name Image
299
+ * @description Lucide SVG icon component, renders SVG Element with children.
300
+ *
301
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiByeT0iMiIgLz4KICA8Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iMiIgLz4KICA8cGF0aCBkPSJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/image
302
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
303
+ *
304
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
305
+ * @returns {FunctionalComponent} Svelte component
306
+ *
307
+ */
308
+ iconNode: [
309
+ ["rect", {
310
+ "width": "18",
311
+ "height": "18",
312
+ "x": "3",
313
+ "y": "3",
314
+ "rx": "2",
315
+ "ry": "2"
316
+ }],
317
+ ["circle", {
318
+ "cx": "9",
319
+ "cy": "9",
320
+ "r": "2"
321
+ }],
322
+ ["path", { "d": "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" }]
323
+ ],
324
+ children: ($$renderer) => {
325
+ $$renderer.push(`<!--[-->`);
326
+ $.slot($$renderer, $$props, "default", {}, null);
327
+ $$renderer.push(`<!--]-->`);
328
+ },
329
+ $$slots: { default: true }
330
+ }
331
+ ]));
332
+ }
333
+ //#endregion
334
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/italic.svelte
335
+ function Italic($$renderer, $$props) {
336
+ const $$sanitized_props = $.sanitize_props($$props);
337
+ /**
338
+ * @license lucide-svelte v0.577.0 - ISC
339
+ *
340
+ * ISC License
341
+ *
342
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
343
+ *
344
+ * Permission to use, copy, modify, and/or distribute this software for any
345
+ * purpose with or without fee is hereby granted, provided that the above
346
+ * copyright notice and this permission notice appear in all copies.
347
+ *
348
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
349
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
350
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
351
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
352
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
353
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
354
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
355
+ *
356
+ * ---
357
+ *
358
+ * The MIT License (MIT) (for portions derived from Feather)
359
+ *
360
+ * Copyright (c) 2013-2026 Cole Bemis
361
+ *
362
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
363
+ * of this software and associated documentation files (the "Software"), to deal
364
+ * in the Software without restriction, including without limitation the rights
365
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
366
+ * copies of the Software, and to permit persons to whom the Software is
367
+ * furnished to do so, subject to the following conditions:
368
+ *
369
+ * The above copyright notice and this permission notice shall be included in all
370
+ * copies or substantial portions of the Software.
371
+ *
372
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
373
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
374
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
375
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
376
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
377
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
378
+ * SOFTWARE.
379
+ *
380
+ */
381
+ Icon($$renderer, $.spread_props([
382
+ { name: "italic" },
383
+ $$sanitized_props,
384
+ {
385
+ /**
386
+ * @component @name Italic
387
+ * @description Lucide SVG icon component, renders SVG Element with children.
388
+ *
389
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8bGluZSB4MT0iMTkiIHgyPSIxMCIgeTE9IjQiIHkyPSI0IiAvPgogIDxsaW5lIHgxPSIxNCIgeDI9IjUiIHkxPSIyMCIgeTI9IjIwIiAvPgogIDxsaW5lIHgxPSIxNSIgeDI9IjkiIHkxPSI0IiB5Mj0iMjAiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/italic
390
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
391
+ *
392
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
393
+ * @returns {FunctionalComponent} Svelte component
394
+ *
395
+ */
396
+ iconNode: [
397
+ ["line", {
398
+ "x1": "19",
399
+ "x2": "10",
400
+ "y1": "4",
401
+ "y2": "4"
402
+ }],
403
+ ["line", {
404
+ "x1": "14",
405
+ "x2": "5",
406
+ "y1": "20",
407
+ "y2": "20"
408
+ }],
409
+ ["line", {
410
+ "x1": "15",
411
+ "x2": "9",
412
+ "y1": "4",
413
+ "y2": "20"
414
+ }]
415
+ ],
416
+ children: ($$renderer) => {
417
+ $$renderer.push(`<!--[-->`);
418
+ $.slot($$renderer, $$props, "default", {}, null);
419
+ $$renderer.push(`<!--]-->`);
420
+ },
421
+ $$slots: { default: true }
422
+ }
423
+ ]));
424
+ }
425
+ //#endregion
426
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/link.svelte
427
+ function Link($$renderer, $$props) {
428
+ const $$sanitized_props = $.sanitize_props($$props);
429
+ /**
430
+ * @license lucide-svelte v0.577.0 - ISC
431
+ *
432
+ * ISC License
433
+ *
434
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
435
+ *
436
+ * Permission to use, copy, modify, and/or distribute this software for any
437
+ * purpose with or without fee is hereby granted, provided that the above
438
+ * copyright notice and this permission notice appear in all copies.
439
+ *
440
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
441
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
442
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
443
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
444
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
445
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
446
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
447
+ *
448
+ * ---
449
+ *
450
+ * The MIT License (MIT) (for portions derived from Feather)
451
+ *
452
+ * Copyright (c) 2013-2026 Cole Bemis
453
+ *
454
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
455
+ * of this software and associated documentation files (the "Software"), to deal
456
+ * in the Software without restriction, including without limitation the rights
457
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
458
+ * copies of the Software, and to permit persons to whom the Software is
459
+ * furnished to do so, subject to the following conditions:
460
+ *
461
+ * The above copyright notice and this permission notice shall be included in all
462
+ * copies or substantial portions of the Software.
463
+ *
464
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
465
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
466
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
467
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
468
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
469
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
470
+ * SOFTWARE.
471
+ *
472
+ */
473
+ Icon($$renderer, $.spread_props([
474
+ { name: "link" },
475
+ $$sanitized_props,
476
+ {
477
+ /**
478
+ * @component @name Link
479
+ * @description Lucide SVG icon component, renders SVG Element with children.
480
+ *
481
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTAgMTNhNSA1IDAgMCAwIDcuNTQuNTRsMy0zYTUgNSAwIDAgMC03LjA3LTcuMDdsLTEuNzIgMS43MSIgLz4KICA8cGF0aCBkPSJNMTQgMTFhNSA1IDAgMCAwLTcuNTQtLjU0bC0zIDNhNSA1IDAgMCAwIDcuMDcgNy4wN2wxLjcxLTEuNzEiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/link
482
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
483
+ *
484
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
485
+ * @returns {FunctionalComponent} Svelte component
486
+ *
487
+ */
488
+ iconNode: [["path", { "d": "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" }], ["path", { "d": "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" }]],
489
+ children: ($$renderer) => {
490
+ $$renderer.push(`<!--[-->`);
491
+ $.slot($$renderer, $$props, "default", {}, null);
492
+ $$renderer.push(`<!--]-->`);
493
+ },
494
+ $$slots: { default: true }
495
+ }
496
+ ]));
497
+ }
498
+ //#endregion
499
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/list.svelte
500
+ function List($$renderer, $$props) {
501
+ const $$sanitized_props = $.sanitize_props($$props);
502
+ /**
503
+ * @license lucide-svelte v0.577.0 - ISC
504
+ *
505
+ * ISC License
506
+ *
507
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
508
+ *
509
+ * Permission to use, copy, modify, and/or distribute this software for any
510
+ * purpose with or without fee is hereby granted, provided that the above
511
+ * copyright notice and this permission notice appear in all copies.
512
+ *
513
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
514
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
515
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
516
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
517
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
518
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
519
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
520
+ *
521
+ * ---
522
+ *
523
+ * The MIT License (MIT) (for portions derived from Feather)
524
+ *
525
+ * Copyright (c) 2013-2026 Cole Bemis
526
+ *
527
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
528
+ * of this software and associated documentation files (the "Software"), to deal
529
+ * in the Software without restriction, including without limitation the rights
530
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
531
+ * copies of the Software, and to permit persons to whom the Software is
532
+ * furnished to do so, subject to the following conditions:
533
+ *
534
+ * The above copyright notice and this permission notice shall be included in all
535
+ * copies or substantial portions of the Software.
536
+ *
537
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
538
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
539
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
540
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
541
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
542
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
543
+ * SOFTWARE.
544
+ *
545
+ */
546
+ Icon($$renderer, $.spread_props([
547
+ { name: "list" },
548
+ $$sanitized_props,
549
+ {
550
+ /**
551
+ * @component @name List
552
+ * @description Lucide SVG icon component, renders SVG Element with children.
553
+ *
554
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1aC4wMSIgLz4KICA8cGF0aCBkPSJNMyAxMmguMDEiIC8+CiAgPHBhdGggZD0iTTMgMTloLjAxIiAvPgogIDxwYXRoIGQ9Ik04IDVoMTMiIC8+CiAgPHBhdGggZD0iTTggMTJoMTMiIC8+CiAgPHBhdGggZD0iTTggMTloMTMiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/list
555
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
556
+ *
557
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
558
+ * @returns {FunctionalComponent} Svelte component
559
+ *
560
+ */
561
+ iconNode: [
562
+ ["path", { "d": "M3 5h.01" }],
563
+ ["path", { "d": "M3 12h.01" }],
564
+ ["path", { "d": "M3 19h.01" }],
565
+ ["path", { "d": "M8 5h13" }],
566
+ ["path", { "d": "M8 12h13" }],
567
+ ["path", { "d": "M8 19h13" }]
568
+ ],
569
+ children: ($$renderer) => {
570
+ $$renderer.push(`<!--[-->`);
571
+ $.slot($$renderer, $$props, "default", {}, null);
572
+ $$renderer.push(`<!--]-->`);
573
+ },
574
+ $$slots: { default: true }
575
+ }
576
+ ]));
577
+ }
578
+ //#endregion
579
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/minus.svelte
580
+ function Minus($$renderer, $$props) {
581
+ const $$sanitized_props = $.sanitize_props($$props);
582
+ /**
583
+ * @license lucide-svelte v0.577.0 - ISC
584
+ *
585
+ * ISC License
586
+ *
587
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
588
+ *
589
+ * Permission to use, copy, modify, and/or distribute this software for any
590
+ * purpose with or without fee is hereby granted, provided that the above
591
+ * copyright notice and this permission notice appear in all copies.
592
+ *
593
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
594
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
595
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
596
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
597
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
598
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
599
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
600
+ *
601
+ * ---
602
+ *
603
+ * The MIT License (MIT) (for portions derived from Feather)
604
+ *
605
+ * Copyright (c) 2013-2026 Cole Bemis
606
+ *
607
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
608
+ * of this software and associated documentation files (the "Software"), to deal
609
+ * in the Software without restriction, including without limitation the rights
610
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
611
+ * copies of the Software, and to permit persons to whom the Software is
612
+ * furnished to do so, subject to the following conditions:
613
+ *
614
+ * The above copyright notice and this permission notice shall be included in all
615
+ * copies or substantial portions of the Software.
616
+ *
617
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
618
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
619
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
620
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
621
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
622
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
623
+ * SOFTWARE.
624
+ *
625
+ */
626
+ Icon($$renderer, $.spread_props([
627
+ { name: "minus" },
628
+ $$sanitized_props,
629
+ {
630
+ /**
631
+ * @component @name Minus
632
+ * @description Lucide SVG icon component, renders SVG Element with children.
633
+ *
634
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/minus
635
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
636
+ *
637
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
638
+ * @returns {FunctionalComponent} Svelte component
639
+ *
640
+ */
641
+ iconNode: [["path", { "d": "M5 12h14" }]],
642
+ children: ($$renderer) => {
643
+ $$renderer.push(`<!--[-->`);
644
+ $.slot($$renderer, $$props, "default", {}, null);
645
+ $$renderer.push(`<!--]-->`);
646
+ },
647
+ $$slots: { default: true }
648
+ }
649
+ ]));
650
+ }
651
+ //#endregion
652
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/quote.svelte
653
+ function Quote($$renderer, $$props) {
654
+ const $$sanitized_props = $.sanitize_props($$props);
655
+ /**
656
+ * @license lucide-svelte v0.577.0 - ISC
657
+ *
658
+ * ISC License
659
+ *
660
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
661
+ *
662
+ * Permission to use, copy, modify, and/or distribute this software for any
663
+ * purpose with or without fee is hereby granted, provided that the above
664
+ * copyright notice and this permission notice appear in all copies.
665
+ *
666
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
667
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
668
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
669
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
670
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
671
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
672
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
673
+ *
674
+ * ---
675
+ *
676
+ * The MIT License (MIT) (for portions derived from Feather)
677
+ *
678
+ * Copyright (c) 2013-2026 Cole Bemis
679
+ *
680
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
681
+ * of this software and associated documentation files (the "Software"), to deal
682
+ * in the Software without restriction, including without limitation the rights
683
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
684
+ * copies of the Software, and to permit persons to whom the Software is
685
+ * furnished to do so, subject to the following conditions:
686
+ *
687
+ * The above copyright notice and this permission notice shall be included in all
688
+ * copies or substantial portions of the Software.
689
+ *
690
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
691
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
692
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
693
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
694
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
695
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
696
+ * SOFTWARE.
697
+ *
698
+ */
699
+ Icon($$renderer, $.spread_props([
700
+ { name: "quote" },
701
+ $$sanitized_props,
702
+ {
703
+ /**
704
+ * @component @name Quote
705
+ * @description Lucide SVG icon component, renders SVG Element with children.
706
+ *
707
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTYgM2EyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMiAxIDEgMCAwIDEgMSAxdjFhMiAyIDAgMCAxLTIgMiAxIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMSA2IDYgMCAwIDAgNi02VjVhMiAyIDAgMCAwLTItMnoiIC8+CiAgPHBhdGggZD0iTTUgM2EyIDIgMCAwIDAtMiAydjZhMiAyIDAgMCAwIDIgMiAxIDEgMCAwIDEgMSAxdjFhMiAyIDAgMCAxLTIgMiAxIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMSA2IDYgMCAwIDAgNi02VjVhMiAyIDAgMCAwLTItMnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/quote
708
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
709
+ *
710
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
711
+ * @returns {FunctionalComponent} Svelte component
712
+ *
713
+ */
714
+ iconNode: [["path", { "d": "M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z" }], ["path", { "d": "M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z" }]],
715
+ children: ($$renderer) => {
716
+ $$renderer.push(`<!--[-->`);
717
+ $.slot($$renderer, $$props, "default", {}, null);
718
+ $$renderer.push(`<!--]-->`);
719
+ },
720
+ $$slots: { default: true }
721
+ }
722
+ ]));
723
+ }
724
+ //#endregion
725
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/redo.svelte
726
+ function Redo($$renderer, $$props) {
727
+ const $$sanitized_props = $.sanitize_props($$props);
728
+ /**
729
+ * @license lucide-svelte v0.577.0 - ISC
730
+ *
731
+ * ISC License
732
+ *
733
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
734
+ *
735
+ * Permission to use, copy, modify, and/or distribute this software for any
736
+ * purpose with or without fee is hereby granted, provided that the above
737
+ * copyright notice and this permission notice appear in all copies.
738
+ *
739
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
740
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
741
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
742
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
743
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
744
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
745
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
746
+ *
747
+ * ---
748
+ *
749
+ * The MIT License (MIT) (for portions derived from Feather)
750
+ *
751
+ * Copyright (c) 2013-2026 Cole Bemis
752
+ *
753
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
754
+ * of this software and associated documentation files (the "Software"), to deal
755
+ * in the Software without restriction, including without limitation the rights
756
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
757
+ * copies of the Software, and to permit persons to whom the Software is
758
+ * furnished to do so, subject to the following conditions:
759
+ *
760
+ * The above copyright notice and this permission notice shall be included in all
761
+ * copies or substantial portions of the Software.
762
+ *
763
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
764
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
765
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
766
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
767
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
768
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
769
+ * SOFTWARE.
770
+ *
771
+ */
772
+ Icon($$renderer, $.spread_props([
773
+ { name: "redo" },
774
+ $$sanitized_props,
775
+ {
776
+ /**
777
+ * @component @name Redo
778
+ * @description Lucide SVG icon component, renders SVG Element with children.
779
+ *
780
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgN3Y2aC02IiAvPgogIDxwYXRoIGQ9Ik0zIDE3YTkgOSAwIDAgMSA5LTkgOSA5IDAgMCAxIDYgMi4zbDMgMi43IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/redo
781
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
782
+ *
783
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
784
+ * @returns {FunctionalComponent} Svelte component
785
+ *
786
+ */
787
+ iconNode: [["path", { "d": "M21 7v6h-6" }], ["path", { "d": "M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7" }]],
788
+ children: ($$renderer) => {
789
+ $$renderer.push(`<!--[-->`);
790
+ $.slot($$renderer, $$props, "default", {}, null);
791
+ $$renderer.push(`<!--]-->`);
792
+ },
793
+ $$slots: { default: true }
794
+ }
795
+ ]));
796
+ }
797
+ //#endregion
798
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/smile.svelte
799
+ function Smile($$renderer, $$props) {
800
+ const $$sanitized_props = $.sanitize_props($$props);
801
+ /**
802
+ * @license lucide-svelte v0.577.0 - ISC
803
+ *
804
+ * ISC License
805
+ *
806
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
807
+ *
808
+ * Permission to use, copy, modify, and/or distribute this software for any
809
+ * purpose with or without fee is hereby granted, provided that the above
810
+ * copyright notice and this permission notice appear in all copies.
811
+ *
812
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
813
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
814
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
815
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
816
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
817
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
818
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
819
+ *
820
+ * ---
821
+ *
822
+ * The MIT License (MIT) (for portions derived from Feather)
823
+ *
824
+ * Copyright (c) 2013-2026 Cole Bemis
825
+ *
826
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
827
+ * of this software and associated documentation files (the "Software"), to deal
828
+ * in the Software without restriction, including without limitation the rights
829
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
830
+ * copies of the Software, and to permit persons to whom the Software is
831
+ * furnished to do so, subject to the following conditions:
832
+ *
833
+ * The above copyright notice and this permission notice shall be included in all
834
+ * copies or substantial portions of the Software.
835
+ *
836
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
837
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
838
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
839
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
840
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
841
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
842
+ * SOFTWARE.
843
+ *
844
+ */
845
+ Icon($$renderer, $.spread_props([
846
+ { name: "smile" },
847
+ $$sanitized_props,
848
+ {
849
+ /**
850
+ * @component @name Smile
851
+ * @description Lucide SVG icon component, renders SVG Element with children.
852
+ *
853
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMiIgLz4KICA8bGluZSB4MT0iOSIgeDI9IjkuMDEiIHkxPSI5IiB5Mj0iOSIgLz4KICA8bGluZSB4MT0iMTUiIHgyPSIxNS4wMSIgeTE9IjkiIHkyPSI5IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/smile
854
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
855
+ *
856
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
857
+ * @returns {FunctionalComponent} Svelte component
858
+ *
859
+ */
860
+ iconNode: [
861
+ ["circle", {
862
+ "cx": "12",
863
+ "cy": "12",
864
+ "r": "10"
865
+ }],
866
+ ["path", { "d": "M8 14s1.5 2 4 2 4-2 4-2" }],
867
+ ["line", {
868
+ "x1": "9",
869
+ "x2": "9.01",
870
+ "y1": "9",
871
+ "y2": "9"
872
+ }],
873
+ ["line", {
874
+ "x1": "15",
875
+ "x2": "15.01",
876
+ "y1": "9",
877
+ "y2": "9"
878
+ }]
879
+ ],
880
+ children: ($$renderer) => {
881
+ $$renderer.push(`<!--[-->`);
882
+ $.slot($$renderer, $$props, "default", {}, null);
883
+ $$renderer.push(`<!--]-->`);
884
+ },
885
+ $$slots: { default: true }
886
+ }
887
+ ]));
888
+ }
889
+ //#endregion
890
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/table.svelte
891
+ function Table($$renderer, $$props) {
892
+ const $$sanitized_props = $.sanitize_props($$props);
893
+ /**
894
+ * @license lucide-svelte v0.577.0 - ISC
895
+ *
896
+ * ISC License
897
+ *
898
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
899
+ *
900
+ * Permission to use, copy, modify, and/or distribute this software for any
901
+ * purpose with or without fee is hereby granted, provided that the above
902
+ * copyright notice and this permission notice appear in all copies.
903
+ *
904
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
905
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
906
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
907
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
908
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
909
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
910
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
911
+ *
912
+ * ---
913
+ *
914
+ * The MIT License (MIT) (for portions derived from Feather)
915
+ *
916
+ * Copyright (c) 2013-2026 Cole Bemis
917
+ *
918
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
919
+ * of this software and associated documentation files (the "Software"), to deal
920
+ * in the Software without restriction, including without limitation the rights
921
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
922
+ * copies of the Software, and to permit persons to whom the Software is
923
+ * furnished to do so, subject to the following conditions:
924
+ *
925
+ * The above copyright notice and this permission notice shall be included in all
926
+ * copies or substantial portions of the Software.
927
+ *
928
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
929
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
930
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
931
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
932
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
933
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
934
+ * SOFTWARE.
935
+ *
936
+ */
937
+ Icon($$renderer, $.spread_props([
938
+ { name: "table" },
939
+ $$sanitized_props,
940
+ {
941
+ /**
942
+ * @component @name Table
943
+ * @description Lucide SVG icon component, renders SVG Element with children.
944
+ *
945
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM3YxOCIgLz4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgogIDxwYXRoIGQ9Ik0zIDloMTgiIC8+CiAgPHBhdGggZD0iTTMgMTVoMTgiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/table
946
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
947
+ *
948
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
949
+ * @returns {FunctionalComponent} Svelte component
950
+ *
951
+ */
952
+ iconNode: [
953
+ ["path", { "d": "M12 3v18" }],
954
+ ["rect", {
955
+ "width": "18",
956
+ "height": "18",
957
+ "x": "3",
958
+ "y": "3",
959
+ "rx": "2"
960
+ }],
961
+ ["path", { "d": "M3 9h18" }],
962
+ ["path", { "d": "M3 15h18" }]
963
+ ],
964
+ children: ($$renderer) => {
965
+ $$renderer.push(`<!--[-->`);
966
+ $.slot($$renderer, $$props, "default", {}, null);
967
+ $$renderer.push(`<!--]-->`);
968
+ },
969
+ $$slots: { default: true }
970
+ }
971
+ ]));
972
+ }
973
+ //#endregion
974
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/type.svelte
975
+ function Type($$renderer, $$props) {
976
+ const $$sanitized_props = $.sanitize_props($$props);
977
+ /**
978
+ * @license lucide-svelte v0.577.0 - ISC
979
+ *
980
+ * ISC License
981
+ *
982
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
983
+ *
984
+ * Permission to use, copy, modify, and/or distribute this software for any
985
+ * purpose with or without fee is hereby granted, provided that the above
986
+ * copyright notice and this permission notice appear in all copies.
987
+ *
988
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
989
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
990
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
991
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
992
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
993
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
994
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
995
+ *
996
+ * ---
997
+ *
998
+ * The MIT License (MIT) (for portions derived from Feather)
999
+ *
1000
+ * Copyright (c) 2013-2026 Cole Bemis
1001
+ *
1002
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1003
+ * of this software and associated documentation files (the "Software"), to deal
1004
+ * in the Software without restriction, including without limitation the rights
1005
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1006
+ * copies of the Software, and to permit persons to whom the Software is
1007
+ * furnished to do so, subject to the following conditions:
1008
+ *
1009
+ * The above copyright notice and this permission notice shall be included in all
1010
+ * copies or substantial portions of the Software.
1011
+ *
1012
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1013
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1014
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1015
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1016
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1017
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1018
+ * SOFTWARE.
1019
+ *
1020
+ */
1021
+ Icon($$renderer, $.spread_props([
1022
+ { name: "type" },
1023
+ $$sanitized_props,
1024
+ {
1025
+ /**
1026
+ * @component @name Type
1027
+ * @description Lucide SVG icon component, renders SVG Element with children.
1028
+ *
1029
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgNHYxNiIgLz4KICA8cGF0aCBkPSJNNCA3VjVhMSAxIDAgMCAxIDEtMWgxNGExIDEgMCAwIDEgMSAxdjIiIC8+CiAgPHBhdGggZD0iTTkgMjBoNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/type
1030
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
1031
+ *
1032
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
1033
+ * @returns {FunctionalComponent} Svelte component
1034
+ *
1035
+ */
1036
+ iconNode: [
1037
+ ["path", { "d": "M12 4v16" }],
1038
+ ["path", { "d": "M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2" }],
1039
+ ["path", { "d": "M9 20h6" }]
1040
+ ],
1041
+ children: ($$renderer) => {
1042
+ $$renderer.push(`<!--[-->`);
1043
+ $.slot($$renderer, $$props, "default", {}, null);
1044
+ $$renderer.push(`<!--]-->`);
1045
+ },
1046
+ $$slots: { default: true }
1047
+ }
1048
+ ]));
1049
+ }
1050
+ //#endregion
1051
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/underline.svelte
1052
+ function Underline($$renderer, $$props) {
1053
+ const $$sanitized_props = $.sanitize_props($$props);
1054
+ /**
1055
+ * @license lucide-svelte v0.577.0 - ISC
1056
+ *
1057
+ * ISC License
1058
+ *
1059
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
1060
+ *
1061
+ * Permission to use, copy, modify, and/or distribute this software for any
1062
+ * purpose with or without fee is hereby granted, provided that the above
1063
+ * copyright notice and this permission notice appear in all copies.
1064
+ *
1065
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1066
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1067
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1068
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1069
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1070
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1071
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1072
+ *
1073
+ * ---
1074
+ *
1075
+ * The MIT License (MIT) (for portions derived from Feather)
1076
+ *
1077
+ * Copyright (c) 2013-2026 Cole Bemis
1078
+ *
1079
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1080
+ * of this software and associated documentation files (the "Software"), to deal
1081
+ * in the Software without restriction, including without limitation the rights
1082
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1083
+ * copies of the Software, and to permit persons to whom the Software is
1084
+ * furnished to do so, subject to the following conditions:
1085
+ *
1086
+ * The above copyright notice and this permission notice shall be included in all
1087
+ * copies or substantial portions of the Software.
1088
+ *
1089
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1090
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1091
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1092
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1093
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1094
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1095
+ * SOFTWARE.
1096
+ *
1097
+ */
1098
+ Icon($$renderer, $.spread_props([
1099
+ { name: "underline" },
1100
+ $$sanitized_props,
1101
+ {
1102
+ /**
1103
+ * @component @name Underline
1104
+ * @description Lucide SVG icon component, renders SVG Element with children.
1105
+ *
1106
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNiA0djZhNiA2IDAgMCAwIDEyIDBWNCIgLz4KICA8bGluZSB4MT0iNCIgeDI9IjIwIiB5MT0iMjAiIHkyPSIyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/underline
1107
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
1108
+ *
1109
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
1110
+ * @returns {FunctionalComponent} Svelte component
1111
+ *
1112
+ */
1113
+ iconNode: [["path", { "d": "M6 4v6a6 6 0 0 0 12 0V4" }], ["line", {
1114
+ "x1": "4",
1115
+ "x2": "20",
1116
+ "y1": "20",
1117
+ "y2": "20"
1118
+ }]],
1119
+ children: ($$renderer) => {
1120
+ $$renderer.push(`<!--[-->`);
1121
+ $.slot($$renderer, $$props, "default", {}, null);
1122
+ $$renderer.push(`<!--]-->`);
1123
+ },
1124
+ $$slots: { default: true }
1125
+ }
1126
+ ]));
1127
+ }
1128
+ //#endregion
1129
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/undo.svelte
1130
+ function Undo($$renderer, $$props) {
1131
+ const $$sanitized_props = $.sanitize_props($$props);
1132
+ /**
1133
+ * @license lucide-svelte v0.577.0 - ISC
1134
+ *
1135
+ * ISC License
1136
+ *
1137
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
1138
+ *
1139
+ * Permission to use, copy, modify, and/or distribute this software for any
1140
+ * purpose with or without fee is hereby granted, provided that the above
1141
+ * copyright notice and this permission notice appear in all copies.
1142
+ *
1143
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1144
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1145
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1146
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1147
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1148
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1149
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1150
+ *
1151
+ * ---
1152
+ *
1153
+ * The MIT License (MIT) (for portions derived from Feather)
1154
+ *
1155
+ * Copyright (c) 2013-2026 Cole Bemis
1156
+ *
1157
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1158
+ * of this software and associated documentation files (the "Software"), to deal
1159
+ * in the Software without restriction, including without limitation the rights
1160
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1161
+ * copies of the Software, and to permit persons to whom the Software is
1162
+ * furnished to do so, subject to the following conditions:
1163
+ *
1164
+ * The above copyright notice and this permission notice shall be included in all
1165
+ * copies or substantial portions of the Software.
1166
+ *
1167
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1168
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1169
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1170
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1171
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1172
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1173
+ * SOFTWARE.
1174
+ *
1175
+ */
1176
+ Icon($$renderer, $.spread_props([
1177
+ { name: "undo" },
1178
+ $$sanitized_props,
1179
+ {
1180
+ /**
1181
+ * @component @name Undo
1182
+ * @description Lucide SVG icon component, renders SVG Element with children.
1183
+ *
1184
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA3djZoNiIgLz4KICA8cGF0aCBkPSJNMjEgMTdhOSA5IDAgMCAwLTktOSA5IDkgMCAwIDAtNiAyLjNMMyAxMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/undo
1185
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
1186
+ *
1187
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
1188
+ * @returns {FunctionalComponent} Svelte component
1189
+ *
1190
+ */
1191
+ iconNode: [["path", { "d": "M3 7v6h6" }], ["path", { "d": "M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13" }]],
1192
+ children: ($$renderer) => {
1193
+ $$renderer.push(`<!--[-->`);
1194
+ $.slot($$renderer, $$props, "default", {}, null);
1195
+ $$renderer.push(`<!--]-->`);
1196
+ },
1197
+ $$slots: { default: true }
1198
+ }
1199
+ ]));
1200
+ }
1201
+ //#endregion
1202
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/code-xml.svelte
1203
+ function Code_xml($$renderer, $$props) {
1204
+ const $$sanitized_props = $.sanitize_props($$props);
1205
+ /**
1206
+ * @license lucide-svelte v0.577.0 - ISC
1207
+ *
1208
+ * ISC License
1209
+ *
1210
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
1211
+ *
1212
+ * Permission to use, copy, modify, and/or distribute this software for any
1213
+ * purpose with or without fee is hereby granted, provided that the above
1214
+ * copyright notice and this permission notice appear in all copies.
1215
+ *
1216
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1217
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1218
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1219
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1220
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1221
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1222
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1223
+ *
1224
+ * ---
1225
+ *
1226
+ * The MIT License (MIT) (for portions derived from Feather)
1227
+ *
1228
+ * Copyright (c) 2013-2026 Cole Bemis
1229
+ *
1230
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1231
+ * of this software and associated documentation files (the "Software"), to deal
1232
+ * in the Software without restriction, including without limitation the rights
1233
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1234
+ * copies of the Software, and to permit persons to whom the Software is
1235
+ * furnished to do so, subject to the following conditions:
1236
+ *
1237
+ * The above copyright notice and this permission notice shall be included in all
1238
+ * copies or substantial portions of the Software.
1239
+ *
1240
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1241
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1242
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1243
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1244
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1245
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1246
+ * SOFTWARE.
1247
+ *
1248
+ */
1249
+ Icon($$renderer, $.spread_props([
1250
+ { name: "code-xml" },
1251
+ $$sanitized_props,
1252
+ {
1253
+ /**
1254
+ * @component @name CodeXml
1255
+ * @description Lucide SVG icon component, renders SVG Element with children.
1256
+ *
1257
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMTggMTYgNC00LTQtNCIgLz4KICA8cGF0aCBkPSJtNiA4LTQgNCA0IDQiIC8+CiAgPHBhdGggZD0ibTE0LjUgNC01IDE2IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/code-xml
1258
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
1259
+ *
1260
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
1261
+ * @returns {FunctionalComponent} Svelte component
1262
+ *
1263
+ */
1264
+ iconNode: [
1265
+ ["path", { "d": "m18 16 4-4-4-4" }],
1266
+ ["path", { "d": "m6 8-4 4 4 4" }],
1267
+ ["path", { "d": "m14.5 4-5 16" }]
1268
+ ],
1269
+ children: ($$renderer) => {
1270
+ $$renderer.push(`<!--[-->`);
1271
+ $.slot($$renderer, $$props, "default", {}, null);
1272
+ $$renderer.push(`<!--]-->`);
1273
+ },
1274
+ $$slots: { default: true }
1275
+ }
1276
+ ]));
1277
+ }
1278
+ //#endregion
1279
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/text-align-center.svelte
1280
+ function Text_align_center($$renderer, $$props) {
1281
+ const $$sanitized_props = $.sanitize_props($$props);
1282
+ /**
1283
+ * @license lucide-svelte v0.577.0 - ISC
1284
+ *
1285
+ * ISC License
1286
+ *
1287
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
1288
+ *
1289
+ * Permission to use, copy, modify, and/or distribute this software for any
1290
+ * purpose with or without fee is hereby granted, provided that the above
1291
+ * copyright notice and this permission notice appear in all copies.
1292
+ *
1293
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1294
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1295
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1296
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1297
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1298
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1299
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1300
+ *
1301
+ * ---
1302
+ *
1303
+ * The MIT License (MIT) (for portions derived from Feather)
1304
+ *
1305
+ * Copyright (c) 2013-2026 Cole Bemis
1306
+ *
1307
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1308
+ * of this software and associated documentation files (the "Software"), to deal
1309
+ * in the Software without restriction, including without limitation the rights
1310
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1311
+ * copies of the Software, and to permit persons to whom the Software is
1312
+ * furnished to do so, subject to the following conditions:
1313
+ *
1314
+ * The above copyright notice and this permission notice shall be included in all
1315
+ * copies or substantial portions of the Software.
1316
+ *
1317
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1318
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1319
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1320
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1321
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1322
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1323
+ * SOFTWARE.
1324
+ *
1325
+ */
1326
+ Icon($$renderer, $.spread_props([
1327
+ { name: "text-align-center" },
1328
+ $$sanitized_props,
1329
+ {
1330
+ /**
1331
+ * @component @name TextAlignCenter
1332
+ * @description Lucide SVG icon component, renders SVG Element with children.
1333
+ *
1334
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xNyAxMkg3IiAvPgogIDxwYXRoIGQ9Ik0xOSAxOUg1IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-align-center
1335
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
1336
+ *
1337
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
1338
+ * @returns {FunctionalComponent} Svelte component
1339
+ *
1340
+ */
1341
+ iconNode: [
1342
+ ["path", { "d": "M21 5H3" }],
1343
+ ["path", { "d": "M17 12H7" }],
1344
+ ["path", { "d": "M19 19H5" }]
1345
+ ],
1346
+ children: ($$renderer) => {
1347
+ $$renderer.push(`<!--[-->`);
1348
+ $.slot($$renderer, $$props, "default", {}, null);
1349
+ $$renderer.push(`<!--]-->`);
1350
+ },
1351
+ $$slots: { default: true }
1352
+ }
1353
+ ]));
1354
+ }
1355
+ //#endregion
1356
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/text-align-end.svelte
1357
+ function Text_align_end($$renderer, $$props) {
1358
+ const $$sanitized_props = $.sanitize_props($$props);
1359
+ /**
1360
+ * @license lucide-svelte v0.577.0 - ISC
1361
+ *
1362
+ * ISC License
1363
+ *
1364
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
1365
+ *
1366
+ * Permission to use, copy, modify, and/or distribute this software for any
1367
+ * purpose with or without fee is hereby granted, provided that the above
1368
+ * copyright notice and this permission notice appear in all copies.
1369
+ *
1370
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1371
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1372
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1373
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1374
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1375
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1376
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1377
+ *
1378
+ * ---
1379
+ *
1380
+ * The MIT License (MIT) (for portions derived from Feather)
1381
+ *
1382
+ * Copyright (c) 2013-2026 Cole Bemis
1383
+ *
1384
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1385
+ * of this software and associated documentation files (the "Software"), to deal
1386
+ * in the Software without restriction, including without limitation the rights
1387
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1388
+ * copies of the Software, and to permit persons to whom the Software is
1389
+ * furnished to do so, subject to the following conditions:
1390
+ *
1391
+ * The above copyright notice and this permission notice shall be included in all
1392
+ * copies or substantial portions of the Software.
1393
+ *
1394
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1395
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1396
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1397
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1398
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1399
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1400
+ * SOFTWARE.
1401
+ *
1402
+ */
1403
+ Icon($$renderer, $.spread_props([
1404
+ { name: "text-align-end" },
1405
+ $$sanitized_props,
1406
+ {
1407
+ /**
1408
+ * @component @name TextAlignEnd
1409
+ * @description Lucide SVG icon component, renders SVG Element with children.
1410
+ *
1411
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgzIiAvPgogIDxwYXRoIGQ9Ik0yMSAxMkg5IiAvPgogIDxwYXRoIGQ9Ik0yMSAxOUg3IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-align-end
1412
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
1413
+ *
1414
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
1415
+ * @returns {FunctionalComponent} Svelte component
1416
+ *
1417
+ */
1418
+ iconNode: [
1419
+ ["path", { "d": "M21 5H3" }],
1420
+ ["path", { "d": "M21 12H9" }],
1421
+ ["path", { "d": "M21 19H7" }]
1422
+ ],
1423
+ children: ($$renderer) => {
1424
+ $$renderer.push(`<!--[-->`);
1425
+ $.slot($$renderer, $$props, "default", {}, null);
1426
+ $$renderer.push(`<!--]-->`);
1427
+ },
1428
+ $$slots: { default: true }
1429
+ }
1430
+ ]));
1431
+ }
1432
+ //#endregion
1433
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/text-align-justify.svelte
1434
+ function Text_align_justify($$renderer, $$props) {
1435
+ const $$sanitized_props = $.sanitize_props($$props);
1436
+ /**
1437
+ * @license lucide-svelte v0.577.0 - ISC
1438
+ *
1439
+ * ISC License
1440
+ *
1441
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
1442
+ *
1443
+ * Permission to use, copy, modify, and/or distribute this software for any
1444
+ * purpose with or without fee is hereby granted, provided that the above
1445
+ * copyright notice and this permission notice appear in all copies.
1446
+ *
1447
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1448
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1449
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1450
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1451
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1452
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1453
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1454
+ *
1455
+ * ---
1456
+ *
1457
+ * The MIT License (MIT) (for portions derived from Feather)
1458
+ *
1459
+ * Copyright (c) 2013-2026 Cole Bemis
1460
+ *
1461
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1462
+ * of this software and associated documentation files (the "Software"), to deal
1463
+ * in the Software without restriction, including without limitation the rights
1464
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1465
+ * copies of the Software, and to permit persons to whom the Software is
1466
+ * furnished to do so, subject to the following conditions:
1467
+ *
1468
+ * The above copyright notice and this permission notice shall be included in all
1469
+ * copies or substantial portions of the Software.
1470
+ *
1471
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1472
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1473
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1474
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1475
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1476
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1477
+ * SOFTWARE.
1478
+ *
1479
+ */
1480
+ Icon($$renderer, $.spread_props([
1481
+ { name: "text-align-justify" },
1482
+ $$sanitized_props,
1483
+ {
1484
+ /**
1485
+ * @component @name TextAlignJustify
1486
+ * @description Lucide SVG icon component, renders SVG Element with children.
1487
+ *
1488
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMyA1aDE4IiAvPgogIDxwYXRoIGQ9Ik0zIDEyaDE4IiAvPgogIDxwYXRoIGQ9Ik0zIDE5aDE4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-align-justify
1489
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
1490
+ *
1491
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
1492
+ * @returns {FunctionalComponent} Svelte component
1493
+ *
1494
+ */
1495
+ iconNode: [
1496
+ ["path", { "d": "M3 5h18" }],
1497
+ ["path", { "d": "M3 12h18" }],
1498
+ ["path", { "d": "M3 19h18" }]
1499
+ ],
1500
+ children: ($$renderer) => {
1501
+ $$renderer.push(`<!--[-->`);
1502
+ $.slot($$renderer, $$props, "default", {}, null);
1503
+ $$renderer.push(`<!--]-->`);
1504
+ },
1505
+ $$slots: { default: true }
1506
+ }
1507
+ ]));
1508
+ }
1509
+ //#endregion
1510
+ //#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/text-align-start.svelte
1511
+ function Text_align_start($$renderer, $$props) {
1512
+ const $$sanitized_props = $.sanitize_props($$props);
1513
+ /**
1514
+ * @license lucide-svelte v0.577.0 - ISC
1515
+ *
1516
+ * ISC License
1517
+ *
1518
+ * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2026 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2026.
1519
+ *
1520
+ * Permission to use, copy, modify, and/or distribute this software for any
1521
+ * purpose with or without fee is hereby granted, provided that the above
1522
+ * copyright notice and this permission notice appear in all copies.
1523
+ *
1524
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1525
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1526
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1527
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1528
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1529
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1530
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1531
+ *
1532
+ * ---
1533
+ *
1534
+ * The MIT License (MIT) (for portions derived from Feather)
1535
+ *
1536
+ * Copyright (c) 2013-2026 Cole Bemis
1537
+ *
1538
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1539
+ * of this software and associated documentation files (the "Software"), to deal
1540
+ * in the Software without restriction, including without limitation the rights
1541
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1542
+ * copies of the Software, and to permit persons to whom the Software is
1543
+ * furnished to do so, subject to the following conditions:
1544
+ *
1545
+ * The above copyright notice and this permission notice shall be included in all
1546
+ * copies or substantial portions of the Software.
1547
+ *
1548
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1549
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1550
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1551
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1552
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1553
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1554
+ * SOFTWARE.
1555
+ *
1556
+ */
1557
+ Icon($$renderer, $.spread_props([
1558
+ { name: "text-align-start" },
1559
+ $$sanitized_props,
1560
+ {
1561
+ /**
1562
+ * @component @name TextAlignStart
1563
+ * @description Lucide SVG icon component, renders SVG Element with children.
1564
+ *
1565
+ * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNUgzIiAvPgogIDxwYXRoIGQ9Ik0xNSAxMkgzIiAvPgogIDxwYXRoIGQ9Ik0xNyAxOUgzIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/text-align-start
1566
+ * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
1567
+ *
1568
+ * @param {Object} props - Lucide icons props and any valid SVG attribute
1569
+ * @returns {FunctionalComponent} Svelte component
1570
+ *
1571
+ */
1572
+ iconNode: [
1573
+ ["path", { "d": "M21 5H3" }],
1574
+ ["path", { "d": "M15 12H3" }],
1575
+ ["path", { "d": "M17 19H3" }]
1576
+ ],
1577
+ children: ($$renderer) => {
1578
+ $$renderer.push(`<!--[-->`);
1579
+ $.slot($$renderer, $$props, "default", {}, null);
1580
+ $$renderer.push(`<!--]-->`);
1581
+ },
1582
+ $$slots: { default: true }
1583
+ }
1584
+ ]));
1585
+ }
1586
+ //#endregion
1587
+ //#region ../node_modules/.bun/svelte-tiptap@3.0.1+431d21c4dd544be7/node_modules/svelte-tiptap/dist/Editor.js
1588
+ var Editor$1 = class extends Editor {
1589
+ contentElement = null;
1590
+ };
1591
+ //#endregion
1592
+ //#region ../node_modules/.bun/svelte-tiptap@3.0.1+431d21c4dd544be7/node_modules/svelte-tiptap/dist/createEditor.js
1593
+ var createEditor = (options) => {
1594
+ const editor = new Editor$1(options);
1595
+ return readable(editor, (set) => {
1596
+ editor.on("transaction", () => {
1597
+ set(editor);
1598
+ });
1599
+ return () => {
1600
+ editor.destroy();
1601
+ };
1602
+ });
1603
+ };
1604
+ //#endregion
1605
+ //#region ../node_modules/.bun/svelte-tiptap@3.0.1+431d21c4dd544be7/node_modules/svelte-tiptap/dist/EditorContent.svelte
1606
+ function EditorContent($$renderer, $$props) {
1607
+ $$renderer.component(($$renderer) => {
1608
+ const { editor, children, class: className } = $$props;
1609
+ const init = async () => {
1610
+ await tick();
1611
+ };
1612
+ onMount(init);
1613
+ onDestroy(() => {
1614
+ if (!editor) return;
1615
+ editor.contentElement = null;
1616
+ if (!editor.options.element?.firstChild) return;
1617
+ const newElement = document.createElement("div");
1618
+ newElement.append(...Array.from(editor.options.element?.childNodes || []));
1619
+ editor.setOptions({ element: newElement });
1620
+ });
1621
+ $$renderer.push(`<div${$.attr_class($.clsx(className))}></div> `);
1622
+ if (children) {
1623
+ $$renderer.push("<!--[0-->");
1624
+ children($$renderer);
1625
+ $$renderer.push(`<!---->`);
1626
+ } else $$renderer.push("<!--[-1-->");
1627
+ $$renderer.push(`<!--]-->`);
1628
+ });
1629
+ }
1630
+ //#endregion
1631
+ //#region src/lib/components/editor/LinkDialog.svelte
1632
+ function LinkDialog($$renderer, $$props) {
1633
+ $$renderer.component(($$renderer) => {
1634
+ let { open = false, editor = null } = $$props;
1635
+ let url = "";
1636
+ let inputEl = null;
1637
+ function close() {
1638
+ open = false;
1639
+ }
1640
+ function handleCancel() {
1641
+ close();
1642
+ }
1643
+ function handleApply() {
1644
+ if (!editor) {
1645
+ close();
1646
+ return;
1647
+ }
1648
+ const trimmed = url.trim();
1649
+ if (trimmed === "") editor.chain().focus().extendMarkRange("link").unsetLink().run();
1650
+ else {
1651
+ const normalized = /^(https?:\/\/|mailto:|tel:|\/|#)/i.test(trimmed) ? trimmed : `https://${trimmed}`;
1652
+ const { from, to } = editor.state.selection;
1653
+ if (from === to) editor.chain().focus().insertContent({
1654
+ type: "text",
1655
+ text: normalized,
1656
+ marks: [{
1657
+ type: "link",
1658
+ attrs: { href: normalized }
1659
+ }]
1660
+ }).run();
1661
+ else editor.chain().focus().extendMarkRange("link").setLink({ href: normalized }).run();
1662
+ }
1663
+ close();
1664
+ }
1665
+ let $$settled = true;
1666
+ let $$inner_renderer;
1667
+ function $$render_inner($$renderer) {
1668
+ Dialog($$renderer, {
1669
+ get open() {
1670
+ return open;
1671
+ },
1672
+ set open($$value) {
1673
+ open = $$value;
1674
+ $$settled = false;
1675
+ },
1676
+ children: ($$renderer) => {
1677
+ Dialog_header($$renderer, {
1678
+ children: ($$renderer) => {
1679
+ Dialog_title($$renderer, {
1680
+ children: ($$renderer) => {
1681
+ $$renderer.push(`<!---->${$.escape(editor_toolbar_link())}`);
1682
+ },
1683
+ $$slots: { default: true }
1684
+ });
1685
+ },
1686
+ $$slots: { default: true }
1687
+ });
1688
+ $$renderer.push(`<!----> <div class="link-dialog-body svelte-1cfbs6u"><label for="link-url" class="link-dialog-label svelte-1cfbs6u">${$.escape(editor_enter_url())}</label> `);
1689
+ Input($$renderer, {
1690
+ id: "link-url",
1691
+ type: "url",
1692
+ placeholder: "https://example.com",
1693
+ onkeydown: (e) => {
1694
+ if (e.key === "Enter") {
1695
+ e.preventDefault();
1696
+ handleApply();
1697
+ }
1698
+ },
1699
+ get ref() {
1700
+ return inputEl;
1701
+ },
1702
+ set ref($$value) {
1703
+ inputEl = $$value;
1704
+ $$settled = false;
1705
+ },
1706
+ get value() {
1707
+ return url;
1708
+ },
1709
+ set value($$value) {
1710
+ url = $$value;
1711
+ $$settled = false;
1712
+ }
1713
+ });
1714
+ $$renderer.push(`<!----></div> `);
1715
+ Dialog_footer($$renderer, {
1716
+ children: ($$renderer) => {
1717
+ Button($$renderer, {
1718
+ variant: "outline",
1719
+ type: "button",
1720
+ onclick: handleCancel,
1721
+ children: ($$renderer) => {
1722
+ $$renderer.push(`<!---->${$.escape(action_cancel())}`);
1723
+ },
1724
+ $$slots: { default: true }
1725
+ });
1726
+ $$renderer.push(`<!----> `);
1727
+ Button($$renderer, {
1728
+ type: "button",
1729
+ onclick: handleApply,
1730
+ children: ($$renderer) => {
1731
+ $$renderer.push(`<!---->${$.escape(action_save())}`);
1732
+ },
1733
+ $$slots: { default: true }
1734
+ });
1735
+ $$renderer.push(`<!---->`);
1736
+ },
1737
+ $$slots: { default: true }
1738
+ });
1739
+ $$renderer.push(`<!---->`);
1740
+ },
1741
+ $$slots: { default: true }
1742
+ });
1743
+ }
1744
+ do {
1745
+ $$settled = true;
1746
+ $$inner_renderer = $$renderer.copy();
1747
+ $$render_inner($$inner_renderer);
1748
+ } while (!$$settled);
1749
+ $$renderer.subsume($$inner_renderer);
1750
+ $.bind_props($$props, { open });
1751
+ });
1752
+ }
1753
+ //#endregion
1754
+ //#region src/lib/components/editor/EditorToolbar.svelte
1755
+ function EditorToolbar($$renderer, $$props) {
1756
+ $$renderer.component(($$renderer) => {
1757
+ getDocsmintRequestAdapter();
1758
+ const { editor = null, documentId = "", toolbarExtensions = null, editorActions = [], editorActionContext, minimal = false } = $$props;
1759
+ function createExtensionCommands() {
1760
+ return {
1761
+ focus: () => editor?.commands.focus(),
1762
+ insertContent: (content) => editor?.commands.insertContent(content),
1763
+ setContent: (content) => editor?.commands.setContent(content),
1764
+ getJSON: () => editor?.getJSON(),
1765
+ getText: () => editor?.getText(),
1766
+ getHTML: () => editor?.getHTML()
1767
+ };
1768
+ }
1769
+ function actionIsDisabled(action) {
1770
+ if (typeof action.disabled === "boolean") return action.disabled;
1771
+ if (!action.disabled) return false;
1772
+ try {
1773
+ return action.disabled(createEditorActionContext());
1774
+ } catch {
1775
+ return true;
1776
+ }
1777
+ }
1778
+ function createEditorActionContext() {
1779
+ return {
1780
+ documentId: editorActionContext?.documentId ?? documentId,
1781
+ content: editorActionContext?.content ?? "",
1782
+ contentJson: editorActionContext?.contentJson,
1783
+ selection: editor?.state.selection.toJSON(),
1784
+ commands: createExtensionCommands()
1785
+ };
1786
+ }
1787
+ const HIGHLIGHT_COLORS = [
1788
+ {
1789
+ name: editor_highlight_yellow(),
1790
+ value: "#fde68a"
1791
+ },
1792
+ {
1793
+ name: editor_highlight_orange(),
1794
+ value: "#fed7aa"
1795
+ },
1796
+ {
1797
+ name: editor_highlight_red(),
1798
+ value: "#fecaca"
1799
+ },
1800
+ {
1801
+ name: editor_highlight_green(),
1802
+ value: "#bbf7d0"
1803
+ },
1804
+ {
1805
+ name: editor_highlight_blue(),
1806
+ value: "#bfdbfe"
1807
+ },
1808
+ {
1809
+ name: editor_highlight_purple(),
1810
+ value: "#e9d5ff"
1811
+ },
1812
+ {
1813
+ name: editor_highlight_pink(),
1814
+ value: "#fbcfe8"
1815
+ },
1816
+ {
1817
+ name: editor_highlight_gray(),
1818
+ value: "#e5e7eb"
1819
+ }
1820
+ ];
1821
+ let linkDialogOpen = false;
1822
+ let highlightPickerOpen = false;
1823
+ let emojiPickerOpen = false;
1824
+ let tablePickerOpen = false;
1825
+ let headingDropdownOpen = false;
1826
+ let listDropdownOpen = false;
1827
+ let alignDropdownOpen = false;
1828
+ let copyConfirmation = false;
1829
+ let snapshotDialogOpen = false;
1830
+ let editorRevision = 0;
1831
+ const readEditorRevision = $.derived(() => editorRevision);
1832
+ const activeStates = $.derived(() => {
1833
+ readEditorRevision();
1834
+ if (!editor) return {};
1835
+ return {
1836
+ bold: editor.isActive("bold"),
1837
+ italic: editor.isActive("italic"),
1838
+ underline: editor.isActive("underline"),
1839
+ heading1: editor.isActive("heading", { level: 1 }),
1840
+ heading2: editor.isActive("heading", { level: 2 }),
1841
+ heading3: editor.isActive("heading", { level: 3 }),
1842
+ bulletList: editor.isActive("bulletList"),
1843
+ orderedList: editor.isActive("orderedList"),
1844
+ taskList: editor.isActive("taskList"),
1845
+ blockquote: editor.isActive("blockquote"),
1846
+ codeBlock: editor.isActive("codeBlock"),
1847
+ link: editor.isActive("link"),
1848
+ highlight: editor.isActive("highlight"),
1849
+ alignLeft: editor.isActive({ textAlign: "left" }),
1850
+ alignCenter: editor.isActive({ textAlign: "center" }),
1851
+ alignRight: editor.isActive({ textAlign: "right" }),
1852
+ alignJustify: editor.isActive({ textAlign: "justify" })
1853
+ };
1854
+ });
1855
+ $.derived(() => {
1856
+ readEditorRevision();
1857
+ if (!editor?.isActive("table")) return {
1858
+ insideTable: false,
1859
+ canMerge: false,
1860
+ canSplit: false
1861
+ };
1862
+ return {
1863
+ insideTable: true,
1864
+ canMerge: editor.can().mergeCells(),
1865
+ canSplit: editor.can().splitCell()
1866
+ };
1867
+ });
1868
+ const activeHeadingLevel = $.derived(() => {
1869
+ readEditorRevision();
1870
+ if (!editor) return null;
1871
+ if (editor.isActive("heading", { level: 1 })) return 1;
1872
+ if (editor.isActive("heading", { level: 2 })) return 2;
1873
+ if (editor.isActive("heading", { level: 3 })) return 3;
1874
+ return null;
1875
+ });
1876
+ const activeAlignment = $.derived(() => {
1877
+ readEditorRevision();
1878
+ if (!editor) return "left";
1879
+ if (editor.isActive({ textAlign: "center" })) return "center";
1880
+ if (editor.isActive({ textAlign: "right" })) return "right";
1881
+ if (editor.isActive({ textAlign: "justify" })) return "justify";
1882
+ return "left";
1883
+ });
1884
+ const activeHighlightColor = $.derived(() => {
1885
+ if (!editor) return null;
1886
+ readEditorRevision();
1887
+ if (!editor.isActive("highlight")) return null;
1888
+ const color = editor.getAttributes("highlight").color ?? "";
1889
+ return HIGHLIGHT_COLORS.find((c) => c.value === color)?.value ?? null;
1890
+ });
1891
+ function isDisabled() {
1892
+ if (!editor) return true;
1893
+ return !editor.isEditable;
1894
+ }
1895
+ let imageUploading = false;
1896
+ let isScrolled = false;
1897
+ function undoRedoSnippet($$renderer) {
1898
+ $$renderer.push(`<button class="toolbar-btn svelte-vm4iq2"${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_undo())}${$.attr("aria-label", editor_toolbar_undo())} type="button">`);
1899
+ Undo($$renderer, { size: 16 });
1900
+ $$renderer.push(`<!----></button> <button class="toolbar-btn svelte-vm4iq2"${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_redo())}${$.attr("aria-label", editor_toolbar_redo())} type="button">`);
1901
+ Redo($$renderer, { size: 16 });
1902
+ $$renderer.push(`<!----></button> <div class="toolbar-divider svelte-vm4iq2" aria-hidden="true"></div>`);
1903
+ }
1904
+ function basicFormatSnippet($$renderer) {
1905
+ $$renderer.push(`<button${$.attr_class("toolbar-btn svelte-vm4iq2", void 0, { "active": activeStates().bold ?? false })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_bold())}${$.attr("aria-label", editor_toolbar_bold())}${$.attr("aria-pressed", activeStates().bold ?? false)} type="button">`);
1906
+ Bold($$renderer, { size: 16 });
1907
+ $$renderer.push(`<!----></button> <button${$.attr_class("toolbar-btn svelte-vm4iq2", void 0, { "active": activeStates().italic ?? false })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_italic())}${$.attr("aria-label", editor_toolbar_italic())}${$.attr("aria-pressed", activeStates().italic ?? false)} type="button">`);
1908
+ Italic($$renderer, { size: 16 });
1909
+ $$renderer.push(`<!----></button> <button${$.attr_class("toolbar-btn svelte-vm4iq2", void 0, { "active": activeStates().underline ?? false })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_underline())}${$.attr("aria-label", editor_toolbar_underline())}${$.attr("aria-pressed", activeStates().underline ?? false)} type="button">`);
1910
+ Underline($$renderer, { size: 16 });
1911
+ $$renderer.push(`<!----></button> <div class="toolbar-divider svelte-vm4iq2" aria-hidden="true"></div>`);
1912
+ }
1913
+ function headingDropdown($$renderer) {
1914
+ $$renderer.push(`<div class="dropdown svelte-vm4iq2"><button${$.attr_class("toolbar-btn dropdown-trigger svelte-vm4iq2", void 0, { "active": activeHeadingLevel() !== null })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_heading())}${$.attr("aria-label", editor_toolbar_heading())} aria-haspopup="true"${$.attr("aria-expanded", headingDropdownOpen)} type="button">`);
1915
+ if (activeHeadingLevel() !== null) {
1916
+ $$renderer.push("<!--[0-->");
1917
+ Heading_1($$renderer, { size: 16 });
1918
+ } else {
1919
+ $$renderer.push("<!--[-1-->");
1920
+ Type($$renderer, { size: 16 });
1921
+ }
1922
+ $$renderer.push(`<!--]--> `);
1923
+ Chevron_down($$renderer, {
1924
+ size: 14,
1925
+ class: "dropdown-chevron"
1926
+ });
1927
+ $$renderer.push(`<!----></button> `);
1928
+ $$renderer.push("<!--[-1-->");
1929
+ $$renderer.push(`<!--]--></div> <div class="toolbar-divider svelte-vm4iq2" aria-hidden="true"></div>`);
1930
+ }
1931
+ function listDropdown($$renderer) {
1932
+ $$renderer.push(`<div class="dropdown svelte-vm4iq2"><button${$.attr_class("toolbar-btn dropdown-trigger svelte-vm4iq2", void 0, { "active": (activeStates().bulletList ?? false) || (activeStates().orderedList ?? false) })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_list())}${$.attr("aria-label", editor_toolbar_list())} aria-haspopup="true"${$.attr("aria-expanded", listDropdownOpen)} type="button">`);
1933
+ List($$renderer, { size: 16 });
1934
+ $$renderer.push(`<!----> `);
1935
+ Chevron_down($$renderer, {
1936
+ size: 14,
1937
+ class: "dropdown-chevron"
1938
+ });
1939
+ $$renderer.push(`<!----></button> `);
1940
+ $$renderer.push("<!--[-1-->");
1941
+ $$renderer.push(`<!--]--></div> <div class="toolbar-divider svelte-vm4iq2" aria-hidden="true"></div>`);
1942
+ }
1943
+ function alignDropdown($$renderer) {
1944
+ $$renderer.push(`<div class="dropdown svelte-vm4iq2"><button${$.attr_class("toolbar-btn dropdown-trigger svelte-vm4iq2", void 0, { "active": activeAlignment() !== "left" })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_align())}${$.attr("aria-label", editor_toolbar_align())} aria-haspopup="true"${$.attr("aria-expanded", alignDropdownOpen)} type="button">`);
1945
+ if (activeAlignment() === "center") {
1946
+ $$renderer.push("<!--[0-->");
1947
+ Text_align_center($$renderer, { size: 16 });
1948
+ } else if (activeAlignment() === "right") {
1949
+ $$renderer.push("<!--[1-->");
1950
+ Text_align_end($$renderer, { size: 16 });
1951
+ } else if (activeAlignment() === "justify") {
1952
+ $$renderer.push("<!--[2-->");
1953
+ Text_align_justify($$renderer, { size: 16 });
1954
+ } else {
1955
+ $$renderer.push("<!--[-1-->");
1956
+ Text_align_start($$renderer, { size: 16 });
1957
+ }
1958
+ $$renderer.push(`<!--]--> `);
1959
+ Chevron_down($$renderer, {
1960
+ size: 14,
1961
+ class: "dropdown-chevron"
1962
+ });
1963
+ $$renderer.push(`<!----></button> `);
1964
+ $$renderer.push("<!--[-1-->");
1965
+ $$renderer.push(`<!--]--></div> <div class="toolbar-divider svelte-vm4iq2" aria-hidden="true"></div>`);
1966
+ }
1967
+ function blockFormatSnippet($$renderer) {
1968
+ $$renderer.push(`<button${$.attr_class("toolbar-btn svelte-vm4iq2", void 0, { "active": activeStates().codeBlock ?? false })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_code_block())}${$.attr("aria-label", editor_toolbar_code_block())}${$.attr("aria-pressed", activeStates().codeBlock ?? false)} type="button">`);
1969
+ Code_xml($$renderer, { size: 16 });
1970
+ $$renderer.push(`<!----></button> <button${$.attr_class("toolbar-btn svelte-vm4iq2", void 0, { "active": activeStates().blockquote ?? false })}${$.attr("disabled", isDisabled(), true)} title="Quote" aria-label="Quote"${$.attr("aria-pressed", activeStates().blockquote ?? false)} type="button">`);
1971
+ Quote($$renderer, { size: 16 });
1972
+ $$renderer.push(`<!----></button> <button class="toolbar-btn svelte-vm4iq2"${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_horizontal_rule())}${$.attr("aria-label", editor_toolbar_horizontal_rule())} type="button">`);
1973
+ Minus($$renderer, { size: 16 });
1974
+ $$renderer.push(`<!----></button> <div class="toolbar-divider svelte-vm4iq2" aria-hidden="true"></div>`);
1975
+ }
1976
+ function linkBtn($$renderer) {
1977
+ $$renderer.push(`<button${$.attr_class("toolbar-btn svelte-vm4iq2", void 0, { "active": activeStates().link ?? false })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_link())}${$.attr("aria-label", editor_toolbar_link())}${$.attr("aria-pressed", activeStates().link ?? false)} type="button">`);
1978
+ Link($$renderer, { size: 16 });
1979
+ $$renderer.push(`<!----></button>`);
1980
+ }
1981
+ function highlightPicker($$renderer) {
1982
+ $$renderer.push(`<div class="highlight-picker svelte-vm4iq2"><button${$.attr_class("toolbar-btn highlight-btn svelte-vm4iq2", void 0, { "active": activeStates().highlight ?? false })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_highlight())}${$.attr("aria-label", editor_toolbar_highlight())}${$.attr("aria-pressed", activeStates().highlight ?? false)} aria-haspopup="true"${$.attr("aria-expanded", highlightPickerOpen)} type="button">`);
1983
+ Highlighter($$renderer, { size: 16 });
1984
+ $$renderer.push(`<!----> <span${$.attr_class("highlight-dot svelte-vm4iq2", void 0, { "visible": activeHighlightColor() !== null })} aria-hidden="true"${$.attr_style("", { "background-color": activeHighlightColor() ?? "transparent" })}></span></button> `);
1985
+ $$renderer.push("<!--[-1-->");
1986
+ $$renderer.push(`<!--]--></div>`);
1987
+ }
1988
+ function emojiPicker($$renderer) {
1989
+ $$renderer.push(`<div class="emoji-picker svelte-vm4iq2"><button class="toolbar-btn svelte-vm4iq2"${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_emoji())}${$.attr("aria-label", editor_toolbar_emoji())} aria-haspopup="true"${$.attr("aria-expanded", emojiPickerOpen)} type="button">`);
1990
+ Smile($$renderer, { size: 16 });
1991
+ $$renderer.push(`<!----></button> `);
1992
+ $$renderer.push("<!--[-1-->");
1993
+ $$renderer.push(`<!--]--></div>`);
1994
+ }
1995
+ function tablePicker($$renderer) {
1996
+ $$renderer.push(`<div class="table-picker svelte-vm4iq2"><button class="toolbar-btn svelte-vm4iq2"${$.attr("disabled", isDisabled(), true)} title="Insert table" aria-label="Insert table" aria-haspopup="true"${$.attr("aria-expanded", tablePickerOpen)} type="button">`);
1997
+ Table($$renderer, { size: 16 });
1998
+ $$renderer.push(`<!----></button> `);
1999
+ $$renderer.push("<!--[-1-->");
2000
+ $$renderer.push(`<!--]--></div>`);
2001
+ }
2002
+ function imageBtn($$renderer) {
2003
+ $$renderer.push(`<button${$.attr_class("toolbar-btn image-btn svelte-vm4iq2", void 0, { "uploading": imageUploading })}${$.attr("disabled", isDisabled() || imageUploading, true)}${$.attr("title", editor_toolbar_image())}${$.attr("aria-label", editor_toolbar_image())} type="button">`);
2004
+ $$renderer.push("<!--[-1-->");
2005
+ Image($$renderer, { size: 16 });
2006
+ $$renderer.push(`<!--]--></button>`);
2007
+ }
2008
+ function copyContentSnippet($$renderer) {
2009
+ $$renderer.push(`<button${$.attr_class("toolbar-btn copy-btn svelte-vm4iq2", void 0, { "copied": copyConfirmation })}${$.attr("disabled", isDisabled(), true)}${$.attr("title", editor_toolbar_copy())}${$.attr("aria-label", editor_toolbar_copy())} type="button">`);
2010
+ $$renderer.push("<!--[-1-->");
2011
+ Copy($$renderer, { size: 16 });
2012
+ $$renderer.push(`<!--]--></button>`);
2013
+ }
2014
+ function actionsSnippet($$renderer) {
2015
+ $$renderer.push(`<button class="toolbar-btn snapshot-btn svelte-vm4iq2"${$.attr("disabled", isDisabled() || !documentId, true)}${$.attr("title", version_create_snapshot())}${$.attr("aria-label", version_create_snapshot())} type="button">`);
2016
+ Camera($$renderer, { size: 16 });
2017
+ $$renderer.push(`<!----></button> `);
2018
+ copyContentSnippet($$renderer);
2019
+ $$renderer.push(`<!---->`);
2020
+ }
2021
+ let $$settled = true;
2022
+ let $$inner_renderer;
2023
+ function $$render_inner($$renderer) {
2024
+ if (editor) {
2025
+ $$renderer.push("<!--[0-->");
2026
+ $$renderer.push("<!--[-1-->");
2027
+ $$renderer.push(`<div${$.attr_class("toolbar svelte-vm4iq2", void 0, {
2028
+ "floating-bar": isScrolled,
2029
+ "cursor-grab": isScrolled,
2030
+ "cursor-grabbing": isScrolled
2031
+ })}${$.attr_style("")} role="toolbar" tabindex="0"${$.attr("aria-label", editor_toolbar_text_formatting())}>`);
2032
+ if (minimal) {
2033
+ $$renderer.push("<!--[0-->");
2034
+ $$renderer.push(`<div class="floating-toolbar-row flex items-center gap-1.5 w-full svelte-vm4iq2">`);
2035
+ $$renderer.push("<!--[-1-->");
2036
+ $$renderer.push(`<!--]--> `);
2037
+ basicFormatSnippet($$renderer);
2038
+ $$renderer.push(`<!----> `);
2039
+ listDropdown($$renderer);
2040
+ $$renderer.push(`<!----> `);
2041
+ highlightPicker($$renderer);
2042
+ $$renderer.push(`<!----> `);
2043
+ copyContentSnippet($$renderer);
2044
+ $$renderer.push(`<!----> `);
2045
+ $$renderer.push("<!--[-1-->");
2046
+ $$renderer.push(`<!--]--></div>`);
2047
+ } else {
2048
+ $$renderer.push("<!--[-1-->");
2049
+ undoRedoSnippet($$renderer);
2050
+ $$renderer.push(`<!----> `);
2051
+ basicFormatSnippet($$renderer);
2052
+ $$renderer.push(`<!----> `);
2053
+ headingDropdown($$renderer);
2054
+ $$renderer.push(`<!----> `);
2055
+ listDropdown($$renderer);
2056
+ $$renderer.push(`<!----> `);
2057
+ alignDropdown($$renderer);
2058
+ $$renderer.push(`<!----> `);
2059
+ blockFormatSnippet($$renderer);
2060
+ $$renderer.push(`<!----> `);
2061
+ linkBtn($$renderer);
2062
+ $$renderer.push(`<!----> `);
2063
+ highlightPicker($$renderer);
2064
+ $$renderer.push(`<!----> `);
2065
+ emojiPicker($$renderer);
2066
+ $$renderer.push(`<!----> `);
2067
+ tablePicker($$renderer);
2068
+ $$renderer.push(`<!----> `);
2069
+ imageBtn($$renderer);
2070
+ $$renderer.push(`<!----> `);
2071
+ if (toolbarExtensions || editorActions.length > 0) {
2072
+ $$renderer.push("<!--[0-->");
2073
+ $$renderer.push(`<div class="toolbar-divider svelte-vm4iq2" aria-hidden="true"></div> `);
2074
+ if (toolbarExtensions) {
2075
+ $$renderer.push("<!--[0-->");
2076
+ toolbarExtensions($$renderer, { editor });
2077
+ $$renderer.push(`<!---->`);
2078
+ } else $$renderer.push("<!--[-1-->");
2079
+ $$renderer.push(`<!--]--> <!--[-->`);
2080
+ const each_array_5 = $.ensure_array_like(editorActions);
2081
+ for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {
2082
+ let action = each_array_5[$$index_5];
2083
+ $$renderer.push(`<button type="button" class="toolbar-btn svelte-vm4iq2"${$.attr("disabled", actionIsDisabled(action), true)}${$.attr("title", action.label)}${$.attr("aria-label", action.label)}>`);
2084
+ if (action.icon) {
2085
+ $$renderer.push("<!--[0-->");
2086
+ const Icon = action.icon;
2087
+ if (Icon) {
2088
+ $$renderer.push("<!--[-->");
2089
+ Icon($$renderer, { size: 16 });
2090
+ $$renderer.push("<!--]-->");
2091
+ } else {
2092
+ $$renderer.push("<!--[!-->");
2093
+ $$renderer.push("<!--]-->");
2094
+ }
2095
+ } else {
2096
+ $$renderer.push("<!--[-1-->");
2097
+ $$renderer.push(`<span class="px-1 text-xs">${$.escape(action.label)}</span>`);
2098
+ }
2099
+ $$renderer.push(`<!--]--></button>`);
2100
+ }
2101
+ $$renderer.push(`<!--]-->`);
2102
+ } else $$renderer.push("<!--[-1-->");
2103
+ $$renderer.push(`<!--]--> <div class="toolbar-divider svelte-vm4iq2" aria-hidden="true"></div> `);
2104
+ actionsSnippet($$renderer);
2105
+ $$renderer.push(`<!---->`);
2106
+ }
2107
+ $$renderer.push(`<!--]--></div>`);
2108
+ $$renderer.push(`<!--]--> `);
2109
+ $$renderer.push("<!--[-1-->");
2110
+ $$renderer.push(`<!--]--> <input type="file" accept="image/*" class="visually-hidden-file-input svelte-vm4iq2"/> `);
2111
+ LinkDialog($$renderer, {
2112
+ editor,
2113
+ get open() {
2114
+ return linkDialogOpen;
2115
+ },
2116
+ set open($$value) {
2117
+ linkDialogOpen = $$value;
2118
+ $$settled = false;
2119
+ }
2120
+ });
2121
+ $$renderer.push(`<!----> `);
2122
+ if (documentId) {
2123
+ $$renderer.push("<!--[0-->");
2124
+ CreateSnapshotDialog($$renderer, {
2125
+ documentId,
2126
+ get open() {
2127
+ return snapshotDialogOpen;
2128
+ },
2129
+ set open($$value) {
2130
+ snapshotDialogOpen = $$value;
2131
+ $$settled = false;
2132
+ }
2133
+ });
2134
+ } else $$renderer.push("<!--[-1-->");
2135
+ $$renderer.push(`<!--]-->`);
2136
+ } else $$renderer.push("<!--[-1-->");
2137
+ $$renderer.push(`<!--]-->`);
2138
+ }
2139
+ do {
2140
+ $$settled = true;
2141
+ $$inner_renderer = $$renderer.copy();
2142
+ $$render_inner($$inner_renderer);
2143
+ } while (!$$settled);
2144
+ $$renderer.subsume($$inner_renderer);
2145
+ });
2146
+ }
2147
+ //#endregion
2148
+ //#region src/lib/components/editor/large-markdown.ts
2149
+ var LARGE_MARKDOWN_THRESHOLD = 25e4;
2150
+ function shouldDeferMarkdownParsing(markdown) {
2151
+ return markdown.length > LARGE_MARKDOWN_THRESHOLD;
2152
+ }
2153
+ //#endregion
2154
+ //#region src/lib/components/editor/parsed-content-cache.ts
2155
+ var CACHE_PREFIX = "parsed-editor-content";
2156
+ function parsedContentCacheKey(documentId, updatedAt) {
2157
+ return `${CACHE_PREFIX}:${documentId}:${updatedAt}`;
2158
+ }
2159
+ async function getCachedParsedContent(documentId, updatedAt) {
2160
+ try {
2161
+ return (await getOfflineDB(await resolveOfflineIdentity()).metadata.get(parsedContentCacheKey(documentId, updatedAt)))?.value ?? null;
2162
+ } catch {
2163
+ return null;
2164
+ }
2165
+ }
2166
+ async function cacheParsedContent(documentId, updatedAt, content) {
2167
+ try {
2168
+ const db = getOfflineDB(await resolveOfflineIdentity());
2169
+ const currentKey = parsedContentCacheKey(documentId, updatedAt);
2170
+ const staleKeys = await db.metadata.filter((row) => row.key.startsWith(`${CACHE_PREFIX}:${documentId}:`) && row.key !== currentKey).primaryKeys();
2171
+ await db.transaction("rw", db.metadata, async () => {
2172
+ if (staleKeys.length > 0) await db.metadata.bulkDelete(staleKeys);
2173
+ await db.metadata.put({
2174
+ key: currentKey,
2175
+ value: content
2176
+ });
2177
+ });
2178
+ } catch {}
2179
+ }
2180
+ //#endregion
2181
+ //#region src/lib/components/editor/HiAiEditor.svelte
2182
+ function HiAiEditor($$renderer, $$props) {
2183
+ $$renderer.component(($$renderer) => {
2184
+ const { content = "", contentJson, placeholder = doc_content_placeholder(), onUpdate = (_output) => {}, editable = true, collaboration = null, documentId = "", documentUpdatedAt = "", toolbarExtensions = null, editorActions = [], editorActionContext, minimalToolbar = false } = $$props;
2185
+ let editorStore = null;
2186
+ let editor = null;
2187
+ let ready = false;
2188
+ let deferredContentLoading = false;
2189
+ let deferredParseKey = "";
2190
+ let deferredParseGeneration = 0;
2191
+ function scheduleDeferredMarkdownParse(ed) {
2192
+ if (collaboration?.doc || contentJson || !shouldDeferMarkdownParsing(content)) return;
2193
+ const source = content;
2194
+ const cacheDocumentId = documentId;
2195
+ const cacheUpdatedAt = documentUpdatedAt;
2196
+ const parseKey = `${cacheDocumentId}:${cacheUpdatedAt}:${source.length}:${source.slice(0, 64)}`;
2197
+ if (deferredParseKey === parseKey) return;
2198
+ deferredParseKey = parseKey;
2199
+ const generation = ++deferredParseGeneration;
2200
+ deferredContentLoading = true;
2201
+ const parse = async () => {
2202
+ try {
2203
+ const cached = cacheDocumentId && cacheUpdatedAt ? await getCachedParsedContent(cacheDocumentId, cacheUpdatedAt) : null;
2204
+ if (generation !== deferredParseGeneration || editor !== ed) return;
2205
+ const parsed = cached ?? sanitizeEditorContent(markdownToJson(source));
2206
+ ed.commands.setContent(parsed, { emitUpdate: false });
2207
+ onUpdate({
2208
+ markdown: source,
2209
+ json: parsed
2210
+ });
2211
+ if (!cached && cacheDocumentId && cacheUpdatedAt) cacheParsedContent(cacheDocumentId, cacheUpdatedAt, parsed);
2212
+ } catch (err) {
2213
+ if (generation === deferredParseGeneration) console.warn("HiAiEditor: deferred markdown parsing failed", err);
2214
+ } finally {
2215
+ if (generation === deferredParseGeneration) deferredContentLoading = false;
2216
+ }
2217
+ };
2218
+ requestAnimationFrame(() => {
2219
+ setTimeout(() => void parse(), 0);
2220
+ });
2221
+ }
2222
+ /**
2223
+ * Resolve the initial editor content. Prefer the persisted ProseMirror JSON
2224
+ * when it is present. When it is missing but the markdown source is
2225
+ * non-empty, parse the markdown into JSON in the browser so the wysiwyg
2226
+ * view shows formatted content rather than the raw markdown source. An
2227
+ * older version of the project did this server-side via
2228
+ * `backend/src/lib/markdown-to-doc.ts`, but the markdown→JSON helper here
2229
+ * uses the same TipTap extension set as the editor itself, so the result
2230
+ * round-trips through `setContent` without node-mismatch errors. If the
2231
+ * parsed JSON does not match the editor schema on some edge case, the
2232
+ * `try/catch` falls back to rendering the raw markdown string — better
2233
+ * than showing nothing.
2234
+ */
2235
+ function resolveInitialContent() {
2236
+ if (contentJson) return sanitizeEditorContent(contentJson);
2237
+ if (content && content.trim().length > 0) {
2238
+ if (shouldDeferMarkdownParsing(content)) return {
2239
+ type: "doc",
2240
+ content: [{ type: "paragraph" }]
2241
+ };
2242
+ try {
2243
+ return sanitizeEditorContent(markdownToJson(content));
2244
+ } catch (err) {
2245
+ console.warn("HiAiEditor: markdownToJson failed, falling back to raw markdown", err);
2246
+ return content;
2247
+ }
2248
+ }
2249
+ return content;
2250
+ }
2251
+ onMount(() => {
2252
+ deferredContentLoading = !contentJson && shouldDeferMarkdownParsing(content);
2253
+ const extensions = [...editorExtensions];
2254
+ if (collaboration?.doc) extensions.push(Collaboration.configure({ document: collaboration.doc }), CollaborationCursor.configure({
2255
+ provider: collaboration.provider,
2256
+ user: {
2257
+ name: editor_anonymous(),
2258
+ color: `#${Math.floor(Math.random() * 16777215).toString(16).padStart(6, "0")}`
2259
+ }
2260
+ }));
2261
+ editorStore = createEditor({
2262
+ extensions,
2263
+ content: collaboration?.doc ? void 0 : resolveInitialContent(),
2264
+ editable,
2265
+ editorProps: { attributes: {
2266
+ "aria-label": editor_content_label(),
2267
+ "aria-multiline": "true",
2268
+ role: "textbox",
2269
+ class: "tiptap-editor"
2270
+ } },
2271
+ onUpdate: ({ editor: ed }) => {
2272
+ if (!collaboration) {
2273
+ const getMarkdown = ed.getMarkdown;
2274
+ let markdown;
2275
+ try {
2276
+ markdown = getMarkdown ? getMarkdown.call(ed) : ed.getText();
2277
+ } catch (err) {
2278
+ console.warn("HiAiEditor: getMarkdown failed, using plain text", err);
2279
+ markdown = ed.getText();
2280
+ }
2281
+ const json = ed.getJSON();
2282
+ onUpdate({
2283
+ markdown,
2284
+ json
2285
+ });
2286
+ }
2287
+ }
2288
+ });
2289
+ const unsubscribe = editorStore.subscribe((ed) => {
2290
+ editor = ed;
2291
+ if (ed && !ready) ready = true;
2292
+ if (ed) scheduleDeferredMarkdownParse(ed);
2293
+ });
2294
+ if (!collaboration?.doc && contentJson) removeUnavailableAttachmentImages(contentJson).then(({ content: clean }) => {
2295
+ if (editor && clean && JSON.stringify(editor.getJSON()) !== JSON.stringify(clean)) editor.commands.setContent(clean, { emitUpdate: false });
2296
+ });
2297
+ registerShortcut({
2298
+ id: "editor-toggle-markdown",
2299
+ keys: "mod+shift+7",
2300
+ description: "Toggle markdown view",
2301
+ scope: "editor",
2302
+ handler: () => {
2303
+ window.dispatchEvent(new CustomEvent("hiai:toggle-markdown"));
2304
+ }
2305
+ });
2306
+ registerShortcut({
2307
+ id: "editor-export",
2308
+ keys: "mod+shift+e",
2309
+ description: "Export document",
2310
+ scope: "editor",
2311
+ handler: () => {
2312
+ window.dispatchEvent(new CustomEvent("hiai:export-document"));
2313
+ }
2314
+ });
2315
+ return () => {
2316
+ unregisterShortcut("editor-toggle-markdown");
2317
+ unregisterShortcut("editor-export");
2318
+ unsubscribe();
2319
+ };
2320
+ });
2321
+ onDestroy(() => {
2322
+ deferredParseGeneration += 1;
2323
+ editor?.destroy?.();
2324
+ });
2325
+ $$renderer.push(`<div class="editor-wrapper svelte-9hjz5q" role="presentation">`);
2326
+ if (ready && editor) {
2327
+ $$renderer.push("<!--[0-->");
2328
+ EditorToolbar($$renderer, {
2329
+ editor,
2330
+ documentId,
2331
+ toolbarExtensions,
2332
+ editorActions,
2333
+ editorActionContext,
2334
+ minimal: minimalToolbar
2335
+ });
2336
+ $$renderer.push(`<!----> <div${$.attr_class("editor-content svelte-9hjz5q", void 0, { "deferred-loading": deferredContentLoading })}${$.attr("aria-busy", deferredContentLoading)}>`);
2337
+ if (deferredContentLoading) {
2338
+ $$renderer.push("<!--[0-->");
2339
+ $$renderer.push(`<div class="large-document-loader svelte-9hjz5q" role="status" aria-live="polite"><div class="large-document-loader-heading svelte-9hjz5q"><span class="large-document-spinner svelte-9hjz5q" aria-hidden="true"></span> <span class="svelte-9hjz5q">Preparing large document…</span></div> <div class="large-document-loader-lines svelte-9hjz5q" aria-hidden="true"><span style="width: 72%" class="svelte-9hjz5q"></span> <span style="width: 94%" class="svelte-9hjz5q"></span> <span style="width: 83%" class="svelte-9hjz5q"></span> <span style="width: 61%" class="svelte-9hjz5q"></span></div></div>`);
2340
+ } else $$renderer.push("<!--[-1-->");
2341
+ $$renderer.push(`<!--]--> `);
2342
+ EditorContent($$renderer, { editor });
2343
+ $$renderer.push(`<!----></div>`);
2344
+ } else {
2345
+ $$renderer.push("<!--[-1-->");
2346
+ $$renderer.push(`<div class="editor-skeleton svelte-9hjz5q"><div class="skeleton-toolbar svelte-9hjz5q"><!--[-->`);
2347
+ const each_array = $.ensure_array_like(Array(10));
2348
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
2349
+ each_array[$$index];
2350
+ $$renderer.push(`<div class="skeleton-icon svelte-9hjz5q"></div>`);
2351
+ }
2352
+ $$renderer.push(`<!--]--></div> <div class="skeleton-body svelte-9hjz5q"><div class="skeleton-bar svelte-9hjz5q" style="width: 60%"></div> <div class="skeleton-bar svelte-9hjz5q" style="width: 90%"></div> <div class="skeleton-bar svelte-9hjz5q" style="width: 75%"></div> <div class="skeleton-bar svelte-9hjz5q" style="width: 85%"></div> <div class="skeleton-bar svelte-9hjz5q" style="width: 40%"></div></div></div>`);
2353
+ }
2354
+ $$renderer.push(`<!--]--></div>`);
2355
+ });
2356
+ }
2357
+ //#endregion
2358
+ export { HiAiEditor as t };