@oktis-works/admin 0.19.1 → 0.20.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 (83) hide show
  1. package/dist/client/_astro/{ActivityWidget.9T9D1Dwq.js → ActivityWidget.DtG_8-bC.js} +1 -1
  2. package/dist/client/_astro/{AdminBar.uZX_VBFr.js → AdminBar.DWgISuE1.js} +1 -1
  3. package/dist/client/_astro/{ApiKeysManager.BeZosAcl.js → ApiKeysManager.9WL8yofB.js} +1 -1
  4. package/dist/client/_astro/{AtGlanceWidget.B6FKmL7A.js → AtGlanceWidget.B5byv-Z6.js} +1 -1
  5. package/dist/client/_astro/{BaseLayout.Cp-O10m_.css → BaseLayout.Dw2OoSEv.css} +1 -1
  6. package/dist/client/_astro/{CommentsManager.9iktJziN.js → CommentsManager.C5gleTZN.js} +1 -1
  7. package/dist/client/_astro/ContentEditor.C0RpyhzW.js +1 -0
  8. package/dist/client/_astro/ContentTypeWorkspace.wFn1FHsk.js +1 -0
  9. package/dist/client/_astro/{DashboardHome.CBTZuAbN.js → DashboardHome.CoVmaWtV.js} +1 -1
  10. package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.ohczxyNy.js → DashboardLayout.astro_astro_type_script_index_0_lang.BEDbOjeH.js} +1 -1
  11. package/dist/client/_astro/FieldGroupEditor.DixyIeAD.js +69 -0
  12. package/dist/client/_astro/{FieldGroupList.DwHwSB-m.js → FieldGroupList.KCRsCtjN.js} +1 -1
  13. package/dist/client/_astro/FieldRenderer.BjnbGFPe.js +3 -0
  14. package/dist/client/_astro/{Footer.ZmhGZsX_.js → Footer.Bis7kk52.js} +1 -1
  15. package/dist/client/_astro/GeneralSettings.DWUL4EPc.js +1 -0
  16. package/dist/client/_astro/{LogsManager.VmsL1Y_c.js → LogsManager.wobqWCrD.js} +1 -1
  17. package/dist/client/_astro/{MediaLibrary.BPA5KcoT.js → MediaLibrary.B_DxFMQi.js} +1 -1
  18. package/dist/client/_astro/{MenuManager.-kATOHiC.js → MenuManager.CB6j6yQw.js} +1 -1
  19. package/dist/client/_astro/{Modal.6YIPt-vQ.js → Modal.eJIvbMT2.js} +1 -1
  20. package/dist/client/_astro/{PluginManager.ezr27PG_.js → PluginManager.CT-7t4Wz.js} +1 -1
  21. package/dist/client/_astro/{PostTypesManager.D4rhu5qf.js → PostTypesManager.LW5RMORG.js} +1 -1
  22. package/dist/client/_astro/{QuickDraftWidget.tEoK6vHH.js → QuickDraftWidget.zabr8JfM.js} +1 -1
  23. package/dist/client/_astro/{ReadingSettings.BhxqtNjo.js → ReadingSettings.BiSPyKOf.js} +1 -1
  24. package/dist/client/_astro/{ResourceHubs.Bjng1UYH.js → ResourceHubs.CmV4Mz6z.js} +1 -1
  25. package/dist/client/_astro/{TaxonomiesManager.C12F1EN1.js → TaxonomiesManager.BzFfeZEj.js} +1 -1
  26. package/dist/client/_astro/{TaxonomyTermsManager.2V-JSC-7.js → TaxonomyTermsManager.CvCxMf0u.js} +1 -1
  27. package/dist/client/_astro/{ThemeCustomizer.CGY-3Jl4.js → ThemeCustomizer.BIct4Scf.js} +1 -1
  28. package/dist/client/_astro/{ThemeManager.D28v1eyx.js → ThemeManager.BVqp2Bk3.js} +1 -1
  29. package/dist/client/_astro/{UserCreateForm.Bh_H8pJN.js → UserCreateForm.D2dkK0S5.js} +1 -1
  30. package/dist/client/_astro/{UsersManager.Ds7__cY5.js → UsersManager.CUU4ncDR.js} +1 -1
  31. package/dist/client/_astro/{WebhooksManager.2IVxZFIV.js → WebhooksManager.DV2TWIOt.js} +1 -1
  32. package/dist/client/_astro/i18n.BFBHzd3w.js +1 -0
  33. package/dist/client/_astro/pt-BR.DB_qjzov.js +1 -0
  34. package/dist/server/chunks/{404_CtVqPqLh.mjs → 404_BMps-rRP.mjs} +1 -1
  35. package/dist/server/chunks/{BaseLayout_CH8MQ3No.mjs → BaseLayout_eq-iwg5V.mjs} +1 -1
  36. package/dist/server/chunks/{ContentEditor_6J53ebJ2.mjs → ContentEditor_CD80dY0I.mjs} +41 -7
  37. package/dist/server/chunks/{DashboardLayout_DGbCn1gh.mjs → DashboardLayout_CrO_yWkB.mjs} +12 -12
  38. package/dist/server/chunks/{FbIcon_7YixzwO3.mjs → FbIcon_D0f6QiFJ.mjs} +1 -1
  39. package/dist/server/chunks/{FieldRenderer_DowQgtDc.mjs → FieldRenderer_BSvrsqN8.mjs} +172 -72
  40. package/dist/server/chunks/{FloatingPanel_BtB-nNBT.mjs → FloatingPanel_DI2CdUZK.mjs} +1 -1
  41. package/dist/server/chunks/{MediaLibrary_DuxnoiMa.mjs → MediaLibrary_BGZEgsua.mjs} +3 -3
  42. package/dist/server/chunks/{Modal_CkrRnNzN.mjs → Modal_QxIjzTdp.mjs} +2 -2
  43. package/dist/server/chunks/{PageHeader_CRpzf5xU.mjs → PageHeader_CBOioOjo.mjs} +1 -1
  44. package/dist/server/chunks/{TimezoneSelect_Cj-oxeeA.mjs → TimezoneSelect_D6o-2_7b.mjs} +2 -2
  45. package/dist/server/chunks/{_id__DfQqu18v.mjs → _id__BIPcYNtN.mjs} +79 -67
  46. package/dist/server/chunks/{_slug__CPv34VnT.mjs → _slug__XNFTP0Q1.mjs} +2 -2
  47. package/dist/server/chunks/{access_B-f0fZwc.mjs → access_D-_mBK3K.mjs} +8 -8
  48. package/dist/server/chunks/{api-keys_BSvI1g4B.mjs → api-keys_z4-GVRaL.mjs} +6 -6
  49. package/dist/server/chunks/{comments_D3X5nFKK.mjs → comments_qCxr0Y8w.mjs} +3 -3
  50. package/dist/server/chunks/{custom-fields_Cue8nhbd.mjs → custom-fields_Dp3OiD0S.mjs} +5 -5
  51. package/dist/server/chunks/{customize_CSP8B-As.mjs → customize_zTqT6Yj2.mjs} +3 -3
  52. package/dist/server/chunks/{edit_5CwEtymP.mjs → edit_BxXS3NT6.mjs} +3 -3
  53. package/dist/server/chunks/{i18n_RELfVLel.mjs → i18n_jhv_lr6z.mjs} +21 -7
  54. package/dist/server/chunks/{index_DW0-epn4.mjs → index_BuUzsa32.mjs} +4 -4
  55. package/dist/server/chunks/{index_CvbZ6goO.mjs → index_CaR204jg.mjs} +5 -5
  56. package/dist/server/chunks/{index_C594fLur.mjs → index_DVQd057F.mjs} +6 -17
  57. package/dist/server/chunks/{index_CJVbaexl.mjs → index_aa5_ET2K.mjs} +6 -6
  58. package/dist/server/chunks/{index_BzgdFBMP.mjs → index_tQk65WtE.mjs} +4 -4
  59. package/dist/server/chunks/{login_BAhzxnXF.mjs → login_JwlFuBYd.mjs} +1 -1
  60. package/dist/server/chunks/{logs_iVt0OMQv.mjs → logs_td2w_HCW.mjs} +5 -5
  61. package/dist/server/chunks/{menus_zRwS15d7.mjs → menus_Brbqh27T.mjs} +4 -4
  62. package/dist/server/chunks/{new_DKOOAiqy.mjs → new_M5jNG81S.mjs} +3 -3
  63. package/dist/server/chunks/{new_CWejzb4K.mjs → new_aklFjYkE.mjs} +5 -5
  64. package/dist/server/chunks/{plugins_BpPZxAK2.mjs → plugins_KhcXhLHj.mjs} +3 -3
  65. package/dist/server/chunks/{post-types_C_JULYq5.mjs → post-types_DD3nerIE.mjs} +7 -7
  66. package/dist/server/chunks/{pt-BR_B2PJHiOg.mjs → pt-BR_Barbcx-V.mjs} +15 -1
  67. package/dist/server/chunks/{reading_fhgI8X3-.mjs → reading_ghF5feXj.mjs} +4 -4
  68. package/dist/server/chunks/{taxonomies_Bb8DwbNZ.mjs → taxonomies_CsUEhmvC.mjs} +5 -5
  69. package/dist/server/chunks/{taxonomy_BXM2ubYg.mjs → taxonomy_BfNm0HUh.mjs} +4 -4
  70. package/dist/server/chunks/{themes_BPlBocEN.mjs → themes_DnFB-Bio.mjs} +3 -3
  71. package/dist/server/chunks/{upload_BWA1htvi.mjs → upload_D5xS-Nri.mjs} +4 -4
  72. package/dist/server/chunks/{webhooks_CzjbYgHf.mjs → webhooks_B_6eHrir.mjs} +5 -5
  73. package/dist/server/entry.mjs +28 -28
  74. package/dist/server/virtual_astro_middleware.mjs +3 -3
  75. package/package.json +1 -1
  76. package/dist/client/_astro/ContentEditor.BqDPU74P.js +0 -1
  77. package/dist/client/_astro/ContentEditor.DVKohXM-.js +0 -3
  78. package/dist/client/_astro/ContentTypeWorkspace.DqoBUPpT.js +0 -1
  79. package/dist/client/_astro/FieldGroupEditor.DBT985JP.js +0 -69
  80. package/dist/client/_astro/FieldRenderer.BxkMD5Kl.js +0 -1
  81. package/dist/client/_astro/GeneralSettings.B1f0Zpzs.js +0 -1
  82. package/dist/client/_astro/i18n.DnYRsWBJ.js +0 -1
  83. package/dist/client/_astro/pt-BR.CeCNYyhv.js +0 -1
@@ -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_CH8MQ3No.mjs";
5
- import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./i18n_RELfVLel.mjs";
4
+ import { n as renderScript, t as $$BaseLayout } from "./BaseLayout_eq-iwg5V.mjs";
5
+ import { a as LOCALE_LABELS, i as LOCALE_FLAGS, n as useTranslation, o as SUPPORTED_LOCALES, r as apiClient } from "./i18n_jhv_lr6z.mjs";
6
6
  import { t as require_semver } from "./semver_WbqCUY_o.mjs";
7
7
  import { Dynamic, createComponent, escape, memo, mergeProps, ssr, ssrAttribute, ssrHydrationKey, ssrStyle, ssrStyleProperty } from "solid-js/web";
8
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";
@@ -677,7 +677,7 @@ function PluginDashboardWidgetsSlot() {
677
677
  });
678
678
  }
679
679
  //#endregion
680
- //#region src/components/admin-bar/AdminBar.jsx
680
+ //#region src/components/admin-bar/AdminBar.tsx
681
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>"];
682
682
  var _tmpl$2$3 = [
683
683
  "<span",
@@ -865,7 +865,7 @@ function AdminBar(props) {
865
865
  })), ssrAttribute("aria-label", escape(t("adminBar.toggleSidebar"), true), false))];
866
866
  }
867
867
  //#endregion
868
- //#region src/components/dashboard-widgets/AtGlanceWidget.jsx
868
+ //#region src/components/dashboard-widgets/AtGlanceWidget.tsx
869
869
  var _tmpl$$3 = [
870
870
  "<div",
871
871
  " class=\"",
@@ -978,7 +978,7 @@ function AtGlanceWidget() {
978
978
  });
979
979
  }
980
980
  //#endregion
981
- //#region src/components/dashboard-widgets/QuickDraftWidget.jsx
981
+ //#region src/components/dashboard-widgets/QuickDraftWidget.tsx
982
982
  var _tmpl$$2 = [
983
983
  "<div",
984
984
  " class=\"quick-draft-wrapper\"><div class=\"quick-draft-content-wrapper\">",
@@ -1065,7 +1065,7 @@ function QuickDraftWidget() {
1065
1065
  });
1066
1066
  }
1067
1067
  //#endregion
1068
- //#region src/components/dashboard-widgets/ActivityWidget.jsx
1068
+ //#region src/components/dashboard-widgets/ActivityWidget.tsx
1069
1069
  var _tmpl$$1 = [
1070
1070
  "<div",
1071
1071
  " class=\"activity-widget\" data-widget-panel=\"activity\" style=\"grid-column:span 2\"><div class=\"dashboard-widget-header\"><h3 class=\"dashboard-widget-title\">",
@@ -1177,7 +1177,7 @@ function ActivityWidget() {
1177
1177
  }))) : ssr(_tmpl$6, ssrHydrationKey(), escape(t("dashboard.widgets.activity.empty")))));
1178
1178
  }
1179
1179
  //#endregion
1180
- //#region src/components/Footer.jsx
1180
+ //#region src/components/Footer.tsx
1181
1181
  var _tmpl$ = [
1182
1182
  "<footer",
1183
1183
  " class=\"admin-footer\" role=\"contentinfo\"><div class=\"footer-content\"><div class=\"footer-left\"><p class=\"footer-version\"><span class=\"product-name\">OkCMS</span></p></div><nav class=\"footer-links\"",
@@ -1264,7 +1264,7 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
1264
1264
  "client:load": true,
1265
1265
  "user": sessionUser ?? void 0,
1266
1266
  "client:component-hydration": "load",
1267
- "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/admin-bar/AdminBar.jsx",
1267
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/admin-bar/AdminBar.tsx",
1268
1268
  "client:component-export": "AdminBar"
1269
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"${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><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><div${addAttribute(["nav-group", { open: navActive.themes || navActive.customize }], "class:list")} data-nav-group="themes"><a href="/themes"${addAttribute(["nav-item", { active: navActive.themes }], "class:list")} data-sidebar-i18n="layout.nav.themes"><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">${t("layout.nav.themes")}</span></a><div class="nav-submenu" data-nav-submenu="themes"><a href="/themes"${addAttribute(["nav-subitem", { active: navActive.themes }], "class:list")} data-sidebar-i18n="layout.nav.themes">${t("layout.nav.themes")}</a><a href="/customize"${addAttribute(["nav-subitem", { active: navActive.customize }], "class:list")} data-sidebar-i18n="layout.nav.customize">${t("layout.nav.customize")}</a><a href="/settings/reading"${addAttribute(["nav-subitem", { active: navActive.settings && navActive.settings === "reading" }], "class:list")} data-sidebar-i18n="layout.nav.settings_reading">${t("layout.nav.settings_reading")}</a></div></div><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, {
1270
1270
  "client:load": true,
@@ -1274,17 +1274,17 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
1274
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, {
1275
1275
  "client:load": true,
1276
1276
  "client:component-hydration": "load",
1277
- "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/dashboard-widgets/AtGlanceWidget.jsx",
1277
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/dashboard-widgets/AtGlanceWidget.tsx",
1278
1278
  "client:component-export": "AtGlanceWidget"
1279
1279
  })}${renderComponent($$result, "QuickDraftWidget", QuickDraftWidget, {
1280
1280
  "client:load": true,
1281
1281
  "client:component-hydration": "load",
1282
- "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/dashboard-widgets/QuickDraftWidget.jsx",
1282
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/dashboard-widgets/QuickDraftWidget.tsx",
1283
1283
  "client:component-export": "QuickDraftWidget"
1284
1284
  })}${renderComponent($$result, "ActivityWidget", ActivityWidget, {
1285
1285
  "client:load": true,
1286
1286
  "client:component-hydration": "load",
1287
- "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/dashboard-widgets/ActivityWidget.jsx",
1287
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/dashboard-widgets/ActivityWidget.tsx",
1288
1288
  "client:component-export": "ActivityWidget"
1289
1289
  })}${renderComponent($$result, "PluginDashboardWidgetsSlot", PluginDashboardWidgetsSlot, {
1290
1290
  "client:load": true,
@@ -1294,7 +1294,7 @@ var $$DashboardLayout = createComponent$1(($$result, $$props, $$slots) => {
1294
1294
  })}</div></div>`}</div></div></main></div><!-- Footer global: faixa independente com a largura total da viewport. -->${renderComponent($$result, "Footer", Footer, {
1295
1295
  "client:load": true,
1296
1296
  "client:component-hydration": "load",
1297
- "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/Footer.jsx",
1297
+ "client:component-path": "/home/runner/work/cms/cms/apps/admin/src/components/Footer.tsx",
1298
1298
  "client:component-export": "Footer"
1299
1299
  })}</div>` })}${renderScript($$result, "/home/runner/work/cms/cms/apps/admin/src/layouts/DashboardLayout.astro?astro&type=script&index=0&lang.ts")}`;
1300
1300
  }, "/home/runner/work/cms/cms/apps/admin/src/layouts/DashboardLayout.astro", void 0);
@@ -1,7 +1,7 @@
1
1
  import { escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
2
2
  import { createMemo } from "solid-js";
3
3
  import { icons } from "lucide";
4
- //#region src/components/field-builder/primitives/FbIcon.jsx
4
+ //#region src/components/field-builder/primitives/FbIcon.tsx
5
5
  var _tmpl$ = [
6
6
  "<span",
7
7
  " aria-hidden=\"true\">",
@@ -1,7 +1,7 @@
1
- import "./i18n_RELfVLel.mjs";
2
- import { _ as createMemo$1, h as Show2, u as For2, v as createSignal$1 } from "./DashboardLayout_DGbCn1gh.mjs";
3
- import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
4
- import { For, Show, createMemo, createSignal, onMount } from "solid-js";
1
+ import "./i18n_jhv_lr6z.mjs";
2
+ import { _ as createMemo$1, h as Show2, u as For2, v as createSignal$1 } from "./DashboardLayout_CrO_yWkB.mjs";
3
+ import { Dynamic, createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
4
+ import { For, Match, Show, Switch, createMemo, createSignal, onMount } from "solid-js";
5
5
  //#region ../../packages/validation/dist/client-validate.js
6
6
  function isEmptyValue(value) {
7
7
  if (value === null || value === void 0) return true;
@@ -525,7 +525,7 @@ function expandCloneFields(fields) {
525
525
  return result;
526
526
  }
527
527
  //#endregion
528
- //#region src/components/content/RelationshipPicker.jsx
528
+ //#region src/components/content/RelationshipPicker.tsx
529
529
  var _tmpl$$2 = [
530
530
  "<ul",
531
531
  " class=\"relationship-picker__selection\">",
@@ -610,7 +610,7 @@ function RelationshipPicker(props) {
610
610
  })));
611
611
  }
612
612
  //#endregion
613
- //#region src/content/PluginFieldRenderer.jsx
613
+ //#region src/content/PluginFieldRenderer.tsx
614
614
  var _tmpl$$1 = ["<div", " class=\"fb-plugin-field-renderer fb-plugin-field-renderer--loading\"><div class=\"fb-spinner\" aria-hidden=\"true\"></div><span>Carregando editor...</span></div>"];
615
615
  var _tmpl$2$1 = [
616
616
  "<div",
@@ -655,7 +655,7 @@ function PluginFieldRenderer(props) {
655
655
  const pathsToTry = [props.adminRendererPath, props.adminComponentPath].filter(Boolean);
656
656
  for (const path of pathsToTry) try {
657
657
  const module = await import(path);
658
- const Comp = module.default || module.PluginFieldRenderer || module.PluginFieldConfig || module[Object.keys(module)[0]];
658
+ const Comp = module.default || module.PluginFieldRenderer || module.PluginFieldConfig || Object.values(module)[0];
659
659
  if (Comp) {
660
660
  setComponent(Comp);
661
661
  setLoading(false);
@@ -671,56 +671,82 @@ function PluginFieldRenderer(props) {
671
671
  const handleValueChange = (newValue) => {
672
672
  props.onChange(newValue);
673
673
  };
674
- if (loading) return ssr(_tmpl$$1, ssrHydrationKey());
675
- if (error || !Component) return ssr(_tmpl$3$1, ssrHydrationKey(), escape(createComponent(Show, {
676
- get when() {
677
- return error();
678
- },
679
- get children() {
680
- return ssr(_tmpl$2$1, ssrHydrationKey(), escape(error()));
681
- }
682
- })), escape(createComponent(FallbackRenderer, {
683
- get field() {
684
- return props.field;
685
- },
686
- get value() {
687
- return props.value;
688
- },
689
- onChange: handleValueChange,
690
- get disabled() {
691
- return props.disabled;
692
- },
693
- get t() {
694
- return props.t;
695
- }
696
- })));
697
- return ssr(_tmpl$4$1, ssrHydrationKey(), escape(createComponent(Component, {
698
- get field() {
699
- return props.field;
700
- },
701
- get value() {
702
- return props.value;
703
- },
704
- onChange: handleValueChange,
705
- get disabled() {
706
- return props.disabled;
707
- },
708
- get t() {
709
- return props.t;
710
- }
711
- })));
674
+ return createComponent(Switch, { get children() {
675
+ return [
676
+ createComponent(Match, {
677
+ get when() {
678
+ return loading();
679
+ },
680
+ get children() {
681
+ return ssr(_tmpl$$1, ssrHydrationKey());
682
+ }
683
+ }),
684
+ createComponent(Match, {
685
+ get when() {
686
+ return error() || !Component();
687
+ },
688
+ get children() {
689
+ return ssr(_tmpl$3$1, ssrHydrationKey(), escape(createComponent(Show, {
690
+ get when() {
691
+ return error();
692
+ },
693
+ get children() {
694
+ return ssr(_tmpl$2$1, ssrHydrationKey(), escape(error()));
695
+ }
696
+ })), escape(createComponent(FallbackRenderer, {
697
+ get field() {
698
+ return props.field;
699
+ },
700
+ get value() {
701
+ return props.value;
702
+ },
703
+ onChange: handleValueChange,
704
+ get disabled() {
705
+ return props.disabled;
706
+ },
707
+ get _t() {
708
+ return props._t;
709
+ }
710
+ })));
711
+ }
712
+ }),
713
+ createComponent(Match, {
714
+ when: true,
715
+ get children() {
716
+ return ssr(_tmpl$4$1, ssrHydrationKey(), escape(createComponent(Dynamic, {
717
+ get component() {
718
+ return Component();
719
+ },
720
+ get field() {
721
+ return props.field;
722
+ },
723
+ get value() {
724
+ return props.value;
725
+ },
726
+ onChange: handleValueChange,
727
+ get disabled() {
728
+ return props.disabled;
729
+ },
730
+ get _t() {
731
+ return props._t;
732
+ }
733
+ })));
734
+ }
735
+ })
736
+ ];
737
+ } });
712
738
  }
713
739
  function FallbackRenderer(props) {
714
- const { field, value, onChange, disabled, t } = props;
715
- const inputType = field.config?.inputType || "textarea";
716
- const placeholder = field.config?.placeholder || "";
717
- const rows = field.config?.rows || 4;
740
+ const { field, value, onChange, disabled } = props;
741
+ const inputType = field.config?.["inputType"] || "textarea";
742
+ const placeholder = field.config?.["placeholder"] || "";
743
+ const rows = field.config?.["rows"] || 4;
718
744
  if (inputType === "textarea" || inputType === "code" || inputType === "markdown") return ssr(_tmpl$5$1, ssrHydrationKey(), ssrAttribute("value", escape(value, true), false) + ssrAttribute("placeholder", escape(placeholder, true), false) + ssrAttribute("rows", escape(rows, true), false), ssrAttribute("disabled", disabled, true));
719
745
  if (inputType === "number") return ssr(_tmpl$6$1, ssrHydrationKey(), ssrAttribute("value", escape(value, true), false) + ssrAttribute("placeholder", escape(placeholder, true), false), ssrAttribute("disabled", disabled, true));
720
746
  return ssr(_tmpl$7$1, ssrHydrationKey(), ssrAttribute("value", escape(value, true), false) + ssrAttribute("placeholder", escape(placeholder, true), false), ssrAttribute("disabled", disabled, true));
721
747
  }
722
748
  //#endregion
723
- //#region src/components/content/FieldRenderer.jsx
749
+ //#region src/components/content/FieldRenderer.tsx
724
750
  var _tmpl$ = ["<span", " class=\"field-renderer__required\">*</span>"];
725
751
  var _tmpl$2 = [
726
752
  "<p",
@@ -752,15 +778,47 @@ var _tmpl$6 = [
752
778
  " class=\"input\"",
753
779
  "></textarea>"
754
780
  ];
755
- var _tmpl$7 = ["<textarea", " class=\"input wysiwyg\" rows=\"8\"></textarea>"];
781
+ var _tmpl$7 = [
782
+ "<div",
783
+ " class=\"field-renderer__wysiwyg\"><div class=\"field-renderer__wysiwyg-toolbar\" role=\"toolbar\"",
784
+ "><select class=\"input\"",
785
+ " value><option value>",
786
+ "</option><option value=\"<h1>\">",
787
+ "</option><option value=\"<h2>\">",
788
+ "</option><option value=\"<h3>\">",
789
+ "</option><option value=\"<h4>\">",
790
+ "</option><option value=\"<blockquote>\">",
791
+ "</option><option value=\"<pre>\">",
792
+ "</option></select><span class=\"field-renderer__wysiwyg-divider\"></span><button type=\"button\"><strong>",
793
+ "</strong></button><button type=\"button\"><em>",
794
+ "</em></button><button type=\"button\"><u>",
795
+ "</u></button><span class=\"field-renderer__wysiwyg-divider\"></span><button type=\"button\">",
796
+ "</button><button type=\"button\">",
797
+ "</button><button type=\"button\">",
798
+ "</button></div><div class=\"field-renderer__wysiwyg-body input\" contenteditable=\"true\" role=\"textbox\" aria-multiline=\"true\"",
799
+ ">",
800
+ "</div></div>"
801
+ ];
756
802
  var _tmpl$8 = [
757
803
  "<input",
758
804
  " type=\"number\" class=\"input\"",
759
805
  ">"
760
806
  ];
761
- var _tmpl$9 = ["<input", " type=\"email\" class=\"input\">"];
762
- var _tmpl$0 = ["<input", " type=\"url\" class=\"input\" placeholder=\"https://\">"];
763
- var _tmpl$1 = ["<input", " type=\"password\" class=\"input\">"];
807
+ var _tmpl$9 = [
808
+ "<input",
809
+ " type=\"email\" class=\"input\"",
810
+ ">"
811
+ ];
812
+ var _tmpl$0 = [
813
+ "<input",
814
+ " type=\"url\" class=\"input\" placeholder=\"https://\"",
815
+ ">"
816
+ ];
817
+ var _tmpl$1 = [
818
+ "<input",
819
+ " type=\"password\" class=\"input\"",
820
+ ">"
821
+ ];
764
822
  var _tmpl$10 = [
765
823
  "<input",
766
824
  " type=\"checkbox\"",
@@ -795,12 +853,39 @@ var _tmpl$15 = [
795
853
  "> <!--$-->",
796
854
  "<!--/--></label>"
797
855
  ];
798
- var _tmpl$16 = ["<input", " type=\"date\" class=\"input\">"];
799
- var _tmpl$17 = ["<input", " type=\"datetime-local\" class=\"input\">"];
800
- var _tmpl$18 = ["<input", " type=\"time\" class=\"input\">"];
801
- var _tmpl$19 = ["<input", " type=\"color\">"];
802
- var _tmpl$20 = ["<div", " class=\"field-renderer__map\"><input type=\"text\" class=\"input\" placeholder=\"Endereço\"><input type=\"number\" class=\"input\" placeholder=\"Latitude (-90 a 90)\" step=\"any\" min=\"-90\" max=\"90\"><input type=\"number\" class=\"input\" placeholder=\"Longitude (-180 a 180)\" step=\"any\" min=\"-180\" max=\"180\"></div>"];
803
- var _tmpl$21 = ["<div", " class=\"field-renderer__link\"><input type=\"url\" class=\"input\" placeholder=\"https:// ou /caminho\"><select class=\"input\"><option value=\"_self\">Mesma janela</option><option value=\"_blank\">Nova janela</option></select></div>"];
856
+ var _tmpl$16 = [
857
+ "<input",
858
+ " type=\"date\" class=\"input\"",
859
+ ">"
860
+ ];
861
+ var _tmpl$17 = [
862
+ "<input",
863
+ " type=\"datetime-local\" class=\"input\"",
864
+ ">"
865
+ ];
866
+ var _tmpl$18 = [
867
+ "<input",
868
+ " type=\"time\" class=\"input\"",
869
+ ">"
870
+ ];
871
+ var _tmpl$19 = [
872
+ "<input",
873
+ " type=\"color\" class=\"input\"",
874
+ ">"
875
+ ];
876
+ var _tmpl$20 = [
877
+ "<div",
878
+ " class=\"field-renderer__map\"><input type=\"text\" class=\"input\" placeholder=\"Endereço\"",
879
+ "><input type=\"number\" class=\"input\" placeholder=\"Latitude (-90 a 90)\" step=\"any\" min=\"-90\" max=\"90\"",
880
+ "><input type=\"number\" class=\"input\" placeholder=\"Longitude (-180 a 180)\" step=\"any\" min=\"-180\" max=\"180\"",
881
+ "></div>"
882
+ ];
883
+ var _tmpl$21 = [
884
+ "<div",
885
+ " class=\"field-renderer__link\"><input type=\"url\" class=\"input\" placeholder=\"https:// ou /caminho\"",
886
+ "><select class=\"input\"",
887
+ "><option value=\"_self\">Mesma janela</option><option value=\"_blank\">Nova janela</option></select></div>"
888
+ ];
804
889
  var _tmpl$22 = [
805
890
  "<div",
806
891
  " class=\"field-renderer__rows\"><!--$-->",
@@ -935,6 +1020,9 @@ function FieldRenderer(props) {
935
1020
  onChange: setValue,
936
1021
  get values() {
937
1022
  return props.values;
1023
+ },
1024
+ get t() {
1025
+ return props.t;
938
1026
  }
939
1027
  })), escape(createComponent(Show, {
940
1028
  get when() {
@@ -952,15 +1040,15 @@ function FieldControl(props) {
952
1040
  switch (props.field.type) {
953
1041
  case "text": return ssr(_tmpl$5, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false) + ssrAttribute("placeholder", escape(config()["placeholder"], true), false) + ssrAttribute("maxlength", escape(config()["maxLength"] ?? config()["characterLimit"], true), false));
954
1042
  case "textarea": return ssr(_tmpl$6, ssrHydrationKey(), ssrAttribute("rows", escape(config()["rows"] ?? 4, true), false) + ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false) + ssrAttribute("placeholder", escape(config()["placeholder"], true), false) + ssrAttribute("maxlength", escape(config()["maxLength"] ?? config()["characterLimit"], true), false));
955
- case "wysiwyg": return ssr(_tmpl$7, ssrHydrationKey());
1043
+ case "wysiwyg": return ssr(_tmpl$7, ssrHydrationKey(), ssrAttribute("aria-label", escape(props.t("content.editor.toolbar"), true), false), ssrAttribute("aria-label", escape(props.t("content.editor.format"), true), false), escape(props.t("content.editor.formatParagraph")), escape(props.t("content.editor.formatH1")), escape(props.t("content.editor.formatH2")), escape(props.t("content.editor.formatH3")), escape(props.t("content.editor.formatH4")), escape(props.t("content.editor.formatBlockquote")), escape(props.t("content.editor.formatCode")), escape(props.t("content.editor.bold")), escape(props.t("content.editor.italic")), escape(props.t("content.editor.underline")), escape(props.t("content.editor.bulletList")), escape(props.t("content.editor.numberedList")), escape(props.t("content.editor.link")), ssrAttribute("data-placeholder", escape(config()["placeholder"], true), false), props.value ?? config()["defaultValue"] ?? "");
956
1044
  case "number":
957
1045
  case "range": return ssr(_tmpl$8, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false) + ssrAttribute("min", escape(config()["min"] ?? config()["minValue"], true), false) + ssrAttribute("max", escape(config()["max"] ?? config()["maxValue"], true), false) + ssrAttribute("step", escape(config()["step"], true), false));
958
- case "email": return ssr(_tmpl$9, ssrHydrationKey());
959
- case "url": return ssr(_tmpl$0, ssrHydrationKey());
960
- case "password": return ssr(_tmpl$1, ssrHydrationKey());
1046
+ case "email": return ssr(_tmpl$9, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false));
1047
+ case "url": return ssr(_tmpl$0, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false));
1048
+ case "password": return ssr(_tmpl$1, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false));
961
1049
  case "slug": return ssr(_tmpl$5, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false) + ssrAttribute("placeholder", escape(config()["placeholder"], true), false));
962
1050
  case "true_false": return ssr(_tmpl$10, ssrHydrationKey(), ssrAttribute("checked", Boolean(props.value), true));
963
- case "select": return ssr(_tmpl$11, ssrHydrationKey(), ssrAttribute("multiple", config()["multiple"] === true, true), escape(createComponent(For, {
1051
+ case "select": return ssr(_tmpl$11, ssrHydrationKey(), ssrAttribute("multiple", config()["multiple"] === true, true) + ssrAttribute("value", config()["multiple"] === true ? Array.isArray(props.value) ? escape(props.value, true) : escape([], true) : escape(props.value ?? config()["defaultValue"] ?? "", true), false), escape(createComponent(For, {
964
1052
  get each() {
965
1053
  return config()["choices"] ?? [];
966
1054
  },
@@ -981,10 +1069,10 @@ function FieldControl(props) {
981
1069
  return ssr(_tmpl$15, ssrHydrationKey(), ssrAttribute("checked", checked(), true), escape(choice.label));
982
1070
  }
983
1071
  })));
984
- case "date_picker": return ssr(_tmpl$16, ssrHydrationKey());
985
- case "date_time_picker": return ssr(_tmpl$17, ssrHydrationKey());
986
- case "time_picker": return ssr(_tmpl$18, ssrHydrationKey());
987
- case "color_picker": return ssr(_tmpl$19, ssrHydrationKey());
1072
+ case "date_picker": return ssr(_tmpl$16, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false));
1073
+ case "date_time_picker": return ssr(_tmpl$17, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false));
1074
+ case "time_picker": return ssr(_tmpl$18, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false));
1075
+ case "color_picker": return ssr(_tmpl$19, ssrHydrationKey(), ssrAttribute("value", escape(props.value ?? config()["defaultValue"] ?? "", true), false));
988
1076
  case "image":
989
1077
  case "file": return createComponent(MediaPickerInput, {
990
1078
  multiple: false,
@@ -1002,8 +1090,8 @@ function FieldControl(props) {
1002
1090
  },
1003
1091
  accept: "image/*"
1004
1092
  });
1005
- case "google_map": return ssr(_tmpl$20, ssrHydrationKey());
1006
- case "link": return ssr(_tmpl$21, ssrHydrationKey());
1093
+ case "google_map": return ssr(_tmpl$20, ssrHydrationKey(), ssrAttribute("value", escape(props.value?.["address"] ?? "", true), false), ssrAttribute("value", escape(props.value?.["lat"] ?? "", true), false), ssrAttribute("value", escape(props.value?.["lng"] ?? "", true), false));
1094
+ case "link": return ssr(_tmpl$21, ssrHydrationKey(), ssrAttribute("value", escape(props.value?.["url"] ?? "", true), false), ssrAttribute("value", escape(props.value?.["target"] ?? "_self", true), false));
1007
1095
  case "relationship":
1008
1096
  case "post_object": return createComponent(RelationshipPicker, {
1009
1097
  get postType() {
@@ -1048,6 +1136,9 @@ function FieldControl(props) {
1048
1136
  get index() {
1049
1137
  return index();
1050
1138
  },
1139
+ get t() {
1140
+ return props.t;
1141
+ },
1051
1142
  onUpdate: (updated) => {
1052
1143
  const next = [...rows()];
1053
1144
  next[index()] = updated;
@@ -1097,6 +1188,9 @@ function FieldControl(props) {
1097
1188
  get values() {
1098
1189
  return rowData();
1099
1190
  },
1191
+ get t() {
1192
+ return props.t;
1193
+ },
1100
1194
  onChange: (name, value) => {
1101
1195
  const current = [...Array.isArray(props.value) ? props.value : []];
1102
1196
  current[index()] = {
@@ -1126,6 +1220,9 @@ function FieldControl(props) {
1126
1220
  get values() {
1127
1221
  return props.value ?? {};
1128
1222
  },
1223
+ get t() {
1224
+ return props.t;
1225
+ },
1129
1226
  onChange: (name, val) => props.onChange({
1130
1227
  ...props.value ?? {},
1131
1228
  [name]: val
@@ -1149,7 +1246,7 @@ function FieldControl(props) {
1149
1246
  get adminComponentPath() {
1150
1247
  return props.field.adminComponentPath;
1151
1248
  },
1152
- get t() {
1249
+ get _t() {
1153
1250
  return props.t;
1154
1251
  }
1155
1252
  });
@@ -1166,6 +1263,9 @@ function RepeaterRow(props) {
1166
1263
  get values() {
1167
1264
  return props.row;
1168
1265
  },
1266
+ get t() {
1267
+ return props.t;
1268
+ },
1169
1269
  onChange: (name, value) => props.onUpdate({
1170
1270
  ...props.row,
1171
1271
  [name]: value
@@ -1,6 +1,6 @@
1
1
  import { Portal, createComponent, escape, ssr, ssrAttribute, ssrHydrationKey, ssrStyle } from "solid-js/web";
2
2
  import { Show, createEffect, createSignal, onCleanup, onMount } from "solid-js";
3
- //#region src/components/ui/FloatingPanel.jsx
3
+ //#region src/components/ui/FloatingPanel.tsx
4
4
  var _tmpl$ = [
5
5
  "<div",
6
6
  " style=\"",
@@ -1,7 +1,7 @@
1
- import { n as useTranslation, r as apiClient } from "./i18n_RELfVLel.mjs";
2
- import { c as Button, d as Input, f as Modal, h as Show2, m as Select, p as Pagination, u as For2, v as createSignal, y as onMount } from "./DashboardLayout_DGbCn1gh.mjs";
1
+ import { n as useTranslation, r as apiClient } from "./i18n_jhv_lr6z.mjs";
2
+ import { c as Button, d as Input, f as Modal, h as Show2, m as Select, p as Pagination, u as For2, v as createSignal, y as onMount } from "./DashboardLayout_CrO_yWkB.mjs";
3
3
  import { createComponent, escape, memo, ssr, ssrAttribute, ssrHydrationKey, ssrStyleProperty } from "solid-js/web";
4
- //#region src/components/media/MediaLibrary.jsx
4
+ //#region src/components/media/MediaLibrary.tsx
5
5
  var _tmpl$ = [
6
6
  "<div",
7
7
  " class=\"notice notice--error\">",
@@ -1,7 +1,7 @@
1
- import { n as useTranslation } from "./i18n_RELfVLel.mjs";
1
+ import { n as useTranslation } from "./i18n_jhv_lr6z.mjs";
2
2
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
3
3
  import { Show, createEffect, onCleanup } from "solid-js";
4
- //#region src/components/ui/Modal.jsx
4
+ //#region src/components/ui/Modal.tsx
5
5
  var _tmpl$ = [
6
6
  "<div",
7
7
  " class=\"modal-overlay\" role=\"presentation\"><section class=\"modal\" role=\"dialog\" aria-modal=\"true\"",
@@ -1,5 +1,5 @@
1
1
  import { escape, mergeProps, ssr, ssrElement, ssrHydrationKey } from "solid-js/web";
2
- //#region src/components/shared/PageHeader.jsx
2
+ //#region src/components/shared/PageHeader.tsx
3
3
  var _tmpl$ = [
4
4
  "<div class=\"fb-page-header__main\"><!--$-->",
5
5
  "<!--/--><h1>",
@@ -1,7 +1,7 @@
1
- import { t as FloatingPanel } from "./FloatingPanel_BtB-nNBT.mjs";
1
+ import { t as FloatingPanel } from "./FloatingPanel_DI2CdUZK.mjs";
2
2
  import { createComponent, escape, ssr, ssrAttribute, ssrHydrationKey } from "solid-js/web";
3
3
  import { For, Show, createMemo, createSignal } from "solid-js";
4
- //#region src/components/apps/settings/TimezoneSelect.jsx
4
+ //#region src/components/apps/settings/TimezoneSelect.tsx
5
5
  var _tmpl$ = [
6
6
  "<input",
7
7
  " type=\"search\" class=\"input tz-select__search\"",