@oktis-works/admin 0.20.0 → 0.23.1

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 (114) hide show
  1. package/dist/client/_astro/{ActivityWidget.DtG_8-bC.js → ActivityWidget.Dzoi-bq3.js} +1 -1
  2. package/dist/client/_astro/{AdminBar.DWgISuE1.js → AdminBar.eT1ch_B6.js} +1 -1
  3. package/dist/client/_astro/{ApiKeysManager.9WL8yofB.js → ApiKeysManager.kbTE1CPk.js} +1 -1
  4. package/dist/client/_astro/{AtGlanceWidget.B5byv-Z6.js → AtGlanceWidget.w23IIv06.js} +1 -1
  5. package/dist/client/_astro/{BaseLayout.Dw2OoSEv.css → BaseLayout.Rpr86VwM.css} +1 -1
  6. package/dist/client/_astro/{CommentsManager.C5gleTZN.js → CommentsManager.BN7i1RHa.js} +1 -1
  7. package/dist/client/_astro/ContentEditor.BlsJ2bwD.js +1 -0
  8. package/dist/client/_astro/{ContentTypeWorkspace.wFn1FHsk.js → ContentTypeWorkspace.BPVuQgzA.js} +1 -1
  9. package/dist/client/_astro/{DashboardHome.CoVmaWtV.js → DashboardHome.DXzu_IXZ.js} +1 -1
  10. package/dist/client/_astro/{DashboardLayout.astro_astro_type_script_index_0_lang.BEDbOjeH.js → DashboardLayout.astro_astro_type_script_index_0_lang.DmNSzErX.js} +1 -1
  11. package/dist/client/_astro/{FieldGroupEditor.DixyIeAD.js → FieldGroupEditor.DsqphEgt.js} +1 -1
  12. package/dist/client/_astro/{FieldGroupList.KCRsCtjN.js → FieldGroupList.pW2Um9om.js} +1 -1
  13. package/dist/client/_astro/FieldRenderer.AYtSBfHZ.js +3 -0
  14. package/dist/client/_astro/{Footer.Bis7kk52.js → Footer.5Lcn2VXz.js} +1 -1
  15. package/dist/client/_astro/{GeneralSettings.DWUL4EPc.js → GeneralSettings.B-H8Rzy7.js} +1 -1
  16. package/dist/client/_astro/{LogsManager.wobqWCrD.js → LogsManager.Crd8q2te.js} +1 -1
  17. package/dist/client/_astro/{MediaLibrary.B_DxFMQi.js → MediaLibrary.Cv6Ry3u9.js} +1 -1
  18. package/dist/client/_astro/{MenuManager.CB6j6yQw.js → MenuManager.D25ika09.js} +1 -1
  19. package/dist/client/_astro/{Modal.eJIvbMT2.js → Modal.572hmVvb.js} +1 -1
  20. package/dist/client/_astro/{PluginManager.CT-7t4Wz.js → PluginManager.DLfgQFPF.js} +1 -1
  21. package/dist/client/_astro/{PostTypesManager.LW5RMORG.js → PostTypesManager.C3RbmOZT.js} +1 -1
  22. package/dist/client/_astro/{QuickDraftWidget.zabr8JfM.js → QuickDraftWidget.BtSGzhKq.js} +1 -1
  23. package/dist/client/_astro/{ReadingSettings.BiSPyKOf.js → ReadingSettings.ZFDaeo5U.js} +1 -1
  24. package/dist/client/_astro/{ResourceHubs.CmV4Mz6z.js → ResourceHubs.Cx9fbCv1.js} +1 -1
  25. package/dist/client/_astro/{TaxonomiesManager.BzFfeZEj.js → TaxonomiesManager.BLsvmjaL.js} +1 -1
  26. package/dist/client/_astro/TaxonomyTermsManager.C_xEh8Ab.js +1 -0
  27. package/dist/client/_astro/ThemeCustomizer.yx8rEKcL.js +577 -0
  28. package/dist/client/_astro/{ThemeManager.BVqp2Bk3.js → ThemeManager.BpS3m7Qc.js} +2 -2
  29. package/dist/client/_astro/{UserCreateForm.D2dkK0S5.js → UserCreateForm.BYwgAqKk.js} +1 -1
  30. package/dist/client/_astro/{UsersManager.CUU4ncDR.js → UsersManager.DODMr48D.js} +1 -1
  31. package/dist/client/_astro/{WebhooksManager.DV2TWIOt.js → WebhooksManager.DmWIW272.js} +1 -1
  32. package/dist/client/_astro/ar.BCtMLfbL.js +1 -0
  33. package/dist/client/_astro/clone.oDfZEkVn.js +1 -0
  34. package/dist/client/_astro/es-ES.BfYd3kCv.js +1 -0
  35. package/dist/client/_astro/he.pQFPO6hc.js +1 -0
  36. package/dist/client/_astro/{i18n.BFBHzd3w.js → i18n.A82w5XQu.js} +1 -1
  37. package/dist/client/_astro/it.ZpeUogpB.js +1 -0
  38. package/dist/client/_astro/ja.Ch5X4gaR.js +1 -0
  39. package/dist/client/_astro/pl.DDgkAPXr.js +1 -0
  40. package/dist/client/_astro/{pt-BR.DB_qjzov.js → pt-BR.zZcF2v3X.js} +1 -1
  41. package/dist/client/_astro/ru.CAjJz8Cj.js +1 -0
  42. package/dist/client/_astro/sw.CehAEkRN.js +1 -0
  43. package/dist/client/_astro/tr.Sf1XkPHa.js +1 -0
  44. package/dist/client/_astro/uk.-2u2eOOq.js +1 -0
  45. package/dist/client/_astro/yo.os9m69tq.js +1 -0
  46. package/dist/client/_astro/zh-CN.Bt1lpQQu.js +1 -0
  47. package/dist/server/chunks/{404_BMps-rRP.mjs → 404_BjHJCErQ.mjs} +1 -1
  48. package/dist/server/chunks/{BaseLayout_eq-iwg5V.mjs → BaseLayout_DrIrAANk.mjs} +1 -1
  49. package/dist/server/chunks/{ContentEditor_CD80dY0I.mjs → ContentEditor_BhXk6xd0.mjs} +4 -3
  50. package/dist/server/chunks/{DashboardLayout_CrO_yWkB.mjs → DashboardLayout_DxMWAFCu.mjs} +2 -2
  51. package/dist/server/chunks/{FieldRenderer_BSvrsqN8.mjs → FieldRenderer_CD8prpXz.mjs} +3 -61
  52. package/dist/server/chunks/{MediaLibrary_BGZEgsua.mjs → MediaLibrary_BY9b_CPa.mjs} +2 -2
  53. package/dist/server/chunks/{Modal_QxIjzTdp.mjs → Modal_BmuvdwoB.mjs} +1 -1
  54. package/dist/server/chunks/{_id__BIPcYNtN.mjs → _id__BeIHLdfs.mjs} +2 -2
  55. package/dist/server/chunks/{_slug__XNFTP0Q1.mjs → _slug__Dsz2U4cu.mjs} +1 -1
  56. package/dist/server/chunks/{access_D-_mBK3K.mjs → access_ClmMoH40.mjs} +3 -3
  57. package/dist/server/chunks/{api-keys_z4-GVRaL.mjs → api-keys_DLbrSM4U.mjs} +3 -3
  58. package/dist/server/chunks/{ar_DObFFdrO.mjs → ar_Cgz1nkYN.mjs} +30 -3
  59. package/dist/server/chunks/clone_FT3Zf-Bf.mjs +59 -0
  60. package/dist/server/chunks/{comments_qCxr0Y8w.mjs → comments_Cg1jrxti.mjs} +2 -2
  61. package/dist/server/chunks/{custom-fields_Dp3OiD0S.mjs → custom-fields_CVJsfyk6.mjs} +2 -2
  62. package/dist/server/chunks/customize_BW-P44BY.mjs +1549 -0
  63. package/dist/server/chunks/{edit_BxXS3NT6.mjs → edit_DdmQd4K3.mjs} +2 -2
  64. package/dist/server/chunks/{es-ES_D6jd6T7H.mjs → es-ES_Bw0g3h9x.mjs} +30 -3
  65. package/dist/server/chunks/{he_DwGJwonL.mjs → he_BcJYW2q8.mjs} +30 -3
  66. package/dist/server/chunks/{i18n_jhv_lr6z.mjs → i18n_C-sgJSi1.mjs} +14 -13
  67. package/dist/server/chunks/{index_tQk65WtE.mjs → index_BSQio-Py.mjs} +2 -2
  68. package/dist/server/chunks/{index_DVQd057F.mjs → index_BktteRMy.mjs} +2 -2
  69. package/dist/server/chunks/{index_aa5_ET2K.mjs → index_Bv2fgBnE.mjs} +3 -3
  70. package/dist/server/chunks/{index_BuUzsa32.mjs → index_Bw0pBVRv.mjs} +2 -2
  71. package/dist/server/chunks/{index_CaR204jg.mjs → index_DxNPNwIw.mjs} +2 -2
  72. package/dist/server/chunks/{it_CMLpQyoj.mjs → it_CgOxhoxy.mjs} +30 -3
  73. package/dist/server/chunks/{ja_CYRz0pHv.mjs → ja_0swn1wUm.mjs} +30 -3
  74. package/dist/server/chunks/{login_JwlFuBYd.mjs → login_BCRPUCQz.mjs} +1 -1
  75. package/dist/server/chunks/{logs_td2w_HCW.mjs → logs_DlzM1kpI.mjs} +2 -2
  76. package/dist/server/chunks/{menus_Brbqh27T.mjs → menus_pMKatAHX.mjs} +2 -2
  77. package/dist/server/chunks/{new_M5jNG81S.mjs → new_B3cNZZO2.mjs} +2 -2
  78. package/dist/server/chunks/{new_aklFjYkE.mjs → new_C9JrPY2y.mjs} +2 -2
  79. package/dist/server/chunks/{pl_BuXVPvU1.mjs → pl_eLBKfEwP.mjs} +30 -3
  80. package/dist/server/chunks/{plugins_KhcXhLHj.mjs → plugins_BTPNe18c.mjs} +2 -2
  81. package/dist/server/chunks/{post-types_DD3nerIE.mjs → post-types_DIYWDXCR.mjs} +2 -2
  82. package/dist/server/chunks/{pt-BR_Barbcx-V.mjs → pt-BR_AVNE88MZ.mjs} +1 -0
  83. package/dist/server/chunks/{reading_ghF5feXj.mjs → reading_BBV5Dsg0.mjs} +2 -2
  84. package/dist/server/chunks/{ru_C56ltukG.mjs → ru_Dt3fMzac.mjs} +30 -3
  85. package/dist/server/chunks/{sw_Dhw0GAgD.mjs → sw_oPyQwKSK.mjs} +30 -3
  86. package/dist/server/chunks/{taxonomies_CsUEhmvC.mjs → taxonomies_G6ROt7Dn.mjs} +2 -2
  87. package/dist/server/chunks/{taxonomy_BfNm0HUh.mjs → taxonomy_B59mViQc.mjs} +4 -3
  88. package/dist/server/chunks/{themes_DnFB-Bio.mjs → themes_CygkZJbP.mjs} +6 -4
  89. package/dist/server/chunks/{tr_zELRy7A-.mjs → tr_DG1ipiJ0.mjs} +30 -3
  90. package/dist/server/chunks/{uk_DVOqp1x6.mjs → uk_DCWgX6k4.mjs} +30 -3
  91. package/dist/server/chunks/{upload_D5xS-Nri.mjs → upload_BOPk3diJ.mjs} +2 -2
  92. package/dist/server/chunks/{webhooks_B_6eHrir.mjs → webhooks_BiHf1cMk.mjs} +2 -2
  93. package/dist/server/chunks/{yo_BqgZcoxs.mjs → yo_DsFzhH21.mjs} +30 -3
  94. package/dist/server/chunks/{zh-CN_Dz2D1XUc.mjs → zh-CN_OaG8XYVK.mjs} +30 -3
  95. package/dist/server/entry.mjs +28 -28
  96. package/dist/server/virtual_astro_middleware.mjs +1 -1
  97. package/package.json +1 -1
  98. package/dist/client/_astro/ContentEditor.C0RpyhzW.js +0 -1
  99. package/dist/client/_astro/FieldRenderer.BjnbGFPe.js +0 -3
  100. package/dist/client/_astro/TaxonomyTermsManager.CvCxMf0u.js +0 -1
  101. package/dist/client/_astro/ThemeCustomizer.BIct4Scf.js +0 -49
  102. package/dist/client/_astro/ar.BeEmOTlL.js +0 -1
  103. package/dist/client/_astro/es-ES.C0DI0CK6.js +0 -1
  104. package/dist/client/_astro/he.RF4swhtn.js +0 -1
  105. package/dist/client/_astro/it.DhCR9YsW.js +0 -1
  106. package/dist/client/_astro/ja.DPrxHQvU.js +0 -1
  107. package/dist/client/_astro/pl.6VCoPa7y.js +0 -1
  108. package/dist/client/_astro/ru.Cv0Z6X2y.js +0 -1
  109. package/dist/client/_astro/sw.BBMIgY-Y.js +0 -1
  110. package/dist/client/_astro/tr.BWEmWhCE.js +0 -1
  111. package/dist/client/_astro/uk.DDXJXOmn.js +0 -1
  112. package/dist/client/_astro/yo.DNoEBLJd.js +0 -1
  113. package/dist/client/_astro/zh-CN.CVKBB6Ky.js +0 -1
  114. package/dist/server/chunks/customize_zTqT6Yj2.mjs +0 -233
@@ -1,4 +1,4 @@
1
- import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,i as l,l as u,m as d,o as f,p,s as m,u as h}from"./web.DD6VKaIp.js";import{n as g}from"./i18n.BFBHzd3w.js";import{n as _}from"./api.53l1ob4Z.js";var v=o(`<div class=theme-manager><div class=theme-toolbar><p class=page-hint></p><button class="btn btn-refresh"></button></div><!$><!/><!$><!/><!$><!/><!$><!/><style>
1
+ import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,i as l,l as u,m as d,o as f,p,s as m,u as h}from"./web.DD6VKaIp.js";import{n as g}from"./i18n.A82w5XQu.js";import{n as _}from"./api.53l1ob4Z.js";var v=o(`<div class=theme-manager><div class=theme-toolbar><p class=page-hint></p><button class="btn btn-refresh"></button></div><!$><!/><!$><!/><!$><!/><!$><!/><style>
2
2
  .theme-toolbar {
3
3
  display: flex;
4
4
  align-items: flex-start;
@@ -141,4 +141,4 @@ import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";impor
141
141
  text-align: center;
142
142
  color: var(--color-muted);
143
143
  }
144
- `),y=o(`<div class="alert alert-error">`),b=o(`<div class="alert alert-warning">`),x=o(`<div class=skeleton>Loading...`),S=o(`<div class=themes-grid><!$><!/><!$><!/>`),C=o(`<img class=theme-preview__img alt loading=lazy>`,!0,!1,!1),w=o(`<div><div class=theme-preview><!$><!/><!$><!/></div><div class=theme-info><h3></h3><p class=theme-version><!$><!/>: <!$><!/></p><p class=theme-status><span></span></p><!$><!/></div><div class=theme-actions><button>`),T=o(`<div class="theme-badge active-badge">`),E=o(`<p class=theme-desc>`),D=o(`<div class=empty-state>`);function O(){let{t:o}=g(),[s,O]=n([]),[k,A]=n(!0),[j,M]=n(null),[N,P]=n(null),[F,I]=n(null);e(async()=>{await L()});async function L(){M(null),P(null);try{A(!0);let e;try{e=await _.syncThemes()}catch{e=await _.getThemes()}O(e)}catch{M(o(`themes.loadError`))}finally{A(!1)}}async function R(e){let t=e.status===`ACTIVE`;if(M(null),P(null),t&&s().length<=1){P(o(`themes.deactivateBlocked`));return}I(e.id);try{let n=t?await _.deactivateTheme(e.id):await _.activateTheme(e.id);O(s().map(t=>t.id===e.id?n:t.status===`ACTIVE`&&n.status===`ACTIVE`?{...t,status:`INACTIVE`}:t))}catch{M(o(t?`themes.deactivateError`:`themes.activateError`))}finally{I(null)}}function z(e){let t=e.manifest?.preview??e.manifest?.screenshots?.[0];return!t||typeof t!=`string`?null:/^(https?:)?\/\//.test(t)||t.startsWith(`/`)?t:`/themes/${encodeURIComponent(e.name)}/${t}`}let B=e=>{switch(e){case`ACTIVE`:return o(`themes.status.active`);case`INSTALLED`:return o(`themes.status.installed`);case`INACTIVE`:return o(`themes.status.inactive`);default:return e}},V=e=>{switch(e){case`ACTIVE`:return`status-active`;case`INSTALLED`:return`status-installed`;case`INACTIVE`:return`status-inactive`;default:return``}};return(()=>{var e=f(v),n=e.firstChild,g=n.firstChild,_=g.nextSibling,O=n.nextSibling,[A,M]=m(O.nextSibling),P=A.nextSibling,[I,H]=m(P.nextSibling),U=I.nextSibling,[W,G]=m(U.nextSibling),K=W.nextSibling,[q,J]=m(K.nextSibling);return q.nextSibling,u(g,()=>o(`themes.directoryHint`)),_.$$click=L,u(_,()=>o(`themes.reload`)),u(e,(()=>{var e=h(()=>!!j());return()=>e()&&(()=>{var e=f(y);return u(e,j),e})()})(),A,M),u(e,(()=>{var e=h(()=>!!N());return()=>e()&&(()=>{var e=f(b);return u(e,N),e})()})(),I,H),u(e,(()=>{var e=h(()=>!!k());return()=>e()&&f(x)})(),W,G),u(e,(()=>{var e=h(()=>!k());return()=>e()&&(()=>{var e=f(S),n=e.firstChild,[g,_]=m(n.nextSibling),v=g.nextSibling,[y,b]=m(v.nextSibling);return u(e,r(a,{get each(){return s()},children:e=>{let n=z(e);return(()=>{var a=f(w),s=a.firstChild,g=s.firstChild,[_,v]=m(g.nextSibling),y=_.nextSibling,[b,x]=m(y.nextSibling),S=s.nextSibling,D=S.firstChild,O=D.nextSibling,k=O.firstChild,[A,j]=m(k.nextSibling),M=A.nextSibling.nextSibling,[N,P]=m(M.nextSibling),I=O.nextSibling,L=I.firstChild,z=I.nextSibling,[H,U]=m(z.nextSibling),W=S.nextSibling.firstChild;return u(s,r(t,{when:n,get children(){var e=f(C);return e.addEventListener(`error`,e=>{e.currentTarget.style.display=`none`}),p(e,`src`,n),e}}),_,v),u(s,(()=>{var t=h(()=>e.status===`ACTIVE`);return()=>t()&&(()=>{var e=f(T);return u(e,()=>o(`themes.active`)),e})()})(),b,x),u(D,()=>e.name),u(O,()=>o(`themes.version`),A,j),u(O,()=>e.version,N,P),u(L,()=>B(e.status)),u(S,(()=>{var t=h(()=>!!e.manifest?.description);return()=>t()&&(()=>{var t=f(E);return u(t,()=>e.manifest.description),t})()})(),H,U),W.$$click=()=>R(e),u(W,(()=>{var t=h(()=>e.status===`ACTIVE`);return()=>t()?o(`themes.deactivate`):o(`themes.activate`)})()),i(t=>{var n=`theme-card ${e.status===`ACTIVE`?`active`:``}`,r=`status-badge ${V(e.status)}`,i=`btn ${F()===e.id?`btn-loading`:``}`,o=F()!==null;return n!==t.e&&l(a,t.e=n),r!==t.t&&l(L,t.t=r),i!==t.a&&l(W,t.a=i),o!==t.o&&d(W,`disabled`,t.o=o),t},{e:void 0,t:void 0,a:void 0,o:void 0}),c(),a})()}}),g,_),u(e,(()=>{var e=h(()=>s().length===0);return()=>e()&&(()=>{var e=f(D);return u(e,()=>o(`themes.empty`)),e})()})(),y,b),e})()})(),q,J),i(()=>d(_,`disabled`,k())),c(),e})()}s([`click`]);export{O as ThemeManager};
144
+ `),y=o(`<div class="alert alert-error">`),b=o(`<div class="alert alert-warning">`),x=o(`<div class=skeleton>Loading...`),S=o(`<div class=themes-grid><!$><!/><!$><!/>`),C=o(`<img class=theme-preview__img alt loading=lazy>`,!0,!1,!1),w=o(`<div><div class=theme-preview><!$><!/><!$><!/></div><div class=theme-info><h3></h3><p class=theme-version><!$><!/>: <!$><!/></p><p class=theme-status><span></span></p><!$><!/></div><div class=theme-actions><button></button><a class="btn btn-secondary">`),T=o(`<div class="theme-badge active-badge">`),E=o(`<p class=theme-desc>`),D=o(`<div class=empty-state>`);function O(){let{t:o}=g(),[s,O]=n([]),[k,A]=n(!0),[j,M]=n(null),[N,P]=n(null),[F,I]=n(null);e(async()=>{await L()});async function L(){M(null),P(null);try{A(!0);let e;try{e=await _.syncThemes()}catch{e=await _.getThemes()}O(e)}catch{M(o(`themes.loadError`))}finally{A(!1)}}async function R(e){let t=e.status===`ACTIVE`;if(M(null),P(null),t&&s().length<=1){P(o(`themes.deactivateBlocked`));return}I(e.id);try{let n=t?await _.deactivateTheme(e.id):await _.activateTheme(e.id);O(s().map(t=>t.id===e.id?n:t.status===`ACTIVE`&&n.status===`ACTIVE`?{...t,status:`INACTIVE`}:t))}catch{M(o(t?`themes.deactivateError`:`themes.activateError`))}finally{I(null)}}function z(e){let t=e.manifest?.preview??e.manifest?.screenshots?.[0];return!t||typeof t!=`string`?null:/^(https?:)?\/\//.test(t)||t.startsWith(`/`)?t:`/themes/${encodeURIComponent(e.name)}/${t}`}let B=e=>{switch(e){case`ACTIVE`:return o(`themes.status.active`);case`INSTALLED`:return o(`themes.status.installed`);case`INACTIVE`:return o(`themes.status.inactive`);default:return e}},V=e=>{switch(e){case`ACTIVE`:return`status-active`;case`INSTALLED`:return`status-installed`;case`INACTIVE`:return`status-inactive`;default:return``}};return(()=>{var e=f(v),n=e.firstChild,g=n.firstChild,_=g.nextSibling,O=n.nextSibling,[A,M]=m(O.nextSibling),P=A.nextSibling,[I,H]=m(P.nextSibling),U=I.nextSibling,[W,G]=m(U.nextSibling),K=W.nextSibling,[q,J]=m(K.nextSibling);return q.nextSibling,u(g,()=>o(`themes.directoryHint`)),_.$$click=L,u(_,()=>o(`themes.reload`)),u(e,(()=>{var e=h(()=>!!j());return()=>e()&&(()=>{var e=f(y);return u(e,j),e})()})(),A,M),u(e,(()=>{var e=h(()=>!!N());return()=>e()&&(()=>{var e=f(b);return u(e,N),e})()})(),I,H),u(e,(()=>{var e=h(()=>!!k());return()=>e()&&f(x)})(),W,G),u(e,(()=>{var e=h(()=>!k());return()=>e()&&(()=>{var e=f(S),n=e.firstChild,[g,_]=m(n.nextSibling),v=g.nextSibling,[y,b]=m(v.nextSibling);return u(e,r(a,{get each(){return s()},children:e=>{let n=z(e);return(()=>{var a=f(w),s=a.firstChild,g=s.firstChild,[_,v]=m(g.nextSibling),y=_.nextSibling,[b,x]=m(y.nextSibling),S=s.nextSibling,D=S.firstChild,O=D.nextSibling,k=O.firstChild,[A,j]=m(k.nextSibling),M=A.nextSibling.nextSibling,[N,P]=m(M.nextSibling),I=O.nextSibling,L=I.firstChild,z=I.nextSibling,[H,U]=m(z.nextSibling),W=S.nextSibling.firstChild,G=W.nextSibling;return u(s,r(t,{when:n,get children(){var e=f(C);return e.addEventListener(`error`,e=>{e.currentTarget.style.display=`none`}),p(e,`src`,n),e}}),_,v),u(s,(()=>{var t=h(()=>e.status===`ACTIVE`);return()=>t()&&(()=>{var e=f(T);return u(e,()=>o(`themes.active`)),e})()})(),b,x),u(D,()=>e.name),u(O,()=>o(`themes.version`),A,j),u(O,()=>e.version,N,P),u(L,()=>B(e.status)),u(S,(()=>{var t=h(()=>!!e.manifest?.description);return()=>t()&&(()=>{var t=f(E);return u(t,()=>e.manifest.description),t})()})(),H,U),W.$$click=()=>R(e),u(W,(()=>{var t=h(()=>e.status===`ACTIVE`);return()=>t()?o(`themes.deactivate`):o(`themes.activate`)})()),u(G,()=>o(`themes.customize`)),i(t=>{var n=`theme-card ${e.status===`ACTIVE`?`active`:``}`,r=`status-badge ${V(e.status)}`,i=`btn ${F()===e.id?`btn-loading`:``}`,o=F()!==null,s=`/customize${e.status===`ACTIVE`?``:`?theme=${encodeURIComponent(e.id)}`}`;return n!==t.e&&l(a,t.e=n),r!==t.t&&l(L,t.t=r),i!==t.a&&l(W,t.a=i),o!==t.o&&d(W,`disabled`,t.o=o),s!==t.i&&p(G,`href`,t.i=s),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),c(),a})()}}),g,_),u(e,(()=>{var e=h(()=>s().length===0);return()=>e()&&(()=>{var e=f(D);return u(e,()=>o(`themes.empty`)),e})()})(),y,b),e})()})(),q,J),i(()=>d(_,`disabled`,k())),c(),e})()}s([`click`]);export{O as ThemeManager};
@@ -1 +1 @@
1
- import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,l,m as u,o as d,s as f,u as ee}from"./web.DD6VKaIp.js";import{n as p}from"./i18n.BFBHzd3w.js";import{n as m}from"./api.53l1ob4Z.js";var h=o(`<div class="notice notice--error">`),te=o(`<div class=user-create><!$><!/><form class=card><h3></h3><div class=form-grid><label><!$><!/><input class=input required></label><label><!$><!/><input class=input type=email required></label><label><!$><!/><span class=muted></span><input class=input type=password required minlength=8></label><label><!$><!/><select class=input><option value></option><!$><!/></select></label></div><p class=muted><!$><!/> <!$><!/> — <!$><!/> <!$><!/>.</p><div class=media-details__actions><button class="btn btn-primary"type=submit></button><a class="btn btn-secondary"href=/users>`),g=o(`<option><!$><!/> (<!$><!/>)`);function _(){let{t:o}=p(),[s,_]=n(``),[v,y]=n(``),[b,ne]=n(``),[x,S]=n(``),[C,w]=n([]),[T,E]=n(``),[D,O]=n(!1);e(async()=>{try{let e=await m.listRoles();w(e),S(e.find(e=>e.slug===`EDITOR`)?.id??e[0]?.id??``)}catch{}});let re=async e=>{if(e.preventDefault(),E(``),b().length<8){E(o(`users.detail.passwordError`));return}O(!0);try{await m.createUser({name:s(),email:v(),password:b(),roleId:x()||void 0}),window.location.href=`/users`}catch(e){E(e instanceof Error?e.message:String(e)),O(!1)}};return(()=>{var e=d(te),n=e.firstChild,[p,m]=f(n.nextSibling),w=p.nextSibling,E=w.firstChild,O=E.nextSibling,k=O.firstChild,ie=k.firstChild,[A,j]=f(ie.nextSibling),M=A.nextSibling,N=k.nextSibling,P=N.firstChild,[F,ae]=f(P.nextSibling),I=F.nextSibling,L=N.nextSibling,oe=L.firstChild,[R,z]=f(oe.nextSibling),B=R.nextSibling,V=B.nextSibling,H=L.nextSibling,U=H.firstChild,[W,G]=f(U.nextSibling),K=W.nextSibling,q=K.firstChild,se=q.nextSibling,[ce,le]=f(se.nextSibling),J=O.nextSibling,ue=J.firstChild,[Y,de]=f(ue.nextSibling),fe=Y.nextSibling.nextSibling,[X,pe]=f(fe.nextSibling),me=X.nextSibling.nextSibling,[Z,he]=f(me.nextSibling),ge=Z.nextSibling.nextSibling,[Q,_e]=f(ge.nextSibling);Q.nextSibling;var $=J.nextSibling.firstChild,ve=$.nextSibling;return l(e,r(t,{get when(){return T()},get children(){var e=d(h);return l(e,T),e}}),p,m),w.addEventListener(`submit`,re),l(E,()=>o(`users.new`)),l(k,()=>o(`users.detail.fields.name`),A,j),M.$$input=e=>_(e.currentTarget.value),l(N,()=>o(`users.detail.fields.email`),F,ae),I.$$input=e=>y(e.currentTarget.value),l(L,()=>o(`users.detail.fields.password`),R,z),l(B,()=>o(`users.detail.passwordPrompt`,{email:``})),V.$$input=e=>ne(e.currentTarget.value),l(H,()=>o(`users.detail.fields.role`),W,G),K.addEventListener(`change`,e=>S(e.currentTarget.value)),l(q,()=>o(`users.detail.rolePlaceholder`)),l(K,r(a,{get each(){return C()},children:e=>(()=>{var t=d(g),n=t.firstChild,[r,a]=f(n.nextSibling),o=r.nextSibling.nextSibling,[s,c]=f(o.nextSibling);return s.nextSibling,l(t,()=>e.name,r,a),l(t,()=>e.slug,s,c),i(()=>u(t,`value`,e.id)),t})()}),ce,le),l(J,()=>o(`common.save`),Y,de),l(J,()=>o(`users.new`).toLowerCase(),X,pe),l(J,()=>o(`users.detail.fields.role`),Z,he),l(J,()=>o(`users.toolbar.newBtn`).toLowerCase(),Q,_e),l($,(()=>{var e=ee(()=>!!D());return()=>e()?o(`common.loading`):o(`common.create`)})()),l(ve,()=>o(`common.back`)),i(()=>u($,`disabled`,D())),i(()=>u(M,`value`,s())),i(()=>u(I,`value`,v())),i(()=>u(V,`value`,b())),i(()=>u(K,`value`,x())),c(),e})()}s([`input`]);export{_ as UserCreateForm};
1
+ import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,l,m as u,o as d,s as f,u as ee}from"./web.DD6VKaIp.js";import{n as p}from"./i18n.A82w5XQu.js";import{n as m}from"./api.53l1ob4Z.js";var h=o(`<div class="notice notice--error">`),te=o(`<div class=user-create><!$><!/><form class=card><h3></h3><div class=form-grid><label><!$><!/><input class=input required></label><label><!$><!/><input class=input type=email required></label><label><!$><!/><span class=muted></span><input class=input type=password required minlength=8></label><label><!$><!/><select class=input><option value></option><!$><!/></select></label></div><p class=muted><!$><!/> <!$><!/> — <!$><!/> <!$><!/>.</p><div class=media-details__actions><button class="btn btn-primary"type=submit></button><a class="btn btn-secondary"href=/users>`),g=o(`<option><!$><!/> (<!$><!/>)`);function _(){let{t:o}=p(),[s,_]=n(``),[v,y]=n(``),[b,ne]=n(``),[x,S]=n(``),[C,w]=n([]),[T,E]=n(``),[D,O]=n(!1);e(async()=>{try{let e=await m.listRoles();w(e),S(e.find(e=>e.slug===`EDITOR`)?.id??e[0]?.id??``)}catch{}});let re=async e=>{if(e.preventDefault(),E(``),b().length<8){E(o(`users.detail.passwordError`));return}O(!0);try{await m.createUser({name:s(),email:v(),password:b(),roleId:x()||void 0}),window.location.href=`/users`}catch(e){E(e instanceof Error?e.message:String(e)),O(!1)}};return(()=>{var e=d(te),n=e.firstChild,[p,m]=f(n.nextSibling),w=p.nextSibling,E=w.firstChild,O=E.nextSibling,k=O.firstChild,ie=k.firstChild,[A,j]=f(ie.nextSibling),M=A.nextSibling,N=k.nextSibling,P=N.firstChild,[F,ae]=f(P.nextSibling),I=F.nextSibling,L=N.nextSibling,oe=L.firstChild,[R,z]=f(oe.nextSibling),B=R.nextSibling,V=B.nextSibling,H=L.nextSibling,U=H.firstChild,[W,G]=f(U.nextSibling),K=W.nextSibling,q=K.firstChild,se=q.nextSibling,[ce,le]=f(se.nextSibling),J=O.nextSibling,ue=J.firstChild,[Y,de]=f(ue.nextSibling),fe=Y.nextSibling.nextSibling,[X,pe]=f(fe.nextSibling),me=X.nextSibling.nextSibling,[Z,he]=f(me.nextSibling),ge=Z.nextSibling.nextSibling,[Q,_e]=f(ge.nextSibling);Q.nextSibling;var $=J.nextSibling.firstChild,ve=$.nextSibling;return l(e,r(t,{get when(){return T()},get children(){var e=d(h);return l(e,T),e}}),p,m),w.addEventListener(`submit`,re),l(E,()=>o(`users.new`)),l(k,()=>o(`users.detail.fields.name`),A,j),M.$$input=e=>_(e.currentTarget.value),l(N,()=>o(`users.detail.fields.email`),F,ae),I.$$input=e=>y(e.currentTarget.value),l(L,()=>o(`users.detail.fields.password`),R,z),l(B,()=>o(`users.detail.passwordPrompt`,{email:``})),V.$$input=e=>ne(e.currentTarget.value),l(H,()=>o(`users.detail.fields.role`),W,G),K.addEventListener(`change`,e=>S(e.currentTarget.value)),l(q,()=>o(`users.detail.rolePlaceholder`)),l(K,r(a,{get each(){return C()},children:e=>(()=>{var t=d(g),n=t.firstChild,[r,a]=f(n.nextSibling),o=r.nextSibling.nextSibling,[s,c]=f(o.nextSibling);return s.nextSibling,l(t,()=>e.name,r,a),l(t,()=>e.slug,s,c),i(()=>u(t,`value`,e.id)),t})()}),ce,le),l(J,()=>o(`common.save`),Y,de),l(J,()=>o(`users.new`).toLowerCase(),X,pe),l(J,()=>o(`users.detail.fields.role`),Z,he),l(J,()=>o(`users.toolbar.newBtn`).toLowerCase(),Q,_e),l($,(()=>{var e=ee(()=>!!D());return()=>e()?o(`common.loading`):o(`common.create`)})()),l(ve,()=>o(`common.back`)),i(()=>u($,`disabled`,D())),i(()=>u(M,`value`,s())),i(()=>u(I,`value`,v())),i(()=>u(V,`value`,b())),i(()=>u(K,`value`,x())),c(),e})()}s([`input`]);export{_ as UserCreateForm};
@@ -1 +1 @@
1
- import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,l,m as u,o as d,s as f}from"./web.DD6VKaIp.js";import{n as p}from"./i18n.BFBHzd3w.js";import{n as m}from"./api.53l1ob4Z.js";import{i as h,n as g,o as _,s as v,t as y}from"./src.CYKGYEyR.js";var b=o(`<div class="notice notice--error">`),x=o(`<div class=notice>`),S=o(`<table class=users-table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),C=o(`<div class=users-manager><!$><!/><!$><!/><div class=toolbar><!$><!/><!$><!/><a class="btn btn-primary"href=/users/new></a><!$><!/></div><!$><!/><!$><!/><!$><!/>`),w=o(`<p class=muted>`),T=o(`<tr><td></td><td class=muted></td><td></td><td><span class=status-dot></span><!$><!/></td><td class=muted></td><td class=users-table__actions><!$><!/><!$><!/>`),E=o(`<span class=muted>`),D=o(`<div class="card user-details"><h3></h3><div class=form-grid><label><!$><!/><input class=input></label><label><!$><!/><input class=input type=email></label><label><!$><!/><select class=input><option value=ACTIVE></option><option value=INACTIVE></option></select></label><label><!$><!/><select class=input><option value></option><!$><!/></select></label></div><p class=muted></p><div class=media-details__actions><!$><!/><!$><!/><!$><!/>`),O=o(`<option><!$><!/> (<!$><!/>)`);function k(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleString(`pt-BR`)}function A(){let{t:o}=p(),[s,A]=n([]),[j,M]=n([]),[N,P]=n(0),[F,I]=n(1),[L,R]=n(``),[z,B]=n(``),[V,H]=n(``),[U,W]=n(``),[G,K]=n(null),[q,J]=n(!1),Y=async()=>{try{let e=await m.listUsers({page:F(),limit:20,search:L()||void 0,status:z()||void 0});A(e.data??[]),P(e.total??0)}catch(e){H(e instanceof Error?e.message:String(e))}};e(async()=>{await Y();try{M(await m.listRoles())}catch{}});let X=async()=>{I(1),await Y()},ee=async(e,t)=>{if(t){J(!0),H(``);try{let n=await m.assignRole(e.id,t);K({...e,roles:n.roles}),W(o(`users.detail.toasts.roleUpdated`,{name:e.name})),await Y()}catch(e){H(e instanceof Error?e.message:String(e))}finally{J(!1)}}},te=async e=>{let t=prompt(o(`users.detail.passwordPrompt`,{email:e.email}));if(t){if(t.length<8){H(o(`users.detail.passwordError`));return}J(!0),H(``);try{await m.setUserPassword(e.id,t),W(o(`users.detail.toasts.passwordChanged`,{name:e.name}))}catch(e){H(e instanceof Error?e.message:String(e))}finally{J(!1)}}},ne=async e=>{J(!0),H(``);try{await m.updateUser(e.id,{name:e.name,email:e.email,status:e.status}),W(o(`users.detail.toasts.saved`,{name:e.name})),K(null),await Y()}catch(e){H(e instanceof Error?e.message:String(e))}finally{J(!1)}},re=async e=>{if(confirm(o(`users.detail.confirmDelete`,{email:e.email}))){J(!0),H(``);try{await m.deleteUser(e.id),G()?.id===e.id&&K(null),W(o(`users.detail.toasts.deleted`,{name:e.name})),await Y()}catch(e){H(e instanceof Error?e.message:String(e))}finally{J(!1)}}},ie=e=>j().find(t=>t.slug===e.roles[0]);return(()=>{var e=d(C),n=e.firstChild,[p,m]=f(n.nextSibling),A=p.nextSibling,[M,P]=f(A.nextSibling),H=M.nextSibling,W=H.firstChild,[J,Z]=f(W.nextSibling),ae=J.nextSibling,[Q,oe]=f(ae.nextSibling),$=Q.nextSibling,se=$.nextSibling,[ce,le]=f(se.nextSibling),ue=H.nextSibling,[de,fe]=f(ue.nextSibling),pe=de.nextSibling,[me,he]=f(pe.nextSibling),ge=me.nextSibling,[_e,ve]=f(ge.nextSibling);return l(e,r(t,{get when(){return V()},get children(){var e=d(b);return l(e,V),e}}),p,m),l(e,r(t,{get when(){return U()},get children(){var e=d(x);return l(e,U),e}}),M,P),l(H,r(h,{name:`user-search`,get placeholder(){return o(`users.toolbar.search`)},get value(){return L()},onInput:e=>{R(e),X()}}),J,Z),l(H,r(v,{name:`user-status`,get placeholder(){return o(`users.toolbar.allStatus`)},get value(){return z()},get options(){return[{value:`ACTIVE`,label:o(`users.toolbar.active`)},{value:`INACTIVE`,label:o(`users.toolbar.inactive`)}]},onChange:e=>{B(e),X()}}),Q,oe),l($,()=>o(`users.toolbar.newBtn`)),l(H,r(g,{variant:`secondary`,onClick:()=>void X(),get children(){return o(`users.toolbar.searchBtn`)}}),ce,le),l(e,r(t,{get when(){return s().length>0},get fallback(){return(()=>{var e=d(w);return l(e,()=>o(`users.empty`)),e})()},get children(){var e=d(S),n=e.firstChild,c=n.firstChild.firstChild,u=c.nextSibling,p=u.nextSibling,m=p.nextSibling,h=m.nextSibling,_=n.nextSibling;return l(c,()=>o(`users.table.name`)),l(u,()=>o(`users.table.email`)),l(p,()=>o(`users.table.role`)),l(m,()=>o(`users.table.status`)),l(h,()=>o(`users.table.lastAccess`)),l(_,r(a,{get each(){return s()},children:e=>(()=>{var n=d(T),a=n.firstChild,s=a.nextSibling,c=s.nextSibling,u=c.nextSibling,p=u.firstChild,m=p.nextSibling,[h,_]=f(m.nextSibling),v=u.nextSibling,b=v.nextSibling,x=b.firstChild,[S,C]=f(x.nextSibling),w=S.nextSibling,[D,O]=f(w.nextSibling);return l(a,()=>e.name),l(s,()=>e.email),l(c,r(t,{get when(){return e.roles.length>0},get fallback(){return(()=>{var e=d(E);return l(e,()=>o(`users.noRole`)),e})()},get children(){return r(y,{get children(){return e.roles.join(`, `)}})}})),l(u,()=>o(`common.status.`+e.status.toLowerCase()),h,_),l(v,()=>k(e.last_login_at)),l(b,r(g,{variant:`secondary`,size:`sm`,onClick:()=>K(e),get children(){return o(`users.table.actions.manage`)}}),S,C),l(b,r(g,{variant:`danger`,size:`sm`,onClick:()=>void re(e),get children(){return o(`users.table.actions.delete`)}}),D,O),i(t=>{var r=G()?.id===e.id,i=e.status===`ACTIVE`;return r!==t.e&&n.classList.toggle(`users-table__row--selected`,t.e=r),i!==t.t&&p.classList.toggle(`status-dot--active`,t.t=i),t},{e:void 0,t:void 0}),n})()})),e}}),de,fe),l(e,r(_,{get page(){return F()},limit:20,get total(){return N()},onPageChange:e=>{I(e),Y()}}),me,he),l(e,r(t,{get when(){return G()},children:e=>(()=>{var t=d(D),n=t.firstChild,s=n.nextSibling,p=s.firstChild,m=p.firstChild,[h,_]=f(m.nextSibling),v=h.nextSibling,y=p.nextSibling,b=y.firstChild,[x,S]=f(b.nextSibling),C=x.nextSibling,w=y.nextSibling,T=w.firstChild,[E,A]=f(T.nextSibling),M=E.nextSibling,N=M.firstChild,P=N.nextSibling,F=w.nextSibling,I=F.firstChild,[L,R]=f(I.nextSibling),z=L.nextSibling,B=z.firstChild,V=B.nextSibling,[H,U]=f(V.nextSibling),W=s.nextSibling,G=W.nextSibling,J=G.firstChild,[Y,X]=f(J.nextSibling),re=Y.nextSibling,[Z,ae]=f(re.nextSibling),Q=Z.nextSibling,[oe,$]=f(Q.nextSibling);return l(n,()=>o(`users.detail.title`)),l(p,()=>o(`users.detail.fields.name`),h,_),v.$$input=t=>K({...e(),name:t.currentTarget.value}),l(y,()=>o(`users.detail.fields.email`),x,S),C.$$input=t=>K({...e(),email:t.currentTarget.value}),l(w,()=>o(`users.detail.fields.status`),E,A),M.addEventListener(`change`,t=>K({...e(),status:t.currentTarget.value})),l(N,()=>o(`users.detail.statusOptions.active`)),l(P,()=>o(`users.detail.statusOptions.inactive`)),l(F,()=>o(`users.detail.fields.role`),L,R),z.addEventListener(`change`,t=>void ee(e(),t.currentTarget.value)),l(B,()=>o(`users.detail.rolePlaceholder`)),l(z,r(a,{get each(){return j()},children:e=>(()=>{var t=d(O),n=t.firstChild,[r,a]=f(n.nextSibling),o=r.nextSibling.nextSibling,[s,c]=f(o.nextSibling);return s.nextSibling,l(t,()=>e.name,r,a),l(t,()=>e.slug,s,c),i(()=>u(t,`value`,e.id)),t})()}),H,U),l(W,()=>o(`users.detail.meta`,{created:k(e().created_at),lastAccess:k(e().last_login_at)})),l(G,r(g,{variant:`primary`,get disabled(){return q()},get loading(){return q()},onClick:()=>void ne(e()),get children(){return o(`users.detail.actions.save`)}}),Y,X),l(G,r(g,{variant:`secondary`,get disabled(){return q()},onClick:()=>void te(e()),get children(){return o(`users.detail.actions.resetPassword`)}}),Z,ae),l(G,r(g,{variant:`secondary`,onClick:()=>K(null),get children(){return o(`users.detail.actions.close`)}}),oe,$),i(()=>u(z,`disabled`,q())),i(()=>u(v,`value`,e().name)),i(()=>u(C,`value`,e().email)),i(()=>u(M,`value`,e().status)),i(()=>u(z,`value`,ie(e())?.id??``)),c(),t})()}),_e,ve),e})()}s([`input`]);export{A as UsersManager};
1
+ import{S as e,a as t,h as n,l as r,p as i,r as a}from"./solid.Ck4Vtfe4.js";import{_ as o,a as s,f as c,l,m as u,o as d,s as f}from"./web.DD6VKaIp.js";import{n as p}from"./i18n.A82w5XQu.js";import{n as m}from"./api.53l1ob4Z.js";import{i as h,n as g,o as _,s as v,t as y}from"./src.CYKGYEyR.js";var b=o(`<div class="notice notice--error">`),x=o(`<div class=notice>`),S=o(`<table class=users-table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),C=o(`<div class=users-manager><!$><!/><!$><!/><div class=toolbar><!$><!/><!$><!/><a class="btn btn-primary"href=/users/new></a><!$><!/></div><!$><!/><!$><!/><!$><!/>`),w=o(`<p class=muted>`),T=o(`<tr><td></td><td class=muted></td><td></td><td><span class=status-dot></span><!$><!/></td><td class=muted></td><td class=users-table__actions><!$><!/><!$><!/>`),E=o(`<span class=muted>`),D=o(`<div class="card user-details"><h3></h3><div class=form-grid><label><!$><!/><input class=input></label><label><!$><!/><input class=input type=email></label><label><!$><!/><select class=input><option value=ACTIVE></option><option value=INACTIVE></option></select></label><label><!$><!/><select class=input><option value></option><!$><!/></select></label></div><p class=muted></p><div class=media-details__actions><!$><!/><!$><!/><!$><!/>`),O=o(`<option><!$><!/> (<!$><!/>)`);function k(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleString(`pt-BR`)}function A(){let{t:o}=p(),[s,A]=n([]),[j,M]=n([]),[N,P]=n(0),[F,I]=n(1),[L,R]=n(``),[z,B]=n(``),[V,H]=n(``),[U,W]=n(``),[G,K]=n(null),[q,J]=n(!1),Y=async()=>{try{let e=await m.listUsers({page:F(),limit:20,search:L()||void 0,status:z()||void 0});A(e.data??[]),P(e.total??0)}catch(e){H(e instanceof Error?e.message:String(e))}};e(async()=>{await Y();try{M(await m.listRoles())}catch{}});let X=async()=>{I(1),await Y()},ee=async(e,t)=>{if(t){J(!0),H(``);try{let n=await m.assignRole(e.id,t);K({...e,roles:n.roles}),W(o(`users.detail.toasts.roleUpdated`,{name:e.name})),await Y()}catch(e){H(e instanceof Error?e.message:String(e))}finally{J(!1)}}},te=async e=>{let t=prompt(o(`users.detail.passwordPrompt`,{email:e.email}));if(t){if(t.length<8){H(o(`users.detail.passwordError`));return}J(!0),H(``);try{await m.setUserPassword(e.id,t),W(o(`users.detail.toasts.passwordChanged`,{name:e.name}))}catch(e){H(e instanceof Error?e.message:String(e))}finally{J(!1)}}},ne=async e=>{J(!0),H(``);try{await m.updateUser(e.id,{name:e.name,email:e.email,status:e.status}),W(o(`users.detail.toasts.saved`,{name:e.name})),K(null),await Y()}catch(e){H(e instanceof Error?e.message:String(e))}finally{J(!1)}},re=async e=>{if(confirm(o(`users.detail.confirmDelete`,{email:e.email}))){J(!0),H(``);try{await m.deleteUser(e.id),G()?.id===e.id&&K(null),W(o(`users.detail.toasts.deleted`,{name:e.name})),await Y()}catch(e){H(e instanceof Error?e.message:String(e))}finally{J(!1)}}},ie=e=>j().find(t=>t.slug===e.roles[0]);return(()=>{var e=d(C),n=e.firstChild,[p,m]=f(n.nextSibling),A=p.nextSibling,[M,P]=f(A.nextSibling),H=M.nextSibling,W=H.firstChild,[J,Z]=f(W.nextSibling),ae=J.nextSibling,[Q,oe]=f(ae.nextSibling),$=Q.nextSibling,se=$.nextSibling,[ce,le]=f(se.nextSibling),ue=H.nextSibling,[de,fe]=f(ue.nextSibling),pe=de.nextSibling,[me,he]=f(pe.nextSibling),ge=me.nextSibling,[_e,ve]=f(ge.nextSibling);return l(e,r(t,{get when(){return V()},get children(){var e=d(b);return l(e,V),e}}),p,m),l(e,r(t,{get when(){return U()},get children(){var e=d(x);return l(e,U),e}}),M,P),l(H,r(h,{name:`user-search`,get placeholder(){return o(`users.toolbar.search`)},get value(){return L()},onInput:e=>{R(e),X()}}),J,Z),l(H,r(v,{name:`user-status`,get placeholder(){return o(`users.toolbar.allStatus`)},get value(){return z()},get options(){return[{value:`ACTIVE`,label:o(`users.toolbar.active`)},{value:`INACTIVE`,label:o(`users.toolbar.inactive`)}]},onChange:e=>{B(e),X()}}),Q,oe),l($,()=>o(`users.toolbar.newBtn`)),l(H,r(g,{variant:`secondary`,onClick:()=>void X(),get children(){return o(`users.toolbar.searchBtn`)}}),ce,le),l(e,r(t,{get when(){return s().length>0},get fallback(){return(()=>{var e=d(w);return l(e,()=>o(`users.empty`)),e})()},get children(){var e=d(S),n=e.firstChild,c=n.firstChild.firstChild,u=c.nextSibling,p=u.nextSibling,m=p.nextSibling,h=m.nextSibling,_=n.nextSibling;return l(c,()=>o(`users.table.name`)),l(u,()=>o(`users.table.email`)),l(p,()=>o(`users.table.role`)),l(m,()=>o(`users.table.status`)),l(h,()=>o(`users.table.lastAccess`)),l(_,r(a,{get each(){return s()},children:e=>(()=>{var n=d(T),a=n.firstChild,s=a.nextSibling,c=s.nextSibling,u=c.nextSibling,p=u.firstChild,m=p.nextSibling,[h,_]=f(m.nextSibling),v=u.nextSibling,b=v.nextSibling,x=b.firstChild,[S,C]=f(x.nextSibling),w=S.nextSibling,[D,O]=f(w.nextSibling);return l(a,()=>e.name),l(s,()=>e.email),l(c,r(t,{get when(){return e.roles.length>0},get fallback(){return(()=>{var e=d(E);return l(e,()=>o(`users.noRole`)),e})()},get children(){return r(y,{get children(){return e.roles.join(`, `)}})}})),l(u,()=>o(`common.status.`+e.status.toLowerCase()),h,_),l(v,()=>k(e.last_login_at)),l(b,r(g,{variant:`secondary`,size:`sm`,onClick:()=>K(e),get children(){return o(`users.table.actions.manage`)}}),S,C),l(b,r(g,{variant:`danger`,size:`sm`,onClick:()=>void re(e),get children(){return o(`users.table.actions.delete`)}}),D,O),i(t=>{var r=G()?.id===e.id,i=e.status===`ACTIVE`;return r!==t.e&&n.classList.toggle(`users-table__row--selected`,t.e=r),i!==t.t&&p.classList.toggle(`status-dot--active`,t.t=i),t},{e:void 0,t:void 0}),n})()})),e}}),de,fe),l(e,r(_,{get page(){return F()},limit:20,get total(){return N()},onPageChange:e=>{I(e),Y()}}),me,he),l(e,r(t,{get when(){return G()},children:e=>(()=>{var t=d(D),n=t.firstChild,s=n.nextSibling,p=s.firstChild,m=p.firstChild,[h,_]=f(m.nextSibling),v=h.nextSibling,y=p.nextSibling,b=y.firstChild,[x,S]=f(b.nextSibling),C=x.nextSibling,w=y.nextSibling,T=w.firstChild,[E,A]=f(T.nextSibling),M=E.nextSibling,N=M.firstChild,P=N.nextSibling,F=w.nextSibling,I=F.firstChild,[L,R]=f(I.nextSibling),z=L.nextSibling,B=z.firstChild,V=B.nextSibling,[H,U]=f(V.nextSibling),W=s.nextSibling,G=W.nextSibling,J=G.firstChild,[Y,X]=f(J.nextSibling),re=Y.nextSibling,[Z,ae]=f(re.nextSibling),Q=Z.nextSibling,[oe,$]=f(Q.nextSibling);return l(n,()=>o(`users.detail.title`)),l(p,()=>o(`users.detail.fields.name`),h,_),v.$$input=t=>K({...e(),name:t.currentTarget.value}),l(y,()=>o(`users.detail.fields.email`),x,S),C.$$input=t=>K({...e(),email:t.currentTarget.value}),l(w,()=>o(`users.detail.fields.status`),E,A),M.addEventListener(`change`,t=>K({...e(),status:t.currentTarget.value})),l(N,()=>o(`users.detail.statusOptions.active`)),l(P,()=>o(`users.detail.statusOptions.inactive`)),l(F,()=>o(`users.detail.fields.role`),L,R),z.addEventListener(`change`,t=>void ee(e(),t.currentTarget.value)),l(B,()=>o(`users.detail.rolePlaceholder`)),l(z,r(a,{get each(){return j()},children:e=>(()=>{var t=d(O),n=t.firstChild,[r,a]=f(n.nextSibling),o=r.nextSibling.nextSibling,[s,c]=f(o.nextSibling);return s.nextSibling,l(t,()=>e.name,r,a),l(t,()=>e.slug,s,c),i(()=>u(t,`value`,e.id)),t})()}),H,U),l(W,()=>o(`users.detail.meta`,{created:k(e().created_at),lastAccess:k(e().last_login_at)})),l(G,r(g,{variant:`primary`,get disabled(){return q()},get loading(){return q()},onClick:()=>void ne(e()),get children(){return o(`users.detail.actions.save`)}}),Y,X),l(G,r(g,{variant:`secondary`,get disabled(){return q()},onClick:()=>void te(e()),get children(){return o(`users.detail.actions.resetPassword`)}}),Z,ae),l(G,r(g,{variant:`secondary`,onClick:()=>K(null),get children(){return o(`users.detail.actions.close`)}}),oe,$),i(()=>u(z,`disabled`,q())),i(()=>u(v,`value`,e().name)),i(()=>u(C,`value`,e().email)),i(()=>u(M,`value`,e().status)),i(()=>u(z,`value`,ie(e())?.id??``)),c(),t})()}),_e,ve),e})()}s([`input`]);export{A as UsersManager};
@@ -1 +1 @@
1
- import{S as e,a as t,h as n,l as r,p as i,r as a,x as o}from"./solid.Ck4Vtfe4.js";import{_ as s,a as c,f as l,l as u,m as d,o as f,p,s as m,u as h,v as g}from"./web.DD6VKaIp.js";import{n as _}from"./i18n.BFBHzd3w.js";import{n as v}from"./api.53l1ob4Z.js";var y=s(`<div class=webhook-event-select__dropdown role=listbox><input class=input><div class=webhook-event-select__options>`),b=s(`<div class=webhook-event-select><button type=button class="input webhook-event-select__trigger"aria-haspopup=listbox><span></span><span aria-hidden=true>⌄</span></button><!$><!/><div class=webhook-event-select__chips>`),x=s(`<span class=muted>`),S=s(`<label class=webhook-event-option><input type=checkbox><span><!$><!/><small>`),C=s(`<button type=button class=webhook-event-chip><!$><!/> ×`),w=s(`<div class="notice notice--error">`),T=s(`<div class=table-scroll><table class=table><thead><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),E=s(`<div class="resource-hub webhooks-manager"><!$><!/><div class=card-header-row><div><h3></h3></div><button class="btn btn-primary"type=button></button></div><!$><!/><section class=card></section><style>.webhook-event-select{position:relative}.webhook-event-select__trigger{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.webhook-event-select__dropdown{position:absolute;z-index:20;top:calc(100% + .25rem);left:0;right:0;background:var(--color-surface,#fff);border:1px solid var(--color-border,#dcdcde);box-shadow:0 8px 22px rgba(0,0,0,.14);padding:.6rem}.webhook-event-select__options{max-height:240px;overflow:auto;margin-top:.5rem;display:grid;gap:.2rem}.webhook-event-option{display:flex!important;align-items:flex-start;gap:.5rem!important;padding:.45rem;border-radius:4px;cursor:pointer}.webhook-event-option:hover{background:var(--color-surface-muted,#f5f5f5)}.webhook-event-option span{display:grid;gap:.12rem}.webhook-event-option small{color:var(--color-muted);font-size:.75rem}.webhook-event-select__chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.webhook-event-chip{border:1px solid var(--color-border,#dcdcde);background:var(--color-surface-muted,#f5f5f5);border-radius:999px;padding:.2rem .55rem;cursor:pointer;font-size:.78rem}`),D=s(`<label><!$><!/><input class=input type=password>`),O=s(`<div class=form-grid><label><!$><!/><input class=input></label><label><!$><!/><input class=input type=password>`),k=s(`<div class=form-grid><label><!$><!/><input class=input type=password></label><label><!$><!/><input class=input>`),A=s(`<section class=card><h3></h3><form class=resource-form><label><!$><!/><input class=input required type=url></label><label><!$><!/><!$><!/></label><label><!$><!/><select class=input><option value=none></option><option value=bearer></option><option value=basic></option><option value=api_key></option><option value=hmac_sha256></option></select></label><!$><!/><!$><!/><!$><!/><!$><!/><label class=checkbox-label><input type=checkbox> <!$><!/></label><div><button class="btn btn-primary"type=submit></button> <button class=btn type=button>`),j=s(`<p>`),M=s(`<tr><td></td><td></td><td></td><td></td><td><button class=btn type=button></button> <button class="btn btn-danger"type=button>`),N=()=>({url:``,events:[],active:!0,auth_type:`hmac_sha256`,auth_config:{signatureHeader:`X-Webhook-Signature`}});function P(s){let[c,_]=n(!1),[v,w]=n(``),T;e(()=>{let e=e=>{T&&!T.contains(e.target)&&_(!1)};document.addEventListener(`mousedown`,e),o(()=>document.removeEventListener(`mousedown`,e))});let E=()=>s.options.filter(e=>`${e.label} ${e.value}`.toLowerCase().includes(v().toLowerCase())),D=e=>s.onChange(s.value.includes(e)?s.value.filter(t=>t!==e):[...s.value,e]);return(()=>{var e=f(b),n=e.firstChild,o=n.firstChild,O=n.nextSibling,[k,A]=m(O.nextSibling),j=k.nextSibling,M=T;return typeof M==`function`?g(M,e):T=e,n.$$click=()=>_(!c()),u(o,(()=>{var e=h(()=>s.value.length>0);return()=>e()?`${s.value.length} selecionado(s)`:s.placeholder})()),u(e,r(t,{get when(){return c()},get children(){var e=f(y),n=e.firstChild,o=n.nextSibling;return n.$$input=e=>w(e.currentTarget.value),u(o,r(t,{get when(){return E().length>0},get fallback(){return(()=>{var e=f(x);return u(e,()=>s.empty),e})()},get children(){return r(a,{get each(){return E()},children:e=>(()=>{var t=f(S),n=t.firstChild,r=n.nextSibling,a=r.firstChild,[o,c]=m(a.nextSibling),l=o.nextSibling;return n.addEventListener(`change`,()=>D(e.value)),u(r,()=>e.label,o,c),u(l,()=>e.value),i(()=>d(n,`checked`,s.value.includes(e.value))),t})()})}})),i(()=>p(n,`placeholder`,s.searchPlaceholder)),i(()=>d(n,`value`,v())),l(),e}}),k,A),u(j,r(a,{get each(){return s.value},children:e=>(()=>{var t=f(C),n=t.firstChild,[r,i]=m(n.nextSibling);return r.nextSibling,t.$$click=()=>D(e),u(t,()=>s.options.find(t=>t.value===e)?.label??e,r,i),l(),t})()})),i(()=>p(n,`aria-expanded`,c())),l(),e})()}function F(){let{t:o}=_(),[s,c]=n([]),[g,y]=n([]),[b,x]=n(null),[S,C]=n(``),[F,I]=n(!0),L=async()=>{I(!0);try{let[e,t]=await Promise.all([v.getWebhooks(),v.getWebhookEvents()]);c(e),y(t)}catch(e){C(e instanceof Error?e.message:String(e))}finally{I(!1)}};e(L);let R=e=>{if(!e){x(N());return}x({...e,events:[...e.events??[]],auth_type:e.auth_type??`hmac_sha256`,auth_config:{...e.auth_config??{}}})},z=(e,t)=>{let n=b();if(n){if(!n.events||n.events.length===0){C(o(`webhooks.eventsRequired`));return}x({...n,auth_config:{...n.auth_config,[e]:t}})}},B=async e=>{e.preventDefault();let t=b();if(!t)return;let n=Object.fromEntries(Object.entries(t.auth_config).filter(([,e])=>e));try{t.id?await v.updateWebhook(t.id,{...t,auth_config:n}):await v.createWebhook({...t,auth_config:n}),x(null),await L()}catch(e){C(e instanceof Error?e.message:String(e))}};return(()=>{var e=f(E),n=e.firstChild,[c,_]=m(n.nextSibling),y=c.nextSibling,C=y.firstChild,N=C.firstChild,I=C.nextSibling,V=y.nextSibling,[H,U]=m(V.nextSibling),W=H.nextSibling;return u(e,r(t,{get when(){return S()},get children(){var e=f(w);return u(e,S),e}}),c,_),u(N,()=>o(`webhooks.listTitle`)),I.$$click=()=>R(),u(I,()=>o(`webhooks.new`)),u(e,r(t,{get when(){return b()},children:e=>(()=>{var n=f(A),a=n.firstChild,s=a.nextSibling,c=s.firstChild,_=c.firstChild,[v,y]=m(_.nextSibling),b=v.nextSibling,S=c.nextSibling,C=S.firstChild,[w,T]=m(C.nextSibling),E=w.nextSibling,[j,M]=m(E.nextSibling),N=S.nextSibling,F=N.firstChild,[I,L]=m(F.nextSibling),R=I.nextSibling,V=R.firstChild,H=V.nextSibling,U=H.nextSibling,W=U.nextSibling,G=W.nextSibling,ee=N.nextSibling,[K,te]=m(ee.nextSibling),ne=K.nextSibling,[q,re]=m(ne.nextSibling),ie=q.nextSibling,[J,ae]=m(ie.nextSibling),oe=J.nextSibling,[Y,se]=m(oe.nextSibling),X=Y.nextSibling,Z=X.firstChild,ce=Z.nextSibling.nextSibling,[le,ue]=m(ce.nextSibling),Q=X.nextSibling.firstChild,$=Q.nextSibling.nextSibling;return u(a,(()=>{var t=h(()=>!!e().id);return()=>t()?o(`webhooks.edit`):o(`webhooks.create`)})()),s.addEventListener(`submit`,B),u(c,()=>o(`webhooks.url`),v,y),b.$$input=t=>x({...e(),url:t.currentTarget.value}),u(S,()=>o(`webhooks.events`),w,T),u(S,r(P,{get options(){return g()},get value(){return e().events??[]},onChange:t=>x({...e(),events:t}),get placeholder(){return o(`webhooks.selectEvents`)},get searchPlaceholder(){return o(`webhooks.searchEvents`)},get empty(){return o(`webhooks.noEvents`)}}),j,M),u(N,()=>o(`webhooks.authentication`),I,L),R.addEventListener(`change`,t=>x({...e(),auth_type:t.currentTarget.value,auth_config:{}})),u(V,()=>o(`webhooks.auth.none`)),u(H,()=>o(`webhooks.auth.bearer`)),u(U,()=>o(`webhooks.auth.basic`)),u(W,()=>o(`webhooks.auth.apiKey`)),u(G,()=>o(`webhooks.auth.hmac_sha256`)),u(s,r(t,{get when(){return e().auth_type===`bearer`},get children(){var t=f(D),n=t.firstChild,[r,a]=m(n.nextSibling),s=r.nextSibling;return u(t,()=>o(`webhooks.token`),r,a),s.$$input=e=>z(`token`,e.currentTarget.value),i(()=>p(s,`placeholder`,e().id?o(`webhooks.keepExisting`):``)),i(()=>d(s,`value`,e().auth_config.token??``)),l(),t}}),K,te),u(s,r(t,{get when(){return e().auth_type===`basic`},get children(){var t=f(O),n=t.firstChild,r=n.firstChild,[a,s]=m(r.nextSibling),c=a.nextSibling,h=n.nextSibling,g=h.firstChild,[_,v]=m(g.nextSibling),y=_.nextSibling;return u(n,()=>o(`webhooks.username`),a,s),c.$$input=e=>z(`username`,e.currentTarget.value),u(h,()=>o(`webhooks.password`),_,v),y.$$input=e=>z(`password`,e.currentTarget.value),i(()=>p(y,`placeholder`,e().id?o(`webhooks.keepExisting`):``)),i(()=>d(c,`value`,e().auth_config.username??``)),i(()=>d(y,`value`,e().auth_config.password??``)),l(),t}}),q,re),u(s,r(t,{get when(){return e().auth_type===`api_key`},get children(){var t=f(O),n=t.firstChild,r=n.firstChild,[a,s]=m(r.nextSibling),c=a.nextSibling,h=n.nextSibling,g=h.firstChild,[_,v]=m(g.nextSibling),y=_.nextSibling;return u(n,()=>o(`webhooks.headerName`),a,s),c.$$input=e=>z(`headerName`,e.currentTarget.value),u(h,()=>o(`webhooks.apiKeyValue`),_,v),y.$$input=e=>z(`value`,e.currentTarget.value),i(()=>p(y,`placeholder`,e().id?o(`webhooks.keepExisting`):``)),i(()=>d(c,`value`,e().auth_config.headerName??``)),i(()=>d(y,`value`,e().auth_config.value??``)),l(),t}}),J,ae),u(s,r(t,{get when(){return e().auth_type===`hmac_sha256`},get children(){var t=f(k),n=t.firstChild,r=n.firstChild,[a,s]=m(r.nextSibling),c=a.nextSibling,h=n.nextSibling,g=h.firstChild,[_,v]=m(g.nextSibling),y=_.nextSibling;return u(n,()=>o(`webhooks.secret`),a,s),c.$$input=e=>z(`secret`,e.currentTarget.value),u(h,()=>o(`webhooks.signatureHeader`),_,v),y.$$input=e=>z(`signatureHeader`,e.currentTarget.value),i(t=>{var n=!e().id,r=e().id?o(`webhooks.keepExisting`):``;return n!==t.e&&d(c,`required`,t.e=n),r!==t.t&&p(c,`placeholder`,t.t=r),t},{e:void 0,t:void 0}),i(()=>d(c,`value`,e().auth_config.secret??``)),i(()=>d(y,`value`,e().auth_config.signatureHeader??`X-Webhook-Signature`)),l(),t}}),Y,se),Z.addEventListener(`change`,t=>x({...e(),active:t.currentTarget.checked})),u(X,()=>o(`webhooks.active`),le,ue),u(Q,()=>o(`common.save`)),$.$$click=()=>x(null),u($,()=>o(`common.cancel`)),i(()=>d(b,`value`,e().url??``)),i(()=>d(R,`value`,e().auth_type)),i(()=>d(Z,`checked`,e().active??!0)),l(),n})()}),H,U),u(W,r(t,{get when(){return!F()},get fallback(){return(()=>{var e=f(j);return u(e,()=>o(`webhooks.loading`)),e})()},get children(){return r(t,{get when(){return s().length>0},get fallback(){return(()=>{var e=f(j);return u(e,()=>o(`webhooks.empty`)),e})()},get children(){var e=f(T),t=e.firstChild.firstChild,n=t.firstChild.firstChild,i=n.nextSibling,c=i.nextSibling,d=c.nextSibling,p=d.nextSibling,m=t.nextSibling;return u(n,()=>o(`webhooks.url`)),u(i,()=>o(`webhooks.events`)),u(c,()=>o(`webhooks.authentication`)),u(d,()=>o(`webhooks.active`)),u(p,()=>o(`common.actions`)),u(m,r(a,{get each(){return s()},children:e=>(()=>{var t=f(M),n=t.firstChild,r=n.nextSibling,i=r.nextSibling,a=i.nextSibling,s=a.nextSibling.firstChild,c=s.nextSibling.nextSibling;return u(n,()=>e.url),u(r,()=>(e.events??[]).join(`, `)),u(i,()=>o(`webhooks.auth.${e.auth_type??`hmac_sha256`}`)),u(a,(()=>{var t=h(()=>!!e.active);return()=>t()?o(`common.yes`):o(`common.no`)})()),s.$$click=()=>R(e),u(s,()=>o(`common.edit`)),c.$$click=()=>e.id&&void v.deleteWebhook(e.id).then(L),u(c,()=>o(`common.delete`)),l(),t})()})),e}})}})),l(),e})()}c([`click`,`input`]);export{F as WebhooksManager};
1
+ import{S as e,a as t,h as n,l as r,p as i,r as a,x as o}from"./solid.Ck4Vtfe4.js";import{_ as s,a as c,f as l,l as u,m as d,o as f,p,s as m,u as h,v as g}from"./web.DD6VKaIp.js";import{n as _}from"./i18n.A82w5XQu.js";import{n as v}from"./api.53l1ob4Z.js";var y=s(`<div class=webhook-event-select__dropdown role=listbox><input class=input><div class=webhook-event-select__options>`),b=s(`<div class=webhook-event-select><button type=button class="input webhook-event-select__trigger"aria-haspopup=listbox><span></span><span aria-hidden=true>⌄</span></button><!$><!/><div class=webhook-event-select__chips>`),x=s(`<span class=muted>`),S=s(`<label class=webhook-event-option><input type=checkbox><span><!$><!/><small>`),C=s(`<button type=button class=webhook-event-chip><!$><!/> ×`),w=s(`<div class="notice notice--error">`),T=s(`<div class=table-scroll><table class=table><thead><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),E=s(`<div class="resource-hub webhooks-manager"><!$><!/><div class=card-header-row><div><h3></h3></div><button class="btn btn-primary"type=button></button></div><!$><!/><section class=card></section><style>.webhook-event-select{position:relative}.webhook-event-select__trigger{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer}.webhook-event-select__dropdown{position:absolute;z-index:20;top:calc(100% + .25rem);left:0;right:0;background:var(--color-surface,#fff);border:1px solid var(--color-border,#dcdcde);box-shadow:0 8px 22px rgba(0,0,0,.14);padding:.6rem}.webhook-event-select__options{max-height:240px;overflow:auto;margin-top:.5rem;display:grid;gap:.2rem}.webhook-event-option{display:flex!important;align-items:flex-start;gap:.5rem!important;padding:.45rem;border-radius:4px;cursor:pointer}.webhook-event-option:hover{background:var(--color-surface-muted,#f5f5f5)}.webhook-event-option span{display:grid;gap:.12rem}.webhook-event-option small{color:var(--color-muted);font-size:.75rem}.webhook-event-select__chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.webhook-event-chip{border:1px solid var(--color-border,#dcdcde);background:var(--color-surface-muted,#f5f5f5);border-radius:999px;padding:.2rem .55rem;cursor:pointer;font-size:.78rem}`),D=s(`<label><!$><!/><input class=input type=password>`),O=s(`<div class=form-grid><label><!$><!/><input class=input></label><label><!$><!/><input class=input type=password>`),k=s(`<div class=form-grid><label><!$><!/><input class=input type=password></label><label><!$><!/><input class=input>`),A=s(`<section class=card><h3></h3><form class=resource-form><label><!$><!/><input class=input required type=url></label><label><!$><!/><!$><!/></label><label><!$><!/><select class=input><option value=none></option><option value=bearer></option><option value=basic></option><option value=api_key></option><option value=hmac_sha256></option></select></label><!$><!/><!$><!/><!$><!/><!$><!/><label class=checkbox-label><input type=checkbox> <!$><!/></label><div><button class="btn btn-primary"type=submit></button> <button class=btn type=button>`),j=s(`<p>`),M=s(`<tr><td></td><td></td><td></td><td></td><td><button class=btn type=button></button> <button class="btn btn-danger"type=button>`),N=()=>({url:``,events:[],active:!0,auth_type:`hmac_sha256`,auth_config:{signatureHeader:`X-Webhook-Signature`}});function P(s){let[c,_]=n(!1),[v,w]=n(``),T;e(()=>{let e=e=>{T&&!T.contains(e.target)&&_(!1)};document.addEventListener(`mousedown`,e),o(()=>document.removeEventListener(`mousedown`,e))});let E=()=>s.options.filter(e=>`${e.label} ${e.value}`.toLowerCase().includes(v().toLowerCase())),D=e=>s.onChange(s.value.includes(e)?s.value.filter(t=>t!==e):[...s.value,e]);return(()=>{var e=f(b),n=e.firstChild,o=n.firstChild,O=n.nextSibling,[k,A]=m(O.nextSibling),j=k.nextSibling,M=T;return typeof M==`function`?g(M,e):T=e,n.$$click=()=>_(!c()),u(o,(()=>{var e=h(()=>s.value.length>0);return()=>e()?`${s.value.length} selecionado(s)`:s.placeholder})()),u(e,r(t,{get when(){return c()},get children(){var e=f(y),n=e.firstChild,o=n.nextSibling;return n.$$input=e=>w(e.currentTarget.value),u(o,r(t,{get when(){return E().length>0},get fallback(){return(()=>{var e=f(x);return u(e,()=>s.empty),e})()},get children(){return r(a,{get each(){return E()},children:e=>(()=>{var t=f(S),n=t.firstChild,r=n.nextSibling,a=r.firstChild,[o,c]=m(a.nextSibling),l=o.nextSibling;return n.addEventListener(`change`,()=>D(e.value)),u(r,()=>e.label,o,c),u(l,()=>e.value),i(()=>d(n,`checked`,s.value.includes(e.value))),t})()})}})),i(()=>p(n,`placeholder`,s.searchPlaceholder)),i(()=>d(n,`value`,v())),l(),e}}),k,A),u(j,r(a,{get each(){return s.value},children:e=>(()=>{var t=f(C),n=t.firstChild,[r,i]=m(n.nextSibling);return r.nextSibling,t.$$click=()=>D(e),u(t,()=>s.options.find(t=>t.value===e)?.label??e,r,i),l(),t})()})),i(()=>p(n,`aria-expanded`,c())),l(),e})()}function F(){let{t:o}=_(),[s,c]=n([]),[g,y]=n([]),[b,x]=n(null),[S,C]=n(``),[F,I]=n(!0),L=async()=>{I(!0);try{let[e,t]=await Promise.all([v.getWebhooks(),v.getWebhookEvents()]);c(e),y(t)}catch(e){C(e instanceof Error?e.message:String(e))}finally{I(!1)}};e(L);let R=e=>{if(!e){x(N());return}x({...e,events:[...e.events??[]],auth_type:e.auth_type??`hmac_sha256`,auth_config:{...e.auth_config??{}}})},z=(e,t)=>{let n=b();if(n){if(!n.events||n.events.length===0){C(o(`webhooks.eventsRequired`));return}x({...n,auth_config:{...n.auth_config,[e]:t}})}},B=async e=>{e.preventDefault();let t=b();if(!t)return;let n=Object.fromEntries(Object.entries(t.auth_config).filter(([,e])=>e));try{t.id?await v.updateWebhook(t.id,{...t,auth_config:n}):await v.createWebhook({...t,auth_config:n}),x(null),await L()}catch(e){C(e instanceof Error?e.message:String(e))}};return(()=>{var e=f(E),n=e.firstChild,[c,_]=m(n.nextSibling),y=c.nextSibling,C=y.firstChild,N=C.firstChild,I=C.nextSibling,V=y.nextSibling,[H,U]=m(V.nextSibling),W=H.nextSibling;return u(e,r(t,{get when(){return S()},get children(){var e=f(w);return u(e,S),e}}),c,_),u(N,()=>o(`webhooks.listTitle`)),I.$$click=()=>R(),u(I,()=>o(`webhooks.new`)),u(e,r(t,{get when(){return b()},children:e=>(()=>{var n=f(A),a=n.firstChild,s=a.nextSibling,c=s.firstChild,_=c.firstChild,[v,y]=m(_.nextSibling),b=v.nextSibling,S=c.nextSibling,C=S.firstChild,[w,T]=m(C.nextSibling),E=w.nextSibling,[j,M]=m(E.nextSibling),N=S.nextSibling,F=N.firstChild,[I,L]=m(F.nextSibling),R=I.nextSibling,V=R.firstChild,H=V.nextSibling,U=H.nextSibling,W=U.nextSibling,G=W.nextSibling,ee=N.nextSibling,[K,te]=m(ee.nextSibling),ne=K.nextSibling,[q,re]=m(ne.nextSibling),ie=q.nextSibling,[J,ae]=m(ie.nextSibling),oe=J.nextSibling,[Y,se]=m(oe.nextSibling),X=Y.nextSibling,Z=X.firstChild,ce=Z.nextSibling.nextSibling,[le,ue]=m(ce.nextSibling),Q=X.nextSibling.firstChild,$=Q.nextSibling.nextSibling;return u(a,(()=>{var t=h(()=>!!e().id);return()=>t()?o(`webhooks.edit`):o(`webhooks.create`)})()),s.addEventListener(`submit`,B),u(c,()=>o(`webhooks.url`),v,y),b.$$input=t=>x({...e(),url:t.currentTarget.value}),u(S,()=>o(`webhooks.events`),w,T),u(S,r(P,{get options(){return g()},get value(){return e().events??[]},onChange:t=>x({...e(),events:t}),get placeholder(){return o(`webhooks.selectEvents`)},get searchPlaceholder(){return o(`webhooks.searchEvents`)},get empty(){return o(`webhooks.noEvents`)}}),j,M),u(N,()=>o(`webhooks.authentication`),I,L),R.addEventListener(`change`,t=>x({...e(),auth_type:t.currentTarget.value,auth_config:{}})),u(V,()=>o(`webhooks.auth.none`)),u(H,()=>o(`webhooks.auth.bearer`)),u(U,()=>o(`webhooks.auth.basic`)),u(W,()=>o(`webhooks.auth.apiKey`)),u(G,()=>o(`webhooks.auth.hmac_sha256`)),u(s,r(t,{get when(){return e().auth_type===`bearer`},get children(){var t=f(D),n=t.firstChild,[r,a]=m(n.nextSibling),s=r.nextSibling;return u(t,()=>o(`webhooks.token`),r,a),s.$$input=e=>z(`token`,e.currentTarget.value),i(()=>p(s,`placeholder`,e().id?o(`webhooks.keepExisting`):``)),i(()=>d(s,`value`,e().auth_config.token??``)),l(),t}}),K,te),u(s,r(t,{get when(){return e().auth_type===`basic`},get children(){var t=f(O),n=t.firstChild,r=n.firstChild,[a,s]=m(r.nextSibling),c=a.nextSibling,h=n.nextSibling,g=h.firstChild,[_,v]=m(g.nextSibling),y=_.nextSibling;return u(n,()=>o(`webhooks.username`),a,s),c.$$input=e=>z(`username`,e.currentTarget.value),u(h,()=>o(`webhooks.password`),_,v),y.$$input=e=>z(`password`,e.currentTarget.value),i(()=>p(y,`placeholder`,e().id?o(`webhooks.keepExisting`):``)),i(()=>d(c,`value`,e().auth_config.username??``)),i(()=>d(y,`value`,e().auth_config.password??``)),l(),t}}),q,re),u(s,r(t,{get when(){return e().auth_type===`api_key`},get children(){var t=f(O),n=t.firstChild,r=n.firstChild,[a,s]=m(r.nextSibling),c=a.nextSibling,h=n.nextSibling,g=h.firstChild,[_,v]=m(g.nextSibling),y=_.nextSibling;return u(n,()=>o(`webhooks.headerName`),a,s),c.$$input=e=>z(`headerName`,e.currentTarget.value),u(h,()=>o(`webhooks.apiKeyValue`),_,v),y.$$input=e=>z(`value`,e.currentTarget.value),i(()=>p(y,`placeholder`,e().id?o(`webhooks.keepExisting`):``)),i(()=>d(c,`value`,e().auth_config.headerName??``)),i(()=>d(y,`value`,e().auth_config.value??``)),l(),t}}),J,ae),u(s,r(t,{get when(){return e().auth_type===`hmac_sha256`},get children(){var t=f(k),n=t.firstChild,r=n.firstChild,[a,s]=m(r.nextSibling),c=a.nextSibling,h=n.nextSibling,g=h.firstChild,[_,v]=m(g.nextSibling),y=_.nextSibling;return u(n,()=>o(`webhooks.secret`),a,s),c.$$input=e=>z(`secret`,e.currentTarget.value),u(h,()=>o(`webhooks.signatureHeader`),_,v),y.$$input=e=>z(`signatureHeader`,e.currentTarget.value),i(t=>{var n=!e().id,r=e().id?o(`webhooks.keepExisting`):``;return n!==t.e&&d(c,`required`,t.e=n),r!==t.t&&p(c,`placeholder`,t.t=r),t},{e:void 0,t:void 0}),i(()=>d(c,`value`,e().auth_config.secret??``)),i(()=>d(y,`value`,e().auth_config.signatureHeader??`X-Webhook-Signature`)),l(),t}}),Y,se),Z.addEventListener(`change`,t=>x({...e(),active:t.currentTarget.checked})),u(X,()=>o(`webhooks.active`),le,ue),u(Q,()=>o(`common.save`)),$.$$click=()=>x(null),u($,()=>o(`common.cancel`)),i(()=>d(b,`value`,e().url??``)),i(()=>d(R,`value`,e().auth_type)),i(()=>d(Z,`checked`,e().active??!0)),l(),n})()}),H,U),u(W,r(t,{get when(){return!F()},get fallback(){return(()=>{var e=f(j);return u(e,()=>o(`webhooks.loading`)),e})()},get children(){return r(t,{get when(){return s().length>0},get fallback(){return(()=>{var e=f(j);return u(e,()=>o(`webhooks.empty`)),e})()},get children(){var e=f(T),t=e.firstChild.firstChild,n=t.firstChild.firstChild,i=n.nextSibling,c=i.nextSibling,d=c.nextSibling,p=d.nextSibling,m=t.nextSibling;return u(n,()=>o(`webhooks.url`)),u(i,()=>o(`webhooks.events`)),u(c,()=>o(`webhooks.authentication`)),u(d,()=>o(`webhooks.active`)),u(p,()=>o(`common.actions`)),u(m,r(a,{get each(){return s()},children:e=>(()=>{var t=f(M),n=t.firstChild,r=n.nextSibling,i=r.nextSibling,a=i.nextSibling,s=a.nextSibling.firstChild,c=s.nextSibling.nextSibling;return u(n,()=>e.url),u(r,()=>(e.events??[]).join(`, `)),u(i,()=>o(`webhooks.auth.${e.auth_type??`hmac_sha256`}`)),u(a,(()=>{var t=h(()=>!!e.active);return()=>t()?o(`common.yes`):o(`common.no`)})()),s.$$click=()=>R(e),u(s,()=>o(`common.edit`)),c.$$click=()=>e.id&&void v.deleteWebhook(e.id).then(L),u(c,()=>o(`common.delete`)),l(),t})()})),e}})}})),l(),e})()}c([`click`,`input`]);export{F as WebhooksManager};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`الإدارة`,nav:{dashboard:`لوحة التحكم`,content:`المحتوى`,media:`الوسائط`,users:`المستخدمون`,menus:`القوائم`,settings:`الإعدادات`,plugins:`الإضافات`,themes:`القوالب`,customize:`تخصيص`},actions:{logout:`تسجيل الخروج`,newPost:`منشور جديد`,uploadMedia:`رفع وسائط`,addUser:`إضافة مستخدم`,openSettings:`الإعدادات`}},t={title:`لوحة التحكم`,stats:{totalContent:`إجمالي المحتوى`,published:`منشور`,drafts:`مسودات`,mediaFiles:`ملفات الوسائط`,users:`المستخدمون`},recent:{title:`المحتوى الأخير`,viewAll:`عرض الكل`,empty:`لا يوجد محتوى بعد — أنشئ أول محتوى!`,columns:{title:`العنوان`,type:`النوع`,status:`الحالة`,updated:`تم التحديث`}},widgets:{atGlance:`نظرة عامة`,posts:`المقالات`,postsDesc:`منشور / مسودات / سلة`,pages:`الصفحات`,pagesDesc:`منشور / مسودات / سلة`,media:`الوسائط`,mediaDesc:`الملفات في المكتبة`,users:`المستخدمون`,usersDesc:`الإجمالي / النشطون / غير النشطين`,version:`الإصدار`,storage:`التخزين`,quickDraft:{title:`مسودة سريعة`,heading:`العنوان`,headingPlaceholder:`أعنوان مسودتك`,content:`المحتوى`,contentPlaceholder:`بمَ تفكر؟`,save:`حفظ المسودة`,yourDrafts:`مسوداتك`,noDrafts:`لا توجد مسودات بعد.`},activity:{title:`النشاط`,empty:`لا نشاط بعد.`}}},n={list:{title:`المحتوى`,description:`ابحث، وصّف، وعدّل وانشر محتواك.`,columns:{title:`العنوان`,type:`النوع`,status:`الحالة`,updated:`تم التحديث`},actions:{edit:`تعديل`,publish:`نشر`,unpublish:`إلغاء النشر`,delete:`حذف`},filters:{search:`البحث في المحتوى…`,allTypes:`جميع الأنواع`,allStatus:`جميع الحالات`},buttons:{new:`+ محتوى جديد`,search:`بحث`},empty:`لم يتم العثور على محتوى.`,statuses:{draft:`مسودة`,published:`منشور`,archived:`مؤرشف`},confirmDelete:`حذف "{title}"؟`,toasts:{published:`تم النشر ✓`,unpublished:`تم إلغاء النشر ✓`}},editor:{type:`النوع`,title:`العنوان`,slug:`المعرّف`,excerpt:`المقتطف`,featuredImage:`الصورة الرئيسية (معرف الوسائط)`,status:`الحالة`,statusOptions:{draft:`مسودة`,published:`منشور`,archived:`مؤرشف`},layout:`التخطيط`,layoutAuto:`تلقائي (تسلسل المظهر)`,customFields:`الحقول المخصصة`,inspectTypes:`فحص الأنواع المتاحة`,save:`حفظ`,saved:`تم حفظ المحتوى بنجاح.`},taxonomy:{editTerm:`تحرير المصطلح`}},r={title:`القوائم`,description:`إنشاء وإدارة قوائم التنقل المستخدمة في موقعك.`,hint:`القوائم مستقلة عن أنواع المحتوى ويمكن للقالب عرضها.`,new:`قائمة جديدة`,create:`إنشاء قائمة`,edit:`تحرير القائمة`,name:`الاسم`,slug:`المعرّف`,items:`عناصر القائمة (JSON)`,itemsHint:`استخدم مصفوفة JSON من كائنات عناصر القائمة.`,invalidItems:`يجب أن تكون عناصر القائمة مصفوفة JSON صالحة.`,saved:`تم حفظ القائمة.`,deleted:`تم حذف القائمة.`,empty:`لا توجد قوائم بعد.`,confirmDelete:`حذف القائمة "{name}"؟`},i={title:`مكتبة الوسائط`,description:"ارفع الصور والفيديوهات والوثائق. الملفات في `uploads/` وتخدم علناً.",upload:{dropzone:`اسحب الملفات إلى هنا أو`,select:`اختر الملفات`,uploading:`جاري الرفع…`,hint:`الصور، الفيديو، الصوت والوثائق · حتى 25MB للملف`},toolbar:{search:`البحث بالاسم أو النص البديل…`,allTypes:`كل الأنواع`,searchBtn:`بحث`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`لا توجد ملفات بعد. ارفع أول ملف!`,details:{title:`التفاصيل`,file:`الملف`,type:`النوع`,size:`الحجم`,url:`الرابط`,copy:`نسخ`,alt:`النص البديل`,caption:`التعليق`,save:`حفظ التفاصيل`,delete:`حذف`,close:`إغلاق`,confirmDelete:`حذف "{filename}"؟ سيتم حذف الملف من القرص.`,saved:`تم حفظ التفاصيل ✓`,copied:`تم نسخ الرابط ✓`,copyError:`فشل نسخ الرابط`},toasts:{uploaded:`تم رفع {count} ملف(ات) ✓`}},a={title:`المستخدمون`,description:`إدارة الحسابات والأدوار والوصول للمشروع.`,new:`مستخدم جديد`,toolbar:{search:`بحث بالاسم أو البريد…`,allStatus:`كل الحالات`,active:`نشط`,inactive:`غير نشط`,newBtn:`+ مستخدم جديد`,searchBtn:`بحث`},table:{name:`الاسم`,email:`البريد`,role:`الدور`,status:`الحالة`,lastAccess:`آخر دخول`,actions:{manage:`إدارة`,delete:`حذف`}},empty:`لم يتم العثور على مستخدمين.`,noRole:`بدون دور`,detail:{title:`إدارة المستخدم`,fields:{name:`الاسم`,email:`البريد`,status:`الحالة`,role:`الدور`,password:`كلمة المرور`},statusOptions:{active:`نشط`,inactive:`غير نشط`},rolePlaceholder:`— لا دور —`,meta:`أنشئ في {created} · آخر دخول {lastAccess}`,actions:{save:`حفظ`,resetPassword:`إعادة تعيين كلمة المرور`,close:`إغلاق`},passwordPrompt:`كلمة مرور جديدة لـ {email} (8 أحرف على الأقل):`,passwordError:`كلمة المرور يجب أن تكون 8 أحرف على الأقل`,toasts:{roleUpdated:`تم تحديث دور {name} ✓`,passwordChanged:`تم تغيير كلمة مرور {name} ✓`,saved:`تم حفظ المستخدم {name} ✓`,deleted:`تم حذف المستخدم {name} ✓`},confirmDelete:`حذف المستخدم {email}؟`}},o={general:{title:`عام`,description:`معلومات أساسية تظهر على الموقع.`,back:`← كل الإعدادات`,fields:{siteTitle:`عنوان الموقع`,siteTitlePlaceholder:`موقعي`,siteDescription:`الوصف`,siteDescriptionPlaceholder:`موقع جديد بـ OkCMS`,language:`اللغة`,timezone:`المنطقة الزمنية`,timezonePlaceholder:`Asia/Riyadh`},saved:`تم حفظ الإعدادات ✓`,loading:`جاري التحميل…`,save:`حفظ`},postTypes:{title:`أنواع المحتوى`,description:`أنشئ أنواع محتوى مخصصة (CPT) بالإضافة للمقالات والصفحات.`,form:{title:`إنشاء نوع محتوى`,slug:`المعرّف (مفرد، مثال: portfolio)`,slugHint:`حروف صغيرة وأرقام وشرطة سفلية فقط`,singular:`الاسم المفرد`,plural:`الاسم الجمع`,supports:`يدعم`,supportsOptions:{title:`العنوان`,editor:`المحرر`,thumbnail:`الصورة البارزة`,excerpt:`المقتطف`,revisions:`التنقيحات`},hasArchive:`له أرشيف عام (/slug)`,create:`إنشاء`},table:{slug:`المعرّف`,singular:`مفرد`,plural:`جمع`,source:`المصدر`,supports:`يدعم`,archive:`أرشيف`,actions:{remove:`إزالة`}},sources:{admin:`الإدارة`,core:`النواة`}},taxonomies:{title:`التصنيفات`,description:`أنشئ تصنيفات مخصصة واربطها بأنواع المحتوى.`,form:{title:`إنشاء تصنيف`,name:`الاسم (مثال: النوع)`,slug:`المعرّف (اختياري، يُولّد من الاسم)`,slugHint:`حروف صغيرة وأرقام وشرطة سفلية فقط`,hierarchical:`هرمي (يسمح بمصطلحات أب/ابن)`,attachTo:`اربط بأنواع المحتوى`,create:`إنشاء`},table:{taxonomy:`التصنيف`,hierarchical:`هرمي`,attachedTypes:`أنواع المحتوى المرتبطة`,actions:{remove:`إزالة`}}}},s={title:`الصفحة غير موجودة`,description:`قد يكون القديم أو تم نقل الصفحة. تحقق من العنوان أو انتقل إلى أحد الأقسام أدناه.`,requestedPath:`لقد حاولت فتح`,suggestionsLabel:`أو انتقل إلى أحد هذه الأقسام`,goHome:`العودة إلى الصفحة الرئيسية`,goBack:`رجوع`},c={title:`تسجيل الدخول`,subtitle:`سجّل دخولك إلى حسابك`,email:`البريد الإلكتروني`,password:`كلمة المرور`,submit:`دخول`,failed:`البريد الإلكتروني أو كلمة المرور غير صالحة`},l={save:`حفظ`,cancel:`إلغاء`,delete:`حذف`,edit:`تعديل`,close:`إغلاق`,confirm:`تأكيد`,loading:`جاري التحميل…`,yes:`نعم`,no:`لا`,search:`بحث`,filter:`تصفية`,create:`إنشاء`,update:`تحديث`,remove:`إزالة`,viewAll:`عرض الكل`,back:`رجوع`,next:`التالي`,previous:`السابق`,page:`صفحة`,of:`من`,items:`عناصر`,item:`عنصر`,empty:`لم يتم العثور على {items}.`,toast:{success:`✓`,error:`خطأ: {message}`},status:{active:`نشط`,inactive:`غير نشط`,draft:`مسودة`,published:`منشور`,archived:`مؤرشف`,locked:`مقفل`},language:`اللغة`},u={justNow:`الآن`,minAgo:`دقيقة مضت`,ago:`مضت`,published:`منشور`,updated:`تم التحديث`,newUser:`مستخدم جديد: {name}`},d={mainMenu:`القائمة الرئيسية`,notifications:`الإشعارات`,notificationsEmpty:`لا يوجد نشاط حديث`,settings:`الإعدادات`,toggleSidebar:`تبديل الشريط الجانبي`,userMenu:`قائمة المستخدم`},f={copyright:`© 2026 OkCMS. جميع الحقوق محفوظة.`,links:`الروابط`,website:`الموقع`,github:`GitHub`,docs:`التوثيق`,community:`المجتمع`,poweredBy:`مدعوم من Oktis Works`},p={title:`المساعدة`,label:`المساعدة`,tabs:`مواضيع المساعدة`,topics:{overview:{label:`نظرة عامة`,content:`<h4>مرحبًا بك في لوحة تحكم OkCMS</h4><p>تمنحك هذه اللوحة نظرة عامة على محتوى موقعك ونشاطه.</p><h4>الأدوات المتاحة</h4><ul><li><strong>نظرة عامة:</strong> ملخص للمقالات والصفحات والوسائط والمستخدمين</li><li><strong>مسودة سريعة:</strong> حفظ المسودات بسرعة من لوحة التحكم</li><li><strong>النشاط:</strong> آخر أنشطة الموقع وتحديثاته</li></ul>`},content:{label:`إدارة المحتوى`,content:`<h4>إدارة المحتوى</h4><p>أنشئ وحرر وانشر المحتوى من قسم المحتوى.</p><h4>إجراءات سريعة</h4><ul><li>انقر على "محتوى جديد" لإنشاء مقال أو صفحة جديدة</li><li>استخدم عوامل التصفية للعثور على محتوى محدد</li><li>تتوفر إجراءات جماعية لعناصر متعددة</li></ul>`},media:{label:`مكتبة الوسائط`,content:`<h4>إدارة الوسائط</h4><p>ارفع الصور والفيديو والمستندات وأدرها.</p><h4>نصائح</h4><ul><li>اسحب الملفات وأفلتها للرفع</li><li>أضف نصًا بديلًا لسهولة الوصول</li><li>نظّم بمجلدات (قريبًا)</li></ul>`}}},m={title:`خيارات الشاشة`,label:`خيارات الشاشة`,showOnScreen:`إظهار على الشاشة`},h={title:`القوالب`,description:`إدارة القوالب المثبتة.`,directoryHint:`يتم اكتشافها تلقائياً من دليل themes/ في المشروع. استخدم CLI أو انشر الملفات لإضافة قوالب.`,version:`الإصدار`,active:`نشط`,status:{active:`نشط`,installed:`مثبت`,inactive:`غير نشط`},activate:`تفعيل`,deactivate:`إلغاء التفعيل`,customize:`تخصيص`,install:`تثبيت قالب`,name:`اسم القالب`,manifest:`البيان (JSON)`,loadError:`تعذر تحميل القوالب.`,activateError:`تعذر تفعيل القالب.`,deactivateError:`تعذر إلغاء تفعيل القالب.`,deactivateBlocked:`يجب أن يظل قالب واحد نشطاً على الأقل.`,installError:`تعذر تثبيت القالب.`,reload:`إعادة تحميل`,empty:`لا توجد قوالب مثبتة.`},g={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,notFound:s,login:c,common:l,activity:u,adminBar:d,footer:f,helpTabs:p,screenOptions:m,themes:h};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,g as default,f as footer,p as helpTabs,e as layout,c as login,i as media,r as menus,s as notFound,m as screenOptions,o as settings,h as themes,a as users};
@@ -0,0 +1 @@
1
+ function e(e){let t=new Map;for(let n of e)t.set(n.name,n);let n=[],r=new Set,i=e=>{r.has(e.name)||(r.add(e.name),n.push(e))};for(let n of e){if(n.type!==`clone`){i(n);continue}let e=n.config??{},r=e.display??`seamless`,a=e.clone??[],o=[];for(let e of a){let n=t.get(e);n&&n.type!==`clone`&&o.push(n)}if(o.length!==0){if(r===`group`){i({...n,type:`group`,name:n.name,label:n.label,required:!1,conditionalLogic:void 0,subFields:o.map(e=>({...e,name:`${n.name}_${e.name}`}))});continue}for(let e of o)i(e)}}return n}export{e as t};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Panel`,content:`Contenido`,media:`Medios`,users:`Usuarios`,menus:`Menús`,settings:`Ajustes`,plugins:`Plugins`,themes:`Temas`,customize:`Personalizar`},actions:{logout:`Salir`,newPost:`Nueva Entrada`,uploadMedia:`Subir Medio`,addUser:`Añadir Usuario`,openSettings:`Ajustes`}},t={title:`Panel`,stats:{totalContent:`Total de Contenido`,published:`Publicados`,drafts:`Borradores`,mediaFiles:`Archivos de Medios`,users:`Usuarios`},recent:{title:`Contenido Reciente`,viewAll:`Ver Todo`,empty:`Aún no hay contenido — ¡crea el primero!`,columns:{title:`Título`,type:`Tipo`,status:`Estado`,updated:`Actualizado`}},widgets:{atGlance:`De un vistazo`,posts:`Entradas`,postsDesc:`Publicados / Borradores / Papelera`,pages:`Páginas`,pagesDesc:`Publicadas / Borradores / Papelera`,media:`Medios`,mediaDesc:`Archivos en la biblioteca`,users:`Usuarios`,usersDesc:`Total / Activos / Inactivos`,version:`Versión`,storage:`Almacenamiento`,quickDraft:{title:`Borrador rápido`,heading:`Título`,headingPlaceholder:`Dale un título a tu borrador`,content:`Contenido`,contentPlaceholder:`¿Qué tienes en mente?`,save:`Guardar borrador`,yourDrafts:`Tus borradores`,noDrafts:`Aún no hay borradores.`},activity:{title:`Actividad`,empty:`Sin actividad aún.`}}},n={list:{title:`Contenido`,description:`Busca, filtra, edita y publica tu contenido.`,columns:{title:`Título`,type:`Tipo`,status:`Estado`,updated:`Actualizado`},actions:{edit:`Editar`,publish:`Publicar`,unpublish:`Despublicar`,delete:`Eliminar`},filters:{search:`Buscar contenido…`,allTypes:`Todos los tipos`,allStatus:`Todos los estados`},buttons:{new:`+ Nuevo contenido`,search:`Buscar`},empty:`No se encontró contenido.`,statuses:{draft:`Borrador`,published:`Publicado`,archived:`Archivado`},confirmDelete:`¿Eliminar "{title}"?`,toasts:{published:`Contenido publicado ✓`,unpublished:`Contenido despublicado ✓`}},editor:{type:`Tipo`,title:`Título`,slug:`Slug`,excerpt:`Extracto`,featuredImage:`Imagen Destacada (ID de medio)`,status:`Estado`,statusOptions:{draft:`Borrador`,published:`Publicado`,archived:`Archivado`},layout:`Layout`,layoutAuto:`Automático (jerarquía del tema)`,customFields:`Campos Personalizados`,inspectTypes:`Inspeccionar tipos disponibles`,save:`Guardar`,saved:`Contenido guardado correctamente.`},taxonomy:{editTerm:`Editar término`}},r={title:`Menús`,description:`Crea y gestiona los menús de navegación de tu sitio.`,hint:`Los menús son independientes de los tipos de contenido y el tema puede mostrarlos.`,new:`Nuevo menú`,create:`Crear menú`,edit:`Editar menú`,name:`Nombre`,slug:`Slug`,items:`Elementos del menú (JSON)`,itemsHint:`Usa una lista JSON de objetos de menú.`,invalidItems:`Los elementos del menú deben ser una lista JSON válida.`,saved:`Menú guardado.`,deleted:`Menú eliminado.`,empty:`Aún no hay menús.`,confirmDelete:`¿Eliminar el menú "{name}"?`},i={title:`Biblioteca de Medios`,description:"Sube y gestiona imágenes, videos y documentos. Los archivos se almacenan en `uploads/` y se sirven públicamente.",upload:{dropzone:`Arrastra archivos aquí o`,select:`Seleccionar archivos`,uploading:`Subiendo…`,hint:`Imágenes, videos, audio y documentos · hasta 25MB por archivo`},toolbar:{search:`Buscar por nombre o alt…`,allTypes:`Todos los tipos`,searchBtn:`Buscar`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`Aún no hay archivos. ¡Sube el primero!`,details:{title:`Detalles`,file:`Archivo`,type:`Tipo`,size:`Tamaño`,url:`URL`,copy:`Copiar`,alt:`Texto alternativo (alt)`,caption:`Leyenda`,save:`Guardar detalles`,delete:`Eliminar`,close:`Cerrar`,confirmDelete:`¿Eliminar "{filename}"? El archivo será eliminado del disco.`,saved:`Detalles guardados ✓`,copied:`URL copiada ✓`,copyError:`No se pudo copiar la URL`},toasts:{uploaded:`{count} archivo(s) subido(s) ✓`}},a={title:`Usuarios`,description:`Gestiona cuentas, roles y accesos del proyecto.`,new:`Nuevo Usuario`,toolbar:{search:`Buscar por nombre o email…`,allStatus:`Todos los estados`,active:`Activos`,inactive:`Inactivos`,newBtn:`+ Nuevo usuario`,searchBtn:`Buscar`},table:{name:`Nombre`,email:`Email`,role:`Rol`,status:`Estado`,lastAccess:`Último acceso`,actions:{manage:`Gestionar`,delete:`Eliminar`}},empty:`No se encontraron usuarios.`,noRole:`Sin rol`,detail:{title:`Gestionar usuario`,fields:{name:`Nombre`,email:`Email`,status:`Estado`,role:`Rol`,password:`Contraseña`},statusOptions:{active:`Activo`,inactive:`Inactivo`},rolePlaceholder:`— sin rol —`,meta:`Creado el {created} · último acceso {lastAccess}`,actions:{save:`Guardar`,resetPassword:`Restablecer contraseña`,close:`Cerrar`},passwordPrompt:`Nueva contraseña para {email} (mínimo 8 caracteres):`,passwordError:`La contraseña debe tener al menos 8 caracteres`,toasts:{roleUpdated:`Rol de {name} actualizado ✓`,passwordChanged:`Contraseña de {name} cambiada ✓`,saved:`Usuario {name} guardado ✓`,deleted:`Usuario {name} eliminado ✓`},confirmDelete:`¿Eliminar usuario {email}?`}},o={general:{title:`General`,description:`Información básica mostrada en el sitio.`,back:`← Todos los ajustes`,fields:{siteTitle:`Título del sitio`,siteTitlePlaceholder:`Mi Sitio`,siteDescription:`Descripción`,siteDescriptionPlaceholder:`Un nuevo sitio hecho con OkCMS`,language:`Idioma`,timezone:`Zona horaria`,timezonePlaceholder:`America/Mexico_City`},saved:`Ajustes guardados ✓`,loading:`Cargando…`,save:`Guardar`},postTypes:{title:`Tipos de Contenido`,description:`Crea tipos de contenido personalizados (CPTs) más allá de Entradas y Páginas.`,form:{title:`Crear Tipo de Contenido`,slug:`Slug (singular, ej.: portfolio)`,slugHint:`Solo letras minúsculas, números y guion bajo`,singular:`Nombre en singular`,plural:`Nombre en plural`,supports:`Soporta`,supportsOptions:{title:`Título`,editor:`Editor`,thumbnail:`Imagen Destacada`,excerpt:`Extracto`,revisions:`Revisiones`},hasArchive:`Tiene archivo público (/slug)`,create:`Crear`},table:{slug:`Slug`,singular:`Singular`,plural:`Plural`,source:`Origen`,supports:`Soporta`,archive:`Archivo`,actions:{remove:`Eliminar`}},sources:{admin:`Admin`,core:`Core`}},taxonomies:{title:`Taxonomías`,description:`Crea taxonomías personalizadas y vínculalas a los tipos de contenido.`,form:{title:`Crear Taxonomía`,name:`Nombre (ej.: Género)`,slug:`Slug (opcional, generado del nombre)`,slugHint:`Solo letras minúsculas, números y guion bajo`,hierarchical:`Jerárquica (permite términos padre/hijo)`,attachTo:`Vincular a tipos de contenido`,create:`Crear`},table:{taxonomy:`Taxonomía`,hierarchical:`Jerárquica`,attachedTypes:`Tipos de contenido vinculados`,actions:{remove:`Eliminar`}}}},s={title:`Página no encontrada`,description:`La dirección puede haber cambiado o la página haberse movido. Comprueba la URL o visita una de estas secciones.`,requestedPath:`Intentaste abrir`,suggestionsLabel:`O visita una de estas secciones`,goHome:`Volver al inicio`,goBack:`Volver`},c={title:`Iniciar Sesión`,subtitle:`Accede a tu cuenta`,email:`Email`,password:`Contraseña`,submit:`Entrar`,failed:`Correo o contraseña no válidos`},l={save:`Guardar`,cancel:`Cancelar`,delete:`Eliminar`,edit:`Editar`,close:`Cerrar`,confirm:`Confirmar`,loading:`Cargando…`,yes:`Sí`,no:`No`,search:`Buscar`,filter:`Filtrar`,create:`Crear`,update:`Actualizar`,remove:`Eliminar`,viewAll:`Ver Todo`,back:`Volver`,next:`Siguiente`,previous:`Anterior`,page:`Página`,of:`de`,items:`elementos`,item:`elemento`,empty:`No se encontraron {items}.`,toast:{success:`✓`,error:`Error: {message}`},status:{active:`Activo`,inactive:`Inactivo`,draft:`Borrador`,published:`Publicado`,archived:`Archivado`,locked:`Bloqueado`},language:`Idioma`},u={justNow:`ahora mismo`,minAgo:`minutos atrás`,ago:`atrás`,published:`Publicado`,updated:`Actualizado`,newUser:`Nuevo usuario: {name}`},d={mainMenu:`Menú principal`,notifications:`Notificaciones`,notificationsEmpty:`Sin actividad reciente`,settings:`Ajustes`,toggleSidebar:`Alternar barra lateral`,userMenu:`Menú de usuario`},f={copyright:`© 2026 OkCMS. Todos los derechos reservados.`,links:`Enlaces`,website:`Sitio web`,github:`GitHub`,docs:`Documentación`,community:`Comunidad`,poweredBy:`Desarrollado con Oktis Works`},p={title:`Ayuda`,label:`Ayuda`,tabs:`Temas de ayuda`,topics:{overview:{label:`De un vistazo`,content:`<h4>Bienvenido al panel de OkCMS</h4><p>Este panel te ofrece una visión general del contenido y la actividad de tu sitio.</p><h4>Widgets disponibles</h4><ul><li><strong>De un vistazo:</strong> resumen de entradas, páginas, medios y usuarios</li><li><strong>Borrador rápido:</strong> guarda borradores rápidamente desde el panel</li><li><strong>Actividad:</strong> actividad y actualizaciones recientes del sitio</li></ul>`},content:{label:`Gestión de contenido`,content:`<h4>Gestionar contenido</h4><p>Crea, edita y publica contenido desde la sección de Contenido.</p><h4>Acciones rápidas</h4><ul><li>Haz clic en "Nuevo contenido" para crear una nueva entrada o página</li><li>Usa filtros para encontrar contenido específico</li><li>Acciones en lote disponibles para varios elementos</li></ul>`},media:{label:`Biblioteca de medios`,content:`<h4>Gestionar medios</h4><p>Sube y gestiona imágenes, vídeos y documentos.</p><h4>Consejos</h4><ul><li>Arrastra y suelta archivos para subirlos</li><li>Añade texto alternativo para accesibilidad</li><li>Organiza con carpetas (próximamente)</li></ul>`}}},m={title:`Opciones de pantalla`,label:`Opciones de pantalla`,showOnScreen:`Mostrar en pantalla`},h={title:`Temas`,description:`Gestionar temas instalados.`,directoryHint:`Detectados automáticamente desde el directorio themes/ del proyecto. Usa la CLI o despliega archivos para añadir temas.`,version:`Versión`,active:`Activo`,status:{active:`Activo`,installed:`Instalado`,inactive:`Inactivo`},activate:`Activar`,deactivate:`Desactivar`,customize:`Personalizar`,install:`Instalar tema`,name:`Nombre del tema`,manifest:`Manifiesto (JSON)`,loadError:`No se pudieron cargar los temas.`,activateError:`No se pudo activar el tema.`,deactivateError:`No se pudo desactivar el tema.`,deactivateBlocked:`Al menos un tema debe permanecer activo.`,installError:`No se pudo instalar el tema.`,reload:`Recargar`,empty:`No hay temas instalados.`},g={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,notFound:s,login:c,common:l,activity:u,adminBar:d,footer:f,helpTabs:p,screenOptions:m,themes:h};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,g as default,f as footer,p as helpTabs,e as layout,c as login,i as media,r as menus,s as notFound,m as screenOptions,o as settings,h as themes,a as users};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`לוח בקרה`,content:`תוכן`,media:`מדיה`,users:`משתמשים`,menus:`תפריטים`,settings:`הגדרות`,plugins:`תוספים`,themes:`ערכות נושא`,customize:`התאמה אישית`},actions:{logout:`התנתקות`,newPost:`פוסט חדש`,uploadMedia:`העלאת מדיה`,addUser:`הוסף משתמש`,openSettings:`הגדרות`}},t={title:`לוח בקרה`,stats:{totalContent:`סה״כ תוכן`,published:`פורסם`,drafts:`טיוטות`,mediaFiles:`קבצי מדיה`,users:`משתמשים`},recent:{title:`תוכן אחרון`,viewAll:`הצג הכל`,empty:`אין עדיין תוכן — צור את הראשון!`,columns:{title:`כותרת`,type:`סוג`,status:`סטטוס`,updated:`עודכן`}},widgets:{atGlance:`במבט חטוף`,posts:`פוסטים`,postsDesc:`פורסמו / טיוטות / פח`,pages:`עמודים`,pagesDesc:`פורסמו / טיוטות / פח`,media:`מדיה`,mediaDesc:`קבצים בספרייה`,users:`משתמשים`,usersDesc:`סה״כ / פעילים / לא פעילים`,version:`גרסה`,storage:`אחסון`,quickDraft:{title:`טיוטה מהירה`,heading:`כותרת`,headingPlaceholder:`תנו כותרת לטיוטה`,content:`תוכן`,contentPlaceholder:`על מה אתם חושבים?`,save:`שמור טיוטה`,yourDrafts:`הטיוטות שלך`,noDrafts:`עדיין אין טיוטות.`},activity:{title:`פעילות`,empty:`עדיין אין פעילות.`}}},n={list:{title:`תוכן`,description:`חפש, סנן, ערוך ופרסם את התוכן שלך.`,columns:{title:`כותרת`,type:`סוג`,status:`סטטוס`,updated:`עודכן`},actions:{edit:`ערוך`,publish:`פרסם`,unpublish:`בטל פרסום`,delete:`מחק`},filters:{search:`חפש תוכן…`,allTypes:`כל הסוגים`,allStatus:`כל הסטטוסים`},buttons:{new:`+ תוכן חדש`,search:`חפש`},empty:`לא נמצא תוכן.`,statuses:{draft:`טיוטה`,published:`פורסם`,archived:`ארכיון`},confirmDelete:`למחוק "{title}"?`,toasts:{published:`התוכן פורסם ✓`,unpublished:`הפרסום בוטל ✓`}},editor:{type:`סוג`,title:`כותרת`,slug:`Slug`,excerpt:`תקציר`,featuredImage:`תמונה ראשית (מזהה מדיה)`,status:`סטטוס`,statusOptions:{draft:`טיוטה`,published:`פורסם`,archived:`ארכיון`},layout:`פריסה`,layoutAuto:`אוטומטי (היררכיית ערכת נושא)`,customFields:`שדות מותאמים`,inspectTypes:`בדוק סוגים זמינים`,save:`שמור`,saved:`התוכן נשמר בהצלחה.`},taxonomy:{editTerm:`עריכת מונח`}},r={title:`תפריטים`,description:`צור ונהל את תפריטי הניווט של האתר.`,hint:`התפריטים עצמאיים מסוגי התוכן וניתנים להצגה על ידי ערכת הנושא.`,new:`תפריט חדש`,create:`יצירת תפריט`,edit:`עריכת תפריט`,name:`שם`,slug:`Slug`,items:`פריטי תפריט (JSON)`,itemsHint:`השתמש במערך JSON של אובייקטי תפריט.`,invalidItems:`פריטי התפריט חייבים להיות מערך JSON תקין.`,saved:`התפריט נשמר.`,deleted:`התפריט נמחק.`,empty:`אין עדיין תפריטים.`,confirmDelete:`למחוק את התפריט "{name}"?`},i={title:`ספריית מדיה`,description:"העלה ונהל תמונות, סרטונים ומסמכים. קבצים נשמרים ב-`uploads/` ומוגשים לציבור.",upload:{dropzone:`גרור קבצים לכאן או`,select:`בחר קבצים`,uploading:`מעלה…`,hint:`תמונות, סרטונים, שמע ומסמכים · עד 25MB לקובץ`},toolbar:{search:`חפש לפי שם או alt…`,allTypes:`כל הסוגים`,searchBtn:`חפש`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`אין עדיין קבצים. העלה את הראשון!`,details:{title:`פרטים`,file:`קובץ`,type:`סוג`,size:`גודל`,url:`כתובת`,copy:`העתק`,alt:`טקסט חלופי`,caption:`כיתוב`,save:`שמור פרטים`,delete:`מחק`,close:`סגור`,confirmDelete:`למחוק "{filename}"? הקובץ יימחק מהדיסק.`,saved:`הפרטים נשמרו ✓`,copied:`הכתובת הועתקה ✓`,copyError:`לא ניתן להעתיק את הכתובת`},toasts:{uploaded:`{count} קובץ(ים) הועלו ✓`}},a={title:`משתמשים`,description:`נהל חשבונות, תפקידים וגישות לפרויקט.`,new:`משתמש חדש`,toolbar:{search:`חפש לפי שם או אימייל…`,allStatus:`כל הסטטוסים`,active:`פעילים`,inactive:`לא פעילים`,newBtn:`+ משתמש חדש`,searchBtn:`חפש`},table:{name:`שם`,email:`אימייל`,role:`תפקיד`,status:`סטטוס`,lastAccess:`גישה אחרונה`,actions:{manage:`נהל`,delete:`מחק`}},empty:`לא נמצאו משתמשים.`,noRole:`ללא תפקיד`,detail:{title:`ניהול משתמש`,fields:{name:`שם`,email:`אימייל`,status:`סטטוס`,role:`תפקיד`,password:`סיסמה`},statusOptions:{active:`פעיל`,inactive:`לא פעיל`},rolePlaceholder:`— ללא תפקיד —`,meta:`נוצר ב-{created} · גישה אחרונה {lastAccess}`,actions:{save:`שמור`,resetPassword:`אפס סיסמה`,close:`סגור`},passwordPrompt:`סיסמה חדשה עבור {email} (מינימום 8 תווים):`,passwordError:`הסיסמה חייבת להיות באורך 8 תווים לפחות`,toasts:{roleUpdated:`התפקיד של {name} עודכן ✓`,passwordChanged:`הסיסמה של {name} שונתה ✓`,saved:`המשתמש {name} נשמר ✓`,deleted:`המשתמש {name} נמחק ✓`},confirmDelete:`למחוק את המשתמש {email}?`}},o={general:{title:`כללי`,description:`מידע בסיסי המוצג באתר.`,back:`← כל ההגדרות`,fields:{siteTitle:`כותרת האתר`,siteTitlePlaceholder:`האתר שלי`,siteDescription:`תיאור`,siteDescriptionPlaceholder:`אתר חדש עם OkCMS`,language:`שפה`,timezone:`אזור זמן`,timezonePlaceholder:`Asia/Jerusalem`},saved:`ההגדרות נשמרו ✓`,loading:`טוען…`,save:`שמור`},postTypes:{title:`סוגי תוכן`,description:`צור סוגי תוכן מותאמים (CPT) מעבר לפוסטים ועמודים.`,form:{title:`צור סוג תוכן`,slug:`Slug (יחיד, למשל: portfolio)`,slugHint:`רק אותיות קטנות, מספרים וקו תחתון`,singular:`שם ביחיד`,plural:`שם ברבים`,supports:`תומך`,supportsOptions:{title:`כותרת`,editor:`עורך`,thumbnail:`תמונה ראשית`,excerpt:`קטע`,revisions:`גרסאות`},hasArchive:`יש דף ארכיון ציבורי (/slug)`,create:`צור`},table:{slug:`Slug`,singular:`יחיד`,plural:`רבים`,source:`מקור`,supports:`תומך`,archive:`ארכיון`,actions:{remove:`הסר`}},sources:{admin:`Admin`,core:`Core`}},taxonomies:{title:`טקסונומיות`,description:`צור טקסונומיות מותאמות וקשר אותן לסוגי תוכן.`,form:{title:`צור טקסונומיה`,name:`שם (למשל: ז'אנר)`,slug:`Slug (אופציונלי, נוצר מהשם)`,slugHint:`רק אותיות קטנות, מספרים וקו תחתון`,hierarchical:`היררכית (מאפשרת מונחי אב/בן)`,attachTo:`קשר לסוגי תוכן`,create:`צור`},table:{taxonomy:`טקסונומיה`,hierarchical:`היררכית`,attachedTypes:`סוגי תוכן מקושרים`,actions:{remove:`הסר`}}}},s={title:`הדף לא נמצא`,description:`הכתובת יתכן שהתיישנה או שהדף הועבר. בדוק את הכתובת או כניסה לאחת מהחטיבות שלמטה.`,requestedPath:`ניסית לפתוח`,suggestionsLabel:`או כניסה לאחת מהחטיבות האלה`,goHome:`חזרה לעמוד הראשי`,goBack:`חזרה`},c={title:`התחברות`,subtitle:`התחבר לחשבונך`,email:`אימייל`,password:`סיסמה`,submit:`התחבר`,failed:`אימייל או סיסמה שגויים`},l={save:`שמור`,cancel:`ביטול`,delete:`מחק`,edit:`ערוך`,close:`סגור`,confirm:`אשר`,loading:`טוען…`,yes:`כן`,no:`לא`,search:`חפש`,filter:`סנן`,create:`צור`,update:`עדכן`,remove:`הסר`,viewAll:`הצג הכל`,back:`חזור`,next:`הבא`,previous:`הקודם`,page:`עמוד`,of:`מתוך`,items:`פריטים`,item:`פריט`,empty:`לא נמצאו {items}.`,toast:{success:`✓`,error:`שגיאה: {message}`},status:{active:`פעיל`,inactive:`לא פעיל`,draft:`טיוטה`,published:`פורסם`,archived:`ארכיון`,locked:`נעול`},language:`שפה`},u={justNow:`עכשיו`,minAgo:`דקות לפני`,ago:`לפני`,published:`פורסם`,updated:`עודכן`,newUser:`משתמש חדש: {name}`},d={mainMenu:`תפריט ראשי`,notifications:`התראות`,notificationsEmpty:`אין פעילות אחרונה`,settings:`הגדרות`,toggleSidebar:`החלף סרגד צד`,userMenu:`תפריט משתמש`},f={copyright:`© 2026 OkCMS. כל הזכויות שמורות.`,links:`קישורים`,website:`אתר`,github:`GitHub`,docs:`תיעוד`,community:`קהילה`,poweredBy:`מונע על ידי Oktis Works`},p={title:`עזרה`,label:`עזרה`,tabs:`נושאי עזרה`,topics:{overview:{label:`במבט חטוף`,content:`<h4>ברוכים הבאים ללוח הבקרה של OkCMS</h4><p>לוח הבקרה הזה נותן סקירה כללית של התוכן והפעילות באתר שלך.</p><h4>וידג'טים זמינים</h4><ul><li><strong>במבט חטוף:</strong> סקירת פוסטים, עמודים, מדיה ומשתמשים</li><li><strong>טיוטה מהירה:</strong> שמירת טיוטות במהירות מלוח הבקרה</li><li><strong>פעילות:</strong> פעילות ועדכונים אחרונים של האתר</li></ul>`},content:{label:`ניהול תוכן`,content:`<h4>ניהול תוכן</h4><p>צור, ערוך ופרסם תוכן מאזור התוכן.</p><h4>פעולות מהירות</h4><ul><li>לחץ על "תוכן חדש" כדי ליצור פוסט או עמוד חדש</li><li>השתמש בסינונים כדי למצוא תוכן ספציפי</li><li>פעולות מרובות זמינות לפריטים מרובים</li></ul>`},media:{label:`ספריית מדיה`,content:`<h4>ניהול מדיה</h4><p>העלה ונהל תמונות, וידאו ומסמכים.</p><h4>טיפים</h4><ul><li>גרור קבצים כדי להעלות</li><li>הוסף טקסט חלופי לנגישות</li><li>ארגן בתיקיות (בקרוב)</li></ul>`}}},m={title:`אפשרויות מסך`,label:`אפשרויות מסך`,showOnScreen:`הצג במסך`},h={title:`ערכות נושא`,description:`ניהול ערכות נושא מותקנות.`,directoryHint:`מזוהות אוטומטית מתיקיית themes/ של הפרויקט. השתמש ב-CLI או פרוס קבצים כדי להוסיף ערכות נושא.`,version:`גרסה`,active:`פעיל`,status:{active:`פעיל`,installed:`מותקן`,inactive:`לא פעיל`},activate:`הפעל`,deactivate:`השבת`,customize:`התאמה אישית`,install:`התקן ערכת נושא`,name:`שם ערכת הנושא`,manifest:`מניפסט (JSON)`,loadError:`לא ניתן לטעון ערכות נושא.`,activateError:`לא ניתן להפעיל את ערכת הנושא.`,deactivateError:`לא ניתן להשבית את ערכת הנושא.`,deactivateBlocked:`לפחות ערכת נושא אחת חייבת להישאר פעילה.`,installError:`לא ניתן להתקין את ערכת הנושא.`,reload:`טען מחדש`,empty:`אין ערכות נושא מותקנות.`},g={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,notFound:s,login:c,common:l,activity:u,adminBar:d,footer:f,helpTabs:p,screenOptions:m,themes:h};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,g as default,f as footer,p as helpTabs,e as layout,c as login,i as media,r as menus,s as notFound,m as screenOptions,o as settings,h as themes,a as users};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime.BpQH8Ho1.js";import{S as t,h as n}from"./solid.Ck4Vtfe4.js";import{t as r}from"./preload-helper.oCYlU9a4.js";import{n as i}from"./api.53l1ob4Z.js";var a=[`pt-BR`,`en`,`es-ES`,`ru`,`uk`,`tr`,`he`,`it`,`pl`,`zh-CN`,`ja`,`ar`,`sw`,`yo`,`zu`,`am`,`ha`,`ig`],ee={"pt-BR":`Português (Brasil)`,en:`English`,"es-ES":`Español`,ru:`Русский`,uk:`Українська`,tr:`Türkçe`,he:`עברית`,it:`Italiano`,pl:`Polski`,"zh-CN":`中文 (简体)`,ja:`日本語`,ar:`العربية`,sw:`Kiswahili`,yo:`Yorùbá`,zu:`isiZulu`,am:`አማርኛ`,ha:`Hausa`,ig:`Igbo`},te={"pt-BR":`🇧🇷`,en:`🇺🇸`,"es-ES":`🇪🇸`,ru:`🇷🇺`,uk:`🇺🇦`,tr:`🇹🇷`,he:`🇮🇱`,it:`🇮🇹`,pl:`🇵🇱`,"zh-CN":`🇨🇳`,ja:`🇯🇵`,ar:`🇸🇦`,sw:`🇹🇿`,yo:`🇳🇬`,zu:`🇿🇦`,am:`🇪🇹`,ha:`🇳🇬`,ig:`🇳🇬`};function ne(e){return a.includes(e)}var o=(e,t,n)=>{let r=t.lastIndexOf(`?`),i=e[r===-1||r<t.lastIndexOf(`/`)?t:t.slice(0,r)];return i?typeof i==`function`?i():Promise.resolve(i):new Promise((e,r)=>{(typeof queueMicrotask==`function`?queueMicrotask:setTimeout)(r.bind(null,Error(`Unknown variable dynamic import: `+t+(t.split(`/`).length===n?``:`. Note that variables only represent file names one level deep.`))))})},s=new Map;async function c(e){if(s.has(e))return s.get(e);try{let t=await o(Object.assign({"./locales/ar.json":()=>r(()=>import(`./ar.BeEmOTlL.js`),[]),"./locales/en.json":()=>r(()=>Promise.resolve().then(()=>h),void 0),"./locales/es-ES.json":()=>r(()=>import(`./es-ES.C0DI0CK6.js`),[]),"./locales/he.json":()=>r(()=>import(`./he.RF4swhtn.js`),[]),"./locales/it.json":()=>r(()=>import(`./it.DhCR9YsW.js`),[]),"./locales/ja.json":()=>r(()=>import(`./ja.DPrxHQvU.js`),[]),"./locales/pl.json":()=>r(()=>import(`./pl.6VCoPa7y.js`),[]),"./locales/pt-BR.json":()=>r(()=>import(`./pt-BR.DB_qjzov.js`),[]),"./locales/ru.json":()=>r(()=>import(`./ru.Cv0Z6X2y.js`),[]),"./locales/sw.json":()=>r(()=>import(`./sw.BBMIgY-Y.js`),[]),"./locales/tr.json":()=>r(()=>import(`./tr.BWEmWhCE.js`),[]),"./locales/uk.json":()=>r(()=>import(`./uk.DDXJXOmn.js`),[]),"./locales/yo.json":()=>r(()=>import(`./yo.DNoEBLJd.js`),[]),"./locales/zh-CN.json":()=>r(()=>import(`./zh-CN.CVKBB6Ky.js`),[])}),`./locales/${e}.json`,3),n=t.default??t;return s.set(e,n),n}catch{return e===`en`?{}:c(`en`)}}var l=`admin_locale`;function re(){if(typeof document>`u`)return null;let e=document.cookie.match(RegExp(`(?:^|; )${l}=([^;]+)`));return e?.[1]&&a.includes(e[1])?e[1]:null}function u(e){typeof document<`u`&&(document.cookie=`${l}=${e}; path=/; max-age=31536000; SameSite=Lax`)}function d(){if(typeof navigator>`u`)return`en`;let e=navigator.language?.split(`-`)[0]?.toLowerCase(),t=navigator.language?.toLowerCase();for(let n of a)if(n.toLowerCase()===t||n.split(`-`)[0]===e)return n;return`en`}async function f(){try{let e=await i.getUserLocale();if(e&&a.includes(e))return e}catch{}return null}async function ie(e){await i.setUserLocale(e)}async function p(){return re()||await f()||d()||`en`}async function m(e){u(e);try{await ie(e)}catch{}}var h=e({access:()=>w,activity:()=>P,adminBar:()=>F,apiKeys:()=>D,comments:()=>B,common:()=>N,content:()=>v,customizer:()=>z,dashboard:()=>_,default:()=>V,footer:()=>I,helpTabs:()=>L,layout:()=>g,login:()=>M,logs:()=>T,media:()=>y,menus:()=>S,notFound:()=>A,plugins:()=>O,rateLimit:()=>j,resources:()=>C,screenOptions:()=>R,settings:()=>x,themes:()=>k,users:()=>b,webhooks:()=>E}),g={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Dashboard`,content:`Content`,media:`Media`,users:`Users`,menus:`Menus`,settings:`Settings`,plugins:`Plugins`,themes:`Themes`,customize:`Customize`,comments:`Comments`,settings_reading:`Reading`},actions:{logout:`Logout`,newPost:`New Post`,uploadMedia:`Upload Media`,addUser:`Add User`,openSettings:`Settings`}},_={title:`Dashboard`,stats:{totalContent:`Total Content`,published:`Published`,drafts:`Drafts`,mediaFiles:`Media Files`,users:`Users`},recent:{title:`Recent Content`,viewAll:`View All`,empty:`No content yet — create your first!`,columns:{title:`Title`,type:`Type`,status:`Status`,updated:`Updated`}},widgets:{atGlance:`At a Glance`,posts:`Posts`,postsDesc:`Published / Drafts / Trash`,pages:`Pages`,pagesDesc:`Published / Drafts / Trash`,media:`Media`,mediaDesc:`Files in the library`,users:`Users`,usersDesc:`Total / Active / Inactive`,storage:`Storage`,quickDraft:{title:`Quick Draft`,heading:`Title`,headingPlaceholder:`Give your draft a title`,content:`Content`,contentPlaceholder:`What's on your mind?`,save:`Save Draft`,yourDrafts:`Your Drafts`,noDrafts:`No drafts yet.`},activity:{title:`Activity`,empty:`No activity yet.`}}},v={list:{title:`Content`,description:`Search, filter, edit and publish your content.`,typeNotFound:`This content type was not found.`,columns:{title:`Title`,type:`Type`,status:`Status`,updated:`Updated`},actions:{edit:`Edit`,publish:`Publish`,unpublish:`Unpublish`,delete:`Delete`},filters:{search:`Search content…`,allTypes:`All types`,allStatus:`All status`},buttons:{new:`+ New content`,addNew:`+ Add new`,search:`Search`},all:`All content`,empty:`No content found.`,statuses:{draft:`Draft`,published:`Published`,archived:`Archived`},confirmDelete:`Delete "{title}"?`,toasts:{published:`Content published ✓`,unpublished:`Content unpublished ✓`}},editor:{type:`Type`,adding:`Add new`,editing:`Edit`,backToList:`Back to list`,saving:`Saving…`,title:`Title`,titlePlaceholder:`Add title`,slug:`Slug`,slugPlaceholder:`auto-generated-from-title`,toolbar:`Editor toolbar`,bodyPlaceholder:`Start writing…`,linkPrompt:`Enter the URL:`,excerpt:`Excerpt`,featuredImage:`Featured Image (media ID)`,mediaIdPlaceholder:`Media ID`,featuredImageHint:`Choose a media item from the Media library.`,pageAttributes:`Page attributes`,publishPanel:`Publish`,status:`Status`,statusOptions:{draft:`Draft`,published:`Published`,archived:`Archived`},layout:`Layout`,layoutAuto:`Automatic (theme hierarchy)`,customFields:`Custom Fields`,inspectTypes:`Inspect available types`,save:`Save`,saved:`Content saved successfully.`,format:`Format`,formatParagraph:`Paragraph`,formatH1:`Heading 1`,formatH2:`Heading 2`,formatH3:`Heading 3`,formatH4:`Heading 4`,formatBlockquote:`Blockquote`,formatCode:`Code`,bold:`Bold`,italic:`Italic`,underline:`Underline`,bulletList:`Bullet List`,numberedList:`Numbered List`,link:`Link`},taxonomy:{title:`Taxonomy terms`,back:`← Back to content`,choose:`Choose a taxonomy from the content menu.`,notFound:`Taxonomy not found.`,addTerm:`Add new term`,editTerm:`Edit term`,name:`Name`,slug:`Slug`,description:`Description`,descriptionHint:`Manage the terms used by this content type.`,attachedTo:`Attached to`,add:`Add term`,delete:`Delete`,empty:`No terms yet.`,confirmDelete:`Delete "{name}"?`,termFields:`Term fields`}},y={title:`Media Library`,description:"Upload and manage images, videos and documents. Files are stored in `uploads/` and served publicly.",upload:{dropzone:`Drop files here or`,select:`Select files`,uploading:`Uploading…`,hint:`Images, videos, audio and documents · up to 25MB per file`},toolbar:{search:`Search by name or alt…`,allTypes:`All types`,searchBtn:`Search`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`No files yet. Upload the first one!`,details:{title:`Details`,titleField:`Title`,file:`File`,type:`Type`,size:`Size`,dimensions:`Dimensions`,uploaded:`Uploaded`,url:`URL`,copy:`Copy`,alt:`Alt text`,caption:`Caption`,description:`Description`,save:`Save details`,replace:`Replace file`,replacing:`Replacing…`,replaceHint:`Keeps this attachment and its metadata.`,delete:`Delete`,close:`Close`,confirmDelete:`Delete "{filename}"? The file will be removed from disk.`,saved:`Details saved ✓`,copied:`URL copied ✓`,copyError:`Could not copy URL`,replaced:`File replaced ✓`},toasts:{uploaded:`{count} file(s) uploaded ✓`}},b={title:`Users`,description:`Manage accounts, roles and project access.`,new:`New User`,toolbar:{search:`Search by name or email…`,allStatus:`All status`,active:`Active`,inactive:`Inactive`,newBtn:`+ New user`,searchBtn:`Search`},table:{name:`Name`,email:`Email`,role:`Role`,status:`Status`,lastAccess:`Last access`,actions:{manage:`Manage`,delete:`Delete`}},empty:`No users found.`,noRole:`No role`,detail:{title:`Manage user`,fields:{name:`Name`,email:`Email`,status:`Status`,role:`Role`,password:`Password`},statusOptions:{active:`Active`,inactive:`Inactive`},rolePlaceholder:`— no role —`,meta:`Created on {created} · last access {lastAccess}`,actions:{save:`Save`,resetPassword:`Reset password`,close:`Close`},passwordPrompt:`New password for {email} (minimum 8 chars):`,passwordError:`Password must be at least 8 characters`,toasts:{roleUpdated:`Role for {name} updated ✓`,passwordChanged:`Password for {name} changed ✓`,saved:`User {name} saved ✓`,deleted:`User {name} deleted ✓`},confirmDelete:`Delete user {email}?`}},x=JSON.parse(`{"general":{"title":"General","description":"Basic information displayed on the site.","back":"← All settings","fields":{"siteTitle":"Site Title","siteTitlePlaceholder":"My Site","siteDescription":"Description","siteDescriptionPlaceholder":"A new site built with OkCMS","language":"Language","timezone":"Timezone","timezonePlaceholder":"America/Sao_Paulo"},"saved":"Settings saved ✓","loading":"Loading…","save":"Save"},"postTypes":{"title":"Content Types","description":"Create custom content types (CPTs) beyond Posts and Pages.","form":{"title":"Create Content Type","slug":"Slug (singular, e.g.: portfolio)","slugHint":"Only lowercase letters, numbers and underscore","singular":"Singular name","plural":"Plural name","supports":"Supports","supportsOptions":{"title":"Title","editor":"Editor","thumbnail":"Featured Image","excerpt":"Excerpt","revisions":"Revisions"},"hasArchive":"Has public archive (/slug)","singleton":"Singleton (only one content entry)","icon":"Sidebar menu icon","iconHint":"Pick a Lucide icon — its name is what shows in the admin sidebar","iconSearchPlaceholder":"Search icons…","iconEmpty":"No icons found.","iconCount":"{count} icons available","editTitle":"Edit Content Type","update":"Update","cancel":"Cancel","create":"Create"},"table":{"slug":"Slug","singular":"Singular","plural":"Plural","source":"Source","supports":"Supports","archive":"Archive","mode":"Mode","singleton":"Singleton","collection":"Collection","icon":"Icon","actions":{"edit":"Edit","remove":"Remove"}},"sources":{"admin":"Admin","core":"Core"}},"taxonomies":{"title":"Taxonomies","description":"Create custom taxonomies and link them to content types.","form":{"title":"Create Taxonomy","name":"Name (e.g.: Genre)","slug":"Slug (optional, generated from name)","slugHint":"Only lowercase letters, numbers and underscore","hierarchical":"Hierarchical (allows parent/child terms)","attachTo":"Link to content types","create":"Create"},"table":{"taxonomy":"Taxonomy","hierarchical":"Hierarchical","attachedTypes":"Linked content types","actions":{"remove":"Remove"}}},"customFields":{"title":"Custom Fields","description":"Create field groups, arrange fields and choose which standard fields are visible for each content type.","contentType":"Content type","location":{"title":"Location rules","description":"Choose where this field group appears. Rules in the same group use AND; groups use OR.","parameter":"Location parameter","operator":"Operator","chooseValue":"Choose a value","valuePlaceholder":"Enter a value or slug","showIf":"Show if","removeRule":"Remove rule","required":"Add a value to every location rule.","addRule":"Add condition","addGroup":"Add OR group","remove":"Remove","and":"AND","or":"OR","params":{"content_type":"Post type","content_slug":"Post slug","taxonomy":"Taxonomy","term":"Term slug","user_role":"User role","page_template":"Page template","post_status":"Post status","block":"Block"},"operators":{"eq":"is","neq":"is not"}},"standard":{"title":"Standard fields","description":"Title and slug are required. The other standard fields can be enabled or disabled.","enabled":"Enabled","locked":"Required","fields":{"title":"Title","slug":"Slug","content":"Content","excerpt":"Excerpt","featured_image":"Featured image","seo_title":"SEO title","seo_description":"SEO description","status":"Status","author":"Author"}},"groups":{"title":"Field groups","new":"New field group","empty":"No custom field groups yet.","emptyHint":"Create your first group to start modelling your content.","search":"Search groups…","groupName":"Group","status":"Status","fields":"fields","appliesTo":"Applies to","allContentTypes":"All content types","edit":"Edit","active":"Active","inactive":"Inactive"},"form":{"createTitle":"Create field group","editTitle":"Edit field group","title":"Group name","titlePlaceholder":"Example: Product details","displayTitle":"Display title","active":"Active","backToGroups":"Back to groups","editorEyebrow":"Field builder","groupTitleHint":"This name identifies the field set inside the content editor.","fieldsTitle":"Fields","fieldsDescription":"Add, configure and order fields. Use the six-dot handle to drag without losing their position.","noFields":"This group has no fields yet.","settingsTitle":"Group settings","settingsDescription":"Presentation and panel visibility options for this panel.","description":"Description","labelPlacement":"Label placement","instructionPlacement":"Instruction placement","menuOrder":"Menu order","hideOnScreen":"Hide on edit screen","hide":{"permalink":"Permalink","content":"Content editor","excerpt":"Excerpt","featured_image":"Featured image","author":"Author","revisions":"Revisions","comments":"Comments"},"assignTitle":"Location","assignDescription":"Choose the content type where this field group will be available.","contentType":"Content type","position":"Position","positions":{"normal":"Normal","side":"Sidebar","after_title":"After title"},"displayStyle":"Display style","displayStyles":{"standard":"Standard","seamless":"Seamless","grouped":"Grouped"},"field":"Field","fieldName":"Name/key","fieldNamePlaceholder":"product_code","fieldLabel":"Label","fieldLabelPlaceholder":"Product code","fieldType":"Type","instructions":"Instructions","instructionsPlaceholder":"Optional help text for editors","required":"Required","options":"Options","optionsHint":"One option per line: value|Label","addField":"Add field","removeField":"Remove","dragHint":"Drag to reorder","editField":"Edit","duplicateField":"Duplicate","copySuffix":"(copy)","selectFieldType":"Select field type","searchFieldTypes":"Search field types…","popularFields":"Popular","noMatchingFieldTypes":"No field types found.","fieldTypeHint":"Choose the type that best represents the value editors will enter in this field.","selectField":"Select field","save":"Save group","cancel":"Cancel","newFieldDefault":"New field","saved":"Field group saved.","deleted":"Field group deleted."},"listEyebrow":"Content structure","validation":{"titleRequired":"Group name is required."},"tabs":{"locationRules":"Location rules","presentation":"Presentation","groupSettings":"Group settings"},"fieldSettings":{"general":"General","fieldLabel":"Field label","fieldName":"Field name","instructions":"Instructions","required":"Required","defaultValue":"Default value","placeholder":"Placeholder","presentation":"Presentation","wrapperWidth":"Wrapper width (%)","labelPlacement":"Label","instructionPlacement":"Instructions","top":"Above","left":"Left","above":"Before field","below":"After field","textSettings":"Text","prepend":"Prepend","append":"Append","minLength":"Minimum length","maxLength":"Maximum length","rows":"Rows","newLines":"New lines","wpautop":"Automatic paragraphs","none":"None","numberSettings":"Number","min":"Minimum","max":"Maximum","step":"Step","choiceSettings":"Choices","choices":"Choices","layout":"Layout","vertical":"Vertical","horizontal":"Horizontal","multiple":"Multiple choice","allowNull":"Allow empty","mediaSettings":"Media","returnFormat":"Return format","array":"Array","id":"ID","previewSize":"Preview size","library":"Library","all":"All","uploadedToPost":"Uploaded to this post","allowedTypes":"Allowed types","minWidth":"Minimum width","maxWidth":"Maximum width","minHeight":"Minimum height","maxHeight":"Maximum height","wysiwygSettings":"WYSIWYG","tabs":"Tabs","toolbar":"Toolbar","mediaUpload":"Allow media upload","dateSettings":"Date and time","displayFormat":"Display format","firstDay":"First day","colorSettings":"Color","enableOpacity":"Allow opacity","mapSettings":"Map","center":"Center","zoom":"Zoom","height":"Height","relationSettings":"Relationship","postType":"Post type","taxonomy":"Taxonomy","booleanSettings":"True/False","message":"Message","defaultChecked":"Checked by default","linkSettings":"Link","cloneSettings":"Clone","cloneFields":"Fields to clone","cloneHint":"One field name per line","containerSettings":"Structure","buttonLabel":"Button label","collapsed":"Collapsed row title field","subFields":"Subfields","layouts":"Layouts","addLayout":"Add layout","newLayout":"New layout","layoutName":"Layout name","layoutLabel":"Layout label","layoutDisplay":"Layout display","conditionalLogic":"Conditional logic","conditionalHint":"Show this field only when the rules match.","chooseField":"Choose a field","conditionValue":"Value","addCondition":"Add condition","addConditionGroup":"Add OR group","conditionsAnd":"Conditions in this group use AND.","choicesHint":"One choice per line in the format value|Label.","cloneSource":"Source group or field","cloneSourceHint":"Field group key or field name to copy fields from.","requiredOn":"Required","requiredOff":"Not required","pluginConfig":"Plugin Configuration","mermaid":{"diagramSettings":"Diagram Settings","theme":"Theme","selectTheme":"Select theme","editable":"Allow editing in content editor","defaultCode":"Default Mermaid Code","defaultCodeHint":"Initial code when field is added to content. User can edit later.","examples":"Examples","exampleFlowchart":"Flowchart","exampleSequence":"Sequence","exampleClass":"Class Diagram","diagram":"Mermaid Diagram","copyCode":"Copy code","rerender":"Re-render","showCode":"Show source code","renderError":"Render Error","rendering":"Rendering diagram..."},"libraryAll":"All","libraryUploaded":"Uploaded to this post","ui":"Enhanced UI","uiHint":"Use enhanced styling for the dropdown.","wrapperClass":"Wrapper class","wrapperWidthHint":"CSS width of the field wrapper, e.g. 50%.","collapsedHint":"Name of the sub-field used as the row title.","conditionalActive":"Active","showIf":"Show if","removeRule":"Remove rule","and":"AND","or":"OR","noLayouts":"No layouts yet.","validation":"Validation","advanced":"Advanced","fieldType":"Type","fieldNameHint":"Letters, numbers and underscores only.","ariaLabel":"Field settings","operators":{"eq":"equals","neq":"does not equal","gt":"is greater than","lt":"is less than","contains":"contains","hasAny":"has any value","hasNone":"is empty"}},"actions":{"delete":"Delete","confirmDelete":"Delete this field group?","edit":"Edit","duplicate":"Duplicate","activate":"Activate","deactivate":"Deactivate","export":"Export","import":"Import"},"import":{"description":"Import field groups from a JSON file. The file must contain a field group object or an array of field group objects. Existing groups with the same key will be updated; new groups will be created.","dropzone":"Click to select a .json file, or drag and drop here","hint":"File selected. Click Import to proceed."},"loading":"Loading custom fields…","loadError":"Could not load custom fields."},"reading":{"title":"Reading","description":"Configure how your homepage and posts page are displayed.","frontPageDisplays":"Your homepage displays","frontPageDisplaysOptions":{"latest":"Your latest posts","static":"A static page"},"frontPage":"Homepage","postsPage":"Posts page","selectPage":"— Select a page —","saved":"Reading settings saved ✓","save":"Save Changes","timezoneString":"Timezone","timezoneStringPlaceholder":"America/Sao_Paulo","gmtOffset":"GMT Offset","gmtOffsetPlaceholder":"-3","timezoneDescription":"A timezone string in IANA format (e.g. America/Sao_Paulo). GMT offset is an alternative in hours.","gmtOffsetDescription":"GMT offset in hours (e.g. -3 for UTC-3). Alternative to IANA timezone string.","loading":"Loading…"}}`),S={title:`Menus`,description:`Create and manage the navigation menus used by your site.`,hint:`Menus are independent from content types and can be rendered by your theme.`,new:`New menu`,create:`Create menu`,edit:`Edit menu`,name:`Name`,slug:`Slug`,items:`Items`,back:`Back to menus`,nameRequired:`Enter a menu name.`,editor:{eyebrow:`Navigation structure`,addItems:`Add menu items`,search:`Search…`,addSelected:`Add selected`,addToMenu:`Add to menu`,structure:`Menu structure`,structureHint:`Drag items to reorder. Use the arrows to create nested submenus.`,empty:`Add items from the panels on the left.`,emptyLevel:`No submenu items.`,drag:`Drag to reorder`,untitled:`Untitled item`,noUrl:`No URL`,up:`Move up`,down:`Move down`,indent:`Make submenu`,outdent:`Move to parent level`,itemSettings:`Item settings`,navigationLabel:`Navigation label`,url:`URL`,titleAttribute:`Title attribute`,cssClasses:`CSS classes`,target:`Open link in`,sameWindow:`Same window`,newWindow:`New window`,xfn:`Link relationship (XFN)`,description:`Description`,remove:`Remove`,settings:`Menu settings`,autoAddPages:`Automatically add new top-level pages to this menu`,autoAddPagesHint:`This setting is saved with the menu and can be used by the active theme.`},sources:{pages:`Pages`,posts:`Posts`,custom:`Custom Links`,customHint:`Add any internal or external URL.`,home:`Home`,contentTypes:`Content type items`,archives:`Content type archives`,taxonomies:`Taxonomy terms`},saved:`Menu saved.`,deleted:`Menu deleted.`,empty:`No menus yet.`,confirmDelete:`Delete menu "{name}"?`},C={title:`Content Resources`,description:`Description`,tabs:{category:`Categories`,tag:`Tags`,menu:`Menus`},new:`New resource`,name:`Name`,slug:`Slug`,items:`Menu items (JSON)`,saved:`Resource saved.`,confirmDelete:`Delete this resource?`,form:{new:`Create resource`,edit:`Edit resource`},terms:{title:`Taxonomy terms`,choose:`Choose a taxonomy`,new:`New term`}},w={title:`Access`,description:`Manage roles, permissions and tenants.`,roles:`Roles`,tenants:`Tenants`,permissions:`Permissions`,domain:`Domain`,permissionsPlaceholder:`No permissions selected`,permissionsSummary:`{resources} resources · {count} permissions`,permissionSearch:`Filter resources…`,permissionNoMatches:`No resource matches.`,customPermissions:`Custom permissions`,customPermission:`permission:resource`,permissionsSelected:`{count} selected`,newRole:`New role`,editRole:`Edit role`,newTenant:`New tenant`,editTenant:`Edit tenant`,resources:{content:`Content`,media:`Media`,category:`Categories`,tag:`Tags`,menu:`Menus`,user:`Users`,roles:`Roles`,theme:`Themes`,plugin:`Plugins`,setting:`Settings`,webhook:`Webhooks`,tenants:`Tenants`,audit:`Audit`,build:`Builds`,system:`System`}},T={title:`Logs`,description:`Complete audit history of actions performed in the CMS.`,retentionTitle:`Log retention`,retentionDescription:`Logs older than this period are removed automatically.`,retentionDays:`Keep logs for (days)`,retentionSaved:`Log retention updated.`,historyTitle:`Audit history`,actionFilter:`Filter by action`,resourceFilter:`Filter by resource`,loading:`Loading logs…`,empty:`No actions recorded yet.`,system:`System`,columns:{date:`Date`,action:`Action`,resource:`Resource`,user:`User`,status:`Status`,ip:`IP`}},E={title:`Webhooks`,description:`Send CMS events to external services with configurable authentication.`,listTitle:`Configured webhooks`,new:`New webhook`,create:`Create webhook`,edit:`Edit webhook`,url:`Endpoint URL`,events:`Events`,selectEvents:`Select one or more events`,searchEvents:`Search events…`,noEvents:`No events found.`,eventsRequired:`Select at least one event.`,authentication:`Authentication`,active:`Active`,token:`Bearer token`,username:`Username`,password:`Password`,headerName:`Header name`,apiKeyValue:`API key value`,secret:`HMAC secret`,signatureHeader:`Signature header`,keepExisting:`Leave blank to keep current value`,loading:`Loading webhooks…`,empty:`No webhooks configured.`,auth:{none:`None`,bearer:`Bearer token`,basic:`Basic authentication`,apiKey:`API key`,hmac_sha256:`HMAC SHA-256`}},D={title:`API keys`,description:`Issue one-time credentials so external apps can exchange an API key for access and refresh JWTs and consume the content API.`,howItWorks:`The key is used only once, at POST /api/v1/auth/api-key-login, to obtain JWTs. It never authorizes requests directly.`,listTitle:`Issued keys`,new:`New API key`,create:`Create API key`,createSubmit:`Create key`,prefix:`Prefix`,lastUsed:`Last used`,neverUsed:`Never used`,revoke:`Revoke`,revoked:`API key revoked.`,loading:`Loading API keys…`,empty:`No API keys issued.`,status:{active:`Active`,oneTime:`Single-use`,expired:`Expired`,revoked:`Revoked`},form:{name:`Name`,namePlaceholder:`e.g. Mobile app backend`,user:`Identity (user)`,currentUser:`Current user`,expiresAt:`Expires at (optional)`,oneTime:`Single-use (revoke automatically after the first login)`,oneTimeHint:`Recommended for integrations that can exchange the key for JWTs immediately.`},errors:{nameRequired:`Name is required.`},created:{title:`API key created`,warning:`Copy this value now — it will never be shown again. If you lose it, revoke the key and create a new one.`,value:`API key`,howToUse:`Use it once to obtain JWTs:`,copy:`Copy`,copied:`Copied!`}},O={title:`Plugins`,description:`View installed plugins.`,directoryHint:`Detected automatically from the project's plugins/ directory. To install, update or activate a plugin, place its files in plugins/ and restart the server (okcms start, pm2 or docker).`,columns:{name:`Name`,version:`Version`,status:`Status`,enabled:`Enabled for tenant`},status:{active:`Active`,installed:`Installed`,inactive:`Inactive`,quarantined:`Quarantined`,missing:`Missing`,loadFailed:`Load failed`},install:`Install plugin`,uninstall:`Uninstall`,confirmUninstall:`Uninstall {name}?`,name:`Plugin name`,version:`Version`,manifest:`Manifest (JSON)`,loadError:`Could not load plugins.`,installError:`Could not install the plugin.`,uninstallError:`Could not uninstall the plugin.`,empty:`No plugins installed.`,enabledForTenant:`Active for this tenant`,enabledYes:`Yes`,enabledNo:`No`},k={title:`Themes`,description:`Manage installed themes.`,directoryHint:`Detected automatically from the project's themes/ directory. Use the CLI or deploy files to add themes.`,version:`Version`,active:`Active`,status:{active:`Active`,installed:`Installed`,inactive:`Inactive`},activate:`Activate`,deactivate:`Deactivate`,install:`Install theme`,name:`Theme name`,manifest:`Manifest (JSON)`,loadError:`Could not load themes.`,activateError:`Could not activate the theme.`,deactivateError:`Could not deactivate the theme.`,deactivateBlocked:`At least one theme must remain active.`,installError:`Could not install the theme.`,reload:`Reload`,empty:`No themes installed.`},A={title:`Page not found`,description:`The address may be out of date or the page may have moved. Check the URL or pick one of the sections below.`,requestedPath:`You tried to open`,suggestionsLabel:`Or visit one of these`,goHome:`Back to home`,goBack:`Go back`},j={notice:`Request limit reached — wait a few seconds and try again.`,noticeRetry:`Request limit reached — retrying automatically in {seconds}s.`},M={title:`Login`,subtitle:`Sign in to your account`,email:`Email`,password:`Password`,submit:`Sign In`,failed:`Invalid email or password`},N={save:`Save`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,close:`Close`,confirm:`Confirm`,loading:`Loading…`,yes:`Yes`,no:`No`,search:`Search`,filter:`Filter`,create:`Create`,update:`Update`,remove:`Remove`,viewAll:`View All`,back:`Back`,next:`Next`,previous:`Previous`,page:`Page`,of:`of`,items:`items`,item:`item`,empty:`No {items} found.`,toast:{success:`✓`,error:`Error: {message}`},status:{active:`Active`,inactive:`Inactive`,draft:`Draft`,published:`Published`,archived:`Archived`,locked:`Locked`},language:`Language`,refresh:`Refresh`,actions:`Actions`,add:`Add`},P={justNow:`just now`,minAgo:`minutes ago`,ago:`ago`,published:`Published`,updated:`Updated`,newUser:`New user: {name}`},F={mainMenu:`Main menu`,notifications:`Notifications`,notificationsEmpty:`No recent activity`,settings:`Settings`,toggleSidebar:`Toggle sidebar`,userMenu:`User menu`},I={copyright:`© 2026 OkCMS. All rights reserved.`,links:`Links`,website:`Website`,github:`GitHub`,docs:`Documentation`,community:`Community`,poweredBy:`Powered by Oktis Works`},L={title:`Help`,label:`Help`,tabs:`Help topics`,topics:{overview:{label:`Overview`,content:`<h4>Welcome to the OkCMS Dashboard</h4><p>This dashboard gives you an overview of your site's content and activity.</p><h4>Available Widgets</h4><ul><li><strong>At a Glance:</strong> overview of posts, pages, media, and users</li><li><strong>Quick Draft:</strong> save drafts quickly from the dashboard</li><li><strong>Activity:</strong> recent site activity and updates</li></ul>`},content:{label:`Content Management`,content:`<h4>Managing Content</h4><p>Create, edit, and publish content from the Content section.</p><h4>Quick Actions</h4><ul><li>Click "New Content" to create a new post or page</li><li>Use filters to find specific content</li><li>Bulk actions available for multiple items</li></ul>`},media:{label:`Media Library`,content:`<h4>Managing Media</h4><p>Upload and manage images, videos, and documents.</p><h4>Tips</h4><ul><li>Drag and drop files to upload</li><li>Add alt text for accessibility</li><li>Organize with folders (coming soon)</li></ul>`}}},R={title:`Screen Options`,label:`Screen Options`,showOnScreen:`Show on screen`},z={title:`Customizer`,description:`Adjust the active theme settings with a live preview. Changes apply to the preview instantly and only persist when you save.`,loadError:`Failed to load themes.`,saveError:`Failed to save the theme settings.`,noTheme:`No active theme to customize.`,goToThemes:`Go to Themes`,noSettings:`This theme declares no customizable settings (manifest.settings).`,save:`Save`,saving:`Saving...`,saved:`Saved.`,reset:`Reset`,refreshPreview:`Refresh preview`,previewHint:`The preview overlays your draft on top of the saved settings — it is request-only and never persists.`,previewPath:`Preview path`,previewTitle:`Theme preview`},B={title:`Comments`,description:`Moderate visitor comments: approve, mark as spam, trash or delete permanently.`,loading:`Loading comments...`,empty:`No comments in this queue.`,reload:`Reload`,author:`Author`,comment:`Comment`,inReplyTo:`Content`,submitted:`Submitted`,approve:`Approve`,spam:`Spam`,trash:`Trash`,delete:`Delete`,confirmDelete:`Delete this comment permanently? This cannot be undone.`,status:{pending:`Pending`,approved:`Approved`,spam:`Spam`,trashed:`Trash`}},V={layout:g,dashboard:_,content:v,media:y,users:b,settings:x,menus:S,resources:C,access:w,logs:T,webhooks:E,apiKeys:D,plugins:O,themes:k,notFound:A,rateLimit:j,login:M,common:N,activity:P,adminBar:F,footer:I,helpTabs:L,screenOptions:R,customizer:z,comments:B},H=new Map,U=V,[W,G]=n(0),K=null;function q(e){return(e.split(`.`).at(-1)??e).replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/^\w/,e=>e.toUpperCase())}function J(e,t){return function(n,r){let i=n.split(`.`),a=e;for(let e of i)if(a&&typeof a==`object`&&e in a)a=a[e];else{a=t;for(let e of i)if(a&&typeof a==`object`&&e in a)a=a[e];else return q(n);break}return typeof a==`string`?r?a.replace(/\{(\w+)\}/g,(e,t)=>String(r[t]??``)):a:q(n)}}async function Y(e){if(H.has(e))return H.get(e);let[t,n]=await Promise.all([c(e),c(`en`)]),r=J(t,n);return H.set(e,r),r}var X=J(U,U),Z=`en`,Q=!0,ae=`okcms:locale-changed`;function $(){typeof window<`u`&&window.dispatchEvent(new CustomEvent(ae,{detail:{locale:Z}}))}function oe(e){return t(async()=>{Q&&(K||=(async()=>{let t=e??await p();Z=t,X=await Y(t),Q=!1,G(e=>e+1),$()})(),await K)}),{t:(e,t)=>(W(),X(e,t)),locale:()=>(W(),Z),changeLocale:async e=>{Q=!0,Z=e,X=await Y(e),Q=!1,G(e=>e+1),$(),await m(e)},get loading(){return Q}}}export{ee as a,te as i,oe as n,a as o,u as r,ne as s,Y as t};
1
+ import{n as e}from"./rolldown-runtime.BpQH8Ho1.js";import{S as t,h as n}from"./solid.Ck4Vtfe4.js";import{t as r}from"./preload-helper.oCYlU9a4.js";import{n as i}from"./api.53l1ob4Z.js";var a=[`pt-BR`,`en`,`es-ES`,`ru`,`uk`,`tr`,`he`,`it`,`pl`,`zh-CN`,`ja`,`ar`,`sw`,`yo`,`zu`,`am`,`ha`,`ig`],ee={"pt-BR":`Português (Brasil)`,en:`English`,"es-ES":`Español`,ru:`Русский`,uk:`Українська`,tr:`Türkçe`,he:`עברית`,it:`Italiano`,pl:`Polski`,"zh-CN":`中文 (简体)`,ja:`日本語`,ar:`العربية`,sw:`Kiswahili`,yo:`Yorùbá`,zu:`isiZulu`,am:`አማርኛ`,ha:`Hausa`,ig:`Igbo`},te={"pt-BR":`🇧🇷`,en:`🇺🇸`,"es-ES":`🇪🇸`,ru:`🇷🇺`,uk:`🇺🇦`,tr:`🇹🇷`,he:`🇮🇱`,it:`🇮🇹`,pl:`🇵🇱`,"zh-CN":`🇨🇳`,ja:`🇯🇵`,ar:`🇸🇦`,sw:`🇹🇿`,yo:`🇳🇬`,zu:`🇿🇦`,am:`🇪🇹`,ha:`🇳🇬`,ig:`🇳🇬`};function ne(e){return a.includes(e)}var o=(e,t,n)=>{let r=t.lastIndexOf(`?`),i=e[r===-1||r<t.lastIndexOf(`/`)?t:t.slice(0,r)];return i?typeof i==`function`?i():Promise.resolve(i):new Promise((e,r)=>{(typeof queueMicrotask==`function`?queueMicrotask:setTimeout)(r.bind(null,Error(`Unknown variable dynamic import: `+t+(t.split(`/`).length===n?``:`. Note that variables only represent file names one level deep.`))))})},s=new Map;async function c(e){if(s.has(e))return s.get(e);try{let t=await o(Object.assign({"./locales/ar.json":()=>r(()=>import(`./ar.BCtMLfbL.js`),[]),"./locales/en.json":()=>r(()=>Promise.resolve().then(()=>h),void 0),"./locales/es-ES.json":()=>r(()=>import(`./es-ES.BfYd3kCv.js`),[]),"./locales/he.json":()=>r(()=>import(`./he.pQFPO6hc.js`),[]),"./locales/it.json":()=>r(()=>import(`./it.ZpeUogpB.js`),[]),"./locales/ja.json":()=>r(()=>import(`./ja.Ch5X4gaR.js`),[]),"./locales/pl.json":()=>r(()=>import(`./pl.DDgkAPXr.js`),[]),"./locales/pt-BR.json":()=>r(()=>import(`./pt-BR.zZcF2v3X.js`),[]),"./locales/ru.json":()=>r(()=>import(`./ru.CAjJz8Cj.js`),[]),"./locales/sw.json":()=>r(()=>import(`./sw.CehAEkRN.js`),[]),"./locales/tr.json":()=>r(()=>import(`./tr.Sf1XkPHa.js`),[]),"./locales/uk.json":()=>r(()=>import(`./uk.-2u2eOOq.js`),[]),"./locales/yo.json":()=>r(()=>import(`./yo.os9m69tq.js`),[]),"./locales/zh-CN.json":()=>r(()=>import(`./zh-CN.Bt1lpQQu.js`),[])}),`./locales/${e}.json`,3),n=t.default??t;return s.set(e,n),n}catch{return e===`en`?{}:c(`en`)}}var l=`admin_locale`;function re(){if(typeof document>`u`)return null;let e=document.cookie.match(RegExp(`(?:^|; )${l}=([^;]+)`));return e?.[1]&&a.includes(e[1])?e[1]:null}function u(e){typeof document<`u`&&(document.cookie=`${l}=${e}; path=/; max-age=31536000; SameSite=Lax`)}function d(){if(typeof navigator>`u`)return`en`;let e=navigator.language?.split(`-`)[0]?.toLowerCase(),t=navigator.language?.toLowerCase();for(let n of a)if(n.toLowerCase()===t||n.split(`-`)[0]===e)return n;return`en`}async function f(){try{let e=await i.getUserLocale();if(e&&a.includes(e))return e}catch{}return null}async function ie(e){await i.setUserLocale(e)}async function p(){return re()||await f()||d()||`en`}async function m(e){u(e);try{await ie(e)}catch{}}var h=e({access:()=>w,activity:()=>P,adminBar:()=>F,apiKeys:()=>D,comments:()=>B,common:()=>N,content:()=>v,customizer:()=>z,dashboard:()=>_,default:()=>V,footer:()=>I,helpTabs:()=>L,layout:()=>g,login:()=>M,logs:()=>T,media:()=>y,menus:()=>S,notFound:()=>A,plugins:()=>O,rateLimit:()=>j,resources:()=>C,screenOptions:()=>R,settings:()=>x,themes:()=>k,users:()=>b,webhooks:()=>E}),g={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Dashboard`,content:`Content`,media:`Media`,users:`Users`,menus:`Menus`,settings:`Settings`,plugins:`Plugins`,themes:`Themes`,customize:`Customize`,comments:`Comments`,settings_reading:`Reading`},actions:{logout:`Logout`,newPost:`New Post`,uploadMedia:`Upload Media`,addUser:`Add User`,openSettings:`Settings`}},_={title:`Dashboard`,stats:{totalContent:`Total Content`,published:`Published`,drafts:`Drafts`,mediaFiles:`Media Files`,users:`Users`},recent:{title:`Recent Content`,viewAll:`View All`,empty:`No content yet — create your first!`,columns:{title:`Title`,type:`Type`,status:`Status`,updated:`Updated`}},widgets:{atGlance:`At a Glance`,posts:`Posts`,postsDesc:`Published / Drafts / Trash`,pages:`Pages`,pagesDesc:`Published / Drafts / Trash`,media:`Media`,mediaDesc:`Files in the library`,users:`Users`,usersDesc:`Total / Active / Inactive`,storage:`Storage`,quickDraft:{title:`Quick Draft`,heading:`Title`,headingPlaceholder:`Give your draft a title`,content:`Content`,contentPlaceholder:`What's on your mind?`,save:`Save Draft`,yourDrafts:`Your Drafts`,noDrafts:`No drafts yet.`},activity:{title:`Activity`,empty:`No activity yet.`}}},v={list:{title:`Content`,description:`Search, filter, edit and publish your content.`,typeNotFound:`This content type was not found.`,columns:{title:`Title`,type:`Type`,status:`Status`,updated:`Updated`},actions:{edit:`Edit`,publish:`Publish`,unpublish:`Unpublish`,delete:`Delete`},filters:{search:`Search content…`,allTypes:`All types`,allStatus:`All status`},buttons:{new:`+ New content`,addNew:`+ Add new`,search:`Search`},all:`All content`,empty:`No content found.`,statuses:{draft:`Draft`,published:`Published`,archived:`Archived`},confirmDelete:`Delete "{title}"?`,toasts:{published:`Content published ✓`,unpublished:`Content unpublished ✓`}},editor:{type:`Type`,adding:`Add new`,editing:`Edit`,backToList:`Back to list`,saving:`Saving…`,title:`Title`,titlePlaceholder:`Add title`,slug:`Slug`,slugPlaceholder:`auto-generated-from-title`,toolbar:`Editor toolbar`,bodyPlaceholder:`Start writing…`,linkPrompt:`Enter the URL:`,excerpt:`Excerpt`,featuredImage:`Featured Image (media ID)`,mediaIdPlaceholder:`Media ID`,featuredImageHint:`Choose a media item from the Media library.`,pageAttributes:`Page attributes`,publishPanel:`Publish`,status:`Status`,statusOptions:{draft:`Draft`,published:`Published`,archived:`Archived`},layout:`Layout`,layoutAuto:`Automatic (theme hierarchy)`,customFields:`Custom Fields`,inspectTypes:`Inspect available types`,save:`Save`,saved:`Content saved successfully.`,format:`Format`,formatParagraph:`Paragraph`,formatH1:`Heading 1`,formatH2:`Heading 2`,formatH3:`Heading 3`,formatH4:`Heading 4`,formatBlockquote:`Blockquote`,formatCode:`Code`,bold:`Bold`,italic:`Italic`,underline:`Underline`,bulletList:`Bullet List`,numberedList:`Numbered List`,link:`Link`},taxonomy:{title:`Taxonomy terms`,back:`← Back to content`,choose:`Choose a taxonomy from the content menu.`,notFound:`Taxonomy not found.`,addTerm:`Add new term`,editTerm:`Edit term`,name:`Name`,slug:`Slug`,description:`Description`,descriptionHint:`Manage the terms used by this content type.`,attachedTo:`Attached to`,add:`Add term`,delete:`Delete`,empty:`No terms yet.`,confirmDelete:`Delete "{name}"?`,termFields:`Term fields`}},y={title:`Media Library`,description:"Upload and manage images, videos and documents. Files are stored in `uploads/` and served publicly.",upload:{dropzone:`Drop files here or`,select:`Select files`,uploading:`Uploading…`,hint:`Images, videos, audio and documents · up to 25MB per file`},toolbar:{search:`Search by name or alt…`,allTypes:`All types`,searchBtn:`Search`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`No files yet. Upload the first one!`,details:{title:`Details`,titleField:`Title`,file:`File`,type:`Type`,size:`Size`,dimensions:`Dimensions`,uploaded:`Uploaded`,url:`URL`,copy:`Copy`,alt:`Alt text`,caption:`Caption`,description:`Description`,save:`Save details`,replace:`Replace file`,replacing:`Replacing…`,replaceHint:`Keeps this attachment and its metadata.`,delete:`Delete`,close:`Close`,confirmDelete:`Delete "{filename}"? The file will be removed from disk.`,saved:`Details saved ✓`,copied:`URL copied ✓`,copyError:`Could not copy URL`,replaced:`File replaced ✓`},toasts:{uploaded:`{count} file(s) uploaded ✓`}},b={title:`Users`,description:`Manage accounts, roles and project access.`,new:`New User`,toolbar:{search:`Search by name or email…`,allStatus:`All status`,active:`Active`,inactive:`Inactive`,newBtn:`+ New user`,searchBtn:`Search`},table:{name:`Name`,email:`Email`,role:`Role`,status:`Status`,lastAccess:`Last access`,actions:{manage:`Manage`,delete:`Delete`}},empty:`No users found.`,noRole:`No role`,detail:{title:`Manage user`,fields:{name:`Name`,email:`Email`,status:`Status`,role:`Role`,password:`Password`},statusOptions:{active:`Active`,inactive:`Inactive`},rolePlaceholder:`— no role —`,meta:`Created on {created} · last access {lastAccess}`,actions:{save:`Save`,resetPassword:`Reset password`,close:`Close`},passwordPrompt:`New password for {email} (minimum 8 chars):`,passwordError:`Password must be at least 8 characters`,toasts:{roleUpdated:`Role for {name} updated ✓`,passwordChanged:`Password for {name} changed ✓`,saved:`User {name} saved ✓`,deleted:`User {name} deleted ✓`},confirmDelete:`Delete user {email}?`}},x=JSON.parse(`{"general":{"title":"General","description":"Basic information displayed on the site.","back":"← All settings","fields":{"siteTitle":"Site Title","siteTitlePlaceholder":"My Site","siteDescription":"Description","siteDescriptionPlaceholder":"A new site built with OkCMS","language":"Language","timezone":"Timezone","timezonePlaceholder":"America/Sao_Paulo"},"saved":"Settings saved ✓","loading":"Loading…","save":"Save"},"postTypes":{"title":"Content Types","description":"Create custom content types (CPTs) beyond Posts and Pages.","form":{"title":"Create Content Type","slug":"Slug (singular, e.g.: portfolio)","slugHint":"Only lowercase letters, numbers and underscore","singular":"Singular name","plural":"Plural name","supports":"Supports","supportsOptions":{"title":"Title","editor":"Editor","thumbnail":"Featured Image","excerpt":"Excerpt","revisions":"Revisions"},"hasArchive":"Has public archive (/slug)","singleton":"Singleton (only one content entry)","icon":"Sidebar menu icon","iconHint":"Pick a Lucide icon — its name is what shows in the admin sidebar","iconSearchPlaceholder":"Search icons…","iconEmpty":"No icons found.","iconCount":"{count} icons available","editTitle":"Edit Content Type","update":"Update","cancel":"Cancel","create":"Create"},"table":{"slug":"Slug","singular":"Singular","plural":"Plural","source":"Source","supports":"Supports","archive":"Archive","mode":"Mode","singleton":"Singleton","collection":"Collection","icon":"Icon","actions":{"edit":"Edit","remove":"Remove"}},"sources":{"admin":"Admin","core":"Core"}},"taxonomies":{"title":"Taxonomies","description":"Create custom taxonomies and link them to content types.","form":{"title":"Create Taxonomy","name":"Name (e.g.: Genre)","slug":"Slug (optional, generated from name)","slugHint":"Only lowercase letters, numbers and underscore","hierarchical":"Hierarchical (allows parent/child terms)","attachTo":"Link to content types","create":"Create"},"table":{"taxonomy":"Taxonomy","hierarchical":"Hierarchical","attachedTypes":"Linked content types","actions":{"remove":"Remove"}}},"customFields":{"title":"Custom Fields","description":"Create field groups, arrange fields and choose which standard fields are visible for each content type.","contentType":"Content type","location":{"title":"Location rules","description":"Choose where this field group appears. Rules in the same group use AND; groups use OR.","parameter":"Location parameter","operator":"Operator","chooseValue":"Choose a value","valuePlaceholder":"Enter a value or slug","showIf":"Show if","removeRule":"Remove rule","required":"Add a value to every location rule.","addRule":"Add condition","addGroup":"Add OR group","remove":"Remove","and":"AND","or":"OR","params":{"content_type":"Post type","content_slug":"Post slug","taxonomy":"Taxonomy","term":"Term slug","user_role":"User role","page_template":"Page template","post_status":"Post status","block":"Block"},"operators":{"eq":"is","neq":"is not"}},"standard":{"title":"Standard fields","description":"Title and slug are required. The other standard fields can be enabled or disabled.","enabled":"Enabled","locked":"Required","fields":{"title":"Title","slug":"Slug","content":"Content","excerpt":"Excerpt","featured_image":"Featured image","seo_title":"SEO title","seo_description":"SEO description","status":"Status","author":"Author"}},"groups":{"title":"Field groups","new":"New field group","empty":"No custom field groups yet.","emptyHint":"Create your first group to start modelling your content.","search":"Search groups…","groupName":"Group","status":"Status","fields":"fields","appliesTo":"Applies to","allContentTypes":"All content types","edit":"Edit","active":"Active","inactive":"Inactive"},"form":{"createTitle":"Create field group","editTitle":"Edit field group","title":"Group name","titlePlaceholder":"Example: Product details","displayTitle":"Display title","active":"Active","backToGroups":"Back to groups","editorEyebrow":"Field builder","groupTitleHint":"This name identifies the field set inside the content editor.","fieldsTitle":"Fields","fieldsDescription":"Add, configure and order fields. Use the six-dot handle to drag without losing their position.","noFields":"This group has no fields yet.","settingsTitle":"Group settings","settingsDescription":"Presentation and panel visibility options for this panel.","description":"Description","labelPlacement":"Label placement","instructionPlacement":"Instruction placement","menuOrder":"Menu order","hideOnScreen":"Hide on edit screen","hide":{"permalink":"Permalink","content":"Content editor","excerpt":"Excerpt","featured_image":"Featured image","author":"Author","revisions":"Revisions","comments":"Comments"},"assignTitle":"Location","assignDescription":"Choose the content type where this field group will be available.","contentType":"Content type","position":"Position","positions":{"normal":"Normal","side":"Sidebar","after_title":"After title"},"displayStyle":"Display style","displayStyles":{"standard":"Standard","seamless":"Seamless","grouped":"Grouped"},"field":"Field","fieldName":"Name/key","fieldNamePlaceholder":"product_code","fieldLabel":"Label","fieldLabelPlaceholder":"Product code","fieldType":"Type","instructions":"Instructions","instructionsPlaceholder":"Optional help text for editors","required":"Required","options":"Options","optionsHint":"One option per line: value|Label","addField":"Add field","removeField":"Remove","dragHint":"Drag to reorder","editField":"Edit","duplicateField":"Duplicate","copySuffix":"(copy)","selectFieldType":"Select field type","searchFieldTypes":"Search field types…","popularFields":"Popular","noMatchingFieldTypes":"No field types found.","fieldTypeHint":"Choose the type that best represents the value editors will enter in this field.","selectField":"Select field","save":"Save group","cancel":"Cancel","newFieldDefault":"New field","saved":"Field group saved.","deleted":"Field group deleted."},"listEyebrow":"Content structure","validation":{"titleRequired":"Group name is required."},"tabs":{"locationRules":"Location rules","presentation":"Presentation","groupSettings":"Group settings"},"fieldSettings":{"general":"General","fieldLabel":"Field label","fieldName":"Field name","instructions":"Instructions","required":"Required","defaultValue":"Default value","placeholder":"Placeholder","presentation":"Presentation","wrapperWidth":"Wrapper width (%)","labelPlacement":"Label","instructionPlacement":"Instructions","top":"Above","left":"Left","above":"Before field","below":"After field","textSettings":"Text","prepend":"Prepend","append":"Append","minLength":"Minimum length","maxLength":"Maximum length","rows":"Rows","newLines":"New lines","wpautop":"Automatic paragraphs","none":"None","numberSettings":"Number","min":"Minimum","max":"Maximum","step":"Step","choiceSettings":"Choices","choices":"Choices","layout":"Layout","vertical":"Vertical","horizontal":"Horizontal","multiple":"Multiple choice","allowNull":"Allow empty","mediaSettings":"Media","returnFormat":"Return format","array":"Array","id":"ID","previewSize":"Preview size","library":"Library","all":"All","uploadedToPost":"Uploaded to this post","allowedTypes":"Allowed types","minWidth":"Minimum width","maxWidth":"Maximum width","minHeight":"Minimum height","maxHeight":"Maximum height","wysiwygSettings":"WYSIWYG","tabs":"Tabs","toolbar":"Toolbar","mediaUpload":"Allow media upload","dateSettings":"Date and time","displayFormat":"Display format","firstDay":"First day","colorSettings":"Color","enableOpacity":"Allow opacity","mapSettings":"Map","center":"Center","zoom":"Zoom","height":"Height","relationSettings":"Relationship","postType":"Post type","taxonomy":"Taxonomy","booleanSettings":"True/False","message":"Message","defaultChecked":"Checked by default","linkSettings":"Link","cloneSettings":"Clone","cloneFields":"Fields to clone","cloneHint":"One field name per line","containerSettings":"Structure","buttonLabel":"Button label","collapsed":"Collapsed row title field","subFields":"Subfields","layouts":"Layouts","addLayout":"Add layout","newLayout":"New layout","layoutName":"Layout name","layoutLabel":"Layout label","layoutDisplay":"Layout display","conditionalLogic":"Conditional logic","conditionalHint":"Show this field only when the rules match.","chooseField":"Choose a field","conditionValue":"Value","addCondition":"Add condition","addConditionGroup":"Add OR group","conditionsAnd":"Conditions in this group use AND.","choicesHint":"One choice per line in the format value|Label.","cloneSource":"Source group or field","cloneSourceHint":"Field group key or field name to copy fields from.","requiredOn":"Required","requiredOff":"Not required","pluginConfig":"Plugin Configuration","mermaid":{"diagramSettings":"Diagram Settings","theme":"Theme","selectTheme":"Select theme","editable":"Allow editing in content editor","defaultCode":"Default Mermaid Code","defaultCodeHint":"Initial code when field is added to content. User can edit later.","examples":"Examples","exampleFlowchart":"Flowchart","exampleSequence":"Sequence","exampleClass":"Class Diagram","diagram":"Mermaid Diagram","copyCode":"Copy code","rerender":"Re-render","showCode":"Show source code","renderError":"Render Error","rendering":"Rendering diagram..."},"libraryAll":"All","libraryUploaded":"Uploaded to this post","ui":"Enhanced UI","uiHint":"Use enhanced styling for the dropdown.","wrapperClass":"Wrapper class","wrapperWidthHint":"CSS width of the field wrapper, e.g. 50%.","collapsedHint":"Name of the sub-field used as the row title.","conditionalActive":"Active","showIf":"Show if","removeRule":"Remove rule","and":"AND","or":"OR","noLayouts":"No layouts yet.","validation":"Validation","advanced":"Advanced","fieldType":"Type","fieldNameHint":"Letters, numbers and underscores only.","ariaLabel":"Field settings","operators":{"eq":"equals","neq":"does not equal","gt":"is greater than","lt":"is less than","contains":"contains","hasAny":"has any value","hasNone":"is empty"}},"actions":{"delete":"Delete","confirmDelete":"Delete this field group?","edit":"Edit","duplicate":"Duplicate","activate":"Activate","deactivate":"Deactivate","export":"Export","import":"Import"},"import":{"description":"Import field groups from a JSON file. The file must contain a field group object or an array of field group objects. Existing groups with the same key will be updated; new groups will be created.","dropzone":"Click to select a .json file, or drag and drop here","hint":"File selected. Click Import to proceed."},"loading":"Loading custom fields…","loadError":"Could not load custom fields."},"reading":{"title":"Reading","description":"Configure how your homepage and posts page are displayed.","frontPageDisplays":"Your homepage displays","frontPageDisplaysOptions":{"latest":"Your latest posts","static":"A static page"},"frontPage":"Homepage","postsPage":"Posts page","selectPage":"— Select a page —","saved":"Reading settings saved ✓","save":"Save Changes","timezoneString":"Timezone","timezoneStringPlaceholder":"America/Sao_Paulo","gmtOffset":"GMT Offset","gmtOffsetPlaceholder":"-3","timezoneDescription":"A timezone string in IANA format (e.g. America/Sao_Paulo). GMT offset is an alternative in hours.","gmtOffsetDescription":"GMT offset in hours (e.g. -3 for UTC-3). Alternative to IANA timezone string.","loading":"Loading…"}}`),S={title:`Menus`,description:`Create and manage the navigation menus used by your site.`,hint:`Menus are independent from content types and can be rendered by your theme.`,new:`New menu`,create:`Create menu`,edit:`Edit menu`,name:`Name`,slug:`Slug`,items:`Items`,back:`Back to menus`,nameRequired:`Enter a menu name.`,editor:{eyebrow:`Navigation structure`,addItems:`Add menu items`,search:`Search…`,addSelected:`Add selected`,addToMenu:`Add to menu`,structure:`Menu structure`,structureHint:`Drag items to reorder. Use the arrows to create nested submenus.`,empty:`Add items from the panels on the left.`,emptyLevel:`No submenu items.`,drag:`Drag to reorder`,untitled:`Untitled item`,noUrl:`No URL`,up:`Move up`,down:`Move down`,indent:`Make submenu`,outdent:`Move to parent level`,itemSettings:`Item settings`,navigationLabel:`Navigation label`,url:`URL`,titleAttribute:`Title attribute`,cssClasses:`CSS classes`,target:`Open link in`,sameWindow:`Same window`,newWindow:`New window`,xfn:`Link relationship (XFN)`,description:`Description`,remove:`Remove`,settings:`Menu settings`,autoAddPages:`Automatically add new top-level pages to this menu`,autoAddPagesHint:`This setting is saved with the menu and can be used by the active theme.`},sources:{pages:`Pages`,posts:`Posts`,custom:`Custom Links`,customHint:`Add any internal or external URL.`,home:`Home`,contentTypes:`Content type items`,archives:`Content type archives`,taxonomies:`Taxonomy terms`},saved:`Menu saved.`,deleted:`Menu deleted.`,empty:`No menus yet.`,confirmDelete:`Delete menu "{name}"?`},C={title:`Content Resources`,description:`Description`,tabs:{category:`Categories`,tag:`Tags`,menu:`Menus`},new:`New resource`,name:`Name`,slug:`Slug`,items:`Menu items (JSON)`,saved:`Resource saved.`,confirmDelete:`Delete this resource?`,form:{new:`Create resource`,edit:`Edit resource`},terms:{title:`Taxonomy terms`,choose:`Choose a taxonomy`,new:`New term`}},w={title:`Access`,description:`Manage roles, permissions and tenants.`,roles:`Roles`,tenants:`Tenants`,permissions:`Permissions`,domain:`Domain`,permissionsPlaceholder:`No permissions selected`,permissionsSummary:`{resources} resources · {count} permissions`,permissionSearch:`Filter resources…`,permissionNoMatches:`No resource matches.`,customPermissions:`Custom permissions`,customPermission:`permission:resource`,permissionsSelected:`{count} selected`,newRole:`New role`,editRole:`Edit role`,newTenant:`New tenant`,editTenant:`Edit tenant`,resources:{content:`Content`,media:`Media`,category:`Categories`,tag:`Tags`,menu:`Menus`,user:`Users`,roles:`Roles`,theme:`Themes`,plugin:`Plugins`,setting:`Settings`,webhook:`Webhooks`,tenants:`Tenants`,audit:`Audit`,build:`Builds`,system:`System`}},T={title:`Logs`,description:`Complete audit history of actions performed in the CMS.`,retentionTitle:`Log retention`,retentionDescription:`Logs older than this period are removed automatically.`,retentionDays:`Keep logs for (days)`,retentionSaved:`Log retention updated.`,historyTitle:`Audit history`,actionFilter:`Filter by action`,resourceFilter:`Filter by resource`,loading:`Loading logs…`,empty:`No actions recorded yet.`,system:`System`,columns:{date:`Date`,action:`Action`,resource:`Resource`,user:`User`,status:`Status`,ip:`IP`}},E={title:`Webhooks`,description:`Send CMS events to external services with configurable authentication.`,listTitle:`Configured webhooks`,new:`New webhook`,create:`Create webhook`,edit:`Edit webhook`,url:`Endpoint URL`,events:`Events`,selectEvents:`Select one or more events`,searchEvents:`Search events…`,noEvents:`No events found.`,eventsRequired:`Select at least one event.`,authentication:`Authentication`,active:`Active`,token:`Bearer token`,username:`Username`,password:`Password`,headerName:`Header name`,apiKeyValue:`API key value`,secret:`HMAC secret`,signatureHeader:`Signature header`,keepExisting:`Leave blank to keep current value`,loading:`Loading webhooks…`,empty:`No webhooks configured.`,auth:{none:`None`,bearer:`Bearer token`,basic:`Basic authentication`,apiKey:`API key`,hmac_sha256:`HMAC SHA-256`}},D={title:`API keys`,description:`Issue one-time credentials so external apps can exchange an API key for access and refresh JWTs and consume the content API.`,howItWorks:`The key is used only once, at POST /api/v1/auth/api-key-login, to obtain JWTs. It never authorizes requests directly.`,listTitle:`Issued keys`,new:`New API key`,create:`Create API key`,createSubmit:`Create key`,prefix:`Prefix`,lastUsed:`Last used`,neverUsed:`Never used`,revoke:`Revoke`,revoked:`API key revoked.`,loading:`Loading API keys…`,empty:`No API keys issued.`,status:{active:`Active`,oneTime:`Single-use`,expired:`Expired`,revoked:`Revoked`},form:{name:`Name`,namePlaceholder:`e.g. Mobile app backend`,user:`Identity (user)`,currentUser:`Current user`,expiresAt:`Expires at (optional)`,oneTime:`Single-use (revoke automatically after the first login)`,oneTimeHint:`Recommended for integrations that can exchange the key for JWTs immediately.`},errors:{nameRequired:`Name is required.`},created:{title:`API key created`,warning:`Copy this value now — it will never be shown again. If you lose it, revoke the key and create a new one.`,value:`API key`,howToUse:`Use it once to obtain JWTs:`,copy:`Copy`,copied:`Copied!`}},O={title:`Plugins`,description:`View installed plugins.`,directoryHint:`Detected automatically from the project's plugins/ directory. To install, update or activate a plugin, place its files in plugins/ and restart the server (okcms start, pm2 or docker).`,columns:{name:`Name`,version:`Version`,status:`Status`,enabled:`Enabled for tenant`},status:{active:`Active`,installed:`Installed`,inactive:`Inactive`,quarantined:`Quarantined`,missing:`Missing`,loadFailed:`Load failed`},install:`Install plugin`,uninstall:`Uninstall`,confirmUninstall:`Uninstall {name}?`,name:`Plugin name`,version:`Version`,manifest:`Manifest (JSON)`,loadError:`Could not load plugins.`,installError:`Could not install the plugin.`,uninstallError:`Could not uninstall the plugin.`,empty:`No plugins installed.`,enabledForTenant:`Active for this tenant`,enabledYes:`Yes`,enabledNo:`No`},k={title:`Themes`,description:`Manage installed themes.`,directoryHint:`Detected automatically from the project's themes/ directory. Use the CLI or deploy files to add themes.`,version:`Version`,active:`Active`,status:{active:`Active`,installed:`Installed`,inactive:`Inactive`},activate:`Activate`,deactivate:`Deactivate`,customize:`Customize`,install:`Install theme`,name:`Theme name`,manifest:`Manifest (JSON)`,loadError:`Could not load themes.`,activateError:`Could not activate the theme.`,deactivateError:`Could not deactivate the theme.`,deactivateBlocked:`At least one theme must remain active.`,installError:`Could not install the theme.`,reload:`Reload`,empty:`No themes installed.`},A={title:`Page not found`,description:`The address may be out of date or the page may have moved. Check the URL or pick one of the sections below.`,requestedPath:`You tried to open`,suggestionsLabel:`Or visit one of these`,goHome:`Back to home`,goBack:`Go back`},j={notice:`Request limit reached — wait a few seconds and try again.`,noticeRetry:`Request limit reached — retrying automatically in {seconds}s.`},M={title:`Login`,subtitle:`Sign in to your account`,email:`Email`,password:`Password`,submit:`Sign In`,failed:`Invalid email or password`},N={save:`Save`,cancel:`Cancel`,delete:`Delete`,edit:`Edit`,close:`Close`,confirm:`Confirm`,loading:`Loading…`,yes:`Yes`,no:`No`,search:`Search`,filter:`Filter`,create:`Create`,update:`Update`,remove:`Remove`,viewAll:`View All`,back:`Back`,next:`Next`,previous:`Previous`,page:`Page`,of:`of`,items:`items`,item:`item`,empty:`No {items} found.`,toast:{success:`✓`,error:`Error: {message}`},status:{active:`Active`,inactive:`Inactive`,draft:`Draft`,published:`Published`,archived:`Archived`,locked:`Locked`},language:`Language`,refresh:`Refresh`,actions:`Actions`,add:`Add`},P={justNow:`just now`,minAgo:`minutes ago`,ago:`ago`,published:`Published`,updated:`Updated`,newUser:`New user: {name}`},F={mainMenu:`Main menu`,notifications:`Notifications`,notificationsEmpty:`No recent activity`,settings:`Settings`,toggleSidebar:`Toggle sidebar`,userMenu:`User menu`},I={copyright:`© 2026 OkCMS. All rights reserved.`,links:`Links`,website:`Website`,github:`GitHub`,docs:`Documentation`,community:`Community`,poweredBy:`Powered by Oktis Works`},L={title:`Help`,label:`Help`,tabs:`Help topics`,topics:{overview:{label:`Overview`,content:`<h4>Welcome to the OkCMS Dashboard</h4><p>This dashboard gives you an overview of your site's content and activity.</p><h4>Available Widgets</h4><ul><li><strong>At a Glance:</strong> overview of posts, pages, media, and users</li><li><strong>Quick Draft:</strong> save drafts quickly from the dashboard</li><li><strong>Activity:</strong> recent site activity and updates</li></ul>`},content:{label:`Content Management`,content:`<h4>Managing Content</h4><p>Create, edit, and publish content from the Content section.</p><h4>Quick Actions</h4><ul><li>Click "New Content" to create a new post or page</li><li>Use filters to find specific content</li><li>Bulk actions available for multiple items</li></ul>`},media:{label:`Media Library`,content:`<h4>Managing Media</h4><p>Upload and manage images, videos, and documents.</p><h4>Tips</h4><ul><li>Drag and drop files to upload</li><li>Add alt text for accessibility</li><li>Organize with folders (coming soon)</li></ul>`}}},R={title:`Screen Options`,label:`Screen Options`,showOnScreen:`Show on screen`},z={title:`Customizer`,description:`Adjust the active theme settings with a live preview. Changes apply to the preview instantly and only persist when you save.`,loadError:`Failed to load themes.`,saveError:`Failed to save the theme settings.`,noTheme:`No active theme to customize.`,goToThemes:`Go to Themes`,noSettings:`This theme declares no customizable settings (manifest.settings).`,save:`Save`,saving:`Saving...`,saved:`Saved.`,reset:`Reset`,refreshPreview:`Refresh preview`,previewHint:`The preview overlays your draft on top of the saved settings — it is request-only and never persists.`,previewPath:`Preview path`,previewTitle:`Theme preview`},B={title:`Comments`,description:`Moderate visitor comments: approve, mark as spam, trash or delete permanently.`,loading:`Loading comments...`,empty:`No comments in this queue.`,reload:`Reload`,author:`Author`,comment:`Comment`,inReplyTo:`Content`,submitted:`Submitted`,approve:`Approve`,spam:`Spam`,trash:`Trash`,delete:`Delete`,confirmDelete:`Delete this comment permanently? This cannot be undone.`,status:{pending:`Pending`,approved:`Approved`,spam:`Spam`,trashed:`Trash`}},V={layout:g,dashboard:_,content:v,media:y,users:b,settings:x,menus:S,resources:C,access:w,logs:T,webhooks:E,apiKeys:D,plugins:O,themes:k,notFound:A,rateLimit:j,login:M,common:N,activity:P,adminBar:F,footer:I,helpTabs:L,screenOptions:R,customizer:z,comments:B},H=new Map,U=V,[W,G]=n(0),K=null;function q(e){return(e.split(`.`).at(-1)??e).replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/^\w/,e=>e.toUpperCase())}function J(e,t){return function(n,r){let i=n.split(`.`),a=e;for(let e of i)if(a&&typeof a==`object`&&e in a)a=a[e];else{a=t;for(let e of i)if(a&&typeof a==`object`&&e in a)a=a[e];else return q(n);break}return typeof a==`string`?r?a.replace(/\{(\w+)\}/g,(e,t)=>String(r[t]??``)):a:q(n)}}async function Y(e){if(H.has(e))return H.get(e);let[t,n]=await Promise.all([c(e),c(`en`)]),r=J(t,n);return H.set(e,r),r}var X=J(U,U),Z=`en`,Q=!0,ae=`okcms:locale-changed`;function $(){typeof window<`u`&&window.dispatchEvent(new CustomEvent(ae,{detail:{locale:Z}}))}function oe(e){return t(async()=>{Q&&(K||=(async()=>{let t=e??await p();Z=t,X=await Y(t),Q=!1,G(e=>e+1),$()})(),await K)}),{t:(e,t)=>(W(),X(e,t)),locale:()=>(W(),Z),changeLocale:async e=>{Q=!0,Z=e,X=await Y(e),Q=!1,G(e=>e+1),$(),await m(e)},get loading(){return Q}}}export{ee as a,te as i,oe as n,a as o,u as r,ne as s,Y as t};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Dashboard`,content:`Contenuti`,media:`Media`,users:`Utenti`,menus:`Menu`,settings:`Impostazioni`,plugins:`Plugin`,themes:`Temi`,customize:`Personalizza`},actions:{logout:`Esci`,newPost:`Nuovo Post`,uploadMedia:`Carica Media`,addUser:`Aggiungi Utente`,openSettings:`Impostazioni`}},t={title:`Dashboard`,stats:{totalContent:`Contenuti Totali`,published:`Pubblicati`,drafts:`Bozze`,mediaFiles:`File Media`,users:`Utenti`},recent:{title:`Contenuti Recenti`,viewAll:`Visualizza Tutti`,empty:`Nessun contenuto ancora — crea il primo!`,columns:{title:`Titolo`,type:`Tipo`,status:`Stato`,updated:`Aggiornato`}},widgets:{atGlance:`In breve`,posts:`Articoli`,postsDesc:`Pubblicati / Bozze / Cestino`,pages:`Pagine`,pagesDesc:`Pubblicati / Bozze / Cestino`,media:`Media`,mediaDesc:`File nella libreria`,users:`Utenti`,usersDesc:`Totali / Attivi / Inattivi`,version:`Versione`,storage:`Archiviazione`,quickDraft:{title:`Bozza rapida`,heading:`Titolo`,headingPlaceholder:`Dai un titolo alla tua bozza`,content:`Contenuto`,contentPlaceholder:`A cosa stai pensando?`,save:`Salva bozza`,yourDrafts:`Le tue bozze`,noDrafts:`Nessuna bozza ancora.`},activity:{title:`Attività`,empty:`Nessuna attività ancora.`}}},n={list:{title:`Contenuti`,description:`Cerca, filtra, modifica e pubblica i tuoi contenuti.`,columns:{title:`Titolo`,type:`Tipo`,status:`Stato`,updated:`Aggiornato`},actions:{edit:`Modifica`,publish:`Pubblica`,unpublish:`Annulla Pubblicazione`,delete:`Elimina`},filters:{search:`Cerca contenuti…`,allTypes:`Tutti i tipi`,allStatus:`Tutti gli stati`},buttons:{new:`+ Nuovo contenuto`,search:`Cerca`},empty:`Nessun contenuto trovato.`,statuses:{draft:`Bozza`,published:`Pubblicato`,archived:`Archiviato`},confirmDelete:`Eliminare "{title}"?`,toasts:{published:`Contenuto pubblicato ✓`,unpublished:`Pubblicazione annullata ✓`}},editor:{type:`Tipo`,title:`Titolo`,slug:`Slug`,excerpt:`Estratto`,featuredImage:`Immagine in Evidenza (ID media)`,status:`Stato`,statusOptions:{draft:`Bozza`,published:`Pubblicato`,archived:`Archiviato`},layout:`Layout`,layoutAuto:`Automatico (gerarchia tema)`,customFields:`Campi Personalizzati`,inspectTypes:`Ispeziona tipi disponibili`,save:`Salva`,saved:`Contenuto salvato con successo.`},taxonomy:{editTerm:`Modifica termine`}},r={title:`Menu`,description:`Crea e gestisci i menu di navigazione del sito.`,hint:`I menu sono indipendenti dai tipi di contenuto e possono essere visualizzati dal tema.`,new:`Nuovo menu`,create:`Crea menu`,edit:`Modifica menu`,name:`Nome`,slug:`Slug`,items:`Elementi del menu (JSON)`,itemsHint:`Usa un array JSON di oggetti menu.`,invalidItems:`Gli elementi del menu devono essere un array JSON valido.`,saved:`Menu salvato.`,deleted:`Menu eliminato.`,empty:`Nessun menu ancora.`,confirmDelete:`Eliminare il menu "{name}"?`},i={title:`Libreria Media`,description:"Carica e gestisci immagini, video e documenti. I file sono in `uploads/` e serviti pubblicamente.",upload:{dropzone:`Trascina i file qui o`,select:`Seleziona file`,uploading:`Caricamento…`,hint:`Immagini, video, audio e documenti · fino a 25MB per file`},toolbar:{search:`Cerca per nome o alt…`,allTypes:`Tutti i tipi`,searchBtn:`Cerca`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`Nessun file ancora. Carica il primo!`,details:{title:`Dettagli`,file:`File`,type:`Tipo`,size:`Dimensione`,url:`URL`,copy:`Copia`,alt:`Testo Alternativo`,caption:`Didascalia`,save:`Salva Dettagli`,delete:`Elimina`,close:`Chiudi`,confirmDelete:`Eliminare "{filename}"? Il file verrà rimosso dal disco.`,saved:`Dettagli salvati ✓`,copied:`URL copiato ✓`,copyError:`Impossibile copiare l'URL`},toasts:{uploaded:`{count} file caricati ✓`}},a={title:`Utenti`,description:`Gestisci account, ruoli e accessi del progetto.`,new:`Nuovo Utente`,toolbar:{search:`Cerca per nome o email…`,allStatus:`Tutti gli stati`,active:`Attivi`,inactive:`Inattivi`,newBtn:`+ Nuovo utente`,searchBtn:`Cerca`},table:{name:`Nome`,email:`Email`,role:`Ruolo`,status:`Stato`,lastAccess:`Ultimo Accesso`,actions:{manage:`Gestisci`,delete:`Elimina`}},empty:`Nessun utente trovato.`,noRole:`Nessun ruolo`,detail:{title:`Gestisci Utente`,fields:{name:`Nome`,email:`Email`,status:`Stato`,role:`Ruolo`,password:`Password`},statusOptions:{active:`Attivo`,inactive:`Inattivo`},rolePlaceholder:`— nessun ruolo —`,meta:`Creato il {created} · ultimo accesso {lastAccess}`,actions:{save:`Salva`,resetPassword:`Reimposta Password`,close:`Chiudi`},passwordPrompt:`Nuova password per {email} (minimo 8 caratteri):`,passwordError:`La password deve essere di almeno 8 caratteri`,toasts:{roleUpdated:`Ruolo di {name} aggiornato ✓`,passwordChanged:`Password di {name} cambiata ✓`,saved:`Utente {name} salvato ✓`,deleted:`Utente {name} eliminato ✓`},confirmDelete:`Eliminare l'utente {email}?`}},o={general:{title:`Generali`,description:`Informazioni base visualizzate sul sito.`,back:`← Tutte le impostazioni`,fields:{siteTitle:`Titolo del Sito`,siteTitlePlaceholder:`Il Mio Sito`,siteDescription:`Descrizione`,siteDescriptionPlaceholder:`Un nuovo sito con OkCMS`,language:`Lingua`,timezone:`Fuso Orario`,timezonePlaceholder:`Europe/Rome`},saved:`Impostazioni salvate ✓`,loading:`Caricamento…`,save:`Salva`},postTypes:{title:`Tipi di Contenuto`,description:`Crea tipi di contenuto personalizzati (CPT) oltre a Post e Pagine.`,form:{title:`Crea Tipo di Contenuto`,slug:`Slug (singolare, es.: portfolio)`,slugHint:`Solo lettere minuscole, numeri e underscore`,singular:`Nome Singolare`,plural:`Nome Plurale`,supports:`Supporta`,supportsOptions:{title:`Titolo`,editor:`Editor`,thumbnail:`Immagine in Evidenza`,excerpt:`Estratto`,revisions:`Revisioni`},hasArchive:`Ha Archivio Pubblico (/slug)`,create:`Crea`},table:{slug:`Slug`,singular:`Singolare`,plural:`Plurale`,source:`Origine`,supports:`Supporta`,archive:`Archivio`,actions:{remove:`Rimuovi`}},sources:{admin:`Admin`,core:`Core`}},taxonomies:{title:`Tassonomie`,description:`Crea tassonomie personalizzale e collegale ai tipi di contenuto.`,form:{title:`Crea Tassonomia`,name:`Nome (es.: Genere)`,slug:`Slug (opzionale, generato dal nome)`,slugHint:`Solo lettere minuscole, numeri e underscore`,hierarchical:`Gerarchica (permette termini padre/figlio)`,attachTo:`Collega ai tipi di contenuto`,create:`Crea`},table:{taxonomy:`Tassonomia`,hierarchical:`Gerarchica`,attachedTypes:`Tipi di contenuto collegati`,actions:{remove:`Rimuovi`}}}},s={title:`Pagina non trovata`,description:`L'indirizzo potrebbe essere cambiato o la pagina essere stata spostata. Controlla l'URL o visita una di queste sezioni.`,requestedPath:`Hai provato ad aprire`,suggestionsLabel:`Oppure visita una di queste sezioni`,goHome:`Torna all'inizio`,goBack:`Indietro`},c={title:`Accesso`,subtitle:`Accedi al tuo account`,email:`Email`,password:`Password`,submit:`Accedi`,failed:`Email o password non validi`},l={save:`Salva`,cancel:`Annulla`,delete:`Elimina`,edit:`Modifica`,close:`Chiudi`,confirm:`Conferma`,loading:`Caricamento…`,yes:`Sì`,no:`No`,search:`Cerca`,filter:`Filtro`,create:`Crea`,update:`Aggiorna`,remove:`Rimuovi`,viewAll:`Visualizza Tutti`,back:`Indietro`,next:`Avanti`,previous:`Precedente`,page:`Pagina`,of:`di`,items:`elementi`,item:`elemento`,empty:`Nessun {items} trovato.`,toast:{success:`✓`,error:`Errore: {message}`},status:{active:`Attivo`,inactive:`Inattivo`,draft:`Bozza`,published:`Pubblicato`,archived:`Archiviato`,locked:`Bloccato`},language:`Lingua`},u={justNow:`proprio ora`,minAgo:`minuti fa`,ago:`fa`,published:`Pubblicato`,updated:`Aggiornato`,newUser:`Nuovo utente: {name}`},d={mainMenu:`Menu principale`,notifications:`Notifiche`,notificationsEmpty:`Nessuna attività recente`,settings:`Impostazioni`,toggleSidebar:`Attiva/disattiva barra laterale`,userMenu:`Menu utente`},f={copyright:`© 2026 OkCMS. Tutti i diritti riservati.`,links:`Collegamenti`,website:`Sito web`,github:`GitHub`,docs:`Documentazione`,community:`Comunità`,poweredBy:`Prodotto con Oktis Works`},p={title:`Aiuto`,label:`Aiuto`,tabs:`Argomenti di aiuto`,topics:{overview:{label:`In breve`,content:`<h4>Benvenuto nella dashboard di OkCMS</h4><p>Questa dashboard offre una panoramica del contenuto e dell'attività del tuo sito.</p><h4>Widget disponibili</h4><ul><li><strong>In breve:</strong> panoramica di articoli, pagine, media e utenti</li><li><strong>Bozza rapida:</strong> salva bozze rapidamente dalla dashboard</li><li><strong>Attività:</strong> attività e aggiornamenti recenti del sito</li></ul>`},content:{label:`Gestione contenuti`,content:`<h4>Gestire i contenuti</h4><p>Crea, modifica e pubblica i contenuti dalla sezione Contenuti.</p><h4>Azioni rapide</h4><ul><li>Clicca su "Nuovo contenuto" per creare un nuovo articolo o pagina</li><li>Usa i filtri per trovare contenuti specifici</li><li>Azioni di gruppo disponibili per più elementi</li></ul>`},media:{label:`Libreria media`,content:`<h4>Gestire i media</h4><p>Carica e gestisci immagini, video e documenti.</p><h4>Suggerimenti</h4><ul><li>Trascina i file per caricarli</li><li>Aggiungi il testo alternativo per l'accessibilità</li><li>Organizza con le cartelle (in arrivo)</li></ul>`}}},m={title:`Opzioni schermo`,label:`Opzioni schermo`,showOnScreen:`Mostra sullo schermo`},h={title:`Temi`,description:`Gestisci i temi installati.`,directoryHint:`Rilevati automaticamente dalla directory themes/ del progetto. Usa la CLI o distribuisci i file per aggiungere temi.`,version:`Versione`,active:`Attivo`,status:{active:`Attivo`,installed:`Installato`,inactive:`Inattivo`},activate:`Attiva`,deactivate:`Disattiva`,customize:`Personalizza`,install:`Installa tema`,name:`Nome del tema`,manifest:`Manifesto (JSON)`,loadError:`Impossibile caricare i temi.`,activateError:`Impossibile attivare il tema.`,deactivateError:`Impossibile disattivare il tema.`,deactivateBlocked:`Almeno un tema deve rimanere attivo.`,installError:`Impossibile installare il tema.`,reload:`Ricarica`,empty:`Nessun tema installato.`},g={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,notFound:s,login:c,common:l,activity:u,adminBar:d,footer:f,helpTabs:p,screenOptions:m,themes:h};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,g as default,f as footer,p as helpTabs,e as layout,c as login,i as media,r as menus,s as notFound,m as screenOptions,o as settings,h as themes,a as users};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`管理画面`,nav:{dashboard:`ダッシュボード`,content:`コンテンツ`,media:`メディア`,users:`ユーザー`,menus:`メニュー`,settings:`設定`,plugins:`プラグイン`,themes:`テーマ`,customize:`カスタマイズ`},actions:{logout:`ログアウト`,newPost:`新規投稿`,uploadMedia:`メディアアップロード`,addUser:`ユーザー追加`,openSettings:`設定`}},t={title:`ダッシュボード`,stats:{totalContent:`総コンテンツ数`,published:`公開済み`,drafts:`下書き`,mediaFiles:`メディアファイル`,users:`ユーザー数`},recent:{title:`最近のコンテンツ`,viewAll:`すべて見る`,empty:`コンテンツがありません — 最初の一つを作成しましょう!`,columns:{title:`タイトル`,type:`タイプ`,status:`ステータス`,updated:`更新日時`}},widgets:{atGlance:`一目瞭然`,posts:`投稿`,postsDesc:`公開済み / 下書き / ゴミ箱`,pages:`ページ`,pagesDesc:`公開済み / 下書き / ゴミ箱`,media:`メディア`,mediaDesc:`ライブラリ内のファイル`,users:`ユーザー`,usersDesc:`合計 / アクティブ / 非アクティブ`,version:`バージョン`,storage:`ストレージ`,quickDraft:{title:`クイック下書き`,heading:`タイトル`,headingPlaceholder:`下書きにタイトルを付ける`,content:`内容`,contentPlaceholder:`今どんなことを考えていますか?`,save:`下書きを保存`,yourDrafts:`あなたの下書き`,noDrafts:`まだ下書きはありません。`},activity:{title:`アクティビティ`,empty:`まだアクティビティはありません。`}}},n={list:{title:`コンテンツ`,description:`コンテンツを検索、フィルター、編集、公開します。`,columns:{title:`タイトル`,type:`タイプ`,status:`ステータス`,updated:`更新日時`},actions:{edit:`編集`,publish:`公開`,unpublish:`公開取り消し`,delete:`削除`},filters:{search:`コンテンツを検索…`,allTypes:`すべてのタイプ`,allStatus:`すべてのステータス`},buttons:{new:`+ 新規コンテンツ`,search:`検索`},empty:`コンテンツが見つかりません。`,statuses:{draft:`下書き`,published:`公開済み`,archived:`アーカイブ`},confirmDelete:`"{title}" を削除しますか?`,toasts:{published:`コンテンツを公開しました ✓`,unpublished:`公開を取り消しました ✓`}},editor:{type:`タイプ`,title:`タイトル`,slug:`スラッグ`,excerpt:`抜粋`,featuredImage:`アイキャッチ画像 (メディアID)`,status:`ステータス`,statusOptions:{draft:`下書き`,published:`公開済み`,archived:`アーカイブ`},layout:`レイアウト`,layoutAuto:`自動 (テーマの階層)`,customFields:`カスタムフィールド`,inspectTypes:`利用可能なタイプを確認`,save:`保存`,saved:`コンテンツを保存しました。`},taxonomy:{editTerm:`タームを編集`}},r={title:`メニュー`,description:`サイトで使用するナビゲーションメニューを作成・管理します。`,hint:`メニューはコンテンツタイプとは独立しており、テーマで表示できます。`,new:`新規メニュー`,create:`メニューを作成`,edit:`メニューを編集`,name:`名前`,slug:`スラッグ`,items:`メニュー項目 (JSON)`,itemsHint:`メニュー項目オブジェクトのJSON配列を使用してください。`,invalidItems:`メニュー項目は有効なJSON配列である必要があります。`,saved:`メニューを保存しました。`,deleted:`メニューを削除しました。`,empty:`メニューはまだありません。`,confirmDelete:`メニュー「{name}」を削除しますか?`},i={title:`メディアライブラリ`,description:"画像、動画、ドキュメントをアップロード・管理します。ファイルは `uploads/` に保存され、公開されます。",upload:{dropzone:`ファイルをここにドラッグするか`,select:`ファイルを選択`,uploading:`アップロード中…`,hint:`画像、動画、音声、ドキュメント · 1ファイル最大 25MB`},toolbar:{search:`名前や alt で検索…`,allTypes:`すべてのタイプ`,searchBtn:`検索`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`まだファイルがありません。最初のファイルをアップロードしましょう!`,details:{title:`詳細`,file:`ファイル`,type:`タイプ`,size:`サイズ`,url:`URL`,copy:`コピー`,alt:`代替テキスト`,caption:`キャプション`,save:`詳細を保存`,delete:`削除`,close:`閉じる`,confirmDelete:`"{filename}" を削除しますか? ファイルはディスクから削除されます。`,saved:`詳細を保存しました ✓`,copied:`URLをコピーしました ✓`,copyError:`URLをコピーできませんでした`},toasts:{uploaded:`{count} 件のファイルをアップロードしました ✓`}},a={title:`ユーザー`,description:`アカウント、役割、プロジェクトへのアクセスを管理します。`,new:`新規ユーザー`,toolbar:{search:`名前またはメールで検索…`,allStatus:`すべてのステータス`,active:`アクティブ`,inactive:`非アクティブ`,newBtn:`+ 新規ユーザー`,searchBtn:`検索`},table:{name:`名前`,email:`メール`,role:`役割`,status:`ステータス`,lastAccess:`最終アクセス`,actions:{manage:`管理`,delete:`削除`}},empty:`ユーザーが見つかりません。`,noRole:`ロールなし`,detail:{title:`ユーザー管理`,fields:{name:`名前`,email:`メール`,status:`ステータス`,role:`役割`,password:`パスワード`},statusOptions:{active:`アクティブ`,inactive:`非アクティブ`},rolePlaceholder:`— 役割なし —`,meta:`作成日 {created} · 最終アクセス {lastAccess}`,actions:{save:`保存`,resetPassword:`パスワードリセット`,close:`閉じる`},passwordPrompt:`{email} の新しいパスワード (最小8文字):`,passwordError:`パスワードは8文字以上必要です`,toasts:{roleUpdated:`{name} の役割を更新しました ✓`,passwordChanged:`{name} のパスワードを変更しました ✓`,saved:`ユーザー {name} を保存しました ✓`,deleted:`ユーザー {name} を削除しました ✓`},confirmDelete:`ユーザー {email} を削除しますか?`}},o={general:{title:`一般`,description:`サイトに表示される基本情報。`,back:`← すべての設定`,fields:{siteTitle:`サイトタイトル`,siteTitlePlaceholder:`マイサイト`,siteDescription:`説明`,siteDescriptionPlaceholder:`OkCMSで作った新しいサイト`,language:`言語`,timezone:`タイムゾーン`,timezonePlaceholder:`Asia/Tokyo`},saved:`設定を保存しました ✓`,loading:`読み込み中…`,save:`保存`},postTypes:{title:`投稿タイプ`,description:`投稿と固定ページ以外のカスタム投稿タイプ (CPT) を作成します。`,form:{title:`投稿タイプを作成`,slug:`スラッグ (単数形、例: portfolio)`,slugHint:`小文字、数字、アンダースコアのみ`,singular:`単数形の名前`,plural:`複数形の名前`,supports:`サポート機能`,supportsOptions:{title:`タイトル`,editor:`エディター`,thumbnail:`アイキャッチ`,excerpt:`抜粋`,revisions:`リビジョン`},hasArchive:`公開アーカイブページあり (/slug)`,create:`作成`},table:{slug:`スラッグ`,singular:`単数形`,plural:`複数形`,source:`ソース`,supports:`サポート`,archive:`アーカイブ`,actions:{remove:`削除`}},sources:{admin:`管理画面`,core:`コア`}},taxonomies:{title:`タクソノミー`,description:`カスタムタクソノミーを作成し、投稿タイプに関連付けます。`,form:{title:`タクソノミーを作成`,name:`名前 (例: ジャンル)`,slug:`スラッグ (省略可、名前から生成)`,slugHint:`小文字、数字、アンダースコアのみ`,hierarchical:`階層型 (親/子タームを許可)`,attachTo:`投稿タイプに関連付け`,create:`作成`},table:{taxonomy:`タクソノミー`,hierarchical:`階層型`,attachedTypes:`関連付けられた投稿タイプ`,actions:{remove:`削除`}}}},s={title:`ページが見つかりません`,description:`アドレスが古いか、ページが移動された可能性があります。URL を確認するか、以下のセクションからお進みください。`,requestedPath:`アクセスしようとしたアドレス`,suggestionsLabel:`または以下のセクションへ`,goHome:`ホームページに戻る`,goBack:`戻る`},c={title:`ログイン`,subtitle:`アカウントにログイン`,email:`メールアドレス`,password:`パスワード`,submit:`ログイン`,failed:`メールアドレスまたはパスワードが無効です`},l={save:`保存`,cancel:`キャンセル`,delete:`削除`,edit:`編集`,close:`閉じる`,confirm:`確認`,loading:`読み込み中…`,yes:`はい`,no:`いいえ`,search:`検索`,filter:`フィルター`,create:`作成`,update:`更新`,remove:`削除`,viewAll:`すべて表示`,back:`戻る`,next:`次へ`,previous:`前へ`,page:`ページ`,of:`/`,items:`件`,item:`件`,empty:`{items} が見つかりません。`,toast:{success:`✓`,error:`エラー: {message}`},status:{active:`アクティブ`,inactive:`非アクティブ`,draft:`下書き`,published:`公開済み`,archived:`アーカイブ`,locked:`ロック中`},language:`言語`},u={justNow:`たった今`,minAgo:`分前`,ago:`前`,published:`公開済み`,updated:`更新済み`,newUser:`新しいユーザー: {name}`},d={mainMenu:`メインメニュー`,notifications:`通知`,notificationsEmpty:`最近のアクティビティはありません`,settings:`設定`,toggleSidebar:`サイドバーを切り替え`,userMenu:`ユーザーメニュー`},f={copyright:`© 2026 OkCMS. 無断転載を禁じます。`,links:`リンク`,website:`ウェブサイト`,github:`GitHub`,docs:`ドキュメント`,community:`コミュニティ`,poweredBy:`Oktis Works で動作`},p={title:`ヘルプ`,label:`ヘルプ`,tabs:`ヘルプトピック`,topics:{overview:{label:`一目瞭然`,content:`<h4>OkCMS ダッシュボードへようこそ</h4><p>このダッシュボードでは、サイトのコンテンツとアクティビティの概要を確認できます。</p><h4>利用可能なウィジェット</h4><ul><li><strong>一目瞭然:</strong>投稿・ページ・メディア・ユーザーの概要</li><li><strong>クイック下書き:</strong>ダッシュボードから下書きをすばやく保存</li><li><strong>アクティビティ:</strong>最近のサイトのアクティビティと更新</li></ul>`},content:{label:`コンテンツ管理`,content:`<h4>コンテンツの管理</h4><p>コンテンツセクションからコンテンツを作成・編集・公開します。</p><h4>クイックアクション</h4><ul><li>「新規コンテンツ」をクリックして新しい投稿やページを作成</li><li>フィルターを使って特定のコンテンツを検索</li><li>複数項目に一括操作を適用できます</li></ul>`},media:{label:`メディアライブラリ`,content:`<h4>メディアの管理</h4><p>画像・動画・ドキュメントをアップロードして管理します。</p><h4>ヒント</h4><ul><li>ファイルをドラッグ&ドロップしてアップロード</li><li>アクセシビリティのため代替テキストを追加</li><li>フォルダーで整理(近日公開)</li></ul>`}}},m={title:`画面オプション`,label:`画面オプション`,showOnScreen:`画面に表示`},h={title:`テーマ`,description:`インストール済みテーマを管理します。`,directoryHint:`プロジェクトの themes/ ディレクトリから自動検出されます。CLI またはデプロイでテーマを追加してください。`,version:`バージョン`,active:`有効`,status:{active:`有効`,installed:`インストール済み`,inactive:`無効`},activate:`有効化`,deactivate:`無効化`,customize:`カスタマイズ`,install:`テーマをインストール`,name:`テーマ名`,manifest:`マニフェスト (JSON)`,loadError:`テーマを読み込めませんでした。`,activateError:`テーマを有効化できませんでした。`,deactivateError:`テーマを無効化できませんでした。`,deactivateBlocked:`少なくとも 1 つのテーマを有効にする必要があります。`,installError:`テーマをインストールできませんでした。`,reload:`再読み込み`,empty:`インストール済みのテーマがありません。`},g={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,notFound:s,login:c,common:l,activity:u,adminBar:d,footer:f,helpTabs:p,screenOptions:m,themes:h};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,g as default,f as footer,p as helpTabs,e as layout,c as login,i as media,r as menus,s as notFound,m as screenOptions,o as settings,h as themes,a as users};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Panel`,content:`Treści`,media:`Media`,users:`Użytkownicy`,menus:`Menu`,settings:`Ustawienia`,plugins:`Wtyczki`,themes:`Motywy`,customize:`Dostosuj`},actions:{logout:`Wyloguj`,newPost:`Nowy Wpis`,uploadMedia:`Prześlij Media`,addUser:`Dodaj Użytkownika`,openSettings:`Ustawienia`}},t={title:`Panel`,stats:{totalContent:`Wszystkie Treści`,published:`Opublikowane`,drafts:`Szkice`,mediaFiles:`Pliki Multimedialne`,users:`Użytkownicy`},recent:{title:`Ostatnie Treści`,viewAll:`Zobacz Wszystkie`,empty:`Brak treści — utwórz pierwszą!`,columns:{title:`Tytuł`,type:`Typ`,status:`Status`,updated:`Zaktualizowano`}},widgets:{atGlance:`W skrócie`,posts:`Wpisy`,postsDesc:`Opublikowane / Szkice / Kosz`,pages:`Strony`,pagesDesc:`Opublikowane / Szkice / Kosz`,media:`Media`,mediaDesc:`Pliki w bibliotece`,users:`Użytkownicy`,usersDesc:`Razem / Aktywni / Nieaktywni`,version:`Wersja`,storage:`Przechowywanie`,quickDraft:{title:`Szybki szkic`,heading:`Tytuł`,headingPlaceholder:`Nadaj swojemu szkicowi tytuł`,content:`Treść`,contentPlaceholder:`O czym myślisz?`,save:`Zapisz szkic`,yourDrafts:`Twoje szkice`,noDrafts:`Nie ma jeszcze szkiców.`},activity:{title:`Aktywność`,empty:`Brak aktywności.`}}},n={list:{title:`Treści`,description:`Szukaj, filtruj, edytuj i publikuj swoje treści.`,columns:{title:`Tytuł`,type:`Typ`,status:`Status`,updated:`Zaktualizowano`},actions:{edit:`Edytuj`,publish:`Opublikuj`,unpublish:`Cofnij Publikację`,delete:`Usuń`},filters:{search:`Szukaj treści…`,allTypes:`Wszystkie typy`,allStatus:`Wszystkie statusy`},buttons:{new:`+ Nowa Treść`,search:`Szukaj`},empty:`Nie znaleziono treści.`,statuses:{draft:`Szkic`,published:`Opublikowane`,archived:`Zarchiwizowane`},confirmDelete:`Usunąć "{title}"?`,toasts:{published:`Treść opublikowana ✓`,unpublished:`Publikacja cofnięta ✓`}},editor:{type:`Typ`,title:`Tytuł`,slug:`Slug`,excerpt:`Wstęp`,featuredImage:`Obrazek Wyróżniający (ID media)`,status:`Status`,statusOptions:{draft:`Szkic`,published:`Opublikowane`,archived:`Zarchiwizowane`},layout:`Układ`,layoutAuto:`Automatyczny (hierarchia motywu)`,customFields:`Pola Niestandardowe`,inspectTypes:`Zbadaj dostępne typy`,save:`Zapisz`,saved:`Treść zapisana pomyślnie.`},taxonomy:{editTerm:`Edytuj termin`}},r={title:`Menu`,description:`Twórz i zarządzaj menu nawigacyjnymi witryny.`,hint:`Menu są niezależne od typów treści i mogą być wyświetlane przez motyw.`,new:`Nowe menu`,create:`Utwórz menu`,edit:`Edytuj menu`,name:`Nazwa`,slug:`Slug`,items:`Elementy menu (JSON)`,itemsHint:`Użyj tablicy JSON obiektów elementów menu.`,invalidItems:`Elementy menu muszą być prawidłową tablicą JSON.`,saved:`Menu zapisane.`,deleted:`Menu usunięte.`,empty:`Brak menu.`,confirmDelete:`Usunąć menu "{name}"?`},i={title:`Biblioteka Multimedialna`,description:"Prześlij i zarządzaj obrazami, wideo i dokumentami. Pliki są w `uploads/` i serwowane publicznie.",upload:{dropzone:`Przeciągnij pliki tutaj lub`,select:`Wybierz pliki`,uploading:`Przesyłanie…`,hint:`Obrazy, wideo, audio i dokumenty · do 25MB na plik`},toolbar:{search:`Szukaj po nazwie lub alt…`,allTypes:`Wszystkie typy`,searchBtn:`Szukaj`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`Brak plików. Prześlij pierwszy!`,details:{title:`Szczegóły`,file:`Plik`,type:`Typ`,size:`Rozmiar`,url:`URL`,copy:`Kopiuj`,alt:`Tekst Alternatywny`,caption:`Opis`,save:`Zapisz Szczegóły`,delete:`Usuń`,close:`Zamknij`,confirmDelete:`Usunąć "{filename}"? Plik zostanie usunięty z dysku.`,saved:`Szczegóły zapisane ✓`,copied:`URL skopiowany ✓`,copyError:`Nie można skopiować URL`},toasts:{uploaded:`{count} plik(ów) przesłano ✓`}},a={title:`Użytkownicy`,description:`Zarządzaj kontami, rolami i dostępem do projektu.`,new:`Nowy Użytkownik`,toolbar:{search:`Szukaj po nazwie lub email…`,allStatus:`Wszystkie statusy`,active:`Aktywni`,inactive:`Nieaktywni`,newBtn:`+ Nowy użytkownik`,searchBtn:`Szukaj`},table:{name:`Imię`,email:`Email`,role:`Rola`,status:`Status`,lastAccess:`Ostatni Dostęp`,actions:{manage:`Zarządzaj`,delete:`Usuń`}},empty:`Nie znaleziono użytkowników.`,noRole:`Brak roli`,detail:{title:`Zarządzaj Użytkownikiem`,fields:{name:`Imię`,email:`Email`,status:`Status`,role:`Rola`,password:`Hasło`},statusOptions:{active:`Aktywny`,inactive:`Nieaktywny`},rolePlaceholder:`— brak roli —`,meta:`Utworzono {created} · ostatni dostęp {lastAccess}`,actions:{save:`Zapisz`,resetPassword:`Zresetuj Hasło`,close:`Zamknij`},passwordPrompt:`Nowe hasło dla {email} (min. 8 znaków):`,passwordError:`Hasło musi mieć min. 8 znaków`,toasts:{roleUpdated:`Rola {name} zaktualizowana ✓`,passwordChanged:`Hasło {name} zmienione ✓`,saved:`Użytkownik {name} zapisany ✓`,deleted:`Użytkownik {name} usunięty ✓`},confirmDelete:`Usunąć użytkownika {email}?`}},o={general:{title:`Ogólne`,description:`Podstawowe informacje wyświetlane na stronie.`,back:`← Wszystkie Ustawienia`,fields:{siteTitle:`Tytuł Strony`,siteTitlePlaceholder:`Moja Strona`,siteDescription:`Opis`,siteDescriptionPlaceholder:`Nowa strona z OkCMS`,language:`Język`,timezone:`Strefa Czasowa`,timezonePlaceholder:`Europe/Warsaw`},saved:`Ustawienia zapisane ✓`,loading:`Ładowanie…`,save:`Zapisz`},postTypes:{title:`Typy Treści`,description:`Twórz niestandardowe typy treści (CPT) poza Postami i Stronami.`,form:{title:`Utwórz Typ Treści`,slug:`Slug (liczba pojedyncza, np.: portfolio)`,slugHint:`Tylko małe litery, cyfry i podkreślenie`,singular:`Nazwa Liczby Pojedynczej`,plural:`Nazwa Liczby Mnogiej`,supports:`Obsługuje`,supportsOptions:{title:`Tytuł`,editor:`Edytor`,thumbnail:`Miniatura`,excerpt:`Wstęp`,revisions:`Rewizje`},hasArchive:`Posiada Publiczne Archiwum (/slug)`,create:`Utwórz`},table:{slug:`Slug`,singular:`Pojedyncza`,plural:`Mnoga`,source:`Źródło`,supports:`Obsługuje`,archive:`Archiwum`,actions:{remove:`Usuń`}},sources:{admin:`Admin`,core:`Core`}},taxonomies:{title:`Taksonomie`,description:`Twórz niestandardowe taksonomie i łącz je z typami treści.`,form:{title:`Utwórz Taksonomię`,name:`Nazwa (np.: Gatunek)`,slug:`Slug (opcjonalny, generowany z nazwy)`,slugHint:`Tylko małe litery, cyfry i podkreślenie`,hierarchical:`Hierarchiczna (pozwala na terminy rodzic/dziecko)`,attachTo:`Połącz z typami treści`,create:`Utwórz`},table:{taxonomy:`Taksonomia`,hierarchical:`Hierarchiczna`,attachedTypes:`Powiązane typy treści`,actions:{remove:`Usuń`}}}},s={title:`Nie znaleziono strony`,description:`Adres mógł się zmienić lub strona została przeniesiona. Sprawdź URL lub wejdź do jednej z tych sekcji.`,requestedPath:`Próbowano otworzyć`,suggestionsLabel:`Albo wejdź do jednej z tych sekcji`,goHome:`Powrót do strony głównej`,goBack:`Wstecz`},c={title:`Logowanie`,subtitle:`Zaloguj się do swojego konta`,email:`Email`,password:`Hasło`,submit:`Zaloguj`,failed:`Nieprawidłowy email lub hasło`},l={save:`Zapisz`,cancel:`Anuluj`,delete:`Usuń`,edit:`Edytuj`,close:`Zamknij`,confirm:`Potwierdź`,loading:`Ładowanie…`,yes:`Tak`,no:`Nie`,search:`Szukaj`,filter:`Filtruj`,create:`Utwórz`,update:`Aktualizuj`,remove:`Usuń`,viewAll:`Zobacz Wszystkie`,back:`Wstecz`,next:`Dalej`,previous:`Poprzedni`,page:`Strona`,of:`z`,items:`elementów`,item:`element`,empty:`Nie znaleziono {items}.`,toast:{success:`✓`,error:`Błąd: {message}`},status:{active:`Aktywny`,inactive:`Nieaktywny`,draft:`Szkic`,published:`Opublikowane`,archived:`Zarchiwizowane`,locked:`Zablokowany`},language:`Język`},u={justNow:`przed chwilą`,minAgo:`minut temu`,ago:`temu`,published:`Opublikowano`,updated:`Zaktualizowano`,newUser:`Nowy użytkownik: {name}`},d={mainMenu:`Menu główne`,notifications:`Powiadomienia`,notificationsEmpty:`Brak ostatniej aktywności`,settings:`Ustawienia`,toggleSidebar:`Przełącz pasek boczny`,userMenu:`Menu użytkownika`},f={copyright:`© 2026 OkCMS. Wszelkie prawa zastrzeżone.`,links:`Linki`,website:`Strona internetowa`,github:`GitHub`,docs:`Dokumentacja`,community:`Społeczność`,poweredBy:`Napędzane przez Oktis Works`},p={title:`Pomoc`,label:`Pomoc`,tabs:`Tematy pomocy`,topics:{overview:{label:`W skrócie`,content:`<h4>Witamy w panelu OkCMS</h4><p>Ten panel daje przegląd treści i aktywności Twojej witryny.</p><h4>Dostępne widżety</h4><ul><li><strong>W skrócie:</strong> przegląd wpisów, stron, mediów i użytkowników</li><li><strong>Szybki szkic:</strong> szybkie zapisywanie szkiców z panelu</li><li><strong>Aktywność:</strong> ostatnie aktywności i aktualizacje witryny</li></ul>`},content:{label:`Zarządzanie treścią`,content:`<h4>Zarządzanie treścią</h4><p>Twórz, edytuj i publikuj treści w sekcji Treści.</p><h4>Szybkie akcje</h4><ul><li>Kliknij "Nowa treść", aby utworzyć nowy wpis lub stronę</li><li>Używaj filtrów, aby znaleźć określoną treść</li><li>Akcje zbiorcze dostępne dla wielu elementów</li></ul>`},media:{label:`Biblioteka mediów`,content:`<h4>Zarządzanie mediami</h4><p>Przesyłaj i zarządzaj obrazami, filmami i dokumentami.</p><h4>Wskazówki</h4><ul><li>Przeciągnij pliki, aby je przesłać</li><li>Dodaj tekst alternatywny dla dostępności</li><li>Organizuj w folderach (wkrótce)</li></ul>`}}},m={title:`Opcje ekranu`,label:`Opcje ekranu`,showOnScreen:`Pokaż na ekranie`},h={title:`Motywy`,description:`Zarządzaj zainstalowanymi motywami.`,directoryHint:`Wykrywane automatycznie z katalogu themes/ projektu. Użyj CLI lub wdrożenia plików, aby dodać motywy.`,version:`Wersja`,active:`Aktywny`,status:{active:`Aktywny`,installed:`Zainstalowany`,inactive:`Nieaktywny`},activate:`Aktywuj`,deactivate:`Dezaktywuj`,customize:`Dostosuj`,install:`Zainstaluj motyw`,name:`Nazwa motywu`,manifest:`Manifest (JSON)`,loadError:`Nie udało się załadować motywów.`,activateError:`Nie udało się aktywować motywu.`,deactivateError:`Nie udało się dezaktywować motywu.`,deactivateBlocked:`Przynajmniej jeden motyw musi pozostać aktywny.`,installError:`Nie udało się zainstalować motywu.`,reload:`Odśwież`,empty:`Brak zainstalowanych motywów.`},g={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,notFound:s,login:c,common:l,activity:u,adminBar:d,footer:f,helpTabs:p,screenOptions:m,themes:h};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,g as default,f as footer,p as helpTabs,e as layout,c as login,i as media,r as menus,s as notFound,m as screenOptions,o as settings,h as themes,a as users};