@hiai-gg/docsmint 0.7.0 → 0.7.3

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 (116) hide show
  1. package/README.md +97 -103
  2. package/dist/backend/index.js +2 -2
  3. package/dist/frontend/CategoryDialog-bQKMpVFD.js +631 -0
  4. package/dist/frontend/ConfirmDialog-DF7kgkyq.js +139 -0
  5. package/dist/frontend/CreateSnapshotDialog-CojnWChs.js +222 -0
  6. package/dist/frontend/{DatePicker-DsoepNdb.js → DatePicker-7FAbIOGg.js} +4 -4
  7. package/dist/frontend/DeleteDialog-BIlqRb1u.js +179 -0
  8. package/dist/frontend/{FolderNode-CNwi0ySr.js → FolderNode-Cf443LBa.js} +2 -2
  9. package/dist/frontend/{HiAiEditor-B1EDGsnA.js → HiAiEditor-CMZ-eL8s.js} +961 -955
  10. package/dist/frontend/SettingsDialog-DatuxOVX.js +980 -0
  11. package/dist/frontend/{ShareDialog-wGTXuXFE.js → ShareDialog-Bwz2y3Le.js} +2 -2
  12. package/dist/frontend/Sidebar-C_t5RrOJ.js +2101 -0
  13. package/dist/frontend/TagCreateDialog-Ch21yuWV.js +266 -0
  14. package/dist/frontend/app-shell.d.ts +3 -1
  15. package/dist/frontend/app-shell.js +155 -152
  16. package/dist/frontend/components/category-dialog.js +1 -1
  17. package/dist/frontend/components/create-snapshot-dialog.js +1 -1
  18. package/dist/frontend/components/delete-dialog.js +1 -1
  19. package/dist/frontend/components/editor/compact-editor.js +1 -1
  20. package/dist/frontend/components/editor/document-editor.js +1 -1
  21. package/dist/frontend/components/editor/document-title.js +1 -1
  22. package/dist/frontend/components/editor/extensions.js +1 -1
  23. package/dist/frontend/components/editor/markdown-toggle.js +2 -2
  24. package/dist/frontend/components/editor/markdown.js +1 -1
  25. package/dist/frontend/components/folder-node.js +1 -1
  26. package/dist/frontend/components/save-as-dialog.js +232 -227
  27. package/dist/frontend/components/settings.js +1 -1
  28. package/dist/frontend/components/share-dialog.js +1 -1
  29. package/dist/frontend/components/sidebar.js +1 -1
  30. package/dist/frontend/components/tag-create-dialog.js +1 -1
  31. package/dist/frontend/components/version-history.js +3 -3
  32. package/dist/frontend/confirm-dialog-8T6vsWL7.js +265 -0
  33. package/dist/frontend/dashboard.js +600 -592
  34. package/dist/frontend/dialog-CiSwD-_v.js +253 -0
  35. package/dist/frontend/{dropdown-menu-BXIl2E26.js → dropdown-menu-Bi5Iipwf.js} +6 -6
  36. package/dist/frontend/editor-content-sanitizer-CC_A8aaI.js +112 -0
  37. package/dist/frontend/{editorExtensions-BmINh76i.js → editorExtensions--HusV819.js} +3356 -3423
  38. package/dist/frontend/frontend.css +1 -1
  39. package/dist/frontend/i18n.js +1 -1
  40. package/dist/frontend/{input-eHFb2qiL.js → input-N9dNSOWF.js} +2 -2
  41. package/dist/frontend/{label-_I1iiaNU.js → label-CK72_fw8.js} +2 -2
  42. package/dist/frontend/{markdown-A5xji16P.js → markdown-H6QB53zu.js} +1 -1
  43. package/dist/frontend/messages-DTRe4U2V.js +1093 -0
  44. package/dist/frontend/search.js +3 -3
  45. package/dist/frontend/{select-value-CtMyrvDJ.js → select-value-BD1DToYs.js} +6 -6
  46. package/dist/frontend/shared-document.js +95 -92
  47. package/dist/frontend/{textarea-2eslfANY.js → textarea-pl_fDBre.js} +2 -2
  48. package/dist/frontend/theme.js +1 -1
  49. package/dist/frontend/theme.svelte-DG3RS7wv.js +101 -0
  50. package/dist/frontend/{utils-CDBqTgoV.js → utils-CMQRlxbx.js} +1 -1
  51. package/dist/frontend-ssr/app-shell.js +9 -5
  52. package/dist/frontend-ssr/assets/CategoryDialog-DsXe54EF.js +608 -0
  53. package/dist/frontend-ssr/assets/ConfirmDialog-DrH653ua.js +136 -0
  54. package/dist/frontend-ssr/assets/{CreateSnapshotDialog-BZ45odvJ.js → CreateSnapshotDialog-D3-PjXVr.js} +93 -88
  55. package/dist/frontend-ssr/assets/{DatePicker-CPtl6W5E.js → DatePicker-C9suIA1S.js} +4 -4
  56. package/dist/frontend-ssr/assets/DeleteDialog-DxtMrS1O.js +159 -0
  57. package/dist/frontend-ssr/assets/{FolderNode-D9kgJG9d.js → FolderNode-ChD10Elp.js} +2 -2
  58. package/dist/frontend-ssr/assets/{HiAiEditor-DOd2MXjD.js → HiAiEditor-2X3Uyg1B.js} +60 -54
  59. package/dist/frontend-ssr/assets/{SettingsDialog-CIVbMKmf.js → SettingsDialog-DDy0hN8x.js} +373 -361
  60. package/dist/frontend-ssr/assets/{ShareDialog-D2UNUbF7.js → ShareDialog-BwW_wF4G.js} +2 -2
  61. package/dist/frontend-ssr/assets/{Sidebar-Bb-k2R-Z.js → Sidebar-Dy-5gXOf.js} +170 -129
  62. package/dist/frontend-ssr/assets/{TagCreateDialog-6Gk7L3D-.js → TagCreateDialog-BPzgOaX8.js} +94 -89
  63. package/dist/frontend-ssr/assets/{confirm-dialog-B9MVS_bF.js → confirm-dialog-wYC07DPx.js} +109 -89
  64. package/dist/frontend-ssr/assets/{dialog-1SB5neow.js → dialog-ClcuF7nD.js} +47 -12
  65. package/dist/frontend-ssr/assets/{dropdown-menu-DqoOkdqB.js → dropdown-menu-BKMGVNLL.js} +6 -6
  66. package/dist/frontend-ssr/assets/editor-content-sanitizer-Gjm93iR-.js +145 -0
  67. package/dist/frontend-ssr/assets/{editorExtensions-BwGeSPuX.js → editorExtensions-qNlZVP98.js} +2 -88
  68. package/dist/frontend-ssr/assets/{input-Df-QP3Km.js → input-DcDR8L8M.js} +2 -2
  69. package/dist/frontend-ssr/assets/{label-CbUOUz6L.js → label-Cz0_svJx.js} +2 -2
  70. package/dist/frontend-ssr/assets/{markdown-CB8DZ-LT.js → markdown-MhPwNWrC.js} +1 -1
  71. package/dist/frontend-ssr/assets/{messages-BAQzILs4.js → messages-B1TjVIH8.js} +2 -2
  72. package/dist/frontend-ssr/assets/{select-value-CXEDWrZg.js → select-value-CaDktvDW.js} +6 -6
  73. package/dist/frontend-ssr/assets/{textarea-CHh8NuSS.js → textarea-BGrjPOgU.js} +2 -2
  74. package/dist/frontend-ssr/assets/theme.svelte-CN3BUhJG.js +136 -0
  75. package/dist/frontend-ssr/assets/{utils-DtX0ta7y.js → utils-Cg_R05dR.js} +1 -1
  76. package/dist/frontend-ssr/components/category-dialog.js +1 -1
  77. package/dist/frontend-ssr/components/create-snapshot-dialog.js +1 -1
  78. package/dist/frontend-ssr/components/delete-dialog.js +1 -1
  79. package/dist/frontend-ssr/components/editor/compact-editor.js +1 -1
  80. package/dist/frontend-ssr/components/editor/document-editor.js +1 -1
  81. package/dist/frontend-ssr/components/editor/document-title.js +1 -1
  82. package/dist/frontend-ssr/components/editor/extensions.js +1 -1
  83. package/dist/frontend-ssr/components/editor/markdown-toggle.js +2 -2
  84. package/dist/frontend-ssr/components/editor/markdown.js +1 -1
  85. package/dist/frontend-ssr/components/folder-node.js +1 -1
  86. package/dist/frontend-ssr/components/save-as-dialog.js +177 -172
  87. package/dist/frontend-ssr/components/settings.js +1 -1
  88. package/dist/frontend-ssr/components/share-dialog.js +1 -1
  89. package/dist/frontend-ssr/components/sidebar.js +1 -1
  90. package/dist/frontend-ssr/components/tag-create-dialog.js +1 -1
  91. package/dist/frontend-ssr/components/version-history.js +3 -3
  92. package/dist/frontend-ssr/dashboard.js +102 -95
  93. package/dist/frontend-ssr/i18n.js +1 -1
  94. package/dist/frontend-ssr/search.js +3 -3
  95. package/dist/frontend-ssr/shared-document.js +3 -0
  96. package/dist/frontend-ssr/theme.js +1 -1
  97. package/dist/mcp-cli.js +1 -1
  98. package/dist/mcp-server.js +1 -1
  99. package/package.json +1 -1
  100. package/packages/cli/src/index.ts +4 -3
  101. package/server.json +43 -6
  102. package/dist/frontend/CategoryDialog-C67_TXf0.js +0 -626
  103. package/dist/frontend/ConfirmDialog-_LlrA--f.js +0 -134
  104. package/dist/frontend/CreateSnapshotDialog-BmCRpOMv.js +0 -217
  105. package/dist/frontend/DeleteDialog-L1A3FhMM.js +0 -174
  106. package/dist/frontend/SettingsDialog-AP42xOGg.js +0 -969
  107. package/dist/frontend/Sidebar-lKQT3dEf.js +0 -2060
  108. package/dist/frontend/TagCreateDialog-su8BhLzS.js +0 -261
  109. package/dist/frontend/confirm-dialog-BG8y2Pum.js +0 -250
  110. package/dist/frontend/dialog-C2iKObEu.js +0 -213
  111. package/dist/frontend/messages-DIovIZrK.js +0 -1093
  112. package/dist/frontend/theme.svelte-DKfCy12k.js +0 -49
  113. package/dist/frontend-ssr/assets/CategoryDialog-BGuHTb3K.js +0 -603
  114. package/dist/frontend-ssr/assets/ConfirmDialog-D1BDXXll.js +0 -131
  115. package/dist/frontend-ssr/assets/DeleteDialog-oHT_p_vG.js +0 -154
  116. package/dist/frontend-ssr/assets/theme.svelte-Co0-ssaD.js +0 -67
@@ -1,626 +0,0 @@
1
- import { t as e } from "./copy-CvCh4ZVt.js";
2
- import { t } from "./circle-check-BrqfiQH1.js";
3
- import { n } from "./dist-DQa_OHOa.js";
4
- import { C as r, S as i, _ as a, b as o, er as s, g as c, h as l, ir as u, m as d, nr as f, rr as p, v as m, x as h, y as g } from "./messages-DIovIZrK.js";
5
- import { a as ee } from "./route-context-DYQlUfzL.js";
6
- import { a as te, i as _, n as ne, o as v, r as re, t as ie } from "./dialog-C2iKObEu.js";
7
- import { t as ae } from "./input-eHFb2qiL.js";
8
- import { t as y } from "./label-_I1iiaNU.js";
9
- import { a as oe, n as se, o as ce, r as b, s as le, t as ue } from "./api-keys-DIwAdYkg.js";
10
- import { a as de, i as fe, n as pe, r as me, t as he } from "./select-value-CtMyrvDJ.js";
11
- import "svelte/internal/disclose-version";
12
- import * as x from "svelte/internal/client";
13
- //#region src/lib/components/sidebar/category-api-key-flow.ts
14
- async function ge(e) {
15
- if (!e.draft.name.trim()) throw Error("Name is required");
16
- if (e.draft.apiMode !== "category") throw Error("Select Category API access");
17
- if (!e.draft.apiPermissionRead && !e.draft.apiPermissionEdit && !e.draft.apiPermissionWrite) throw Error("Select at least one permission");
18
- let t = await e.save(e.draft);
19
- if (!t || t.id !== e.categoryId) throw Error("Failed to save Category API access");
20
- return e.issue(e.categoryId);
21
- }
22
- //#endregion
23
- //#region src/lib/components/sidebar/category-dialog-feedback.ts
24
- function S(e, t) {
25
- return typeof e == "object" && e && "status" in e && e.status === 409 ? "A category with this name already exists." : e instanceof Error && e.message.trim().length > 0 ? e.message : t;
26
- }
27
- //#endregion
28
- //#region src/lib/components/sidebar/CategoryDialog.svelte
29
- var _e = x.from_html("<span class=\"font-medium text-foreground\"> </span> ", 1), ve = x.from_html("Delete <span class=\"font-medium text-foreground\"> </span> ", 1), C = x.from_html("<!> <!>", 1), ye = x.from_html("<div class=\"flex items-start gap-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><!> <div><p class=\"text-sm font-medium text-foreground\"> </p> <p class=\"text-sm text-muted-foreground\"><span class=\"font-medium text-foreground\"> </span> </p></div></div>"), be = x.from_html("<!> Copy API key", 1), xe = x.from_html("<div class=\"rounded-md border border-primary/20 bg-background/80 p-3\"><p class=\"text-xs font-medium text-foreground\">Copy the API key now. It remains available in Settings → API.</p> <code class=\"mt-2 block break-all rounded bg-muted p-2 text-xs text-foreground\"> </code> <!></div>"), w = x.from_html("<p class=\"text-xs text-destructive\" role=\"alert\"> </p>"), Se = x.from_html("<div class=\"space-y-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><div class=\"flex items-start gap-3\"><!> <div><p class=\"text-sm font-medium text-foreground\">Category created</p> <p class=\"text-sm text-muted-foreground\"> </p></div></div> <!> <!></div>"), Ce = x.from_html("<p id=\"category-dialog-name-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), T = x.from_html("<!> <!> <!>", 1), we = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 bg-muted/30 p-3\"><div class=\"flex flex-wrap items-center justify-between gap-2\"><!> <div class=\"flex flex-wrap gap-2\"><!> <!></div></div> <div class=\"grid gap-2 sm:grid-cols-3\"><label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Read</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Edit</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Write</span></label></div></div>"), Te = x.from_html("<div class=\"rounded-lg border border-primary/30 bg-primary/10 p-3 text-primary\"><p class=\"text-xs font-medium\">Copy now — this raw key is shown once.</p> <code class=\"mt-1 block break-all rounded bg-background/80 p-2 text-xs text-foreground\"> </code> <!></div>"), Ee = x.from_html("<div class=\"flex items-center justify-between gap-3 rounded-md bg-muted/40 px-3 py-2 text-xs\"><span> </span> <div class=\"flex shrink-0 gap-2\"><!> <!></div></div>"), De = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 p-3\"><div class=\"flex items-center justify-between gap-2 max-sm:flex-col max-sm:items-stretch\"><div><!> <p class=\"text-xs text-muted-foreground\">The current permissions are saved before the key is issued.</p></div> <!></div> <!> <div class=\"max-h-48 space-y-2 overflow-y-auto pr-1\"></div></div>"), Oe = x.from_html("<form data-category-dialog-scroll=\"\" class=\"max-h-[calc(100dvh-12rem)] space-y-4 overflow-y-auto overscroll-contain pr-1\"><div class=\"space-y-2\"><!> <!> <!></div> <div class=\"space-y-2\"><!> <!></div> <!> <!></form>"), ke = x.from_html("<!> ", 1);
30
- function E(E, D) {
31
- x.push(D, !0);
32
- let O = {
33
- Root: de,
34
- Content: fe,
35
- Item: me,
36
- Trigger: pe,
37
- Value: he
38
- }, k = ee(), A = x.prop(D, "open", 15, !1), j = x.state(""), M = x.state(null), N = x.state(!1), P = x.state("unavailable"), F = x.state(!1), I = x.state(!1), L = x.state(!1), R = x.state(x.proxy([])), z = x.state(x.proxy({})), B = x.state(null), V = x.state(!1), H = x.state(null), U = x.state(null), W = x.state(null), G = x.derived(() => x.get(B) ? x.get(z)[x.get(B)] : void 0);
39
- async function K(e) {
40
- let t = await oe(k.fetch);
41
- x.set(R, t.keys.filter((t) => se(t.scopes) === e), !0);
42
- }
43
- async function Ae() {
44
- if (!(!D.category?.id || !D.onSave)) {
45
- x.set(V, !0), x.set(M, null);
46
- try {
47
- let e = await ge({
48
- categoryId: D.category.id,
49
- draft: {
50
- name: x.get(q),
51
- apiMode: X(x.get(P)),
52
- apiPermissionRead: x.get(F),
53
- apiPermissionEdit: x.get(I),
54
- apiPermissionWrite: x.get(L)
55
- },
56
- save: async (e) => D.onSave(e),
57
- issue: async (e) => b(e, void 0, k.fetch)
58
- });
59
- x.set(z, {
60
- ...x.get(z),
61
- [e.id]: e.key
62
- }, !0), x.set(B, e.id, !0), await K(D.category.id);
63
- } catch (e) {
64
- x.set(M, e instanceof Error ? e.message : "Failed to create category API key", !0);
65
- } finally {
66
- x.set(V, !1);
67
- }
68
- }
69
- }
70
- async function je(e) {
71
- if (D.category?.id) {
72
- x.set(V, !0);
73
- try {
74
- await le(e, k.fetch);
75
- let { [e]: t, ...n } = x.get(z);
76
- x.set(z, n, !0), x.get(B) === e && x.set(B, null), await K(D.category.id);
77
- } finally {
78
- x.set(V, !1);
79
- }
80
- }
81
- }
82
- async function Me(e) {
83
- let t = x.get(z)[e.id] ?? await ce(e.id, k.fetch);
84
- await navigator.clipboard.writeText(ue(e, t));
85
- }
86
- x.user_effect(() => {
87
- if (!A()) return;
88
- x.set(j, D.category?.name ?? "", !0);
89
- let e = D.category?.apiMode === "category" ? "category" : D.category?.apiMode === "global" ? "global" : "unavailable";
90
- x.set(P, e, !0), x.set(F, !!D.category?.apiPermissionRead, !0), x.set(I, !!D.category?.apiPermissionEdit, !0), x.set(L, !!D.category?.apiPermissionWrite, !0), e === "unavailable" && (x.set(F, !1), x.set(I, !1), x.set(L, !1)), x.set(z, {}, !0), x.set(B, null), x.set(R, [], !0), x.set(H, null), x.set(U, null), x.set(W, null), D.mode === "edit" && D.category?.id && K(D.category.id), x.set(M, null);
91
- });
92
- let q = x.derived(() => x.get(j).trim()), J = x.derived(() => D.mode === "delete"), Y = x.derived(() => x.get(F) || x.get(I) || x.get(L)), Ne = x.derived(() => x.get(W) ? l() : x.get(J) ? a() : D.mode === "edit" ? i() : r()), Pe = x.derived(() => x.get(J) ? f() : D.mode === "edit" ? u() : s());
93
- function X(e) {
94
- return e === "category" ? "category" : e === "global" ? "global" : "unavailable";
95
- }
96
- function Z(e) {
97
- if (e === "read") {
98
- x.set(F, !0), x.set(I, !1), x.set(L, !1);
99
- return;
100
- }
101
- if (e === "write") {
102
- x.set(F, !1), x.set(I, !1), x.set(L, !0);
103
- return;
104
- }
105
- if (e === "read-write") {
106
- x.set(F, !0), x.set(I, !1), x.set(L, !0);
107
- return;
108
- }
109
- x.set(F, !0), x.set(I, !0), x.set(L, !0);
110
- }
111
- async function Q(e) {
112
- if (e?.preventDefault(), !x.get(N)) {
113
- if (x.get(J)) {
114
- if (!D.onDelete) {
115
- $();
116
- return;
117
- }
118
- x.set(N, !0);
119
- try {
120
- await D.onDelete(), x.set(W, D.category?.name ?? "Category", !0);
121
- } catch (e) {
122
- console.error("CategoryDialog: delete failed", e), x.set(M, e instanceof Error ? e.message : m(), !0);
123
- } finally {
124
- x.set(N, !1);
125
- }
126
- return;
127
- }
128
- if (x.get(q).length === 0) {
129
- x.set(M, "Name is required");
130
- return;
131
- }
132
- if (x.get(P) !== "unavailable" && !x.get(Y)) {
133
- x.set(M, "Select at least one permission");
134
- return;
135
- }
136
- if (!D.onSave) {
137
- $();
138
- return;
139
- }
140
- x.set(M, null), x.set(N, !0);
141
- try {
142
- let e = await D.onSave({
143
- name: x.get(q),
144
- apiMode: X(x.get(P)),
145
- apiPermissionRead: x.get(P) === "unavailable" ? !1 : x.get(F),
146
- apiPermissionEdit: x.get(P) === "unavailable" ? !1 : x.get(I),
147
- apiPermissionWrite: x.get(P) === "unavailable" ? !1 : x.get(L)
148
- });
149
- if (D.mode === "create" && e) {
150
- if (x.set(H, e.name, !0), x.get(P) === "category") try {
151
- let t = await b(e.id, void 0, k.fetch);
152
- x.set(U, t.key, !0);
153
- } catch (e) {
154
- x.set(M, `Category created, but its API key could not be created: ${S(e, "Unknown error")}`);
155
- }
156
- return;
157
- }
158
- $();
159
- } catch (e) {
160
- console.error("CategoryDialog: save failed", e), x.set(M, S(e, D.mode === "edit" ? g() : o()), !0);
161
- } finally {
162
- x.set(N, !1);
163
- }
164
- }
165
- }
166
- function $() {
167
- x.get(N) || (A(!1), D.onClose?.());
168
- }
169
- function Fe(e) {
170
- if (!e && x.get(N)) {
171
- A(!0);
172
- return;
173
- }
174
- e || $();
175
- }
176
- te(E, {
177
- onOpenChange: Fe,
178
- get open() {
179
- return A();
180
- },
181
- set open(e) {
182
- A(e);
183
- },
184
- children: (r, i) => {
185
- var a = T(), o = x.first_child(a);
186
- ne(o, {
187
- children: (e, t) => {
188
- var n = C(), r = x.first_child(n);
189
- ie(r, {
190
- children: (e, t) => {
191
- x.next();
192
- var n = x.text();
193
- x.template_effect(() => x.set_text(n, x.get(Ne))), x.append(e, n);
194
- },
195
- $$slots: { default: !0 }
196
- });
197
- var i = x.sibling(r, 2), a = (e) => {
198
- _(e, {
199
- children: (e, t) => {
200
- var n = _e(), r = x.first_child(n), i = x.child(r);
201
- x.reset(r);
202
- var a = x.sibling(r);
203
- x.template_effect((e) => {
204
- x.set_text(i, `“${x.get(W) ?? ""}”`), x.set_text(a, ` ${e ?? ""}`);
205
- }, [() => d()]), x.append(e, n);
206
- },
207
- $$slots: { default: !0 }
208
- });
209
- }, o = (e) => {
210
- _(e, {
211
- children: (e, t) => {
212
- x.next();
213
- var n = ve(), r = x.sibling(x.first_child(n)), i = x.child(r);
214
- x.reset(r);
215
- var a = x.sibling(r);
216
- x.template_effect((e) => {
217
- x.set_text(i, `“${D.category?.name ?? "Category" ?? ""}”`), x.set_text(a, `?
218
- ${e ?? ""}`);
219
- }, [() => c()]), x.append(e, n);
220
- },
221
- $$slots: { default: !0 }
222
- });
223
- }, s = (e) => {
224
- _(e, {
225
- children: (e, t) => {
226
- x.next();
227
- var n = x.text();
228
- x.template_effect((e) => x.set_text(n, e), [() => h()]), x.append(e, n);
229
- },
230
- $$slots: { default: !0 }
231
- });
232
- };
233
- x.if(i, (e) => {
234
- x.get(W) ? e(a) : x.get(J) ? e(o, 1) : e(s, -1);
235
- }), x.append(e, n);
236
- },
237
- $$slots: { default: !0 }
238
- });
239
- var s = x.sibling(o, 2), u = (e) => {
240
- var n = ye(), r = x.child(n);
241
- t(r, { class: "mt-0.5 size-5 shrink-0 text-primary" });
242
- var i = x.sibling(r, 2), a = x.child(i), o = x.child(a, !0);
243
- x.reset(a);
244
- var s = x.sibling(a, 2), c = x.child(s), u = x.child(c);
245
- x.reset(c);
246
- var f = x.sibling(c);
247
- x.reset(s), x.reset(i), x.reset(n), x.template_effect((e, t) => {
248
- x.set_text(o, e), x.set_text(u, `“${x.get(W) ?? ""}”`), x.set_text(f, ` ${t ?? ""}`);
249
- }, [() => l(), () => d()]), x.append(e, n);
250
- }, f = (n) => {
251
- var r = Se(), i = x.child(r), a = x.child(i);
252
- t(a, { class: "mt-0.5 size-5 shrink-0 text-primary" });
253
- var o = x.sibling(a, 2), s = x.sibling(x.child(o), 2), c = x.child(s);
254
- x.reset(s), x.reset(o), x.reset(i);
255
- var l = x.sibling(i, 2), u = (t) => {
256
- var n = xe(), r = x.sibling(x.child(n), 2), i = x.child(r, !0);
257
- x.reset(r), v(x.sibling(r, 2), {
258
- type: "button",
259
- size: "sm",
260
- variant: "outline",
261
- class: "mt-2",
262
- onclick: () => navigator.clipboard.writeText(x.get(U) ?? ""),
263
- children: (t, n) => {
264
- var r = be();
265
- e(x.first_child(r), { class: "mr-1 size-3.5" }), x.next(), x.append(t, r);
266
- },
267
- $$slots: { default: !0 }
268
- }), x.reset(n), x.template_effect(() => x.set_text(i, x.get(U))), x.append(t, n);
269
- };
270
- x.if(l, (e) => {
271
- x.get(U) && e(u);
272
- });
273
- var d = x.sibling(l, 2), f = (e) => {
274
- var t = w(), n = x.child(t, !0);
275
- x.reset(t), x.template_effect(() => x.set_text(n, x.get(M))), x.append(e, t);
276
- };
277
- x.if(d, (e) => {
278
- x.get(M) && e(f);
279
- }), x.reset(r), x.template_effect(() => x.set_text(c, `${x.get(H) ?? ""} is ready to use.`)), x.append(n, r);
280
- }, m = (e) => {
281
- var t = Oe(), n = x.child(t), r = x.child(n);
282
- y(r, {
283
- for: "category-dialog-name",
284
- children: (e, t) => {
285
- x.next();
286
- var n = x.text();
287
- x.template_effect((e) => x.set_text(n, e), [() => h()]), x.append(e, n);
288
- },
289
- $$slots: { default: !0 }
290
- });
291
- var i = x.sibling(r, 2);
292
- {
293
- let e = x.derived(() => h()), t = x.derived(() => x.get(M) ? "true" : void 0), n = x.derived(() => x.get(M) ? "category-dialog-name-error" : void 0);
294
- ae(i, {
295
- id: "category-dialog-name",
296
- name: "name",
297
- type: "text",
298
- get placeholder() {
299
- return x.get(e);
300
- },
301
- maxlength: 255,
302
- required: !0,
303
- get disabled() {
304
- return x.get(N);
305
- },
306
- get "aria-invalid"() {
307
- return x.get(t);
308
- },
309
- get "aria-describedby"() {
310
- return x.get(n);
311
- },
312
- autocomplete: "off",
313
- get value() {
314
- return x.get(j);
315
- },
316
- set value(e) {
317
- x.set(j, e, !0);
318
- }
319
- });
320
- }
321
- var a = x.sibling(i, 2), o = (e) => {
322
- var t = Ce(), n = x.child(t, !0);
323
- x.reset(t), x.template_effect(() => x.set_text(n, x.get(M))), x.append(e, t);
324
- };
325
- x.if(a, (e) => {
326
- x.get(M) && e(o);
327
- }), x.reset(n);
328
- var s = x.sibling(n, 2), c = x.child(s);
329
- y(c, {
330
- for: "category-dialog-api-mode",
331
- children: (e, t) => {
332
- x.next();
333
- var n = x.text("API access");
334
- x.append(e, n);
335
- },
336
- $$slots: { default: !0 }
337
- });
338
- var l = x.sibling(c, 2);
339
- x.component(l, () => O.Root, (e, t) => {
340
- t(e, {
341
- type: "single",
342
- get value() {
343
- return x.get(P);
344
- },
345
- get disabled() {
346
- return x.get(N);
347
- },
348
- onValueChange: (e) => {
349
- (e === "unavailable" || e === "global" || e === "category") && x.set(P, e, !0);
350
- },
351
- children: (e, t) => {
352
- var n = C(), r = x.first_child(n);
353
- x.component(r, () => O.Trigger, (e, t) => {
354
- t(e, {
355
- id: "category-dialog-api-mode",
356
- class: "h-10 w-full",
357
- children: (e, t) => {
358
- var n = x.comment(), r = x.first_child(n);
359
- x.component(r, () => O.Value, (e, t) => {
360
- t(e, {
361
- placeholder: "Select API access",
362
- children: (e, t) => {
363
- x.next();
364
- var n = x.text();
365
- x.template_effect(() => x.set_text(n, x.get(P) === "unavailable" ? "Unavailable" : x.get(P) === "global" ? "Global" : "Category API")), x.append(e, n);
366
- },
367
- $$slots: { default: !0 }
368
- });
369
- }), x.append(e, n);
370
- },
371
- $$slots: { default: !0 }
372
- });
373
- });
374
- var i = x.sibling(r, 2);
375
- x.component(i, () => O.Content, (e, t) => {
376
- t(e, {
377
- children: (e, t) => {
378
- var n = T(), r = x.first_child(n);
379
- x.component(r, () => O.Item, (e, t) => {
380
- t(e, {
381
- value: "unavailable",
382
- children: (e, t) => {
383
- x.next();
384
- var n = x.text("Unavailable");
385
- x.append(e, n);
386
- },
387
- $$slots: { default: !0 }
388
- });
389
- });
390
- var i = x.sibling(r, 2);
391
- x.component(i, () => O.Item, (e, t) => {
392
- t(e, {
393
- value: "global",
394
- children: (e, t) => {
395
- x.next();
396
- var n = x.text("Global");
397
- x.append(e, n);
398
- },
399
- $$slots: { default: !0 }
400
- });
401
- });
402
- var a = x.sibling(i, 2);
403
- x.component(a, () => O.Item, (e, t) => {
404
- t(e, {
405
- value: "category",
406
- children: (e, t) => {
407
- x.next();
408
- var n = x.text("Category API");
409
- x.append(e, n);
410
- },
411
- $$slots: { default: !0 }
412
- });
413
- }), x.append(e, n);
414
- },
415
- $$slots: { default: !0 }
416
- });
417
- }), x.append(e, n);
418
- },
419
- $$slots: { default: !0 }
420
- });
421
- }), x.reset(s);
422
- var u = x.sibling(s, 2), d = (e) => {
423
- var t = we(), n = x.child(t), r = x.child(n);
424
- y(r, {
425
- class: "text-sm",
426
- children: (e, t) => {
427
- x.next();
428
- var n = x.text("Permissions");
429
- x.append(e, n);
430
- },
431
- $$slots: { default: !0 }
432
- });
433
- var i = x.sibling(r, 2), a = x.child(i);
434
- v(a, {
435
- type: "button",
436
- variant: "outline",
437
- size: "sm",
438
- onclick: () => Z("read-write"),
439
- children: (e, t) => {
440
- x.next();
441
- var n = x.text("Read / Write");
442
- x.append(e, n);
443
- },
444
- $$slots: { default: !0 }
445
- }), v(x.sibling(a, 2), {
446
- type: "button",
447
- variant: "outline",
448
- size: "sm",
449
- onclick: () => Z("read-edit-write"),
450
- children: (e, t) => {
451
- x.next();
452
- var n = x.text("Read / Edit / Write");
453
- x.append(e, n);
454
- },
455
- $$slots: { default: !0 }
456
- }), x.reset(i), x.reset(n);
457
- var o = x.sibling(n, 2), s = x.child(o), c = x.child(s);
458
- x.remove_input_defaults(c), x.next(2), x.reset(s);
459
- var l = x.sibling(s, 2), u = x.child(l);
460
- x.remove_input_defaults(u), x.next(2), x.reset(l);
461
- var d = x.sibling(l, 2), f = x.child(d);
462
- x.remove_input_defaults(f), x.next(2), x.reset(d), x.reset(o), x.reset(t), x.template_effect(() => {
463
- c.disabled = x.get(N), u.disabled = x.get(N), f.disabled = x.get(N);
464
- }), x.bind_checked(c, () => x.get(F), (e) => x.set(F, e)), x.bind_checked(u, () => x.get(I), (e) => x.set(I, e)), x.bind_checked(f, () => x.get(L), (e) => x.set(L, e)), x.append(e, t);
465
- };
466
- x.if(u, (e) => {
467
- x.get(P) !== "unavailable" && e(d);
468
- });
469
- var f = x.sibling(u, 2), p = (e) => {
470
- var t = De(), n = x.child(t), r = x.child(n);
471
- y(x.child(r), {
472
- children: (e, t) => {
473
- x.next();
474
- var n = x.text("Category API keys");
475
- x.append(e, n);
476
- },
477
- $$slots: { default: !0 }
478
- }), x.next(2), x.reset(r);
479
- var i = x.sibling(r, 2);
480
- {
481
- let e = x.derived(() => x.get(N) || x.get(V) || !x.get(q) || !x.get(Y));
482
- v(i, {
483
- type: "button",
484
- size: "sm",
485
- onclick: Ae,
486
- get disabled() {
487
- return x.get(e);
488
- },
489
- children: (e, t) => {
490
- x.next();
491
- var n = x.text("Create key");
492
- x.append(e, n);
493
- },
494
- $$slots: { default: !0 }
495
- });
496
- }
497
- x.reset(n);
498
- var a = x.sibling(n, 2), o = (e) => {
499
- var t = Te(), n = x.sibling(x.child(t), 2), r = x.child(n, !0);
500
- x.reset(n), v(x.sibling(n, 2), {
501
- type: "button",
502
- size: "sm",
503
- variant: "outline",
504
- class: "mt-2",
505
- onclick: () => navigator.clipboard.writeText(x.get(G)),
506
- children: (e, t) => {
507
- x.next();
508
- var n = x.text("Copy key");
509
- x.append(e, n);
510
- },
511
- $$slots: { default: !0 }
512
- }), x.reset(t), x.template_effect(() => x.set_text(r, x.get(G))), x.append(e, t);
513
- };
514
- x.if(a, (e) => {
515
- x.get(G) && e(o);
516
- });
517
- var s = x.sibling(a, 2);
518
- x.each(s, 21, () => x.get(R), (e) => e.id, (e, t) => {
519
- var n = Ee(), r = x.child(n), i = x.child(r);
520
- x.reset(r);
521
- var a = x.sibling(r, 2), o = x.child(a);
522
- {
523
- let e = x.derived(() => !x.get(t).recoverable && !x.get(z)[x.get(t).id]);
524
- v(o, {
525
- type: "button",
526
- size: "sm",
527
- variant: "outline",
528
- onclick: () => Me(x.get(t)),
529
- get disabled() {
530
- return x.get(e);
531
- },
532
- children: (e, n) => {
533
- x.next();
534
- var r = x.text();
535
- x.template_effect(() => x.set_text(r, x.get(t).recoverable || x.get(z)[x.get(t).id] ? "Copy key" : "Rotate to enable copy")), x.append(e, r);
536
- },
537
- $$slots: { default: !0 }
538
- });
539
- }
540
- v(x.sibling(o, 2), {
541
- type: "button",
542
- size: "sm",
543
- variant: "destructive",
544
- onclick: () => je(x.get(t).id),
545
- get disabled() {
546
- return x.get(V);
547
- },
548
- children: (e, t) => {
549
- x.next();
550
- var n = x.text("Revoke");
551
- x.append(e, n);
552
- },
553
- $$slots: { default: !0 }
554
- }), x.reset(a), x.reset(n), x.template_effect(() => x.set_text(i, `${x.get(t).name ?? ""} · ${x.get(t).prefix ?? ""}…`)), x.append(e, n);
555
- }), x.reset(s), x.reset(t), x.append(e, t);
556
- };
557
- x.if(f, (e) => {
558
- D.mode === "edit" && x.get(P) === "category" && D.category?.id && e(p);
559
- }), x.reset(t), x.event("submit", t, Q), x.append(e, t);
560
- }, g = (e) => {
561
- var t = w(), n = x.child(t, !0);
562
- x.reset(t), x.template_effect(() => x.set_text(n, x.get(M))), x.append(e, t);
563
- };
564
- x.if(s, (e) => {
565
- x.get(W) ? e(u) : x.get(H) ? e(f, 1) : x.get(J) ? x.get(M) && e(g, 3) : e(m, 2);
566
- }), re(x.sibling(s, 2), {
567
- class: "gap-2 max-sm:flex-col max-sm:items-stretch",
568
- children: (e, t) => {
569
- var r = C(), i = x.first_child(r), a = (e) => {
570
- v(e, {
571
- variant: "outline",
572
- type: "button",
573
- onclick: $,
574
- get disabled() {
575
- return x.get(N);
576
- },
577
- children: (e, t) => {
578
- x.next();
579
- var n = x.text();
580
- x.template_effect((e) => x.set_text(n, e), [() => p()]), x.append(e, n);
581
- },
582
- $$slots: { default: !0 }
583
- });
584
- };
585
- x.if(i, (e) => {
586
- !x.get(H) && !x.get(W) && e(a);
587
- });
588
- var o = x.sibling(i, 2);
589
- {
590
- let e = x.derived(() => x.get(J) ? "button" : "submit"), t = x.derived(() => x.get(J) ? "destructive" : "default"), r = x.derived(() => x.get(H) || x.get(W) ? $ : Q), i = x.derived(() => x.get(N) || !x.get(J) && !x.get(H) && !x.get(W) && x.get(q).length === 0);
591
- v(o, {
592
- get type() {
593
- return x.get(e);
594
- },
595
- get variant() {
596
- return x.get(t);
597
- },
598
- get onclick() {
599
- return x.get(r);
600
- },
601
- get disabled() {
602
- return x.get(i);
603
- },
604
- children: (e, t) => {
605
- var r = ke(), i = x.first_child(r), a = (e) => {
606
- n(e, { class: "mr-1 size-4 animate-spin" });
607
- };
608
- x.if(i, (e) => {
609
- x.get(N) && e(a);
610
- });
611
- var o = x.sibling(i);
612
- x.template_effect(() => x.set_text(o, ` ${(x.get(H) || x.get(W) ? "Done" : x.get(Pe)) ?? ""}`)), x.append(e, r);
613
- },
614
- $$slots: { default: !0 }
615
- });
616
- }
617
- x.append(e, r);
618
- },
619
- $$slots: { default: !0 }
620
- }), x.append(r, a);
621
- },
622
- $$slots: { default: !0 }
623
- }), x.pop();
624
- }
625
- //#endregion
626
- export { E as t };