@oktis-works/admin 0.3.5 → 0.4.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 (95) hide show
  1. package/dist/client/_astro/ActivityWidget.B1PK1jNM.js +16 -0
  2. package/dist/client/_astro/AdminBar.DGqkNINI.js +234 -0
  3. package/dist/client/_astro/AtGlanceWidget.CbAM9D09.js +43 -0
  4. package/dist/client/_astro/BaseLayout.B2MfKf6B.css +1 -0
  5. package/dist/client/_astro/ContentEditor.BG7DWach.js +1 -0
  6. package/dist/client/_astro/ContentList.CfGc6HN5.js +1 -0
  7. package/dist/client/_astro/DashboardHome._7yIrBzf.js +1 -0
  8. package/dist/client/_astro/DashboardLayout.DrKf2Klk.css +1 -0
  9. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.BrC4PbPa.js +1 -0
  10. package/dist/client/_astro/Footer.CjhzORqz.js +74 -0
  11. package/dist/client/_astro/GeneralSettings.BwnPXbvc.js +1 -0
  12. package/dist/client/_astro/HelpTabs.Ddud8gs3.js +103 -0
  13. package/dist/client/_astro/LanguageSelector.Dx6zaHYm.js +14 -0
  14. package/dist/client/_astro/MediaLibrary.BXUJ5yFA.js +1 -0
  15. package/dist/client/_astro/PostTypesManager.CA2yTVB_.js +1 -0
  16. package/dist/client/_astro/QuickDraftWidget.CCKwWLpX.js +17 -0
  17. package/dist/client/_astro/ScreenOptions.Dgiw-9ow.js +70 -0
  18. package/dist/client/_astro/TaxonomiesManager.D3HNo_oM.js +1 -0
  19. package/dist/client/_astro/UserCreateForm.CTv1Gd43.js +1 -0
  20. package/dist/client/_astro/UsersManager.DPpSVGNe.js +1 -0
  21. package/dist/client/_astro/api.DTNuyqvx.js +1 -0
  22. package/dist/client/_astro/ar.CzsjUutD.js +1 -0
  23. package/dist/client/_astro/{client.BY0Z100j.js → client.C7p516_9.js} +1 -1
  24. package/dist/client/_astro/en.DmN7xy_a.js +1 -0
  25. package/dist/client/_astro/es-ES.p2TLEMlZ.js +1 -0
  26. package/dist/client/_astro/{extensions.JQggUqT5.js → extensions.DfxrGzbo.js} +1 -1
  27. package/dist/client/_astro/he.BnYHiYpn.js +1 -0
  28. package/dist/client/_astro/i18n.CLOpd2JA.js +1 -0
  29. package/dist/client/_astro/it.WrWKBEAD.js +1 -0
  30. package/dist/client/_astro/ja.DxnfhIdt.js +1 -0
  31. package/dist/client/_astro/login.astro_astro_type_script_index_0_lang.CLM9X6sQ.js +1 -0
  32. package/dist/client/_astro/pl.jUj-RfZS.js +1 -0
  33. package/dist/client/_astro/pt-BR.DtNwEO0i.js +1 -0
  34. package/dist/client/_astro/ru.KFSfdjWn.js +1 -0
  35. package/dist/client/_astro/{src.DX_xrAwd.js → src.Cgonpfb5.js} +1 -1
  36. package/dist/client/_astro/sw.3jlAOLOv.js +1 -0
  37. package/dist/client/_astro/tr.tnLMnGPg.js +1 -0
  38. package/dist/client/_astro/uk.VquHY_xc.js +1 -0
  39. package/dist/client/_astro/version.BAM_tCGw.js +1 -0
  40. package/dist/client/_astro/{web.D_vCtCLj.js → web.D1H9RxZL.js} +1 -1
  41. package/dist/client/_astro/yo.Cr8hCb5u.js +1 -0
  42. package/dist/client/_astro/zh-CN.E32QqP4v.js +1 -0
  43. package/dist/server/chunks/{BaseLayout_CcUFilW5.mjs → BaseLayout_GUKuUGNt.mjs} +4 -1
  44. package/dist/server/chunks/{ContentEditor_DtKBw5Nv.mjs → ContentEditor_D_mc9cIc.mjs} +38 -24
  45. package/dist/server/chunks/DashboardLayout_DVdPm1iI.mjs +2084 -0
  46. package/dist/server/chunks/{MediaLibrary_BDyBahZ3.mjs → MediaLibrary_BV1YB_7x.mjs} +90 -65
  47. package/dist/server/chunks/{_slug__DNJwUFYD.mjs → _slug__D0xMd1Ym.mjs} +1 -1
  48. package/dist/server/chunks/ar_DBjdWIJ0.mjs +408 -0
  49. package/dist/server/chunks/{edit_CSA-bTD0.mjs → edit_DmKkdawE.mjs} +8 -4
  50. package/dist/server/chunks/en_C750mYKk.mjs +408 -0
  51. package/dist/server/chunks/es-ES_TJ4oK1yi.mjs +408 -0
  52. package/dist/server/chunks/{general_D8esOFBG.mjs → general_CfZaFpuy.mjs} +50 -39
  53. package/dist/server/chunks/he_TWsuTphz.mjs +408 -0
  54. package/dist/server/chunks/index_BHrVcd5b.mjs +27 -0
  55. package/dist/server/chunks/{index_BzJtUv3l.mjs → index_BjydUJNY.mjs} +9 -5
  56. package/dist/server/chunks/{index__EF7aYFm.mjs → index_BoeLyrhK.mjs} +91 -45
  57. package/dist/server/chunks/{index_CSD_Oyb4.mjs → index_D_aAiDE0.mjs} +61 -38
  58. package/dist/server/chunks/index_GAl799IJ.mjs +152 -0
  59. package/dist/server/chunks/it_CEVFVWh1.mjs +408 -0
  60. package/dist/server/chunks/ja_CqDirMqf.mjs +408 -0
  61. package/dist/server/chunks/login_B7FSWUaM.mjs +24 -0
  62. package/dist/server/chunks/{new_C7iXK0wp.mjs → new_BRMGHdiW.mjs} +8 -4
  63. package/dist/server/chunks/{new_Dg7GlHuV.mjs → new_DkKhl-3k.mjs} +30 -14
  64. package/dist/server/chunks/pl_ChIKxfZG.mjs +408 -0
  65. package/dist/server/chunks/post-types_B7f9RrsE.mjs +158 -0
  66. package/dist/server/chunks/pt-BR_4d4jZWL0.mjs +408 -0
  67. package/dist/server/chunks/ru_CIc6O5Q7.mjs +408 -0
  68. package/dist/server/chunks/sw_Bs3iYVDM.mjs +408 -0
  69. package/dist/server/chunks/{taxonomies_BJehVfgw.mjs → taxonomies_DadZj79u.mjs} +31 -14
  70. package/dist/server/chunks/tr_C7JbXuoQ.mjs +408 -0
  71. package/dist/server/chunks/uk_Dibs8Wkc.mjs +408 -0
  72. package/dist/server/chunks/{upload_CeK7uSwz.mjs → upload_CMYjz_4a.mjs} +9 -5
  73. package/dist/server/chunks/yo_B6MPvz_U.mjs +408 -0
  74. package/dist/server/chunks/zh-CN_G1Dc2b28.mjs +408 -0
  75. package/dist/server/entry.mjs +15 -15
  76. package/package.json +4 -4
  77. package/dist/client/_astro/BaseLayout.BPkaFsmK.css +0 -1
  78. package/dist/client/_astro/ContentEditor.Buc5ptK0.js +0 -1
  79. package/dist/client/_astro/ContentList.Bo_ok2oa.js +0 -1
  80. package/dist/client/_astro/DashboardHome.DKuoH-SO.js +0 -1
  81. package/dist/client/_astro/DashboardLayout.astro_astro_type_script_index_0_lang.DfB7XHS-.js +0 -1
  82. package/dist/client/_astro/GeneralSettings.BNzHpRY6.js +0 -1
  83. package/dist/client/_astro/MediaLibrary.Dn4DRbZb.js +0 -1
  84. package/dist/client/_astro/PostTypesManager.6GQ4vWY1.js +0 -1
  85. package/dist/client/_astro/TaxonomiesManager.B25xOjSO.js +0 -1
  86. package/dist/client/_astro/UserCreateForm.DtBifGTo.js +0 -1
  87. package/dist/client/_astro/UsersManager.-5jU3GxA.js +0 -1
  88. package/dist/client/_astro/api.BEC1o0dT.js +0 -1
  89. package/dist/client/_astro/login.astro_astro_type_script_index_0_lang.Dz6HvEV3.js +0 -1
  90. package/dist/server/chunks/DashboardLayout_Bpur473M.mjs +0 -442
  91. package/dist/server/chunks/api_i8T-MI6L.mjs +0 -278
  92. package/dist/server/chunks/index_BCUHGT54.mjs +0 -133
  93. package/dist/server/chunks/index_X49R9glL.mjs +0 -23
  94. package/dist/server/chunks/login_C04LKHw3.mjs +0 -23
  95. package/dist/server/chunks/post-types_CJt6sMSh.mjs +0 -137
@@ -0,0 +1,103 @@
1
+ import{C as e,E as t,S as n,T as r,_ as i,b as a,d as o,i as s,l as c,n as l,o as u,p as d,r as f,t as p,u as m}from"./web.D1H9RxZL.js";import{t as h}from"./i18n.CLOpd2JA.js";var g=new Set(`a.abbr.b.blockquote.br.code.dd.div.dl.dt.em.figcaption.figure.h1.h2.h3.h4.h5.h6.hr.i.img.li.ol.p.pre.q.s.span.strong.sub.sup.u.ul`.split(`.`)),_=new Set([`br`,`hr`,`img`]),v=new Set([`script`,`style`,`iframe`,`object`,`embed`,`svg`,`math`,`textarea`,`title`,`noscript`,`template`]),y=new Set([`class`,`title`,`alt`,`width`,`height`,`href`,`src`,`target`,`rel`]),b=new Set([`http`,`https`,`mailto`,`tel`]),x=new Set([`http`,`https`]),S={amp:`&`,lt:`<`,gt:`>`,quot:`"`,apos:`'`,colon:`:`,tab:` `,newline:`
2
+ `,sol:`/`,lpar:`(`,rpar:`)`,num:`#`,period:`.`,excl:`!`,comma:`,`};function C(e){return e.replace(/&#x([0-9a-fA-F]+);?/g,(e,t)=>w(parseInt(t,16))).replace(/&#(\d+);?/g,(e,t)=>w(parseInt(t,10))).replace(/&([a-zA-Z][a-zA-Z0-9]{1,30});?/g,(e,t)=>S[t in S?t:t.toLowerCase()]??e)}function w(e){if(!Number.isFinite(e)||e<0||e>1114111)return``;try{return String.fromCodePoint(e)}catch{return``}}function T(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`)}function E(e){return e.replace(/&(?![a-zA-Z][a-zA-Z0-9]{1,30};|#[0-9]{1,7};|#[xX][0-9a-fA-F]{1,6};)|[<>]/g,e=>e===`&`?`&amp;`:e===`<`?`&lt;`:`&gt;`)}function D(e,t){let n=C(e).replace(/[\t\n\r]/g,``).trim(),r=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(n);return!r||t.has(r[1].toLowerCase())}function O(e){return T(C(e))}function k(e){let t=[],n=e.length,r=0,i=e=>e===` `||e===` `||e===`
3
+ `||e===`\r`||e===`\f`;for(;r<n;){for(;r<n&&(i(e.charAt(r))||e.charAt(r)===`/`);)r++;if(r>=n)break;let a=``;for(;r<n&&!i(e.charAt(r))&&e.charAt(r)!==`=`&&e.charAt(r)!==`>`&&e.charAt(r)!==`/`&&e.charAt(r)!==`<`;)a+=e.charAt(r),r++;if(!a){r++;continue}let o=``,s=r;for(;s<n&&i(e.charAt(s));)s++;if(s<n&&e.charAt(s)===`=`){for(s++;s<n&&i(e.charAt(s));)s++;if(s<n&&(e.charAt(s)===`"`||e.charAt(s)===`'`)){let t=e.charAt(s);s++;let r=s;for(;s<n&&e.charAt(s)!==t;)s++;o=e.slice(r,s),s++}else{let t=s;for(;s<n&&!i(e.charAt(s))&&e.charAt(s)!==`>`;)s++;o=e.slice(t,s)}r=s}t.push([a.toLowerCase(),o])}return t}function A(e,t){let n=[],r=new Set,i=!1;for(let[e,a]of t)if(y.has(e)&&!r.has(e)&&(e!==`href`||D(a,b))&&(e!==`src`||D(a,x))){if(e===`target`){if(O(a)!==`_blank`)continue;i=!0;continue}e!==`rel`&&(r.add(e),n.push(`${e}="${O(a)}"`))}return e===`a`&&i&&(n.push(`target="_blank"`),n.push(`rel="noopener noreferrer"`)),n.length>0?` ${n.join(` `)}`:``}function j(e){if(typeof e!=`string`||e.length===0)return``;let t=e.toLowerCase(),n=e.length,r=[],i=``,a=0;for(;a<n;){let o=e.indexOf(`<`,a);if(o===-1){i+=E(e.slice(a));break}if(o>a&&(i+=E(e.slice(a,o))),e.startsWith(`<!--`,o)){let t=e.indexOf(`-->`,o+4);a=t===-1?n:t+3;continue}if(e.charAt(o+1)===`!`||e.charAt(o+1)===`?`){let t=e.indexOf(`>`,o+2);a=t===-1?n:t+1;continue}let s=/^<(\/?)([a-zA-Z][a-zA-Z0-9]*)(?=[\s/>])/.exec(e.slice(o,Math.min(o+64,n)));if(!s){i+=`&lt;`,a=o+1;continue}let c=s[1]===`/`,l=s[2].toLowerCase(),u=o+s[0].length,d=``;for(;u<n;){let t=e[u];if(d)t===d&&(d=``);else if(t===`"`||t===`'`)d=t;else if(t===`>`)break;u++}if(u>=n)break;let f=e.slice(o+s[0].length,u);if(a=u+1,!c&&v.has(l)){let r=t.indexOf(`</${l}`,a);if(r===-1)break;let i=e.indexOf(`>`,r);a=i===-1?n:i+1;continue}if(c){let e=r.lastIndexOf(l);if(e!==-1){for(let t=r.length-1;t>=e;t--)i+=`</${r[t]}>`;r.length=e}continue}if(!g.has(l))continue;let p=A(l,k(f));_.has(l)?i+=`<${l}${p} />`:(i+=`<${l}${p}>`,r.push(l))}for(let e=r.length-1;e>=0;e--)i+=`</${r[e]}>`;return i}var M=d(`<div class=help-tabs-panel role=dialog><div class=help-tabs-header><h3></h3><button class=help-tabs-close type=button><svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><line x1=18 y1=6 x2=6 y2=18></line><line x1=6 y1=6 x2=18 y2=18></line></svg></button></div><div class=help-tabs-nav role=tablist></div><div class=help-tabs-panels></div><div class=help-tabs-footer><button class="btn btn-primary">`),N=d(`<div class=help-tabs-wrapper><div class=help-tabs><button class=help-tabs-trigger type=button><svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><circle cx=12 cy=12 r=10></circle><path d="M12 16v-4M12 8h.01"></path></svg><span></span><svg class=chevron width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><path d="M6 9l6 6 6-6"></path></svg></button><!$><!/></div><style>
4
+ .help-tabs-wrapper { position: relative; }
5
+ .help-tabs { position: relative; }
6
+ .help-tabs-trigger {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ gap: 0.5rem;
10
+ padding: 0.375rem 0.75rem;
11
+ background: var(--color-surface);
12
+ border: 1px solid var(--color-border);
13
+ border-radius: var(--radius-md);
14
+ color: var(--color-text);
15
+ font-size: 0.8125rem;
16
+ font-weight: 500;
17
+ cursor: pointer;
18
+ transition: all 0.15s;
19
+ }
20
+ .help-tabs-trigger:hover {
21
+ background: var(--color-surface-hover);
22
+ border-color: var(--color-primary);
23
+ }
24
+ .help-tabs-trigger .chevron {
25
+ transition: transform 0.15s;
26
+ flex-shrink: 0;
27
+ }
28
+ .help-tabs-trigger[aria-expanded="true"] .chevron {
29
+ transform: rotate(180deg);
30
+ }
31
+ .help-tabs-panel {
32
+ position: absolute;
33
+ top: calc(100% + 0.5rem);
34
+ right: 0;
35
+ width: 480px;
36
+ max-width: 90vw;
37
+ max-height: 70vh;
38
+ background: var(--color-surface);
39
+ border: 1px solid var(--color-border);
40
+ border-radius: var(--radius-lg);
41
+ box-shadow: var(--shadow-xl);
42
+ z-index: 1000;
43
+ display: flex;
44
+ flex-direction: column;
45
+ animation: slideIn 0.15s ease-out;
46
+ overflow: hidden;
47
+ }
48
+ @keyframes slideIn { from { opacity: 0; transform: translateY(-0.5rem); } to { opacity: 1; transform: translateY(0); } }
49
+ .help-tabs-header {
50
+ display: flex;
51
+ align-items: center;
52
+ justify-content: space-between;
53
+ padding: 1rem;
54
+ border-bottom: 1px solid var(--color-border);
55
+ }
56
+ .help-tabs-header h3 { font-size: 0.875rem; font-weight: 600; }
57
+ .help-tabs-close {
58
+ background: none; border: none; padding: 0.25rem;
59
+ color: var(--color-muted); cursor: pointer; border-radius: var(--radius-sm);
60
+ }
61
+ .help-tabs-close:hover { background: var(--color-background); color: var(--color-text); }
62
+ .help-tabs-nav {
63
+ display: flex;
64
+ border-bottom: 1px solid var(--color-border);
65
+ overflow-x: auto;
66
+ }
67
+ .help-tabs-tab {
68
+ padding: 0.75rem 1rem;
69
+ background: none; border: none;
70
+ color: var(--color-muted); font-size: 0.8125rem; font-weight: 500;
71
+ cursor: pointer; white-space: nowrap;
72
+ border-bottom: 2px solid transparent;
73
+ transition: all 0.15s;
74
+ }
75
+ .help-tabs-tab:hover { color: var(--color-text); background: var(--color-background); }
76
+ .help-tabs-tab.active {
77
+ color: var(--color-primary);
78
+ border-bottom-color: var(--color-primary);
79
+ font-weight: 600;
80
+ }
81
+ .help-tabs-panels {
82
+ flex: 1; overflow-y: auto; padding: 1.5rem;
83
+ }
84
+ .help-tabs-panel { display: none; }
85
+ .help-tabs-panel.active { display: block; animation: fadeIn 0.15s ease-out; }
86
+ @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
87
+ .help-tabs-content { line-height: 1.6; color: var(--color-text); }
88
+ .help-tabs-content h4 { font-size: 0.9375rem; font-weight: 600; margin: 1rem 0 0.5rem; color: var(--color-text); }
89
+ .help-tabs-content h4:first-child { margin-top: 0; }
90
+ .help-tabs-content p { margin: 0 0 0.75rem; color: var(--color-muted); }
91
+ .help-tabs-content ul { margin: 0 0 0.75rem 1.25rem; color: var(--color-text); }
92
+ .help-tabs-content li { margin-bottom: 0.375rem; }
93
+ .help-tabs-content code {
94
+ background: var(--color-background); padding: 0.125rem 0.375rem;
95
+ border-radius: var(--radius-sm); font-size: 0.8125rem;
96
+ font-family: ui-monospace, SFMono-Regular, monospace;
97
+ }
98
+ .help-tabs-content a { color: var(--color-primary); text-decoration: underline; }
99
+ .help-tabs-footer {
100
+ display: flex; justify-content: flex-end;
101
+ padding: 1rem; border-top: 1px solid var(--color-border);
102
+ }
103
+ `),P=d(`<button role=tab type=button>`),F=d(`<div role=tabpanel><div class=help-tabs-content>`);function I(l){let{t:d}=h(),[g,_]=e(!1),[v,y]=e(l.tabs[0]?.id??``),b=()=>_(!g()),x=e=>{e.target.closest(`.help-tabs`)||_(!1)};return t(()=>{document.addEventListener(`click`,x)}),r(()=>{document.removeEventListener(`click`,x)}),(()=>{var e=f(N),t=e.firstChild,r=t.firstChild,h=r.firstChild.nextSibling,_=r.nextSibling,[x,S]=s(_.nextSibling);return r.$$click=b,u(h,()=>d(`helpTabs.title`)),u(t,a(i,{get when(){return g()},get children(){var e=f(M),t=e.firstChild,r=t.firstChild,i=r.nextSibling,a=t.nextSibling,s=a.nextSibling,h=s.nextSibling.firstChild;return u(r,()=>d(`helpTabs.title`)),i.$$click=b,u(a,()=>l.tabs.map(e=>(()=>{var t=f(P);return t.$$click=()=>y(e.id),u(t,()=>e.label),n(n=>{var r=v()===e.id?`help-tabs-tab active`:`help-tabs-tab`,i=v()===e.id,a=`help-panel-${e.id}`,o=`help-tab-${e.id}`;return r!==n.e&&p(t,n.e=r),i!==n.t&&m(t,`aria-selected`,n.t=i),a!==n.a&&m(t,`aria-controls`,n.a=a),o!==n.o&&m(t,`id`,n.o=o),n},{e:void 0,t:void 0,a:void 0,o:void 0}),c(),t})())),u(s,()=>l.tabs.map(e=>(()=>{var t=f(F),r=t.firstChild;return n(n=>{var i=v()===e.id?`help-tabs-panel active`:`help-tabs-panel`,a=`help-panel-${e.id}`,s=`help-tab-${e.id}`,c=j(e.content);return i!==n.e&&p(t,n.e=i),a!==n.t&&m(t,`id`,n.t=a),s!==n.a&&m(t,`aria-labelledby`,n.a=s),c!==n.o&&o(r,`innerHTML`,n.o=c),n},{e:void 0,t:void 0,a:void 0,o:void 0}),t})())),h.$$click=b,u(h,()=>d(`common.close`)),n(t=>{var n=d(`helpTabs.title`),r=d(`common.close`),o=d(`helpTabs.tabs`);return n!==t.e&&m(e,`aria-label`,t.e=n),r!==t.t&&m(i,`aria-label`,t.t=r),o!==t.a&&m(a,`aria-label`,t.a=o),t},{e:void 0,t:void 0,a:void 0}),c(),e}}),x,S),n(e=>{var t=g(),n=d(`helpTabs.label`);return t!==e.e&&m(r,`aria-expanded`,e.e=t),n!==e.t&&m(r,`aria-label`,e.t=n),e},{e:void 0,t:void 0}),c(),e})()}l([`click`]);export{I as HelpTabs};
@@ -0,0 +1,14 @@
1
+ import{C as e,S as t,T as n,_ as r,b as i,i as a,l as o,n as s,o as c,p as l,r as u,t as d,u as f}from"./web.D1H9RxZL.js";import{i as p,n as m,r as h,t as g}from"./i18n.CLOpd2JA.js";var _=l(`<ul class=language-dropdown role=menu>`),v=l(`<div class=language-selector><button class="btn btn-secondary btn-sm language-trigger"type=button><span class=flag></span><span></span><svg class=chevron width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><path d="M6 9l6 6 6-6"></path></svg></button><!$><!/><style>
2
+ .language-selector { position: relative; }
3
+ .language-trigger { display: flex; align-items: center; gap: 0.5rem; padding: 0.375rem 0.75rem; min-width: 140px; justify-content: space-between; }
4
+ .language-trigger .flag { font-size: 1rem; }
5
+ .language-trigger .chevron { flex-shrink: 0; transition: transform 0.15s; }
6
+ .language-trigger[aria-expanded="true"] .chevron { transform: rotate(180deg); }
7
+ .language-dropdown { position: absolute; top: calc(100% + 0.25rem); right: 0; z-index: 100; background: var(--color-bg-secondary); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-lg); min-width: 160px; overflow: hidden; animation: dropdown-in 0.1s ease-out; }
8
+ @keyframes dropdown-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
9
+ .language-dropdown li { list-style: none; }
10
+ .language-dropdown button { width: 100%; display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 0.75rem; background: none; border: none; text-align: left; color: var(--color-text); cursor: pointer; }
11
+ .language-dropdown button:hover { background: var(--color-bg-tertiary); }
12
+ .language-dropdown button.active { background: var(--color-primary); color: var(--color-primary-contrast); font-weight: 500; }
13
+ .language-dropdown .flag { font-size: 1rem; }
14
+ `),y=l(`<li role=menuitem><button type=button><span class=flag></span><!$><!/>`);function b(){let{locale:s,changeLocale:l,t:b}=g(),[x,S]=e(!1),C=e=>{e.target.closest(`.language-selector`)||S(!1)};n(()=>{document.removeEventListener(`click`,C)}),setTimeout(()=>document.addEventListener(`click`,C),0);let w=s,T=b;return(()=>{var e=u(v),n=e.firstChild,s=n.firstChild,g=s.nextSibling,b=n.nextSibling,[C,E]=a(b.nextSibling);return C.nextSibling,e.addEventListener(`mouseleave`,()=>S(!1)),e.addEventListener(`mouseenter`,()=>S(!0)),n.$$click=e=>{e.stopPropagation(),S(!x())},c(s,()=>m[w]??`🌐`),c(g,()=>h[w]??w),c(e,i(r,{get when(){return x()},get children(){var e=u(_);return c(e,()=>p.map(e=>(()=>{var t=u(y),n=t.firstChild,r=n.firstChild,i=r.nextSibling,[s,f]=a(i.nextSibling);return n.$$click=()=>{l(e),S(!1)},d(n,w===e?`active`:``),c(r,()=>m[e]??`🌐`),c(n,()=>h[e]??e,s,f),o(),t})())),t(()=>f(e,`aria-label`,T(`common.language`)??`Language`)),e}}),C,E),t(e=>{var t=x(),r=T(`common.language`)??`Language`;return t!==e.e&&f(n,`aria-expanded`,e.e=t),r!==e.t&&f(n,`aria-label`,e.t=r),e},{e:void 0,t:void 0}),o(),e})()}s([`click`]);export{b as LanguageSelector};
@@ -0,0 +1 @@
1
+ import{a as e,i as t,n,o as r}from"./src.Cgonpfb5.js";import{C as i,E as a,S as o,_ as s,b as c,d as l,g as u,i as d,l as f,n as p,o as m,p as h,r as g,s as _,u as v}from"./web.D1H9RxZL.js";import{t as y}from"./i18n.CLOpd2JA.js";import{t as b}from"./api.DTNuyqvx.js";var x=h(`<div class="notice notice--error">`),S=h(`<div class=notice>`),C=h(`<div class=media-grid>`),w=h(`<div class=media-library><!$><!/><!$><!/><div class=upload-zone><p><strong></strong> ou</p><label class="btn btn-primary"style=cursor:pointer><!$><!/><input type=file multiple style=display:none></label><p class=muted></p></div><div class=toolbar><!$><!/><!$><!/><!$><!/></div><!$><!/><!$><!/><!$><!/>`),ee=h(`<p class=muted>`),te=h(`<img loading=lazy>`,!0,!1,!1),T=h(`<button type=button class=media-card><div class=media-card__preview></div><div class=media-card__meta><span class=media-card__name></span><span class=muted>`),E=h(`<span class=media-card__ext>`),ne=h(`<img>`),re=h(`<div class="card media-details"><h3></h3><div class=media-details__preview></div><dl class=media-details__list><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd class=media-details__url><code></code><button class="btn btn-secondary btn-sm"type=button></button></dd></dl><!$><!/><!$><!/><div class=media-details__actions><!$><!/><!$><!/><!$><!/>`);function D(e){return Number.isFinite(e)?e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`:`—`}var O=e=>e.mime_type.startsWith(`image/`);function k(p){let{t:h}=y(),[k,A]=i([]),[ie,j]=i(0),[M,N]=i(1),[P,F]=i(``),[I,L]=i(``),[R,z]=i(``),[B,V]=i(``),[H,U]=i(!1),[W,G]=i(null),[ae,K]=i(!1),[q,J]=i(!1),Y=async()=>{try{let e=await b.listMedia({page:M(),limit:24,search:P()||void 0,mimeType:I()||void 0});A(e.data??[]),j(e.total??0)}catch(e){z(e instanceof Error?e.message:String(e))}};a(Y);let X=async()=>{N(1),await Y()},Z=async e=>{if(e.length===0)return;U(!0),z(``),V(``);let t=0;for(let n of Array.from(e))try{await b.uploadMedia(n,{alt:``}),t+=1}catch(e){z(`${n.name}: ${e instanceof Error?e.message:String(e)}`)}U(!1),t>0&&(V(h(`media.toasts.uploaded`,{count:t})),N(1),await Y())},oe=async e=>{if(confirm(h(`media.details.confirmDelete`,{filename:e.filename})))try{await b.deleteMedia(e.id),W()?.id===e.id&&G(null),await Y()}catch(e){z(e instanceof Error?e.message:String(e))}},se=async()=>{let e=W();if(e){J(!0),z(``);try{let t=await b.updateMedia(e.id,{alt:e.alt??``,caption:e.caption??``});G({...e,...t}),V(h(`media.details.saved`)),await Y()}catch(e){z(e instanceof Error?e.message:String(e))}finally{J(!1)}}},ce=async e=>{try{await navigator.clipboard.writeText(e),V(h(`media.details.copied`))}catch{z(h(`media.details.copyError`))}};return(()=>{var i=g(w),a=i.firstChild,[y,b]=d(a.nextSibling),A=y.nextSibling,[j,z]=d(A.nextSibling),V=j.nextSibling,U=V.firstChild,J=U.firstChild,Q=U.nextSibling,le=Q.firstChild,[ue,de]=d(le.nextSibling),fe=ue.nextSibling,pe=Q.nextSibling,$=V.nextSibling,me=$.firstChild,[he,ge]=d(me.nextSibling),_e=he.nextSibling,[ve,ye]=d(_e.nextSibling),be=ve.nextSibling,[xe,Se]=d(be.nextSibling),Ce=$.nextSibling,[we,Te]=d(Ce.nextSibling),Ee=we.nextSibling,[De,Oe]=d(Ee.nextSibling),ke=De.nextSibling,[Ae,je]=d(ke.nextSibling);return m(i,c(s,{get when(){return R()},get children(){var e=g(x);return m(e,R),e}}),y,b),m(i,c(s,{get when(){return B()},get children(){var e=g(S);return m(e,B),e}}),j,z),V.addEventListener(`drop`,e=>{e.preventDefault(),K(!1),e.dataTransfer&&Z(e.dataTransfer.files)}),V.addEventListener(`dragleave`,()=>K(!1)),V.addEventListener(`dragover`,e=>{e.preventDefault(),K(!0)}),m(J,()=>h(`media.upload.dropzone`)),m(Q,(()=>{var e=_(()=>!!H());return()=>e()?h(`media.upload.uploading`):h(`media.upload.select`)})(),ue,de),fe.addEventListener(`change`,e=>{e.currentTarget.files&&Z(e.currentTarget.files),e.currentTarget.value=``}),m(pe,()=>h(`media.upload.hint`)),m($,c(t,{name:`media-search`,get placeholder(){return h(`media.toolbar.search`)},get value(){return P()},onInput:e=>{F(e),X()}}),he,ge),m($,c(r,{name:`media-mime`,get placeholder(){return h(`media.toolbar.allTypes`)},get value(){return I()},get options(){return[{value:`image/png`,label:h(`media.mimeTypes.png`)},{value:`image/jpeg`,label:h(`media.mimeTypes.jpeg`)},{value:`image/gif`,label:h(`media.mimeTypes.gif`)},{value:`image/webp`,label:h(`media.mimeTypes.webp`)},{value:`image/svg+xml`,label:h(`media.mimeTypes.svg`)},{value:`application/pdf`,label:h(`media.mimeTypes.pdf`)},{value:`video/mp4`,label:h(`media.mimeTypes.mp4`)},{value:`audio/mpeg`,label:h(`media.mimeTypes.mp3`)}]},onChange:e=>{L(e),X()}}),ve,ye),m($,c(n,{variant:`secondary`,onClick:()=>void X(),get children(){return h(`media.toolbar.searchBtn`)}}),xe,Se),m(i,c(s,{get when(){return k().length>0},get fallback(){return(()=>{var e=g(ee);return m(e,()=>h(`media.empty`)),e})()},get children(){var e=g(C);return m(e,c(u,{get each(){return k()},children:e=>(()=>{var t=g(T),n=t.firstChild,r=n.nextSibling.firstChild,i=r.nextSibling;return t.$$click=()=>G(e),m(n,c(s,{get when(){return O(e)},get fallback(){return(()=>{var t=g(E);return m(t,()=>e.mime_type.split(`/`)[1]?.toUpperCase()??`FILE`),t})()},get children(){var t=g(te);return o(n=>{var r=e.url,i=e.alt??e.filename;return r!==n.e&&v(t,`src`,n.e=r),i!==n.t&&v(t,`alt`,n.t=i),n},{e:void 0,t:void 0}),t}})),m(r,()=>e.filename),m(i,()=>D(e.size)),o(n=>{var i=W()?.id===e.id,a=e.filename;return i!==n.e&&t.classList.toggle(`media-card--selected`,n.e=i),a!==n.t&&v(r,`title`,n.t=a),n},{e:void 0,t:void 0}),f(),t})()})),e}}),we,Te),m(i,c(e,{get page(){return M()},limit:24,get total(){return ie()},onPageChange:e=>{N(e),Y()}}),De,Oe),m(i,c(s,{get when(){return W()},children:e=>(()=>{var r=g(re),i=r.firstChild,a=i.nextSibling,l=a.nextSibling,u=l.firstChild,p=u.nextSibling,_=p.nextSibling,y=_.nextSibling,b=y.nextSibling,x=b.nextSibling,S=x.nextSibling,C=S.nextSibling.firstChild,w=C.nextSibling,te=l.nextSibling,[T,E]=d(te.nextSibling),k=T.nextSibling,[A,ie]=d(k.nextSibling),j=A.nextSibling,M=j.firstChild,[N,P]=d(M.nextSibling),F=N.nextSibling,[I,L]=d(F.nextSibling),R=I.nextSibling,[z,B]=d(R.nextSibling);return m(i,()=>h(`media.details.title`)),m(a,c(s,{get when(){return O(e())},get fallback(){return(()=>{var t=g(ee);return m(t,()=>e().mime_type),t})()},get children(){var t=g(ne);return o(n=>{var r=e().url,i=e().alt??``;return r!==n.e&&v(t,`src`,n.e=r),i!==n.t&&v(t,`alt`,n.t=i),n},{e:void 0,t:void 0}),t}})),m(u,()=>h(`media.details.file`)),m(p,()=>e().filename),m(_,()=>h(`media.details.type`)),m(y,()=>e().mime_type),m(b,()=>h(`media.details.size`)),m(x,()=>D(e().size)),m(S,()=>h(`media.details.url`)),m(C,()=>e().url),w.$$click=()=>void ce(e().url),m(w,()=>h(`media.details.copy`)),m(r,c(t,{name:`media-alt`,get label(){return h(`media.details.alt`)},get value(){return e().alt??``},onInput:t=>G({...e(),alt:t})}),T,E),m(r,c(t,{name:`media-caption`,get label(){return h(`media.details.caption`)},get value(){return e().caption??``},onInput:t=>G({...e(),caption:t})}),A,ie),m(j,c(n,{variant:`primary`,get disabled(){return q()},get loading(){return q()},onClick:()=>void se(),get children(){return h(`media.details.save`)}}),N,P),m(j,c(n,{variant:`danger`,onClick:()=>void oe(e()),get children(){return h(`media.details.delete`)}}),I,L),m(j,c(n,{variant:`secondary`,onClick:()=>G(null),get children(){return h(`media.details.close`)}}),z,B),f(),r})()}),Ae,je),o(e=>{var t=!!(ae()||p.focusUpload),n=H();return t!==e.e&&V.classList.toggle(`upload-zone--active`,e.e=t),n!==e.t&&l(fe,`disabled`,e.t=n),e},{e:void 0,t:void 0}),i})()}p([`click`]);export{k as MediaLibrary};
@@ -0,0 +1 @@
1
+ import{C as e,E as t,S as n,_ as r,b as i,d as a,g as o,i as s,l as c,n as l,o as u,p as d,r as f,s as p,u as m}from"./web.D1H9RxZL.js";import{t as h}from"./i18n.CLOpd2JA.js";import{t as g}from"./api.DTNuyqvx.js";var _=d(`<div class="notice notice--error">`),ee=d(`<div class=post-types-manager><!$><!/><form class=card><h3></h3><div class=form-grid><label><!$><!/><input class=input required pattern=[a-z0-9_]+></label><label><!$><!/><input class=input required></label><label><!$><!/><input class=input required></label></div><fieldset class=supports><legend></legend><!$><!/><label><input type=checkbox> <!$><!/></label></fieldset><button type=submit class="btn btn-primary"></button></form><table class=table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),v=d(`<label><input type=checkbox> <!$><!/>`),te=d(`<button type=button class="btn btn-danger">`),y=d(`<tr><td></td><td></td><td></td><td></td><td></td><td></td><td>`);function b(){let{t:l}=h(),[d,b]=e([]),[x,S]=e(``),[C,w]=e(!1),ne=[{value:`title`,label:l(`settings.postTypes.form.supportsOptions.title`)},{value:`editor`,label:l(`settings.postTypes.form.supportsOptions.editor`)},{value:`thumbnail`,label:l(`settings.postTypes.form.supportsOptions.thumbnail`)},{value:`excerpt`,label:l(`settings.postTypes.form.supportsOptions.excerpt`)},{value:`revisions`,label:l(`settings.postTypes.form.supportsOptions.revisions`)}],[T,E]=e({name:``,slug:``,singularLabel:``,pluralLabel:``,hasArchive:!1,supports:[`title`,`editor`]}),D=async()=>{try{b(await g.getContentTypes())}catch(e){S(e instanceof Error?e.message:String(e))}};t(D);let re=async e=>{e.preventDefault(),S(``),w(!0);try{await g.createContentType({name:T().slug,slug:T().slug,singularLabel:T().singularLabel,pluralLabel:T().pluralLabel,hasArchive:T().hasArchive,supports:T().supports}),E({name:``,slug:``,singularLabel:``,pluralLabel:``,hasArchive:!1,supports:[`title`,`editor`]}),await D()}catch(e){S(e instanceof Error?e.message:String(e))}finally{w(!1)}},ie=async e=>{try{await g.deleteContentType(e),await D()}catch(e){S(e instanceof Error?e.message:String(e))}};return(()=>{var e=f(ee),t=e.firstChild,[h,g]=s(t.nextSibling),b=h.nextSibling,S=b.firstChild,w=S.nextSibling,D=w.firstChild,ae=D.firstChild,[O,k]=s(ae.nextSibling),A=O.nextSibling,j=D.nextSibling,M=j.firstChild,[N,oe]=s(M.nextSibling),P=N.nextSibling,F=j.nextSibling,I=F.firstChild,[L,R]=s(I.nextSibling),z=L.nextSibling,B=w.nextSibling,V=B.firstChild,H=V.nextSibling,[U,W]=s(H.nextSibling),G=U.nextSibling,K=G.firstChild,se=K.nextSibling.nextSibling,[ce,le]=s(se.nextSibling),q=B.nextSibling,J=b.nextSibling.firstChild,Y=J.firstChild.firstChild,X=Y.nextSibling,Z=X.nextSibling,Q=Z.nextSibling,$=Q.nextSibling,ue=$.nextSibling,de=J.nextSibling;return u(e,i(r,{get when(){return x()},get children(){var e=f(_);return u(e,x),e}}),h,g),b.addEventListener(`submit`,re),u(S,()=>l(`settings.postTypes.form.title`)),u(D,()=>l(`settings.postTypes.form.slug`),O,k),A.$$input=e=>E({...T(),slug:e.currentTarget.value}),u(j,()=>l(`settings.postTypes.form.singular`),N,oe),P.$$input=e=>E({...T(),singularLabel:e.currentTarget.value}),u(F,()=>l(`settings.postTypes.form.plural`),L,R),z.$$input=e=>E({...T(),pluralLabel:e.currentTarget.value}),u(V,()=>l(`settings.postTypes.form.supports`)),u(B,i(o,{get each(){return[...ne]},children:e=>(()=>{var t=f(v),r=t.firstChild,i=r.nextSibling.nextSibling,[o,c]=s(i.nextSibling);return r.addEventListener(`change`,t=>E({...T(),supports:t.currentTarget.checked?[...T().supports,e.value]:T().supports.filter(t=>t!==e.value)})),u(t,()=>e.label,o,c),n(()=>a(r,`checked`,T().supports.includes(e.value))),t})()}),U,W),K.addEventListener(`change`,e=>E({...T(),hasArchive:e.currentTarget.checked})),u(G,()=>l(`settings.postTypes.form.hasArchive`),ce,le),u(q,()=>l(`settings.postTypes.form.create`)),u(Y,()=>l(`settings.postTypes.table.slug`)),u(X,()=>l(`settings.postTypes.table.singular`)),u(Z,()=>l(`settings.postTypes.table.plural`)),u(Q,()=>l(`settings.postTypes.table.source`)),u($,()=>l(`settings.postTypes.table.supports`)),u(ue,()=>l(`settings.postTypes.table.archive`)),u(de,i(o,{get each(){return d()},children:e=>(()=>{var t=f(y),n=t.firstChild,a=n.nextSibling,o=a.nextSibling,s=o.nextSibling,d=s.nextSibling,m=d.nextSibling,h=m.nextSibling;return u(n,()=>e.slug),u(a,()=>e.singularLabel),u(o,()=>e.pluralLabel),u(s,()=>e.source??l(`settings.postTypes.sources.admin`)),u(d,()=>(e.supports??[]).join(`, `)),u(m,(()=>{var t=p(()=>!!e.hasArchive);return()=>t()?l(`common.yes`):l(`common.no`)})()),u(h,i(r,{get when(){return e.source!==`CORE`},get children(){var t=f(te);return t.$$click=()=>ie(e.slug),u(t,()=>l(`settings.postTypes.table.actions.remove`)),c(),t}})),t})()})),n(e=>{var t=l(`settings.postTypes.form.slugHint`),n=C();return t!==e.e&&m(A,`title`,e.e=t),n!==e.t&&a(q,`disabled`,e.t=n),e},{e:void 0,t:void 0}),n(()=>a(A,`value`,T().slug)),n(()=>a(P,`value`,T().singularLabel)),n(()=>a(z,`value`,T().pluralLabel)),n(()=>a(K,`checked`,T().hasArchive)),c(),e})()}l([`input`,`click`]);export{b as PostTypesManager};
@@ -0,0 +1,17 @@
1
+ import{C as e,E as t,S as n,b as r,d as i,g as a,i as o,l as s,n as c,o as l,p as u,r as d,s as f,u as p}from"./web.D1H9RxZL.js";import{t as m}from"./i18n.CLOpd2JA.js";import{t as h}from"./api.DTNuyqvx.js";import{DashboardWidget as g}from"./AtGlanceWidget.CbAM9D09.js";var _=u(`<div class=quick-draft-wrapper><div class=quick-draft-content-wrapper>`),v=u(`<style>
2
+ .quick-draft-form { display: flex; flex-direction: column; gap: 1rem; }
3
+ .form-group textarea { min-height: 100px; resize: vertical; font-family: inherit; }
4
+ .drafts-list h4 { margin-bottom: 1rem; }
5
+ .draft-item {
6
+ display: flex; flex-direction: column; gap: 0.5rem;
7
+ padding: 0.75rem; background: var(--color-surface);
8
+ border: 1px solid var(--color-border); border-radius: var(--radius-md);
9
+ text-decoration: none; color: inherit; transition: all 0.15s ease;
10
+ }
11
+ .draft-item:hover { border-color: var(--color-primary); background: var(--color-surface-hover); }
12
+ .draft-info { display: flex; flex-direction: column; gap: 0.25rem; }
13
+ .draft-title { font-weight: 600; color: var(--color-text); }
14
+ .draft-meta { display: flex; gap: 0.5rem; font-size: 0.8125rem; color: var(--color-muted); }
15
+ .status-draft { color: var(--color-warning); font-weight: 500; }
16
+ .draft-date { font-size: 0.75rem; }
17
+ `),y=u(`<div class=skeleton>Loading...`),b=u(`<div class=quick-draft-content><form class=quick-draft-form><div class=form-group><label for=quick-draft-title></label><input type=text id=quick-draft-title class=input required></div><div class=form-group><label for=quick-draft-content></label><textarea id=quick-draft-content class=input rows=4></textarea></div><div class=form-actions><button type=submit class="btn btn-primary"></button><button type=button class="btn btn-secondary"></button></div></form><div class=drafts-section>`),x=u(`<span class=spinner>`),S=u(`<div class=drafts-list><h4></h4><!$><!/>`),C=u(`<a class=draft-item><div class=draft-info><span class=draft-title></span><span class=draft-meta><span class=status-draft></span><span class=draft-date>`),w=u(`<p class=empty-state>`);function T(){let{t:c}=m(),[u,T]=e([]),[E,D]=e(!0),[O,k]=e(!1),[A,j]=e(``),[M,N]=e(``);t(async()=>{try{let e=await h.getContent({type:`post`,status:`DRAFT`,limit:5});T(e.data??[])}catch(e){console.error(`Failed to load drafts:`,e)}finally{D(!1)}});let P=async e=>{if(e.preventDefault(),A().trim()){k(!0);try{let e=await h.createContent({type:`post`,title:A(),slug:A().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/(^-|-$)/g,``),excerpt:M(),status:`DRAFT`,body:{content:M()}});T([e,...u()]),j(``),N(``)}catch(e){console.error(`Failed to save draft:`,e)}finally{k(!1)}}},F=e=>e?new Date(e).toLocaleDateString(`pt-BR`,{day:`2-digit`,month:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`}):``;return r(g,{get title(){return c(`dashboard.widgets.quickDraft.title`)},panelId:`quick-draft`,get children(){return[(()=>{var e=d(_),t=e.firstChild;return l(t,(()=>{var e=f(()=>!!E());return()=>e()?d(y):(()=>{var e=d(b),t=e.firstChild,m=t.firstChild,h=m.firstChild,g=h.nextSibling,_=m.nextSibling,v=_.firstChild,y=v.nextSibling,T=_.nextSibling.firstChild,E=T.nextSibling,D=t.nextSibling;return t.addEventListener(`submit`,P),l(h,()=>c(`dashboard.widgets.quickDraft.heading`)),g.$$input=e=>j(e.currentTarget.value),l(v,()=>c(`dashboard.widgets.quickDraft.content`)),y.$$input=e=>N(e.currentTarget.value),l(T,(()=>{var e=f(()=>!!O());return()=>e()?d(x):c(`dashboard.widgets.quickDraft.save`)})()),E.$$click=()=>{j(``),N(``)},l(E,()=>c(`common.cancel`)),l(D,(()=>{var e=f(()=>u().length>0);return()=>e()?(()=>{var e=d(S),t=e.firstChild,i=t.nextSibling,[s,f]=o(i.nextSibling);return l(t,()=>c(`dashboard.widgets.quickDraft.yourDrafts`)),l(e,r(a,{get each(){return u()},children:e=>(()=>{var t=d(C),r=t.firstChild.firstChild,i=r.nextSibling.firstChild,a=i.nextSibling;return l(r,()=>e.title),l(i,()=>c(`content.list.statuses.draft`)),l(a,()=>F(e.updated_at)),n(()=>p(t,`href`,`/content/edit?id=${e.id}`)),t})()}),s,f),e})():(()=>{var e=d(w);return l(e,()=>c(`dashboard.widgets.quickDraft.noDrafts`)),e})()})()),n(e=>{var t=c(`dashboard.widgets.quickDraft.headingPlaceholder`),n=c(`dashboard.widgets.quickDraft.contentPlaceholder`),r=O();return t!==e.e&&p(g,`placeholder`,e.e=t),n!==e.t&&p(y,`placeholder`,e.t=n),r!==e.a&&i(T,`disabled`,e.a=r),e},{e:void 0,t:void 0,a:void 0}),n(()=>i(g,`value`,A())),n(()=>i(y,`value`,M())),s(),e})()})()),e})(),d(v)]}})}c([`input`,`click`]);export{T as QuickDraftWidget};
@@ -0,0 +1,70 @@
1
+ import{C as e,E as t,S as n,T as r,_ as i,b as a,d as o,i as s,l as c,n as l,o as u,p as d,r as f,u as p}from"./web.D1H9RxZL.js";import{t as m}from"./i18n.CLOpd2JA.js";var h=d(`<div class=screen-options-panel role=region><div class=screen-options-header><h3></h3><button class=screen-options-close type=button><svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><line x1=18 y1=6 x2=6 y2=18></line><line x1=6 y1=6 x2=18 y2=18></line></svg></button></div><div class=screen-options-content><fieldset><legend></legend><div class=screen-options-checkboxes></div></fieldset><div class=screen-options-footer><button class="btn btn-primary">`),g=d(`<div class=screen-options><button class=screen-options-trigger type=button><svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><path d="M6 9l6 6 6-6"></path></svg><span></span><svg class=chevron width=14 height=14 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 aria-hidden=true><path d="M6 9l6 6 6-6"></path></svg></button><!$><!/>`),_=d(`<style>
2
+ .screen-options { position: relative; }
3
+ .screen-options-trigger {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ gap: 0.5rem;
7
+ padding: 0.375rem 0.75rem;
8
+ background: var(--color-surface);
9
+ border: 1px solid var(--color-border);
10
+ border-radius: var(--radius-md);
11
+ color: var(--color-text);
12
+ font-size: 0.8125rem;
13
+ font-weight: 500;
14
+ cursor: pointer;
15
+ transition: all 0.15s;
16
+ }
17
+ .screen-options-trigger:hover {
18
+ background: var(--color-surface-hover);
19
+ border-color: var(--color-primary);
20
+ }
21
+ .screen-options-trigger .chevron {
22
+ transition: transform 0.15s;
23
+ flex-shrink: 0;
24
+ }
25
+ .screen-options-trigger[aria-expanded="true"] .chevron {
26
+ transform: rotate(180deg);
27
+ }
28
+ .screen-options-panel {
29
+ position: absolute;
30
+ top: calc(100% + 0.5rem);
31
+ right: 0;
32
+ min-width: 280px;
33
+ background: var(--color-surface);
34
+ border: 1px solid var(--color-border);
35
+ border-radius: var(--radius-lg);
36
+ box-shadow: var(--shadow-xl);
37
+ z-index: 1000;
38
+ animation: slideIn 0.15s ease-out;
39
+ }
40
+ @keyframes slideIn { from { opacity: 0; transform: translateY(-0.5rem); } to { opacity: 1; transform: translateY(0); } }
41
+ .screen-options-header {
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: space-between;
45
+ padding: 1rem;
46
+ border-bottom: 1px solid var(--color-border);
47
+ }
48
+ .screen-options-header h3 { font-size: 0.875rem; font-weight: 600; }
49
+ .screen-options-close {
50
+ background: none; border: none; padding: 0.25rem;
51
+ color: var(--color-muted); cursor: pointer; border-radius: var(--radius-sm);
52
+ }
53
+ .screen-options-close:hover { background: var(--color-background); color: var(--color-text); }
54
+ .screen-options-content { padding: 1rem; }
55
+ .screen-options-content fieldset { border: none; margin: 0; padding: 0; }
56
+ .screen-options-content legend {
57
+ font-size: 0.75rem; font-weight: 600; text-transform: uppercase;
58
+ color: var(--color-muted); letter-spacing: 0.04em; margin-bottom: 0.75rem;
59
+ }
60
+ .screen-options-checkboxes { display: flex; flex-direction: column; gap: 0.5rem; }
61
+ .screen-options-checkbox {
62
+ display: flex; align-items: center; gap: 0.5rem;
63
+ padding: 0.5rem; border-radius: var(--radius-md);
64
+ cursor: pointer; transition: background 0.15s;
65
+ }
66
+ .screen-options-checkbox:hover { background: var(--color-background); }
67
+ .screen-options-checkbox input { width: 16px; height: 16px; accent-color: var(--color-primary); }
68
+ .screen-options-checkbox span { font-size: 0.8125rem; color: var(--color-text); }
69
+ .screen-options-footer { display: flex; justify-content: flex-end; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-border); }
70
+ `),v=d(`<label class=screen-options-checkbox><input type=checkbox><span>`),y=`screen-options`;function b(){try{return JSON.parse(localStorage.getItem(y)??`{}`)}catch{return{}}}function x(l){let{t:d}=m(),[x,S]=e(!1),[C,w]=e({...Object.fromEntries(l.panels.map(e=>[e.id,e.defaultOpen!==!1])),...b()}),T=()=>S(!x()),E=(e,t)=>{let n={...C(),[e]:t};w(n);try{localStorage.setItem(y,JSON.stringify(n))}catch{}window.dispatchEvent(new CustomEvent(`screen-options-change`,{detail:n}))},D=e=>{e.target.closest(`.screen-options`)||S(!1)};return t(()=>{document.addEventListener(`click`,D)}),r(()=>{document.removeEventListener(`click`,D)}),[(()=>{var e=f(g),t=e.firstChild,r=t.firstChild.nextSibling,m=t.nextSibling,[_,y]=s(m.nextSibling);return t.$$click=T,u(r,()=>d(`screenOptions.title`)),u(e,a(i,{get when(){return x()},get children(){var e=f(h),t=e.firstChild,r=t.firstChild,i=r.nextSibling,a=t.nextSibling.firstChild,s=a.firstChild,m=s.nextSibling,g=a.nextSibling.firstChild;return u(r,()=>d(`screenOptions.title`)),i.$$click=T,u(s,()=>d(`screenOptions.showOnScreen`)),u(m,()=>l.panels.map(e=>(()=>{var t=f(v),r=t.firstChild,i=r.nextSibling;return r.addEventListener(`change`,t=>E(e.id,t.currentTarget.checked)),u(i,()=>e.label),n(()=>o(r,`checked`,C()[e.id]??e.defaultOpen!==!1)),t})())),g.$$click=T,u(g,()=>d(`common.close`)),n(t=>{var n=d(`screenOptions.title`),r=d(`common.close`);return n!==t.e&&p(e,`aria-label`,t.e=n),r!==t.t&&p(i,`aria-label`,t.t=r),t},{e:void 0,t:void 0}),c(),e}}),_,y),n(e=>{var n=x(),r=d(`screenOptions.label`);return n!==e.e&&p(t,`aria-expanded`,e.e=n),r!==e.t&&p(t,`aria-label`,e.t=r),e},{e:void 0,t:void 0}),c(),e})(),f(_)]}l([`click`]);export{x as ScreenOptions};
@@ -0,0 +1 @@
1
+ import{C as e,E as t,S as n,_ as r,b as i,d as a,g as o,i as s,l as c,n as l,o as u,p as d,r as f,s as p,u as m}from"./web.D1H9RxZL.js";import{t as h}from"./i18n.CLOpd2JA.js";import{t as g}from"./api.DTNuyqvx.js";var _=d(`<div class="notice notice--error">`),v=d(`<div class=taxonomies-manager><!$><!/><form class=card><h3></h3><div class=form-grid><label><!$><!/><input class=input required></label><label><!$><!/><input class=input pattern=[a-z0-9_]*></label><label><input type=checkbox> <!$><!/></label></div><fieldset><legend></legend><!$><!/></fieldset><button type=submit class="btn btn-primary"></button></form><table class=table><thead><tr><th></th><th></th><th></th><th></th></tr></thead><tbody>`),y=d(`<label><input type=checkbox> <!$><!/> (<!$><!/>)`),b=d(`<button type=button class="btn btn-danger">`),x=d(`<tr><td><!$><!/> (<!$><!/>)</td><td></td><td></td><td>`),ee=d(`<label style=margin-right:0.75rem><input type=checkbox> <!$><!/>`);function S(){let{t:l}=h(),[d,S]=e([]),[C,w]=e([]),[T,E]=e(``),[D,O]=e(!1),[k,A]=e({name:``,slug:``,hierarchical:!1,attachTo:[]}),j=async()=>{try{let[e,t]=await Promise.all([g.getTaxonomies(),g.getContentTypes()]);S(e),w(t)}catch(e){E(e instanceof Error?e.message:String(e))}};t(j);let M=async e=>{e.preventDefault(),E(``),O(!0);try{await g.createTaxonomy({name:k().name,slug:k().slug||void 0,hierarchical:k().hierarchical,attachTo:k().attachTo,labels:{singular_name:k().name}}),A({name:``,slug:``,hierarchical:!1,attachTo:[]}),await j()}catch(e){E(e instanceof Error?e.message:String(e))}finally{O(!1)}},N=async(e,t)=>{let n=e.attachTo?.includes(t);try{n?await g.detachTaxonomy(e.slug,t):await g.attachTaxonomy(e.slug,t),await j()}catch(e){E(e instanceof Error?e.message:String(e))}},P=async e=>{try{await g.deleteTaxonomy(e),await j()}catch(e){E(e instanceof Error?e.message:String(e))}};return(()=>{var e=f(v),t=e.firstChild,[h,g]=s(t.nextSibling),S=h.nextSibling,w=S.firstChild,E=w.nextSibling,O=E.firstChild,j=O.firstChild,[F,I]=s(j.nextSibling),L=F.nextSibling,R=O.nextSibling,z=R.firstChild,[B,V]=s(z.nextSibling),H=B.nextSibling,U=R.nextSibling,W=U.firstChild,G=W.nextSibling.nextSibling,[K,q]=s(G.nextSibling),J=E.nextSibling,Y=J.firstChild,te=Y.nextSibling,[ne,re]=s(te.nextSibling),X=J.nextSibling,Z=S.nextSibling.firstChild,Q=Z.firstChild.firstChild,$=Q.nextSibling,ie=$.nextSibling,ae=Z.nextSibling;return u(e,i(r,{get when(){return T()},get children(){var e=f(_);return u(e,T),e}}),h,g),S.addEventListener(`submit`,M),u(w,()=>l(`settings.taxonomies.form.title`)),u(O,()=>l(`settings.taxonomies.form.name`),F,I),L.$$input=e=>A({...k(),name:e.currentTarget.value}),u(R,()=>l(`settings.taxonomies.form.slug`),B,V),H.$$input=e=>A({...k(),slug:e.currentTarget.value}),W.addEventListener(`change`,e=>A({...k(),hierarchical:e.currentTarget.checked})),u(U,()=>l(`settings.taxonomies.form.hierarchical`),K,q),u(Y,()=>l(`settings.taxonomies.form.attachTo`)),u(J,i(o,{get each(){return C()},children:e=>(()=>{var t=f(y),r=t.firstChild,i=r.nextSibling.nextSibling,[o,c]=s(i.nextSibling),l=o.nextSibling.nextSibling,[d,p]=s(l.nextSibling);return d.nextSibling,r.addEventListener(`change`,t=>A({...k(),attachTo:t.currentTarget.checked?[...k().attachTo,e.slug]:k().attachTo.filter(t=>t!==e.slug)})),u(t,()=>e.pluralLabel,o,c),u(t,()=>e.slug,d,p),n(()=>a(r,`checked`,k().attachTo.includes(e.slug))),t})()}),ne,re),u(X,()=>l(`settings.taxonomies.form.create`)),u(Q,()=>l(`settings.taxonomies.table.taxonomy`)),u($,()=>l(`settings.taxonomies.table.hierarchical`)),u(ie,()=>l(`settings.taxonomies.table.attachedTypes`)),u(ae,i(o,{get each(){return d()},children:e=>(()=>{var t=f(x),d=t.firstChild,m=d.firstChild,[h,g]=s(m.nextSibling),_=h.nextSibling.nextSibling,[v,y]=s(_.nextSibling);v.nextSibling;var S=d.nextSibling,w=S.nextSibling,T=w.nextSibling;return u(d,()=>e.name,h,g),u(d,()=>e.slug,v,y),u(S,(()=>{var t=p(()=>!!e.hierarchical);return()=>t()?l(`common.yes`):l(`common.no`)})()),u(w,i(o,{get each(){return C()},children:t=>(()=>{var r=f(ee),i=r.firstChild,o=i.nextSibling.nextSibling,[c,l]=s(o.nextSibling);return i.addEventListener(`change`,()=>N(e,t.slug)),u(r,()=>t.slug,c,l),n(()=>a(i,`checked`,e.attachTo?.includes(t.slug)??!1)),r})()})),u(T,i(r,{get when(){return e.source!==`CORE`},get children(){var t=f(b);return t.$$click=()=>P(e.slug),u(t,()=>l(`settings.taxonomies.table.actions.remove`)),c(),t}})),t})()})),n(e=>{var t=l(`settings.taxonomies.form.slugHint`),n=D();return t!==e.e&&m(H,`title`,e.e=t),n!==e.t&&a(X,`disabled`,e.t=n),e},{e:void 0,t:void 0}),n(()=>a(L,`value`,k().name)),n(()=>a(H,`value`,k().slug)),n(()=>a(W,`checked`,k().hierarchical)),c(),e})()}l([`input`,`click`]);export{S as TaxonomiesManager};
@@ -0,0 +1 @@
1
+ import{C as e,E as t,S as n,_ as r,b as i,d as a,g as o,i as s,l as c,n as l,o as u,p as d,r as f,s as p}from"./web.D1H9RxZL.js";import{t as m}from"./i18n.CLOpd2JA.js";import{t as h}from"./api.DTNuyqvx.js";var ee=d(`<div class="notice notice--error">`),g=d(`<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>`),te=d(`<option><!$><!/> (<!$><!/>)`);function _(){let{t:l}=m(),[d,_]=e(``),[v,ne]=e(``),[y,re]=e(``),[b,x]=e(``),[S,C]=e([]),[w,T]=e(``),[E,D]=e(!1);t(async()=>{try{let e=await h.listRoles();C(e),x(e.find(e=>e.slug===`EDITOR`)?.id??e[0]?.id??``)}catch{}});let ie=async e=>{if(e.preventDefault(),T(``),y().length<8){T(l(`users.detail.passwordError`));return}D(!0);try{await h.createUser({name:d(),email:v(),password:y(),roleId:b()||void 0}),window.location.href=`/users`}catch(e){T(e instanceof Error?e.message:String(e)),D(!1)}};return(()=>{var e=f(g),t=e.firstChild,[m,h]=s(t.nextSibling),C=m.nextSibling,T=C.firstChild,D=T.nextSibling,O=D.firstChild,ae=O.firstChild,[k,A]=s(ae.nextSibling),j=k.nextSibling,M=O.nextSibling,N=M.firstChild,[P,oe]=s(N.nextSibling),F=P.nextSibling,I=M.nextSibling,se=I.firstChild,[L,R]=s(se.nextSibling),z=L.nextSibling,B=z.nextSibling,V=I.nextSibling,H=V.firstChild,[U,W]=s(H.nextSibling),G=U.nextSibling,K=G.firstChild,ce=K.nextSibling,[le,ue]=s(ce.nextSibling),q=D.nextSibling,de=q.firstChild,[J,fe]=s(de.nextSibling),pe=J.nextSibling.nextSibling,[Y,me]=s(pe.nextSibling),X=Y.nextSibling.nextSibling,[Z,he]=s(X.nextSibling),ge=Z.nextSibling.nextSibling,[Q,_e]=s(ge.nextSibling);Q.nextSibling;var $=q.nextSibling.firstChild,ve=$.nextSibling;return u(e,i(r,{get when(){return w()},get children(){var e=f(ee);return u(e,w),e}}),m,h),C.addEventListener(`submit`,ie),u(T,()=>l(`users.new`)),u(O,()=>l(`users.detail.fields.name`),k,A),j.$$input=e=>_(e.currentTarget.value),u(M,()=>l(`users.detail.fields.email`),P,oe),F.$$input=e=>ne(e.currentTarget.value),u(I,()=>l(`users.detail.fields.password`),L,R),u(z,()=>l(`users.detail.passwordPrompt`,{email:``})),B.$$input=e=>re(e.currentTarget.value),u(V,()=>l(`users.detail.fields.role`),U,W),G.addEventListener(`change`,e=>x(e.currentTarget.value)),u(K,()=>l(`users.detail.rolePlaceholder`)),u(G,i(o,{get each(){return S()},children:e=>(()=>{var t=f(te),r=t.firstChild,[i,o]=s(r.nextSibling),c=i.nextSibling.nextSibling,[l,d]=s(c.nextSibling);return l.nextSibling,u(t,()=>e.name,i,o),u(t,()=>e.slug,l,d),n(()=>a(t,`value`,e.id)),t})()}),le,ue),u(q,()=>l(`common.save`),J,fe),u(q,()=>l(`users.new`).toLowerCase(),Y,me),u(q,()=>l(`users.detail.fields.role`),Z,he),u(q,()=>l(`users.toolbar.newBtn`).toLowerCase(),Q,_e),u($,(()=>{var e=p(()=>!!E());return()=>e()?l(`common.loading`):l(`common.create`)})()),u(ve,()=>l(`common.back`)),n(()=>a($,`disabled`,E())),n(()=>a(j,`value`,d())),n(()=>a(F,`value`,v())),n(()=>a(B,`value`,y())),n(()=>a(G,`value`,b())),c(),e})()}l([`input`]);export{_ as UserCreateForm};
@@ -0,0 +1 @@
1
+ import{a as e,i as t,n,o as r,t as i}from"./src.Cgonpfb5.js";import{C as a,E as o,S as s,_ as c,b as l,d as u,g as d,i as f,l as p,n as m,o as h,p as g,r as _}from"./web.D1H9RxZL.js";import{t as v}from"./i18n.CLOpd2JA.js";import{t as y}from"./api.DTNuyqvx.js";var b=g(`<div class="notice notice--error">`),x=g(`<div class=notice>`),S=g(`<table class=users-table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),C=g(`<div class=users-manager><!$><!/><!$><!/><div class=toolbar><!$><!/><!$><!/><a class="btn btn-primary"href=/users/new></a><!$><!/></div><!$><!/><!$><!/><!$><!/>`),w=g(`<p class=muted>`),ee=g(`<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><!$><!/><!$><!/>`),T=g(`<span class=muted>`),te=g(`<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><!$><!/><!$><!/><!$><!/>`),E=g(`<option><!$><!/> (<!$><!/>)`);function D(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleString(`pt-BR`)}function O(){let{t:m}=v(),[g,O]=a([]),[k,A]=a([]),[j,M]=a(0),[N,P]=a(1),[F,I]=a(``),[L,R]=a(``),[z,B]=a(``),[V,H]=a(``),[U,W]=a(null),[G,K]=a(!1),q=async()=>{try{let e=await y.listUsers({page:N(),limit:20,search:F()||void 0,status:L()||void 0});O(e.data??[]),M(e.total??0)}catch(e){B(e instanceof Error?e.message:String(e))}};o(async()=>{await q();try{A(await y.listRoles())}catch{}});let J=async()=>{P(1),await q()},ne=async(e,t)=>{if(t){K(!0),B(``);try{let n=await y.assignRole(e.id,t);W({...e,roles:n.roles}),H(m(`users.detail.toasts.roleUpdated`,{name:e.name})),await q()}catch(e){B(e instanceof Error?e.message:String(e))}finally{K(!1)}}},re=async e=>{let t=prompt(m(`users.detail.passwordPrompt`,{email:e.email}));if(t){if(t.length<8){B(m(`users.detail.passwordError`));return}K(!0),B(``);try{await y.setUserPassword(e.id,t),H(m(`users.detail.toasts.passwordChanged`,{name:e.name}))}catch(e){B(e instanceof Error?e.message:String(e))}finally{K(!1)}}},ie=async e=>{K(!0),B(``);try{await y.updateUser(e.id,{name:e.name,email:e.email,status:e.status}),H(m(`users.detail.toasts.saved`,{name:e.name})),W(null),await q()}catch(e){B(e instanceof Error?e.message:String(e))}finally{K(!1)}},Y=async e=>{if(confirm(m(`users.detail.confirmDelete`,{email:e.email}))){K(!0),B(``);try{await y.deleteUser(e.id),U()?.id===e.id&&W(null),H(m(`users.detail.toasts.deleted`,{name:e.name})),await q()}catch(e){B(e instanceof Error?e.message:String(e))}finally{K(!1)}}},ae=e=>k().find(t=>t.slug===e.roles[0]);return(()=>{var a=_(C),o=a.firstChild,[v,y]=f(o.nextSibling),O=v.nextSibling,[A,M]=f(O.nextSibling),B=A.nextSibling,H=B.firstChild,[K,X]=f(H.nextSibling),Z=K.nextSibling,[Q,oe]=f(Z.nextSibling),$=Q.nextSibling,se=$.nextSibling,[ce,le]=f(se.nextSibling),ue=B.nextSibling,[de,fe]=f(ue.nextSibling),pe=de.nextSibling,[me,he]=f(pe.nextSibling),ge=me.nextSibling,[_e,ve]=f(ge.nextSibling);return h(a,l(c,{get when(){return z()},get children(){var e=_(b);return h(e,z),e}}),v,y),h(a,l(c,{get when(){return V()},get children(){var e=_(x);return h(e,V),e}}),A,M),h(B,l(t,{name:`user-search`,get placeholder(){return m(`users.toolbar.search`)},get value(){return F()},onInput:e=>{I(e),J()}}),K,X),h(B,l(r,{name:`user-status`,get placeholder(){return m(`users.toolbar.allStatus`)},get value(){return L()},get options(){return[{value:`ACTIVE`,label:m(`users.toolbar.active`)},{value:`INACTIVE`,label:m(`users.toolbar.inactive`)}]},onChange:e=>{R(e),J()}}),Q,oe),h($,()=>m(`users.toolbar.newBtn`)),h(B,l(n,{variant:`secondary`,onClick:()=>void J(),get children(){return m(`users.toolbar.searchBtn`)}}),ce,le),h(a,l(c,{get when(){return g().length>0},get fallback(){return(()=>{var e=_(w);return h(e,()=>m(`users.empty`)),e})()},get children(){var e=_(S),t=e.firstChild,r=t.firstChild.firstChild,a=r.nextSibling,o=a.nextSibling,u=o.nextSibling,p=u.nextSibling,v=t.nextSibling;return h(r,()=>m(`users.table.name`)),h(a,()=>m(`users.table.email`)),h(o,()=>m(`users.table.role`)),h(u,()=>m(`users.table.status`)),h(p,()=>m(`users.table.lastAccess`)),h(v,l(d,{get each(){return g()},children:e=>(()=>{var t=_(ee),r=t.firstChild,a=r.nextSibling,o=a.nextSibling,u=o.nextSibling,d=u.firstChild,p=d.nextSibling,[g,v]=f(p.nextSibling),y=u.nextSibling,b=y.nextSibling,x=b.firstChild,[S,C]=f(x.nextSibling),w=S.nextSibling,[te,E]=f(w.nextSibling);return h(r,()=>e.name),h(a,()=>e.email),h(o,l(c,{get when(){return e.roles.length>0},get fallback(){return(()=>{var e=_(T);return h(e,()=>m(`users.noRole`)),e})()},get children(){return l(i,{get children(){return e.roles.join(`, `)}})}})),h(u,()=>m(`common.status.`+e.status.toLowerCase()),g,v),h(y,()=>D(e.last_login_at)),h(b,l(n,{variant:`secondary`,size:`sm`,onClick:()=>W(e),get children(){return m(`users.table.actions.manage`)}}),S,C),h(b,l(n,{variant:`danger`,size:`sm`,onClick:()=>void Y(e),get children(){return m(`users.table.actions.delete`)}}),te,E),s(n=>{var r=U()?.id===e.id,i=e.status===`ACTIVE`;return r!==n.e&&t.classList.toggle(`users-table__row--selected`,n.e=r),i!==n.t&&d.classList.toggle(`status-dot--active`,n.t=i),n},{e:void 0,t:void 0}),t})()})),e}}),de,fe),h(a,l(e,{get page(){return N()},limit:20,get total(){return j()},onPageChange:e=>{P(e),q()}}),me,he),h(a,l(c,{get when(){return U()},children:e=>(()=>{var t=_(te),r=t.firstChild,i=r.nextSibling,a=i.firstChild,o=a.firstChild,[c,g]=f(o.nextSibling),v=c.nextSibling,y=a.nextSibling,b=y.firstChild,[x,S]=f(b.nextSibling),C=x.nextSibling,w=y.nextSibling,ee=w.firstChild,[T,O]=f(ee.nextSibling),A=T.nextSibling,j=A.firstChild,M=j.nextSibling,N=w.nextSibling,P=N.firstChild,[F,I]=f(P.nextSibling),L=F.nextSibling,R=L.firstChild,z=R.nextSibling,[B,V]=f(z.nextSibling),H=i.nextSibling,U=H.nextSibling,K=U.firstChild,[q,J]=f(K.nextSibling),Y=q.nextSibling,[X,Z]=f(Y.nextSibling),Q=X.nextSibling,[oe,$]=f(Q.nextSibling);return h(r,()=>m(`users.detail.title`)),h(a,()=>m(`users.detail.fields.name`),c,g),v.$$input=t=>W({...e(),name:t.currentTarget.value}),h(y,()=>m(`users.detail.fields.email`),x,S),C.$$input=t=>W({...e(),email:t.currentTarget.value}),h(w,()=>m(`users.detail.fields.status`),T,O),A.addEventListener(`change`,t=>W({...e(),status:t.currentTarget.value})),h(j,()=>m(`users.detail.statusOptions.active`)),h(M,()=>m(`users.detail.statusOptions.inactive`)),h(N,()=>m(`users.detail.fields.role`),F,I),L.addEventListener(`change`,t=>void ne(e(),t.currentTarget.value)),h(R,()=>m(`users.detail.rolePlaceholder`)),h(L,l(d,{get each(){return k()},children:e=>(()=>{var t=_(E),n=t.firstChild,[r,i]=f(n.nextSibling),a=r.nextSibling.nextSibling,[o,c]=f(a.nextSibling);return o.nextSibling,h(t,()=>e.name,r,i),h(t,()=>e.slug,o,c),s(()=>u(t,`value`,e.id)),t})()}),B,V),h(H,()=>m(`users.detail.meta`,{created:D(e().created_at),lastAccess:D(e().last_login_at)})),h(U,l(n,{variant:`primary`,get disabled(){return G()},get loading(){return G()},onClick:()=>void ie(e()),get children(){return m(`users.detail.actions.save`)}}),q,J),h(U,l(n,{variant:`secondary`,get disabled(){return G()},onClick:()=>void re(e()),get children(){return m(`users.detail.actions.resetPassword`)}}),X,Z),h(U,l(n,{variant:`secondary`,onClick:()=>W(null),get children(){return m(`users.detail.actions.close`)}}),oe,$),s(()=>u(L,`disabled`,G())),s(()=>u(v,`value`,e().name)),s(()=>u(C,`value`,e().email)),s(()=>u(A,`value`,e().status)),s(()=>u(L,`value`,ae(e())?.id??``)),p(),t})()}),_e,ve),a})()}m([`input`]);export{O as UsersManager};
@@ -0,0 +1 @@
1
+ var e=new class{baseUrl;csrfToken=null;isRefreshing=!1;constructor(e=`http://localhost:3000`){this.baseUrl=e}async init(){try{await fetch(`${this.baseUrl}/api/v1/auth/me`,{credentials:`include`})}catch{}}async isLoggedIn(){try{return(await fetch(`${this.baseUrl}/api/v1/auth/me`,{credentials:`include`})).ok}catch{return!1}}async getTenantId(){try{let e=await fetch(`${this.baseUrl}/api/v1/auth/me`,{credentials:`include`});return e.ok?(await e.json()).tenantId??null:null}catch{return null}}async getUserLocale(){try{let e=await fetch(`${this.baseUrl}/api/v1/users/me/locale`,{credentials:`include`});return e.ok?(await e.json()).locale??`pt-BR`:`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 login(e){return await this.request(`POST`,`/api/v1/auth/login`,e)}async logout(){await this.request(`POST`,`/api/v1/auth/logout`,{}),this.csrfToken=null}async refreshTokens(){if(!this.isRefreshing){this.isRefreshing=!0;try{await this.request(`POST`,`/api/v1/auth/refresh`,{})}finally{this.isRefreshing=!1}}}async request(e,t,n,r){let i=`${this.baseUrl}${t}`,a={"Content-Type":`application/json`,...r};if(![`GET`,`HEAD`,`OPTIONS`].includes(e.toUpperCase())){let e=this.getCsrfToken();e&&(a[`x-csrf-token`]=e)}let o=await fetch(i,{method:e,headers:a,credentials:`include`,body:n?JSON.stringify(n):void 0});if(o.status===401&&!t.includes(`/auth/refresh`)&&!t.includes(`/auth/logout`)&&(await this.refreshTokens(),o=await fetch(i,{method:e,headers:a,credentials:`include`,body:n?JSON.stringify(n):void 0})),!o.ok){let e=await o.json().catch(()=>({error:`Request failed`}));throw Error(e.error??`Request failed: ${o.status}`)}let s=o.headers.get(`set-cookie`);if(s){let e=s.match(/csrf_token=([^;]+)/);e?.[1]&&(this.csrfToken=e[1])}return o.json()}getCsrfToken(){if(this.csrfToken)return this.csrfToken;if(typeof document<`u`){let e=document.cookie.match(/(?:^|;\s*)csrf_token=([^;]+)/);if(e?.[1])return e[1]}return null}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),this.request(`GET`,`/api/v1/content?${t.toString()}`)}async getContentById(e){return this.request(`GET`,`/api/v1/content/${e}`)}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){return this.request(`POST`,`/api/v1/content/${e}/publish`)}async unpublishContent(e){return this.request(`POST`,`/api/v1/content/${e}/unpublish`)}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 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 createFieldGroup(e){return this.request(`POST`,`/api/v1/field-groups`,e)}async getFieldTypes(e){let t=e?`?category=${encodeURIComponent(e)}`:``;return this.request(`GET`,`/api/v1/field-types${t}`)}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,t){let n=new FormData;n.append(`file`,e),t?.alt&&n.append(`alt`,t.alt),t?.caption&&n.append(`caption`,t.caption);let r=`${this.baseUrl}/api/v1/media/upload`,i={},a=this.getCsrfToken();a&&(i[`x-csrf-token`]=a);let o=await fetch(r,{method:`POST`,headers:i,credentials:`include`,body:n});if(!o.ok){let e=await o.json().catch(()=>({error:`Upload failed: ${o.status}`}));throw Error(e.error??`Upload failed: ${o.status}`)}return o.json()}async updateMedia(e,t){return this.request(`PUT`,`/api/v1/media/${e}`,t)}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 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`),manifest:e.manifest??null}))}};export{e as t};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`الإدارة`,nav:{dashboard:`لوحة التحكم`,content:`المحتوى`,media:`الوسائط`,users:`المستخدمون`,settings:`الإعدادات`},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:`تم حفظ المحتوى بنجاح.`}},r={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} ملف(ات) ✓`}},i={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}؟`}},a={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:`إزالة`}}}},o={title:`تسجيل الدخول`,subtitle:`سجّل دخولك إلى حسابك`,email:`البريد الإلكتروني`,password:`كلمة المرور`,submit:`دخول`,failed:`البريد الإلكتروني أو كلمة المرور غير صالحة`},s={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:`اللغة`},c={justNow:`الآن`,minAgo:`دقيقة مضت`,ago:`مضت`,published:`منشور`,updated:`تم التحديث`,newUser:`مستخدم جديد: {name}`},l={mainMenu:`القائمة الرئيسية`,notifications:`الإشعارات`,notificationsEmpty:`لا يوجد نشاط حديث`,settings:`الإعدادات`,toggleSidebar:`تبديل الشريط الجانبي`,userMenu:`قائمة المستخدم`},u={copyright:`© 2026 OkCMS. جميع الحقوق محفوظة.`,links:`الروابط`,website:`الموقع`,github:`GitHub`,docs:`التوثيق`,community:`المجتمع`,poweredBy:`مدعوم من OkCMS`},d={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>`}}},f={title:`خيارات الشاشة`,label:`خيارات الشاشة`,showOnScreen:`إظهار على الشاشة`},p={layout:e,dashboard:t,content:n,media:r,users:i,settings:a,login:o,common:s,activity:c,adminBar:l,footer:u,helpTabs:d,screenOptions:f};export{c as activity,l as adminBar,s as common,n as content,t as dashboard,p as default,u as footer,d as helpTabs,e as layout,o as login,r as media,f as screenOptions,a as settings,i as users};
@@ -1 +1 @@
1
- import{C as e,a as t,b as n,c as r,h as i,m as a,v as o,w as s,y as c}from"./web.D_vCtCLj.js";var l=Symbol(`store-raw`),u=Symbol(`store-node`),d=Symbol(`store-has`),f=Symbol(`store-self`);function p(e){let t=e[a];if(!t&&(Object.defineProperty(e,a,{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[a]||!(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 _(t,n,r){if(t[n])return t[n];let[i,a]=e(r,{equals:!1,internal:!0});return i.$=a,t[n]=i}function v(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===a||t===u?n:(delete n.value,delete n.writable,n.get=()=>e[a][t],n)}function y(e){s()&&_(g(e,u),f)()}function b(e){return y(e),Reflect.ownKeys(e)}var x={get(e,t,n){if(t===l)return e;if(t===a)return n;if(t===i)return y(e),n;let r=g(e,u),o=r[t],c=o?o():e[t];if(t===u||t===d||t===`__proto__`)return c;if(!o){let n=Object.getOwnPropertyDescriptor(e,t);s()&&(typeof c!=`function`||Object.prototype.hasOwnProperty.call(e,t))&&!(n&&n.get)&&(c=_(r,t,c)())}return m(c)?p(c):c},has(e,t){return t===l||t===a||t===i||t===u||t===d||t===`__proto__`||(s()&&_(g(e,d),t)(),t 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||{}),r=Array.isArray(n),i=p(n);function a(...e){c(()=>{r&&e.length===1?T(n,e[0]):E(n,e)})}return[i,a]}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=e=>(i,a,s,{client:c})=>{if(!e.hasAttribute(`ssr`))return;let l=c!==`only`,u,d={};if(Object.keys(s).length>0){if(c!==`only`){let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,t=>t===e?NodeFilter.FILTER_SKIP:t.nodeName===`ASTRO-SLOT`?NodeFilter.FILTER_ACCEPT:t.nodeName===`ASTRO-ISLAND`?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP);for(;u=t.nextNode();)d[u.getAttribute(`name`)||`default`]=u}for(let[e,t]of Object.entries(s))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=e.dataset.solidRenderId;if(M.has(e))M.get(e)(j({...a,...p,children:f}));else{let[s,c]=D({...a,...p,children:f});M.set(e,c);let u=()=>{let e=()=>n(i,s);return l?n(o,{get children(){return e()}}):e()},d;l?d=t(u,e,{renderId:m}):(e.innerHTML=``,d=r(u,e)),e.addEventListener(`astro:unmount`,()=>d(),{once:!0})}};export{N as default};
1
+ import{C as e,a as t,b as n,c as r,h as i,m as a,v as o,w as s,y as c}from"./web.D1H9RxZL.js";var l=Symbol(`store-raw`),u=Symbol(`store-node`),d=Symbol(`store-has`),f=Symbol(`store-self`);function p(e){let t=e[a];if(!t&&(Object.defineProperty(e,a,{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[a]||!(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 _(t,n,r){if(t[n])return t[n];let[i,a]=e(r,{equals:!1,internal:!0});return i.$=a,t[n]=i}function v(e,t){let n=Reflect.getOwnPropertyDescriptor(e,t);return!n||n.get||!n.configurable||t===a||t===u?n:(delete n.value,delete n.writable,n.get=()=>e[a][t],n)}function y(e){s()&&_(g(e,u),f)()}function b(e){return y(e),Reflect.ownKeys(e)}var x={get(e,t,n){if(t===l)return e;if(t===a)return n;if(t===i)return y(e),n;let r=g(e,u),o=r[t],c=o?o():e[t];if(t===u||t===d||t===`__proto__`)return c;if(!o){let n=Object.getOwnPropertyDescriptor(e,t);s()&&(typeof c!=`function`||Object.prototype.hasOwnProperty.call(e,t))&&!(n&&n.get)&&(c=_(r,t,c)())}return m(c)?p(c):c},has(e,t){return t===l||t===a||t===i||t===u||t===d||t===`__proto__`||(s()&&_(g(e,d),t)(),t 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||{}),r=Array.isArray(n),i=p(n);function a(...e){c(()=>{r&&e.length===1?T(n,e[0]):E(n,e)})}return[i,a]}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=e=>(i,a,s,{client:c})=>{if(!e.hasAttribute(`ssr`))return;let l=c!==`only`,u,d={};if(Object.keys(s).length>0){if(c!==`only`){let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,t=>t===e?NodeFilter.FILTER_SKIP:t.nodeName===`ASTRO-SLOT`?NodeFilter.FILTER_ACCEPT:t.nodeName===`ASTRO-ISLAND`?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP);for(;u=t.nextNode();)d[u.getAttribute(`name`)||`default`]=u}for(let[e,t]of Object.entries(s))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=e.dataset.solidRenderId;if(M.has(e))M.get(e)(j({...a,...p,children:f}));else{let[s,c]=D({...a,...p,children:f});M.set(e,c);let u=()=>{let e=()=>n(i,s);return l?n(o,{get children(){return e()}}):e()},d;l?d=t(u,e,{renderId:m}):(e.innerHTML=``,d=r(u,e)),e.addEventListener(`astro:unmount`,()=>d(),{once:!0})}};export{N as default};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Dashboard`,content:`Content`,media:`Media`,users:`Users`,settings:`Settings`},actions:{logout:`Logout`,newPost:`New Post`,uploadMedia:`Upload Media`,addUser:`Add User`,openSettings:`Settings`}},t={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`,version:`Version`,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.`}}},n={list:{title:`Content`,description:`Search, filter, edit and publish your content.`,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`,search:`Search`},empty:`No content found.`,statuses:{draft:`Draft`,published:`Published`,archived:`Archived`},confirmDelete:`Delete "{title}"?`,toasts:{published:`Content published ✓`,unpublished:`Content unpublished ✓`}},editor:{type:`Type`,title:`Title`,slug:`Slug`,excerpt:`Excerpt`,featuredImage:`Featured Image (media ID)`,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.`}},r={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`,file:`File`,type:`Type`,size:`Size`,url:`URL`,copy:`Copy`,alt:`Alt text`,caption:`Caption`,save:`Save details`,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`},toasts:{uploaded:`{count} file(s) uploaded ✓`}},i={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}?`}},a={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)`,create:`Create`},table:{slug:`Slug`,singular:`Singular`,plural:`Plural`,source:`Source`,supports:`Supports`,archive:`Archive`,actions:{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`}}}},o={title:`Login`,subtitle:`Sign in to your account`,email:`Email`,password:`Password`,submit:`Sign In`,failed:`Invalid email or password`},s={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`},c={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`},u={copyright:`© 2026 OkCMS. All rights reserved.`,links:`Links`,website:`Website`,github:`GitHub`,docs:`Documentation`,community:`Community`,poweredBy:`Powered by OkCMS`},d={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>`}}},f={title:`Screen Options`,label:`Screen Options`,showOnScreen:`Show on screen`},p={layout:e,dashboard:t,content:n,media:r,users:i,settings:a,login:o,common:s,activity:c,adminBar:l,footer:u,helpTabs:d,screenOptions:f};export{c as activity,l as adminBar,s as common,n as content,t as dashboard,p as default,u as footer,d as helpTabs,e as layout,o as login,r as media,f as screenOptions,a as settings,i as users};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Panel`,content:`Contenido`,media:`Medios`,users:`Usuarios`,settings:`Ajustes`},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.`}},r={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) ✓`}},i={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}?`}},a={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`}}}},o={title:`Iniciar Sesión`,subtitle:`Accede a tu cuenta`,email:`Email`,password:`Contraseña`,submit:`Entrar`,failed:`Correo o contraseña no válidos`},s={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`},c={justNow:`ahora mismo`,minAgo:`minutos atrás`,ago:`atrás`,published:`Publicado`,updated:`Actualizado`,newUser:`Nuevo usuario: {name}`},l={mainMenu:`Menú principal`,notifications:`Notificaciones`,notificationsEmpty:`Sin actividad reciente`,settings:`Ajustes`,toggleSidebar:`Alternar barra lateral`,userMenu:`Menú de usuario`},u={copyright:`© 2026 OkCMS. Todos los derechos reservados.`,links:`Enlaces`,website:`Sitio web`,github:`GitHub`,docs:`Documentación`,community:`Comunidad`,poweredBy:`Desarrollado con OkCMS`},d={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>`}}},f={title:`Opciones de pantalla`,label:`Opciones de pantalla`,showOnScreen:`Mostrar en pantalla`},p={layout:e,dashboard:t,content:n,media:r,users:i,settings:a,login:o,common:s,activity:c,adminBar:l,footer:u,helpTabs:d,screenOptions:f};export{c as activity,l as adminBar,s as common,n as content,t as dashboard,p as default,u as footer,d as helpTabs,e as layout,o as login,r as media,f as screenOptions,a as settings,i as users};
@@ -1 +1 @@
1
- import"./src.DX_xrAwd.js";import{C as e,S as t,T as n,_ as r,b as i,g as a,i as o,n as s,o as c,p as l,r as u,s as d,t as f,u as p}from"./web.D_vCtCLj.js";var m=l(`<a class=sidebar__link><!$><!/> <!$><!/>`),h=l(`<span aria-hidden=true>`);function g(e){let n=()=>e.extensions.menuPages.filter(t=>e.can(t.capability??`read`));return i(a,{get each(){return n()},children:e=>(()=>{var n=u(m),r=n.firstChild,[i,a]=o(r.nextSibling),s=i.nextSibling.nextSibling,[l,f]=o(s.nextSibling);return c(n,(()=>{var t=d(()=>!!e.icon);return()=>t()?(()=>{var t=u(h);return c(t,()=>e.icon),t})():null})(),i,a),c(n,()=>e.label,l,f),t(()=>p(n,`href`,`/plugins/${e.slug}`)),n})()})}s([`click`]);var _=l(`<div class=sidebar-plugins data-extensions=sidebar><!$><!/><!$><!/>`),v=l(`<div><span>`);function y(){return{menuPages:[],submenuPages:[],dashboardWidgets:[],metaBoxes:[],notices:[],columns:{},columnRenderers:{},actionLinks:[]}}function b(e){let t=y();for(let n of e){if(n.status!==`ACTIVE`)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 x(){let[s,l]=e(y());n(async()=>{try{let e=await fetch(`/api/v1/plugins`,{credentials:`include`});if(!e.ok)return;let t=await e.json();l(b(t))}catch{}});let d=()=>!0;return i(r,{get when(){return s().menuPages.length>0},get children(){var e=u(_),n=e.firstChild,[r,l]=o(n.nextSibling),m=r.nextSibling,[h,y]=o(m.nextSibling);return c(e,i(a,{get each(){return s().notices},children:e=>(()=>{var n=u(v),r=n.firstChild;return c(r,()=>e.message),t(t=>{var r=`notice notice--${e.level}`,i=e.id.split(`:`)[0];return r!==t.e&&f(n,t.e=r),i!==t.t&&p(n,`data-plugin`,t.t=i),t},{e:void 0,t:void 0}),n})()}),r,l),c(e,i(g,{get extensions(){return s()},can:d}),h,y),e}})}export{x as PluginExtensionsSlot,y as emptyExtensionsState,b as extensionsFromPlugins};
1
+ import"./src.Cgonpfb5.js";import{C as e,E as t,S as n,_ as r,b as i,g as a,i as o,n as s,o as c,p as l,r as u,s as d,t as f,u as p}from"./web.D1H9RxZL.js";var m=l(`<a class=sidebar__link><!$><!/> <!$><!/>`),h=l(`<span aria-hidden=true>`);function g(e){let t=()=>e.extensions.menuPages.filter(t=>e.can(t.capability??`read`));return i(a,{get each(){return t()},children:e=>(()=>{var t=u(m),r=t.firstChild,[i,a]=o(r.nextSibling),s=i.nextSibling.nextSibling,[l,f]=o(s.nextSibling);return c(t,(()=>{var t=d(()=>!!e.icon);return()=>t()?(()=>{var t=u(h);return c(t,()=>e.icon),t})():null})(),i,a),c(t,()=>e.label,l,f),n(()=>p(t,`href`,`/plugins/${e.slug}`)),t})()})}s([`click`]);var _=l(`<div class=sidebar-plugins data-extensions=sidebar><!$><!/><!$><!/>`),v=l(`<div><span>`);function y(){return{menuPages:[],submenuPages:[],dashboardWidgets:[],metaBoxes:[],notices:[],columns:{},columnRenderers:{},actionLinks:[]}}function b(e){let t=y();for(let n of e){if(n.status!==`ACTIVE`)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 x(){let[s,l]=e(y());t(async()=>{try{let e=await fetch(`/api/v1/plugins`,{credentials:`include`});if(!e.ok)return;let t=await e.json();l(b(t))}catch{}});let d=()=>!0;return i(r,{get when(){return s().menuPages.length>0},get children(){var e=u(_),t=e.firstChild,[r,l]=o(t.nextSibling),m=r.nextSibling,[h,y]=o(m.nextSibling);return c(e,i(a,{get each(){return s().notices},children:e=>(()=>{var t=u(v),r=t.firstChild;return c(r,()=>e.message),n(n=>{var r=`notice notice--${e.level}`,i=e.id.split(`:`)[0];return r!==n.e&&f(t,n.e=r),i!==n.t&&p(t,`data-plugin`,n.t=i),n},{e:void 0,t:void 0}),t})()}),r,l),c(e,i(g,{get extensions(){return s()},can:d}),h,y),e}})}export{x as PluginExtensionsSlot,y as emptyExtensionsState,b as extensionsFromPlugins};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`לוח בקרה`,content:`תוכן`,media:`מדיה`,users:`משתמשים`,settings:`הגדרות`},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:`התוכן נשמר בהצלחה.`}},r={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} קובץ(ים) הועלו ✓`}},i={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}?`}},a={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:`הסר`}}}},o={title:`התחברות`,subtitle:`התחבר לחשבונך`,email:`אימייל`,password:`סיסמה`,submit:`התחבר`,failed:`אימייל או סיסמה שגויים`},s={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:`שפה`},c={justNow:`עכשיו`,minAgo:`דקות לפני`,ago:`לפני`,published:`פורסם`,updated:`עודכן`,newUser:`משתמש חדש: {name}`},l={mainMenu:`תפריט ראשי`,notifications:`התראות`,notificationsEmpty:`אין פעילות אחרונה`,settings:`הגדרות`,toggleSidebar:`החלף סרגד צד`,userMenu:`תפריט משתמש`},u={copyright:`© 2026 OkCMS. כל הזכויות שמורות.`,links:`קישורים`,website:`אתר`,github:`GitHub`,docs:`תיעוד`,community:`קהילה`,poweredBy:`מונע על ידי OkCMS`},d={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>`}}},f={title:`אפשרויות מסך`,label:`אפשרויות מסך`,showOnScreen:`הצג במסך`},p={layout:e,dashboard:t,content:n,media:r,users:i,settings:a,login:o,common:s,activity:c,adminBar:l,footer:u,helpTabs:d,screenOptions:f};export{c as activity,l as adminBar,s as common,n as content,t as dashboard,p as default,u as footer,d as helpTabs,e as layout,o as login,r as media,f as screenOptions,a as settings,i as users};
@@ -0,0 +1 @@
1
+ import{C as e,E as t}from"./web.D1H9RxZL.js";import{t as n}from"./api.DTNuyqvx.js";var r=[`pt-BR`,`en`,`es-ES`,`ru`,`uk`,`tr`,`he`,`it`,`pl`,`zh-CN`,`ja`,`ar`,`sw`,`yo`,`zu`,`am`,`ha`,`ig`],i=`pt-BR`,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:`🇳🇬`},s=(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.`))))})},c=(function(){let e=typeof document<`u`&&document.createElement(`link`).relList;return e&&e.supports&&e.supports(`modulepreload`)?`modulepreload`:`preload`})(),l=function(e){return`/`+e},u={},d=function(e){return e.pathname.endsWith(`.css`)},f=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=l(t,n);let r=s(t);if(r.href in u)return;u[r.href]=!0;let i=d(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`:c,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)})},p=new Map;async function m(e){if(p.has(e))return p.get(e);try{let t=await s(Object.assign({"./locales/ar.json":()=>f(()=>import(`./ar.CzsjUutD.js`),[]),"./locales/en.json":()=>f(()=>import(`./en.DmN7xy_a.js`),[]),"./locales/es-ES.json":()=>f(()=>import(`./es-ES.p2TLEMlZ.js`),[]),"./locales/he.json":()=>f(()=>import(`./he.BnYHiYpn.js`),[]),"./locales/it.json":()=>f(()=>import(`./it.WrWKBEAD.js`),[]),"./locales/ja.json":()=>f(()=>import(`./ja.DxnfhIdt.js`),[]),"./locales/pl.json":()=>f(()=>import(`./pl.jUj-RfZS.js`),[]),"./locales/pt-BR.json":()=>f(()=>import(`./pt-BR.DtNwEO0i.js`),[]),"./locales/ru.json":()=>f(()=>import(`./ru.KFSfdjWn.js`),[]),"./locales/sw.json":()=>f(()=>import(`./sw.3jlAOLOv.js`),[]),"./locales/tr.json":()=>f(()=>import(`./tr.tnLMnGPg.js`),[]),"./locales/uk.json":()=>f(()=>import(`./uk.VquHY_xc.js`),[]),"./locales/yo.json":()=>f(()=>import(`./yo.Cr8hCb5u.js`),[]),"./locales/zh-CN.json":()=>f(()=>import(`./zh-CN.E32QqP4v.js`),[])}),`./locales/${e}.json`,3),n=t.default??t;return p.set(e,n),n}catch{return e===`en`?{}:m(`en`)}}var h=`admin_locale`;function g(){if(typeof document>`u`)return null;let e=document.cookie.match(RegExp(`(?:^|; )${h}=([^;]+)`));return e?.[1]&&r.includes(e[1])?e[1]:null}function _(e){typeof document<`u`&&(document.cookie=`${h}=${e}; path=/; max-age=31536000; SameSite=Lax`)}function v(){if(typeof navigator>`u`)return i;let e=navigator.language?.split(`-`)[0]?.toLowerCase(),t=navigator.language?.toLowerCase();for(let n of r)if(n.toLowerCase()===t||n.split(`-`)[0]===e)return n;return i}async function y(){try{let e=await n.getUserLocale();if(e&&r.includes(e))return e}catch{}return null}async function b(e){await n.setUserLocale(e)}async function x(){return g()||await y()||v()||i}async function S(e){_(e);try{await b(e)}catch{}}var C=new Map;function w(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 n;break}return typeof a==`string`?r?a.replace(/\{(\w+)\}/g,(e,t)=>String(r[t]??``)):a:n}}async function T(e){if(C.has(e))return C.get(e);let[t,n]=await Promise.all([m(e),m(`en`)]),r=w(t,n);return C.set(e,r),r}var E=e=>e,D=i,O=!0;function k(n){let[,r]=e(0);return t(async()=>{if(O){let e=n??await x();D=e,E=await T(e),O=!1,r(e=>e+1)}}),{t:(e,t)=>E(e,t),get locale(){return D},changeLocale:async e=>{O=!0,await S(e),D=e,E=await T(e),O=!1,r(e=>e+1)},get loading(){return O}}}export{r as i,o as n,a as r,k as t};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Dashboard`,content:`Contenuti`,media:`Media`,users:`Utenti`,settings:`Impostazioni`},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.`}},r={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 ✓`}},i={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}?`}},a={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`}}}},o={title:`Accesso`,subtitle:`Accedi al tuo account`,email:`Email`,password:`Password`,submit:`Accedi`,failed:`Email o password non validi`},s={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`},c={justNow:`proprio ora`,minAgo:`minuti fa`,ago:`fa`,published:`Pubblicato`,updated:`Aggiornato`,newUser:`Nuovo utente: {name}`},l={mainMenu:`Menu principale`,notifications:`Notifiche`,notificationsEmpty:`Nessuna attività recente`,settings:`Impostazioni`,toggleSidebar:`Attiva/disattiva barra laterale`,userMenu:`Menu utente`},u={copyright:`© 2026 OkCMS. Tutti i diritti riservati.`,links:`Collegamenti`,website:`Sito web`,github:`GitHub`,docs:`Documentazione`,community:`Comunità`,poweredBy:`Prodotto con OkCMS`},d={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>`}}},f={title:`Opzioni schermo`,label:`Opzioni schermo`,showOnScreen:`Mostra sullo schermo`},p={layout:e,dashboard:t,content:n,media:r,users:i,settings:a,login:o,common:s,activity:c,adminBar:l,footer:u,helpTabs:d,screenOptions:f};export{c as activity,l as adminBar,s as common,n as content,t as dashboard,p as default,u as footer,d as helpTabs,e as layout,o as login,r as media,f as screenOptions,a as settings,i as users};
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`管理画面`,nav:{dashboard:`ダッシュボード`,content:`コンテンツ`,media:`メディア`,users:`ユーザー`,settings:`設定`},actions:{logout:`ログアウト`,newPost:`新規投稿`,uploadMedia:`メディアアップロード`,addUser:`ユーザー追加`,openSettings:`設定`}},t={title:`ダッシュボード`,stats:{totalContent:`総コンテンツ数`,published:`公開済み`,drafts:`下書き`,mediaFiles:`メディアファイル`,users:`ユーザー数`},recent:{title:`最近のコンテンツ`,viewAll:`すべて見る`,empty:`コンテンツがありません — 最初の一つを作成しましょう!`,columns:{title:`タイトル`,type:`タイプ`,status:`ステータス`,updated:`更新日時`}},widgets:{atGlance:`一目瞭然`,posts:`投稿`,postsDesc:`公開済み / 下書き / ゴミ箱`,pages:`ページ`,pagesDesc:`公開済み / 下書き / ゴミ箱`,media:`メディア`,mediaDesc:`ライブラリ内のファイル`,users:`ユーザー`,usersDesc:`合計 / アクティブ / 非アクティブ`,version:`バージョン`,storage:`ストレージ`,quickDraft:{title:`クイック下書き`,heading:`タイトル`,headingPlaceholder:`下書きにタイトルを付ける`,content:`内容`,contentPlaceholder:`今どんなことを考えていますか?`,save:`下書きを保存`,yourDrafts:`あなたの下書き`,noDrafts:`まだ下書きはありません。`},activity:{title:`アクティビティ`,empty:`まだアクティビティはありません。`}}},n={list:{title:`コンテンツ`,description:`コンテンツを検索、フィルター、編集、公開します。`,columns:{title:`タイトル`,type:`タイプ`,status:`ステータス`,updated:`更新日時`},actions:{edit:`編集`,publish:`公開`,unpublish:`公開取り消し`,delete:`削除`},filters:{search:`コンテンツを検索…`,allTypes:`すべてのタイプ`,allStatus:`すべてのステータス`},buttons:{new:`+ 新規コンテンツ`,search:`検索`},empty:`コンテンツが見つかりません。`,statuses:{draft:`下書き`,published:`公開済み`,archived:`アーカイブ`},confirmDelete:`"{title}" を削除しますか?`,toasts:{published:`コンテンツを公開しました ✓`,unpublished:`公開を取り消しました ✓`}},editor:{type:`タイプ`,title:`タイトル`,slug:`スラッグ`,excerpt:`抜粋`,featuredImage:`アイキャッチ画像 (メディアID)`,status:`ステータス`,statusOptions:{draft:`下書き`,published:`公開済み`,archived:`アーカイブ`},layout:`レイアウト`,layoutAuto:`自動 (テーマの階層)`,customFields:`カスタムフィールド`,inspectTypes:`利用可能なタイプを確認`,save:`保存`,saved:`コンテンツを保存しました。`}},r={title:`メディアライブラリ`,description:"画像、動画、ドキュメントをアップロード・管理します。ファイルは `uploads/` に保存され、公開されます。",upload:{dropzone:`ファイルをここにドラッグするか`,select:`ファイルを選択`,uploading:`アップロード中…`,hint:`画像、動画、音声、ドキュメント · 1ファイル最大 25MB`},toolbar:{search:`名前や alt で検索…`,allTypes:`すべてのタイプ`,searchBtn:`検索`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`まだファイルがありません。最初のファイルをアップロードしましょう!`,details:{title:`詳細`,file:`ファイル`,type:`タイプ`,size:`サイズ`,url:`URL`,copy:`コピー`,alt:`代替テキスト`,caption:`キャプション`,save:`詳細を保存`,delete:`削除`,close:`閉じる`,confirmDelete:`"{filename}" を削除しますか? ファイルはディスクから削除されます。`,saved:`詳細を保存しました ✓`,copied:`URLをコピーしました ✓`,copyError:`URLをコピーできませんでした`},toasts:{uploaded:`{count} 件のファイルをアップロードしました ✓`}},i={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} を削除しますか?`}},a={general:{title:`一般`,description:`サイトに表示される基本情報。`,back:`← すべての設定`,fields:{siteTitle:`サイトタイトル`,siteTitlePlaceholder:`マイサイト`,siteDescription:`説明`,siteDescriptionPlaceholder:`OkCMSで作った新しいサイト`,language:`言語`,timezone:`タイムゾーン`,timezonePlaceholder:`Asia/Tokyo`},saved:`設定を保存しました ✓`,loading:`読み込み中…`,save:`保存`},postTypes:{title:`投稿タイプ`,description:`投稿と固定ページ以外のカスタム投稿タイプ (CPT) を作成します。`,form:{title:`投稿タイプを作成`,slug:`スラッグ (単数形、例: portfolio)`,slugHint:`小文字、数字、アンダースコアのみ`,singular:`単数形の名前`,plural:`複数形の名前`,supports:`サポート機能`,supportsOptions:{title:`タイトル`,editor:`エディター`,thumbnail:`アイキャッチ`,excerpt:`抜粋`,revisions:`リビジョン`},hasArchive:`公開アーカイブページあり (/slug)`,create:`作成`},table:{slug:`スラッグ`,singular:`単数形`,plural:`複数形`,source:`ソース`,supports:`サポート`,archive:`アーカイブ`,actions:{remove:`削除`}},sources:{admin:`管理画面`,core:`コア`}},taxonomies:{title:`タクソノミー`,description:`カスタムタクソノミーを作成し、投稿タイプに関連付けます。`,form:{title:`タクソノミーを作成`,name:`名前 (例: ジャンル)`,slug:`スラッグ (省略可、名前から生成)`,slugHint:`小文字、数字、アンダースコアのみ`,hierarchical:`階層型 (親/子タームを許可)`,attachTo:`投稿タイプに関連付け`,create:`作成`},table:{taxonomy:`タクソノミー`,hierarchical:`階層型`,attachedTypes:`関連付けられた投稿タイプ`,actions:{remove:`削除`}}}},o={title:`ログイン`,subtitle:`アカウントにログイン`,email:`メールアドレス`,password:`パスワード`,submit:`ログイン`,failed:`メールアドレスまたはパスワードが無効です`},s={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:`言語`},c={justNow:`たった今`,minAgo:`分前`,ago:`前`,published:`公開済み`,updated:`更新済み`,newUser:`新しいユーザー: {name}`},l={mainMenu:`メインメニュー`,notifications:`通知`,notificationsEmpty:`最近のアクティビティはありません`,settings:`設定`,toggleSidebar:`サイドバーを切り替え`,userMenu:`ユーザーメニュー`},u={copyright:`© 2026 OkCMS. 無断転載を禁じます。`,links:`リンク`,website:`ウェブサイト`,github:`GitHub`,docs:`ドキュメント`,community:`コミュニティ`,poweredBy:`OkCMS で動作`},d={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>`}}},f={title:`画面オプション`,label:`画面オプション`,showOnScreen:`画面に表示`},p={layout:e,dashboard:t,content:n,media:r,users:i,settings:a,login:o,common:s,activity:c,adminBar:l,footer:u,helpTabs:d,screenOptions:f};export{c as activity,l as adminBar,s as common,n as content,t as dashboard,p as default,u as footer,d as helpTabs,e as layout,o as login,r as media,f as screenOptions,a as settings,i as users};
@@ -0,0 +1 @@
1
+ import{t as e}from"./api.DTNuyqvx.js";var n=document.getElementById(`login-form`),r=document.getElementById(`error-message`),i=document.getElementById(`submit-text`),a=document.getElementById(`submit-spinner`);n?.addEventListener(`submit`,async o=>{o.preventDefault();let s=new FormData(n),c=s.get(`email`),l=s.get(`password`);i.style.display=`none`,a.style.display=`inline-block`,r.style.display=`none`;try{await e.login({email:c,password:l}),window.location.href=`/`}catch(e){r.textContent=e instanceof Error?e.message:t(`login.failed`),r.style.display=`block`}finally{i.style.display=`inline`,a.style.display=`none`}});
@@ -0,0 +1 @@
1
+ var e={appName:`OkCMS`,admin:`Admin`,nav:{dashboard:`Panel`,content:`Treści`,media:`Media`,users:`Użytkownicy`,settings:`Ustawienia`},actions:{logout:`Wyloguj`,newPost:`Nowy Wpis`,uploadMedia:`Prześlij Media`,addUser:`Dodaj Użytkownika`,openSettings:`Ustawienia`}},t={title:`Panel`,stats:{totalContent:`Wszystkie Treści`,published:`Opublikowane`,drafts:`Szkice`,mediaFiles:`Pliki Multimedialne`,users:`Użytkownicy`},recent:{title:`Ostatnie Treści`,viewAll:`Zobacz Wszystkie`,empty:`Brak treści — utwórz pierwszą!`,columns:{title:`Tytuł`,type:`Typ`,status:`Status`,updated:`Zaktualizowano`}},widgets:{atGlance:`W skrócie`,posts:`Wpisy`,postsDesc:`Opublikowane / Szkice / Kosz`,pages:`Strony`,pagesDesc:`Opublikowane / Szkice / Kosz`,media:`Media`,mediaDesc:`Pliki w bibliotece`,users:`Użytkownicy`,usersDesc:`Razem / Aktywni / Nieaktywni`,version:`Wersja`,storage:`Przechowywanie`,quickDraft:{title:`Szybki szkic`,heading:`Tytuł`,headingPlaceholder:`Nadaj swojemu szkicowi tytuł`,content:`Treść`,contentPlaceholder:`O czym myślisz?`,save:`Zapisz szkic`,yourDrafts:`Twoje szkice`,noDrafts:`Nie ma jeszcze szkiców.`},activity:{title:`Aktywność`,empty:`Brak aktywności.`}}},n={list:{title:`Treści`,description:`Szukaj, filtruj, edytuj i publikuj swoje treści.`,columns:{title:`Tytuł`,type:`Typ`,status:`Status`,updated:`Zaktualizowano`},actions:{edit:`Edytuj`,publish:`Opublikuj`,unpublish:`Cofnij Publikację`,delete:`Usuń`},filters:{search:`Szukaj treści…`,allTypes:`Wszystkie typy`,allStatus:`Wszystkie statusy`},buttons:{new:`+ Nowa Treść`,search:`Szukaj`},empty:`Nie znaleziono treści.`,statuses:{draft:`Szkic`,published:`Opublikowane`,archived:`Zarchiwizowane`},confirmDelete:`Usunąć "{title}"?`,toasts:{published:`Treść opublikowana ✓`,unpublished:`Publikacja cofnięta ✓`}},editor:{type:`Typ`,title:`Tytuł`,slug:`Slug`,excerpt:`Wstęp`,featuredImage:`Obrazek Wyróżniający (ID media)`,status:`Status`,statusOptions:{draft:`Szkic`,published:`Opublikowane`,archived:`Zarchiwizowane`},layout:`Układ`,layoutAuto:`Automatyczny (hierarchia motywu)`,customFields:`Pola Niestandardowe`,inspectTypes:`Zbadaj dostępne typy`,save:`Zapisz`,saved:`Treść zapisana pomyślnie.`}},r={title:`Biblioteka Multimedialna`,description:"Prześlij i zarządzaj obrazami, wideo i dokumentami. Pliki są w `uploads/` i serwowane publicznie.",upload:{dropzone:`Przeciągnij pliki tutaj lub`,select:`Wybierz pliki`,uploading:`Przesyłanie…`,hint:`Obrazy, wideo, audio i dokumenty · do 25MB na plik`},toolbar:{search:`Szukaj po nazwie lub alt…`,allTypes:`Wszystkie typy`,searchBtn:`Szukaj`},mimeTypes:{png:`PNG`,jpeg:`JPEG`,gif:`GIF`,webp:`WebP`,svg:`SVG`,pdf:`PDF`,mp4:`MP4`,mp3:`MP3`},empty:`Brak plików. Prześlij pierwszy!`,details:{title:`Szczegóły`,file:`Plik`,type:`Typ`,size:`Rozmiar`,url:`URL`,copy:`Kopiuj`,alt:`Tekst Alternatywny`,caption:`Opis`,save:`Zapisz Szczegóły`,delete:`Usuń`,close:`Zamknij`,confirmDelete:`Usunąć "{filename}"? Plik zostanie usunięty z dysku.`,saved:`Szczegóły zapisane ✓`,copied:`URL skopiowany ✓`,copyError:`Nie można skopiować URL`},toasts:{uploaded:`{count} plik(ów) przesłano ✓`}},i={title:`Użytkownicy`,description:`Zarządzaj kontami, rolami i dostępem do projektu.`,new:`Nowy Użytkownik`,toolbar:{search:`Szukaj po nazwie lub email…`,allStatus:`Wszystkie statusy`,active:`Aktywni`,inactive:`Nieaktywni`,newBtn:`+ Nowy użytkownik`,searchBtn:`Szukaj`},table:{name:`Imię`,email:`Email`,role:`Rola`,status:`Status`,lastAccess:`Ostatni Dostęp`,actions:{manage:`Zarządzaj`,delete:`Usuń`}},empty:`Nie znaleziono użytkowników.`,noRole:`Brak roli`,detail:{title:`Zarządzaj Użytkownikiem`,fields:{name:`Imię`,email:`Email`,status:`Status`,role:`Rola`,password:`Hasło`},statusOptions:{active:`Aktywny`,inactive:`Nieaktywny`},rolePlaceholder:`— brak roli —`,meta:`Utworzono {created} · ostatni dostęp {lastAccess}`,actions:{save:`Zapisz`,resetPassword:`Zresetuj Hasło`,close:`Zamknij`},passwordPrompt:`Nowe hasło dla {email} (min. 8 znaków):`,passwordError:`Hasło musi mieć min. 8 znaków`,toasts:{roleUpdated:`Rola {name} zaktualizowana ✓`,passwordChanged:`Hasło {name} zmienione ✓`,saved:`Użytkownik {name} zapisany ✓`,deleted:`Użytkownik {name} usunięty ✓`},confirmDelete:`Usunąć użytkownika {email}?`}},a={general:{title:`Ogólne`,description:`Podstawowe informacje wyświetlane na stronie.`,back:`← Wszystkie Ustawienia`,fields:{siteTitle:`Tytuł Strony`,siteTitlePlaceholder:`Moja Strona`,siteDescription:`Opis`,siteDescriptionPlaceholder:`Nowa strona z OkCMS`,language:`Język`,timezone:`Strefa Czasowa`,timezonePlaceholder:`Europe/Warsaw`},saved:`Ustawienia zapisane ✓`,loading:`Ładowanie…`,save:`Zapisz`},postTypes:{title:`Typy Treści`,description:`Twórz niestandardowe typy treści (CPT) poza Postami i Stronami.`,form:{title:`Utwórz Typ Treści`,slug:`Slug (liczba pojedyncza, np.: portfolio)`,slugHint:`Tylko małe litery, cyfry i podkreślenie`,singular:`Nazwa Liczby Pojedynczej`,plural:`Nazwa Liczby Mnogiej`,supports:`Obsługuje`,supportsOptions:{title:`Tytuł`,editor:`Edytor`,thumbnail:`Miniatura`,excerpt:`Wstęp`,revisions:`Rewizje`},hasArchive:`Posiada Publiczne Archiwum (/slug)`,create:`Utwórz`},table:{slug:`Slug`,singular:`Pojedyncza`,plural:`Mnoga`,source:`Źródło`,supports:`Obsługuje`,archive:`Archiwum`,actions:{remove:`Usuń`}},sources:{admin:`Admin`,core:`Core`}},taxonomies:{title:`Taksonomie`,description:`Twórz niestandardowe taksonomie i łącz je z typami treści.`,form:{title:`Utwórz Taksonomię`,name:`Nazwa (np.: Gatunek)`,slug:`Slug (opcjonalny, generowany z nazwy)`,slugHint:`Tylko małe litery, cyfry i podkreślenie`,hierarchical:`Hierarchiczna (pozwala na terminy rodzic/dziecko)`,attachTo:`Połącz z typami treści`,create:`Utwórz`},table:{taxonomy:`Taksonomia`,hierarchical:`Hierarchiczna`,attachedTypes:`Powiązane typy treści`,actions:{remove:`Usuń`}}}},o={title:`Logowanie`,subtitle:`Zaloguj się do swojego konta`,email:`Email`,password:`Hasło`,submit:`Zaloguj`,failed:`Nieprawidłowy email lub hasło`},s={save:`Zapisz`,cancel:`Anuluj`,delete:`Usuń`,edit:`Edytuj`,close:`Zamknij`,confirm:`Potwierdź`,loading:`Ładowanie…`,yes:`Tak`,no:`Nie`,search:`Szukaj`,filter:`Filtruj`,create:`Utwórz`,update:`Aktualizuj`,remove:`Usuń`,viewAll:`Zobacz Wszystkie`,back:`Wstecz`,next:`Dalej`,previous:`Poprzedni`,page:`Strona`,of:`z`,items:`elementów`,item:`element`,empty:`Nie znaleziono {items}.`,toast:{success:`✓`,error:`Błąd: {message}`},status:{active:`Aktywny`,inactive:`Nieaktywny`,draft:`Szkic`,published:`Opublikowane`,archived:`Zarchiwizowane`,locked:`Zablokowany`},language:`Język`},c={justNow:`przed chwilą`,minAgo:`minut temu`,ago:`temu`,published:`Opublikowano`,updated:`Zaktualizowano`,newUser:`Nowy użytkownik: {name}`},l={mainMenu:`Menu główne`,notifications:`Powiadomienia`,notificationsEmpty:`Brak ostatniej aktywności`,settings:`Ustawienia`,toggleSidebar:`Przełącz pasek boczny`,userMenu:`Menu użytkownika`},u={copyright:`© 2026 OkCMS. Wszelkie prawa zastrzeżone.`,links:`Linki`,website:`Strona internetowa`,github:`GitHub`,docs:`Dokumentacja`,community:`Społeczność`,poweredBy:`Napędzane przez OkCMS`},d={title:`Pomoc`,label:`Pomoc`,tabs:`Tematy pomocy`,topics:{overview:{label:`W skrócie`,content:`<h4>Witamy w panelu OkCMS</h4><p>Ten panel daje przegląd treści i aktywności Twojej witryny.</p><h4>Dostępne widżety</h4><ul><li><strong>W skrócie:</strong> przegląd wpisów, stron, mediów i użytkowników</li><li><strong>Szybki szkic:</strong> szybkie zapisywanie szkiców z panelu</li><li><strong>Aktywność:</strong> ostatnie aktywności i aktualizacje witryny</li></ul>`},content:{label:`Zarządzanie treścią`,content:`<h4>Zarządzanie treścią</h4><p>Twórz, edytuj i publikuj treści w sekcji Treści.</p><h4>Szybkie akcje</h4><ul><li>Kliknij "Nowa treść", aby utworzyć nowy wpis lub stronę</li><li>Używaj filtrów, aby znaleźć określoną treść</li><li>Akcje zbiorcze dostępne dla wielu elementów</li></ul>`},media:{label:`Biblioteka mediów`,content:`<h4>Zarządzanie mediami</h4><p>Przesyłaj i zarządzaj obrazami, filmami i dokumentami.</p><h4>Wskazówki</h4><ul><li>Przeciągnij pliki, aby je przesłać</li><li>Dodaj tekst alternatywny dla dostępności</li><li>Organizuj w folderach (wkrótce)</li></ul>`}}},f={title:`Opcje ekranu`,label:`Opcje ekranu`,showOnScreen:`Pokaż na ekranie`},p={layout:e,dashboard:t,content:n,media:r,users:i,settings:a,login:o,common:s,activity:c,adminBar:l,footer:u,helpTabs:d,screenOptions:f};export{c as activity,l as adminBar,s as common,n as content,t as dashboard,p as default,u as footer,d as helpTabs,e as layout,o as login,r as media,f as screenOptions,a as settings,i as users};