@oktis-works/admin 0.8.7 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/dist/client/_astro/ActivityWidget.l4_oR6gt.js +16 -0
  2. package/dist/client/_astro/{AdminBar.5-l0PBZz.js → AdminBar.DbabNkmU.js} +2 -2
  3. package/dist/client/_astro/{AtGlanceWidget.B5ytZ8mp.js → AtGlanceWidget.C7QyOZnc.js} +3 -3
  4. package/dist/client/_astro/BaseLayout.CgLTOe_a.css +1 -0
  5. package/dist/client/_astro/{ContentEditor.CQ2OYPHn.js → ContentEditor.BCy7gbzZ.js} +2 -2
  6. package/dist/client/_astro/ContentEditor.BlRm9ezb.js +1 -0
  7. package/dist/client/_astro/{ContentTypeWorkspace.CdsUQQfa.js → ContentTypeWorkspace.BF8WjCDy.js} +1 -1
  8. package/dist/client/_astro/{DashboardHome.BYOWl94l.js → DashboardHome.C2TVw1TO.js} +1 -1
  9. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.PXk2X2qN.js +1 -0
  10. package/dist/client/_astro/FbIcon.DFmK-EWG.js +1 -0
  11. package/dist/client/_astro/{FieldGroupEditor.5iB_mZUP.js → FieldGroupEditor.CcxZuz0o.js} +3 -3
  12. package/dist/client/_astro/{FieldGroupList.CN3KGhw5.js → FieldGroupList.DrhO-iww.js} +1 -1
  13. package/dist/client/_astro/{Footer.CnuW-fOP.js → Footer.Uc7SesWM.js} +2 -2
  14. package/dist/client/_astro/GeneralSettings.Bxn673WF.js +1 -0
  15. package/dist/client/_astro/{LogsManager.C3XW2Gze.js → LogsManager.DF_3DQlY.js} +1 -1
  16. package/dist/client/_astro/{MediaLibrary.bx1yD6aC.js → MediaLibrary._7sCWvNs.js} +1 -1
  17. package/dist/client/_astro/{MenuManager.Bl_gpt5T.js → MenuManager.Cy7xyr2l.js} +1 -1
  18. package/dist/client/_astro/{PluginManager.ClpQA_a-.js → PluginManager.3qXWwYBV.js} +2 -2
  19. package/dist/client/_astro/PostTypesManager.BAXkf__Y.js +1 -0
  20. package/dist/client/_astro/{QuickDraftWidget.Gjzwimmf.js → QuickDraftWidget.ux_yGWpX.js} +2 -2
  21. package/dist/client/_astro/{ResourceHubs.D11v_J8D.js → ResourceHubs.Dhx1kbfj.js} +1 -1
  22. package/dist/client/_astro/{TaxonomiesManager.DAC1s3aS.js → TaxonomiesManager.BYTDEeNU.js} +1 -1
  23. package/dist/client/_astro/{TaxonomyTermsManager.RsO79xRU.js → TaxonomyTermsManager.DBb5gB5l.js} +1 -1
  24. package/dist/client/_astro/{ThemeManager.BO-12WST.js → ThemeManager.DVBYapuE.js} +2 -2
  25. package/dist/client/_astro/{UserCreateForm.CSYbfU4r.js → UserCreateForm.CTr8bSlL.js} +1 -1
  26. package/dist/client/_astro/{UsersManager.GrlsCN-n.js → UsersManager.BfPqZNy7.js} +1 -1
  27. package/dist/client/_astro/{WebhooksManager.BNaGM-w5.js → WebhooksManager.DPAWAObu.js} +1 -1
  28. package/dist/client/_astro/api.CNp-a9Z3.js +1 -0
  29. package/dist/client/_astro/{ar.9BcNkJMI.js → ar.BeEmOTlL.js} +1 -1
  30. package/dist/client/_astro/{client.DWJHz38V.js → client.m5rScAmr.js} +1 -1
  31. package/dist/client/_astro/{es-ES.DgqDFCmG.js → es-ES.C0DI0CK6.js} +1 -1
  32. package/dist/client/_astro/{extensions.CpcwMaUF.js → extensions.CenNQy0u.js} +1 -1
  33. package/dist/client/_astro/{he.11dIJHQw.js → he.RF4swhtn.js} +1 -1
  34. package/dist/client/_astro/i18n.CXvd48vy.js +1 -0
  35. package/dist/client/_astro/{it.yCdgk3Xj.js → it.DhCR9YsW.js} +1 -1
  36. package/dist/client/_astro/{ja.BIm7Hwe_.js → ja.DPrxHQvU.js} +1 -1
  37. package/dist/client/_astro/{login.astro_astro_type_script_index_0_lang.D7pjn1zG.js → login.astro_astro_type_script_index_0_lang.Dni6a5dD.js} +1 -1
  38. package/dist/client/_astro/{pl.dUwrcITB.js → pl.6VCoPa7y.js} +1 -1
  39. package/dist/client/_astro/pt-BR.B-uijFlj.js +1 -0
  40. package/dist/client/_astro/{ru.lmDiQaSu.js → ru.Cv0Z6X2y.js} +1 -1
  41. package/dist/client/_astro/{src.BJaHBCQK.js → src.DksrLolD.js} +1 -1
  42. package/dist/client/_astro/{sw._qHdoFbp.js → sw.BBMIgY-Y.js} +1 -1
  43. package/dist/client/_astro/{tr.Do-lr98T.js → tr.BWEmWhCE.js} +1 -1
  44. package/dist/client/_astro/{uk.DTUX-N1c.js → uk.DDXJXOmn.js} +1 -1
  45. package/dist/client/_astro/web.DB4MaPY9.js +1 -0
  46. package/dist/client/_astro/{yo.BIYG0J7I.js → yo.DNoEBLJd.js} +1 -1
  47. package/dist/client/_astro/{zh-CN.C7Iod1E1.js → zh-CN.CVKBB6Ky.js} +1 -1
  48. package/dist/server/chunks/404_DIfrzRRM.mjs +56 -0
  49. package/dist/server/chunks/{BaseLayout_mNhoDiMR.mjs → BaseLayout_CmMnXoh2.mjs} +4 -4
  50. package/dist/server/chunks/{ContentEditor_DLQV2GHu.mjs → ContentEditor_CrP88U9K.mjs} +2 -2
  51. package/dist/server/chunks/{DashboardLayout_CGggEut2.mjs → DashboardLayout_C6I2H2jO.mjs} +12 -8
  52. package/dist/server/chunks/{MediaLibrary_tpZAEUHh.mjs → MediaLibrary_c4bl4fTY.mjs} +2 -2
  53. package/dist/server/chunks/{_id__ByUunzUm.mjs → _id__C2MAQ-Pj.mjs} +2 -2
  54. package/dist/server/chunks/{_slug__BSjoZ5ou.mjs → _slug__CR0j3J9V.mjs} +1 -1
  55. package/dist/server/chunks/{access_Cemph0zm.mjs → access_bpmBW03n.mjs} +2 -2
  56. package/dist/server/chunks/{ar_DlCzOUGe.mjs → ar_DObFFdrO.mjs} +10 -1
  57. package/dist/server/chunks/{custom-fields_D5clxJVf.mjs → custom-fields_BPduH9VI.mjs} +2 -2
  58. package/dist/server/chunks/{edit_C5a8Q5Ge.mjs → edit_CJdKxNhx.mjs} +2 -2
  59. package/dist/server/chunks/{es-ES_DD40B9Zr.mjs → es-ES_D6jd6T7H.mjs} +10 -1
  60. package/dist/server/chunks/{general_CuLtpcon.mjs → general_eI-sNsQl.mjs} +2 -2
  61. package/dist/server/chunks/{he_8WSAyM_S.mjs → he_DwGJwonL.mjs} +10 -1
  62. package/dist/server/chunks/{i18n_k88p-B6j.mjs → i18n_BqZ4e24O.mjs} +197 -524
  63. package/dist/server/chunks/{index_DP4dDD-R.mjs → index_BKzgF5qF.mjs} +2 -2
  64. package/dist/server/chunks/{index_D_UVr3YD.mjs → index_CA70i3-b.mjs} +2 -2
  65. package/dist/server/chunks/{index_DnAdCTFB.mjs → index_CyKyYL4y.mjs} +2 -2
  66. package/dist/server/chunks/{index_BiC5Mm4G.mjs → index_Om0n2OAr.mjs} +3 -3
  67. package/dist/server/chunks/{index_nslucXss.mjs → index_XRE0Vjch.mjs} +1 -1
  68. package/dist/server/chunks/{it_DEDC6yxf.mjs → it_CMLpQyoj.mjs} +10 -1
  69. package/dist/server/chunks/{ja_BRQi6rW3.mjs → ja_CYRz0pHv.mjs} +10 -1
  70. package/dist/server/chunks/{login_Bf5cWCYs.mjs → login_0iFVtfgV.mjs} +1 -1
  71. package/dist/server/chunks/{logs_DibwgS0j.mjs → logs_D-h53LJu.mjs} +2 -2
  72. package/dist/server/chunks/{menus_QSYCvi90.mjs → menus_CcCZvv6r.mjs} +2 -2
  73. package/dist/server/chunks/{new_DGbrZY4T.mjs → new_BmimSObH.mjs} +2 -2
  74. package/dist/server/chunks/{new_CRPpTn9N.mjs → new_DSopKVB7.mjs} +2 -2
  75. package/dist/server/chunks/{pl_CKanAk0F.mjs → pl_BuXVPvU1.mjs} +10 -1
  76. package/dist/server/chunks/{plugins_C9GShj8w.mjs → plugins_MF0XTr5R.mjs} +2 -2
  77. package/dist/server/chunks/post-types_D5ajDp3x.mjs +384 -0
  78. package/dist/server/chunks/{pt-BR_X0hfCrsD.mjs → pt-BR_CQndzpOT.mjs} +16 -2
  79. package/dist/server/chunks/{ru_CuNXt2MB.mjs → ru_C56ltukG.mjs} +10 -1
  80. package/dist/server/chunks/{sw_RLMWPkos.mjs → sw_Dhw0GAgD.mjs} +10 -1
  81. package/dist/server/chunks/{taxonomies_BwUwBz95.mjs → taxonomies_CfvbHc_y.mjs} +2 -2
  82. package/dist/server/chunks/{taxonomy_h8RtMHN4.mjs → taxonomy_DdWpf9lk.mjs} +2 -2
  83. package/dist/server/chunks/{themes_CG_DSSUL.mjs → themes_DQE1-WCF.mjs} +2 -2
  84. package/dist/server/chunks/{tr_Dz8pqyTZ.mjs → tr_zELRy7A-.mjs} +10 -1
  85. package/dist/server/chunks/{uk_BjwqlweA.mjs → uk_DVOqp1x6.mjs} +10 -1
  86. package/dist/server/chunks/{upload_DABOFBBU.mjs → upload_DjkuLTrW.mjs} +2 -2
  87. package/dist/server/chunks/{webhooks_DQAwEeKf.mjs → webhooks_NO5wRHnZ.mjs} +2 -2
  88. package/dist/server/chunks/{yo_Dv14KWVR.mjs → yo_BqgZcoxs.mjs} +10 -1
  89. package/dist/server/chunks/{zh-CN_DjIZCWzG.mjs → zh-CN_Dz2D1XUc.mjs} +10 -1
  90. package/dist/server/entry.mjs +74 -47
  91. package/dist/server/virtual_astro_middleware.mjs +87 -17
  92. package/package.json +4 -4
  93. package/dist/client/_astro/ActivityWidget.DFfbrs-K.js +0 -16
  94. package/dist/client/_astro/BaseLayout.3eIEVCjB.css +0 -1
  95. package/dist/client/_astro/ContentEditor.DANKVwCI.js +0 -1
  96. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.DP7AKyOy.js +0 -1
  97. package/dist/client/_astro/FbIcon.uhYN8ybK.js +0 -1
  98. package/dist/client/_astro/GeneralSettings.Dzv_7xWf.js +0 -1
  99. package/dist/client/_astro/PostTypesManager.BJNKEOXY.js +0 -1
  100. package/dist/client/_astro/api.D7bs6UOp.js +0 -1
  101. package/dist/client/_astro/i18n.CjQozXLx.js +0 -1
  102. package/dist/client/_astro/pt-BR.BnllmbjP.js +0 -1
  103. package/dist/client/_astro/web.DwNv8rLL.js +0 -1
  104. package/dist/server/chunks/post-types_yl-VSZfH.mjs +0 -185
@@ -1 +1 @@
1
- import{d as e,i as t,p as n,r,s as i,v as a}from"./solid.8gBSxpeo.js";import{a as o,c as s,f as c,i as l,m as u,r as d,s as f,u as ee}from"./web.DwNv8rLL.js";import{n as p}from"./i18n.CjQozXLx.js";import{t as m}from"./api.D7bs6UOp.js";var h=u(`<div class="notice notice--error">`),te=u(`<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=u(`<option><!$><!/> (<!$><!/>)`);function _(){let{t:u}=p(),[d,_]=n(``),[v,y]=n(``),[b,ne]=n(``),[x,S]=n(``),[C,w]=n([]),[T,E]=n(``),[D,O]=n(!1);a(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(u(`users.detail.passwordError`));return}O(!0);try{await m.createUser({name:d(),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 n=l(te),a=n.firstChild,[p,m]=o(a.nextSibling),w=p.nextSibling,E=w.firstChild,O=E.nextSibling,k=O.firstChild,ie=k.firstChild,[A,j]=o(ie.nextSibling),M=A.nextSibling,N=k.nextSibling,P=N.firstChild,[F,ae]=o(P.nextSibling),I=F.nextSibling,L=N.nextSibling,oe=L.firstChild,[R,z]=o(oe.nextSibling),B=R.nextSibling,V=B.nextSibling,H=L.nextSibling,U=H.firstChild,[W,G]=o(U.nextSibling),K=W.nextSibling,q=K.firstChild,se=q.nextSibling,[ce,le]=o(se.nextSibling),J=O.nextSibling,ue=J.firstChild,[Y,de]=o(ue.nextSibling),fe=Y.nextSibling.nextSibling,[X,pe]=o(fe.nextSibling),me=X.nextSibling.nextSibling,[Z,he]=o(me.nextSibling),ge=Z.nextSibling.nextSibling,[Q,_e]=o(ge.nextSibling);Q.nextSibling;var $=J.nextSibling.firstChild,ve=$.nextSibling;return f(n,i(t,{get when(){return T()},get children(){var e=l(h);return f(e,T),e}}),p,m),w.addEventListener(`submit`,re),f(E,()=>u(`users.new`)),f(k,()=>u(`users.detail.fields.name`),A,j),M.$$input=e=>_(e.currentTarget.value),f(N,()=>u(`users.detail.fields.email`),F,ae),I.$$input=e=>y(e.currentTarget.value),f(L,()=>u(`users.detail.fields.password`),R,z),f(B,()=>u(`users.detail.passwordPrompt`,{email:``})),V.$$input=e=>ne(e.currentTarget.value),f(H,()=>u(`users.detail.fields.role`),W,G),K.addEventListener(`change`,e=>S(e.currentTarget.value)),f(q,()=>u(`users.detail.rolePlaceholder`)),f(K,i(r,{get each(){return C()},children:t=>(()=>{var n=l(g),r=n.firstChild,[i,a]=o(r.nextSibling),s=i.nextSibling.nextSibling,[u,d]=o(s.nextSibling);return u.nextSibling,f(n,()=>t.name,i,a),f(n,()=>t.slug,u,d),e(()=>c(n,`value`,t.id)),n})()}),ce,le),f(J,()=>u(`common.save`),Y,de),f(J,()=>u(`users.new`).toLowerCase(),X,pe),f(J,()=>u(`users.detail.fields.role`),Z,he),f(J,()=>u(`users.toolbar.newBtn`).toLowerCase(),Q,_e),f($,(()=>{var e=s(()=>!!D());return()=>e()?u(`common.loading`):u(`common.create`)})()),f(ve,()=>u(`common.back`)),e(()=>c($,`disabled`,D())),e(()=>c(M,`value`,d())),e(()=>c(I,`value`,v())),e(()=>c(V,`value`,b())),e(()=>c(K,`value`,x())),ee(),n})()}d([`input`]);export{_ as UserCreateForm};
1
+ import{d as e,i as t,p as n,r,s as i,v as a}from"./solid.8gBSxpeo.js";import{a as o,c as s,f as c,h as l,i as u,r as d,s as f,u as ee}from"./web.DB4MaPY9.js";import{n as p}from"./i18n.CXvd48vy.js";import{n as m}from"./api.CNp-a9Z3.js";var h=l(`<div class="notice notice--error">`),te=l(`<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=l(`<option><!$><!/> (<!$><!/>)`);function _(){let{t:l}=p(),[d,_]=n(``),[v,y]=n(``),[b,ne]=n(``),[x,S]=n(``),[C,w]=n([]),[T,E]=n(``),[D,O]=n(!1);a(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(l(`users.detail.passwordError`));return}O(!0);try{await m.createUser({name:d(),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 n=u(te),a=n.firstChild,[p,m]=o(a.nextSibling),w=p.nextSibling,E=w.firstChild,O=E.nextSibling,k=O.firstChild,ie=k.firstChild,[A,j]=o(ie.nextSibling),M=A.nextSibling,N=k.nextSibling,P=N.firstChild,[F,ae]=o(P.nextSibling),I=F.nextSibling,L=N.nextSibling,oe=L.firstChild,[R,z]=o(oe.nextSibling),B=R.nextSibling,V=B.nextSibling,H=L.nextSibling,U=H.firstChild,[W,G]=o(U.nextSibling),K=W.nextSibling,q=K.firstChild,se=q.nextSibling,[ce,le]=o(se.nextSibling),J=O.nextSibling,ue=J.firstChild,[Y,de]=o(ue.nextSibling),fe=Y.nextSibling.nextSibling,[X,pe]=o(fe.nextSibling),me=X.nextSibling.nextSibling,[Z,he]=o(me.nextSibling),ge=Z.nextSibling.nextSibling,[Q,_e]=o(ge.nextSibling);Q.nextSibling;var $=J.nextSibling.firstChild,ve=$.nextSibling;return f(n,i(t,{get when(){return T()},get children(){var e=u(h);return f(e,T),e}}),p,m),w.addEventListener(`submit`,re),f(E,()=>l(`users.new`)),f(k,()=>l(`users.detail.fields.name`),A,j),M.$$input=e=>_(e.currentTarget.value),f(N,()=>l(`users.detail.fields.email`),F,ae),I.$$input=e=>y(e.currentTarget.value),f(L,()=>l(`users.detail.fields.password`),R,z),f(B,()=>l(`users.detail.passwordPrompt`,{email:``})),V.$$input=e=>ne(e.currentTarget.value),f(H,()=>l(`users.detail.fields.role`),W,G),K.addEventListener(`change`,e=>S(e.currentTarget.value)),f(q,()=>l(`users.detail.rolePlaceholder`)),f(K,i(r,{get each(){return C()},children:t=>(()=>{var n=u(g),r=n.firstChild,[i,a]=o(r.nextSibling),s=i.nextSibling.nextSibling,[l,d]=o(s.nextSibling);return l.nextSibling,f(n,()=>t.name,i,a),f(n,()=>t.slug,l,d),e(()=>c(n,`value`,t.id)),n})()}),ce,le),f(J,()=>l(`common.save`),Y,de),f(J,()=>l(`users.new`).toLowerCase(),X,pe),f(J,()=>l(`users.detail.fields.role`),Z,he),f(J,()=>l(`users.toolbar.newBtn`).toLowerCase(),Q,_e),f($,(()=>{var e=s(()=>!!D());return()=>e()?l(`common.loading`):l(`common.create`)})()),f(ve,()=>l(`common.back`)),e(()=>c($,`disabled`,D())),e(()=>c(M,`value`,d())),e(()=>c(I,`value`,v())),e(()=>c(V,`value`,b())),e(()=>c(K,`value`,x())),ee(),n})()}d([`input`]);export{_ as UserCreateForm};
@@ -1 +1 @@
1
- import{d as e,i as t,p as n,r,s as i,v as a}from"./solid.8gBSxpeo.js";import{a as o,f as s,i as c,m as l,r as u,s as d,u as f}from"./web.DwNv8rLL.js";import{n as p}from"./i18n.CjQozXLx.js";import{t as m}from"./api.D7bs6UOp.js";import{i as h,n as g,o as _,s as v,t as y}from"./src.BJaHBCQK.js";var b=l(`<div class="notice notice--error">`),x=l(`<div class=notice>`),S=l(`<table class=users-table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),C=l(`<div class=users-manager><!$><!/><!$><!/><div class=toolbar><!$><!/><!$><!/><a class="btn btn-primary"href=/users/new></a><!$><!/></div><!$><!/><!$><!/><!$><!/>`),w=l(`<p class=muted>`),T=l(`<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=l(`<span class=muted>`),D=l(`<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=l(`<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:l}=p(),[u,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))}};a(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(l(`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(l(`users.detail.passwordPrompt`,{email:e.email}));if(t){if(t.length<8){H(l(`users.detail.passwordError`));return}J(!0),H(``);try{await m.setUserPassword(e.id,t),W(l(`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(l(`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(l(`users.detail.confirmDelete`,{email:e.email}))){J(!0),H(``);try{await m.deleteUser(e.id),G()?.id===e.id&&K(null),W(l(`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 n=c(C),a=n.firstChild,[p,m]=o(a.nextSibling),A=p.nextSibling,[M,P]=o(A.nextSibling),H=M.nextSibling,W=H.firstChild,[J,Z]=o(W.nextSibling),ae=J.nextSibling,[Q,oe]=o(ae.nextSibling),$=Q.nextSibling,se=$.nextSibling,[ce,le]=o(se.nextSibling),ue=H.nextSibling,[de,fe]=o(ue.nextSibling),pe=de.nextSibling,[me,he]=o(pe.nextSibling),ge=me.nextSibling,[_e,ve]=o(ge.nextSibling);return d(n,i(t,{get when(){return V()},get children(){var e=c(b);return d(e,V),e}}),p,m),d(n,i(t,{get when(){return U()},get children(){var e=c(x);return d(e,U),e}}),M,P),d(H,i(h,{name:`user-search`,get placeholder(){return l(`users.toolbar.search`)},get value(){return L()},onInput:e=>{R(e),X()}}),J,Z),d(H,i(v,{name:`user-status`,get placeholder(){return l(`users.toolbar.allStatus`)},get value(){return z()},get options(){return[{value:`ACTIVE`,label:l(`users.toolbar.active`)},{value:`INACTIVE`,label:l(`users.toolbar.inactive`)}]},onChange:e=>{B(e),X()}}),Q,oe),d($,()=>l(`users.toolbar.newBtn`)),d(H,i(g,{variant:`secondary`,onClick:()=>void X(),get children(){return l(`users.toolbar.searchBtn`)}}),ce,le),d(n,i(t,{get when(){return u().length>0},get fallback(){return(()=>{var e=c(w);return d(e,()=>l(`users.empty`)),e})()},get children(){var n=c(S),a=n.firstChild,s=a.firstChild.firstChild,f=s.nextSibling,p=f.nextSibling,m=p.nextSibling,h=m.nextSibling,_=a.nextSibling;return d(s,()=>l(`users.table.name`)),d(f,()=>l(`users.table.email`)),d(p,()=>l(`users.table.role`)),d(m,()=>l(`users.table.status`)),d(h,()=>l(`users.table.lastAccess`)),d(_,i(r,{get each(){return u()},children:n=>(()=>{var r=c(T),a=r.firstChild,s=a.nextSibling,u=s.nextSibling,f=u.nextSibling,p=f.firstChild,m=p.nextSibling,[h,_]=o(m.nextSibling),v=f.nextSibling,b=v.nextSibling,x=b.firstChild,[S,C]=o(x.nextSibling),w=S.nextSibling,[D,O]=o(w.nextSibling);return d(a,()=>n.name),d(s,()=>n.email),d(u,i(t,{get when(){return n.roles.length>0},get fallback(){return(()=>{var e=c(E);return d(e,()=>l(`users.noRole`)),e})()},get children(){return i(y,{get children(){return n.roles.join(`, `)}})}})),d(f,()=>l(`common.status.`+n.status.toLowerCase()),h,_),d(v,()=>k(n.last_login_at)),d(b,i(g,{variant:`secondary`,size:`sm`,onClick:()=>K(n),get children(){return l(`users.table.actions.manage`)}}),S,C),d(b,i(g,{variant:`danger`,size:`sm`,onClick:()=>void re(n),get children(){return l(`users.table.actions.delete`)}}),D,O),e(e=>{var t=G()?.id===n.id,i=n.status===`ACTIVE`;return t!==e.e&&r.classList.toggle(`users-table__row--selected`,e.e=t),i!==e.t&&p.classList.toggle(`status-dot--active`,e.t=i),e},{e:void 0,t:void 0}),r})()})),n}}),de,fe),d(n,i(_,{get page(){return F()},limit:20,get total(){return N()},onPageChange:e=>{I(e),Y()}}),me,he),d(n,i(t,{get when(){return G()},children:t=>(()=>{var n=c(D),a=n.firstChild,u=a.nextSibling,p=u.firstChild,m=p.firstChild,[h,_]=o(m.nextSibling),v=h.nextSibling,y=p.nextSibling,b=y.firstChild,[x,S]=o(b.nextSibling),C=x.nextSibling,w=y.nextSibling,T=w.firstChild,[E,A]=o(T.nextSibling),M=E.nextSibling,N=M.firstChild,P=N.nextSibling,F=w.nextSibling,I=F.firstChild,[L,R]=o(I.nextSibling),z=L.nextSibling,B=z.firstChild,V=B.nextSibling,[H,U]=o(V.nextSibling),W=u.nextSibling,G=W.nextSibling,J=G.firstChild,[Y,X]=o(J.nextSibling),re=Y.nextSibling,[Z,ae]=o(re.nextSibling),Q=Z.nextSibling,[oe,$]=o(Q.nextSibling);return d(a,()=>l(`users.detail.title`)),d(p,()=>l(`users.detail.fields.name`),h,_),v.$$input=e=>K({...t(),name:e.currentTarget.value}),d(y,()=>l(`users.detail.fields.email`),x,S),C.$$input=e=>K({...t(),email:e.currentTarget.value}),d(w,()=>l(`users.detail.fields.status`),E,A),M.addEventListener(`change`,e=>K({...t(),status:e.currentTarget.value})),d(N,()=>l(`users.detail.statusOptions.active`)),d(P,()=>l(`users.detail.statusOptions.inactive`)),d(F,()=>l(`users.detail.fields.role`),L,R),z.addEventListener(`change`,e=>void ee(t(),e.currentTarget.value)),d(B,()=>l(`users.detail.rolePlaceholder`)),d(z,i(r,{get each(){return j()},children:t=>(()=>{var n=c(O),r=n.firstChild,[i,a]=o(r.nextSibling),l=i.nextSibling.nextSibling,[u,f]=o(l.nextSibling);return u.nextSibling,d(n,()=>t.name,i,a),d(n,()=>t.slug,u,f),e(()=>s(n,`value`,t.id)),n})()}),H,U),d(W,()=>l(`users.detail.meta`,{created:k(t().created_at),lastAccess:k(t().last_login_at)})),d(G,i(g,{variant:`primary`,get disabled(){return q()},get loading(){return q()},onClick:()=>void ne(t()),get children(){return l(`users.detail.actions.save`)}}),Y,X),d(G,i(g,{variant:`secondary`,get disabled(){return q()},onClick:()=>void te(t()),get children(){return l(`users.detail.actions.resetPassword`)}}),Z,ae),d(G,i(g,{variant:`secondary`,onClick:()=>K(null),get children(){return l(`users.detail.actions.close`)}}),oe,$),e(()=>s(z,`disabled`,q())),e(()=>s(v,`value`,t().name)),e(()=>s(C,`value`,t().email)),e(()=>s(M,`value`,t().status)),e(()=>s(z,`value`,ie(t())?.id??``)),f(),n})()}),_e,ve),n})()}u([`input`]);export{A as UsersManager};
1
+ import{d as e,i as t,p as n,r,s as i,v as a}from"./solid.8gBSxpeo.js";import{a as o,f as s,h as c,i as l,r as u,s as d,u as f}from"./web.DB4MaPY9.js";import{n as p}from"./i18n.CXvd48vy.js";import{n as m}from"./api.CNp-a9Z3.js";import{i as h,n as g,o as _,s as v,t as y}from"./src.DksrLolD.js";var b=c(`<div class="notice notice--error">`),x=c(`<div class=notice>`),S=c(`<table class=users-table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),C=c(`<div class=users-manager><!$><!/><!$><!/><div class=toolbar><!$><!/><!$><!/><a class="btn btn-primary"href=/users/new></a><!$><!/></div><!$><!/><!$><!/><!$><!/>`),w=c(`<p class=muted>`),T=c(`<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=c(`<span class=muted>`),D=c(`<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=c(`<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:c}=p(),[u,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))}};a(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(c(`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(c(`users.detail.passwordPrompt`,{email:e.email}));if(t){if(t.length<8){H(c(`users.detail.passwordError`));return}J(!0),H(``);try{await m.setUserPassword(e.id,t),W(c(`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(c(`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(c(`users.detail.confirmDelete`,{email:e.email}))){J(!0),H(``);try{await m.deleteUser(e.id),G()?.id===e.id&&K(null),W(c(`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 n=l(C),a=n.firstChild,[p,m]=o(a.nextSibling),A=p.nextSibling,[M,P]=o(A.nextSibling),H=M.nextSibling,W=H.firstChild,[J,Z]=o(W.nextSibling),ae=J.nextSibling,[Q,oe]=o(ae.nextSibling),$=Q.nextSibling,se=$.nextSibling,[ce,le]=o(se.nextSibling),ue=H.nextSibling,[de,fe]=o(ue.nextSibling),pe=de.nextSibling,[me,he]=o(pe.nextSibling),ge=me.nextSibling,[_e,ve]=o(ge.nextSibling);return d(n,i(t,{get when(){return V()},get children(){var e=l(b);return d(e,V),e}}),p,m),d(n,i(t,{get when(){return U()},get children(){var e=l(x);return d(e,U),e}}),M,P),d(H,i(h,{name:`user-search`,get placeholder(){return c(`users.toolbar.search`)},get value(){return L()},onInput:e=>{R(e),X()}}),J,Z),d(H,i(v,{name:`user-status`,get placeholder(){return c(`users.toolbar.allStatus`)},get value(){return z()},get options(){return[{value:`ACTIVE`,label:c(`users.toolbar.active`)},{value:`INACTIVE`,label:c(`users.toolbar.inactive`)}]},onChange:e=>{B(e),X()}}),Q,oe),d($,()=>c(`users.toolbar.newBtn`)),d(H,i(g,{variant:`secondary`,onClick:()=>void X(),get children(){return c(`users.toolbar.searchBtn`)}}),ce,le),d(n,i(t,{get when(){return u().length>0},get fallback(){return(()=>{var e=l(w);return d(e,()=>c(`users.empty`)),e})()},get children(){var n=l(S),a=n.firstChild,s=a.firstChild.firstChild,f=s.nextSibling,p=f.nextSibling,m=p.nextSibling,h=m.nextSibling,_=a.nextSibling;return d(s,()=>c(`users.table.name`)),d(f,()=>c(`users.table.email`)),d(p,()=>c(`users.table.role`)),d(m,()=>c(`users.table.status`)),d(h,()=>c(`users.table.lastAccess`)),d(_,i(r,{get each(){return u()},children:n=>(()=>{var r=l(T),a=r.firstChild,s=a.nextSibling,u=s.nextSibling,f=u.nextSibling,p=f.firstChild,m=p.nextSibling,[h,_]=o(m.nextSibling),v=f.nextSibling,b=v.nextSibling,x=b.firstChild,[S,C]=o(x.nextSibling),w=S.nextSibling,[D,O]=o(w.nextSibling);return d(a,()=>n.name),d(s,()=>n.email),d(u,i(t,{get when(){return n.roles.length>0},get fallback(){return(()=>{var e=l(E);return d(e,()=>c(`users.noRole`)),e})()},get children(){return i(y,{get children(){return n.roles.join(`, `)}})}})),d(f,()=>c(`common.status.`+n.status.toLowerCase()),h,_),d(v,()=>k(n.last_login_at)),d(b,i(g,{variant:`secondary`,size:`sm`,onClick:()=>K(n),get children(){return c(`users.table.actions.manage`)}}),S,C),d(b,i(g,{variant:`danger`,size:`sm`,onClick:()=>void re(n),get children(){return c(`users.table.actions.delete`)}}),D,O),e(e=>{var t=G()?.id===n.id,i=n.status===`ACTIVE`;return t!==e.e&&r.classList.toggle(`users-table__row--selected`,e.e=t),i!==e.t&&p.classList.toggle(`status-dot--active`,e.t=i),e},{e:void 0,t:void 0}),r})()})),n}}),de,fe),d(n,i(_,{get page(){return F()},limit:20,get total(){return N()},onPageChange:e=>{I(e),Y()}}),me,he),d(n,i(t,{get when(){return G()},children:t=>(()=>{var n=l(D),a=n.firstChild,u=a.nextSibling,p=u.firstChild,m=p.firstChild,[h,_]=o(m.nextSibling),v=h.nextSibling,y=p.nextSibling,b=y.firstChild,[x,S]=o(b.nextSibling),C=x.nextSibling,w=y.nextSibling,T=w.firstChild,[E,A]=o(T.nextSibling),M=E.nextSibling,N=M.firstChild,P=N.nextSibling,F=w.nextSibling,I=F.firstChild,[L,R]=o(I.nextSibling),z=L.nextSibling,B=z.firstChild,V=B.nextSibling,[H,U]=o(V.nextSibling),W=u.nextSibling,G=W.nextSibling,J=G.firstChild,[Y,X]=o(J.nextSibling),re=Y.nextSibling,[Z,ae]=o(re.nextSibling),Q=Z.nextSibling,[oe,$]=o(Q.nextSibling);return d(a,()=>c(`users.detail.title`)),d(p,()=>c(`users.detail.fields.name`),h,_),v.$$input=e=>K({...t(),name:e.currentTarget.value}),d(y,()=>c(`users.detail.fields.email`),x,S),C.$$input=e=>K({...t(),email:e.currentTarget.value}),d(w,()=>c(`users.detail.fields.status`),E,A),M.addEventListener(`change`,e=>K({...t(),status:e.currentTarget.value})),d(N,()=>c(`users.detail.statusOptions.active`)),d(P,()=>c(`users.detail.statusOptions.inactive`)),d(F,()=>c(`users.detail.fields.role`),L,R),z.addEventListener(`change`,e=>void ee(t(),e.currentTarget.value)),d(B,()=>c(`users.detail.rolePlaceholder`)),d(z,i(r,{get each(){return j()},children:t=>(()=>{var n=l(O),r=n.firstChild,[i,a]=o(r.nextSibling),c=i.nextSibling.nextSibling,[u,f]=o(c.nextSibling);return u.nextSibling,d(n,()=>t.name,i,a),d(n,()=>t.slug,u,f),e(()=>s(n,`value`,t.id)),n})()}),H,U),d(W,()=>c(`users.detail.meta`,{created:k(t().created_at),lastAccess:k(t().last_login_at)})),d(G,i(g,{variant:`primary`,get disabled(){return q()},get loading(){return q()},onClick:()=>void ne(t()),get children(){return c(`users.detail.actions.save`)}}),Y,X),d(G,i(g,{variant:`secondary`,get disabled(){return q()},onClick:()=>void te(t()),get children(){return c(`users.detail.actions.resetPassword`)}}),Z,ae),d(G,i(g,{variant:`secondary`,onClick:()=>K(null),get children(){return c(`users.detail.actions.close`)}}),oe,$),e(()=>s(z,`disabled`,q())),e(()=>s(v,`value`,t().name)),e(()=>s(C,`value`,t().email)),e(()=>s(M,`value`,t().status)),e(()=>s(z,`value`,ie(t())?.id??``)),f(),n})()}),_e,ve),n})()}u([`input`]);export{A as UsersManager};
@@ -1 +1 @@
1
- import{_ as e,d as t,i as n,p as r,r as i,s as a,v as o}from"./solid.8gBSxpeo.js";import{a as s,c,d as l,f as u,h as d,i as f,m as p,r as m,s as h,u as g}from"./web.DwNv8rLL.js";import{n as _}from"./i18n.CjQozXLx.js";import{t as v}from"./api.D7bs6UOp.js";var y=p(`<div class=webhook-event-select__dropdown role=listbox><input class=input><div class=webhook-event-select__options>`),b=p(`<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=p(`<span class=muted>`),S=p(`<label class=webhook-event-option><input type=checkbox><span><!$><!/><small>`),C=p(`<button type=button class=webhook-event-chip><!$><!/> ×`),w=p(`<div class="notice notice--error">`),T=p(`<div class=table-scroll><table class=table><thead><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),E=p(`<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=p(`<label><!$><!/><input class=input type=password>`),O=p(`<div class=form-grid><label><!$><!/><input class=input></label><label><!$><!/><input class=input type=password>`),k=p(`<div class=form-grid><label><!$><!/><input class=input type=password></label><label><!$><!/><input class=input>`),A=p(`<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=p(`<p>`),M=p(`<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 ee(p){let[m,_]=r(!1),[v,w]=r(``),T;o(()=>{let t=e=>{T&&!T.contains(e.target)&&_(!1)};document.addEventListener(`mousedown`,t),e(()=>document.removeEventListener(`mousedown`,t))});let E=()=>p.options.filter(e=>`${e.label} ${e.value}`.toLowerCase().includes(v().toLowerCase())),D=e=>p.onChange(p.value.includes(e)?p.value.filter(t=>t!==e):[...p.value,e]);return(()=>{var e=f(b),r=e.firstChild,o=r.firstChild,O=r.nextSibling,[k,A]=s(O.nextSibling),j=k.nextSibling,M=T;return typeof M==`function`?d(M,e):T=e,r.$$click=()=>_(!m()),h(o,(()=>{var e=c(()=>p.value.length>0);return()=>e()?`${p.value.length} selecionado(s)`:p.placeholder})()),h(e,a(n,{get when(){return m()},get children(){var e=f(y),r=e.firstChild,o=r.nextSibling;return r.$$input=e=>w(e.currentTarget.value),h(o,a(n,{get when(){return E().length>0},get fallback(){return(()=>{var e=f(x);return h(e,()=>p.empty),e})()},get children(){return a(i,{get each(){return E()},children:e=>(()=>{var n=f(S),r=n.firstChild,i=r.nextSibling,a=i.firstChild,[o,c]=s(a.nextSibling),l=o.nextSibling;return r.addEventListener(`change`,()=>D(e.value)),h(i,()=>e.label,o,c),h(l,()=>e.value),t(()=>u(r,`checked`,p.value.includes(e.value))),n})()})}})),t(()=>l(r,`placeholder`,p.searchPlaceholder)),t(()=>u(r,`value`,v())),g(),e}}),k,A),h(j,a(i,{get each(){return p.value},children:e=>(()=>{var t=f(C),n=t.firstChild,[r,i]=s(n.nextSibling);return r.nextSibling,t.$$click=()=>D(e),h(t,()=>p.options.find(t=>t.value===e)?.label??e,r,i),g(),t})()})),t(()=>l(r,`aria-expanded`,m())),g(),e})()}function P(){let{t:e}=_(),[d,p]=r([]),[m,y]=r([]),[b,x]=r(null),[S,C]=r(``),[P,F]=r(!0),I=async()=>{F(!0);try{let[e,t]=await Promise.all([v.getWebhooks(),v.getWebhookEvents()]);p(e),y(t)}catch(e){C(e instanceof Error?e.message:String(e))}finally{F(!1)}};o(I);let L=e=>{if(!e){x(N());return}x({...e,events:[...e.events??[]],auth_type:e.auth_type??`hmac_sha256`,auth_config:{...e.auth_config??{}}})},R=(t,n)=>{let r=b();if(r){if(!r.events||r.events.length===0){C(e(`webhooks.eventsRequired`));return}x({...r,auth_config:{...r.auth_config,[t]:n}})}},te=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 I()}catch(e){C(e instanceof Error?e.message:String(e))}};return(()=>{var r=f(E),o=r.firstChild,[p,_]=s(o.nextSibling),y=p.nextSibling,C=y.firstChild,N=C.firstChild,F=C.nextSibling,z=y.nextSibling,[B,V]=s(z.nextSibling),H=B.nextSibling;return h(r,a(n,{get when(){return S()},get children(){var e=f(w);return h(e,S),e}}),p,_),h(N,()=>e(`webhooks.listTitle`)),F.$$click=()=>L(),h(F,()=>e(`webhooks.new`)),h(r,a(n,{get when(){return b()},children:r=>(()=>{var i=f(A),o=i.firstChild,d=o.nextSibling,p=d.firstChild,_=p.firstChild,[v,y]=s(_.nextSibling),b=v.nextSibling,S=p.nextSibling,C=S.firstChild,[w,T]=s(C.nextSibling),E=w.nextSibling,[j,M]=s(E.nextSibling),N=S.nextSibling,P=N.firstChild,[F,I]=s(P.nextSibling),L=F.nextSibling,z=L.firstChild,B=z.nextSibling,V=B.nextSibling,H=V.nextSibling,U=H.nextSibling,ne=N.nextSibling,[W,re]=s(ne.nextSibling),ie=W.nextSibling,[G,ae]=s(ie.nextSibling),K=G.nextSibling,[q,oe]=s(K.nextSibling),se=q.nextSibling,[J,ce]=s(se.nextSibling),Y=J.nextSibling,X=Y.firstChild,Z=X.nextSibling.nextSibling,[le,ue]=s(Z.nextSibling),Q=Y.nextSibling.firstChild,$=Q.nextSibling.nextSibling;return h(o,(()=>{var t=c(()=>!!r().id);return()=>t()?e(`webhooks.edit`):e(`webhooks.create`)})()),d.addEventListener(`submit`,te),h(p,()=>e(`webhooks.url`),v,y),b.$$input=e=>x({...r(),url:e.currentTarget.value}),h(S,()=>e(`webhooks.events`),w,T),h(S,a(ee,{get options(){return m()},get value(){return r().events??[]},onChange:e=>x({...r(),events:e}),get placeholder(){return e(`webhooks.selectEvents`)},get searchPlaceholder(){return e(`webhooks.searchEvents`)},get empty(){return e(`webhooks.noEvents`)}}),j,M),h(N,()=>e(`webhooks.authentication`),F,I),L.addEventListener(`change`,e=>x({...r(),auth_type:e.currentTarget.value,auth_config:{}})),h(z,()=>e(`webhooks.auth.none`)),h(B,()=>e(`webhooks.auth.bearer`)),h(V,()=>e(`webhooks.auth.basic`)),h(H,()=>e(`webhooks.auth.apiKey`)),h(U,()=>e(`webhooks.auth.hmac_sha256`)),h(d,a(n,{get when(){return r().auth_type===`bearer`},get children(){var n=f(D),i=n.firstChild,[a,o]=s(i.nextSibling),c=a.nextSibling;return h(n,()=>e(`webhooks.token`),a,o),c.$$input=e=>R(`token`,e.currentTarget.value),t(()=>l(c,`placeholder`,r().id?e(`webhooks.keepExisting`):``)),t(()=>u(c,`value`,r().auth_config.token??``)),g(),n}}),W,re),h(d,a(n,{get when(){return r().auth_type===`basic`},get children(){var n=f(O),i=n.firstChild,a=i.firstChild,[o,c]=s(a.nextSibling),d=o.nextSibling,p=i.nextSibling,m=p.firstChild,[_,v]=s(m.nextSibling),y=_.nextSibling;return h(i,()=>e(`webhooks.username`),o,c),d.$$input=e=>R(`username`,e.currentTarget.value),h(p,()=>e(`webhooks.password`),_,v),y.$$input=e=>R(`password`,e.currentTarget.value),t(()=>l(y,`placeholder`,r().id?e(`webhooks.keepExisting`):``)),t(()=>u(d,`value`,r().auth_config.username??``)),t(()=>u(y,`value`,r().auth_config.password??``)),g(),n}}),G,ae),h(d,a(n,{get when(){return r().auth_type===`api_key`},get children(){var n=f(O),i=n.firstChild,a=i.firstChild,[o,c]=s(a.nextSibling),d=o.nextSibling,p=i.nextSibling,m=p.firstChild,[_,v]=s(m.nextSibling),y=_.nextSibling;return h(i,()=>e(`webhooks.headerName`),o,c),d.$$input=e=>R(`headerName`,e.currentTarget.value),h(p,()=>e(`webhooks.apiKeyValue`),_,v),y.$$input=e=>R(`value`,e.currentTarget.value),t(()=>l(y,`placeholder`,r().id?e(`webhooks.keepExisting`):``)),t(()=>u(d,`value`,r().auth_config.headerName??``)),t(()=>u(y,`value`,r().auth_config.value??``)),g(),n}}),q,oe),h(d,a(n,{get when(){return r().auth_type===`hmac_sha256`},get children(){var n=f(k),i=n.firstChild,a=i.firstChild,[o,c]=s(a.nextSibling),d=o.nextSibling,p=i.nextSibling,m=p.firstChild,[_,v]=s(m.nextSibling),y=_.nextSibling;return h(i,()=>e(`webhooks.secret`),o,c),d.$$input=e=>R(`secret`,e.currentTarget.value),h(p,()=>e(`webhooks.signatureHeader`),_,v),y.$$input=e=>R(`signatureHeader`,e.currentTarget.value),t(t=>{var n=!r().id,i=r().id?e(`webhooks.keepExisting`):``;return n!==t.e&&u(d,`required`,t.e=n),i!==t.t&&l(d,`placeholder`,t.t=i),t},{e:void 0,t:void 0}),t(()=>u(d,`value`,r().auth_config.secret??``)),t(()=>u(y,`value`,r().auth_config.signatureHeader??`X-Webhook-Signature`)),g(),n}}),J,ce),X.addEventListener(`change`,e=>x({...r(),active:e.currentTarget.checked})),h(Y,()=>e(`webhooks.active`),le,ue),h(Q,()=>e(`common.save`)),$.$$click=()=>x(null),h($,()=>e(`common.cancel`)),t(()=>u(b,`value`,r().url??``)),t(()=>u(L,`value`,r().auth_type)),t(()=>u(X,`checked`,r().active??!0)),g(),i})()}),B,V),h(H,a(n,{get when(){return!P()},get fallback(){return(()=>{var t=f(j);return h(t,()=>e(`webhooks.loading`)),t})()},get children(){return a(n,{get when(){return d().length>0},get fallback(){return(()=>{var t=f(j);return h(t,()=>e(`webhooks.empty`)),t})()},get children(){var t=f(T),n=t.firstChild.firstChild,r=n.firstChild.firstChild,o=r.nextSibling,s=o.nextSibling,l=s.nextSibling,u=l.nextSibling,p=n.nextSibling;return h(r,()=>e(`webhooks.url`)),h(o,()=>e(`webhooks.events`)),h(s,()=>e(`webhooks.authentication`)),h(l,()=>e(`webhooks.active`)),h(u,()=>e(`common.actions`)),h(p,a(i,{get each(){return d()},children:t=>(()=>{var n=f(M),r=n.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling.firstChild,l=s.nextSibling.nextSibling;return h(r,()=>t.url),h(i,()=>(t.events??[]).join(`, `)),h(a,()=>e(`webhooks.auth.${t.auth_type??`hmac_sha256`}`)),h(o,(()=>{var n=c(()=>!!t.active);return()=>n()?e(`common.yes`):e(`common.no`)})()),s.$$click=()=>L(t),h(s,()=>e(`common.edit`)),l.$$click=()=>t.id&&void v.deleteWebhook(t.id).then(I),h(l,()=>e(`common.delete`)),g(),n})()})),t}})}})),g(),r})()}m([`click`,`input`]);export{P as WebhooksManager};
1
+ import{_ as e,d as t,i as n,p as r,r as i,s as a,v as o}from"./solid.8gBSxpeo.js";import{a as s,c,d as l,f as u,g as d,h as f,i as p,r as m,s as h,u as g}from"./web.DB4MaPY9.js";import{n as _}from"./i18n.CXvd48vy.js";import{n as v}from"./api.CNp-a9Z3.js";var y=f(`<div class=webhook-event-select__dropdown role=listbox><input class=input><div class=webhook-event-select__options>`),b=f(`<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=f(`<span class=muted>`),S=f(`<label class=webhook-event-option><input type=checkbox><span><!$><!/><small>`),C=f(`<button type=button class=webhook-event-chip><!$><!/> ×`),w=f(`<div class="notice notice--error">`),T=f(`<div class=table-scroll><table class=table><thead><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),E=f(`<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=f(`<label><!$><!/><input class=input type=password>`),O=f(`<div class=form-grid><label><!$><!/><input class=input></label><label><!$><!/><input class=input type=password>`),k=f(`<div class=form-grid><label><!$><!/><input class=input type=password></label><label><!$><!/><input class=input>`),A=f(`<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=f(`<p>`),M=f(`<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 ee(f){let[m,_]=r(!1),[v,w]=r(``),T;o(()=>{let t=e=>{T&&!T.contains(e.target)&&_(!1)};document.addEventListener(`mousedown`,t),e(()=>document.removeEventListener(`mousedown`,t))});let E=()=>f.options.filter(e=>`${e.label} ${e.value}`.toLowerCase().includes(v().toLowerCase())),D=e=>f.onChange(f.value.includes(e)?f.value.filter(t=>t!==e):[...f.value,e]);return(()=>{var e=p(b),r=e.firstChild,o=r.firstChild,O=r.nextSibling,[k,A]=s(O.nextSibling),j=k.nextSibling,M=T;return typeof M==`function`?d(M,e):T=e,r.$$click=()=>_(!m()),h(o,(()=>{var e=c(()=>f.value.length>0);return()=>e()?`${f.value.length} selecionado(s)`:f.placeholder})()),h(e,a(n,{get when(){return m()},get children(){var e=p(y),r=e.firstChild,o=r.nextSibling;return r.$$input=e=>w(e.currentTarget.value),h(o,a(n,{get when(){return E().length>0},get fallback(){return(()=>{var e=p(x);return h(e,()=>f.empty),e})()},get children(){return a(i,{get each(){return E()},children:e=>(()=>{var n=p(S),r=n.firstChild,i=r.nextSibling,a=i.firstChild,[o,c]=s(a.nextSibling),l=o.nextSibling;return r.addEventListener(`change`,()=>D(e.value)),h(i,()=>e.label,o,c),h(l,()=>e.value),t(()=>u(r,`checked`,f.value.includes(e.value))),n})()})}})),t(()=>l(r,`placeholder`,f.searchPlaceholder)),t(()=>u(r,`value`,v())),g(),e}}),k,A),h(j,a(i,{get each(){return f.value},children:e=>(()=>{var t=p(C),n=t.firstChild,[r,i]=s(n.nextSibling);return r.nextSibling,t.$$click=()=>D(e),h(t,()=>f.options.find(t=>t.value===e)?.label??e,r,i),g(),t})()})),t(()=>l(r,`aria-expanded`,m())),g(),e})()}function P(){let{t:e}=_(),[d,f]=r([]),[m,y]=r([]),[b,x]=r(null),[S,C]=r(``),[P,F]=r(!0),I=async()=>{F(!0);try{let[e,t]=await Promise.all([v.getWebhooks(),v.getWebhookEvents()]);f(e),y(t)}catch(e){C(e instanceof Error?e.message:String(e))}finally{F(!1)}};o(I);let L=e=>{if(!e){x(N());return}x({...e,events:[...e.events??[]],auth_type:e.auth_type??`hmac_sha256`,auth_config:{...e.auth_config??{}}})},R=(t,n)=>{let r=b();if(r){if(!r.events||r.events.length===0){C(e(`webhooks.eventsRequired`));return}x({...r,auth_config:{...r.auth_config,[t]:n}})}},te=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 I()}catch(e){C(e instanceof Error?e.message:String(e))}};return(()=>{var r=p(E),o=r.firstChild,[f,_]=s(o.nextSibling),y=f.nextSibling,C=y.firstChild,N=C.firstChild,F=C.nextSibling,z=y.nextSibling,[B,V]=s(z.nextSibling),H=B.nextSibling;return h(r,a(n,{get when(){return S()},get children(){var e=p(w);return h(e,S),e}}),f,_),h(N,()=>e(`webhooks.listTitle`)),F.$$click=()=>L(),h(F,()=>e(`webhooks.new`)),h(r,a(n,{get when(){return b()},children:r=>(()=>{var i=p(A),o=i.firstChild,d=o.nextSibling,f=d.firstChild,_=f.firstChild,[v,y]=s(_.nextSibling),b=v.nextSibling,S=f.nextSibling,C=S.firstChild,[w,T]=s(C.nextSibling),E=w.nextSibling,[j,M]=s(E.nextSibling),N=S.nextSibling,P=N.firstChild,[F,I]=s(P.nextSibling),L=F.nextSibling,z=L.firstChild,B=z.nextSibling,V=B.nextSibling,H=V.nextSibling,U=H.nextSibling,ne=N.nextSibling,[W,re]=s(ne.nextSibling),ie=W.nextSibling,[G,ae]=s(ie.nextSibling),K=G.nextSibling,[q,oe]=s(K.nextSibling),se=q.nextSibling,[J,ce]=s(se.nextSibling),Y=J.nextSibling,X=Y.firstChild,Z=X.nextSibling.nextSibling,[le,ue]=s(Z.nextSibling),Q=Y.nextSibling.firstChild,$=Q.nextSibling.nextSibling;return h(o,(()=>{var t=c(()=>!!r().id);return()=>t()?e(`webhooks.edit`):e(`webhooks.create`)})()),d.addEventListener(`submit`,te),h(f,()=>e(`webhooks.url`),v,y),b.$$input=e=>x({...r(),url:e.currentTarget.value}),h(S,()=>e(`webhooks.events`),w,T),h(S,a(ee,{get options(){return m()},get value(){return r().events??[]},onChange:e=>x({...r(),events:e}),get placeholder(){return e(`webhooks.selectEvents`)},get searchPlaceholder(){return e(`webhooks.searchEvents`)},get empty(){return e(`webhooks.noEvents`)}}),j,M),h(N,()=>e(`webhooks.authentication`),F,I),L.addEventListener(`change`,e=>x({...r(),auth_type:e.currentTarget.value,auth_config:{}})),h(z,()=>e(`webhooks.auth.none`)),h(B,()=>e(`webhooks.auth.bearer`)),h(V,()=>e(`webhooks.auth.basic`)),h(H,()=>e(`webhooks.auth.apiKey`)),h(U,()=>e(`webhooks.auth.hmac_sha256`)),h(d,a(n,{get when(){return r().auth_type===`bearer`},get children(){var n=p(D),i=n.firstChild,[a,o]=s(i.nextSibling),c=a.nextSibling;return h(n,()=>e(`webhooks.token`),a,o),c.$$input=e=>R(`token`,e.currentTarget.value),t(()=>l(c,`placeholder`,r().id?e(`webhooks.keepExisting`):``)),t(()=>u(c,`value`,r().auth_config.token??``)),g(),n}}),W,re),h(d,a(n,{get when(){return r().auth_type===`basic`},get children(){var n=p(O),i=n.firstChild,a=i.firstChild,[o,c]=s(a.nextSibling),d=o.nextSibling,f=i.nextSibling,m=f.firstChild,[_,v]=s(m.nextSibling),y=_.nextSibling;return h(i,()=>e(`webhooks.username`),o,c),d.$$input=e=>R(`username`,e.currentTarget.value),h(f,()=>e(`webhooks.password`),_,v),y.$$input=e=>R(`password`,e.currentTarget.value),t(()=>l(y,`placeholder`,r().id?e(`webhooks.keepExisting`):``)),t(()=>u(d,`value`,r().auth_config.username??``)),t(()=>u(y,`value`,r().auth_config.password??``)),g(),n}}),G,ae),h(d,a(n,{get when(){return r().auth_type===`api_key`},get children(){var n=p(O),i=n.firstChild,a=i.firstChild,[o,c]=s(a.nextSibling),d=o.nextSibling,f=i.nextSibling,m=f.firstChild,[_,v]=s(m.nextSibling),y=_.nextSibling;return h(i,()=>e(`webhooks.headerName`),o,c),d.$$input=e=>R(`headerName`,e.currentTarget.value),h(f,()=>e(`webhooks.apiKeyValue`),_,v),y.$$input=e=>R(`value`,e.currentTarget.value),t(()=>l(y,`placeholder`,r().id?e(`webhooks.keepExisting`):``)),t(()=>u(d,`value`,r().auth_config.headerName??``)),t(()=>u(y,`value`,r().auth_config.value??``)),g(),n}}),q,oe),h(d,a(n,{get when(){return r().auth_type===`hmac_sha256`},get children(){var n=p(k),i=n.firstChild,a=i.firstChild,[o,c]=s(a.nextSibling),d=o.nextSibling,f=i.nextSibling,m=f.firstChild,[_,v]=s(m.nextSibling),y=_.nextSibling;return h(i,()=>e(`webhooks.secret`),o,c),d.$$input=e=>R(`secret`,e.currentTarget.value),h(f,()=>e(`webhooks.signatureHeader`),_,v),y.$$input=e=>R(`signatureHeader`,e.currentTarget.value),t(t=>{var n=!r().id,i=r().id?e(`webhooks.keepExisting`):``;return n!==t.e&&u(d,`required`,t.e=n),i!==t.t&&l(d,`placeholder`,t.t=i),t},{e:void 0,t:void 0}),t(()=>u(d,`value`,r().auth_config.secret??``)),t(()=>u(y,`value`,r().auth_config.signatureHeader??`X-Webhook-Signature`)),g(),n}}),J,ce),X.addEventListener(`change`,e=>x({...r(),active:e.currentTarget.checked})),h(Y,()=>e(`webhooks.active`),le,ue),h(Q,()=>e(`common.save`)),$.$$click=()=>x(null),h($,()=>e(`common.cancel`)),t(()=>u(b,`value`,r().url??``)),t(()=>u(L,`value`,r().auth_type)),t(()=>u(X,`checked`,r().active??!0)),g(),i})()}),B,V),h(H,a(n,{get when(){return!P()},get fallback(){return(()=>{var t=p(j);return h(t,()=>e(`webhooks.loading`)),t})()},get children(){return a(n,{get when(){return d().length>0},get fallback(){return(()=>{var t=p(j);return h(t,()=>e(`webhooks.empty`)),t})()},get children(){var t=p(T),n=t.firstChild.firstChild,r=n.firstChild.firstChild,o=r.nextSibling,s=o.nextSibling,l=s.nextSibling,u=l.nextSibling,f=n.nextSibling;return h(r,()=>e(`webhooks.url`)),h(o,()=>e(`webhooks.events`)),h(s,()=>e(`webhooks.authentication`)),h(l,()=>e(`webhooks.active`)),h(u,()=>e(`common.actions`)),h(f,a(i,{get each(){return d()},children:t=>(()=>{var n=p(M),r=n.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling.firstChild,l=s.nextSibling.nextSibling;return h(r,()=>t.url),h(i,()=>(t.events??[]).join(`, `)),h(a,()=>e(`webhooks.auth.${t.auth_type??`hmac_sha256`}`)),h(o,(()=>{var n=c(()=>!!t.active);return()=>n()?e(`common.yes`):e(`common.no`)})()),s.$$click=()=>L(t),h(s,()=>e(`common.edit`)),l.$$click=()=>t.id&&void v.deleteWebhook(t.id).then(I),h(l,()=>e(`common.delete`)),g(),n})()})),t}})}})),g(),r})()}m([`click`,`input`]);export{P as WebhooksManager};
@@ -0,0 +1 @@
1
+ function e(e,t){return e&&t.startsWith(`/api/`)&&/\/api\/?$/.test(e)?`${e.replace(/\/$/,``)}${t.replace(/^\/api/,``)}`:`${e}${t}`}var t=class e extends Error{status;code;retryAfter;constructor(e,t,n,r){super(n??t),this.name=`ApiError`,this.status=e,this.code=t,this.retryAfter=r}static async fromResponse(t){let n=t.headers?.get?.(`Retry-After`)??``,r=Number(n),i=await t.json().catch(()=>null);return new e(t.status,i?.error??`Request failed`,i?.message??(i?.error?void 0:`Request failed: ${t.status}`),n&&Number.isFinite(r)?r:void 0)}},n=`okcms:rate-limited`,r=2e3,i=3e5,a=6e4,o=3e3;function s(e){typeof window<`u`&&typeof CustomEvent<`u`&&window.dispatchEvent(new CustomEvent(n,{detail:{retryAfter:e??null}}))}function c(e){return new Promise(t=>setTimeout(t,e))}function l(){if(typeof document<`u`){let e=document.querySelector(`meta[name="okcms-api-url"]`)?.getAttribute(`content`)?.trim();if(e)return e.startsWith(`/`),e.replace(/\/$/,``)}return``}var u=l(),d=new class{baseUrl;csrfToken=null;refreshPromise=null;proactiveRefreshBound=!1;csrfFetchedAt=0;refreshOwner=typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():Math.random().toString(36).slice(2);refreshLockKey=`okcms:auth:refresh-lock`;constructor(e=u){this.baseUrl=e}mediaUrl(e){if(/^(?:https?:)?\/\//i.test(e)||!this.baseUrl)return e;try{return new URL(e,`${this.baseUrl.replace(/\/$/,``)}/`).toString()}catch{return e}}async init(){try{await this.ensureCsrfToken()}catch{}}async checkSession(){try{return await this.request(`GET`,`/api/v1/auth/me`,void 0,void 0,{skipRateLimitRetry:!0}),`authenticated`}catch(e){return e instanceof t&&e.status===401?`unauthenticated`:`unavailable`}}async isLoggedIn(){return await this.checkSession()===`authenticated`}async ensureFreshSession(){let e=this.readSessionExpiry();if(!(!e||e-Date.now()>i))try{await this.refreshTokens()}catch{}}installProactiveRefresh(){typeof document>`u`||this.proactiveRefreshBound||(this.proactiveRefreshBound=!0,document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&this.ensureFreshSession()}))}readSessionExpiry(){if(typeof document>`u`)return null;let e=document.cookie.match(/(?:^|;\s*)session_expires_at=([^;]+)/);if(!e?.[1])return null;let t=Date.parse(decodeURIComponent(e[1]));return Number.isNaN(t)?null:t}async getTenantId(){try{return(await this.request(`GET`,`/api/v1/auth/me`)).tenantId??null}catch{return null}}async getUserLocale(){try{return(await this.request(`GET`,`/api/v1/users/me/locale`)).locale??`pt-BR`}catch{return`pt-BR`}}async setUserLocale(e){await this.request(`PUT`,`/api/v1/users/me/locale`,{locale:e})}async getMe(){return this.request(`GET`,`/api/v1/auth/me`)}async getAuditLogs(e=8){return this.request(`GET`,`/api/v1/audit-logs?limit=${e}`)}async getAuditLogConfig(){return this.request(`GET`,`/api/v1/audit-logs/config`)}async updateAuditLogConfig(e){return this.request(`PUT`,`/api/v1/audit-logs/config`,{retentionDays:e})}async listAuditLogs(e){let t=new URLSearchParams;return e?.limit&&t.set(`limit`,String(e.limit)),e?.action&&t.set(`action`,e.action),e?.resourceType&&t.set(`resourceType`,e.resourceType),this.request(`GET`,`/api/v1/audit-logs?${t.toString()}`)}async login(e){return await this.ensureCsrfToken(),await this.request(`POST`,`/api/v1/auth/login`,e)}async logout(){await this.request(`POST`,`/api/v1/auth/logout`,{}),this.csrfToken=null}async refreshTokens(){return this.refreshPromise||=this.refreshWithCrossTabLock().finally(()=>{this.refreshPromise=null}),this.refreshPromise}async refreshWithCrossTabLock(){if(typeof window>`u`||typeof localStorage>`u`){await this.request(`POST`,`/api/v1/auth/refresh`,{},void 0,{skipRefresh:!0});return}let e=this.readRefreshLock();if(e?.owner&&e.owner!==this.refreshOwner&&Number(e.expiresAt)>Date.now()){await this.waitForOtherTabRefresh(Number(e.expiresAt));return}if(!this.acquireRefreshLock()){await this.waitForOtherTabRefresh(Date.now()+o);return}try{await this.request(`POST`,`/api/v1/auth/refresh`,{},void 0,{skipRefresh:!0})}finally{this.releaseRefreshLock()}}readRefreshLock(){try{return JSON.parse(localStorage.getItem(this.refreshLockKey)??`null`)}catch{return null}}acquireRefreshLock(){try{return localStorage.setItem(this.refreshLockKey,JSON.stringify({owner:this.refreshOwner,expiresAt:Date.now()+o})),!0}catch{return!1}}releaseRefreshLock(){try{this.readRefreshLock()?.owner===this.refreshOwner&&localStorage.removeItem(this.refreshLockKey)}catch{}}async waitForOtherTabRefresh(e){let t=Math.max(0,Math.min(e,Date.now()+o)-Date.now());await new Promise(e=>{let n=!1,r=()=>{n||(n=!0,window.removeEventListener(`storage`,i),clearTimeout(a),e())},i=e=>{e.key===this.refreshLockKey&&r()};window.addEventListener(`storage`,i);let a=setTimeout(r,t)})}async sendWithRecovery(t,n,i,a,o){let l=e(this.baseUrl,n),u=async()=>{let e={...a};if((o?.bodyInit!==void 0||i!==void 0)&&(e[`Content-Type`]=`application/json`),![`GET`,`HEAD`,`OPTIONS`].includes(t.toUpperCase())){let t=await this.ensureCsrfToken();t&&(e[`x-csrf-token`]=t)}return fetch(l,{method:t,headers:e,credentials:`include`,body:o?.bodyInit??(i===void 0?void 0:JSON.stringify(i))})},d=await u();if(d.status===401&&!o?.skipRefresh&&!n.includes(`/auth/refresh`)&&!n.includes(`/auth/logout`)&&(await this.refreshTokens(),d=await u()),d.status===403&&!o?.skipCsrfRecovery){let e=``;try{e=(await(typeof d.clone==`function`?d.clone():d).json()).error??``}catch{}e===`CSRF_TOKEN_INVALID`&&(await this.ensureCsrfToken(!0),d=await u())}if(d.status===429&&!o?.skipRateLimitRetry){let e=d.headers?.get?.(`Retry-After`)??``,t=Number(e),n=(Number.isFinite(t)&&t>0?t:1)*1e3;s(Number.isFinite(t)&&t>0?t:1),n<=r&&(await c(n+50),d=await u())}return d}async request(e,n,r,i,a){let o=await this.sendWithRecovery(e,n,r,i,a);if(!o.ok)throw await t.fromResponse(o);return o.json()}async requestRaw(e,t,n,r,i){return this.sendWithRecovery(e,t,n,r,i)}async ensureCsrfToken(t=!1){let n=this.readCsrfCookie();if(!t&&n)return this.csrfToken=n,n;if(!t&&this.csrfToken&&Date.now()-this.csrfFetchedAt<a)return this.csrfToken;try{let t=await fetch(e(this.baseUrl,`/api/v1/auth/csrf`),{credentials:`include`,headers:{Accept:`application/json`}});if(!t.ok)return this.csrfToken;let n=await t.json();this.csrfToken=n.csrfToken??this.readCsrfCookie(),this.csrfFetchedAt=Date.now()}catch{}return this.csrfToken}readCsrfCookie(){if(typeof document<`u`){let e=document.cookie.match(/(?:^|;\s*)csrf_token=([^;]+)/);if(e?.[1])return e[1]}return this.csrfToken}async getContent(e){let t=new URLSearchParams;return e?.page&&t.set(`page`,String(e.page)),e?.limit&&t.set(`limit`,String(e.limit)),e?.type&&t.set(`type`,e.type),e?.status&&t.set(`status`,e.status),e?.search&&t.set(`search`,e.search),e?.includeAuthor&&t.set(`include`,`author`),this.request(`GET`,`/api/v1/content?${t.toString()}`)}async getContentById(e){return this.request(`GET`,`/api/v1/content/${e}`)}async getSingletonContent(e){let t=await this.request(`GET`,`/api/v1/content/singleton/${encodeURIComponent(e)}`);return`content`in t?t.content:t}async createContent(e){return this.request(`POST`,`/api/v1/content`,e)}async updateContent(e,t){return this.request(`PUT`,`/api/v1/content/${e}`,t)}async deleteContent(e){await this.request(`DELETE`,`/api/v1/content/${e}`)}async publishContent(e){let t=await this.request(`POST`,`/api/v1/content/${e}/publish`);return`content`in t?t.content:t}async unpublishContent(e){let t=await this.request(`POST`,`/api/v1/content/${e}/unpublish`);return`content`in t?t.content:t}async publishToggle(e,t){return t?this.unpublishContent(e):this.publishContent(e)}async getContentTypes(){return this.request(`GET`,`/api/v1/content-types`)}async createContentType(e){return this.request(`POST`,`/api/v1/content-types`,e)}async updateContentType(e,t){return this.request(`PUT`,`/api/v1/content-types/${e}`,t)}async deleteContentType(e){await this.request(`DELETE`,`/api/v1/content-types/${e}`)}async getTaxonomies(){return this.request(`GET`,`/api/v1/taxonomies`)}async createTaxonomy(e){return this.request(`POST`,`/api/v1/taxonomies`,e)}async attachTaxonomy(e,t){await this.request(`POST`,`/api/v1/taxonomies/${e}/attach`,{contentType:t})}async detachTaxonomy(e,t){await this.request(`POST`,`/api/v1/taxonomies/${e}/detach`,{contentType:t})}async deleteTaxonomy(e){await this.request(`DELETE`,`/api/v1/taxonomies/${e}`)}async getTaxonomyTerms(e){return this.request(`GET`,`/api/v1/taxonomies/${encodeURIComponent(e)}/terms`)}async createTaxonomyTerm(e,t){return this.request(`POST`,`/api/v1/taxonomies/${encodeURIComponent(e)}/terms`,t)}async updateTaxonomyTerm(e,t,n){return this.request(`PUT`,`/api/v1/taxonomies/${encodeURIComponent(e)}/terms/${t}`,n)}async deleteTaxonomyTerm(e,t){await this.request(`DELETE`,`/api/v1/taxonomies/${encodeURIComponent(e)}/terms/${t}`)}async getCategories(){return this.request(`GET`,`/api/v1/categories`)}async createCategory(e){return this.request(`POST`,`/api/v1/categories`,e)}async updateCategory(e,t){return this.request(`PUT`,`/api/v1/categories/${e}`,t)}async deleteCategory(e){await this.request(`DELETE`,`/api/v1/categories/${e}`)}async getTags(){return this.request(`GET`,`/api/v1/tags`)}async createTag(e){return this.request(`POST`,`/api/v1/tags`,e)}async updateTag(e,t){return this.request(`PUT`,`/api/v1/tags/${e}`,t)}async deleteTag(e){await this.request(`DELETE`,`/api/v1/tags/${e}`)}async getMenus(){return this.request(`GET`,`/api/v1/menus`)}async createMenu(e){return this.request(`POST`,`/api/v1/menus`,e)}async updateMenu(e,t){return this.request(`PUT`,`/api/v1/menus/${e}`,t)}async deleteMenu(e){await this.request(`DELETE`,`/api/v1/menus/${e}`)}async getFieldGroups(e){if(e?.type){let t=new URLSearchParams({type:e.type});for(let[n,r]of Object.entries(e))n!==`type`&&r&&t.set(n,r);return this.request(`GET`,`/api/v1/field-groups?${t.toString()}`)}return this.request(`GET`,`/api/v1/field-groups`)}async getFieldGroup(e){return this.request(`GET`,`/api/v1/field-groups/${e}`)}async exportFieldGroup(e){let t=await this.requestRaw(`GET`,`/api/v1/field-groups/${e}/export`);if(!t.ok)throw Error(await t.text());return t.blob()}async importFieldGroups(e){return this.request(`POST`,`/api/v1/field-groups/import`,e)}async createFieldGroup(e){return this.request(`POST`,`/api/v1/field-groups`,e)}async updateFieldGroup(e,t){return this.request(`PUT`,`/api/v1/field-groups/${e}`,t)}async deleteFieldGroup(e){await this.request(`DELETE`,`/api/v1/field-groups/${e}`)}async getFieldTypes(e){let t=e?`?category=${encodeURIComponent(e)}`:``;return this.request(`GET`,`/api/v1/field-types${t}`)}async getWebhooks(){return this.request(`GET`,`/api/v1/webhooks`)}async getWebhookEvents(){return(await this.request(`GET`,`/api/v1/webhooks/events`)).data}async createWebhook(e){return this.request(`POST`,`/api/v1/webhooks`,e)}async updateWebhook(e,t){return this.request(`PUT`,`/api/v1/webhooks/${e}`,t)}async deleteWebhook(e){await this.request(`DELETE`,`/api/v1/webhooks/${e}`)}async listMedia(e){let t=new URLSearchParams;return e?.page&&t.set(`page`,String(e.page)),e?.limit&&t.set(`limit`,String(e.limit)),e?.mimeType&&t.set(`mimeType`,e.mimeType),e?.search&&t.set(`search`,e.search),this.request(`GET`,`/api/v1/media?${t.toString()}`)}async getMedia(e){return this.request(`GET`,`/api/v1/media/${e}`)}async uploadMedia(e,n){let r=new FormData;r.append(`file`,e),n?.alt&&r.append(`alt`,n.alt),n?.caption&&r.append(`caption`,n.caption);let i=await this.sendWithRecovery(`POST`,`/api/v1/media/upload`,void 0,{},{bodyInit:r});if(!i.ok)throw await t.fromResponse(i);return i.json()}async updateMedia(e,t){return this.request(`PUT`,`/api/v1/media/${e}`,t)}async replaceMediaFile(e,n){let r=new FormData;r.append(`file`,n);let i=await this.sendWithRecovery(`PUT`,`/api/v1/media/${e}/file`,void 0,{},{bodyInit:r});if(!i.ok)throw await t.fromResponse(i);return i.json()}async deleteMedia(e){await this.request(`DELETE`,`/api/v1/media/${e}`)}async listUsers(e){let t=new URLSearchParams;return e?.page&&t.set(`page`,String(e.page)),e?.limit&&t.set(`limit`,String(e.limit)),e?.search&&t.set(`search`,e.search),e?.status&&t.set(`status`,e.status),this.request(`GET`,`/api/v1/users?${t.toString()}`)}async getUser(e){return this.request(`GET`,`/api/v1/users/${e}`)}async createUser(e){return this.request(`POST`,`/api/v1/users`,e)}async updateUser(e,t){return this.request(`PUT`,`/api/v1/users/${e}`,t)}async deleteUser(e){await this.request(`DELETE`,`/api/v1/users/${e}`)}async setUserPassword(e,t){await this.request(`PUT`,`/api/v1/users/${e}/password`,{password:t})}async assignRole(e,t){return this.request(`POST`,`/api/v1/users/${e}/roles`,{roleId:t})}async removeRole(e,t){return this.request(`DELETE`,`/api/v1/users/${e}/roles/${t}`)}async listRoles(){return this.request(`GET`,`/api/v1/roles`)}async createRole(e){return this.request(`POST`,`/api/v1/roles`,e)}async updateRole(e,t){return this.request(`PUT`,`/api/v1/roles/${e}`,t)}async deleteRole(e){await this.request(`DELETE`,`/api/v1/roles/${e}`)}async listTenants(e){let t=new URLSearchParams;return e?.page&&t.set(`page`,String(e.page)),e?.limit&&t.set(`limit`,String(e.limit)),e?.search&&t.set(`search`,e.search),this.request(`GET`,`/api/v1/tenants?${t.toString()}`)}async createTenant(e){return this.request(`POST`,`/api/v1/tenants`,e)}async updateTenant(e,t){return this.request(`PUT`,`/api/v1/tenants/${e}`,t)}async deleteTenant(e){await this.request(`DELETE`,`/api/v1/tenants/${e}`)}async getSettings(e){let t=e?`?group=${encodeURIComponent(e)}`:``;return this.request(`GET`,`/api/v1/settings${t}`)}async updateSettings(e){await this.request(`PUT`,`/api/v1/settings`,e)}async healthCheck(){return this.request(`GET`,`/health`)}async getThemes(){return(await this.request(`GET`,`/api/v1/themes`)).map(e=>({id:String(e.id??``),name:String(e.name??``),version:e.version?String(e.version):void 0,status:String(e.status??`INSTALLED`),config:e.config??{},manifest:e.manifest??null}))}async syncThemes(){return(await this.request(`POST`,`/api/v1/themes/sync`)).map(e=>({id:String(e.id??``),name:String(e.name??``),version:e.version?String(e.version):void 0,status:String(e.status??`INSTALLED`),config:e.config??{},manifest:e.manifest??null}))}async activateTheme(e){return this.request(`POST`,`/api/v1/themes/${e}/activate`)}async deactivateTheme(e){return this.request(`POST`,`/api/v1/themes/${e}/deactivate`)}async updateThemeConfig(e,t){return this.request(`PATCH`,`/api/v1/themes/${e}/config`,{config:t})}async installTheme(e){return this.request(`POST`,`/api/v1/themes/install`,e)}async uninstallTheme(e){await this.request(`DELETE`,`/api/v1/themes/${e}`)}async getPlugins(){return(await this.request(`GET`,`/api/v1/plugins`)).map(e=>({id:String(e.id??``),name:String(e.name??``),version:String(e.version??``),status:String(e.status??`INSTALLED`),enabled:e.enabled===!0,manifest:e.manifest??null}))}async activatePlugin(e,t){return this.request(`POST`,`/api/v1/plugins/${e}/activate`,{tenantId:t})}async deactivatePlugin(e,t){return this.request(`POST`,`/api/v1/plugins/${e}/deactivate`,{tenantId:t})}async uninstallPlugin(e){await this.request(`DELETE`,`/api/v1/plugins/${e}`)}async getPluginsRuntime(){return this.request(`GET`,`/api/v1/plugins/runtime`)}};export{d as n,n as t};
@@ -1 +1 @@
1
- var e={appName:`OkCMS`,admin:`الإدارة`,nav:{dashboard:`لوحة التحكم`,content:`المحتوى`,media:`الوسائط`,users:`المستخدمون`,menus:`القوائم`,settings:`الإعدادات`,plugins:`الإضافات`,themes:`القوالب`},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:`تسجيل الدخول`,subtitle:`سجّل دخولك إلى حسابك`,email:`البريد الإلكتروني`,password:`كلمة المرور`,submit:`دخول`,failed:`البريد الإلكتروني أو كلمة المرور غير صالحة`},c={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:`اللغة`},l={justNow:`الآن`,minAgo:`دقيقة مضت`,ago:`مضت`,published:`منشور`,updated:`تم التحديث`,newUser:`مستخدم جديد: {name}`},u={mainMenu:`القائمة الرئيسية`,notifications:`الإشعارات`,notificationsEmpty:`لا يوجد نشاط حديث`,settings:`الإعدادات`,toggleSidebar:`تبديل الشريط الجانبي`,userMenu:`قائمة المستخدم`},d={copyright:`© 2026 OkCMS. جميع الحقوق محفوظة.`,links:`الروابط`,website:`الموقع`,github:`GitHub`,docs:`التوثيق`,community:`المجتمع`,poweredBy:`مدعوم من Oktis Works`},f={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>`}}},p={title:`خيارات الشاشة`,label:`خيارات الشاشة`,showOnScreen:`إظهار على الشاشة`},m={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,login:s,common:c,activity:l,adminBar:u,footer:d,helpTabs:f,screenOptions:p};export{l as activity,u as adminBar,c as common,n as content,t as dashboard,m as default,d as footer,f as helpTabs,e as layout,s as login,i as media,r as menus,p as screenOptions,o as settings,a as users};
1
+ var e={appName:`OkCMS`,admin:`الإدارة`,nav:{dashboard:`لوحة التحكم`,content:`المحتوى`,media:`الوسائط`,users:`المستخدمون`,menus:`القوائم`,settings:`الإعدادات`,plugins:`الإضافات`,themes:`القوالب`},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={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};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,h 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,a as users};
@@ -1 +1 @@
1
- import{a as e,h as t,n,o as r,p as i,s as a,t as o}from"./solid.8gBSxpeo.js";import{l as s,o as c}from"./web.DwNv8rLL.js";var l=Symbol(`store-raw`),u=Symbol(`store-node`),d=Symbol(`store-has`),f=Symbol(`store-self`);function p(e){let t=e[o];if(!t&&(Object.defineProperty(e,o,{value:t=new Proxy(e,x)}),!Array.isArray(e))){let n=Object.keys(e),r=Object.getOwnPropertyDescriptors(e),i=Object.getPrototypeOf(e),a=i!==null&&typeof e==`object`&&!!e&&!Array.isArray(e)&&i!==Object.prototype;if(a){let e=Object.getOwnPropertyDescriptors(i);n.push(...Object.keys(e)),Object.assign(r,e)}for(let i=0,o=n.length;i<o;i++){let o=n[i];a&&o===`constructor`||r[o].get&&Object.defineProperty(e,o,{configurable:!0,enumerable:r[o].enumerable,get:r[o].get.bind(t)})}}return t}function m(e){let t;return typeof e==`object`&&!!e&&(e[o]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function h(e,t=new Set){let n,r,i,a;if(n=e!=null&&e[l])return n;if(!m(e)||t.has(e))return e;if(Array.isArray(e)){Object.isFrozen(e)?e=e.slice(0):t.add(e);for(let n=0,a=e.length;n<a;n++)i=e[n],(r=h(i,t))!==i&&(e[n]=r)}else{Object.isFrozen(e)?e=Object.assign({},e):t.add(e);let n=Object.keys(e),o=Object.getOwnPropertyDescriptors(e);for(let s=0,c=n.length;s<c;s++)a=n[s],!o[a].get&&(i=e[a],(r=h(i,t))!==i&&(e[a]=r))}return e}function g(e,t){let n=e[t];return n||Object.defineProperty(e,t,{value:n=Object.create(null)}),n}function _(e,t,n){if(e[t])return e[t];let[r,a]=i(n,{equals:!1,internal:!0});return r.$=a,e[t]=r}function v(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===o||t===u?n:(delete n.value,delete n.writable,n.get=()=>e[o][t],n)}function y(e){t()&&_(g(e,u),f)()}function b(e){return y(e),Reflect.ownKeys(e)}var x={get(e,r,i){if(r===l)return e;if(r===o)return i;if(r===n)return y(e),i;let a=g(e,u),s=a[r],c=s?s():e[r];if(r===u||r===d||r===`__proto__`)return c;if(!s){let n=Object.getOwnPropertyDescriptor(e,r);t()&&(typeof c!=`function`||Object.prototype.hasOwnProperty.call(e,r))&&!(n&&n.get)&&(c=_(a,r,c)())}return m(c)?p(c):c},has(e,r){return r===l||r===o||r===n||r===u||r===d||r===`__proto__`||(t()&&_(g(e,d),r)(),r in e)},set(){return!0},deleteProperty(){return!0},ownKeys:b,getOwnPropertyDescriptor:v};function S(e,t,n,r=!1){if(t===`__proto__`||!r&&e[t]===n)return;let i=e[t],a=e.length;n===void 0?(delete e[t],e[d]&&e[d][t]&&i!==void 0&&e[d][t].$()):(e[t]=n,e[d]&&e[d][t]&&i===void 0&&e[d][t].$());let o=g(e,u),s;if((s=_(o,t,i))&&s.$(()=>n),Array.isArray(e)&&e.length!==a){for(let t=e.length;t<a;t++)(s=o[t])&&s.$();(s=_(o,`length`,a))&&s.$(e.length)}(s=o[f])&&s.$()}function C(e,t){let n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];w(i)||S(e,i,t[i])}}function w(e){return e===`__proto__`||e===`constructor`||e===`prototype`}function T(e,t){if(typeof t==`function`&&(t=t(e)),t=h(t),Array.isArray(t)){if(e===t)return;let n=0,r=t.length;for(;n<r;n++){let r=t[n];e[n]!==r&&S(e,n,r)}S(e,`length`,r)}else C(e,t)}function E(e,t,n=[]){let r,i=e;if(t.length>1){r=t.shift();let a=typeof r,o=Array.isArray(e);if(a===`string`&&(r===`__proto__`||t.length>1&&w(r)))return;if(Array.isArray(r)){for(let i=0;i<r.length;i++)E(e,[r[i]].concat(t),n);return}if(o&&a===`function`){for(let i=0;i<e.length;i++)r(e[i],i)&&E(e,[i].concat(t),n);return}if(o&&a===`object`){let{from:i=0,to:a=e.length-1,by:o=1}=r;for(let r=i;r<=a;r+=o)E(e,[r].concat(t),n);return}if(t.length>1){E(e[r],t,[r].concat(n));return}i=e[r],n=[r].concat(n)}let a=t[0];typeof a==`function`&&(a=a(i,n),a===i)||(r!==void 0||a!=null)&&(a=h(a),r===void 0||m(i)&&m(a)&&!Array.isArray(a)?C(i,a):S(e,r,a))}function D(...[e,t]){let n=h(e||{}),i=Array.isArray(n),a=p(n);function o(...e){r(()=>{i&&e.length===1?T(n,e[0]):E(n,e)})}return[a,o]}var O=Symbol(`store-root`);function k(e){return e===`__proto__`||e===`constructor`||e===`prototype`}function A(e,t,n,r,i){if(k(n))return;let a=t[n];if(e===a)return;let o=Array.isArray(e);if(n!==O&&(!m(e)||!m(a)||o!==Array.isArray(a)||i&&e[i]!==a[i])){S(t,n,e);return}if(o){if(e.length&&a.length&&(!r||i&&e[0]&&e[0][i]!=null)){let t,n,o,s,c,l,u,d;for(o=0,s=Math.min(a.length,e.length);o<s&&(a[o]===e[o]||i&&a[o]&&e[o]&&a[o][i]&&a[o][i]===e[o][i]);o++)A(e[o],a,o,r,i);let f=Array(e.length),p=new Map;for(s=a.length-1,c=e.length-1;s>=o&&c>=o&&(a[s]===e[c]||i&&a[s]&&e[c]&&a[s][i]&&a[s][i]===e[c][i]);s--,c--)f[c]=a[s];if(o>c||o>s){for(n=o;n<=c;n++)S(a,n,e[n]);for(;n<e.length;n++)S(a,n,f[n]),A(e[n],a,n,r,i);a.length>e.length&&S(a,`length`,e.length);return}for(u=Array(c+1),n=c;n>=o;n--)l=e[n],d=i&&l?l[i]:l,t=p.get(d),u[n]=t===void 0?-1:t,p.set(d,n);for(t=o;t<=s;t++)l=a[t],d=i&&l?l[i]:l,n=p.get(d),n!==void 0&&n!==-1&&(f[n]=a[t],n=u[n],p.set(d,n));for(n=o;n<e.length;n++)n in f?(S(a,n,f[n]),A(e[n],a,n,r,i)):S(a,n,e[n])}else for(let t=0,n=e.length;t<n;t++)A(e[t],a,t,r,i);a.length>e.length&&S(a,`length`,e.length);return}let s=Object.keys(e);for(let t=0,n=s.length;t<n;t++)k(s[t])||A(e[s[t]],a,s[t],r,i);let c=Object.keys(a);for(let t=0,n=c.length;t<n;t++)e[c[t]]===void 0&&S(a,c[t],void 0)}function j(e,t={}){let{merge:n,key:r=`id`}=t,i=h(e);return e=>{if(!m(e)||!m(i))return i;let t=A(i,{[O]:e},O,n,r);return t===void 0?e:t}}var M=new WeakMap,N=t=>(n,r,i,{client:o})=>{if(!t.hasAttribute(`ssr`))return;let l=o!==`only`,u,d={};if(Object.keys(i).length>0){if(o!==`only`){let e=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,e=>e===t?NodeFilter.FILTER_SKIP:e.nodeName===`ASTRO-SLOT`?NodeFilter.FILTER_ACCEPT:e.nodeName===`ASTRO-ISLAND`?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP);for(;u=e.nextNode();)d[u.getAttribute(`name`)||`default`]=u}for(let[e,t]of Object.entries(i))d[e]||(d[e]=document.createElement(`astro-slot`),e!=="default"&&d[e].setAttribute(`name`,e),d[e].innerHTML=t)}let{default:f,...p}=d,m=t.dataset.solidRenderId;if(M.has(t))M.get(t)(j({...r,...p,children:f}));else{let[i,o]=D({...r,...p,children:f});M.set(t,o);let u=()=>{let t=()=>a(n,i);return l?a(e,{get children(){return t()}}):t()},d;l?d=c(u,t,{renderId:m}):(t.innerHTML=``,d=s(u,t)),t.addEventListener(`astro:unmount`,()=>d(),{once:!0})}};export{N as default};
1
+ import{a as e,h as t,n,o as r,p as i,s as a,t as o}from"./solid.8gBSxpeo.js";import{l as s,o as c}from"./web.DB4MaPY9.js";var l=Symbol(`store-raw`),u=Symbol(`store-node`),d=Symbol(`store-has`),f=Symbol(`store-self`);function p(e){let t=e[o];if(!t&&(Object.defineProperty(e,o,{value:t=new Proxy(e,x)}),!Array.isArray(e))){let n=Object.keys(e),r=Object.getOwnPropertyDescriptors(e),i=Object.getPrototypeOf(e),a=i!==null&&typeof e==`object`&&!!e&&!Array.isArray(e)&&i!==Object.prototype;if(a){let e=Object.getOwnPropertyDescriptors(i);n.push(...Object.keys(e)),Object.assign(r,e)}for(let i=0,o=n.length;i<o;i++){let o=n[i];a&&o===`constructor`||r[o].get&&Object.defineProperty(e,o,{configurable:!0,enumerable:r[o].enumerable,get:r[o].get.bind(t)})}}return t}function m(e){let t;return typeof e==`object`&&!!e&&(e[o]||!(t=Object.getPrototypeOf(e))||t===Object.prototype||Array.isArray(e))}function h(e,t=new Set){let n,r,i,a;if(n=e!=null&&e[l])return n;if(!m(e)||t.has(e))return e;if(Array.isArray(e)){Object.isFrozen(e)?e=e.slice(0):t.add(e);for(let n=0,a=e.length;n<a;n++)i=e[n],(r=h(i,t))!==i&&(e[n]=r)}else{Object.isFrozen(e)?e=Object.assign({},e):t.add(e);let n=Object.keys(e),o=Object.getOwnPropertyDescriptors(e);for(let s=0,c=n.length;s<c;s++)a=n[s],!o[a].get&&(i=e[a],(r=h(i,t))!==i&&(e[a]=r))}return e}function g(e,t){let n=e[t];return n||Object.defineProperty(e,t,{value:n=Object.create(null)}),n}function _(e,t,n){if(e[t])return e[t];let[r,a]=i(n,{equals:!1,internal:!0});return r.$=a,e[t]=r}function v(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===o||t===u?n:(delete n.value,delete n.writable,n.get=()=>e[o][t],n)}function y(e){t()&&_(g(e,u),f)()}function b(e){return y(e),Reflect.ownKeys(e)}var x={get(e,r,i){if(r===l)return e;if(r===o)return i;if(r===n)return y(e),i;let a=g(e,u),s=a[r],c=s?s():e[r];if(r===u||r===d||r===`__proto__`)return c;if(!s){let n=Object.getOwnPropertyDescriptor(e,r);t()&&(typeof c!=`function`||Object.prototype.hasOwnProperty.call(e,r))&&!(n&&n.get)&&(c=_(a,r,c)())}return m(c)?p(c):c},has(e,r){return r===l||r===o||r===n||r===u||r===d||r===`__proto__`||(t()&&_(g(e,d),r)(),r in e)},set(){return!0},deleteProperty(){return!0},ownKeys:b,getOwnPropertyDescriptor:v};function S(e,t,n,r=!1){if(t===`__proto__`||!r&&e[t]===n)return;let i=e[t],a=e.length;n===void 0?(delete e[t],e[d]&&e[d][t]&&i!==void 0&&e[d][t].$()):(e[t]=n,e[d]&&e[d][t]&&i===void 0&&e[d][t].$());let o=g(e,u),s;if((s=_(o,t,i))&&s.$(()=>n),Array.isArray(e)&&e.length!==a){for(let t=e.length;t<a;t++)(s=o[t])&&s.$();(s=_(o,`length`,a))&&s.$(e.length)}(s=o[f])&&s.$()}function C(e,t){let n=Object.keys(t);for(let r=0;r<n.length;r+=1){let i=n[r];w(i)||S(e,i,t[i])}}function w(e){return e===`__proto__`||e===`constructor`||e===`prototype`}function T(e,t){if(typeof t==`function`&&(t=t(e)),t=h(t),Array.isArray(t)){if(e===t)return;let n=0,r=t.length;for(;n<r;n++){let r=t[n];e[n]!==r&&S(e,n,r)}S(e,`length`,r)}else C(e,t)}function E(e,t,n=[]){let r,i=e;if(t.length>1){r=t.shift();let a=typeof r,o=Array.isArray(e);if(a===`string`&&(r===`__proto__`||t.length>1&&w(r)))return;if(Array.isArray(r)){for(let i=0;i<r.length;i++)E(e,[r[i]].concat(t),n);return}if(o&&a===`function`){for(let i=0;i<e.length;i++)r(e[i],i)&&E(e,[i].concat(t),n);return}if(o&&a===`object`){let{from:i=0,to:a=e.length-1,by:o=1}=r;for(let r=i;r<=a;r+=o)E(e,[r].concat(t),n);return}if(t.length>1){E(e[r],t,[r].concat(n));return}i=e[r],n=[r].concat(n)}let a=t[0];typeof a==`function`&&(a=a(i,n),a===i)||(r!==void 0||a!=null)&&(a=h(a),r===void 0||m(i)&&m(a)&&!Array.isArray(a)?C(i,a):S(e,r,a))}function D(...[e,t]){let n=h(e||{}),i=Array.isArray(n),a=p(n);function o(...e){r(()=>{i&&e.length===1?T(n,e[0]):E(n,e)})}return[a,o]}var O=Symbol(`store-root`);function k(e){return e===`__proto__`||e===`constructor`||e===`prototype`}function A(e,t,n,r,i){if(k(n))return;let a=t[n];if(e===a)return;let o=Array.isArray(e);if(n!==O&&(!m(e)||!m(a)||o!==Array.isArray(a)||i&&e[i]!==a[i])){S(t,n,e);return}if(o){if(e.length&&a.length&&(!r||i&&e[0]&&e[0][i]!=null)){let t,n,o,s,c,l,u,d;for(o=0,s=Math.min(a.length,e.length);o<s&&(a[o]===e[o]||i&&a[o]&&e[o]&&a[o][i]&&a[o][i]===e[o][i]);o++)A(e[o],a,o,r,i);let f=Array(e.length),p=new Map;for(s=a.length-1,c=e.length-1;s>=o&&c>=o&&(a[s]===e[c]||i&&a[s]&&e[c]&&a[s][i]&&a[s][i]===e[c][i]);s--,c--)f[c]=a[s];if(o>c||o>s){for(n=o;n<=c;n++)S(a,n,e[n]);for(;n<e.length;n++)S(a,n,f[n]),A(e[n],a,n,r,i);a.length>e.length&&S(a,`length`,e.length);return}for(u=Array(c+1),n=c;n>=o;n--)l=e[n],d=i&&l?l[i]:l,t=p.get(d),u[n]=t===void 0?-1:t,p.set(d,n);for(t=o;t<=s;t++)l=a[t],d=i&&l?l[i]:l,n=p.get(d),n!==void 0&&n!==-1&&(f[n]=a[t],n=u[n],p.set(d,n));for(n=o;n<e.length;n++)n in f?(S(a,n,f[n]),A(e[n],a,n,r,i)):S(a,n,e[n])}else for(let t=0,n=e.length;t<n;t++)A(e[t],a,t,r,i);a.length>e.length&&S(a,`length`,e.length);return}let s=Object.keys(e);for(let t=0,n=s.length;t<n;t++)k(s[t])||A(e[s[t]],a,s[t],r,i);let c=Object.keys(a);for(let t=0,n=c.length;t<n;t++)e[c[t]]===void 0&&S(a,c[t],void 0)}function j(e,t={}){let{merge:n,key:r=`id`}=t,i=h(e);return e=>{if(!m(e)||!m(i))return i;let t=A(i,{[O]:e},O,n,r);return t===void 0?e:t}}var M=new WeakMap,N=t=>(n,r,i,{client:o})=>{if(!t.hasAttribute(`ssr`))return;let l=o!==`only`,u,d={};if(Object.keys(i).length>0){if(o!==`only`){let e=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,e=>e===t?NodeFilter.FILTER_SKIP:e.nodeName===`ASTRO-SLOT`?NodeFilter.FILTER_ACCEPT:e.nodeName===`ASTRO-ISLAND`?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP);for(;u=e.nextNode();)d[u.getAttribute(`name`)||`default`]=u}for(let[e,t]of Object.entries(i))d[e]||(d[e]=document.createElement(`astro-slot`),e!=="default"&&d[e].setAttribute(`name`,e),d[e].innerHTML=t)}let{default:f,...p}=d,m=t.dataset.solidRenderId;if(M.has(t))M.get(t)(j({...r,...p,children:f}));else{let[i,o]=D({...r,...p,children:f});M.set(t,o);let u=()=>{let t=()=>a(n,i);return l?a(e,{get children(){return t()}}):t()},d;l?d=c(u,t,{renderId:m}):(t.innerHTML=``,d=s(u,t)),t.addEventListener(`astro:unmount`,()=>d(),{once:!0})}};export{N as default};
@@ -1 +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`},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:`Iniciar Sesión`,subtitle:`Accede a tu cuenta`,email:`Email`,password:`Contraseña`,submit:`Entrar`,failed:`Correo o contraseña no válidos`},c={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`},l={justNow:`ahora mismo`,minAgo:`minutos atrás`,ago:`atrás`,published:`Publicado`,updated:`Actualizado`,newUser:`Nuevo usuario: {name}`},u={mainMenu:`Menú principal`,notifications:`Notificaciones`,notificationsEmpty:`Sin actividad reciente`,settings:`Ajustes`,toggleSidebar:`Alternar barra lateral`,userMenu:`Menú de usuario`},d={copyright:`© 2026 OkCMS. Todos los derechos reservados.`,links:`Enlaces`,website:`Sitio web`,github:`GitHub`,docs:`Documentación`,community:`Comunidad`,poweredBy:`Desarrollado con Oktis Works`},f={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>`}}},p={title:`Opciones de pantalla`,label:`Opciones de pantalla`,showOnScreen:`Mostrar en pantalla`},m={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,login:s,common:c,activity:l,adminBar:u,footer:d,helpTabs:f,screenOptions:p};export{l as activity,u as adminBar,c as common,n as content,t as dashboard,m as default,d as footer,f as helpTabs,e as layout,s as login,i as media,r as menus,p as screenOptions,o as settings,a as users};
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`},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={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};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,h 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,a as users};
@@ -1 +1 @@
1
- import{d as e,i as t,p as n,r,s as i,v as a}from"./solid.8gBSxpeo.js";import{a as o,c as s,d as c,i as l,m as u,n as d,r as f,s as p}from"./web.DwNv8rLL.js";import{t as m}from"./api.D7bs6UOp.js";import"./src.BJaHBCQK.js";var h=u(`<a class=sidebar__link><!$><!/> <!$><!/>`),g=u(`<span aria-hidden=true>`);function _(t){let n=()=>t.extensions.menuPages.filter(e=>t.can(e.capability??`read`));return i(r,{get each(){return n()},children:t=>(()=>{var n=l(h),r=n.firstChild,[i,a]=o(r.nextSibling),u=i.nextSibling.nextSibling,[d,f]=o(u.nextSibling);return p(n,(()=>{var e=s(()=>!!t.icon);return()=>e()?(()=>{var e=l(g);return p(e,()=>t.icon),e})():null})(),i,a),p(n,()=>t.label,d,f),e(()=>c(n,`href`,`/plugins/${t.slug}`)),n})()})}f([`click`]);var v=u(`<div class=sidebar-plugins data-extensions=sidebar><!$><!/><!$><!/>`),y=u(`<div><span>`);function b(){return{menuPages:[],submenuPages:[],dashboardWidgets:[],metaBoxes:[],notices:[],columns:{},columnRenderers:{},actionLinks:[]}}function x(e){let t=b();for(let n of e){if(n.status!==`ACTIVE`&&n.status!==`ACTIVATED`)continue;let e=n.manifest?.admin;if(!e)continue;let r=n.slug??n.name;t.menuPages.push(...e.menuPages?.map(e=>({...e,slug:e.slug.startsWith(`${r}/`)?e.slug:`${r}/${e.slug}`}))??[]),t.dashboardWidgets.push(...e.dashboardWidgets?.map(e=>({...e,id:e.id.includes(`:`)?e.id:`${r}:${e.id}`,componentId:e.componentId.includes(`:`)?e.componentId:`${r}:${e.componentId}`}))??[]),t.notices.push(...e.notices?.map(e=>({...e,id:e.id.includes(`:`)?e.id:`${r}:${e.id}`}))??[])}return t}function S(){let[s,u]=n(b());a(async()=>{try{let e=await m.getPlugins();u(x(e))}catch{}});let f=()=>!0;return i(t,{get when(){return s().menuPages.length>0},get children(){var t=l(v),n=t.firstChild,[a,u]=o(n.nextSibling),m=a.nextSibling,[h,g]=o(m.nextSibling);return p(t,i(r,{get each(){return s().notices},children:t=>(()=>{var n=l(y),r=n.firstChild;return p(r,()=>t.message),e(e=>{var r=`notice notice--${t.level}`,i=t.id.split(`:`)[0];return r!==e.e&&d(n,e.e=r),i!==e.t&&c(n,`data-plugin`,e.t=i),e},{e:void 0,t:void 0}),n})()}),a,u),p(t,i(_,{get extensions(){return s()},can:f}),h,g),t}})}export{S as PluginExtensionsSlot,b as emptyExtensionsState,x as extensionsFromPlugins};
1
+ import{d as e,i as t,p as n,r,s as i,v as a}from"./solid.8gBSxpeo.js";import{a as o,c as s,d as c,h as l,i as u,n as d,r as f,s as p}from"./web.DB4MaPY9.js";import{n as m}from"./api.CNp-a9Z3.js";import"./src.DksrLolD.js";var h=l(`<a class=sidebar__link><!$><!/> <!$><!/>`),g=l(`<span aria-hidden=true>`);function _(t){let n=()=>t.extensions.menuPages.filter(e=>t.can(e.capability??`read`));return i(r,{get each(){return n()},children:t=>(()=>{var n=u(h),r=n.firstChild,[i,a]=o(r.nextSibling),l=i.nextSibling.nextSibling,[d,f]=o(l.nextSibling);return p(n,(()=>{var e=s(()=>!!t.icon);return()=>e()?(()=>{var e=u(g);return p(e,()=>t.icon),e})():null})(),i,a),p(n,()=>t.label,d,f),e(()=>c(n,`href`,`/plugins/${t.slug}`)),n})()})}f([`click`]);var v=l(`<div class=sidebar-plugins data-extensions=sidebar><!$><!/><!$><!/>`),y=l(`<div><span>`);function b(){return{menuPages:[],submenuPages:[],dashboardWidgets:[],metaBoxes:[],notices:[],columns:{},columnRenderers:{},actionLinks:[]}}function x(e){let t=b();for(let n of e){if(n.status!==`ACTIVE`&&n.status!==`ACTIVATED`)continue;let e=n.manifest?.admin;if(!e)continue;let r=n.slug??n.name;t.menuPages.push(...e.menuPages?.map(e=>({...e,slug:e.slug.startsWith(`${r}/`)?e.slug:`${r}/${e.slug}`}))??[]),t.dashboardWidgets.push(...e.dashboardWidgets?.map(e=>({...e,id:e.id.includes(`:`)?e.id:`${r}:${e.id}`,componentId:e.componentId.includes(`:`)?e.componentId:`${r}:${e.componentId}`}))??[]),t.notices.push(...e.notices?.map(e=>({...e,id:e.id.includes(`:`)?e.id:`${r}:${e.id}`}))??[])}return t}function S(){let[s,l]=n(b());a(async()=>{try{let e=await m.getPlugins();l(x(e))}catch{}});let f=()=>!0;return i(t,{get when(){return s().menuPages.length>0},get children(){var t=u(v),n=t.firstChild,[a,l]=o(n.nextSibling),m=a.nextSibling,[h,g]=o(m.nextSibling);return p(t,i(r,{get each(){return s().notices},children:t=>(()=>{var n=u(y),r=n.firstChild;return p(r,()=>t.message),e(e=>{var r=`notice notice--${t.level}`,i=t.id.split(`:`)[0];return r!==e.e&&d(n,e.e=r),i!==e.t&&c(n,`data-plugin`,e.t=i),e},{e:void 0,t:void 0}),n})()}),a,l),p(t,i(_,{get extensions(){return s()},can:f}),h,g),t}})}export{S as PluginExtensionsSlot,b as emptyExtensionsState,x as extensionsFromPlugins};
@@ -1 +1 @@
1
- var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`לוח בקרה`,content:`תוכן`,media:`מדיה`,users:`משתמשים`,menus:`תפריטים`,settings:`הגדרות`,plugins:`תוספים`,themes:`ערכות נושא`},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:`התחברות`,subtitle:`התחבר לחשבונך`,email:`אימייל`,password:`סיסמה`,submit:`התחבר`,failed:`אימייל או סיסמה שגויים`},c={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:`שפה`},l={justNow:`עכשיו`,minAgo:`דקות לפני`,ago:`לפני`,published:`פורסם`,updated:`עודכן`,newUser:`משתמש חדש: {name}`},u={mainMenu:`תפריט ראשי`,notifications:`התראות`,notificationsEmpty:`אין פעילות אחרונה`,settings:`הגדרות`,toggleSidebar:`החלף סרגד צד`,userMenu:`תפריט משתמש`},d={copyright:`© 2026 OkCMS. כל הזכויות שמורות.`,links:`קישורים`,website:`אתר`,github:`GitHub`,docs:`תיעוד`,community:`קהילה`,poweredBy:`מונע על ידי Oktis Works`},f={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>`}}},p={title:`אפשרויות מסך`,label:`אפשרויות מסך`,showOnScreen:`הצג במסך`},m={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,login:s,common:c,activity:l,adminBar:u,footer:d,helpTabs:f,screenOptions:p};export{l as activity,u as adminBar,c as common,n as content,t as dashboard,m as default,d as footer,f as helpTabs,e as layout,s as login,i as media,r as menus,p as screenOptions,o as settings,a as users};
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`לוח בקרה`,content:`תוכן`,media:`מדיה`,users:`משתמשים`,menus:`תפריטים`,settings:`הגדרות`,plugins:`תוספים`,themes:`ערכות נושא`},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={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};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,h 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,a as users};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime.BpQH8Ho1.js";import{p as t,v as n}from"./solid.8gBSxpeo.js";import{n as r}from"./api.CNp-a9Z3.js";var i=[`pt-BR`,`en`,`es-ES`,`ru`,`uk`,`tr`,`he`,`it`,`pl`,`zh-CN`,`ja`,`ar`,`sw`,`yo`,`zu`,`am`,`ha`,`ig`],a={"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`},o={"pt-BR":`🇧🇷`,en:`🇺🇸`,"es-ES":`🇪🇸`,ru:`🇷🇺`,uk:`🇺🇦`,tr:`🇹🇷`,he:`🇮🇱`,it:`🇮🇹`,pl:`🇵🇱`,"zh-CN":`🇨🇳`,ja:`🇯🇵`,ar:`🇸🇦`,sw:`🇹🇿`,yo:`🇳🇬`,zu:`🇿🇦`,am:`🇪🇹`,ha:`🇳🇬`,ig:`🇳🇬`};function s(e){return i.includes(e)}var ee=(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.`))))})},te=(function(){let e=typeof document<`u`&&document.createElement(`link`).relList;return e&&e.supports&&e.supports(`modulepreload`)?`modulepreload`:`preload`})(),ne=function(e){return`/`+e},c={},re=function(e){return e.pathname.endsWith(`.css`)},l=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=ne(t,n);let r=s(t);if(r.href in c)return;c[r.href]=!0;let i=re(r);if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let o=document.createElement(`link`);if(o.rel=i?`stylesheet`:te,i||(o.as=`script`),o.crossOrigin=``,o.href=r.href,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),i)return new Promise((e,t)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>t(Error(`Unable to preload CSS for ${r}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},u=new Map;async function d(e){if(u.has(e))return u.get(e);try{let t=await ee(Object.assign({"./locales/ar.json":()=>l(()=>import(`./ar.BeEmOTlL.js`),[]),"./locales/en.json":()=>l(()=>Promise.resolve().then(()=>ae),void 0),"./locales/es-ES.json":()=>l(()=>import(`./es-ES.C0DI0CK6.js`),[]),"./locales/he.json":()=>l(()=>import(`./he.RF4swhtn.js`),[]),"./locales/it.json":()=>l(()=>import(`./it.DhCR9YsW.js`),[]),"./locales/ja.json":()=>l(()=>import(`./ja.DPrxHQvU.js`),[]),"./locales/pl.json":()=>l(()=>import(`./pl.6VCoPa7y.js`),[]),"./locales/pt-BR.json":()=>l(()=>import(`./pt-BR.B-uijFlj.js`),[]),"./locales/ru.json":()=>l(()=>import(`./ru.Cv0Z6X2y.js`),[]),"./locales/sw.json":()=>l(()=>import(`./sw.BBMIgY-Y.js`),[]),"./locales/tr.json":()=>l(()=>import(`./tr.BWEmWhCE.js`),[]),"./locales/uk.json":()=>l(()=>import(`./uk.DDXJXOmn.js`),[]),"./locales/yo.json":()=>l(()=>import(`./yo.DNoEBLJd.js`),[]),"./locales/zh-CN.json":()=>l(()=>import(`./zh-CN.CVKBB6Ky.js`),[])}),`./locales/${e}.json`,3),n=t.default??t;return u.set(e,n),n}catch{return e===`en`?{}:d(`en`)}}var f=`admin_locale`;function p(){if(typeof document>`u`)return null;let e=document.cookie.match(RegExp(`(?:^|; )${f}=([^;]+)`));return e?.[1]&&i.includes(e[1])?e[1]:null}function m(e){typeof document<`u`&&(document.cookie=`${f}=${e}; path=/; max-age=31536000; SameSite=Lax`)}function h(){if(typeof navigator>`u`)return`en`;let e=navigator.language?.split(`-`)[0]?.toLowerCase(),t=navigator.language?.toLowerCase();for(let n of i)if(n.toLowerCase()===t||n.split(`-`)[0]===e)return n;return`en`}async function g(){try{let e=await r.getUserLocale();if(e&&i.includes(e))return e}catch{}return null}async function _(e){await r.setUserLocale(e)}async function v(){return p()||await g()||h()||`en`}async function ie(e){m(e);try{await _(e)}catch{}}var ae=e({access:()=>D,activity:()=>I,adminBar:()=>L,common:()=>F,content:()=>x,dashboard:()=>b,default:()=>V,footer:()=>R,helpTabs:()=>z,layout:()=>y,login:()=>P,logs:()=>O,media:()=>S,menus:()=>T,notFound:()=>M,plugins:()=>A,rateLimit:()=>N,resources:()=>E,screenOptions:()=>B,settings:()=>w,themes:()=>j,users:()=>C,webhooks:()=>k}),y={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Dashboard`,content:`Content`,media:`Media`,users:`Users`,menus:`Menus`,settings:`Settings`,plugins:`Plugins`,themes:`Themes`},actions:{logout:`Logout`,newPost:`New Post`,uploadMedia:`Upload Media`,addUser:`Add User`,openSettings:`Settings`}},b={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.`}}},x={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.`},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}"?`}},S={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 ✓`}},C={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}?`}},w=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"},"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","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."}}`),T={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}"?`},E={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`}},D={title:`Access`,description:`Manage roles, permissions and tenants.`,roles:`Roles`,tenants:`Tenants`,permissions:`Permissions (comma separated)`,domain:`Domain`},O={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`}},k={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`}},A={title:`Plugins`,description:`Manage installed plugins.`,directoryHint:`Detected automatically from the project's plugins/ directory. Use the CLI or deploy files to add extensions.`,columns:{name:`Name`,version:`Version`,status:`Status`,enabled:`Enabled for tenant`,actions:`Actions`},status:{active:`Active`,installed:`Installed`,inactive:`Inactive`,quarantined:`Quarantined`,missing:`Missing`,loadFailed:`Load failed`},activate:`Activate`,deactivate:`Deactivate`,install:`Install plugin`,uninstall:`Uninstall`,confirmUninstall:`Uninstall {name}?`,name:`Plugin name`,version:`Version`,manifest:`Manifest (JSON)`,loadError:`Could not load plugins.`,activateError:`Could not activate the plugin.`,deactivateError:`Could not deactivate the plugin.`,installError:`Could not install the plugin.`,uninstallError:`Could not uninstall the plugin.`,empty:`No plugins installed.`,selectTenant:`Select tenant`,selectTenantPlaceholder:`Choose a tenant to activate/deactivate for`,hideSelector:`Hide selector`,enabledForTenant:`Active for this tenant`,enabledYes:`Yes`,enabledNo:`No`},j={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`,uninstall:`Uninstall`,confirmUninstall:`Uninstall {name}?`,name:`Theme name`,manifest:`Manifest (JSON)`,loadError:`Could not load themes.`,activateError:`Could not activate the theme.`,deactivateError:`Could not deactivate the theme.`,installError:`Could not install the theme.`,uninstallError:`Could not uninstall the theme.`,reload:`Reload`,configTitle:`Settings`,configClose:`Hide settings`,configSave:`Save settings`,configSaved:`Settings saved.`,configError:`Could not save the theme settings.`,empty:`No themes installed.`},M={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`},N={notice:`Request limit reached — wait a few seconds and try again.`,noticeRetry:`Request limit reached — retrying automatically in {seconds}s.`},P={title:`Login`,subtitle:`Sign in to your account`,email:`Email`,password:`Password`,submit:`Sign In`,failed:`Invalid email or password`},F={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`},I={justNow:`just now`,minAgo:`minutes ago`,ago:`ago`,published:`Published`,updated:`Updated`,newUser:`New user: {name}`},L={mainMenu:`Main menu`,notifications:`Notifications`,notificationsEmpty:`No recent activity`,settings:`Settings`,toggleSidebar:`Toggle sidebar`,userMenu:`User menu`},R={copyright:`© 2026 OkCMS. All rights reserved.`,links:`Links`,website:`Website`,github:`GitHub`,docs:`Documentation`,community:`Community`,poweredBy:`Powered by Oktis Works`},z={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>`}}},B={title:`Screen Options`,label:`Screen Options`,showOnScreen:`Show on screen`},V={layout:y,dashboard:b,content:x,media:S,users:C,settings:w,menus:T,resources:E,access:D,logs:O,webhooks:k,plugins:A,themes:j,notFound:M,rateLimit:N,login:P,common:F,activity:I,adminBar:L,footer:R,helpTabs:z,screenOptions:B},H=new Map,U=V,[W,G]=t(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([d(e),d(`en`)]),r=J(t,n);return H.set(e,r),r}var X=J(U,U),Z=`en`,Q=!0,oe=`okcms:locale-changed`;function $(){typeof window<`u`&&window.dispatchEvent(new CustomEvent(oe,{detail:{locale:Z}}))}function se(e){return n(async()=>{Q&&(K||=(async()=>{let t=e??await v();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 ie(e)},get loading(){return Q}}}export{a,o as i,se as n,i as o,m as r,s,Y as t};
@@ -1 +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`},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:`Accesso`,subtitle:`Accedi al tuo account`,email:`Email`,password:`Password`,submit:`Accedi`,failed:`Email o password non validi`},c={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`},l={justNow:`proprio ora`,minAgo:`minuti fa`,ago:`fa`,published:`Pubblicato`,updated:`Aggiornato`,newUser:`Nuovo utente: {name}`},u={mainMenu:`Menu principale`,notifications:`Notifiche`,notificationsEmpty:`Nessuna attività recente`,settings:`Impostazioni`,toggleSidebar:`Attiva/disattiva barra laterale`,userMenu:`Menu utente`},d={copyright:`© 2026 OkCMS. Tutti i diritti riservati.`,links:`Collegamenti`,website:`Sito web`,github:`GitHub`,docs:`Documentazione`,community:`Comunità`,poweredBy:`Prodotto con Oktis Works`},f={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>`}}},p={title:`Opzioni schermo`,label:`Opzioni schermo`,showOnScreen:`Mostra sullo schermo`},m={layout:e,dashboard:t,content:n,menus:r,media:i,users:a,settings:o,login:s,common:c,activity:l,adminBar:u,footer:d,helpTabs:f,screenOptions:p};export{l as activity,u as adminBar,c as common,n as content,t as dashboard,m as default,d as footer,f as helpTabs,e as layout,s as login,i as media,r as menus,p as screenOptions,o as settings,a as users};
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Dashboard`,content:`Contenuti`,media:`Media`,users:`Utenti`,menus:`Menu`,settings:`Impostazioni`,plugins:`Plugin`,themes:`Temi`},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={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};export{u as activity,d as adminBar,l as common,n as content,t as dashboard,h 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,a as users};