@oktis-works/admin 0.4.22 → 0.4.24

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 (95) hide show
  1. package/dist/client/_astro/{ActivityWidget.DPHDSR70.js → ActivityWidget.DaftIB1V.js} +2 -2
  2. package/dist/client/_astro/{AdminBar.Cfe6Btfm.js → AdminBar.B-diRxPt.js} +2 -2
  3. package/dist/client/_astro/{AtGlanceWidget.BdmMxHd5.js → AtGlanceWidget.DcgTCF-o.js} +2 -2
  4. package/dist/client/_astro/BaseLayout.sayhdG_g.css +1 -0
  5. package/dist/client/_astro/ContentEditor.B1b1Ixz0.js +3 -0
  6. package/dist/client/_astro/ContentEditor.DGTZ51kU.js +1 -0
  7. package/dist/client/_astro/{ContentTypeWorkspace.C-17fiDL.js → ContentTypeWorkspace.CFzwh3Rc.js} +1 -1
  8. package/dist/client/_astro/CustomFieldsManager.DqCE6rSX.js +5 -0
  9. package/dist/client/_astro/DashboardHome.HrqKA0mK.js +1 -0
  10. package/dist/client/_astro/DashboardLayout.BEes7o_t.css +1 -0
  11. package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.CKDcT5kP.js → DashboardLayout.astro_astro_type_script_index_0_lang.sBNUxHjt.js} +1 -1
  12. package/dist/client/_astro/{Footer.CIzMoBJk.js → Footer.BYqLZvjY.js} +6 -6
  13. package/dist/client/_astro/{GeneralSettings.XVjUJxtp.js → GeneralSettings.C5lXnnvB.js} +1 -1
  14. package/dist/client/_astro/LogsManager.BSXD0gFG.js +1 -0
  15. package/dist/client/_astro/MediaLibrary.9tlXDGsx.js +1 -0
  16. package/dist/client/_astro/MenuManager.CfLmtMhF.js +1 -0
  17. package/dist/client/_astro/{PluginManager.D65lPRrH.js → PluginManager.Ba2R7ZVx.js} +2 -2
  18. package/dist/client/_astro/{PostTypesManager.dsx3ybTa.js → PostTypesManager.DqbyhhLF.js} +1 -1
  19. package/dist/client/_astro/{QuickDraftWidget.DYsI_PJ5.js → QuickDraftWidget.Dwsa5EVP.js} +2 -2
  20. package/dist/client/_astro/ResourceHubs.sI10AY3z.js +1 -0
  21. package/dist/client/_astro/TaxonomiesManager.BFd3zjNe.js +1 -0
  22. package/dist/client/_astro/TaxonomyTermsManager.C7ClYXtt.js +1 -0
  23. package/dist/client/_astro/{ThemeManager.CuhjguCi.js → ThemeManager.C4t-yZay.js} +2 -2
  24. package/dist/client/_astro/UserCreateForm.B-7pKOO6.js +1 -0
  25. package/dist/client/_astro/UsersManager.aI6-3vtM.js +1 -0
  26. package/dist/client/_astro/WebhooksManager.C3E91U9V.js +1 -0
  27. package/dist/client/_astro/api.DSIz0zxF.js +1 -0
  28. package/dist/client/_astro/client.BDaUmf7m.js +1 -0
  29. package/dist/client/_astro/custom-fields.pl-GPt9A.css +1 -0
  30. package/dist/client/_astro/dist.BqeNZlzo.js +1 -0
  31. package/dist/client/_astro/extensions.BD4YTWQq.js +1 -0
  32. package/dist/client/_astro/i18n.Tk18hqHh.js +1 -0
  33. package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.DHHzJWgm.js → login.astro_astro_type_script_index_0_lang.CJiWhdn-.js} +1 -1
  34. package/dist/client/_astro/pt-BR.BvjbjXKW.js +1 -0
  35. package/dist/client/_astro/solid.TEtyrbLc.js +1 -0
  36. package/dist/client/_astro/{version.DPFOQ4hp.js → version.DWxe0ErB.js} +1 -1
  37. package/dist/client/_astro/web.C8wWxyYF.js +1 -0
  38. package/dist/server/chunks/{ContentEditor_Dat_38Nz.mjs → ContentEditor_Dv_mBfuW.mjs} +6 -6
  39. package/dist/server/chunks/{DashboardLayout_DsYrIyKK.mjs → DashboardLayout_BXHo9BuG.mjs} +32 -7
  40. package/dist/server/chunks/MediaLibrary_D_sY4Gec.mjs +466 -0
  41. package/dist/server/chunks/{_slug__MPfKFp1f.mjs → _slug__B8tdH53X.mjs} +1 -1
  42. package/dist/server/chunks/{access_dvh8pEEF.mjs → access_DGwoebwJ.mjs} +2 -2
  43. package/dist/server/chunks/custom-fields_D4w-58YN.mjs +1297 -0
  44. package/dist/server/chunks/{edit_BaSFaTjX.mjs → edit_CmlcxPrx.mjs} +2 -2
  45. package/dist/server/chunks/{general_CWkM-QPS.mjs → general_CqL-s9JH.mjs} +2 -2
  46. package/dist/server/chunks/{i18n_BJJWXenY.mjs → i18n_BgHPm3Sm.mjs} +227 -5
  47. package/dist/server/chunks/{index_DA7KSBNI.mjs → index_C-sL6cpt.mjs} +1 -1
  48. package/dist/server/chunks/{index_1F1_RTJb.mjs → index_CnISgdQh.mjs} +2 -2
  49. package/dist/server/chunks/{index_B4nb6VH_.mjs → index_D7qi5N5q.mjs} +2 -2
  50. package/dist/server/chunks/{index_Bck2SDPK.mjs → index_Ja5uaaGW.mjs} +2 -2
  51. package/dist/server/chunks/{index_DCsZz61C.mjs → index_ecE7x9Pe.mjs} +3 -3
  52. package/dist/server/chunks/{login_DnB1gNqL.mjs → login_s3hMBW1K.mjs} +1 -1
  53. package/dist/server/chunks/{logs_BArVlSoG.mjs → logs_CNOk_Lo5.mjs} +2 -2
  54. package/dist/server/chunks/menus_C-s2xfcQ.mjs +532 -0
  55. package/dist/server/chunks/{new_CSaDDm4Z.mjs → new_C74ZJuZQ.mjs} +2 -2
  56. package/dist/server/chunks/{new_D4KZk7Yr.mjs → new_HQ5WL67T.mjs} +2 -2
  57. package/dist/server/chunks/{plugins_Rnyim3HN.mjs → plugins_By35JLjE.mjs} +2 -2
  58. package/dist/server/chunks/{post-types_B9aran6P.mjs → post-types_Bh1mw5z0.mjs} +2 -2
  59. package/dist/server/chunks/{pt-BR_C4s8qQI4.mjs → pt-BR_CoM1872j.mjs} +184 -4
  60. package/dist/server/chunks/{taxonomies_BoQfQyXo.mjs → taxonomies_0otf1N0J.mjs} +2 -2
  61. package/dist/server/chunks/{taxonomy_IQtZsy_i.mjs → taxonomy_DFWo1ROb.mjs} +2 -2
  62. package/dist/server/chunks/{themes_DbXTXyPr.mjs → themes_BtciwLOq.mjs} +2 -2
  63. package/dist/server/chunks/{upload_DFhwOXyV.mjs → upload_DcYzx57H.mjs} +2 -2
  64. package/dist/server/chunks/{webhooks_rjPh4g3b.mjs → webhooks_3iJ3tOP0.mjs} +114 -31
  65. package/dist/server/entry.mjs +23 -23
  66. package/dist/server/virtual_astro_middleware.mjs +1 -1
  67. package/package.json +1 -1
  68. package/dist/client/_astro/BaseLayout.DZs74Ly2.css +0 -1
  69. package/dist/client/_astro/ContentEditor.C0QRayGL.js +0 -3
  70. package/dist/client/_astro/ContentEditor.DI_TzQ3t.js +0 -1
  71. package/dist/client/_astro/CustomFieldsManager.DWfyFNKg.js +0 -3
  72. package/dist/client/_astro/DashboardHome.DogWw0Mx.js +0 -1
  73. package/dist/client/_astro/DashboardLayout.cOPI1C7I.css +0 -1
  74. package/dist/client/_astro/LogsManager.Dj9eegoH.js +0 -1
  75. package/dist/client/_astro/MediaLibrary.DFdil0q8.js +0 -1
  76. package/dist/client/_astro/MenuManager.CInlK214.js +0 -19
  77. package/dist/client/_astro/ResourceHubs.C3EJHpe7.js +0 -1
  78. package/dist/client/_astro/TaxonomiesManager.BYcDeL3s.js +0 -1
  79. package/dist/client/_astro/TaxonomyTermsManager.DLD_SWSE.js +0 -1
  80. package/dist/client/_astro/UserCreateForm.YrvnokVf.js +0 -1
  81. package/dist/client/_astro/UsersManager.BWkuqIyw.js +0 -1
  82. package/dist/client/_astro/WebhooksManager.BLy6DI8f.js +0 -1
  83. package/dist/client/_astro/api.DSW9LMA5.js +0 -1
  84. package/dist/client/_astro/client.W0NY0lEa.js +0 -1
  85. package/dist/client/_astro/custom-fields.XYcte01g.css +0 -1
  86. package/dist/client/_astro/dist.Di6E6ZlC.js +0 -1
  87. package/dist/client/_astro/extensions.BbGSgyUX.js +0 -1
  88. package/dist/client/_astro/i18n.Ck_XVuPY.js +0 -1
  89. package/dist/client/_astro/pt-BR.BNlZx8-w.js +0 -1
  90. package/dist/client/_astro/solid.DN8T1HsY.js +0 -1
  91. package/dist/client/_astro/web.Bze9SKEA.js +0 -1
  92. package/dist/server/chunks/MediaLibrary_BmYgO6Lm.mjs +0 -335
  93. package/dist/server/chunks/custom-fields_Dp_CVTYc.mjs +0 -591
  94. package/dist/server/chunks/menus_CYoSRDEL.mjs +0 -170
  95. /package/dist/server/chunks/{BaseLayout_C_gR8Xx3.mjs → BaseLayout_CXafpVV9.mjs} +0 -0
@@ -0,0 +1,532 @@
1
+ import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
+ import { S as createAstro, d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
3
+ import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BgHPm3Sm.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BXHo9BuG.mjs";
6
+ import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
7
+ import { For, Show, createMemo, createSignal, onMount } from "solid-js";
8
+ //#region src/components/apps/menus/MenuManager.tsx
9
+ var _tmpl$ = [
10
+ "<div",
11
+ " class=\"wp-menu-empty-level\">",
12
+ "</div>"
13
+ ];
14
+ var _tmpl$2 = [
15
+ "<div",
16
+ " class=\"wp-menu-tree\"",
17
+ "><!--$-->",
18
+ "<!--/--><!--$-->",
19
+ "<!--/--></div>"
20
+ ];
21
+ var _tmpl$3 = [
22
+ "<article",
23
+ " class=\"wp-menu-item\"><div class=\"wp-menu-item__header\"><span class=\"wp-menu-drag\" draggable=\"true\"",
24
+ ">⠿⠿⠿</span><span class=\"wp-menu-item__label\"><strong>",
25
+ "</strong><small>",
26
+ "</small></span><div class=\"wp-menu-item__actions\"><button type=\"button\" class=\"btn btn-sm\"",
27
+ ">↑</button><button type=\"button\" class=\"btn btn-sm\"",
28
+ ">↓</button><button type=\"button\" class=\"btn btn-sm\"",
29
+ ">→</button><button type=\"button\" class=\"btn btn-sm\"",
30
+ ">←</button></div></div><details class=\"wp-menu-item__details\"><summary>",
31
+ "</summary><div class=\"wp-menu-item__fields\"><label><!--$-->",
32
+ "<!--/--><input class=\"input\"",
33
+ "></label><label><!--$-->",
34
+ "<!--/--><input class=\"input\"",
35
+ "></label><label><!--$-->",
36
+ "<!--/--><input class=\"input\"",
37
+ "></label><label><!--$-->",
38
+ "<!--/--><input class=\"input\"",
39
+ "></label><label><!--$-->",
40
+ "<!--/--><select class=\"input\"",
41
+ "><option value=\"_self\">",
42
+ "</option><option value=\"_blank\">",
43
+ "</option></select></label><label><!--$-->",
44
+ "<!--/--><input class=\"input\"",
45
+ "></label><label class=\"wp-menu-item__wide\"><!--$-->",
46
+ "<!--/--><textarea class=\"input\" rows=\"2\"",
47
+ "></textarea></label><button type=\"button\" class=\"btn btn-danger btn-sm\">",
48
+ "</button></div></details><!--$-->",
49
+ "<!--/--></article>"
50
+ ];
51
+ var _tmpl$4 = [
52
+ "<p",
53
+ " class=\"muted\">",
54
+ "</p>"
55
+ ];
56
+ var _tmpl$5 = [
57
+ "<details",
58
+ " class=\"wp-menu-box\"",
59
+ "><summary>",
60
+ "</summary><div class=\"wp-menu-box__body\"><!--$-->",
61
+ "<!--/--><!--$-->",
62
+ "<!--/--></div></details>"
63
+ ];
64
+ var _tmpl$6 = [
65
+ "<div",
66
+ " class=\"notice notice--error\">",
67
+ "</div>"
68
+ ];
69
+ var _tmpl$7 = [
70
+ "<div",
71
+ " class=\"notice\">",
72
+ "</div>"
73
+ ];
74
+ var _tmpl$8 = [
75
+ "<div",
76
+ " class=\"menus-manager wp-menus-manager\"><!--$-->",
77
+ "<!--/--><!--$-->",
78
+ "<!--/--><!--$-->",
79
+ "<!--/--><style>.wp-menu-editor__top,.wp-structure-heading,.wp-menu-editor__identity,.wp-menu-item__header,.wp-menu-item__actions,.form-actions{display:flex;align-items:center;gap:.7rem}.wp-menu-editor__top,.wp-structure-heading{justify-content:space-between}.wp-menu-editor__top{margin-bottom:1rem}.wp-menu-editor__top h3{margin:.25rem 0 0}.wp-eyebrow{display:block;margin-top:.7rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.wp-menu-editor__identity{margin-bottom:1rem;align-items:end}.wp-menu-editor__identity label{display:grid;gap:.35rem;flex:1}.wp-menu-editor__columns{display:grid;grid-template-columns:330px minmax(0,1fr);gap:1.2rem;align-items:start}.wp-menu-sources,.wp-menu-structure{min-width:0}.wp-menu-sources>h4,.wp-structure-heading h4{margin:0}.wp-menu-box{background:var(--color-surface,#fff);border:1px solid var(--color-border,#ddd);margin-bottom:.7rem}.wp-menu-box summary{cursor:pointer;padding:.8rem;font-weight:600}.wp-menu-box__body{padding:0 .8rem .8rem;display:grid;gap:.6rem}.wp-menu-box__body p{margin:0}.wp-source-list{display:grid;gap:.35rem;max-height:220px;overflow:auto;border:1px solid var(--color-border,#ddd);padding:.45rem}.wp-source-row{display:flex!important;align-items:start;gap:.45rem!important;padding:.3rem}.wp-source-row span,.wp-source-link{display:grid;gap:.12rem;text-align:left}.wp-source-row small,.wp-source-link small,.wp-menu-item__label small{color:var(--color-muted);font-size:.75rem}.wp-source-link{border:0;background:none;color:inherit;padding:.35rem;width:100%;cursor:pointer}.wp-source-link:hover{background:var(--color-surface-muted,#f5f5f5)}.wp-taxonomy-source{display:grid;gap:.2rem;border-top:1px solid var(--color-border,#ddd);padding-top:.5rem}.wp-taxonomy-source:first-child{border-top:0;padding-top:0}.wp-menu-structure{background:var(--color-surface-muted,#f7f7f7);padding:1rem}.wp-menu-structure .wp-structure-heading{margin-bottom:1rem}.wp-menu-tree{display:grid;gap:.55rem}.wp-menu-tree[data-depth=\"1\"]{margin:.55rem 0 0 2rem}.wp-menu-item{background:var(--color-surface,#fff);border:1px solid var(--color-border,#dcdcde);box-shadow:0 1px 1px rgba(0,0,0,.04)}.wp-menu-item__header{padding:.55rem .7rem}.wp-menu-drag{cursor:grab;letter-spacing:-.2rem;width:1.4rem;color:var(--color-muted);user-select:none}.wp-menu-item__label{display:grid;gap:.15rem;flex:1;min-width:0}.wp-menu-item__label small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wp-menu-item__actions{margin-left:auto}.wp-menu-item__details{border-top:1px solid var(--color-border,#ddd)}.wp-menu-item__details summary{padding:.5rem .7rem;cursor:pointer;color:var(--color-muted);font-size:.85rem}.wp-menu-item__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:.7rem;border-top:1px solid var(--color-border,#ddd)}.wp-menu-item__fields label{display:grid;gap:.3rem}.wp-menu-item__wide{grid-column:1/-1}.wp-menu-empty,.wp-menu-empty-level{text-align:center;padding:2rem;color:var(--color-muted)}.wp-menu-empty-level{border:1px dashed var(--color-border,#ccc);padding:1rem}.wp-menu-settings{margin-top:1rem}.wp-menu-settings h4{margin-top:0}.wp-menu-settings p{margin-bottom:0}.wp-menus-manager .menu-actions{white-space:nowrap;text-align:right}@media(max-width:850px){.wp-menu-editor__columns{grid-template-columns:1fr}.wp-menu-sources{order:2}.wp-menu-structure{order:1}.wp-menu-editor__identity,.wp-menu-editor__top{align-items:stretch;display:grid}.wp-menu-item__fields{grid-template-columns:1fr}.wp-menu-item__wide{grid-column:auto}}</style></div>"
80
+ ];
81
+ var _tmpl$9 = [
82
+ "<div",
83
+ " class=\"skeleton\">",
84
+ "</div>"
85
+ ];
86
+ var _tmpl$0 = [
87
+ "<div",
88
+ " class=\"manager-toolbar\"><p class=\"muted\">",
89
+ "</p><button class=\"btn btn-primary\" type=\"button\">+ <!--$-->",
90
+ "<!--/--></button></div>"
91
+ ];
92
+ var _tmpl$1 = [
93
+ "<table",
94
+ " class=\"table\"><thead><tr><th>",
95
+ "</th><th>",
96
+ "</th><th>",
97
+ "</th><th></th></tr></thead><tbody>",
98
+ "</tbody></table>"
99
+ ];
100
+ var _tmpl$10 = [
101
+ "<section",
102
+ " class=\"card\">",
103
+ "</section>"
104
+ ];
105
+ var _tmpl$11 = [
106
+ "<p",
107
+ " class=\"muted empty-state\">",
108
+ "</p>"
109
+ ];
110
+ var _tmpl$12 = [
111
+ "<tr",
112
+ "><td><strong>",
113
+ "</strong></td><td><code>",
114
+ "</code></td><td>",
115
+ "</td><td class=\"menu-actions\"><button class=\"btn btn-secondary btn-sm\" type=\"button\">",
116
+ "</button> <button class=\"btn btn-danger btn-sm\" type=\"button\">",
117
+ "</button></td></tr>"
118
+ ];
119
+ var _tmpl$13 = [
120
+ "<input",
121
+ " class=\"input\"",
122
+ ">"
123
+ ];
124
+ var _tmpl$14 = [
125
+ "<div",
126
+ " class=\"wp-source-list\">",
127
+ "</div>"
128
+ ];
129
+ var _tmpl$15 = [
130
+ "<button",
131
+ " type=\"button\" class=\"btn btn-secondary btn-sm\">",
132
+ "</button>"
133
+ ];
134
+ var _tmpl$16 = [
135
+ "<label",
136
+ "><!--$-->",
137
+ "<!--/--><input class=\"input\"",
138
+ " placeholder=\"https://\"></label>"
139
+ ];
140
+ var _tmpl$17 = [
141
+ "<label",
142
+ "><!--$-->",
143
+ "<!--/--><input class=\"input\"",
144
+ "></label>"
145
+ ];
146
+ var _tmpl$18 = [
147
+ "<form",
148
+ " class=\"wp-menu-editor\"><div class=\"wp-menu-editor__top\"><div><button type=\"button\" class=\"btn btn-secondary btn-sm\">← <!--$-->",
149
+ "<!--/--></button><span class=\"wp-eyebrow\">",
150
+ "</span><h3>",
151
+ "</h3></div><div class=\"form-actions\"><button class=\"btn btn-secondary\" type=\"button\">",
152
+ "</button><button class=\"btn btn-primary\" type=\"submit\"",
153
+ ">",
154
+ "</button></div></div><div class=\"wp-menu-editor__identity card\"><label><!--$-->",
155
+ "<!--/--><input class=\"input\" required",
156
+ "></label><label><!--$-->",
157
+ "<!--/--><input class=\"input\"",
158
+ "></label></div><div class=\"wp-menu-editor__columns\"><aside class=\"wp-menu-sources\"><h4>",
159
+ "</h4><!--$-->",
160
+ "<!--/--><!--$-->",
161
+ "<!--/--><!--$-->",
162
+ "<!--/--><!--$-->",
163
+ "<!--/--><!--$-->",
164
+ "<!--/--><!--$-->",
165
+ "<!--/--><!--$-->",
166
+ "<!--/--></aside><main class=\"wp-menu-structure\"><div class=\"wp-structure-heading\"><div><h4>",
167
+ "</h4><p class=\"muted\">",
168
+ "</p></div><span class=\"badge\"><!--$-->",
169
+ "<!--/--> <!--$-->",
170
+ "<!--/--></span></div><!--$-->",
171
+ "<!--/--><section class=\"card wp-menu-settings\"><h4>",
172
+ "</h4><label class=\"checkbox-label\"><input type=\"checkbox\"",
173
+ "> <!--$-->",
174
+ "<!--/--></label><p class=\"muted\">",
175
+ "</p></section></main></div></form>"
176
+ ];
177
+ var _tmpl$19 = [
178
+ "<label",
179
+ " class=\"wp-source-row\"><input type=\"checkbox\"",
180
+ "><span><!--$-->",
181
+ "<!--/--><small>/<!--$-->",
182
+ "<!--/--></small></span></label>"
183
+ ];
184
+ var _tmpl$20 = [
185
+ "<label",
186
+ " class=\"wp-source-row\"><input type=\"checkbox\"",
187
+ "><span><!--$-->",
188
+ "<!--/--><small>/post/<!--$-->",
189
+ "<!--/--></small></span></label>"
190
+ ];
191
+ var _tmpl$21 = [
192
+ "<div",
193
+ " class=\"wp-taxonomy-source\"><strong>",
194
+ "</strong><!--$-->",
195
+ "<!--/--></div>"
196
+ ];
197
+ var _tmpl$22 = [
198
+ "<button",
199
+ " type=\"button\" class=\"wp-source-link\"><!--$-->",
200
+ "<!--/--><small>/<!--$-->",
201
+ "<!--/-->/<!--$-->",
202
+ "<!--/--></small></button>"
203
+ ];
204
+ var _tmpl$23 = [
205
+ "<button",
206
+ " type=\"button\" class=\"wp-source-link\"><!--$-->",
207
+ "<!--/--><small>/<!--$-->",
208
+ "<!--/--></small></button>"
209
+ ];
210
+ var _tmpl$24 = [
211
+ "<div",
212
+ " class=\"wp-menu-empty card\">",
213
+ "</div>"
214
+ ];
215
+ function slugify(value) {
216
+ return value.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-z0-9]+/g, "-").replace(/(^-|-$)/g, "");
217
+ }
218
+ function updateTreeItem(items, id, patch) {
219
+ return items.map((item) => item.id === id ? {
220
+ ...item,
221
+ ...patch
222
+ } : {
223
+ ...item,
224
+ children: updateTreeItem(item.children, id, patch)
225
+ });
226
+ }
227
+ function MenuTree(props) {
228
+ const [dragging, setDragging] = createSignal(null);
229
+ return ssr(_tmpl$2, ssrHydrationKey(), ssrAttribute("data-depth", escape(props.depth ?? 0, true), false), escape(createComponent(For, {
230
+ get each() {
231
+ return props.items;
232
+ },
233
+ children: (item) => ssr(_tmpl$3, ssrHydrationKey(), ssrAttribute("title", escape(props.t("menus.editor.drag"), true), false), escape(item.label || props.t("menus.editor.untitled")), escape(item.url || props.t("menus.editor.noUrl")), ssrAttribute("title", escape(props.t("menus.editor.up"), true), false), ssrAttribute("title", escape(props.t("menus.editor.down"), true), false), ssrAttribute("title", escape(props.t("menus.editor.indent"), true), false), ssrAttribute("title", escape(props.t("menus.editor.outdent"), true), false), escape(props.t("menus.editor.itemSettings")), escape(props.t("menus.editor.navigationLabel")), ssrAttribute("value", escape(item.label, true), false), escape(props.t("menus.editor.url")), ssrAttribute("value", escape(item.url ?? "", true), false), escape(props.t("menus.editor.titleAttribute")), ssrAttribute("value", escape(item.attrTitle ?? "", true), false), escape(props.t("menus.editor.cssClasses")), ssrAttribute("value", escape(item.cssClasses ?? "", true), false), escape(props.t("menus.editor.target")), ssrAttribute("value", escape(item.target ?? "_self", true), false), escape(props.t("menus.editor.sameWindow")), escape(props.t("menus.editor.newWindow")), escape(props.t("menus.editor.xfn")), ssrAttribute("value", escape(item.xfn ?? "", true), false), escape(props.t("menus.editor.description")), ssrAttribute("value", escape(item.description ?? "", true), false), escape(props.t("menus.editor.remove")), escape(createComponent(Show, {
234
+ get when() {
235
+ return item.children.length > 0;
236
+ },
237
+ get children() {
238
+ return createComponent(MenuTree, {
239
+ get items() {
240
+ return item.children;
241
+ },
242
+ get depth() {
243
+ return (props.depth ?? 0) + 1;
244
+ },
245
+ get t() {
246
+ return props.t;
247
+ },
248
+ onChange: (children) => props.onChange(updateTreeItem(props.items, item.id, { children }))
249
+ });
250
+ }
251
+ })))
252
+ })), escape(createComponent(Show, {
253
+ get when() {
254
+ return props.items.length === 0;
255
+ },
256
+ get children() {
257
+ return ssr(_tmpl$, ssrHydrationKey(), escape(props.t("menus.editor.emptyLevel")));
258
+ }
259
+ })));
260
+ }
261
+ function LinkBox(props) {
262
+ return ssr(_tmpl$5, ssrHydrationKey(), ssrAttribute("open", props.open, true), escape(props.title), escape(createComponent(Show, {
263
+ get when() {
264
+ return props.description;
265
+ },
266
+ get children() {
267
+ return ssr(_tmpl$4, ssrHydrationKey(), escape(props.description));
268
+ }
269
+ })), escape(props.children));
270
+ }
271
+ function MenuManager() {
272
+ const { t } = useTranslation();
273
+ const [menus, setMenus] = createSignal([]);
274
+ const [editing, setEditing] = createSignal(null);
275
+ const [pages, setPages] = createSignal([]);
276
+ const [posts, setPosts] = createSignal([]);
277
+ const [customContent, setCustomContent] = createSignal({});
278
+ const [contentTypes, setContentTypes] = createSignal([]);
279
+ const [taxonomies, setTaxonomies] = createSignal([]);
280
+ const [terms, setTerms] = createSignal({});
281
+ const [pageSearch, setPageSearch] = createSignal("");
282
+ const [postSearch, setPostSearch] = createSignal("");
283
+ const [selectedLinks, setSelectedLinks] = createSignal([]);
284
+ const [customUrl, setCustomUrl] = createSignal("");
285
+ const [customLabel, setCustomLabel] = createSignal("");
286
+ const [loading, setLoading] = createSignal(true);
287
+ const [saving, setSaving] = createSignal(false);
288
+ const [error, setError] = createSignal("");
289
+ const [notice, setNotice] = createSignal("");
290
+ const load = async () => {
291
+ setLoading(true);
292
+ setError("");
293
+ try {
294
+ const [hookMenus, pageResult, postResult, types, taxonomyList] = await Promise.all([
295
+ apiClient.getMenus(),
296
+ apiClient.getContent({
297
+ type: "page",
298
+ status: "PUBLISHED",
299
+ limit: 100
300
+ }),
301
+ apiClient.getContent({
302
+ type: "post",
303
+ status: "PUBLISHED",
304
+ limit: 100
305
+ }),
306
+ apiClient.getContentTypes(),
307
+ apiClient.getTaxonomies()
308
+ ]);
309
+ setMenus(hookMenus);
310
+ setPages(pageResult.data);
311
+ setPosts(postResult.data);
312
+ setContentTypes(types);
313
+ setTaxonomies(taxonomyList);
314
+ const customEntries = await Promise.all(types.filter((type) => type.slug !== "page" && type.slug !== "post" && !type.singleton).map(async (type) => [type.slug, (await apiClient.getContent({
315
+ type: type.slug,
316
+ status: "PUBLISHED",
317
+ limit: 100
318
+ })).data]));
319
+ setCustomContent(Object.fromEntries(customEntries));
320
+ const termEntries = await Promise.all(taxonomyList.map(async (taxonomy) => [taxonomy.slug, await apiClient.getTaxonomyTerms(taxonomy.slug)]));
321
+ setTerms(Object.fromEntries(termEntries));
322
+ } catch (err) {
323
+ setError(err instanceof Error ? err.message : String(err));
324
+ } finally {
325
+ setLoading(false);
326
+ }
327
+ };
328
+ onMount(load);
329
+ const update = (patch) => {
330
+ const current = editing();
331
+ if (current) setEditing({
332
+ ...current,
333
+ ...patch
334
+ });
335
+ };
336
+ const filteredPages = createMemo(() => pages().filter((page) => !pageSearch() || `${page.title} ${page.slug}`.toLowerCase().includes(pageSearch().toLowerCase())));
337
+ const filteredPosts = createMemo(() => posts().filter((post) => !postSearch() || `${post.title} ${post.slug}`.toLowerCase().includes(postSearch().toLowerCase())));
338
+ return ssr(_tmpl$8, ssrHydrationKey(), escape(createComponent(Show, {
339
+ get when() {
340
+ return error();
341
+ },
342
+ get children() {
343
+ return ssr(_tmpl$6, ssrHydrationKey(), escape(error()));
344
+ }
345
+ })), escape(createComponent(Show, {
346
+ get when() {
347
+ return notice();
348
+ },
349
+ get children() {
350
+ return ssr(_tmpl$7, ssrHydrationKey(), escape(notice()));
351
+ }
352
+ })), escape(createComponent(Show, {
353
+ get when() {
354
+ return !loading();
355
+ },
356
+ get fallback() {
357
+ return ssr(_tmpl$9, ssrHydrationKey(), escape(t("common.loading")));
358
+ },
359
+ get children() {
360
+ return createComponent(Show, {
361
+ get when() {
362
+ return editing();
363
+ },
364
+ get fallback() {
365
+ return [ssr(_tmpl$0, ssrHydrationKey(), escape(t("menus.hint")), escape(t("menus.new"))), ssr(_tmpl$10, ssrHydrationKey(), escape(createComponent(Show, {
366
+ get when() {
367
+ return menus().length > 0;
368
+ },
369
+ get fallback() {
370
+ return ssr(_tmpl$11, ssrHydrationKey(), escape(t("menus.empty")));
371
+ },
372
+ get children() {
373
+ return ssr(_tmpl$1, ssrHydrationKey(), escape(t("menus.name")), escape(t("menus.slug")), escape(t("menus.items")), escape(createComponent(For, {
374
+ get each() {
375
+ return menus();
376
+ },
377
+ children: (menu) => ssr(_tmpl$12, ssrHydrationKey(), escape(menu.name), escape(menu.slug), escape(menu.items?.length ?? 0), escape(t("common.edit")), escape(t("common.delete")))
378
+ })));
379
+ }
380
+ })))];
381
+ },
382
+ children: (current) => ssr(_tmpl$18, ssrHydrationKey(), escape(t("menus.back")), escape(t("menus.editor.eyebrow")), current().id ? escape(t("menus.edit")) : escape(t("menus.create")), escape(t("common.cancel")), ssrAttribute("disabled", saving(), true), saving() ? escape(t("common.loading")) : escape(t("common.save")), escape(t("menus.name")), ssrAttribute("value", escape(current().name, true), false), escape(t("menus.slug")), ssrAttribute("value", escape(current().slug, true), false) + ssrAttribute("placeholder", escape(slugify(current().name), true), false), escape(t("menus.editor.addItems")), escape(createComponent(LinkBox, {
383
+ get title() {
384
+ return t("menus.sources.pages");
385
+ },
386
+ open: true,
387
+ get children() {
388
+ return [
389
+ ssr(_tmpl$13, ssrHydrationKey(), ssrAttribute("placeholder", escape(t("menus.editor.search"), true), false) + ssrAttribute("value", escape(pageSearch(), true), false)),
390
+ ssr(_tmpl$14, ssrHydrationKey(), escape(createComponent(For, {
391
+ get each() {
392
+ return filteredPages();
393
+ },
394
+ children: (page) => ssr(_tmpl$19, ssrHydrationKey(), ssrAttribute("checked", selectedLinks().includes(`page:${page.id}`), true), escape(page.title), escape(page.slug))
395
+ }))),
396
+ ssr(_tmpl$15, ssrHydrationKey(), escape(t("menus.editor.addSelected")))
397
+ ];
398
+ }
399
+ })), escape(createComponent(LinkBox, {
400
+ get title() {
401
+ return t("menus.sources.posts");
402
+ },
403
+ get children() {
404
+ return [
405
+ ssr(_tmpl$13, ssrHydrationKey(), ssrAttribute("placeholder", escape(t("menus.editor.search"), true), false) + ssrAttribute("value", escape(postSearch(), true), false)),
406
+ ssr(_tmpl$14, ssrHydrationKey(), escape(createComponent(For, {
407
+ get each() {
408
+ return filteredPosts();
409
+ },
410
+ children: (post) => ssr(_tmpl$20, ssrHydrationKey(), ssrAttribute("checked", selectedLinks().includes(`post:${post.id}`), true), escape(post.title), escape(post.slug))
411
+ }))),
412
+ ssr(_tmpl$15, ssrHydrationKey(), escape(t("menus.editor.addSelected")))
413
+ ];
414
+ }
415
+ })), escape(createComponent(LinkBox, {
416
+ get title() {
417
+ return t("menus.sources.contentTypes");
418
+ },
419
+ get children() {
420
+ return createComponent(For, {
421
+ get each() {
422
+ return contentTypes().filter((type) => type.slug !== "page" && type.slug !== "post" && !type.singleton);
423
+ },
424
+ children: (type) => ssr(_tmpl$21, ssrHydrationKey(), escape(type.pluralLabel), escape(createComponent(For, {
425
+ get each() {
426
+ return customContent()[type.slug] ?? [];
427
+ },
428
+ children: (content) => ssr(_tmpl$22, ssrHydrationKey(), escape(content.title), escape(type.slug), escape(content.slug))
429
+ })))
430
+ });
431
+ }
432
+ })), escape(createComponent(LinkBox, {
433
+ get title() {
434
+ return t("menus.sources.custom");
435
+ },
436
+ get description() {
437
+ return t("menus.sources.customHint");
438
+ },
439
+ get children() {
440
+ return [
441
+ ssr(_tmpl$16, ssrHydrationKey(), escape(t("menus.editor.url")), ssrAttribute("value", escape(customUrl(), true), false)),
442
+ ssr(_tmpl$17, ssrHydrationKey(), escape(t("menus.editor.navigationLabel")), ssrAttribute("value", escape(customLabel(), true), false)),
443
+ ssr(_tmpl$15, ssrHydrationKey(), escape(t("menus.editor.addToMenu")))
444
+ ];
445
+ }
446
+ })), escape(createComponent(LinkBox, {
447
+ get title() {
448
+ return t("menus.sources.home");
449
+ },
450
+ get children() {
451
+ return ssr(_tmpl$15, ssrHydrationKey(), escape(t("menus.editor.addToMenu")));
452
+ }
453
+ })), escape(createComponent(LinkBox, {
454
+ get title() {
455
+ return t("menus.sources.archives");
456
+ },
457
+ get children() {
458
+ return ssr(_tmpl$14, ssrHydrationKey(), escape(createComponent(For, {
459
+ get each() {
460
+ return contentTypes().filter((type) => type.hasArchive);
461
+ },
462
+ children: (type) => ssr(_tmpl$23, ssrHydrationKey(), escape(type.pluralLabel), escape(type.slug))
463
+ })));
464
+ }
465
+ })), escape(createComponent(LinkBox, {
466
+ get title() {
467
+ return t("menus.sources.taxonomies");
468
+ },
469
+ get children() {
470
+ return createComponent(For, {
471
+ get each() {
472
+ return taxonomies();
473
+ },
474
+ children: (taxonomy) => ssr(_tmpl$21, ssrHydrationKey(), escape(taxonomy.name), escape(createComponent(For, {
475
+ get each() {
476
+ return terms()[taxonomy.slug] ?? [];
477
+ },
478
+ children: (term) => ssr(_tmpl$22, ssrHydrationKey(), escape(term.name), escape(taxonomy.slug), escape(term.slug))
479
+ })))
480
+ });
481
+ }
482
+ })), escape(t("menus.editor.structure")), escape(t("menus.editor.structureHint")), escape(current().items.length), escape(t("menus.items")), escape(createComponent(Show, {
483
+ get when() {
484
+ return current().items.length > 0;
485
+ },
486
+ get fallback() {
487
+ return ssr(_tmpl$24, ssrHydrationKey(), escape(t("menus.editor.empty")));
488
+ },
489
+ get children() {
490
+ return createComponent(MenuTree, {
491
+ get items() {
492
+ return current().items;
493
+ },
494
+ t,
495
+ onChange: (items) => update({ items })
496
+ });
497
+ }
498
+ })), escape(t("menus.editor.settings")), ssrAttribute("checked", current().settings.autoAddNewPages === true, true), escape(t("menus.editor.autoAddPages")), escape(t("menus.editor.autoAddPagesHint")))
499
+ });
500
+ }
501
+ })));
502
+ }
503
+ //#endregion
504
+ //#region src/pages/menus.astro
505
+ var menus_exports = /* @__PURE__ */ __exportAll({
506
+ default: () => $$Menus,
507
+ file: () => $$file,
508
+ url: () => $$url
509
+ });
510
+ createAstro("https://astro.build");
511
+ var $$Menus = createComponent$1(($$result, $$props, $$slots) => {
512
+ const Astro = $$result.createAstro($$props, $$slots);
513
+ Astro.self = $$Menus;
514
+ const { t } = Astro.locals;
515
+ return renderTemplate`${renderComponent($$result, "DashboardLayout", $$DashboardLayout, {
516
+ "title": t("menus.title"),
517
+ "data-astro-cid-4aaqbbv6": true
518
+ }, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<div class="menus-page" data-astro-cid-4aaqbbv6><div class="page-header" data-astro-cid-4aaqbbv6><h2 data-astro-cid-4aaqbbv6>${t("menus.title")}</h2><p data-astro-cid-4aaqbbv6>${t("menus.description")}</p></div>${renderComponent($$result, "MenuManager", MenuManager, {
519
+ "client:load": true,
520
+ "data-astro-cid-4aaqbbv6": true,
521
+ "client:component-hydration": "load",
522
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/apps/menus/MenuManager.tsx",
523
+ "client:component-export": "MenuManager"
524
+ })}</div>` })}`;
525
+ }, "/home/runner/work/cms/cms/apps/admin/src/pages/menus.astro", void 0);
526
+ var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/menus.astro";
527
+ var $$url = "/menus";
528
+ //#endregion
529
+ //#region \0virtual:astro:page:src/pages/menus@_@astro
530
+ var page = () => menus_exports;
531
+ //#endregion
532
+ export { page };
@@ -1,8 +1,8 @@
1
1
  import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent } from "./compiler_O7J1rlsi.mjs";
4
- import { t as $$DashboardLayout } from "./DashboardLayout_DsYrIyKK.mjs";
5
- import { t as ContentEditor } from "./ContentEditor_Dat_38Nz.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_BXHo9BuG.mjs";
5
+ import { t as ContentEditor } from "./ContentEditor_Dv_mBfuW.mjs";
6
6
  //#region src/pages/content/[type]/new.astro
7
7
  var new_exports = /* @__PURE__ */ __exportAll({
8
8
  default: () => $$New,
@@ -1,8 +1,8 @@
1
1
  import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
4
- import { n as useTranslation, r as apiClient } from "./i18n_BJJWXenY.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_DsYrIyKK.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BgHPm3Sm.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BXHo9BuG.mjs";
6
6
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
7
7
  import { For, Show, createSignal, onMount } from "solid-js";
8
8
  //#region src/components/apps/users/UserCreateForm.tsx
@@ -1,8 +1,8 @@
1
1
  import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
4
- import { n as useTranslation, r as apiClient } from "./i18n_BJJWXenY.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_DsYrIyKK.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BgHPm3Sm.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BXHo9BuG.mjs";
6
6
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
7
7
  import { For, createSignal, onMount } from "solid-js";
8
8
  //#region src/components/apps/plugins/PluginManager.tsx
@@ -1,8 +1,8 @@
1
1
  import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, d as maybeRenderHead, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
4
- import { n as useTranslation, r as apiClient } from "./i18n_BJJWXenY.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_DsYrIyKK.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_BgHPm3Sm.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_BXHo9BuG.mjs";
6
6
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
7
7
  import { For, Show, createMemo, createSignal, onMount } from "solid-js";
8
8
  //#region src/components/apps/settings/PostTypesManager.tsx