@oktis-works/admin 0.8.8 → 0.10.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 (123) hide show
  1. package/dist/client/_astro/ActivityWidget.ChQWOeJC.js +16 -0
  2. package/dist/client/_astro/{AdminBar.5-l0PBZz.js → AdminBar.Dt8_nO1o.js} +2 -2
  3. package/dist/client/_astro/{AtGlanceWidget.B5ytZ8mp.js → AtGlanceWidget.NFubs9y9.js} +3 -3
  4. package/dist/client/_astro/BaseLayout.DAkzjMTq.css +1 -0
  5. package/dist/client/_astro/ContentEditor.CV3dhbjt.js +1 -0
  6. package/dist/client/_astro/{ContentEditor.CQ2OYPHn.js → ContentEditor.DfL_lpMd.js} +2 -2
  7. package/dist/client/_astro/{ContentTypeWorkspace.CdsUQQfa.js → ContentTypeWorkspace.BitHXXxQ.js} +1 -1
  8. package/dist/client/_astro/{DashboardHome.BYOWl94l.js → DashboardHome.Bc3UoI13.js} +1 -1
  9. package/dist/client/_astro/DashboardLayout.DM3iZCrw.css +1 -0
  10. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.CzpgSZHu.js +1 -0
  11. package/dist/client/_astro/FbIcon.CUNS6rpP.js +1 -0
  12. package/dist/client/_astro/FieldGroupEditor.DZI2aKIV.js +69 -0
  13. package/dist/client/_astro/FieldGroupList.Jz2ScLbc.js +1 -0
  14. package/dist/client/_astro/FloatingPanel.BeCEt_JP.js +1 -0
  15. package/dist/client/_astro/{Footer.CnuW-fOP.js → Footer.CoQHbtro.js} +2 -2
  16. package/dist/client/_astro/GeneralSettings.CE_IKxIn.js +1 -0
  17. package/dist/client/_astro/LogsManager.BQUduS0g.js +1 -0
  18. package/dist/client/_astro/MediaLibrary.Bt-NcHbG.js +1 -0
  19. package/dist/client/_astro/{MenuManager.Bl_gpt5T.js → MenuManager.D4NmoaFw.js} +1 -1
  20. package/dist/client/_astro/{PluginManager.ClpQA_a-.js → PluginManager.BlNWs5RU.js} +2 -2
  21. package/dist/client/_astro/PostTypesManager.BKcoZ1gF.js +1 -0
  22. package/dist/client/_astro/{QuickDraftWidget.Gjzwimmf.js → QuickDraftWidget.CRQ7FmTm.js} +2 -2
  23. package/dist/client/_astro/ResourceHubs.Dz0u_gL5.js +1 -0
  24. package/dist/client/_astro/TaxonomiesManager.BZZ626v_.js +1 -0
  25. package/dist/client/_astro/TaxonomyTermsManager.CxXNNf5j.js +1 -0
  26. package/dist/client/_astro/ThemeManager.DzbQaPu4.js +176 -0
  27. package/dist/client/_astro/UserCreateForm.DL04jrgd.js +1 -0
  28. package/dist/client/_astro/{UsersManager.GrlsCN-n.js → UsersManager.DGQJqlbN.js} +1 -1
  29. package/dist/client/_astro/WebhooksManager.DACLOiX1.js +1 -0
  30. package/dist/client/_astro/api.CNp-a9Z3.js +1 -0
  31. package/dist/client/_astro/{ar.9BcNkJMI.js → ar.BeEmOTlL.js} +1 -1
  32. package/dist/client/_astro/client.DU9Dc2oe.js +1 -0
  33. package/dist/client/_astro/{es-ES.DgqDFCmG.js → es-ES.C0DI0CK6.js} +1 -1
  34. package/dist/client/_astro/extensions.BWDpAUyI.js +1 -0
  35. package/dist/client/_astro/{he.11dIJHQw.js → he.RF4swhtn.js} +1 -1
  36. package/dist/client/_astro/i18n.DCpVFQAZ.js +1 -0
  37. package/dist/client/_astro/{it.yCdgk3Xj.js → it.DhCR9YsW.js} +1 -1
  38. package/dist/client/_astro/{ja.BIm7Hwe_.js → ja.DPrxHQvU.js} +1 -1
  39. package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.D7pjn1zG.js → login.astro_astro_type_script_index_0_lang.Dni6a5dD.js} +1 -1
  40. package/dist/client/_astro/{pl.dUwrcITB.js → pl.6VCoPa7y.js} +1 -1
  41. package/dist/client/_astro/pt-BR.BpKbXMEZ.js +1 -0
  42. package/dist/client/_astro/{ru.lmDiQaSu.js → ru.Cv0Z6X2y.js} +1 -1
  43. package/dist/client/_astro/solid.D49dPDCT.js +1 -0
  44. package/dist/client/_astro/{src.BJaHBCQK.js → src.DXVWCoHp.js} +1 -1
  45. package/dist/client/_astro/{sw._qHdoFbp.js → sw.BBMIgY-Y.js} +1 -1
  46. package/dist/client/_astro/{tr.Do-lr98T.js → tr.BWEmWhCE.js} +1 -1
  47. package/dist/client/_astro/{uk.DTUX-N1c.js → uk.DDXJXOmn.js} +1 -1
  48. package/dist/client/_astro/web.Bqbl_1YR.js +1 -0
  49. package/dist/client/_astro/{yo.BIYG0J7I.js → yo.DNoEBLJd.js} +1 -1
  50. package/dist/client/_astro/{zh-CN.C7Iod1E1.js → zh-CN.CVKBB6Ky.js} +1 -1
  51. package/dist/server/chunks/404_CfM6kYWd.mjs +56 -0
  52. package/dist/server/chunks/{BaseLayout_DAvxa2_1.mjs → BaseLayout_DTOkhEmH.mjs} +1 -1
  53. package/dist/server/chunks/{ContentEditor_GY92E-dL.mjs → ContentEditor_D3N5qDZK.mjs} +2 -2
  54. package/dist/server/chunks/{DashboardLayout_U7BSt4BY.mjs → DashboardLayout_CidaIIqh.mjs} +12 -8
  55. package/dist/server/chunks/FloatingPanel_DI2CdUZK.mjs +57 -0
  56. package/dist/server/chunks/{MediaLibrary_B-7kFx0j.mjs → MediaLibrary_DZqdhYpt.mjs} +2 -2
  57. package/dist/server/chunks/{_id__CrGKzk8c.mjs → _id__9FIehtyR.mjs} +21 -10
  58. package/dist/server/chunks/{_slug__BFkT7tf-.mjs → _slug__Izz0oLah.mjs} +1 -1
  59. package/dist/server/chunks/access_BSltT-j0.mjs +417 -0
  60. package/dist/server/chunks/{ar_DlCzOUGe.mjs → ar_DObFFdrO.mjs} +10 -1
  61. package/dist/server/chunks/{custom-fields_C21soZ6X.mjs → custom-fields_ChGoFU6v.mjs} +2 -2
  62. package/dist/server/chunks/{edit_BX_SHtDf.mjs → edit_BDJsuJht.mjs} +2 -2
  63. package/dist/server/chunks/{es-ES_DD40B9Zr.mjs → es-ES_D6jd6T7H.mjs} +10 -1
  64. package/dist/server/chunks/{general_4pi2Xyk_.mjs → general_J5JruaEJ.mjs} +31 -27
  65. package/dist/server/chunks/{he_8WSAyM_S.mjs → he_DwGJwonL.mjs} +10 -1
  66. package/dist/server/chunks/{i18n_k88p-B6j.mjs → i18n_Cr9pc66i.mjs} +229 -527
  67. package/dist/server/chunks/{index_J14tJb39.mjs → index_BZk89gnA.mjs} +2 -2
  68. package/dist/server/chunks/{index_BrpYs70y.mjs → index_DEkpVnI-.mjs} +2 -2
  69. package/dist/server/chunks/{index_BwnKp1u1.mjs → index__TzLfz1Y.mjs} +2 -2
  70. package/dist/server/chunks/{index_DlZPZgHm.mjs → index_goZUoZn8.mjs} +3 -3
  71. package/dist/server/chunks/{index_DfzW3lzT.mjs → index_ph0CQvPI.mjs} +1 -1
  72. package/dist/server/chunks/{it_DEDC6yxf.mjs → it_CMLpQyoj.mjs} +10 -1
  73. package/dist/server/chunks/{ja_BRQi6rW3.mjs → ja_CYRz0pHv.mjs} +10 -1
  74. package/dist/server/chunks/{login_CnlPFzuR.mjs → login_D1vntlDR.mjs} +1 -1
  75. package/dist/server/chunks/{logs_ClikIoCW.mjs → logs_BQ-8tURM.mjs} +2 -2
  76. package/dist/server/chunks/{menus_UezEKuJz.mjs → menus_CxwSYjnB.mjs} +2 -2
  77. package/dist/server/chunks/{new_Cgxb7rz2.mjs → new_CZGMo6CG.mjs} +2 -2
  78. package/dist/server/chunks/{new_BNlbLJSd.mjs → new_DoFj-hVB.mjs} +2 -2
  79. package/dist/server/chunks/{pl_CKanAk0F.mjs → pl_BuXVPvU1.mjs} +10 -1
  80. package/dist/server/chunks/{plugins_Cdlj5IY8.mjs → plugins_CM-vRDfx.mjs} +2 -2
  81. package/dist/server/chunks/post-types_9YdRCAhN.mjs +437 -0
  82. package/dist/server/chunks/{pt-BR_X0hfCrsD.mjs → pt-BR_CLa-GGIZ.mjs} +48 -5
  83. package/dist/server/chunks/{ru_CuNXt2MB.mjs → ru_C56ltukG.mjs} +10 -1
  84. package/dist/server/chunks/{sw_RLMWPkos.mjs → sw_Dhw0GAgD.mjs} +10 -1
  85. package/dist/server/chunks/{taxonomies_DprUiQYq.mjs → taxonomies_C2yLbsVU.mjs} +2 -2
  86. package/dist/server/chunks/{taxonomy_ECx2rh8K.mjs → taxonomy_BAqqS2TS.mjs} +2 -2
  87. package/dist/server/chunks/{themes_B8BHsKmD.mjs → themes_zV_FXCDj.mjs} +2 -2
  88. package/dist/server/chunks/{tr_Dz8pqyTZ.mjs → tr_zELRy7A-.mjs} +10 -1
  89. package/dist/server/chunks/{uk_BjwqlweA.mjs → uk_DVOqp1x6.mjs} +10 -1
  90. package/dist/server/chunks/{upload_FUWLBTTZ.mjs → upload_Bba7badi.mjs} +2 -2
  91. package/dist/server/chunks/{webhooks_BH1Qrnee.mjs → webhooks_LTF3h9-l.mjs} +2 -2
  92. package/dist/server/chunks/{yo_Dv14KWVR.mjs → yo_BqgZcoxs.mjs} +10 -1
  93. package/dist/server/chunks/{zh-CN_DjIZCWzG.mjs → zh-CN_Dz2D1XUc.mjs} +10 -1
  94. package/dist/server/entry.mjs +74 -47
  95. package/dist/server/virtual_astro_middleware.mjs +87 -17
  96. package/package.json +1 -1
  97. package/dist/client/_astro/ActivityWidget.DFfbrs-K.js +0 -16
  98. package/dist/client/_astro/BaseLayout.3eIEVCjB.css +0 -1
  99. package/dist/client/_astro/ContentEditor.DANKVwCI.js +0 -1
  100. package/dist/client/_astro/DashboardLayout.C1hUraeX.css +0 -1
  101. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.DP7AKyOy.js +0 -1
  102. package/dist/client/_astro/FbIcon.uhYN8ybK.js +0 -1
  103. package/dist/client/_astro/FieldGroupEditor.5iB_mZUP.js +0 -69
  104. package/dist/client/_astro/FieldGroupList.CN3KGhw5.js +0 -1
  105. package/dist/client/_astro/GeneralSettings.Dzv_7xWf.js +0 -1
  106. package/dist/client/_astro/LogsManager.C3XW2Gze.js +0 -1
  107. package/dist/client/_astro/MediaLibrary.bx1yD6aC.js +0 -1
  108. package/dist/client/_astro/PostTypesManager.BJNKEOXY.js +0 -1
  109. package/dist/client/_astro/ResourceHubs.D11v_J8D.js +0 -1
  110. package/dist/client/_astro/TaxonomiesManager.DAC1s3aS.js +0 -1
  111. package/dist/client/_astro/TaxonomyTermsManager.RsO79xRU.js +0 -1
  112. package/dist/client/_astro/ThemeManager.BO-12WST.js +0 -176
  113. package/dist/client/_astro/UserCreateForm.CSYbfU4r.js +0 -1
  114. package/dist/client/_astro/WebhooksManager.BNaGM-w5.js +0 -1
  115. package/dist/client/_astro/api.D7bs6UOp.js +0 -1
  116. package/dist/client/_astro/client.DWJHz38V.js +0 -1
  117. package/dist/client/_astro/extensions.CpcwMaUF.js +0 -1
  118. package/dist/client/_astro/i18n.CjQozXLx.js +0 -1
  119. package/dist/client/_astro/pt-BR.BnllmbjP.js +0 -1
  120. package/dist/client/_astro/solid.8gBSxpeo.js +0 -1
  121. package/dist/client/_astro/web.DwNv8rLL.js +0 -1
  122. package/dist/server/chunks/access_C2K6rVdx.mjs +0 -138
  123. package/dist/server/chunks/post-types_BzDitU7n.mjs +0 -185
@@ -0,0 +1,56 @@
1
+ import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
+ import { S as createAstro, d as maybeRenderHead, i as renderComponent, p as addAttribute, u as renderTemplate } from "./server_B5N27szj.mjs";
3
+ import { t as createComponent } from "./compiler_O7J1rlsi.mjs";
4
+ import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_DTOkhEmH.mjs";
5
+ //#region src/pages/404.astro
6
+ var _404_exports = /* @__PURE__ */ __exportAll({
7
+ default: () => $$404,
8
+ file: () => $$file,
9
+ url: () => $$url
10
+ });
11
+ createAstro("https://astro.build");
12
+ var $$404 = createComponent(($$result, $$props, $$slots) => {
13
+ const Astro = $$result.createAstro($$props, $$slots);
14
+ Astro.self = $$404;
15
+ const { t } = Astro.locals;
16
+ const requestedPath = Astro.url.pathname;
17
+ const suggestions = [
18
+ {
19
+ href: "/media",
20
+ key: "layout.nav.media"
21
+ },
22
+ {
23
+ href: "/users",
24
+ key: "layout.nav.users"
25
+ },
26
+ {
27
+ href: "/menus",
28
+ key: "layout.nav.menus"
29
+ },
30
+ {
31
+ href: "/plugins",
32
+ key: "layout.nav.plugins"
33
+ },
34
+ {
35
+ href: "/themes",
36
+ key: "layout.nav.themes"
37
+ },
38
+ {
39
+ href: "/settings/general",
40
+ key: "layout.nav.settings"
41
+ }
42
+ ];
43
+ return renderTemplate`${renderComponent($$result, "BaseLayout", $$BaseLayout, {
44
+ "title": t("notFound.title"),
45
+ "description": t("notFound.description"),
46
+ "data-astro-cid-ibpinaeu": true
47
+ }, { "default": ($$result) => renderTemplate`${maybeRenderHead($$result)}<main class="notfound-page" data-astro-cid-ibpinaeu><div class="notfound-card" data-astro-cid-ibpinaeu><div class="notfound-logo" data-astro-cid-ibpinaeu><img src="/logo-horizontal.svg" width="200" height="65" alt="OkCMS" data-astro-cid-ibpinaeu></div><p class="notfound-code" aria-hidden="true" data-astro-cid-ibpinaeu>404</p><h1 class="notfound-title" data-astro-cid-ibpinaeu>${t("notFound.title")}</h1><p class="notfound-description" data-astro-cid-ibpinaeu>${t("notFound.description")}</p><p class="notfound-path"${addAttribute(requestedPath, "title")} data-astro-cid-ibpinaeu><span class="notfound-path-label" data-astro-cid-ibpinaeu>${t("notFound.requestedPath")}:</span><code data-astro-cid-ibpinaeu>${requestedPath}</code></p><!-- Sugestões discretas: texto simples, sem botão/borda/fundo — o ouro só
48
+ aparece no hover, para não competir com a ação principal. --><nav class="notfound-suggestions"${addAttribute(t("notFound.suggestionsLabel"), "aria-label")} data-astro-cid-ibpinaeu><span class="notfound-suggestions-label" data-astro-cid-ibpinaeu>${t("notFound.suggestionsLabel")}</span><ul data-astro-cid-ibpinaeu>${suggestions.map((item) => renderTemplate`<li data-astro-cid-ibpinaeu><a${addAttribute(item.href, "href")} data-astro-cid-ibpinaeu>${t(item.key)}</a></li>`)}</ul></nav><div class="notfound-actions" data-astro-cid-ibpinaeu><a href="/" class="btn btn-primary" data-astro-cid-ibpinaeu>${t("notFound.goHome")}</a><button type="button" class="btn btn-secondary" id="notfound-back" data-astro-cid-ibpinaeu>${t("notFound.goBack")}</button></div></div></main>` })}${renderScript($$result, "/home/runner/work/cms/cms/apps/admin/src/pages/404.astro?astro&type=script&index=0&lang.ts")}`;
49
+ }, "/home/runner/work/cms/cms/apps/admin/src/pages/404.astro", void 0);
50
+ var $$file = "/home/runner/work/cms/cms/apps/admin/src/pages/404.astro";
51
+ var $$url = "/404";
52
+ //#endregion
53
+ //#region \0virtual:astro:page:src/pages/404@_@astro
54
+ var page = () => _404_exports;
55
+ //#endregion
56
+ export { page };
@@ -18,7 +18,7 @@ async function renderScript(result, id) {
18
18
  }
19
19
  var package_default = {
20
20
  name: "@oktis-works/admin",
21
- version: "0.8.8",
21
+ version: "0.10.0",
22
22
  type: "module",
23
23
  bin: { "okcms-admin": "./bin/admin.js" },
24
24
  files: ["bin", "dist"],
@@ -1,5 +1,5 @@
1
- import { n as useTranslation, r as apiClient } from "./i18n_k88p-B6j.mjs";
2
- import { a as For2, f as createMemo$1, p as createSignal$1, u as Show2 } from "./DashboardLayout_U7BSt4BY.mjs";
1
+ import { n as useTranslation, r as apiClient } from "./i18n_Cr9pc66i.mjs";
2
+ import { a as For2, f as createMemo$1, p as createSignal$1, u as Show2 } from "./DashboardLayout_CidaIIqh.mjs";
3
3
  import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
4
4
  import { For, Show, createMemo, createSignal, onMount } from "solid-js";
5
5
  //#region ../../packages/validation/dist/client-validate.js
@@ -1,8 +1,8 @@
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_DAvxa2_1.mjs";
5
- import { a as LOCALE_FLAGS, n as useTranslation, o as LOCALE_LABELS, r as apiClient, s as SUPPORTED_LOCALES } from "./i18n_k88p-B6j.mjs";
4
+ import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_DTOkhEmH.mjs";
5
+ import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./i18n_Cr9pc66i.mjs";
6
6
  import { t as require_semver } from "./semver_WbqCUY_o.mjs";
7
7
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey, ssrStyle } from "solid-js/web";
8
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";
@@ -847,14 +847,15 @@ function ActivityWidget() {
847
847
  const [loading, setLoading] = createSignal(true);
848
848
  onMount(async () => {
849
849
  try {
850
- const [contentRes, usersRes] = await Promise.all([apiClient.getContent({ limit: 20 }), apiClient.listUsers({ limit: 5 })]);
850
+ const [contentRes, usersRes] = await Promise.all([apiClient.getContent({
851
+ limit: 10,
852
+ includeAuthor: true
853
+ }), apiClient.listUsers({ limit: 5 })]);
851
854
  const activities = [];
852
- const recentContent = (contentRes.data ?? []).slice(0, 10);
853
- const details = await Promise.all(recentContent.map((item) => apiClient.getContentById(item.id).catch(() => null)));
854
- recentContent.forEach((item, index) => {
855
+ (contentRes.data ?? []).forEach((item) => {
855
856
  const raw = item;
856
857
  const updatedAt = raw["updated_at"] ?? raw["updatedAt"] ?? raw["created_at"];
857
- const author = details[index]?.author;
858
+ const author = item.author ?? raw["author"];
858
859
  activities.push({
859
860
  id: `content-${item.id}`,
860
861
  type: item.status === "PUBLISHED" ? "post_published" : "post_updated",
@@ -943,6 +944,8 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
943
944
  Astro.self = $$DashboardLayout;
944
945
  const { title, description } = Astro.props;
945
946
  const { t } = Astro.locals;
947
+ const sessionUser = Astro.locals.user ?? null;
948
+ const sessionState = Astro.locals.sessionState ?? "unavailable";
946
949
  const pathname = Astro.url.pathname;
947
950
  const isActive = (href) => href === "/" ? pathname === "/" : pathname === href || pathname.startsWith(`${href}/`);
948
951
  const navActive = {
@@ -996,10 +999,11 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
996
999
  "description": description
997
1000
  }, { "default": ($$result) => renderTemplate`${renderComponent($$result, "AdminBar", AdminBar, {
998
1001
  "client:load": true,
1002
+ "user": sessionUser ?? void 0,
999
1003
  "client:component-hydration": "load",
1000
1004
  "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/admin-bar/AdminBar.tsx",
1001
1005
  "client:component-export": "AdminBar"
1002
- })}${maybeRenderHead($$result)}<div class="layout"><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, {
1006
+ })}${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, {
1003
1007
  "client:load": true,
1004
1008
  "client:component-hydration": "load",
1005
1009
  "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/ext/extensions.tsx",
@@ -0,0 +1,57 @@
1
+ import { Portal, createComponent, escape, ssr, ssrAttribute, ssrHydrationKey, ssrStyle } from "solid-js/web";
2
+ import { Show, createEffect, createSignal, onCleanup, onMount } from "solid-js";
3
+ //#region src/components/ui/FloatingPanel.tsx
4
+ var _tmpl$ = [
5
+ "<div",
6
+ " style=\"",
7
+ "\">",
8
+ "</div>"
9
+ ];
10
+ function FloatingPanel(props) {
11
+ const [style, setStyle] = createSignal({
12
+ position: "fixed",
13
+ visibility: "hidden"
14
+ });
15
+ const reposition = () => {
16
+ props.trigger;
17
+ };
18
+ createEffect(() => {
19
+ if (!props.open) return;
20
+ queueMicrotask(reposition);
21
+ requestAnimationFrame(reposition);
22
+ });
23
+ onMount(() => {
24
+ const onOutside = (event) => {
25
+ const target = event.target;
26
+ if (!target) return;
27
+ if (props.trigger?.contains(target) || void 0) return;
28
+ props.onClose();
29
+ };
30
+ const onKey = (event) => {
31
+ if (event.key === "Escape") props.onClose();
32
+ };
33
+ const onScrollOrResize = () => reposition();
34
+ document.addEventListener("mousedown", onOutside);
35
+ document.addEventListener("keydown", onKey);
36
+ window.addEventListener("scroll", onScrollOrResize, true);
37
+ window.addEventListener("resize", onScrollOrResize);
38
+ onCleanup(() => {
39
+ document.removeEventListener("mousedown", onOutside);
40
+ document.removeEventListener("keydown", onKey);
41
+ window.removeEventListener("scroll", onScrollOrResize, true);
42
+ window.removeEventListener("resize", onScrollOrResize);
43
+ });
44
+ });
45
+ return createComponent(Show, {
46
+ get when() {
47
+ return props.open;
48
+ },
49
+ get children() {
50
+ return createComponent(Portal, { get children() {
51
+ return ssr(_tmpl$, ssrHydrationKey() + ssrAttribute("class", escape(props.class, true), false) + ssrAttribute("role", escape(props.role, true), false) + ssrAttribute("aria-label", escape(props["aria-label"], true), false), ssrStyle(style()), escape(props.children));
52
+ } });
53
+ }
54
+ });
55
+ }
56
+ //#endregion
57
+ export { FloatingPanel as t };
@@ -1,5 +1,5 @@
1
- import { n as useTranslation, r as apiClient } from "./i18n_k88p-B6j.mjs";
2
- import { a as For2, c as Pagination, l as Select, m as onMount, o as Input, p as createSignal, r as Button, s as Modal, u as Show2 } from "./DashboardLayout_U7BSt4BY.mjs";
1
+ import { n as useTranslation, r as apiClient } from "./i18n_Cr9pc66i.mjs";
2
+ import { a as For2, c as Pagination, l as Select, m as onMount, o as Input, p as createSignal, r as Button, s as Modal, u as Show2 } from "./DashboardLayout_CidaIIqh.mjs";
3
3
  import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey, ssrStyleProperty } from "solid-js/web";
4
4
  //#region src/components/media/MediaLibrary.tsx
5
5
  var _tmpl$ = [
@@ -1,9 +1,10 @@
1
1
  import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, i as renderComponent, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent$1 } from "./compiler_O7J1rlsi.mjs";
4
- import { n as useTranslation, r as apiClient } from "./i18n_k88p-B6j.mjs";
5
- import { t as $$DashboardLayout } from "./DashboardLayout_U7BSt4BY.mjs";
4
+ import { n as useTranslation, r as apiClient } from "./i18n_Cr9pc66i.mjs";
5
+ import { t as $$DashboardLayout } from "./DashboardLayout_CidaIIqh.mjs";
6
6
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
7
+ import { t as FloatingPanel } from "./FloatingPanel_DI2CdUZK.mjs";
7
8
  import { t as FbIcon } from "./FbIcon_D0f6QiFJ.mjs";
8
9
  import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
9
10
  import { For, Show, batch, createContext, createEffect, createMemo, createSignal, on, onCleanup, onMount, splitProps, useContext } from "solid-js";
@@ -5949,10 +5950,9 @@ function ConditionalLogicEditor(props) {
5949
5950
  //#endregion
5950
5951
  //#region src/components/content/FieldTypePicker.tsx
5951
5952
  var _tmpl$$6 = [
5952
- "<div",
5953
- " class=\"field-type-picker__panel\" role=\"listbox\"><input type=\"search\" class=\"field-type-picker__search\" placeholder=\"Buscar tipo de campo...\"",
5954
- "><!--$-->",
5955
- "<!--/--></div>"
5953
+ "<input",
5954
+ " type=\"search\" class=\"field-type-picker__search\" placeholder=\"Buscar tipo de campo...\"",
5955
+ ">"
5956
5956
  ];
5957
5957
  var _tmpl$2$6 = [
5958
5958
  "<div",
@@ -5983,6 +5983,7 @@ var _tmpl$5$4 = [
5983
5983
  function FieldTypePicker(props) {
5984
5984
  const [open, setOpen] = createSignal(false);
5985
5985
  const [query, setQuery] = createSignal("");
5986
+ const [trigger, setTrigger] = createSignal(void 0);
5986
5987
  const selected = () => props.types.find((type) => type.type === props.value);
5987
5988
  const filteredTypes = () => {
5988
5989
  const q = query().toLowerCase();
@@ -5992,12 +5993,22 @@ function FieldTypePicker(props) {
5992
5993
  queueMicrotask(() => createIcons({ icons }));
5993
5994
  };
5994
5995
  onMount(refreshIcons);
5995
- return ssr(_tmpl$2$6, ssrHydrationKey(), ssrAttribute("aria-expanded", escape(open(), true), false), ssrAttribute("data-lucide", escape(selected()?.icon ?? "box", true), false), escape(selected()?.label ?? "Selecione o tipo"), open() ? "▴" : "▾", escape(createComponent(Show, {
5996
- get when() {
5996
+ return ssr(_tmpl$2$6, ssrHydrationKey(), ssrAttribute("aria-expanded", escape(open(), true), false), ssrAttribute("data-lucide", escape(selected()?.icon ?? "box", true), false), escape(selected()?.label ?? "Selecione o tipo"), open() ? "▴" : "▾", escape(createComponent(FloatingPanel, {
5997
+ get open() {
5997
5998
  return open();
5998
5999
  },
6000
+ get trigger() {
6001
+ return trigger();
6002
+ },
6003
+ onClose: () => {
6004
+ setOpen(false);
6005
+ setQuery("");
6006
+ },
6007
+ "class": "field-type-picker__panel",
6008
+ role: "listbox",
6009
+ minWidth: 280,
5999
6010
  get children() {
6000
- return ssr(_tmpl$$6, ssrHydrationKey(), ssrAttribute("value", escape(query(), true), false), escape(createComponent(For, {
6011
+ return [ssr(_tmpl$$6, ssrHydrationKey(), ssrAttribute("value", escape(query(), true), false)), createComponent(For, {
6001
6012
  get each() {
6002
6013
  return props.categories;
6003
6014
  },
@@ -6022,7 +6033,7 @@ function FieldTypePicker(props) {
6022
6033
  }
6023
6034
  });
6024
6035
  }
6025
- })));
6036
+ })];
6026
6037
  }
6027
6038
  })));
6028
6039
  }
@@ -1,7 +1,7 @@
1
1
  import { r as __exportAll } from "./rolldown-runtime_BMI-E3GI.mjs";
2
2
  import { S as createAstro, d as maybeRenderHead, i as renderComponent, p as addAttribute, u as renderTemplate } from "./server_B5N27szj.mjs";
3
3
  import { t as createComponent } from "./compiler_O7J1rlsi.mjs";
4
- import { t as $$DashboardLayout } from "./DashboardLayout_U7BSt4BY.mjs";
4
+ import { t as $$DashboardLayout } from "./DashboardLayout_CidaIIqh.mjs";
5
5
  import { t as PageHeader } from "./PageHeader_CBOioOjo.mjs";
6
6
  //#region src/pages/plugins/[slug].astro
7
7
  var _slug__exports = /* @__PURE__ */ __exportAll({