@oktis-works/admin 0.13.1 → 0.14.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 (112) hide show
  1. package/dist/client/_astro/{ActivityWidget.CCls_jrK.js → ActivityWidget.DmhtX3Xm.js} +2 -2
  2. package/dist/client/_astro/AdminBar.DKoQ5M3w.js +253 -0
  3. package/dist/client/_astro/ApiKeysManager.BaPrAyqm.js +1 -0
  4. package/dist/client/_astro/{AtGlanceWidget.DPkp-rxl.js → AtGlanceWidget.zlWIhmzI.js} +3 -3
  5. package/dist/client/_astro/{BaseLayout.DAkzjMTq.css → BaseLayout.Cp-O10m_.css} +1 -1
  6. package/dist/client/_astro/CommentsManager.DROGQRli.js +21 -0
  7. package/dist/client/_astro/ContentEditor.ChA5r0aE.js +3 -0
  8. package/dist/client/_astro/ContentEditor.CtCFQb14.js +1 -0
  9. package/dist/client/_astro/ContentTypeWorkspace.Dj9dP14a.js +1 -0
  10. package/dist/client/_astro/DashboardHome.Dn6_pJuX.js +1 -0
  11. package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.D2eyDf2o.js → DashboardLayout.astro_astro_type_script_index_0_lang.NiobGnWg.js} +1 -1
  12. package/dist/client/_astro/FbIcon.Bn4e_qFb.js +1 -0
  13. package/dist/client/_astro/FieldGroupEditor.CiFoYYb2.js +69 -0
  14. package/dist/client/_astro/FieldGroupList.CdN99hvU.js +1 -0
  15. package/dist/client/_astro/FieldRenderer.DYMREsip.js +1 -0
  16. package/dist/client/_astro/FloatingPanel.BetdW5N2.js +1 -0
  17. package/dist/client/_astro/{Footer.JI2Mqd9V.js → Footer.VGpnxqkW.js} +2 -2
  18. package/dist/client/_astro/GeneralSettings.mQ7FyhM-.js +1 -0
  19. package/dist/client/_astro/LogsManager.BUJ7baOa.js +1 -0
  20. package/dist/client/_astro/MediaLibrary.DMvI8KXX.js +1 -0
  21. package/dist/client/_astro/MenuManager._4YgarRt.js +1 -0
  22. package/dist/client/_astro/Modal.DbBPpkbR.js +1 -0
  23. package/dist/client/_astro/{PluginManager.D_E-lPWP.js → PluginManager.BozI4gXB.js} +2 -2
  24. package/dist/client/_astro/PostTypesManager.CifIQbeV.js +1 -0
  25. package/dist/client/_astro/QuickDraftWidget.CsG3_wS2.js +17 -0
  26. package/dist/client/_astro/ResourceHubs.DedTFbiz.js +1 -0
  27. package/dist/client/_astro/TaxonomiesManager.JqBPU1pf.js +1 -0
  28. package/dist/client/_astro/TaxonomyTermsManager.BLGRLt8p.js +1 -0
  29. package/dist/client/_astro/ThemeCustomizer.DrSQPj4W.js +49 -0
  30. package/dist/client/_astro/{ThemeManager.C0TKggfZ.js → ThemeManager.Csu39Xjr.js} +2 -2
  31. package/dist/client/_astro/UserCreateForm.C54wZYbf.js +1 -0
  32. package/dist/client/_astro/UsersManager.BYTWz2I8.js +1 -0
  33. package/dist/client/_astro/WebhooksManager.DeJ_f1Gk.js +1 -0
  34. package/dist/client/_astro/{api.CYg1SW2X.js → api.flUgn70U.js} +1 -1
  35. package/dist/client/_astro/client.ljtU74WL.js +1 -0
  36. package/dist/client/_astro/extensions.DtuT3Phu.js +1 -0
  37. package/dist/client/_astro/i18n.CBexpqud.js +1 -0
  38. package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.F2J3xZhK.js → login.astro_astro_type_script_index_0_lang.COYjmQTY.js} +1 -1
  39. package/dist/client/_astro/preload-helper.oCYlU9a4.js +1 -0
  40. package/dist/client/_astro/pt-BR.DlIhl4_A.js +1 -0
  41. package/dist/client/_astro/solid.Ck4Vtfe4.js +1 -0
  42. package/dist/client/_astro/src.CYKGYEyR.js +1 -0
  43. package/dist/client/_astro/store.CYzqtRKs.js +1 -0
  44. package/dist/client/_astro/web.DD6VKaIp.js +1 -0
  45. package/dist/server/chunks/{404_C9Eokbcv.mjs → 404_BxFvEXYq.mjs} +1 -1
  46. package/dist/server/chunks/{BaseLayout_DgDmTH8p.mjs → BaseLayout_BTzlA_Yr.mjs} +5 -5
  47. package/dist/server/chunks/ContentEditor_DStZ4RZE.mjs +655 -0
  48. package/dist/server/chunks/{DashboardLayout_CrxyUavx.mjs → DashboardLayout_PXoRmnBH.mjs} +354 -91
  49. package/dist/server/chunks/{ContentEditor_VK16JJMh.mjs → FieldRenderer_BlZgS0Im.mjs} +54 -615
  50. package/dist/server/chunks/{MediaLibrary_CZuj5byR.mjs → MediaLibrary_D7vu5VMd.mjs} +2 -2
  51. package/dist/server/chunks/{Modal_BfWFiyry.mjs → Modal_I_mBEOz2.mjs} +1 -1
  52. package/dist/server/chunks/{_id__BYx77RvL.mjs → _id__DFFoFesR.mjs} +5 -4
  53. package/dist/server/chunks/{_slug__CR6t9xra.mjs → _slug__DBH2w1la.mjs} +1 -1
  54. package/dist/server/chunks/{access_Bp3EnO2H.mjs → access_D1rk89Sh.mjs} +3 -3
  55. package/dist/server/chunks/{api-keys_Dt87wCbg.mjs → api-keys_BqhmvOer.mjs} +3 -3
  56. package/dist/server/chunks/comments_D_ta2fip.mjs +208 -0
  57. package/dist/server/chunks/{custom-fields_CC_ZhBpp.mjs → custom-fields_Cl8P-rrK.mjs} +2 -2
  58. package/dist/server/chunks/customize_DgtzmFmz.mjs +233 -0
  59. package/dist/server/chunks/{edit_VYWajKgt.mjs → edit_DTk4qFj5.mjs} +3 -3
  60. package/dist/server/chunks/{general_DtYlpwnZ.mjs → general_B-fEXuQn.mjs} +2 -2
  61. package/dist/server/chunks/{i18n_B-DWAN0e.mjs → i18n_BmAxDr2Q.mjs} +72 -6
  62. package/dist/server/chunks/{index_6a-jaApt.mjs → index_BKjRvOw4.mjs} +111 -62
  63. package/dist/server/chunks/{index_DgVVWosZ.mjs → index_BXnSMGRk.mjs} +2 -2
  64. package/dist/server/chunks/{index_DXmHKYjS.mjs → index_BcVtYp1L.mjs} +2 -2
  65. package/dist/server/chunks/{index_ieyhXCVt.mjs → index_DI8jAAVQ.mjs} +1 -1
  66. package/dist/server/chunks/{index_CDmqkl48.mjs → index_DXsKda1J.mjs} +2 -2
  67. package/dist/server/chunks/{login_DRJNLDt7.mjs → login_BGPEB2l4.mjs} +1 -1
  68. package/dist/server/chunks/{logs_CaMNxV6h.mjs → logs_XjDk7dqi.mjs} +2 -2
  69. package/dist/server/chunks/{menus_BsV0U5D5.mjs → menus_Kqym4CNK.mjs} +2 -2
  70. package/dist/server/chunks/{new_CyBl1PM1.mjs → new_BiikYmvu.mjs} +2 -2
  71. package/dist/server/chunks/{new_BQ2d8AHk.mjs → new_Dnp7PIHP.mjs} +3 -3
  72. package/dist/server/chunks/{plugins_BiaE4So1.mjs → plugins_C6qX0SAE.mjs} +2 -2
  73. package/dist/server/chunks/{post-types_BBKtACUm.mjs → post-types_Dr4t-TYB.mjs} +2 -2
  74. package/dist/server/chunks/{pt-BR_Da5G4GOV.mjs → pt-BR_DH_fNjEo.mjs} +49 -5
  75. package/dist/server/chunks/{taxonomies_gwfTSCOV.mjs → taxonomies_B0YzIdmD.mjs} +2 -2
  76. package/dist/server/chunks/{taxonomy_BKdLzLps.mjs → taxonomy_CCWZ58qQ.mjs} +64 -19
  77. package/dist/server/chunks/{themes_CqOUZiNg.mjs → themes_C7G3LcIz.mjs} +2 -2
  78. package/dist/server/chunks/{upload_keeE9Mn0.mjs → upload_BT3ud_vb.mjs} +2 -2
  79. package/dist/server/chunks/{webhooks_sTUPF0Xn.mjs → webhooks_CWW0L8EK.mjs} +2 -2
  80. package/dist/server/entry.mjs +104 -50
  81. package/dist/server/virtual_astro_middleware.mjs +1 -1
  82. package/package.json +5 -5
  83. package/dist/client/_astro/AdminBar.BW8zYZI3.js +0 -253
  84. package/dist/client/_astro/ApiKeysManager.Cj5tsk4N.js +0 -1
  85. package/dist/client/_astro/ContentEditor.CByEz10Q.js +0 -3
  86. package/dist/client/_astro/ContentEditor.kdYzULib.js +0 -1
  87. package/dist/client/_astro/ContentTypeWorkspace.BMVbiGGy.js +0 -1
  88. package/dist/client/_astro/DashboardHome.BuDu0DuB.js +0 -1
  89. package/dist/client/_astro/FbIcon.CUNS6rpP.js +0 -1
  90. package/dist/client/_astro/FieldGroupEditor.DGjV1n67.js +0 -69
  91. package/dist/client/_astro/FieldGroupList.BJ2TKSgY.js +0 -1
  92. package/dist/client/_astro/FloatingPanel.BeCEt_JP.js +0 -1
  93. package/dist/client/_astro/GeneralSettings.BSObhTfM.js +0 -1
  94. package/dist/client/_astro/LogsManager.B4-BxzoP.js +0 -1
  95. package/dist/client/_astro/MediaLibrary.BHVM3oJh.js +0 -1
  96. package/dist/client/_astro/MenuManager.BAn4_w6-.js +0 -1
  97. package/dist/client/_astro/Modal.BSZ5IjBl.js +0 -1
  98. package/dist/client/_astro/PostTypesManager.BHU1d2ta.js +0 -1
  99. package/dist/client/_astro/QuickDraftWidget.ClSsMYB_.js +0 -17
  100. package/dist/client/_astro/ResourceHubs.C3suqlP0.js +0 -1
  101. package/dist/client/_astro/TaxonomiesManager.BXYUiJEA.js +0 -1
  102. package/dist/client/_astro/TaxonomyTermsManager.obB3lkr3.js +0 -1
  103. package/dist/client/_astro/UserCreateForm.DaIOqr8v.js +0 -1
  104. package/dist/client/_astro/UsersManager.B5zFoWmR.js +0 -1
  105. package/dist/client/_astro/WebhooksManager.BRvVuxLt.js +0 -1
  106. package/dist/client/_astro/client.DU9Dc2oe.js +0 -1
  107. package/dist/client/_astro/extensions.Brl6zAPA.js +0 -1
  108. package/dist/client/_astro/i18n.vdBFsiPK.js +0 -1
  109. package/dist/client/_astro/pt-BR.CKJnipDe.js +0 -1
  110. package/dist/client/_astro/solid.D49dPDCT.js +0 -1
  111. package/dist/client/_astro/src.DXVWCoHp.js +0 -1
  112. package/dist/client/_astro/web.Bqbl_1YR.js +0 -1
@@ -1,22 +1,22 @@
1
1
  import "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, d as maybeRenderHead, i as renderComponent, p as addAttribute, s as renderSlot, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
4
- import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_DgDmTH8p.mjs";
5
- import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./i18n_B-DWAN0e.mjs";
4
+ import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_BTzlA_Yr.mjs";
5
+ import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./i18n_BmAxDr2Q.mjs";
6
6
  import { t as require_semver } from "./semver_WbqCUY_o.mjs";
7
- import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey, ssrStyle } from "solid-js/web";
8
- import { For, For as For2, Show, Show as Show2, createEffect, createMemo as createMemo$1, createSignal, createSignal as createSignal$1, onCleanup, onMount, onMount as onMount$1 } from "solid-js";
7
+ import { Dynamic, createComponent, escape, memo, mergeProps, ssr, ssrAttribute, ssrHydrationKey, ssrStyle, ssrStyleProperty } from "solid-js/web";
8
+ import { For, For as For2, Match, Show, Show as Show2, Switch, createEffect, createMemo as createMemo$1, createSignal, createSignal as createSignal$1, onCleanup, onMount, onMount as onMount$1 } from "solid-js";
9
9
  require_semver();
10
10
  //#endregion
11
11
  //#region ../../packages/ui/dist/server.js
12
12
  var _tmpl$$7 = ["<span", " class=\"spinner\" aria-label=\"Carregando\"></span>"];
13
- var _tmpl$2$6 = [
13
+ var _tmpl$2$5 = [
14
14
  "<button",
15
15
  "",
16
16
  ">",
17
17
  "</button>"
18
18
  ];
19
- var _tmpl$3$4 = [
19
+ var _tmpl$3$5 = [
20
20
  "<label",
21
21
  " class=\"field__label\"><!--$-->",
22
22
  "<!--/--><!--$-->",
@@ -25,32 +25,32 @@ var _tmpl$3$4 = [
25
25
  "",
26
26
  "></label>"
27
27
  ];
28
- var _tmpl$4$4 = [
28
+ var _tmpl$4$5 = [
29
29
  "<input",
30
30
  " class=\"input\"",
31
31
  "",
32
32
  "",
33
33
  ">"
34
34
  ];
35
- var _tmpl$5$3 = [
35
+ var _tmpl$5$4 = [
36
36
  "<p",
37
37
  " class=\"field__error notice--error\">",
38
38
  "</p>"
39
39
  ];
40
- var _tmpl$6$3 = [
40
+ var _tmpl$6$4 = [
41
41
  "<div",
42
42
  "><!--$-->",
43
43
  "<!--/--><!--$-->",
44
44
  "<!--/--><!--$-->",
45
45
  "<!--/--></div>"
46
46
  ];
47
- var _tmpl$7$2 = ["<span", " aria-hidden=\"true\"> *</span>"];
48
- var _tmpl$8$2 = [
47
+ var _tmpl$7$3 = ["<span", " aria-hidden=\"true\"> *</span>"];
48
+ var _tmpl$8$3 = [
49
49
  "<option",
50
50
  " value>",
51
51
  "</option>"
52
52
  ];
53
- var _tmpl$9$1 = [
53
+ var _tmpl$9$2 = [
54
54
  "<label",
55
55
  " class=\"field__label\"><!--$-->",
56
56
  "<!--/--><select class=\"input\"",
@@ -59,7 +59,7 @@ var _tmpl$9$1 = [
59
59
  "<!--/--><!--$-->",
60
60
  "<!--/--></select></label>"
61
61
  ];
62
- var _tmpl$0$1 = [
62
+ var _tmpl$0$2 = [
63
63
  "<select",
64
64
  " class=\"input\"",
65
65
  "",
@@ -67,23 +67,23 @@ var _tmpl$0$1 = [
67
67
  "<!--/--><!--$-->",
68
68
  "<!--/--></select>"
69
69
  ];
70
- var _tmpl$1$1 = [
70
+ var _tmpl$1$2 = [
71
71
  "<div",
72
72
  "><!--$-->",
73
73
  "<!--/--><!--$-->",
74
74
  "<!--/--></div>"
75
75
  ];
76
- var _tmpl$10 = [
76
+ var _tmpl$10$1 = [
77
77
  "<option",
78
78
  ">",
79
79
  "</option>"
80
80
  ];
81
- var _tmpl$11 = [
81
+ var _tmpl$11$1 = [
82
82
  "<div",
83
83
  " class=\"card-header\"><h3>",
84
84
  "</h3></div>"
85
85
  ];
86
- var _tmpl$12 = [
86
+ var _tmpl$12$1 = [
87
87
  "<span",
88
88
  " class=\"",
89
89
  "\">",
@@ -146,7 +146,7 @@ function Button(props) {
146
146
  props.size === "sm" ? "btn-sm" : "",
147
147
  props.class ?? ""
148
148
  ].filter(Boolean).join(" ");
149
- return ssr(_tmpl$2$6, ssrHydrationKey() + ssrAttribute("type", escape(props.type ?? "button", true), false) + ssrAttribute("class", escape(classes(), true), false), ssrAttribute("disabled", props.disabled || props.loading, true), escape(createComponent(Show, {
149
+ return ssr(_tmpl$2$5, ssrHydrationKey() + ssrAttribute("type", escape(props.type ?? "button", true), false) + ssrAttribute("class", escape(classes(), true), false), ssrAttribute("disabled", props.disabled || props.loading, true), escape(createComponent(Show, {
150
150
  get when() {
151
151
  return props.loading;
152
152
  },
@@ -159,46 +159,46 @@ function Button(props) {
159
159
  })));
160
160
  }
161
161
  function Input(props) {
162
- return ssr(_tmpl$6$3, ssrHydrationKey() + ssrAttribute("class", escape(`field ${props.class ?? ""}`.trim(), true), false), escape(createComponent(Show, {
162
+ return ssr(_tmpl$6$4, ssrHydrationKey() + ssrAttribute("class", escape(`field ${props.class ?? ""}`.trim(), true), false), escape(createComponent(Show, {
163
163
  get when() {
164
164
  return props.label;
165
165
  },
166
166
  get children() {
167
- return ssr(_tmpl$3$4, ssrHydrationKey(), escape(props.label), props.required ? _tmpl$7$2[0] + ssrHydrationKey() + _tmpl$7$2[1] : escape(null), ssrAttribute("type", escape(props.type ?? "text", true), false) + ssrAttribute("name", escape(props.name, true), false) + ssrAttribute("value", escape(props.value ?? "", true), false) + ssrAttribute("placeholder", escape(props.placeholder, true), false), ssrAttribute("disabled", props.disabled, true), ssrAttribute("required", props.required, true));
167
+ return ssr(_tmpl$3$5, ssrHydrationKey(), escape(props.label), props.required ? _tmpl$7$3[0] + ssrHydrationKey() + _tmpl$7$3[1] : escape(null), ssrAttribute("type", escape(props.type ?? "text", true), false) + ssrAttribute("name", escape(props.name, true), false) + ssrAttribute("value", escape(props.value ?? "", true), false) + ssrAttribute("placeholder", escape(props.placeholder, true), false), ssrAttribute("disabled", props.disabled, true), ssrAttribute("required", props.required, true));
168
168
  }
169
169
  })), escape(createComponent(Show, {
170
170
  get when() {
171
171
  return !props.label;
172
172
  },
173
173
  get children() {
174
- return ssr(_tmpl$4$4, ssrHydrationKey(), ssrAttribute("type", escape(props.type ?? "text", true), false) + ssrAttribute("name", escape(props.name, true), false) + ssrAttribute("value", escape(props.value ?? "", true), false) + ssrAttribute("placeholder", escape(props.placeholder, true), false), ssrAttribute("disabled", props.disabled, true), ssrAttribute("required", props.required, true));
174
+ return ssr(_tmpl$4$5, ssrHydrationKey(), ssrAttribute("type", escape(props.type ?? "text", true), false) + ssrAttribute("name", escape(props.name, true), false) + ssrAttribute("value", escape(props.value ?? "", true), false) + ssrAttribute("placeholder", escape(props.placeholder, true), false), ssrAttribute("disabled", props.disabled, true), ssrAttribute("required", props.required, true));
175
175
  }
176
176
  })), escape(createComponent(Show, {
177
177
  get when() {
178
178
  return props.error;
179
179
  },
180
180
  get children() {
181
- return ssr(_tmpl$5$3, ssrHydrationKey(), escape(props.error));
181
+ return ssr(_tmpl$5$4, ssrHydrationKey(), escape(props.error));
182
182
  }
183
183
  })));
184
184
  }
185
185
  function Select(props) {
186
186
  const options = props.options;
187
- return ssr(_tmpl$1$1, ssrHydrationKey() + ssrAttribute("class", escape(`field ${props.class ?? ""}`.trim(), true), false), escape(createComponent(Show, {
187
+ return ssr(_tmpl$1$2, ssrHydrationKey() + ssrAttribute("class", escape(`field ${props.class ?? ""}`.trim(), true), false), escape(createComponent(Show, {
188
188
  get when() {
189
189
  return props.label;
190
190
  },
191
191
  get children() {
192
- return ssr(_tmpl$9$1, ssrHydrationKey(), escape(props.label), ssrAttribute("name", escape(props.name, true), false) + ssrAttribute("value", escape(props.value ?? "", true), false), ssrAttribute("disabled", props.disabled, true), escape(createComponent(Show, {
192
+ return ssr(_tmpl$9$2, ssrHydrationKey(), escape(props.label), ssrAttribute("name", escape(props.name, true), false) + ssrAttribute("value", escape(props.value ?? "", true), false), ssrAttribute("disabled", props.disabled, true), escape(createComponent(Show, {
193
193
  get when() {
194
194
  return props.placeholder;
195
195
  },
196
196
  get children() {
197
- return ssr(_tmpl$8$2, ssrHydrationKey(), escape(props.placeholder));
197
+ return ssr(_tmpl$8$3, ssrHydrationKey(), escape(props.placeholder));
198
198
  }
199
199
  })), escape(createComponent(For, {
200
200
  each: options,
201
- children: (option) => ssr(_tmpl$10, ssrHydrationKey() + ssrAttribute("value", escape(option.value, true), false), escape(option.label))
201
+ children: (option) => ssr(_tmpl$10$1, ssrHydrationKey() + ssrAttribute("value", escape(option.value, true), false), escape(option.label))
202
202
  })));
203
203
  }
204
204
  })), escape(createComponent(Show, {
@@ -206,33 +206,33 @@ function Select(props) {
206
206
  return !props.label;
207
207
  },
208
208
  get children() {
209
- return ssr(_tmpl$0$1, ssrHydrationKey(), ssrAttribute("name", escape(props.name, true), false) + ssrAttribute("value", escape(props.value ?? "", true), false), ssrAttribute("disabled", props.disabled, true), escape(createComponent(Show, {
209
+ return ssr(_tmpl$0$2, ssrHydrationKey(), ssrAttribute("name", escape(props.name, true), false) + ssrAttribute("value", escape(props.value ?? "", true), false), ssrAttribute("disabled", props.disabled, true), escape(createComponent(Show, {
210
210
  get when() {
211
211
  return props.placeholder;
212
212
  },
213
213
  get children() {
214
- return ssr(_tmpl$8$2, ssrHydrationKey(), escape(props.placeholder));
214
+ return ssr(_tmpl$8$3, ssrHydrationKey(), escape(props.placeholder));
215
215
  }
216
216
  })), escape(createComponent(For, {
217
217
  each: options,
218
- children: (option) => ssr(_tmpl$10, ssrHydrationKey() + ssrAttribute("value", escape(option.value, true), false), escape(option.label))
218
+ children: (option) => ssr(_tmpl$10$1, ssrHydrationKey() + ssrAttribute("value", escape(option.value, true), false), escape(option.label))
219
219
  })));
220
220
  }
221
221
  })));
222
222
  }
223
223
  function Card(props) {
224
- return ssr(_tmpl$1$1, ssrHydrationKey() + ssrAttribute("class", escape(`card ${props.class ?? ""}`.trim(), true), false), escape(createComponent(Show, {
224
+ return ssr(_tmpl$1$2, ssrHydrationKey() + ssrAttribute("class", escape(`card ${props.class ?? ""}`.trim(), true), false), escape(createComponent(Show, {
225
225
  get when() {
226
226
  return props.title;
227
227
  },
228
228
  get children() {
229
- return ssr(_tmpl$11, ssrHydrationKey(), escape(props.title));
229
+ return ssr(_tmpl$11$1, ssrHydrationKey(), escape(props.title));
230
230
  }
231
231
  })), escape(props.children));
232
232
  }
233
233
  function Badge(props) {
234
234
  const variant = props.variant ?? "secondary";
235
- return ssr(_tmpl$12, ssrHydrationKey(), `badge badge-${escape(variant, true)}`, escape(props.children));
235
+ return ssr(_tmpl$12$1, ssrHydrationKey(), `badge badge-${escape(variant, true)}`, escape(props.children));
236
236
  }
237
237
  function Modal(props) {
238
238
  const handleKeyDown = (event) => {
@@ -313,19 +313,166 @@ function Pagination(props) {
313
313
  });
314
314
  }
315
315
  //#endregion
316
- //#region src/ext/slots.jsx
316
+ //#region src/ext/slots.tsx
317
317
  var _tmpl$$6 = [
318
- "<a",
319
- " href=\"",
318
+ "<span",
319
+ " class=\"muted\"",
320
+ ">…</span>"
321
+ ];
322
+ var _tmpl$2$4 = [
323
+ "<span",
324
+ " class=\"muted\"",
325
+ ">⚙ <!--$-->",
326
+ "<!--/--></span>"
327
+ ];
328
+ var _tmpl$3$4 = [
329
+ "<div",
330
+ " class=\"sidebar__submenu\">",
331
+ "</div>"
332
+ ];
333
+ var _tmpl$4$4 = [
334
+ "<div",
335
+ " class=\"sidebar-plugins__group\"",
336
+ "><a href=\"",
320
337
  "\" class=\"sidebar__link\"><!--$-->",
321
338
  "<!--/--> <!--$-->",
322
- "<!--/--></a>"
339
+ "<!--/--></a><!--$-->",
340
+ "<!--/--></div>"
323
341
  ];
324
- var _tmpl$2$5 = [
342
+ var _tmpl$5$3 = [
325
343
  "<span",
326
344
  " aria-hidden=\"true\">",
327
345
  "</span>"
328
346
  ];
347
+ var _tmpl$6$3 = [
348
+ "<a",
349
+ " href=\"",
350
+ "\" class=\"sidebar__link sidebar__link--sub\">",
351
+ "</a>"
352
+ ];
353
+ var _tmpl$7$2 = [
354
+ "<div",
355
+ " class=\"dashboard-widgets\">",
356
+ "</div>"
357
+ ];
358
+ var _tmpl$8$2 = [
359
+ "<div",
360
+ " class=\"card widget\"",
361
+ " style=\"",
362
+ "\"><h3 class=\"stat-label\">",
363
+ "</h3><div",
364
+ ">",
365
+ "</div></div>"
366
+ ];
367
+ var _tmpl$9$1 = [
368
+ "<div",
369
+ " class=\"notices\" role=\"status\" aria-live=\"polite\">",
370
+ "</div>"
371
+ ];
372
+ var _tmpl$0$1 = ["<button", " type=\"button\" class=\"notice__close\" aria-label=\"Dispensar\">×</button>"];
373
+ var _tmpl$1$1 = [
374
+ "<div",
375
+ " class=\"",
376
+ "\"",
377
+ "><span>",
378
+ "</span><!--$-->",
379
+ "<!--/--></div>"
380
+ ];
381
+ var _tmpl$10 = [
382
+ "<div",
383
+ " class=\"metabox card\"",
384
+ "><h3 class=\"metabox__title\">",
385
+ "</h3><div class=\"metabox__body\"",
386
+ ">",
387
+ "</div></div>"
388
+ ];
389
+ var _tmpl$11 = [
390
+ "<div",
391
+ " class=\"action-links\">",
392
+ "</div>"
393
+ ];
394
+ var _tmpl$12 = [
395
+ "<a",
396
+ " class=\"action-link\">",
397
+ "</a>"
398
+ ];
399
+ /**
400
+ * Resolve o componentId declarado num caminho de import dinâmico (alias Vite
401
+ * `@/plugins/` aponta para a raiz dos plugins; o componente vive em
402
+ * `admin/components/`):
403
+ * - `plugin:Componente` → `@/plugins/plugin/admin/components/Componente.tsx`
404
+ * - `plugin:admin/components/X.tsx` → `@/plugins/plugin/admin/components/X.tsx`
405
+ * - `@/plugins/...` (caminho completo) → usado como está
406
+ * - `plugin` explícito tem prioridade sobre o prefixo do componentId.
407
+ */
408
+ function resolvePluginComponentPath(componentId, plugin) {
409
+ if (componentId.startsWith("@/")) return componentId;
410
+ const separator = componentId.indexOf(":");
411
+ if (separator === -1) {
412
+ const owner = plugin ?? "";
413
+ const relative = componentId.replace(/^\/+/, "");
414
+ return owner ? `@/plugins/${owner}/${relative}` : componentId;
415
+ }
416
+ const owner = plugin ?? componentId.slice(0, separator);
417
+ const rest = componentId.slice(separator + 1);
418
+ if (rest.startsWith("@/")) return rest;
419
+ if (rest.includes("/")) return `@/plugins/${owner}/${rest.replace(/^\/+/, "")}`;
420
+ return `@/plugins/${owner}/admin/components/${rest}.tsx`;
421
+ }
422
+ /**
423
+ * Monta um componente de plugin via import dinâmico (lazy — chunk separado).
424
+ * Erro de load vira fallback visível com o componentId (nunca derruba a slot);
425
+ * `extraProps` são repassados ao componente (ex.: `row` para células de coluna).
426
+ */
427
+ function PluginComponentHost(props) {
428
+ const [Component, setComponent] = createSignal(null);
429
+ const [error, setError] = createSignal(null);
430
+ const [loading, setLoading] = createSignal(true);
431
+ onMount(async () => {
432
+ try {
433
+ const module = await import(
434
+ /* @vite-ignore */
435
+ resolvePluginComponentPath(props.componentId, props.plugin)
436
+ );
437
+ const candidate = module["default"] ?? Object.values(module).find((value) => typeof value === "function");
438
+ if (!candidate) throw new Error("componente default ausente no módulo");
439
+ setComponent(() => candidate);
440
+ } catch (err) {
441
+ console.warn(`[PluginComponentHost] falha ao carregar ${props.componentId}:`, err);
442
+ setError(err instanceof Error ? err.message : String(err));
443
+ } finally {
444
+ setLoading(false);
445
+ }
446
+ });
447
+ return createComponent(Switch, { get children() {
448
+ return [
449
+ createComponent(Match, {
450
+ get when() {
451
+ return loading();
452
+ },
453
+ get children() {
454
+ return ssr(_tmpl$$6, ssrHydrationKey(), ssrAttribute("data-plugin-component-loading", escape(props.componentId, true), false));
455
+ }
456
+ }),
457
+ createComponent(Match, {
458
+ get when() {
459
+ return error() || !Component();
460
+ },
461
+ get children() {
462
+ return ssr(_tmpl$2$4, ssrHydrationKey(), ssrAttribute("data-plugin-component-error", escape(props.componentId, true), false) + ssrAttribute("title", escape(error() ?? "", true), false), escape(props.componentId));
463
+ }
464
+ }),
465
+ createComponent(Match, {
466
+ when: true,
467
+ get children() {
468
+ return createComponent(Dynamic, mergeProps({ get component() {
469
+ return Component();
470
+ } }, () => props.extraProps ?? {}));
471
+ }
472
+ })
473
+ ];
474
+ } });
475
+ }
329
476
  /**
330
477
  * Slots nomeados consumidos pelo shell do admin.
331
478
  * Plugins registram extensões via SDK; o admin apenas renderiza
@@ -333,28 +480,108 @@ var _tmpl$2$5 = [
333
480
  */
334
481
  function AdminSidebarSlot(props) {
335
482
  const allowedPages = () => props.extensions.menuPages.filter((page) => props.can(page.capability ?? "read"));
483
+ const submenuFor = (parentSlug) => props.extensions.submenuPages.filter((page) => page.parentSlug === parentSlug).filter((page) => props.can(page.capability ?? "read")).sort((a, b) => (a.position ?? 0) - (b.position ?? 0));
336
484
  return createComponent(For, {
337
485
  get each() {
338
486
  return allowedPages();
339
487
  },
340
- children: (page) => ssr(_tmpl$$6, ssrHydrationKey(), `/plugins/${escape(page.slug, true)}`, page.icon ? ssr(_tmpl$2$5, ssrHydrationKey(), escape(page.icon)) : escape(null), escape(page.label))
488
+ children: (page) => ssr(_tmpl$4$4, ssrHydrationKey(), ssrAttribute("data-plugin-menu", escape(page.slug, true), false), `/plugins/${escape(page.slug, true)}`, page.icon ? ssr(_tmpl$5$3, ssrHydrationKey(), escape(page.icon)) : escape(null), escape(page.label), escape(createComponent(Show, {
489
+ get when() {
490
+ return submenuFor(page.slug).length > 0;
491
+ },
492
+ get children() {
493
+ return ssr(_tmpl$3$4, ssrHydrationKey(), escape(createComponent(For, {
494
+ get each() {
495
+ return submenuFor(page.slug);
496
+ },
497
+ children: (submenu) => ssr(_tmpl$6$3, ssrHydrationKey(), `/plugins/${escape(submenu.slug, true)}`, escape(submenu.label))
498
+ })));
499
+ }
500
+ })))
501
+ });
502
+ }
503
+ function DashboardWidgetsSlot(props) {
504
+ return createComponent(Show, {
505
+ get when() {
506
+ return props.extensions.dashboardWidgets.length > 0;
507
+ },
508
+ get children() {
509
+ return ssr(_tmpl$7$2, ssrHydrationKey(), escape(createComponent(For, {
510
+ get each() {
511
+ return props.extensions.dashboardWidgets;
512
+ },
513
+ children: (widget) => {
514
+ const pluginName = widget.componentId.split(":")[0] ?? widget.id.split(":")[0] ?? "unknown";
515
+ return ssr(_tmpl$8$2, ssrHydrationKey(), ssrAttribute("data-widget-id", escape(widget.id, true), false) + ssrAttribute("data-plugin", escape(pluginName, true), false), ssrStyleProperty("grid-column:", `span ${escape(widget.columnsSpan ?? 1, true)}`), escape(widget.title), ssrAttribute("data-plugin-component", escape(widget.componentId, true), false) + ssrAttribute("data-plugin", escape(pluginName, true), false), escape(createComponent(PluginComponentHost, {
516
+ get componentId() {
517
+ return widget.componentId;
518
+ },
519
+ plugin: pluginName
520
+ })));
521
+ }
522
+ })));
523
+ }
524
+ });
525
+ }
526
+ function NoticesSlot(props) {
527
+ return ssr(_tmpl$9$1, ssrHydrationKey(), escape(createComponent(For, {
528
+ get each() {
529
+ return props.extensions.notices;
530
+ },
531
+ children: (notice) => {
532
+ const pluginName = notice.id.split(":")[0] ?? "unknown";
533
+ return ssr(_tmpl$1$1, ssrHydrationKey(), `notice notice--${escape(notice.level, true)}`, ssrAttribute("data-plugin", escape(pluginName, true), false), escape(notice.message), escape(createComponent(Show, {
534
+ get when() {
535
+ return memo(() => notice.dismissible !== false)() && props.onDismiss;
536
+ },
537
+ get children() {
538
+ return ssr(_tmpl$0$1, ssrHydrationKey());
539
+ }
540
+ })));
541
+ }
542
+ })));
543
+ }
544
+ function MetaBoxesSlot(props) {
545
+ const boxes = () => props.extensions.metaBoxes.filter((box) => box.screens.includes(props.screen) && box.context === props.context).sort((a, b) => {
546
+ const order = {
547
+ high: 0,
548
+ default: 1,
549
+ low: 2
550
+ };
551
+ return order[a.priority] - order[b.priority];
552
+ });
553
+ return createComponent(For, {
554
+ get each() {
555
+ return boxes();
556
+ },
557
+ children: (box) => {
558
+ const pluginName = box.componentId.split(":")[0] ?? box.id.split(":")[0] ?? "unknown";
559
+ return ssr(_tmpl$10, ssrHydrationKey(), ssrAttribute("data-metabox-id", escape(box.id, true), false) + ssrAttribute("data-plugin", escape(pluginName, true), false), escape(box.title), ssrAttribute("data-plugin-component", escape(box.componentId, true), false) + ssrAttribute("data-plugin", escape(pluginName, true), false), escape(createComponent(PluginComponentHost, {
560
+ get componentId() {
561
+ return box.componentId;
562
+ },
563
+ plugin: pluginName
564
+ })));
565
+ }
566
+ });
567
+ }
568
+ function ActionLinksSlot(props) {
569
+ return createComponent(Show, {
570
+ get when() {
571
+ return props.extensions.actionLinks.length > 0;
572
+ },
573
+ get children() {
574
+ return ssr(_tmpl$11, ssrHydrationKey(), escape(createComponent(For, {
575
+ get each() {
576
+ return props.extensions.actionLinks;
577
+ },
578
+ children: (link) => ssr(_tmpl$12, ssrHydrationKey() + ssrAttribute("href", escape(link.url, true), false), escape(link.label))
579
+ })));
580
+ }
341
581
  });
342
582
  }
343
583
  //#endregion
344
- //#region src/ext/extensions.jsx
345
- var _tmpl$$5 = [
346
- "<div",
347
- " class=\"sidebar-plugins\" data-extensions=\"sidebar\"><!--$-->",
348
- "<!--/--><!--$-->",
349
- "<!--/--></div>"
350
- ];
351
- var _tmpl$2$4 = [
352
- "<div",
353
- " class=\"",
354
- "\"",
355
- "><span>",
356
- "</span></div>"
357
- ];
584
+ //#region src/ext/store.ts
358
585
  function emptyExtensionsState() {
359
586
  return {
360
587
  menuPages: [],
@@ -364,54 +591,66 @@ function emptyExtensionsState() {
364
591
  notices: [],
365
592
  columns: {},
366
593
  columnRenderers: {},
367
- actionLinks: []
594
+ actionLinks: [],
595
+ editors: []
368
596
  };
369
597
  }
370
- /** Converte as rows de plugins (API) no estado declarativo dos slots. */
371
- function extensionsFromPlugins(plugins) {
372
- const state = emptyExtensionsState();
373
- for (const plugin of plugins) {
374
- if (plugin.status !== "ACTIVE" && plugin.status !== "ACTIVATED") continue;
375
- const admin = plugin.manifest?.admin;
376
- if (!admin) continue;
377
- const pluginSlug = plugin.slug ?? plugin.name;
378
- state.menuPages.push(...admin.menuPages?.map((page) => ({
379
- ...page,
380
- slug: page.slug.startsWith(`${pluginSlug}/`) ? page.slug : `${pluginSlug}/${page.slug}`
381
- })) ?? []);
382
- state.dashboardWidgets.push(...admin.dashboardWidgets?.map((widget) => ({
383
- ...widget,
384
- id: widget.id.includes(":") ? widget.id : `${pluginSlug}:${widget.id}`,
385
- componentId: widget.componentId.includes(":") ? widget.componentId : `${pluginSlug}:${widget.componentId}`
386
- })) ?? []);
387
- state.notices.push(...admin.notices?.map((notice) => ({
388
- ...notice,
389
- id: notice.id.includes(":") ? notice.id : `${pluginSlug}:${notice.id}`
390
- })) ?? []);
598
+ var [extensions, setExtensions] = createSignal(emptyExtensionsState());
599
+ var pending = null;
600
+ var prefetchedChunks = /* @__PURE__ */ new Set();
601
+ function prefetchPluginChunks(state) {
602
+ const schedule = typeof window !== "undefined" && typeof window.requestIdleCallback === "function" ? (cb) => window.requestIdleCallback(() => cb()) : (cb) => setTimeout(cb, 1);
603
+ const componentIds = [
604
+ ...state.dashboardWidgets.map((widget) => widget.componentId),
605
+ ...state.metaBoxes.map((box) => box.componentId),
606
+ ...state.editors.map((editor) => editor.componentId),
607
+ ...Object.values(state.columnRenderers).flatMap((renderers) => Object.values(renderers))
608
+ ];
609
+ for (const componentId of componentIds) {
610
+ if (!componentId || prefetchedChunks.has(componentId)) continue;
611
+ prefetchedChunks.add(componentId);
612
+ schedule(() => {
613
+ import(
614
+ /* @vite-ignore */
615
+ resolvePluginComponentPath(componentId)
616
+ ).catch(() => {});
617
+ });
391
618
  }
392
- return state;
393
619
  }
394
- /** Ilha client-side: busca plugins → AdminExtensionsState → slots. */
620
+ /**
621
+ * Ensures the load (memoized — one call per page even with several islands).
622
+ * Never rejects: an error becomes the empty state.
623
+ */
624
+ function loadExtensions() {
625
+ if (!pending) pending = apiClient.getAdminExtensions().then((state) => {
626
+ setExtensions(state);
627
+ prefetchPluginChunks(state);
628
+ }).catch(() => {});
629
+ return pending.then(() => extensions());
630
+ }
631
+ //#endregion
632
+ //#region src/ext/extensions.tsx
633
+ var _tmpl$$5 = [
634
+ "<div",
635
+ " class=\"sidebar-plugins\" data-extensions=\"sidebar\"><!--$-->",
636
+ "<!--/--><!--$-->",
637
+ "<!--/--></div>"
638
+ ];
639
+ /** Ilha da sidebar: páginas/subpáginas de menu + notices. */
395
640
  function PluginExtensionsSlot() {
396
641
  const [extensions, setExtensions] = createSignal$1(emptyExtensionsState());
397
642
  onMount$1(async () => {
398
- try {
399
- const plugins = await apiClient.getPlugins();
400
- setExtensions(extensionsFromPlugins(plugins));
401
- } catch {}
643
+ setExtensions(await loadExtensions());
402
644
  });
403
645
  const can = () => true;
404
646
  return createComponent(Show2, {
405
647
  get when() {
406
- return extensions().menuPages.length > 0;
648
+ return extensions().menuPages.length > 0 || extensions().notices.length > 0;
407
649
  },
408
650
  get children() {
409
- return ssr(_tmpl$$5, ssrHydrationKey(), escape(createComponent(For2, {
410
- get each() {
411
- return extensions().notices;
412
- },
413
- children: (notice) => ssr(_tmpl$2$4, ssrHydrationKey(), `notice notice--${escape(notice.level, true)}`, ssrAttribute("data-plugin", escape(notice.id.split(":")[0], true), false), escape(notice.message))
414
- })), escape(createComponent(AdminSidebarSlot, {
651
+ return ssr(_tmpl$$5, ssrHydrationKey(), escape(createComponent(NoticesSlot, { get extensions() {
652
+ return extensions();
653
+ } })), escape(createComponent(AdminSidebarSlot, {
415
654
  get extensions() {
416
655
  return extensions();
417
656
  },
@@ -420,6 +659,23 @@ function PluginExtensionsSlot() {
420
659
  }
421
660
  });
422
661
  }
662
+ /** Ilha dos widgets de dashboard (área de widgets do DashboardLayout). */
663
+ function PluginDashboardWidgetsSlot() {
664
+ const [extensions, setExtensions] = createSignal$1(emptyExtensionsState());
665
+ onMount$1(async () => {
666
+ setExtensions(await loadExtensions());
667
+ });
668
+ return createComponent(Show2, {
669
+ get when() {
670
+ return extensions().dashboardWidgets.length > 0;
671
+ },
672
+ get children() {
673
+ return createComponent(DashboardWidgetsSlot, { get extensions() {
674
+ return extensions();
675
+ } });
676
+ }
677
+ });
678
+ }
423
679
  //#endregion
424
680
  //#region src/components/admin-bar/AdminBar.jsx
425
681
  var _tmpl$$4 = ["<style", ">\n #admin-bar {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 46px;\n background: #0A0A0A;\n border-bottom: 1px solid #333;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 1rem;\n z-index: 2000;\n font-family: inherit;\n }\n #admin-bar * { box-sizing: border-box; }\n .admin-bar-left, .admin-bar-right {\n display: flex;\n align-items: center;\n gap: 1rem;\n }\n .admin-bar-brand {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n color: #FAF5E8;\n font-weight: 600;\n font-size: 1.125rem;\n text-decoration: none;\n padding: 0.375rem 0.75rem;\n border-radius: 0.375rem;\n transition: background 0.15s;\n }\n .admin-bar-brand:hover {\n background: rgba(255,255,255,0.08);\n }\n .admin-bar-brand img { height: 28px; width: auto; display: block; }\n .admin-bar-separator { width: 1px; height: 24px; background: #333; }\n .admin-bar-menu { display: flex; gap: 0.25rem; }\n .admin-bar-menu-item {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.375rem 0.75rem;\n color: rgba(255,255,255,0.7);\n font-size: 0.8125rem;\n font-weight: 500;\n border-radius: 0.375rem;\n text-decoration: none;\n transition: all 0.15s;\n }\n .admin-bar-menu-item:hover {\n background: rgba(255,255,255,0.1);\n color: #fff;\n }\n .admin-bar-menu-item svg { width: 18px; height: 18px; }\n .admin-bar-right { gap: 0.75rem; }\n .notifications-btn {\n position: relative;\n background: none;\n border: none;\n color: rgba(255,255,255,0.7);\n padding: 0.375rem;\n border-radius: 0.375rem;\n cursor: pointer;\n transition: all 0.15s;\n }\n .notifications-btn:hover { background: rgba(255,255,255,0.1); color: #fff; }\n .notifications-badge {\n position: absolute;\n top: 2px;\n right: 2px;\n min-width: 16px;\n height: 16px;\n background: #EF4444;\n color: #fff;\n font-size: 0.625rem;\n font-weight: 600;\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 4px;\n }\n .notifications-dropdown { position: relative; }\n .lang-dropdown {\n position: relative;\n display: flex;\n align-items: center;\n }\n .lang-dropdown > .notifications-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.4rem;\n min-height: 32px;\n line-height: 1;\n white-space: nowrap;\n }\n .notifications-panel {\n position: absolute;\n top: calc(100% + 0.5rem);\n right: 0;\n min-width: 280px;\n max-width: 90vw;\n background: #FFFFFF;\n border: 1px solid #DCDCDE;\n border-radius: 0.5rem;\n box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);\n z-index: 2100;\n overflow: hidden;\n animation: slideIn 0.15s ease-out;\n }\n .notifications-header {\n padding: 0.75rem 1rem;\n font-size: 0.6875rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: #646970;\n border-bottom: 1px solid #DCDCDE;\n }\n .notifications-item {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n padding: 0.625rem 1rem;\n border-bottom: 1px solid #F6F7F7;\n }\n .notifications-item:last-child { border-bottom: none; }\n .notifications-action {\n font-size: 0.8125rem;\n font-weight: 600;\n color: #2C3338;\n font-family: ui-monospace, SFMono-Regular, monospace;\n word-break: break-word;\n }\n .notifications-meta {\n display: flex;\n justify-content: space-between;\n gap: 0.75rem;\n font-size: 0.6875rem;\n color: #646970;\n }\n .notifications-empty { padding: 1rem; margin: 0; font-size: 0.8125rem; color: #646970; }\n .user-menu-trigger {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background: none;\n border: none;\n color: #fff;\n padding: 0.375rem 0.75rem;\n border-radius: 0.375rem;\n cursor: pointer;\n font-size: 0.8125rem;\n font-weight: 500;\n transition: background 0.15s;\n }\n .user-menu-trigger:hover { background: rgba(255,255,255,0.1); }\n .user-avatar {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: linear-gradient(135deg, #D8B45E 0%, #B99542 100%);\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 600;\n font-size: 0.875rem;\n color: #0A0A0A;\n }\n .user-menu-dropdown {\n position: absolute;\n top: calc(100% + 0.5rem);\n right: 0;\n min-width: 200px;\n background: #FFFFFF;\n border: 1px solid #DCDCDE;\n border-radius: 0.5rem;\n box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);\n z-index: 2100;\n overflow: hidden;\n animation: slideIn 0.15s ease-out;\n }\n @keyframes slideIn { from { opacity: 0; transform: translateY(-0.5rem); } to { opacity: 1; transform: translateY(0); } }\n .user-menu-header {\n padding: 1rem;\n border-bottom: 1px solid #DCDCDE;\n }\n .user-menu-name { font-weight: 600; color: #0A0A0A; font-size: 0.875rem; }\n .user-menu-email { color: #646970; font-size: 0.75rem; margin-top: 0.125rem; }\n .user-menu-divider { height: 1px; background: #DCDCDE; }\n .user-menu-item {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n padding: 0.625rem 1rem;\n background: none;\n border: none;\n color: #2C3338;\n font-size: 0.8125rem;\n font-weight: 500;\n text-align: left;\n cursor: pointer;\n transition: background 0.15s;\n }\n .user-menu-item:hover { background: #F6F7F7; }\n .user-menu-item svg { width: 18px; height: 18px; color: #646970; }\n .user-menu-item.danger { color: #EF4444; }\n .user-menu-item.danger:hover { background: #FEF2F2; }\n .lang-menu-dropdown {\n position: absolute;\n top: calc(100% + 0.5rem);\n right: 0;\n min-width: 192px;\n max-height: min(18rem, calc(100vh - 3.5rem));\n background: #FFFFFF;\n border: 1px solid #DCDCDE;\n border-radius: 0.5rem;\n box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);\n z-index: 2100;\n overflow-x: hidden;\n overflow-y: auto;\n overscroll-behavior: contain;\n scrollbar-gutter: stable;\n animation: slideIn 0.15s ease-out;\n }\n @keyframes slideIn { from { opacity: 0; transform: translateY(-0.5rem); } to { opacity: 1; transform: translateY(0); } }\n .lang-menu-item {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n padding: 0.625rem 1rem;\n background: none;\n border: none;\n color: #2C3338;\n font-size: 0.8125rem;\n font-weight: 500;\n text-align: left;\n cursor: pointer;\n min-height: 36px;\n }\n .lang-menu-item:hover { background: #F6F7F7; }\n .lang-menu-item.active { background: #FAF5E8; color: #B99542; font-weight: 600; }\n .lang-menu-item .flag { font-size: 1rem; }\n @media (max-width: 782px) {\n .admin-bar-menu { display: none; }\n }\n </style>"];
@@ -955,7 +1211,9 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
955
1211
  menus: isActive("/menus"),
956
1212
  settings: isActive("/settings"),
957
1213
  plugins: isActive("/plugins"),
958
- themes: isActive("/themes")
1214
+ themes: isActive("/themes"),
1215
+ customize: isActive("/customize"),
1216
+ comments: isActive("/comments")
959
1217
  };
960
1218
  const settingsChildren = [
961
1219
  {
@@ -1008,10 +1266,10 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
1008
1266
  "client:component-hydration": "load",
1009
1267
  "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/admin-bar/AdminBar.jsx",
1010
1268
  "client:component-export": "AdminBar"
1011
- })}${maybeRenderHead($$result)}<div class="layout"${addAttribute(sessionState, "data-session-state")}><div class="dashboard-body"><!-- Sidebar colapsavel — o estado (body.sidebar-collapsed) e aplicado pelo script abaixo --><aside class="sidebar"><div class="sidebar-header"><span class="sidebar-collapsed-brand"${addAttribute(t("layout.appName"), "title")}><img src="/logo.svg" width="28" height="28" alt=""></span></div><nav class="sidebar-nav"><a href="/"${addAttribute(["nav-item", { active: navActive.dashboard }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg><span class="nav-label" data-sidebar-i18n="layout.nav.dashboard">${t("layout.nav.dashboard")}</span></a><div data-post-types-menu></div><a href="/media"${addAttribute(["nav-item", { active: navActive.media }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg><span class="nav-label" data-sidebar-i18n="layout.nav.media">${t("layout.nav.media")}</span></a><a href="/users"${addAttribute(["nav-item", { active: navActive.users }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg><span class="nav-label" data-sidebar-i18n="layout.nav.users">${t("layout.nav.users")}</span></a><a href="/menus"${addAttribute(["nav-item", { active: navActive.menus }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg><span class="nav-label" data-sidebar-i18n="layout.nav.menus">${t("layout.nav.menus")}</span></a><div${addAttribute(["nav-group", { open: navActive.settings }], "class:list")} data-nav-group="settings"><div class="nav-group-header"><a href="/settings/general"${addAttribute(["nav-item", { active: navActive.settings }], "class:list")}><svg class="settings-nav-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.38a2 2 0 0 0-.73-2.73l-.15-.09a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 0-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06-.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1.82-.33l-.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0-2.83l-.06-.06a1.65 1.65 0 0 0-.33-1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg><span class="nav-label" data-sidebar-i18n="layout.nav.settings">${t("layout.nav.settings")}</span></a></div><!-- Submenu de configurações fica agrupado diretamente sob Settings. --><div class="nav-submenu">${settingsChildren.map((child) => renderTemplate`<a${addAttribute(child.href, "href")}${addAttribute(["nav-subitem", { active: child.active }], "class:list")}${addAttribute(child.key, "data-sidebar-i18n")}>${t(child.key)}</a>`)}</div></div><a href="/plugins"${addAttribute(["nav-item", { active: navActive.plugins }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="2" ry="2"></rect><path d="M15 7h4a2 2 0 0 1 2 2v4"></path><path d="M9 17H5a2 2 0 0 1-2-2V9"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg><span class="nav-label" data-sidebar-i18n="layout.nav.plugins">${t("layout.nav.plugins")}</span></a><a href="/themes"${addAttribute(["nav-item", { active: navActive.themes }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path><path d="M2 12h20"></path></svg><span class="nav-label" data-sidebar-i18n="layout.nav.themes">${t("layout.nav.themes")}</span></a><!-- D1: slots de extensao — paginas de menu declaradas por plugins ativos -->${renderComponent($$result, "PluginExtensionsSlot", PluginExtensionsSlot, {
1269
+ })}${maybeRenderHead($$result)}<div class="layout"${addAttribute(sessionState, "data-session-state")}><div class="dashboard-body"><!-- Sidebar colapsavel — o estado (body.sidebar-collapsed) e aplicado pelo script abaixo --><aside class="sidebar"><div class="sidebar-header"><span class="sidebar-collapsed-brand"${addAttribute(t("layout.appName"), "title")}><img src="/logo.svg" width="28" height="28" alt=""></span></div><nav class="sidebar-nav"><a href="/"${addAttribute(["nav-item", { active: navActive.dashboard }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg><span class="nav-label" data-sidebar-i18n="layout.nav.dashboard">${t("layout.nav.dashboard")}</span></a><div data-post-types-menu></div><a href="/media"${addAttribute(["nav-item", { active: navActive.media }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg><span class="nav-label" data-sidebar-i18n="layout.nav.media">${t("layout.nav.media")}</span></a><a href="/users"${addAttribute(["nav-item", { active: navActive.users }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg><span class="nav-label" data-sidebar-i18n="layout.nav.users">${t("layout.nav.users")}</span></a><a href="/menus"${addAttribute(["nav-item", { active: navActive.menus }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="8" y1="6" x2="21" y2="6"></line><line x1="8" y1="12" x2="21" y2="12"></line><line x1="8" y1="18" x2="21" y2="18"></line><line x1="3" y1="6" x2="3.01" y2="6"></line><line x1="3" y1="12" x2="3.01" y2="12"></line><line x1="3" y1="18" x2="3.01" y2="18"></line></svg><span class="nav-label" data-sidebar-i18n="layout.nav.menus">${t("layout.nav.menus")}</span></a><div${addAttribute(["nav-group", { open: navActive.settings }], "class:list")} data-nav-group="settings"><div class="nav-group-header"><a href="/settings/general"${addAttribute(["nav-item", { active: navActive.settings }], "class:list")}><svg class="settings-nav-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.38a2 2 0 0 0-.73-2.73l-.15-.09a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 0-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"></path><circle cx="12" cy="12" r="3"></circle></svg><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06-.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1.82-.33l-.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0-2.83l-.06-.06a1.65 1.65 0 0 0-.33-1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg><span class="nav-label" data-sidebar-i18n="layout.nav.settings">${t("layout.nav.settings")}</span></a></div><!-- Submenu de configurações fica agrupado diretamente sob Settings. --><div class="nav-submenu">${settingsChildren.map((child) => renderTemplate`<a${addAttribute(child.href, "href")}${addAttribute(["nav-subitem", { active: child.active }], "class:list")}${addAttribute(child.key, "data-sidebar-i18n")}>${t(child.key)}</a>`)}</div></div><a href="/plugins"${addAttribute(["nav-item", { active: navActive.plugins }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="2" ry="2"></rect><path d="M15 7h4a2 2 0 0 1 2 2v4"></path><path d="M9 17H5a2 2 0 0 1-2-2V9"></path><line x1="8" y1="12" x2="16" y2="12"></line></svg><span class="nav-label" data-sidebar-i18n="layout.nav.plugins">${t("layout.nav.plugins")}</span></a><a href="/themes"${addAttribute(["nav-item", { active: navActive.themes }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path><path d="M2 12h20"></path></svg><span class="nav-label" data-sidebar-i18n="layout.nav.themes">${t("layout.nav.themes")}</span></a><a href="/customize"${addAttribute(["nav-item", { active: navActive.customize }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"></path><path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"></path></svg><span class="nav-label" data-sidebar-i18n="layout.nav.customize">${t("layout.nav.customize")}</span></a><a href="/comments"${addAttribute(["nav-item", { active: navActive.comments }], "class:list")}><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg><span class="nav-label" data-sidebar-i18n="layout.nav.comments">${t("layout.nav.comments")}</span></a><!-- D1: slots de extensao — paginas de menu declaradas por plugins ativos -->${renderComponent($$result, "PluginExtensionsSlot", PluginExtensionsSlot, {
1012
1270
  "client:load": true,
1013
1271
  "client:component-hydration": "load",
1014
- "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/ext/extensions.jsx",
1272
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/ext/extensions.tsx",
1015
1273
  "client:component-export": "PluginExtensionsSlot"
1016
1274
  })}</nav></aside><main class="main-content"><div class="content-wrapper"><div class="content">${renderSlot($$result, $$slots["default"])}<!-- Dashboard Widgets (only on dashboard page) -->${pathname === "/" && renderTemplate`<div class="dashboard-widgets-area"><div class="dashboard-widgets-grid">${renderComponent($$result, "AtGlanceWidget", AtGlanceWidget, {
1017
1275
  "client:load": true,
@@ -1028,6 +1286,11 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
1028
1286
  "client:component-hydration": "load",
1029
1287
  "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/dashboard-widgets/ActivityWidget.jsx",
1030
1288
  "client:component-export": "ActivityWidget"
1289
+ })}${renderComponent($$result, "PluginDashboardWidgetsSlot", PluginDashboardWidgetsSlot, {
1290
+ "client:load": true,
1291
+ "client:component-hydration": "load",
1292
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/ext/extensions.tsx",
1293
+ "client:component-export": "PluginDashboardWidgetsSlot"
1031
1294
  })}</div></div>`}</div></div></main></div><!-- Footer global: faixa independente com a largura total da viewport. -->${renderComponent($$result, "Footer", Footer, {
1032
1295
  "client:load": true,
1033
1296
  "client:component-hydration": "load",
@@ -1036,4 +1299,4 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
1036
1299
  })}</div>` })}${renderScript($$result, "/home/runner/work/cms/cms/apps/admin/src/layouts/DashboardLayout.astro?astro&type=script&index=0&lang.ts")}`;
1037
1300
  }, "/home/runner/work/cms/cms/apps/admin/src/layouts/DashboardLayout.astro", void 0);
1038
1301
  //#endregion
1039
- export { For2 as a, Pagination as c, Table as d, createMemo$1 as f, Card as i, Select as l, onMount$1 as m, Badge as n, Input as o, createSignal$1 as p, Button as r, Modal as s, $$DashboardLayout as t, Show2 as u };
1302
+ export { createMemo$1 as _, MetaBoxesSlot as a, Button as c, Input as d, Modal as f, Table as g, Show2 as h, ActionLinksSlot as i, Card as l, Select as m, emptyExtensionsState as n, PluginComponentHost as o, Pagination as p, loadExtensions as r, Badge as s, $$DashboardLayout as t, For2 as u, createSignal$1 as v, onMount$1 as y };