@oktis-works/admin 0.13.1 → 0.15.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.
- package/dist/client/_astro/{ActivityWidget.CCls_jrK.js → ActivityWidget.CedrZ3yN.js} +2 -2
- package/dist/client/_astro/AdminBar.CkfSUzJJ.js +253 -0
- package/dist/client/_astro/ApiKeysManager.ChCtr3J2.js +1 -0
- package/dist/client/_astro/{AtGlanceWidget.DPkp-rxl.js → AtGlanceWidget.DMrAc7qb.js} +3 -3
- package/dist/client/_astro/{BaseLayout.DAkzjMTq.css → BaseLayout.Cp-O10m_.css} +1 -1
- package/dist/client/_astro/CommentsManager.CtiI8mwU.js +21 -0
- package/dist/client/_astro/ContentEditor.BQTSumnU.js +1 -0
- package/dist/client/_astro/ContentEditor.Bl295osh.js +3 -0
- package/dist/client/_astro/ContentTypeWorkspace.xZAsn-ok.js +1 -0
- package/dist/client/_astro/DashboardHome.B7PYDcS1.js +1 -0
- package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.D2eyDf2o.js → DashboardLayout.astro_astro_type_script_index_0_lang.BFY8jBwE.js} +1 -1
- package/dist/client/_astro/FbIcon.Bn4e_qFb.js +1 -0
- package/dist/client/_astro/FieldGroupEditor.BsV0u51p.js +69 -0
- package/dist/client/_astro/FieldGroupList.CXyFKdsR.js +1 -0
- package/dist/client/_astro/FieldRenderer.2TxRD88c.js +1 -0
- package/dist/client/_astro/FloatingPanel.BetdW5N2.js +1 -0
- package/dist/client/_astro/{Footer.JI2Mqd9V.js → Footer.BKD9_ctB.js} +2 -2
- package/dist/client/_astro/GeneralSettings.Di8ILdOl.js +1 -0
- package/dist/client/_astro/LogsManager.WBGR0Ci2.js +1 -0
- package/dist/client/_astro/MediaLibrary.B5ozN2R7.js +1 -0
- package/dist/client/_astro/MenuManager.9UORktNs.js +1 -0
- package/dist/client/_astro/Modal.CPaZJlDP.js +1 -0
- package/dist/client/_astro/PluginManager._RYLLtJI.js +112 -0
- package/dist/client/_astro/PostTypesManager.B6dDnCOy.js +1 -0
- package/dist/client/_astro/QuickDraftWidget.DCVYrBPm.js +17 -0
- package/dist/client/_astro/ResourceHubs.Cd0KB4Rx.js +1 -0
- package/dist/client/_astro/TaxonomiesManager.9I03xqrR.js +1 -0
- package/dist/client/_astro/TaxonomyTermsManager.btLVdHr-.js +1 -0
- package/dist/client/_astro/ThemeCustomizer.CXg9hm9t.js +49 -0
- package/dist/client/_astro/ThemeManager.BfQh8JJa.js +144 -0
- package/dist/client/_astro/UserCreateForm.BAd11jYs.js +1 -0
- package/dist/client/_astro/UsersManager.gkehfvoP.js +1 -0
- package/dist/client/_astro/WebhooksManager.BCilUaGs.js +1 -0
- package/dist/client/_astro/{api.CYg1SW2X.js → api.B03e8F6d.js} +1 -1
- package/dist/client/_astro/client.ljtU74WL.js +1 -0
- package/dist/client/_astro/extensions.EzvpwBZm.js +1 -0
- package/dist/client/_astro/i18n.LMZI7jyc.js +1 -0
- package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.F2J3xZhK.js → login.astro_astro_type_script_index_0_lang.BUOUZuDy.js} +1 -1
- package/dist/client/_astro/preload-helper.oCYlU9a4.js +1 -0
- package/dist/client/_astro/pt-BR.CfJP86YC.js +1 -0
- package/dist/client/_astro/solid.Ck4Vtfe4.js +1 -0
- package/dist/client/_astro/src.CYKGYEyR.js +1 -0
- package/dist/client/_astro/store.DJjOMYcw.js +1 -0
- package/dist/client/_astro/web.DD6VKaIp.js +1 -0
- package/dist/server/chunks/{404_C9Eokbcv.mjs → 404_CIlW8Cz9.mjs} +1 -1
- package/dist/server/chunks/{BaseLayout_DgDmTH8p.mjs → BaseLayout_DdN9Gl3i.mjs} +5 -5
- package/dist/server/chunks/ContentEditor_GenRIOIJ.mjs +655 -0
- package/dist/server/chunks/{DashboardLayout_CrxyUavx.mjs → DashboardLayout_BY4AqWC6.mjs} +354 -91
- package/dist/server/chunks/{ContentEditor_VK16JJMh.mjs → FieldRenderer_pM3Tq7vY.mjs} +54 -615
- package/dist/server/chunks/{MediaLibrary_CZuj5byR.mjs → MediaLibrary_woj8kWSK.mjs} +2 -2
- package/dist/server/chunks/{Modal_BfWFiyry.mjs → Modal_BQZlVP1o.mjs} +1 -1
- package/dist/server/chunks/{_id__BYx77RvL.mjs → _id__CIrIQBGk.mjs} +5 -4
- package/dist/server/chunks/{_slug__CR6t9xra.mjs → _slug__DP5cppSD.mjs} +1 -1
- package/dist/server/chunks/{access_Bp3EnO2H.mjs → access_Cr1RkoC8.mjs} +3 -3
- package/dist/server/chunks/{api-keys_Dt87wCbg.mjs → api-keys_DxCfUQiR.mjs} +3 -3
- package/dist/server/chunks/comments_CDCO_DTQ.mjs +208 -0
- package/dist/server/chunks/{custom-fields_CC_ZhBpp.mjs → custom-fields_DUby1Cd7.mjs} +2 -2
- package/dist/server/chunks/customize_DITLWxTB.mjs +233 -0
- package/dist/server/chunks/{edit_VYWajKgt.mjs → edit_6xBPrb1J.mjs} +3 -3
- package/dist/server/chunks/{general_DtYlpwnZ.mjs → general_CA6aT6cZ.mjs} +2 -2
- package/dist/server/chunks/{i18n_B-DWAN0e.mjs → i18n_BBVOgA0q.mjs} +75 -36
- package/dist/server/chunks/{index_CDmqkl48.mjs → index_1C4PfYEy.mjs} +2 -2
- package/dist/server/chunks/{index_ieyhXCVt.mjs → index_CO2SvpwW.mjs} +1 -1
- package/dist/server/chunks/{index_DXmHKYjS.mjs → index_Cn92C8CO.mjs} +2 -2
- package/dist/server/chunks/{index_6a-jaApt.mjs → index_D2ypKpAG.mjs} +111 -62
- package/dist/server/chunks/{index_DgVVWosZ.mjs → index_D_AiNQGl.mjs} +2 -2
- package/dist/server/chunks/{login_DRJNLDt7.mjs → login_vyj4WhBt.mjs} +1 -1
- package/dist/server/chunks/{logs_CaMNxV6h.mjs → logs_BjuW-do3.mjs} +2 -2
- package/dist/server/chunks/{menus_BsV0U5D5.mjs → menus_CPi_m-b8.mjs} +2 -2
- package/dist/server/chunks/{new_BQ2d8AHk.mjs → new_BlENJv6A.mjs} +3 -3
- package/dist/server/chunks/{new_CyBl1PM1.mjs → new_D_pNdD5e.mjs} +2 -2
- package/dist/server/chunks/plugins_sYgOSowJ.mjs +150 -0
- package/dist/server/chunks/{post-types_BBKtACUm.mjs → post-types_Bm8olePm.mjs} +2 -2
- package/dist/server/chunks/{pt-BR_Da5G4GOV.mjs → pt-BR_DYDMLZu_.mjs} +53 -24
- package/dist/server/chunks/{taxonomies_gwfTSCOV.mjs → taxonomies_DbsqX_QZ.mjs} +2 -2
- package/dist/server/chunks/{taxonomy_BKdLzLps.mjs → taxonomy_ByKdjp9j.mjs} +64 -19
- package/dist/server/chunks/{themes_CqOUZiNg.mjs → themes_BKAM_crI.mjs} +27 -129
- package/dist/server/chunks/{upload_keeE9Mn0.mjs → upload_CE4Lbc1u.mjs} +2 -2
- package/dist/server/chunks/{webhooks_sTUPF0Xn.mjs → webhooks_CpruP30e.mjs} +2 -2
- package/dist/server/entry.mjs +104 -50
- package/dist/server/virtual_astro_middleware.mjs +1 -1
- package/package.json +5 -5
- package/dist/client/_astro/AdminBar.BW8zYZI3.js +0 -253
- package/dist/client/_astro/ApiKeysManager.Cj5tsk4N.js +0 -1
- package/dist/client/_astro/ContentEditor.CByEz10Q.js +0 -3
- package/dist/client/_astro/ContentEditor.kdYzULib.js +0 -1
- package/dist/client/_astro/ContentTypeWorkspace.BMVbiGGy.js +0 -1
- package/dist/client/_astro/DashboardHome.BuDu0DuB.js +0 -1
- package/dist/client/_astro/FbIcon.CUNS6rpP.js +0 -1
- package/dist/client/_astro/FieldGroupEditor.DGjV1n67.js +0 -69
- package/dist/client/_astro/FieldGroupList.BJ2TKSgY.js +0 -1
- package/dist/client/_astro/FloatingPanel.BeCEt_JP.js +0 -1
- package/dist/client/_astro/GeneralSettings.BSObhTfM.js +0 -1
- package/dist/client/_astro/LogsManager.B4-BxzoP.js +0 -1
- package/dist/client/_astro/MediaLibrary.BHVM3oJh.js +0 -1
- package/dist/client/_astro/MenuManager.BAn4_w6-.js +0 -1
- package/dist/client/_astro/Modal.BSZ5IjBl.js +0 -1
- package/dist/client/_astro/PluginManager.D_E-lPWP.js +0 -136
- package/dist/client/_astro/PostTypesManager.BHU1d2ta.js +0 -1
- package/dist/client/_astro/QuickDraftWidget.ClSsMYB_.js +0 -17
- package/dist/client/_astro/ResourceHubs.C3suqlP0.js +0 -1
- package/dist/client/_astro/TaxonomiesManager.BXYUiJEA.js +0 -1
- package/dist/client/_astro/TaxonomyTermsManager.obB3lkr3.js +0 -1
- package/dist/client/_astro/ThemeManager.C0TKggfZ.js +0 -176
- package/dist/client/_astro/UserCreateForm.DaIOqr8v.js +0 -1
- package/dist/client/_astro/UsersManager.B5zFoWmR.js +0 -1
- package/dist/client/_astro/WebhooksManager.BRvVuxLt.js +0 -1
- package/dist/client/_astro/client.DU9Dc2oe.js +0 -1
- package/dist/client/_astro/extensions.Brl6zAPA.js +0 -1
- package/dist/client/_astro/i18n.vdBFsiPK.js +0 -1
- package/dist/client/_astro/pt-BR.CKJnipDe.js +0 -1
- package/dist/client/_astro/solid.D49dPDCT.js +0 -1
- package/dist/client/_astro/src.DXVWCoHp.js +0 -1
- package/dist/client/_astro/web.Bqbl_1YR.js +0 -1
- package/dist/server/chunks/plugins_BiaE4So1.mjs +0 -179
|
@@ -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 "./
|
|
5
|
-
import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./
|
|
4
|
+
import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_DdN9Gl3i.mjs";
|
|
5
|
+
import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./i18n_BBVOgA0q.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$
|
|
13
|
+
var _tmpl$2$5 = [
|
|
14
14
|
"<button",
|
|
15
15
|
"",
|
|
16
16
|
">",
|
|
17
17
|
"</button>"
|
|
18
18
|
];
|
|
19
|
-
var _tmpl$3$
|
|
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$
|
|
28
|
+
var _tmpl$4$5 = [
|
|
29
29
|
"<input",
|
|
30
30
|
" class=\"input\"",
|
|
31
31
|
"",
|
|
32
32
|
"",
|
|
33
33
|
">"
|
|
34
34
|
];
|
|
35
|
-
var _tmpl$5$
|
|
35
|
+
var _tmpl$5$4 = [
|
|
36
36
|
"<p",
|
|
37
37
|
" class=\"field__error notice--error\">",
|
|
38
38
|
"</p>"
|
|
39
39
|
];
|
|
40
|
-
var _tmpl$6$
|
|
40
|
+
var _tmpl$6$4 = [
|
|
41
41
|
"<div",
|
|
42
42
|
"><!--$-->",
|
|
43
43
|
"<!--/--><!--$-->",
|
|
44
44
|
"<!--/--><!--$-->",
|
|
45
45
|
"<!--/--></div>"
|
|
46
46
|
];
|
|
47
|
-
var _tmpl$7$
|
|
48
|
-
var _tmpl$8$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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.
|
|
316
|
+
//#region src/ext/slots.tsx
|
|
317
317
|
var _tmpl$$6 = [
|
|
318
|
-
"<
|
|
319
|
-
"
|
|
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$
|
|
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
|
|
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/
|
|
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
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
state.
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
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
|
-
/**
|
|
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
|
-
|
|
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(
|
|
410
|
-
|
|
411
|
-
|
|
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.
|
|
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 {
|
|
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 };
|