@bobbykim/manguito-cms-admin 0.6.2 → 0.6.4

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.
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-bDYuN8s-.js","assets/schema-DGpYmX9j.js","assets/ChangePasswordView-2g4WN8W1.js","assets/ContentListView-Dqeigsd6.js","assets/content-BbyFohW5.js","assets/Pagination-Bi7I6pas.js","assets/ContentFormView-BtRp4dKL.js","assets/form-state-BWi4MQBH.js","assets/MediaThumbnail-B1j3EJAS.js","assets/useNotification-CmqzkyhR.js","assets/ConfirmDialog-_23g_1zv.js","assets/useTabIndicator-CQE2dO2W.js","assets/ContentSettingsView-DXBl-Sgl.js","assets/TaxonomyListView-WriH284W.js","assets/taxonomy-C_3USBAZ.js","assets/TaxonomyFormView-FTESoS4u.js","assets/MediaLibraryView-Db4Ne4kw.js","assets/media-3GZT7Q_i.js","assets/MediaDetailView-Bvikhn1E.js","assets/UserListView-f37clqgU.js","assets/users-DyKJ5vRI.js","assets/UserFormView-BRMjuvR2.js","assets/RolesView-UWBl91JE.js"])))=>i.map(i=>d[i]);
2
- import{$ as e,B as t,D as n,E as r,G as i,H as a,I as o,J as s,K as c,M as l,N as u,O as d,Q as f,R as p,S as m,V as h,W as g,X as _,Y as v,Z as ee,_ as te,at as ne,b as y,c as b,ct as x,d as S,dt as C,et as w,f as re,g as T,h as E,i as ie,it as D,j as O,k as ae,l as k,lt as A,n as oe,nt as se,o as ce,ot as le,p as ue,q as de,r as fe,rt as pe,s as j,st as M,t as me,tt as he,u as N,ut as ge,v as _e,w as ve,y as ye,z as be}from"./schema-DGpYmX9j.js";var xe=void 0,Se=typeof window<`u`&&window.trustedTypes;if(Se)try{xe=Se.createPolicy(`vue`,{createHTML:e=>e})}catch{}var Ce=xe?e=>xe.createHTML(e):e=>e,we=`http://www.w3.org/2000/svg`,Te=`http://www.w3.org/1998/Math/MathML`,P=typeof document<`u`?document:null,Ee=P&&P.createElement(`template`),De={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?P.createElementNS(we,e):t===`mathml`?P.createElementNS(Te,e):n?P.createElement(e,{is:n}):P.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>P.createTextNode(e),createComment:e=>P.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>P.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Ee.innerHTML=Ce(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=Ee.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Oe=Symbol(`_vtc`);function ke(e,t,n){let r=e[Oe];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Ae=Symbol(`_vod`),je=Symbol(`_vsh`),Me=Symbol(``),Ne=/(?:^|;)\s*display\s*:/;function Pe(e,t,n){let r=e.style,i=D(n),a=!1;if(n&&!i){if(t)if(D(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Ie(r,t,``)}else for(let e in t)n[e]??Ie(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Ie(r,i,``):Be(e,i,!D(t)&&t?t[i]:void 0,o)||Ie(r,i,o)}}else if(i){if(t!==n){let e=r[Me];e&&(n+=`;`+e),r.cssText=n,a=Ne.test(n)}}else t&&e.removeAttribute(`style`);Ae in e&&(e[Ae]=a?r.display:``,e[je]&&(r.display=`none`))}var Fe=/\s*!important$/;function Ie(e,t,n){if(f(n))n.forEach(n=>Ie(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=ze(e,t);Fe.test(n)?e.setProperty(v(r),n.replace(Fe,``),`important`):e[r]=n}}var Le=[`Webkit`,`Moz`,`ms`],Re={};function ze(e,t){let n=Re[t];if(n)return n;let r=c(t);if(r!==`filter`&&r in e)return Re[t]=r;r=de(r);for(let n=0;n<Le.length;n++){let i=Le[n]+r;if(i in e)return Re[t]=i}return t}function Be(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&D(r)&&n===r}var Ve=`http://www.w3.org/1999/xlink`;function He(e,t,n,r,i,a=pe(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(Ve,t.slice(6,t.length)):e.setAttributeNS(Ve,t,n):n==null||a&&!_(n)?e.removeAttribute(t):e.setAttribute(t,a?``:ne(n)?String(n):n)}function Ue(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?Ce(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=_(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function F(e,t,n,r){e.addEventListener(t,n,r)}function We(e,t,n,r){e.removeEventListener(t,n,r)}var Ge=Symbol(`_vei`);function Ke(e,t,n,r,i=null){let a=e[Ge]||(e[Ge]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=Ye(t);r?F(e,n,a[t]=$e(r,i),s):o&&(We(e,n,o,s),a[t]=void 0)}}var qe=/(Once|Passive|Capture)$/,Je=/^on:?(?:Once|Passive|Capture)$/;function Ye(e){let t,n;for(;(n=e.match(qe))&&!Je.test(e);)t||={},e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===`:`?e.slice(3):v(e.slice(2)),t]}var Xe=0,Ze=Promise.resolve(),Qe=()=>Xe||=(Ze.then(()=>Xe=0),Date.now());function $e(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(f(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;n<i.length&&!e._stopped;n++){let e=i[n];e&&ce(e,t,5,a)}}else ce(r,t,5,[e])};return n.value=e,n.attached=Qe(),n}var et=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,tt=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?ke(e,r,o):t===`style`?Pe(e,n,r):he(t)?w(t)||Ke(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):nt(e,t,r,o))?(Ue(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&He(e,t,r,o,a,t!==`value`)):e._isVueCE&&(rt(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!D(r)))?Ue(e,c(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),He(e,t,r,o))};function nt(t,n,r,i){if(i)return!!(n===`innerHTML`||n===`textContent`||n in t&&et(n)&&e(r));if(n===`spellcheck`||n===`draggable`||n===`translate`||n===`autocorrect`||n===`sandbox`&&t.tagName===`IFRAME`||n===`form`||n===`list`&&t.tagName===`INPUT`||n===`type`&&t.tagName===`TEXTAREA`)return!1;if(n===`width`||n===`height`){let e=t.tagName;if(e===`IMG`||e===`VIDEO`||e===`CANVAS`||e===`SOURCE`)return!1}return et(n)&&D(r)?!1:n in t}function rt(e,t){let n=e._def.props;if(!n)return!1;let r=c(t);return Array.isArray(n)?n.some(e=>c(e)===r):Object.keys(n).some(e=>c(e)===r)}var it=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return f(t)?e=>ee(t,e):t};function at(e){e.target.composing=!0}function ot(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var I=Symbol(`_assign`);function st(e,t,n){return t&&(e=e.trim()),n&&(e=x(e)),e}var ct={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[I]=it(i);let a=r||i.props&&i.props.type===`number`;F(e,t?`change`:`input`,t=>{t.target.composing||e[I](st(e.value,n,a))}),(n||a)&&F(e,`change`,()=>{e.value=st(e.value,n,a)}),t||(F(e,`compositionstart`,at),F(e,`compositionend`,ot),F(e,`change`,ot))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[I]=it(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?x(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},lt={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=se(t);F(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?x(dt(e)):dt(e));e[I](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,m(()=>{e._assigning=!1})}),e[I]=it(r)},mounted(e,{value:t}){ut(e,t)},beforeUpdate(e,t,n){e[I]=it(n)},updated(e,{value:t}){e._assigning||ut(e,t)}};function ut(e,t){let n=e.multiple,r=f(t);if(!(n&&!r&&!se(t))){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=dt(a);if(n)if(r){let e=typeof o;e===`string`||e===`number`?a.selected=t.some(e=>String(e)===String(o)):a.selected=M(t,o)>-1}else a.selected=t.has(o);else if(le(dt(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function dt(e){return`_value`in e?e._value:e.value}var ft=[`ctrl`,`shift`,`alt`,`meta`],pt={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>ft.some(n=>e[`${n}Key`]&&!t.includes(n))},mt=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=pt[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},ht=s({patchProp:tt},De),gt;function _t(){return gt||=re(ht)}var vt=((...t)=>{let n=_t().createApp(...t),{mount:r}=n;return n.mount=t=>{let i=bt(t);if(!i)return;let a=n._component;!e(a)&&!a.render&&!a.template&&(a.template=i.innerHTML),i.nodeType===1&&(i.textContent=``);let o=r(i,!1,yt(i));return i instanceof Element&&(i.removeAttribute(`v-cloak`),i.setAttribute(`data-v-app`,``)),o},n});function yt(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function bt(e){return D(e)?document.querySelector(e):e}var L=typeof document<`u`;function xt(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function St(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&xt(e.default)}var R=Object.assign;function Ct(e,t){let n={};for(let r in t){let i=t[r];n[r]=z(i)?i.map(e):e(i)}return n}var wt=()=>{},z=Array.isArray;function Tt(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Et=/#/g,Dt=/&/g,Ot=/\//g,kt=/=/g,At=/\?/g,jt=/\+/g,Mt=/%5B/g,Nt=/%5D/g,Pt=/%5E/g,Ft=/%60/g,It=/%7B/g,Lt=/%7C/g,Rt=/%7D/g,zt=/%20/g;function Bt(e){return e==null?``:encodeURI(``+e).replace(Lt,`|`).replace(Mt,`[`).replace(Nt,`]`)}function Vt(e){return Bt(e).replace(It,`{`).replace(Rt,`}`).replace(Pt,`^`)}function Ht(e){return Bt(e).replace(jt,`%2B`).replace(zt,`+`).replace(Et,`%23`).replace(Dt,`%26`).replace(Ft,"`").replace(It,`{`).replace(Rt,`}`).replace(Pt,`^`)}function Ut(e){return Ht(e).replace(kt,`%3D`)}function Wt(e){return Bt(e).replace(Et,`%23`).replace(At,`%3F`)}function Gt(e){return Wt(e).replace(Ot,`%2F`)}function Kt(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var qt=/\/$/,Jt=e=>e.replace(qt,``);function Yt(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=nn(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Kt(o)}}function Xt(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Zt(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Qt(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&B(t.matched[r],n.matched[i])&&$t(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function B(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function $t(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!en(e[n],t[n]))return!1;return!0}function en(e,t){return z(e)?tn(e,t):z(t)?tn(t,e):e?.valueOf()===t?.valueOf()}function tn(e,t){return z(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function nn(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var V={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},rn=function(e){return e.pop=`pop`,e.push=`push`,e}({}),an=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function on(e){if(!e)if(L){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Jt(e)}var sn=/^[^#]+#/;function cn(e,t){return e.replace(sn,`#`)+t}function ln(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var un=()=>({left:window.scrollX,top:window.scrollY});function dn(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=ln(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function fn(e,t){return(history.state?history.state.position-t:-1)+e}var pn=new Map;function mn(e,t){pn.set(e,t)}function hn(e){let t=pn.get(e);return pn.delete(e),t}function gn(e){return typeof e==`string`||e&&typeof e==`object`}function _n(e){return typeof e==`string`||typeof e==`symbol`}var H=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),vn=Symbol(``);H.MATCHER_NOT_FOUND,H.NAVIGATION_GUARD_REDIRECT,H.NAVIGATION_ABORTED,H.NAVIGATION_CANCELLED,H.NAVIGATION_DUPLICATED;function U(e,t){return R(Error(),{type:e,[vn]:!0},t)}function W(e,t){return e instanceof Error&&vn in e&&(t==null||!!(e.type&t))}function yn(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(jt,` `),i=r.indexOf(`=`),a=Kt(i<0?r:r.slice(0,i)),o=i<0?null:Kt(r.slice(i+1));if(a in t){let e=t[a];z(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function bn(e){let t=``;for(let n in e){let r=e[n];if(n=Ut(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(z(r)?r.map(e=>e&&Ht(e)):[r&&Ht(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function xn(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=z(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var Sn=Symbol(``),Cn=Symbol(``),wn=Symbol(``),Tn=Symbol(``),En=Symbol(``);function Dn(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function G(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(U(H.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):gn(e)?c(U(H.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function On(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(xt(s)){let c=(s.__vccOpts||s)[t];c&&a.push(G(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=St(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&G(c,n,r,o,e,i)()}))}}return a}function kn(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>B(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>B(e,s))||i.push(s))}return[n,r,i]}var An=()=>location.protocol+`//`+location.host;function jn(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Zt(n,``)}return Zt(n,e)+r+i}function Mn(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=jn(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:rn.pop,direction:u?u>0?an.forward:an.back:an.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(R({},e.state,{scroll:un()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Nn(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?un():null}}function Pn(e){let{history:t,location:n}=window,r={value:jn(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:An()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,R({},t.state,Nn(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=R({},i.value,t.state,{forward:e,scroll:un()});a(o.current,o,!0),a(e,R({},Nn(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Fn(e){e=on(e);let t=Pn(e),n=Mn(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=R({location:``,base:e,go:r,createHref:cn.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var K=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),q=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(q||{}),In={type:K.Static,value:``},Ln=/[a-zA-Z0-9_]/;function Rn(e){if(!e)return[[]];if(e===`/`)return[[In]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=q.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===q.Static?a.push({type:K.Static,value:l}):n===q.Param||n===q.ParamRegExp||n===q.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:K.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;){if(c=e[s++],c===`\\`&&n!==q.ParamRegExp){r=n,n=q.EscapeNext;continue}switch(n){case q.Static:c===`/`?(l&&d(),o()):c===`:`?(d(),n=q.Param):f();break;case q.EscapeNext:f(),n=r;break;case q.Param:c===`(`?n=q.ParamRegExp:Ln.test(c)?f():(d(),n=q.Static,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case q.ParamRegExp:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=q.ParamRegExpEnd:u+=c;break;case q.ParamRegExpEnd:d(),n=q.Static,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`);break}}return n===q.ParamRegExp&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var zn=`[^/]+?`,Bn={sensitive:!1,strict:!1,start:!0,end:!0},J=function(e){return e[e._multiplier=10]=`_multiplier`,e[e.Root=90]=`Root`,e[e.Segment=40]=`Segment`,e[e.SubSegment=30]=`SubSegment`,e[e.Static=40]=`Static`,e[e.Dynamic=20]=`Dynamic`,e[e.BonusCustomRegExp=10]=`BonusCustomRegExp`,e[e.BonusWildcard=-50]=`BonusWildcard`,e[e.BonusRepeatable=-20]=`BonusRepeatable`,e[e.BonusOptional=-8]=`BonusOptional`,e[e.BonusStrict=.7000000000000001]=`BonusStrict`,e[e.BonusCaseSensitive=.25]=`BonusCaseSensitive`,e}(J||{}),Vn=/[.+*?^${}()[\]/\\]/g;function Hn(e,t){let n=R({},Bn,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[J.Root];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=J.Segment+(n.sensitive?J.BonusCaseSensitive:0);if(o.type===K.Static)r||(i+=`/`),i+=o.value.replace(Vn,`\\$&`),s+=J.Static;else if(o.type===K.Param){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||zn;if(u!==zn){s+=J.BonusCustomRegExp;try{`${u}`}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=J.Dynamic,c&&(s+=J.BonusOptional),n&&(s+=J.BonusRepeatable),u===`.*`&&(s+=J.BonusWildcard)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=J.BonusStrict}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===K.Static)n+=e.value;else if(e.type===K.Param){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(z(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=z(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Un(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===J.Static+J.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===J.Static+J.Segment?1:-1:0}function Wn(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Un(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(Gn(r))return 1;if(Gn(i))return-1}return i.length-r.length}function Gn(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var Kn={strict:!1,end:!0,sensitive:!1};function qn(e,t,n){let r=R(Hn(Rn(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Jn(e,t){let n=[],r=new Map;t=Tt(Kn,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Xn(e);s.aliasOf=r&&r.record;let l=Tt(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Xn(R({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=qn(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Qn(d)&&o(e.name)),nr(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:wt}function o(e){if(_n(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=er(e,n);n.splice(t,0,e),e.record.name&&!Qn(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw U(H.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=R(Yn(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Yn(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw U(H.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=R({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:$n(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Yn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Xn(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Zn(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Zn(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Qn(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function $n(e){return e.reduce((e,t)=>R(e,t.meta),{})}function er(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Wn(e,t[i])<0?r=i:n=i+1}let i=tr(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function tr(e){let t=e;for(;t=t.parent;)if(nr(t)&&Wn(e,t)===0)return t}function nr({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function rr(e){let t=y(wn),n=y(Tn),r=j(()=>{let n=i(e.to);return t.resolve(n)}),a=j(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(B.bind(null,i));if(o>-1)return o;let s=cr(e[t-2]);return t>1&&cr(i)===s&&a[a.length-1].path!==s?a.findIndex(B.bind(null,e[t-2])):o}),o=j(()=>a.value>-1&&sr(n.params,r.value.params)),s=j(()=>a.value>-1&&a.value===n.matched.length-1&&$t(n.params,r.value.params));function c(n={}){if(or(n)){let n=t[i(e.replace)?`replace`:`push`](i(e.to)).catch(wt);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:j(()=>r.value.href),isActive:o,isExactActive:s,navigate:c}}function ir(e){return e.length===1?e[0]:e}var ar=T({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:rr,setup(e,{slots:t}){let n=be(rr(e)),{options:r}=y(wn),i=j(()=>({[lr(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[lr(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&ir(t.default(n));return e.custom?r:_e(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function or(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function sr(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!z(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function cr(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var lr=(e,t,n)=>e??t??n,ur=T({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:r,slots:a}){let o=y(En),s=j(()=>e.route||o.value),c=y(Cn,0),l=j(()=>{let e=i(c),{matched:t}=s.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),u=j(()=>s.value.matched[l.value]);n(Cn,j(()=>l.value+1)),n(Sn,u),n(En,s);let d=t();return O(()=>[d.value,u.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!B(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let t=s.value,n=e.name,i=u.value,o=i&&i.components[n];if(!o)return dr(a.default,{Component:o,route:t});let c=i.props[n],l=_e(o,R({},c?c===!0?t.params:typeof c==`function`?c(t):c:null,r,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(i.instances[n]=null)},ref:d}));return dr(a.default,{Component:l,route:t})||l}}});function dr(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var fr=ur;function pr(e){let t=Jn(e.routes,e),n=e.parseQuery||yn,r=e.stringifyQuery||bn,o=e.history,s=Dn(),c=Dn(),l=Dn(),u=a(V),d=V;L&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let f=Ct.bind(null,e=>``+e),p=Ct.bind(null,Gt),g=Ct.bind(null,Kt);function _(e,n){let r,i;return _n(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function v(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function ee(){return t.getRoutes().map(e=>e.record)}function te(e){return!!t.getRecordMatcher(e)}function ne(e,i){if(i=R({},i||u.value),typeof e==`string`){let r=Yt(n,e,i.path),a=t.resolve({path:r.path},i),s=o.createHref(r.fullPath);return R(r,a,{params:g(a.params),hash:Kt(r.hash),redirectedFrom:void 0,href:s})}let a;if(e.path!=null)a=R({},e,{path:Yt(n,e.path,i.path).path});else{let t=R({},e.params);for(let e in t)t[e]??delete t[e];a=R({},e,{params:p(t)}),i.params=p(i.params)}let s=t.resolve(a,i),c=e.hash||``;s.params=f(g(s.params));let l=Xt(r,R({},e,{hash:Vt(c),path:s.path})),d=o.createHref(l);return R({fullPath:l,hash:c,query:r===bn?xn(e.query):e.query||{}},s,{redirectedFrom:void 0,href:d})}function y(e){return typeof e==`string`?Yt(n,e,u.value.path):R({},e)}function b(e,t){if(d!==e)return U(H.NAVIGATION_CANCELLED,{from:t,to:e})}function x(e){return w(e)}function S(e){return x(R(y(e),{replace:!0}))}function C(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=y(i):{path:i},i.params={}),R({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function w(e,t){let n=d=ne(e),i=u.value,a=e.state,o=e.force,s=e.replace===!0,c=C(n,i);if(c)return w(R(y(c),{state:typeof c==`object`?R({},a,c.state):a,force:o,replace:s}),t||n);let l=n;l.redirectedFrom=t;let f;return!o&&Qt(r,i,n)&&(f=U(H.NAVIGATION_DUPLICATED,{to:l,from:i}),ue(i,i,!0,!1)),(f?Promise.resolve(f):E(l,i)).catch(e=>W(e)?W(e,H.NAVIGATION_GUARD_REDIRECT)?e:le(e):se(e,l,i)).then(e=>{if(e){if(W(e,H.NAVIGATION_GUARD_REDIRECT))return w(R({replace:s},y(e.to),{state:typeof e.to==`object`?R({},a,e.to.state):a,force:o}),t||l)}else e=D(l,i,!0,s,a);return ie(l,i,e),e})}function re(e,t){let n=b(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=pe.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,a]=kn(e,t);n=On(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(G(r,e,t))});let o=re.bind(null,e,t);return n.push(o),M(n).then(()=>{n=[];for(let r of s.list())n.push(G(r,e,t));return n.push(o),M(n)}).then(()=>{n=On(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(G(r,e,t))});return n.push(o),M(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(z(r.beforeEnter))for(let i of r.beforeEnter)n.push(G(i,e,t));else n.push(G(r.beforeEnter,e,t));return n.push(o),M(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=On(a,`beforeRouteEnter`,e,t,T),n.push(o),M(n))).then(()=>{n=[];for(let r of c.list())n.push(G(r,e,t));return n.push(o),M(n)}).catch(e=>W(e,H.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function ie(e,t,n){l.list().forEach(r=>T(()=>r(e,t,n)))}function D(e,t,n,r,i){let a=b(e,t);if(a)return a;let s=t===V,c=L?history.state:{};n&&(r||s?o.replace(e.fullPath,R({scroll:s&&c&&c.scroll},i)):o.push(e.fullPath,i)),u.value=e,ue(e,t,n,s),le()}let O;function ae(){O||=o.listen((e,t,n)=>{if(!j.listening)return;let r=ne(e),i=C(r,j.currentRoute.value);if(i){w(R(i,{replace:!0,force:!0}),r).catch(wt);return}d=r;let a=u.value;L&&mn(fn(a.fullPath,n.delta),un()),E(r,a).catch(e=>W(e,H.NAVIGATION_ABORTED|H.NAVIGATION_CANCELLED)?e:W(e,H.NAVIGATION_GUARD_REDIRECT)?(w(R(y(e.to),{force:!0}),r).then(e=>{W(e,H.NAVIGATION_ABORTED|H.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===rn.pop&&o.go(-1,!1)}).catch(wt),Promise.reject()):(n.delta&&o.go(-n.delta,!1),se(e,r,a))).then(e=>{e||=D(r,a,!1),e&&(n.delta&&!W(e,H.NAVIGATION_CANCELLED)?o.go(-n.delta,!1):n.type===rn.pop&&W(e,H.NAVIGATION_ABORTED|H.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),ie(r,a,e)}).catch(wt)})}let k=Dn(),A=Dn(),oe;function se(e,t,n){le(e);let r=A.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function ce(){return oe&&u.value!==V?Promise.resolve():new Promise((e,t)=>{k.add([e,t])})}function le(e){return oe||(oe=!e,ae(),k.list().forEach(([t,n])=>e?n(e):t()),k.reset()),e}function ue(t,n,r,i){let{scrollBehavior:a}=e;if(!L||!a)return Promise.resolve();let o=!r&&hn(fn(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return m().then(()=>a(t,n,o)).then(e=>e&&dn(e)).catch(e=>se(e,t,n))}let de=e=>o.go(e),fe,pe=new Set,j={currentRoute:u,listening:!0,addRoute:_,removeRoute:v,clearRoutes:t.clearRoutes,hasRoute:te,getRoutes:ee,resolve:ne,options:e,push:x,replace:S,go:de,back:()=>de(-1),forward:()=>de(1),beforeEach:s.add,beforeResolve:c.add,afterEach:l.add,onError:A.add,isReady:ce,install(e){e.component(`RouterLink`,ar),e.component(`RouterView`,fr),e.config.globalProperties.$router=j,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>i(u)}),L&&!fe&&u.value===V&&(fe=!0,x(o.location).catch(e=>{}));let t={};for(let e in V)Object.defineProperty(t,e,{get:()=>u.value[e],enumerable:!0});e.provide(wn,j),e.provide(Tn,h(t)),e.provide(En,u);let n=e.unmount;pe.add(e),e.unmount=function(){pe.delete(e),pe.size<1&&(d=V,O&&O(),O=null,u.value=V,fe=!1,oe=!1),n()}}};function M(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return j}function mr(){return y(wn)}function hr(e){return y(Tn)}var gr=`manguito_auth`;function _r(){try{let e=localStorage.getItem(gr);return e?JSON.parse(e):null}catch{return null}}var Y=fe(`auth`,()=>{let e=me(),n=_r(),r=t(n?.id??null),i=t(n?.email??null),a=t(n?.role??null),o=t(n?.mustChangePassword??!1),s=j(()=>r.value!==null),c=j(()=>a.value?e.getRoleByName(a.value)?.permissions??[]:[]),l=j(()=>a.value?e.getRoleByName(a.value)?.hierarchy_level??1/0:1/0);function u(e){r.value=e.id,i.value=e.email,a.value=e.role,o.value=e.mustChangePassword??!1;try{localStorage.setItem(gr,JSON.stringify({id:e.id,email:e.email,role:e.role,mustChangePassword:e.mustChangePassword??!1}))}catch{}}function d(){r.value=null,i.value=null,a.value=null,o.value=!1;try{localStorage.removeItem(gr)}catch{}}function f(e){return c.value.includes(e)}return{id:r,email:i,role:a,mustChangePassword:o,isAuthenticated:s,permissions:c,hierarchyLevel:l,setUser:u,clear:d,hasPermission:f}});function vr(e){return o()?(p(e),!0):!1}var yr=new WeakMap,br=(...e)=>{let t=e[0],n=te()?.proxy;if(n==null&&!ye())throw Error(`injectLocal must be called in setup`);return n&&yr.has(n)&&t in yr.get(n)?yr.get(n)[t]:y(...e)},xr=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Sr=Object.prototype.toString,Cr=e=>Sr.call(e)===`[object Object]`,X=()=>{},wr=Tr();function Tr(){return xr&&(window==null?void 0:window.navigator)?.userAgent&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||(window==null?void 0:window.navigator)?.maxTouchPoints>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Er(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}function Dr(e,t={}){let n,r,i=X,a=e=>{clearTimeout(e),i(),i=X},o;return s=>{let c=g(e),l=g(t.maxWait);return n&&a(n),c<=0||l!==void 0&&l<=0?(r&&=(a(r),null),Promise.resolve(s())):new Promise((e,u)=>{i=t.rejectOnCancel?u:e,o=s,l&&!r&&(r=setTimeout(()=>{n&&a(n),r=null,e(o())},l)),n=setTimeout(()=>{r&&a(r),r=null,e(s())},c)})}}function Or(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function kr(e){return Array.isArray(e)?e:[e]}function Ar(e,t=200,n={}){return Er(Dr(t,n),e)}function jr(e,t,n){return O(e,t,{...n,immediate:!0})}var Mr=xr?window:void 0;xr&&window.document,xr&&window.navigator,xr&&window.location;function Nr(e){let t=g(e);return t?.$el??t}function Z(...e){let t=[],n=()=>{t.forEach(e=>e()),t.length=0},r=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),a=j(()=>{let t=kr(g(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0}),o=jr(()=>[a.value?.map(e=>Nr(e))??[Mr].filter(e=>e!=null),kr(g(a.value?e[1]:e[0])),kr(i(a.value?e[2]:e[1])),g(a.value?e[3]:e[2])],([e,i,a,o])=>{if(n(),!e?.length||!i?.length||!a?.length)return;let s=Cr(o)?{...o}:o;t.push(...e.flatMap(e=>i.flatMap(t=>a.map(n=>r(e,t,n,s)))))},{flush:`post`});return vr(n),()=>{o(),n()}}var Pr=!1;function Fr(e,t,n={}){let{window:r=Mr,ignore:i=[],capture:a=!0,detectIframe:o=!1,controls:s=!1}=n;if(!r)return s?{stop:X,cancel:X,trigger:X}:X;if(wr&&!Pr){Pr=!0;let e={passive:!0};Array.from(r.document.body.children).forEach(t=>Z(t,`click`,X,e)),Z(r.document.documentElement,`click`,X,e)}let c=!0,l=e=>g(i).some(t=>{if(typeof t==`string`)return Array.from(r.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{let n=Nr(t);return n&&(e.target===n||e.composedPath().includes(n))}});function u(e){let t=g(e);return t&&t.$.subTree.shapeFlag===16}function d(e,t){let n=g(e),r=n.$.subTree&&n.$.subTree.children;return r==null||!Array.isArray(r)?!1:r.some(e=>e.el===t.target||t.composedPath().includes(e.el))}let f=n=>{let r=Nr(e);if(n.target!=null&&!(!(r instanceof Element)&&u(e)&&d(e,n))&&!(!r||r===n.target||n.composedPath().includes(r))){if(`detail`in n&&n.detail===0&&(c=!l(n)),!c){c=!0;return}t(n)}},p=!1,m=[Z(r,`click`,e=>{p||(p=!0,setTimeout(()=>{p=!1},0),f(e))},{passive:!0,capture:a}),Z(r,`pointerdown`,t=>{let n=Nr(e);c=!l(t)&&!!(n&&!t.composedPath().includes(n))},{passive:!0}),o&&Z(r,`blur`,n=>{setTimeout(()=>{let i=Nr(e);r.document.activeElement?.tagName===`IFRAME`&&!i?.contains(r.document.activeElement)&&t(n)},0)},{passive:!0})].filter(Boolean),h=()=>m.forEach(e=>e());return s?{stop:h,cancel:()=>{c=!1},trigger:e=>{c=!0,f(e),c=!1}}:h}function Ir(){let e=a(!1),t=te();return t&&ve(()=>{e.value=!0},t),e}function Lr(e){let t=Ir();return j(()=>(t.value,!!e()))}var Rr=Symbol(`vueuse-ssr-width`);function zr(){let e=ye()?br(Rr,null):null;return typeof e==`number`?e:void 0}function Br(e,t={}){let{window:n=Mr,ssrWidth:r=zr()}=t,i=Lr(()=>n&&`matchMedia`in n&&typeof n.matchMedia==`function`),o=a(typeof r==`number`),s=a(),c=a(!1);return l(()=>{if(o.value){o.value=!i.value;let t=g(e).split(`,`);c.value=t.some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),i=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||i);return n&&a&&(a=r>=Or(n[1])),i&&a&&(a=r<=Or(i[1])),t?!a:a});return}i.value&&(s.value=n.matchMedia(g(e)),c.value=s.value.matches)}),Z(s,`change`,e=>{c.value=e.matches},{passive:!0}),j(()=>c.value)}var Vr=3,Hr=4e3,Q=fe(`ui`,()=>{let e=t([]),n=t(!1),r=Br(`(max-width: 820px)`),i=t(!1),a=t(null),o=t(0),s=t(!1),c=t(`Manguito CMS`);function l(t,n,r=Hr){e.value.length>=Vr&&e.value.shift();let i=crypto.randomUUID();e.value.push({id:i,variant:t,message:n,duration:r}),r!==null&&setTimeout(()=>u(i),r)}function u(t){let n=e.value.findIndex(e=>e.id===t);n!==-1&&e.value.splice(n,1)}function d(e){o.value=e}function f(e){s.value=e}function p(e){c.value=e}function m(){r.value?i.value=!i.value:n.value=!n.value}function h(){i.value=!1}return{toasts:e,sidebarCollapsed:n,isMobile:r,mobileNavOpen:i,activeModal:a,maxFileSize:o,presignedUploads:s,cmsName:c,addToast:l,removeToast:u,setMaxFileSize:d,setPresignedUploads:f,setCmsName:p,toggleSidebar:m,closeMobileNav:h}}),Ur={key:0,class:`fixed inset-0 flex items-center justify-center bg-white`,"aria-label":`Loading`},Wr=T({__name:`App`,setup(e){let n=t(!0),i=mr(),a=Y(),o=me(),s=Q();async function c(e=!0){let t=await fetch(`/admin/api/config`,{credentials:`include`});if(t.status===401){e&&(a.clear(),i.push(`/admin/login`));return}if(t.ok){let e=(await t.json()).data,n=e.all_roles??[];o.setRoles(n.map(e=>({name:e.name,label:e.label,hierarchy_level:e.hierarchy_level,is_system:e.is_system,permissions:e.permissions}))),e.user&&a.setUser({id:e.user.id,email:e.user.email,role:e.user.role,mustChangePassword:e.user.must_change_password}),s.setCmsName(e.cms_name),e.media?.max_file_size&&s.setMaxFileSize(e.media.max_file_size),s.setPresignedUploads(e.media?.presigned_uploads??!1);let r=await fetch(`/admin/api/schema`,{credentials:`include`});if(r.ok){let e=await r.json();o.setFromApiSchema(e.data)}a.mustChangePassword&&i.push(`/admin/change-password`)}}return ve(async()=>{if(!a.isAuthenticated){n.value=!1;return}try{await c()}finally{n.value=!1}}),O(()=>s.cmsName,e=>{document.title=e},{immediate:!0}),O(()=>a.isAuthenticated,async(e,t)=>{if(e&&!t){n.value=!0;try{await c(!1)}catch{}finally{n.value=!1}}}),(e,t)=>{let i=ae(`router-view`);return n.value?(r(),S(`div`,Ur,[...t[0]||=[b(`div`,{class:`h-10 w-10 animate-spin rounded-full border-4 border-gray-200 border-t-gray-600`,role:`status`},null,-1)]])):(r(),k(i,{key:1}))}}});function Gr(){let e=Y(),t=me();function n(t){return e.permissions.includes(t)}function r(){return t.roles.filter(t=>t.hierarchy_level>e.hierarchyLevel&&t.name!==`admin`)}return{can:n,rolesBelow:r}}function Kr(){let e=mr(),t=Y();async function n(i,a,o=!1){let s=await fetch(`/admin/api${i}`,{...a,credentials:`include`,headers:{"Content-Type":`application/json`,...a?.headers}});return s.status===401&&!o?await r()?n(i,a,!0):(t.clear(),e.push(`/admin/login`),{ok:!1,error:{code:`UNAUTHORIZED`,message:`Session expired.`}}):s.json()}async function r(){return(await fetch(`/admin/api/auth/refresh`,{method:`POST`,credentials:`include`})).ok}function i(e){return n(e,{method:`GET`})}function a(e,t){return n(e,{method:`POST`,body:JSON.stringify(t)})}function o(e,t){return n(e,{method:`PATCH`,body:JSON.stringify(t)})}function s(e,t){return n(e,{method:`PUT`,body:JSON.stringify(t)})}function c(e){return n(e,{method:`DELETE`})}return{get:i,post:a,patch:o,put:s,del:c}}var qr={class:`flex items-center gap-[11px] px-[17px] pb-[14px] pt-[18px]`},Jr={key:0,class:`overflow-hidden`},Yr={class:`whitespace-nowrap text-[15px] font-bold tracking-tight text-ink`},Xr={class:`flex flex-1 flex-col overflow-y-auto overflow-x-hidden px-3 pb-2.5 pt-1`},Zr=[`aria-expanded`],Qr={class:`min-h-0 overflow-hidden`},$r={key:0,class:`overflow-hidden whitespace-nowrap`},ei={key:0},ti=[`aria-expanded`],ni={class:`min-h-0 overflow-hidden`},ri={key:0,class:`overflow-hidden whitespace-nowrap`},ii={key:0,class:`overflow-hidden whitespace-nowrap`},ai={key:0,class:`overflow-hidden whitespace-nowrap`},oi={key:0,class:`overflow-hidden whitespace-nowrap`},si={class:`border-t border-divider p-3`},ci={class:`flex items-center gap-2.5 p-1.5`},li={class:`flex h-[34px] w-[34px] shrink-0 items-center justify-center rounded-[10px] bg-gradient-to-br from-[#6D5EF0] to-[#A06BF0] text-[14px] font-bold text-white`},ui={key:0,class:`overflow-hidden`},di={class:`whitespace-nowrap text-[13px] font-semibold text-[#2C2C44]`},fi={key:0,class:`whitespace-nowrap text-[11.5px] text-[#9A9AB0]`},pi={key:0,class:`whitespace-nowrap`},mi=T({__name:`Sidebar`,setup(e){let n=me(),a=Y(),o=Q(),{can:s}=Gr(),c=mr(),l=Kr(),f=j(()=>Object.values(n.contentTypes)),p=j(()=>Object.values(n.taxonomyTypes)),m=j(()=>a.role?n.getRoleByName(a.role)?.label??a.role:null),h=t(!0),g=t(!0),_=j(()=>!o.isMobile&&o.sidebarCollapsed),v=`/admin`;async function ee(){await l.post(`/auth/logout`,{}),a.clear(),c.push(`${v}/login`)}function te(){return a.email?a.email.charAt(0).toUpperCase():`?`}return(e,t)=>{let n=ae(`RouterLink`);return r(),S(`aside`,{class:A([`flex h-full flex-col border-r border-card-border bg-white transition-[width] duration-300`,i(o).isMobile?`fixed inset-y-0 left-0 z-50 w-[258px] shadow-2xl transition-transform duration-300`:`relative shrink-0 overflow-hidden`,i(o).isMobile&&!i(o).mobileNavOpen?`-translate-x-full`:`translate-x-0`,!i(o).isMobile&&(_.value?`w-[74px]`:`w-[258px]`)]),"aria-label":`Main navigation`},[b(`div`,qr,[t[3]||=ue(`<div class="flex h-[34px] w-[34px] shrink-0 items-center justify-center rounded-[11px] bg-gradient-to-br from-[#6D5EF0] to-[#5B57E8] shadow-[0_4px_12px_rgba(91,87,232,0.36)]"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.1" stroke-linecap="round"><path d="M4 7h16"></path><path d="M4 12h10"></path><path d="M4 17h13"></path></svg></div>`,1),_.value?N(``,!0):(r(),S(`div`,Jr,[b(`div`,Yr,C(i(o).cmsName),1),t[2]||=b(`div`,{class:`whitespace-nowrap text-[11px] font-medium text-faint`},`Admin panel`,-1)]))]),b(`div`,Xr,[b(`div`,null,[_.value?N(``,!0):(r(),S(`button`,{key:0,type:`button`,class:`mb-1 mt-4 flex w-full items-center justify-between px-2 text-[11px] font-bold uppercase tracking-[.09em] text-faint hover:text-muted`,"aria-expanded":h.value,onClick:t[0]||=e=>h.value=!h.value},[t[5]||=b(`span`,null,`Content`,-1),(r(),S(`svg`,{class:A([`h-3 w-3 text-[#C2C2D0] transition-transform`,h.value?``:`-rotate-90`]),fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"stroke-width":`2.5`},[...t[4]||=[b(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M19 9l-7 7-7-7`},null,-1)]],2))],8,Zr)),b(`div`,{class:`grid transition-[grid-template-rows] duration-300 ease-in-out`,style:ge({gridTemplateRows:_.value||h.value?`1fr`:`0fr`})},[b(`div`,Qr,[(r(!0),S(ie,null,d(f.value,e=>(r(),k(n,{key:e.name,to:`${i(v)}/content/${e.name}`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[6]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M14 3v4a2 2 0 0 0 2 2h4`}),b(`path`,{d:`M5 3h9l5 5v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}),b(`path`,{d:`M9 13h6`}),b(`path`,{d:`M9 17h5`})])],-1),_.value?N(``,!0):(r(),S(`span`,$r,C(e.label),1))]),_:2},1032,[`to`,`class`]))),128))])],4)]),p.value.length>0?(r(),S(`div`,ei,[_.value?N(``,!0):(r(),S(`button`,{key:0,type:`button`,class:`mb-1 mt-4 flex w-full items-center justify-between px-2 text-[11px] font-bold uppercase tracking-[.09em] text-faint hover:text-muted`,"aria-expanded":g.value,onClick:t[1]||=e=>g.value=!g.value},[t[8]||=b(`span`,null,`Taxonomy`,-1),(r(),S(`svg`,{class:A([`h-3 w-3 text-[#C2C2D0] transition-transform`,g.value?``:`-rotate-90`]),fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"stroke-width":`2.5`},[...t[7]||=[b(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M19 9l-7 7-7-7`},null,-1)]],2))],8,ti)),b(`div`,{class:`grid transition-[grid-template-rows] duration-300 ease-in-out`,style:ge({gridTemplateRows:_.value||g.value?`1fr`:`0fr`})},[b(`div`,ni,[(r(!0),S(ie,null,d(p.value,e=>(r(),k(n,{key:e.name,to:`${i(v)}/taxonomy/${e.name}`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[9]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L2 12V2h10l8.6 8.6a2 2 0 0 1 0 2.8z`}),b(`path`,{d:`M7 7h.01`})])],-1),_.value?N(``,!0):(r(),S(`span`,ri,C(e.label),1))]),_:2},1032,[`to`,`class`]))),128))])],4)])):N(``,!0),t[13]||=b(`div`,{class:`my-3.5 mx-2.5 h-px bg-divider`},null,-1),i(s)(`media:read`)?(r(),k(n,{key:1,to:`${i(v)}/media`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[10]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}),b(`path`,{d:`M8.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z`}),b(`path`,{d:`M21 15l-5-5L5 21`})])],-1),_.value?N(``,!0):(r(),S(`span`,ii,`Media`))]),_:1},8,[`to`,`class`])):N(``,!0),i(s)(`users:read`)?(r(),k(n,{key:2,to:`${i(v)}/users`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[11]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}),b(`path`,{d:`M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z`}),b(`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.9`}),b(`path`,{d:`M16 3.1a4 4 0 0 1 0 7.8`})])],-1),_.value?N(``,!0):(r(),S(`span`,ai,`Users`))]),_:1},8,[`to`,`class`])):N(``,!0),i(s)(`roles:read`)?(r(),k(n,{key:3,to:`${i(v)}/roles`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[12]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z`})])],-1),_.value?N(``,!0):(r(),S(`span`,oi,`Roles`))]),_:1},8,[`to`,`class`])):N(``,!0)]),b(`div`,si,[b(`div`,ci,[b(`div`,li,C(te()),1),_.value?N(``,!0):(r(),S(`div`,ui,[b(`div`,di,C(i(a).email),1),m.value?(r(),S(`div`,fi,C(m.value),1)):N(``,!0)]))]),b(`button`,{type:`button`,class:A([`mt-1 flex w-full items-center rounded-[10px] py-[9px] text-left text-[13.5px] font-medium text-[#74748C] transition-colors hover:bg-[#FDF2F4] hover:text-[#E1495B]`,_.value?`justify-center px-0`:`gap-[11px] px-2`]),onClick:ee},[t[14]||=ue(`<span class="flex shrink-0"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><path d="M16 17l5-5-5-5"></path><path d="M21 12H9"></path></svg></span>`,1),_.value?N(``,!0):(r(),S(`span`,pi,`Log out`))],2)])],2)}}}),hi={class:`flex h-[60px] shrink-0 items-center gap-[13px] border-b border-card-border bg-white/85 px-4 backdrop-blur-md`},gi={key:0,width:`21`,height:`21`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.9`,"stroke-linecap":`round`},_i={key:1,width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`},vi={class:`flex min-w-0 items-center gap-[9px]`},yi={class:`overflow-hidden truncate whitespace-nowrap text-[14.5px] font-semibold text-[#2C2C44]`},bi=T({__name:`Topbar`,setup(e){let t=Q();return(e,n)=>(r(),S(`header`,hi,[b(`button`,{type:`button`,class:`flex h-[38px] w-[38px] items-center justify-center rounded-[10px] text-[#4A4A60] transition-colors hover:bg-[#F1F0F7]`,"aria-label":`Toggle sidebar`,onClick:n[0]||=e=>i(t).toggleSidebar()},[i(t).isMobile?(r(),S(`svg`,gi,[...n[1]||=[b(`path`,{d:`M3 6h18`},null,-1),b(`path`,{d:`M3 12h18`},null,-1),b(`path`,{d:`M3 18h18`},null,-1)]])):(r(),S(`svg`,_i,[...n[2]||=[b(`path`,{d:`M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`},null,-1),b(`path`,{d:`M9 3v18`},null,-1)]]))]),b(`div`,vi,[n[3]||=b(`span`,{class:`shrink-0 rounded-[7px] bg-indigo-50 px-[9px] py-[3px] text-[10.5px] font-bold tracking-[.05em] text-indigo-600`},` ADMIN `,-1),b(`span`,yi,C(i(t).cmsName),1)]),n[4]||=b(`div`,{class:`flex-1`},null,-1)]))}}),xi={class:`mt-10 border-t border-gray-200 px-1 py-5`},Si={class:`text-xs text-gray-400`},Ci=T({__name:`Footer`,setup(e){let t=Q();return(e,n)=>(r(),S(`footer`,xi,[b(`p`,Si,C(i(t).cmsName),1)]))}}),wi={"aria-live":`polite`,"aria-atomic":`false`,class:`pointer-events-none fixed bottom-4 right-4 z-50 flex flex-col gap-2`},Ti={class:`flex-1 text-sm`},Ei=[`aria-label`,`onClick`],Di=T({__name:`ToastContainer`,setup(e){let t=Q(),n=j(()=>[...t.toasts].reverse()),a={success:`bg-green-600 text-white`,error:`bg-red-600 text-white`,warning:`bg-amber-500 text-white`,info:`bg-blue-600 text-white`};return(e,o)=>(r(),S(`div`,wi,[(r(!0),S(ie,null,d(n.value,e=>(r(),S(`div`,{key:e.id,class:A([`pointer-events-auto flex w-80 items-start gap-3 rounded-lg px-4 py-3 shadow-lg`,a[e.variant]??`bg-blue-600 text-white`]),role:`status`},[b(`span`,Ti,C(e.message),1),b(`button`,{type:`button`,class:`shrink-0 opacity-80 hover:opacity-100`,"aria-label":`Dismiss: ${e.message}`,onClick:n=>i(t).removeToast(e.id)},` × `,8,Ei)],2))),128))]))}}),Oi={class:`flex h-screen overflow-hidden bg-surface`},ki={class:`flex min-w-0 flex-1 flex-col`},Ai={class:`flex-1 overflow-y-auto p-6`},ji=T({__name:`AppShell`,setup(e){let t=Q();return(e,n)=>{let a=ae(`router-view`);return r(),S(`div`,Oi,[E(mi),i(t).isMobile&&i(t).mobileNavOpen?(r(),S(`div`,{key:0,class:`fixed inset-0 z-40 bg-[rgba(20,20,40,0.4)] backdrop-blur-[2px]`,onClick:n[0]||=e=>i(t).closeMobileNav()})):N(``,!0),b(`div`,ki,[E(bi),b(`main`,Ai,[E(a),E(Ci)])]),E(Di)])}}}),Mi=(function(){let e=typeof document<`u`&&document.createElement(`link`).relList;return e&&e.supports&&e.supports(`modulepreload`)?`modulepreload`:`preload`})(),Ni=function(e){return`/`+e},Pi={},$=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),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?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=Ni(t,n),t=s(t),t in Pi)return;Pi[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Mi,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}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)})},Fi=[{path:`/admin/login`,name:`login`,component:()=>$(()=>import(`./LoginView-bDYuN8s-.js`),__vite__mapDeps([0,1]))},{path:`/admin`,component:ji,meta:{requiresAuth:!0},children:[{path:``,redirect:`/admin/media`},{path:`change-password`,name:`change-password`,component:()=>$(()=>import(`./ChangePasswordView-2g4WN8W1.js`),__vite__mapDeps([2,1]))},{path:`content/:type`,name:`content-list`,component:()=>$(()=>import(`./ContentListView-Dqeigsd6.js`),__vite__mapDeps([3,1,4,5]))},{path:`content/:type/new`,name:`content-new`,component:()=>$(()=>import(`./ContentFormView-BtRp4dKL.js`),__vite__mapDeps([6,1,7,8,9,4,10,11]))},{path:`content/:type/settings`,name:`content-settings`,component:()=>$(()=>import(`./ContentSettingsView-DXBl-Sgl.js`),__vite__mapDeps([12,1,9])),meta:{permission:`content:edit`}},{path:`content/:type/:id`,name:`content-edit`,component:()=>$(()=>import(`./ContentFormView-BtRp4dKL.js`),__vite__mapDeps([6,1,7,8,9,4,10,11]))},{path:`taxonomy/:type`,name:`taxonomy-list`,component:()=>$(()=>import(`./TaxonomyListView-WriH284W.js`),__vite__mapDeps([13,1,5,14]))},{path:`taxonomy/:type/new`,name:`taxonomy-new`,component:()=>$(()=>import(`./TaxonomyFormView-FTESoS4u.js`),__vite__mapDeps([15,1,7,8,9,10,14]))},{path:`taxonomy/:type/:id`,name:`taxonomy-edit`,component:()=>$(()=>import(`./TaxonomyFormView-FTESoS4u.js`),__vite__mapDeps([15,1,7,8,9,10,14]))},{path:`media`,name:`media-library`,component:()=>$(()=>import(`./MediaLibraryView-Db4Ne4kw.js`),__vite__mapDeps([16,1,9,10,11,8,5,17]))},{path:`media/:id`,name:`media-detail`,component:()=>$(()=>import(`./MediaDetailView-Bvikhn1E.js`),__vite__mapDeps([18,1,9,10,17]))},{path:`users`,name:`user-list`,component:()=>$(()=>import(`./UserListView-f37clqgU.js`),__vite__mapDeps([19,1,20])),meta:{permission:`users:read`}},{path:`users/new`,name:`user-new`,component:()=>$(()=>import(`./UserFormView-BRMjuvR2.js`),__vite__mapDeps([21,1,9,10,20])),meta:{permission:`users:read`}},{path:`users/:id`,name:`user-edit`,component:()=>$(()=>import(`./UserFormView-BRMjuvR2.js`),__vite__mapDeps([21,1,9,10,20])),meta:{permission:`users:read`}},{path:`roles`,name:`roles`,component:()=>$(()=>import(`./RolesView-UWBl91JE.js`),__vite__mapDeps([22,1]))}]}],Ii=pr({history:Fn(),routes:Fi});Ii.beforeEach(e=>{let t=Y();return e.path===`/admin/login`?t.isAuthenticated?{path:`/admin/media`}:!0:t.isAuthenticated?t.mustChangePassword&&e.path!==`/admin/change-password`?{path:`/admin/change-password`}:!t.mustChangePassword&&e.path===`/admin/change-password`?{path:`/admin/media`}:!0:{path:`/admin/login`,query:{redirect:e.fullPath}}}),Ii.beforeEach(e=>{let t=Y();if(e.meta.permission&&!t.hasPermission(e.meta.permission))return{path:`/admin/media`}});var Li=vt(Wr);Li.use(oe()),Li.use(Ii),Li.mount(`#app`);export{Ar as a,mr as c,mt as d,Fr as i,lt as l,Gr as n,Y as o,Q as r,hr as s,Kr as t,ct as u};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LoginView-CBp1ioam.js","assets/schema-DGpYmX9j.js","assets/ChangePasswordView-XlbFYOND.js","assets/ContentListView-DRdWO8se.js","assets/content-BbyFohW5.js","assets/Pagination-Bi7I6pas.js","assets/ContentFormView-DrHZ5Rbs.js","assets/form-state-UE25-PAE.js","assets/MediaThumbnail-B1j3EJAS.js","assets/useNotification-zHjVKMIq.js","assets/ConfirmDialog-_23g_1zv.js","assets/useTabIndicator-CQE2dO2W.js","assets/ContentSettingsView-DWAJdkta.js","assets/TaxonomyListView-C4W2nffO.js","assets/taxonomy-C_3USBAZ.js","assets/TaxonomyFormView-DIrMfRjS.js","assets/MediaLibraryView-CFjtPQPv.js","assets/media-3GZT7Q_i.js","assets/MediaDetailView-LzGfNuER.js","assets/UserListView-DMaUbteP.js","assets/users-DyKJ5vRI.js","assets/UserFormView-C-y6ny_B.js","assets/RolesView-UWBl91JE.js"])))=>i.map(i=>d[i]);
2
+ import{$ as e,B as t,D as n,E as r,G as i,H as a,I as o,J as s,K as c,M as l,N as u,O as d,Q as f,R as p,S as m,V as h,W as g,X as _,Y as v,Z as ee,_ as te,at as ne,b as y,c as b,ct as x,d as S,dt as C,et as w,f as re,g as T,h as E,i as ie,it as D,j as O,k as ae,l as k,lt as A,n as oe,nt as se,o as ce,ot as le,p as ue,q as de,r as fe,rt as pe,s as j,st as M,t as me,tt as he,u as N,ut as ge,v as _e,w as ve,y as ye,z as be}from"./schema-DGpYmX9j.js";var xe=void 0,Se=typeof window<`u`&&window.trustedTypes;if(Se)try{xe=Se.createPolicy(`vue`,{createHTML:e=>e})}catch{}var Ce=xe?e=>xe.createHTML(e):e=>e,we=`http://www.w3.org/2000/svg`,Te=`http://www.w3.org/1998/Math/MathML`,P=typeof document<`u`?document:null,Ee=P&&P.createElement(`template`),De={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?P.createElementNS(we,e):t===`mathml`?P.createElementNS(Te,e):n?P.createElement(e,{is:n}):P.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>P.createTextNode(e),createComment:e=>P.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>P.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Ee.innerHTML=Ce(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=Ee.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Oe=Symbol(`_vtc`);function ke(e,t,n){let r=e[Oe];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Ae=Symbol(`_vod`),je=Symbol(`_vsh`),Me=Symbol(``),Ne=/(?:^|;)\s*display\s*:/;function Pe(e,t,n){let r=e.style,i=D(n),a=!1;if(n&&!i){if(t)if(D(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??Ie(r,t,``)}else for(let e in t)n[e]??Ie(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?Ie(r,i,``):Be(e,i,!D(t)&&t?t[i]:void 0,o)||Ie(r,i,o)}}else if(i){if(t!==n){let e=r[Me];e&&(n+=`;`+e),r.cssText=n,a=Ne.test(n)}}else t&&e.removeAttribute(`style`);Ae in e&&(e[Ae]=a?r.display:``,e[je]&&(r.display=`none`))}var Fe=/\s*!important$/;function Ie(e,t,n){if(f(n))n.forEach(n=>Ie(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=ze(e,t);Fe.test(n)?e.setProperty(v(r),n.replace(Fe,``),`important`):e[r]=n}}var Le=[`Webkit`,`Moz`,`ms`],Re={};function ze(e,t){let n=Re[t];if(n)return n;let r=c(t);if(r!==`filter`&&r in e)return Re[t]=r;r=de(r);for(let n=0;n<Le.length;n++){let i=Le[n]+r;if(i in e)return Re[t]=i}return t}function Be(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&D(r)&&n===r}var Ve=`http://www.w3.org/1999/xlink`;function He(e,t,n,r,i,a=pe(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(Ve,t.slice(6,t.length)):e.setAttributeNS(Ve,t,n):n==null||a&&!_(n)?e.removeAttribute(t):e.setAttribute(t,a?``:ne(n)?String(n):n)}function Ue(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?Ce(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=_(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function F(e,t,n,r){e.addEventListener(t,n,r)}function We(e,t,n,r){e.removeEventListener(t,n,r)}var Ge=Symbol(`_vei`);function Ke(e,t,n,r,i=null){let a=e[Ge]||(e[Ge]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=Ye(t);r?F(e,n,a[t]=$e(r,i),s):o&&(We(e,n,o,s),a[t]=void 0)}}var qe=/(Once|Passive|Capture)$/,Je=/^on:?(?:Once|Passive|Capture)$/;function Ye(e){let t,n;for(;(n=e.match(qe))&&!Je.test(e);)t||={},e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===`:`?e.slice(3):v(e.slice(2)),t]}var Xe=0,Ze=Promise.resolve(),Qe=()=>Xe||=(Ze.then(()=>Xe=0),Date.now());function $e(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(f(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;n<i.length&&!e._stopped;n++){let e=i[n];e&&ce(e,t,5,a)}}else ce(r,t,5,[e])};return n.value=e,n.attached=Qe(),n}var et=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,tt=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?ke(e,r,o):t===`style`?Pe(e,n,r):he(t)?w(t)||Ke(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):nt(e,t,r,o))?(Ue(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&He(e,t,r,o,a,t!==`value`)):e._isVueCE&&(rt(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!D(r)))?Ue(e,c(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),He(e,t,r,o))};function nt(t,n,r,i){if(i)return!!(n===`innerHTML`||n===`textContent`||n in t&&et(n)&&e(r));if(n===`spellcheck`||n===`draggable`||n===`translate`||n===`autocorrect`||n===`sandbox`&&t.tagName===`IFRAME`||n===`form`||n===`list`&&t.tagName===`INPUT`||n===`type`&&t.tagName===`TEXTAREA`)return!1;if(n===`width`||n===`height`){let e=t.tagName;if(e===`IMG`||e===`VIDEO`||e===`CANVAS`||e===`SOURCE`)return!1}return et(n)&&D(r)?!1:n in t}function rt(e,t){let n=e._def.props;if(!n)return!1;let r=c(t);return Array.isArray(n)?n.some(e=>c(e)===r):Object.keys(n).some(e=>c(e)===r)}var it=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return f(t)?e=>ee(t,e):t};function at(e){e.target.composing=!0}function ot(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var I=Symbol(`_assign`);function st(e,t,n){return t&&(e=e.trim()),n&&(e=x(e)),e}var ct={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[I]=it(i);let a=r||i.props&&i.props.type===`number`;F(e,t?`change`:`input`,t=>{t.target.composing||e[I](st(e.value,n,a))}),(n||a)&&F(e,`change`,()=>{e.value=st(e.value,n,a)}),t||(F(e,`compositionstart`,at),F(e,`compositionend`,ot),F(e,`change`,ot))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[I]=it(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?x(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},lt={deep:!0,created(e,{value:t,modifiers:{number:n}},r){let i=se(t);F(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?x(dt(e)):dt(e));e[I](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,m(()=>{e._assigning=!1})}),e[I]=it(r)},mounted(e,{value:t}){ut(e,t)},beforeUpdate(e,t,n){e[I]=it(n)},updated(e,{value:t}){e._assigning||ut(e,t)}};function ut(e,t){let n=e.multiple,r=f(t);if(!(n&&!r&&!se(t))){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=dt(a);if(n)if(r){let e=typeof o;e===`string`||e===`number`?a.selected=t.some(e=>String(e)===String(o)):a.selected=M(t,o)>-1}else a.selected=t.has(o);else if(le(dt(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function dt(e){return`_value`in e?e._value:e.value}var ft=[`ctrl`,`shift`,`alt`,`meta`],pt={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>ft.some(n=>e[`${n}Key`]&&!t.includes(n))},mt=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=pt[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},ht=s({patchProp:tt},De),gt;function _t(){return gt||=re(ht)}var vt=((...t)=>{let n=_t().createApp(...t),{mount:r}=n;return n.mount=t=>{let i=bt(t);if(!i)return;let a=n._component;!e(a)&&!a.render&&!a.template&&(a.template=i.innerHTML),i.nodeType===1&&(i.textContent=``);let o=r(i,!1,yt(i));return i instanceof Element&&(i.removeAttribute(`v-cloak`),i.setAttribute(`data-v-app`,``)),o},n});function yt(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function bt(e){return D(e)?document.querySelector(e):e}var L=typeof document<`u`;function xt(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function St(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&xt(e.default)}var R=Object.assign;function Ct(e,t){let n={};for(let r in t){let i=t[r];n[r]=z(i)?i.map(e):e(i)}return n}var wt=()=>{},z=Array.isArray;function Tt(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Et=/#/g,Dt=/&/g,Ot=/\//g,kt=/=/g,At=/\?/g,jt=/\+/g,Mt=/%5B/g,Nt=/%5D/g,Pt=/%5E/g,Ft=/%60/g,It=/%7B/g,Lt=/%7C/g,Rt=/%7D/g,zt=/%20/g;function Bt(e){return e==null?``:encodeURI(``+e).replace(Lt,`|`).replace(Mt,`[`).replace(Nt,`]`)}function Vt(e){return Bt(e).replace(It,`{`).replace(Rt,`}`).replace(Pt,`^`)}function Ht(e){return Bt(e).replace(jt,`%2B`).replace(zt,`+`).replace(Et,`%23`).replace(Dt,`%26`).replace(Ft,"`").replace(It,`{`).replace(Rt,`}`).replace(Pt,`^`)}function Ut(e){return Ht(e).replace(kt,`%3D`)}function Wt(e){return Bt(e).replace(Et,`%23`).replace(At,`%3F`)}function Gt(e){return Wt(e).replace(Ot,`%2F`)}function Kt(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var qt=/\/$/,Jt=e=>e.replace(qt,``);function Yt(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=nn(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Kt(o)}}function Xt(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Zt(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Qt(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&B(t.matched[r],n.matched[i])&&$t(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function B(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function $t(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!en(e[n],t[n]))return!1;return!0}function en(e,t){return z(e)?tn(e,t):z(t)?tn(t,e):e?.valueOf()===t?.valueOf()}function tn(e,t){return z(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function nn(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var V={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},rn=function(e){return e.pop=`pop`,e.push=`push`,e}({}),an=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function on(e){if(!e)if(L){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Jt(e)}var sn=/^[^#]+#/;function cn(e,t){return e.replace(sn,`#`)+t}function ln(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var un=()=>({left:window.scrollX,top:window.scrollY});function dn(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=ln(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function fn(e,t){return(history.state?history.state.position-t:-1)+e}var pn=new Map;function mn(e,t){pn.set(e,t)}function hn(e){let t=pn.get(e);return pn.delete(e),t}function gn(e){return typeof e==`string`||e&&typeof e==`object`}function _n(e){return typeof e==`string`||typeof e==`symbol`}var H=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),vn=Symbol(``);H.MATCHER_NOT_FOUND,H.NAVIGATION_GUARD_REDIRECT,H.NAVIGATION_ABORTED,H.NAVIGATION_CANCELLED,H.NAVIGATION_DUPLICATED;function U(e,t){return R(Error(),{type:e,[vn]:!0},t)}function W(e,t){return e instanceof Error&&vn in e&&(t==null||!!(e.type&t))}function yn(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(jt,` `),i=r.indexOf(`=`),a=Kt(i<0?r:r.slice(0,i)),o=i<0?null:Kt(r.slice(i+1));if(a in t){let e=t[a];z(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function bn(e){let t=``;for(let n in e){let r=e[n];if(n=Ut(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(z(r)?r.map(e=>e&&Ht(e)):[r&&Ht(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function xn(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=z(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var Sn=Symbol(``),Cn=Symbol(``),wn=Symbol(``),Tn=Symbol(``),En=Symbol(``);function Dn(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function G(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(U(H.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):gn(e)?c(U(H.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function On(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(xt(s)){let c=(s.__vccOpts||s)[t];c&&a.push(G(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=St(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&G(c,n,r,o,e,i)()}))}}return a}function kn(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>B(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>B(e,s))||i.push(s))}return[n,r,i]}var An=()=>location.protocol+`//`+location.host;function jn(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Zt(n,``)}return Zt(n,e)+r+i}function Mn(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=jn(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:rn.pop,direction:u?u>0?an.forward:an.back:an.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(R({},e.state,{scroll:un()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Nn(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?un():null}}function Pn(e){let{history:t,location:n}=window,r={value:jn(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:An()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,R({},t.state,Nn(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=R({},i.value,t.state,{forward:e,scroll:un()});a(o.current,o,!0),a(e,R({},Nn(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Fn(e){e=on(e);let t=Pn(e),n=Mn(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=R({location:``,base:e,go:r,createHref:cn.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var K=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),q=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(q||{}),In={type:K.Static,value:``},Ln=/[a-zA-Z0-9_]/;function Rn(e){if(!e)return[[]];if(e===`/`)return[[In]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=q.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===q.Static?a.push({type:K.Static,value:l}):n===q.Param||n===q.ParamRegExp||n===q.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:K.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;){if(c=e[s++],c===`\\`&&n!==q.ParamRegExp){r=n,n=q.EscapeNext;continue}switch(n){case q.Static:c===`/`?(l&&d(),o()):c===`:`?(d(),n=q.Param):f();break;case q.EscapeNext:f(),n=r;break;case q.Param:c===`(`?n=q.ParamRegExp:Ln.test(c)?f():(d(),n=q.Static,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case q.ParamRegExp:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=q.ParamRegExpEnd:u+=c;break;case q.ParamRegExpEnd:d(),n=q.Static,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`);break}}return n===q.ParamRegExp&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var zn=`[^/]+?`,Bn={sensitive:!1,strict:!1,start:!0,end:!0},J=function(e){return e[e._multiplier=10]=`_multiplier`,e[e.Root=90]=`Root`,e[e.Segment=40]=`Segment`,e[e.SubSegment=30]=`SubSegment`,e[e.Static=40]=`Static`,e[e.Dynamic=20]=`Dynamic`,e[e.BonusCustomRegExp=10]=`BonusCustomRegExp`,e[e.BonusWildcard=-50]=`BonusWildcard`,e[e.BonusRepeatable=-20]=`BonusRepeatable`,e[e.BonusOptional=-8]=`BonusOptional`,e[e.BonusStrict=.7000000000000001]=`BonusStrict`,e[e.BonusCaseSensitive=.25]=`BonusCaseSensitive`,e}(J||{}),Vn=/[.+*?^${}()[\]/\\]/g;function Hn(e,t){let n=R({},Bn,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[J.Root];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=J.Segment+(n.sensitive?J.BonusCaseSensitive:0);if(o.type===K.Static)r||(i+=`/`),i+=o.value.replace(Vn,`\\$&`),s+=J.Static;else if(o.type===K.Param){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||zn;if(u!==zn){s+=J.BonusCustomRegExp;try{`${u}`}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=J.Dynamic,c&&(s+=J.BonusOptional),n&&(s+=J.BonusRepeatable),u===`.*`&&(s+=J.BonusWildcard)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=J.BonusStrict}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===K.Static)n+=e.value;else if(e.type===K.Param){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(z(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=z(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Un(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===J.Static+J.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===J.Static+J.Segment?1:-1:0}function Wn(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Un(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(Gn(r))return 1;if(Gn(i))return-1}return i.length-r.length}function Gn(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var Kn={strict:!1,end:!0,sensitive:!1};function qn(e,t,n){let r=R(Hn(Rn(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Jn(e,t){let n=[],r=new Map;t=Tt(Kn,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Xn(e);s.aliasOf=r&&r.record;let l=Tt(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Xn(R({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=qn(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Qn(d)&&o(e.name)),nr(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:wt}function o(e){if(_n(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=er(e,n);n.splice(t,0,e),e.record.name&&!Qn(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw U(H.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=R(Yn(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Yn(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw U(H.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=R({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:$n(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Yn(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Xn(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Zn(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Zn(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Qn(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function $n(e){return e.reduce((e,t)=>R(e,t.meta),{})}function er(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Wn(e,t[i])<0?r=i:n=i+1}let i=tr(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function tr(e){let t=e;for(;t=t.parent;)if(nr(t)&&Wn(e,t)===0)return t}function nr({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function rr(e){let t=y(wn),n=y(Tn),r=j(()=>{let n=i(e.to);return t.resolve(n)}),a=j(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(B.bind(null,i));if(o>-1)return o;let s=cr(e[t-2]);return t>1&&cr(i)===s&&a[a.length-1].path!==s?a.findIndex(B.bind(null,e[t-2])):o}),o=j(()=>a.value>-1&&sr(n.params,r.value.params)),s=j(()=>a.value>-1&&a.value===n.matched.length-1&&$t(n.params,r.value.params));function c(n={}){if(or(n)){let n=t[i(e.replace)?`replace`:`push`](i(e.to)).catch(wt);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:j(()=>r.value.href),isActive:o,isExactActive:s,navigate:c}}function ir(e){return e.length===1?e[0]:e}var ar=T({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:rr,setup(e,{slots:t}){let n=be(rr(e)),{options:r}=y(wn),i=j(()=>({[lr(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[lr(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&ir(t.default(n));return e.custom?r:_e(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function or(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function sr(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!z(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function cr(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var lr=(e,t,n)=>e??t??n,ur=T({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:r,slots:a}){let o=y(En),s=j(()=>e.route||o.value),c=y(Cn,0),l=j(()=>{let e=i(c),{matched:t}=s.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),u=j(()=>s.value.matched[l.value]);n(Cn,j(()=>l.value+1)),n(Sn,u),n(En,s);let d=t();return O(()=>[d.value,u.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!B(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let t=s.value,n=e.name,i=u.value,o=i&&i.components[n];if(!o)return dr(a.default,{Component:o,route:t});let c=i.props[n],l=_e(o,R({},c?c===!0?t.params:typeof c==`function`?c(t):c:null,r,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(i.instances[n]=null)},ref:d}));return dr(a.default,{Component:l,route:t})||l}}});function dr(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var fr=ur;function pr(e){let t=Jn(e.routes,e),n=e.parseQuery||yn,r=e.stringifyQuery||bn,o=e.history,s=Dn(),c=Dn(),l=Dn(),u=a(V),d=V;L&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let f=Ct.bind(null,e=>``+e),p=Ct.bind(null,Gt),g=Ct.bind(null,Kt);function _(e,n){let r,i;return _n(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function v(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function ee(){return t.getRoutes().map(e=>e.record)}function te(e){return!!t.getRecordMatcher(e)}function ne(e,i){if(i=R({},i||u.value),typeof e==`string`){let r=Yt(n,e,i.path),a=t.resolve({path:r.path},i),s=o.createHref(r.fullPath);return R(r,a,{params:g(a.params),hash:Kt(r.hash),redirectedFrom:void 0,href:s})}let a;if(e.path!=null)a=R({},e,{path:Yt(n,e.path,i.path).path});else{let t=R({},e.params);for(let e in t)t[e]??delete t[e];a=R({},e,{params:p(t)}),i.params=p(i.params)}let s=t.resolve(a,i),c=e.hash||``;s.params=f(g(s.params));let l=Xt(r,R({},e,{hash:Vt(c),path:s.path})),d=o.createHref(l);return R({fullPath:l,hash:c,query:r===bn?xn(e.query):e.query||{}},s,{redirectedFrom:void 0,href:d})}function y(e){return typeof e==`string`?Yt(n,e,u.value.path):R({},e)}function b(e,t){if(d!==e)return U(H.NAVIGATION_CANCELLED,{from:t,to:e})}function x(e){return w(e)}function S(e){return x(R(y(e),{replace:!0}))}function C(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=y(i):{path:i},i.params={}),R({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function w(e,t){let n=d=ne(e),i=u.value,a=e.state,o=e.force,s=e.replace===!0,c=C(n,i);if(c)return w(R(y(c),{state:typeof c==`object`?R({},a,c.state):a,force:o,replace:s}),t||n);let l=n;l.redirectedFrom=t;let f;return!o&&Qt(r,i,n)&&(f=U(H.NAVIGATION_DUPLICATED,{to:l,from:i}),ue(i,i,!0,!1)),(f?Promise.resolve(f):E(l,i)).catch(e=>W(e)?W(e,H.NAVIGATION_GUARD_REDIRECT)?e:le(e):se(e,l,i)).then(e=>{if(e){if(W(e,H.NAVIGATION_GUARD_REDIRECT))return w(R({replace:s},y(e.to),{state:typeof e.to==`object`?R({},a,e.to.state):a,force:o}),t||l)}else e=D(l,i,!0,s,a);return ie(l,i,e),e})}function re(e,t){let n=b(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=pe.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,a]=kn(e,t);n=On(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(G(r,e,t))});let o=re.bind(null,e,t);return n.push(o),M(n).then(()=>{n=[];for(let r of s.list())n.push(G(r,e,t));return n.push(o),M(n)}).then(()=>{n=On(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(G(r,e,t))});return n.push(o),M(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(z(r.beforeEnter))for(let i of r.beforeEnter)n.push(G(i,e,t));else n.push(G(r.beforeEnter,e,t));return n.push(o),M(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=On(a,`beforeRouteEnter`,e,t,T),n.push(o),M(n))).then(()=>{n=[];for(let r of c.list())n.push(G(r,e,t));return n.push(o),M(n)}).catch(e=>W(e,H.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function ie(e,t,n){l.list().forEach(r=>T(()=>r(e,t,n)))}function D(e,t,n,r,i){let a=b(e,t);if(a)return a;let s=t===V,c=L?history.state:{};n&&(r||s?o.replace(e.fullPath,R({scroll:s&&c&&c.scroll},i)):o.push(e.fullPath,i)),u.value=e,ue(e,t,n,s),le()}let O;function ae(){O||=o.listen((e,t,n)=>{if(!j.listening)return;let r=ne(e),i=C(r,j.currentRoute.value);if(i){w(R(i,{replace:!0,force:!0}),r).catch(wt);return}d=r;let a=u.value;L&&mn(fn(a.fullPath,n.delta),un()),E(r,a).catch(e=>W(e,H.NAVIGATION_ABORTED|H.NAVIGATION_CANCELLED)?e:W(e,H.NAVIGATION_GUARD_REDIRECT)?(w(R(y(e.to),{force:!0}),r).then(e=>{W(e,H.NAVIGATION_ABORTED|H.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===rn.pop&&o.go(-1,!1)}).catch(wt),Promise.reject()):(n.delta&&o.go(-n.delta,!1),se(e,r,a))).then(e=>{e||=D(r,a,!1),e&&(n.delta&&!W(e,H.NAVIGATION_CANCELLED)?o.go(-n.delta,!1):n.type===rn.pop&&W(e,H.NAVIGATION_ABORTED|H.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),ie(r,a,e)}).catch(wt)})}let k=Dn(),A=Dn(),oe;function se(e,t,n){le(e);let r=A.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function ce(){return oe&&u.value!==V?Promise.resolve():new Promise((e,t)=>{k.add([e,t])})}function le(e){return oe||(oe=!e,ae(),k.list().forEach(([t,n])=>e?n(e):t()),k.reset()),e}function ue(t,n,r,i){let{scrollBehavior:a}=e;if(!L||!a)return Promise.resolve();let o=!r&&hn(fn(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return m().then(()=>a(t,n,o)).then(e=>e&&dn(e)).catch(e=>se(e,t,n))}let de=e=>o.go(e),fe,pe=new Set,j={currentRoute:u,listening:!0,addRoute:_,removeRoute:v,clearRoutes:t.clearRoutes,hasRoute:te,getRoutes:ee,resolve:ne,options:e,push:x,replace:S,go:de,back:()=>de(-1),forward:()=>de(1),beforeEach:s.add,beforeResolve:c.add,afterEach:l.add,onError:A.add,isReady:ce,install(e){e.component(`RouterLink`,ar),e.component(`RouterView`,fr),e.config.globalProperties.$router=j,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>i(u)}),L&&!fe&&u.value===V&&(fe=!0,x(o.location).catch(e=>{}));let t={};for(let e in V)Object.defineProperty(t,e,{get:()=>u.value[e],enumerable:!0});e.provide(wn,j),e.provide(Tn,h(t)),e.provide(En,u);let n=e.unmount;pe.add(e),e.unmount=function(){pe.delete(e),pe.size<1&&(d=V,O&&O(),O=null,u.value=V,fe=!1,oe=!1),n()}}};function M(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return j}function mr(){return y(wn)}function hr(e){return y(Tn)}var gr=`manguito_auth`;function _r(){try{let e=localStorage.getItem(gr);return e?JSON.parse(e):null}catch{return null}}var Y=fe(`auth`,()=>{let e=me(),n=_r(),r=t(n?.id??null),i=t(n?.email??null),a=t(n?.role??null),o=t(n?.mustChangePassword??!1),s=j(()=>r.value!==null),c=j(()=>a.value?e.getRoleByName(a.value)?.permissions??[]:[]),l=j(()=>a.value?e.getRoleByName(a.value)?.hierarchy_level??1/0:1/0);function u(e){r.value=e.id,i.value=e.email,a.value=e.role,o.value=e.mustChangePassword??!1;try{localStorage.setItem(gr,JSON.stringify({id:e.id,email:e.email,role:e.role,mustChangePassword:e.mustChangePassword??!1}))}catch{}}function d(){r.value=null,i.value=null,a.value=null,o.value=!1;try{localStorage.removeItem(gr)}catch{}}function f(e){return c.value.includes(e)}return{id:r,email:i,role:a,mustChangePassword:o,isAuthenticated:s,permissions:c,hierarchyLevel:l,setUser:u,clear:d,hasPermission:f}});function vr(e){return o()?(p(e),!0):!1}var yr=new WeakMap,br=(...e)=>{let t=e[0],n=te()?.proxy;if(n==null&&!ye())throw Error(`injectLocal must be called in setup`);return n&&yr.has(n)&&t in yr.get(n)?yr.get(n)[t]:y(...e)},xr=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Sr=Object.prototype.toString,Cr=e=>Sr.call(e)===`[object Object]`,X=()=>{},wr=Tr();function Tr(){return xr&&(window==null?void 0:window.navigator)?.userAgent&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||(window==null?void 0:window.navigator)?.maxTouchPoints>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Er(e,t){function n(...n){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(r).catch(i)})}return n}function Dr(e,t={}){let n,r,i=X,a=e=>{clearTimeout(e),i(),i=X},o;return s=>{let c=g(e),l=g(t.maxWait);return n&&a(n),c<=0||l!==void 0&&l<=0?(r&&=(a(r),null),Promise.resolve(s())):new Promise((e,u)=>{i=t.rejectOnCancel?u:e,o=s,l&&!r&&(r=setTimeout(()=>{n&&a(n),r=null,e(o())},l)),n=setTimeout(()=>{r&&a(r),r=null,e(s())},c)})}}function Or(e){return e.endsWith(`rem`)?Number.parseFloat(e)*16:Number.parseFloat(e)}function kr(e){return Array.isArray(e)?e:[e]}function Ar(e,t=200,n={}){return Er(Dr(t,n),e)}function jr(e,t,n){return O(e,t,{...n,immediate:!0})}var Mr=xr?window:void 0;xr&&window.document,xr&&window.navigator,xr&&window.location;function Nr(e){let t=g(e);return t?.$el??t}function Z(...e){let t=[],n=()=>{t.forEach(e=>e()),t.length=0},r=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),a=j(()=>{let t=kr(g(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0}),o=jr(()=>[a.value?.map(e=>Nr(e))??[Mr].filter(e=>e!=null),kr(g(a.value?e[1]:e[0])),kr(i(a.value?e[2]:e[1])),g(a.value?e[3]:e[2])],([e,i,a,o])=>{if(n(),!e?.length||!i?.length||!a?.length)return;let s=Cr(o)?{...o}:o;t.push(...e.flatMap(e=>i.flatMap(t=>a.map(n=>r(e,t,n,s)))))},{flush:`post`});return vr(n),()=>{o(),n()}}var Pr=!1;function Fr(e,t,n={}){let{window:r=Mr,ignore:i=[],capture:a=!0,detectIframe:o=!1,controls:s=!1}=n;if(!r)return s?{stop:X,cancel:X,trigger:X}:X;if(wr&&!Pr){Pr=!0;let e={passive:!0};Array.from(r.document.body.children).forEach(t=>Z(t,`click`,X,e)),Z(r.document.documentElement,`click`,X,e)}let c=!0,l=e=>g(i).some(t=>{if(typeof t==`string`)return Array.from(r.document.querySelectorAll(t)).some(t=>t===e.target||e.composedPath().includes(t));{let n=Nr(t);return n&&(e.target===n||e.composedPath().includes(n))}});function u(e){let t=g(e);return t&&t.$.subTree.shapeFlag===16}function d(e,t){let n=g(e),r=n.$.subTree&&n.$.subTree.children;return r==null||!Array.isArray(r)?!1:r.some(e=>e.el===t.target||t.composedPath().includes(e.el))}let f=n=>{let r=Nr(e);if(n.target!=null&&!(!(r instanceof Element)&&u(e)&&d(e,n))&&!(!r||r===n.target||n.composedPath().includes(r))){if(`detail`in n&&n.detail===0&&(c=!l(n)),!c){c=!0;return}t(n)}},p=!1,m=[Z(r,`click`,e=>{p||(p=!0,setTimeout(()=>{p=!1},0),f(e))},{passive:!0,capture:a}),Z(r,`pointerdown`,t=>{let n=Nr(e);c=!l(t)&&!!(n&&!t.composedPath().includes(n))},{passive:!0}),o&&Z(r,`blur`,n=>{setTimeout(()=>{let i=Nr(e);r.document.activeElement?.tagName===`IFRAME`&&!i?.contains(r.document.activeElement)&&t(n)},0)},{passive:!0})].filter(Boolean),h=()=>m.forEach(e=>e());return s?{stop:h,cancel:()=>{c=!1},trigger:e=>{c=!0,f(e),c=!1}}:h}function Ir(){let e=a(!1),t=te();return t&&ve(()=>{e.value=!0},t),e}function Lr(e){let t=Ir();return j(()=>(t.value,!!e()))}var Rr=Symbol(`vueuse-ssr-width`);function zr(){let e=ye()?br(Rr,null):null;return typeof e==`number`?e:void 0}function Br(e,t={}){let{window:n=Mr,ssrWidth:r=zr()}=t,i=Lr(()=>n&&`matchMedia`in n&&typeof n.matchMedia==`function`),o=a(typeof r==`number`),s=a(),c=a(!1);return l(()=>{if(o.value){o.value=!i.value;let t=g(e).split(`,`);c.value=t.some(e=>{let t=e.includes(`not all`),n=e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),i=e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),a=!!(n||i);return n&&a&&(a=r>=Or(n[1])),i&&a&&(a=r<=Or(i[1])),t?!a:a});return}i.value&&(s.value=n.matchMedia(g(e)),c.value=s.value.matches)}),Z(s,`change`,e=>{c.value=e.matches},{passive:!0}),j(()=>c.value)}var Vr=3,Hr=4e3,Q=fe(`ui`,()=>{let e=t([]),n=t(!1),r=Br(`(max-width: 820px)`),i=t(!1),a=t(null),o=t(0),s=t(!1),c=t(`Manguito CMS`);function l(t,n,r=Hr){e.value.length>=Vr&&e.value.shift();let i=crypto.randomUUID();e.value.push({id:i,variant:t,message:n,duration:r}),r!==null&&setTimeout(()=>u(i),r)}function u(t){let n=e.value.findIndex(e=>e.id===t);n!==-1&&e.value.splice(n,1)}function d(e){o.value=e}function f(e){s.value=e}function p(e){c.value=e}function m(){r.value?i.value=!i.value:n.value=!n.value}function h(){i.value=!1}return{toasts:e,sidebarCollapsed:n,isMobile:r,mobileNavOpen:i,activeModal:a,maxFileSize:o,presignedUploads:s,cmsName:c,addToast:l,removeToast:u,setMaxFileSize:d,setPresignedUploads:f,setCmsName:p,toggleSidebar:m,closeMobileNav:h}}),Ur={key:0,class:`fixed inset-0 flex items-center justify-center bg-white`,"aria-label":`Loading`},Wr=T({__name:`App`,setup(e){let n=t(!0),i=mr(),a=Y(),o=me(),s=Q();async function c(e=!0){let t=await fetch(`/admin/api/config`,{credentials:`include`});if(t.status===401){e&&(a.clear(),i.push(`/admin/login`));return}if(t.ok){let e=(await t.json()).data,n=e.all_roles??[];o.setRoles(n.map(e=>({name:e.name,label:e.label,hierarchy_level:e.hierarchy_level,is_system:e.is_system,permissions:e.permissions}))),e.user&&a.setUser({id:e.user.id,email:e.user.email,role:e.user.role,mustChangePassword:e.user.must_change_password}),s.setCmsName(e.cms_name),e.media?.max_file_size&&s.setMaxFileSize(e.media.max_file_size),s.setPresignedUploads(e.media?.presigned_uploads??!1);let r=await fetch(`/admin/api/schema`,{credentials:`include`});if(r.ok){let e=await r.json();o.setFromApiSchema(e.data)}a.mustChangePassword&&i.push(`/admin/change-password`)}}return ve(async()=>{if(!a.isAuthenticated){n.value=!1;return}try{await c()}finally{n.value=!1}}),O(()=>s.cmsName,e=>{document.title=e},{immediate:!0}),O(()=>a.isAuthenticated,async(e,t)=>{if(e&&!t){n.value=!0;try{await c(!1)}catch{}finally{n.value=!1}}}),(e,t)=>{let i=ae(`router-view`);return n.value?(r(),S(`div`,Ur,[...t[0]||=[b(`div`,{class:`h-10 w-10 animate-spin rounded-full border-4 border-gray-200 border-t-gray-600`,role:`status`},null,-1)]])):(r(),k(i,{key:1}))}}});function Gr(){let e=Y(),t=me();function n(t){return e.permissions.includes(t)}function r(){return t.roles.filter(t=>t.hierarchy_level>e.hierarchyLevel&&t.name!==`admin`)}return{can:n,rolesBelow:r}}function Kr(){let e=mr(),t=Y();async function n(i,a,o=!1){let s=await fetch(`/admin/api${i}`,{...a,credentials:`include`,headers:{"Content-Type":`application/json`,...a?.headers}});return s.status===401&&!o?await r()?n(i,a,!0):(t.clear(),e.push(`/admin/login`),{ok:!1,error:{code:`UNAUTHORIZED`,message:`Session expired.`}}):s.json()}async function r(){return(await fetch(`/admin/api/auth/refresh`,{method:`POST`,credentials:`include`})).ok}function i(e){return n(e,{method:`GET`})}function a(e,t){return n(e,{method:`POST`,body:JSON.stringify(t)})}function o(e,t){return n(e,{method:`PATCH`,body:JSON.stringify(t)})}function s(e,t){return n(e,{method:`PUT`,body:JSON.stringify(t)})}function c(e){return n(e,{method:`DELETE`})}return{get:i,post:a,patch:o,put:s,del:c}}var qr={class:`flex items-center gap-[11px] px-[17px] pb-[14px] pt-[18px]`},Jr={key:0,class:`overflow-hidden`},Yr={class:`whitespace-nowrap text-[15px] font-bold tracking-tight text-ink`},Xr={class:`flex flex-1 flex-col overflow-y-auto overflow-x-hidden px-3 pb-2.5 pt-1`},Zr=[`aria-expanded`],Qr={class:`min-h-0 overflow-hidden`},$r={key:0,class:`overflow-hidden whitespace-nowrap`},ei={key:0},ti=[`aria-expanded`],ni={class:`min-h-0 overflow-hidden`},ri={key:0,class:`overflow-hidden whitespace-nowrap`},ii={key:0,class:`overflow-hidden whitespace-nowrap`},ai={key:0,class:`overflow-hidden whitespace-nowrap`},oi={key:0,class:`overflow-hidden whitespace-nowrap`},si={class:`border-t border-divider p-3`},ci={class:`flex items-center gap-2.5 p-1.5`},li={class:`flex h-[34px] w-[34px] shrink-0 items-center justify-center rounded-[10px] bg-gradient-to-br from-[#6D5EF0] to-[#A06BF0] text-[14px] font-bold text-white`},ui={key:0,class:`overflow-hidden`},di={class:`whitespace-nowrap text-[13px] font-semibold text-[#2C2C44]`},fi={key:0,class:`whitespace-nowrap text-[11.5px] text-[#9A9AB0]`},pi={key:0,class:`whitespace-nowrap`},mi=T({__name:`Sidebar`,setup(e){let n=me(),a=Y(),o=Q(),{can:s}=Gr(),c=mr(),l=Kr(),f=j(()=>Object.values(n.contentTypes)),p=j(()=>Object.values(n.taxonomyTypes)),m=j(()=>a.role?n.getRoleByName(a.role)?.label??a.role:null),h=t(!0),g=t(!0),_=j(()=>!o.isMobile&&o.sidebarCollapsed),v=`/admin`;async function ee(){await l.post(`/auth/logout`,{}),a.clear(),c.push(`${v}/login`)}function te(){return a.email?a.email.charAt(0).toUpperCase():`?`}return(e,t)=>{let n=ae(`RouterLink`);return r(),S(`aside`,{class:A([`flex h-full flex-col border-r border-card-border bg-white transition-[width] duration-300`,i(o).isMobile?`fixed inset-y-0 left-0 z-50 w-[258px] shadow-2xl transition-transform duration-300`:`relative shrink-0 overflow-hidden`,i(o).isMobile&&!i(o).mobileNavOpen?`-translate-x-full`:`translate-x-0`,!i(o).isMobile&&(_.value?`w-[74px]`:`w-[258px]`)]),"aria-label":`Main navigation`},[b(`div`,qr,[t[3]||=ue(`<div class="flex h-[34px] w-[34px] shrink-0 items-center justify-center rounded-[11px] bg-gradient-to-br from-[#6D5EF0] to-[#5B57E8] shadow-[0_4px_12px_rgba(91,87,232,0.36)]"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2.1" stroke-linecap="round"><path d="M4 7h16"></path><path d="M4 12h10"></path><path d="M4 17h13"></path></svg></div>`,1),_.value?N(``,!0):(r(),S(`div`,Jr,[b(`div`,Yr,C(i(o).cmsName),1),t[2]||=b(`div`,{class:`whitespace-nowrap text-[11px] font-medium text-faint`},`Admin panel`,-1)]))]),b(`div`,Xr,[b(`div`,null,[_.value?N(``,!0):(r(),S(`button`,{key:0,type:`button`,class:`mb-1 mt-4 flex w-full items-center justify-between px-2 text-[11px] font-bold uppercase tracking-[.09em] text-faint hover:text-muted`,"aria-expanded":h.value,onClick:t[0]||=e=>h.value=!h.value},[t[5]||=b(`span`,null,`Content`,-1),(r(),S(`svg`,{class:A([`h-3 w-3 text-[#C2C2D0] transition-transform`,h.value?``:`-rotate-90`]),fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"stroke-width":`2.5`},[...t[4]||=[b(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M19 9l-7 7-7-7`},null,-1)]],2))],8,Zr)),b(`div`,{class:`grid transition-[grid-template-rows] duration-300 ease-in-out`,style:ge({gridTemplateRows:_.value||h.value?`1fr`:`0fr`})},[b(`div`,Qr,[(r(!0),S(ie,null,d(f.value,e=>(r(),k(n,{key:e.name,to:`${i(v)}/content/${e.name}`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[6]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M14 3v4a2 2 0 0 0 2 2h4`}),b(`path`,{d:`M5 3h9l5 5v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}),b(`path`,{d:`M9 13h6`}),b(`path`,{d:`M9 17h5`})])],-1),_.value?N(``,!0):(r(),S(`span`,$r,C(e.label),1))]),_:2},1032,[`to`,`class`]))),128))])],4)]),p.value.length>0?(r(),S(`div`,ei,[_.value?N(``,!0):(r(),S(`button`,{key:0,type:`button`,class:`mb-1 mt-4 flex w-full items-center justify-between px-2 text-[11px] font-bold uppercase tracking-[.09em] text-faint hover:text-muted`,"aria-expanded":g.value,onClick:t[1]||=e=>g.value=!g.value},[t[8]||=b(`span`,null,`Taxonomy`,-1),(r(),S(`svg`,{class:A([`h-3 w-3 text-[#C2C2D0] transition-transform`,g.value?``:`-rotate-90`]),fill:`none`,viewBox:`0 0 24 24`,stroke:`currentColor`,"stroke-width":`2.5`},[...t[7]||=[b(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,d:`M19 9l-7 7-7-7`},null,-1)]],2))],8,ti)),b(`div`,{class:`grid transition-[grid-template-rows] duration-300 ease-in-out`,style:ge({gridTemplateRows:_.value||g.value?`1fr`:`0fr`})},[b(`div`,ni,[(r(!0),S(ie,null,d(p.value,e=>(r(),k(n,{key:e.name,to:`${i(v)}/taxonomy/${e.name}`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[9]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L2 12V2h10l8.6 8.6a2 2 0 0 1 0 2.8z`}),b(`path`,{d:`M7 7h.01`})])],-1),_.value?N(``,!0):(r(),S(`span`,ri,C(e.label),1))]),_:2},1032,[`to`,`class`]))),128))])],4)])):N(``,!0),t[13]||=b(`div`,{class:`my-3.5 mx-2.5 h-px bg-divider`},null,-1),i(s)(`media:read`)?(r(),k(n,{key:1,to:`${i(v)}/media`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[10]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`}),b(`path`,{d:`M8.5 11a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3z`}),b(`path`,{d:`M21 15l-5-5L5 21`})])],-1),_.value?N(``,!0):(r(),S(`span`,ii,`Media`))]),_:1},8,[`to`,`class`])):N(``,!0),i(s)(`users:read`)?(r(),k(n,{key:2,to:`${i(v)}/users`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[11]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`}),b(`path`,{d:`M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z`}),b(`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.9`}),b(`path`,{d:`M16 3.1a4 4 0 0 1 0 7.8`})])],-1),_.value?N(``,!0):(r(),S(`span`,ai,`Users`))]),_:1},8,[`to`,`class`])):N(``,!0),i(s)(`roles:read`)?(r(),k(n,{key:3,to:`${i(v)}/roles`,class:A([`my-0.5 flex items-center rounded-[10px] text-sm font-medium text-[#4A4A60] transition-colors hover:bg-[#F3F2F8]`,_.value?`justify-center px-0 py-[11px]`:`gap-3 px-3 py-2.5`]),"active-class":`!bg-indigo-50 !text-indigo-600 !font-semibold`},{default:u(()=>[t[12]||=b(`span`,{class:`flex shrink-0`},[b(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`},[b(`path`,{d:`M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z`})])],-1),_.value?N(``,!0):(r(),S(`span`,oi,`Roles`))]),_:1},8,[`to`,`class`])):N(``,!0)]),b(`div`,si,[b(`div`,ci,[b(`div`,li,C(te()),1),_.value?N(``,!0):(r(),S(`div`,ui,[b(`div`,di,C(i(a).email),1),m.value?(r(),S(`div`,fi,C(m.value),1)):N(``,!0)]))]),b(`button`,{type:`button`,class:A([`mt-1 flex w-full items-center rounded-[10px] py-[9px] text-left text-[13.5px] font-medium text-[#74748C] transition-colors hover:bg-[#FDF2F4] hover:text-[#E1495B]`,_.value?`justify-center px-0`:`gap-[11px] px-2`]),onClick:ee},[t[14]||=ue(`<span class="flex shrink-0"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><path d="M16 17l5-5-5-5"></path><path d="M21 12H9"></path></svg></span>`,1),_.value?N(``,!0):(r(),S(`span`,pi,`Log out`))],2)])],2)}}}),hi={class:`flex h-[60px] shrink-0 items-center gap-[13px] border-b border-card-border bg-white/85 px-4 backdrop-blur-md`},gi={key:0,width:`21`,height:`21`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.9`,"stroke-linecap":`round`},_i={key:1,width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`},vi={class:`flex min-w-0 items-center gap-[9px]`},yi={class:`overflow-hidden truncate whitespace-nowrap text-[14.5px] font-semibold text-[#2C2C44]`},bi=T({__name:`Topbar`,setup(e){let t=Q();return(e,n)=>(r(),S(`header`,hi,[b(`button`,{type:`button`,class:`flex h-[38px] w-[38px] items-center justify-center rounded-[10px] text-[#4A4A60] transition-colors hover:bg-[#F1F0F7]`,"aria-label":`Toggle sidebar`,onClick:n[0]||=e=>i(t).toggleSidebar()},[i(t).isMobile?(r(),S(`svg`,gi,[...n[1]||=[b(`path`,{d:`M3 6h18`},null,-1),b(`path`,{d:`M3 12h18`},null,-1),b(`path`,{d:`M3 18h18`},null,-1)]])):(r(),S(`svg`,_i,[...n[2]||=[b(`path`,{d:`M5 3h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`},null,-1),b(`path`,{d:`M9 3v18`},null,-1)]]))]),b(`div`,vi,[n[3]||=b(`span`,{class:`shrink-0 rounded-[7px] bg-indigo-50 px-[9px] py-[3px] text-[10.5px] font-bold tracking-[.05em] text-indigo-600`},` ADMIN `,-1),b(`span`,yi,C(i(t).cmsName),1)]),n[4]||=b(`div`,{class:`flex-1`},null,-1)]))}}),xi={class:`mt-10 border-t border-gray-200 px-1 py-5`},Si={class:`text-xs text-gray-400`},Ci=T({__name:`Footer`,setup(e){let t=Q();return(e,n)=>(r(),S(`footer`,xi,[b(`p`,Si,C(i(t).cmsName),1)]))}}),wi={"aria-live":`polite`,"aria-atomic":`false`,class:`pointer-events-none fixed bottom-4 right-4 z-50 flex flex-col gap-2`},Ti={class:`flex-1 text-sm`},Ei=[`aria-label`,`onClick`],Di=T({__name:`ToastContainer`,setup(e){let t=Q(),n=j(()=>[...t.toasts].reverse()),a={success:`bg-green-600 text-white`,error:`bg-red-600 text-white`,warning:`bg-amber-500 text-white`,info:`bg-blue-600 text-white`};return(e,o)=>(r(),S(`div`,wi,[(r(!0),S(ie,null,d(n.value,e=>(r(),S(`div`,{key:e.id,class:A([`pointer-events-auto flex w-80 items-start gap-3 rounded-lg px-4 py-3 shadow-lg`,a[e.variant]??`bg-blue-600 text-white`]),role:`status`},[b(`span`,Ti,C(e.message),1),b(`button`,{type:`button`,class:`shrink-0 opacity-80 hover:opacity-100`,"aria-label":`Dismiss: ${e.message}`,onClick:n=>i(t).removeToast(e.id)},` × `,8,Ei)],2))),128))]))}}),Oi={class:`flex h-screen overflow-hidden bg-surface`},ki={class:`flex min-w-0 flex-1 flex-col`},Ai={class:`flex-1 overflow-y-auto p-6`},ji=T({__name:`AppShell`,setup(e){let t=Q();return(e,n)=>{let a=ae(`router-view`);return r(),S(`div`,Oi,[E(mi),i(t).isMobile&&i(t).mobileNavOpen?(r(),S(`div`,{key:0,class:`fixed inset-0 z-40 bg-[rgba(20,20,40,0.4)] backdrop-blur-[2px]`,onClick:n[0]||=e=>i(t).closeMobileNav()})):N(``,!0),b(`div`,ki,[E(bi),b(`main`,Ai,[E(a),E(Ci)])]),E(Di)])}}}),Mi=(function(){let e=typeof document<`u`&&document.createElement(`link`).relList;return e&&e.supports&&e.supports(`modulepreload`)?`modulepreload`:`preload`})(),Ni=function(e){return`/`+e},Pi={},$=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),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?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=Ni(t,n),t=s(t),t in Pi)return;Pi[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Mi,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}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)})},Fi=[{path:`/admin/login`,name:`login`,component:()=>$(()=>import(`./LoginView-CBp1ioam.js`),__vite__mapDeps([0,1]))},{path:`/admin`,component:ji,meta:{requiresAuth:!0},children:[{path:``,redirect:`/admin/media`},{path:`change-password`,name:`change-password`,component:()=>$(()=>import(`./ChangePasswordView-XlbFYOND.js`),__vite__mapDeps([2,1]))},{path:`content/:type`,name:`content-list`,component:()=>$(()=>import(`./ContentListView-DRdWO8se.js`),__vite__mapDeps([3,1,4,5]))},{path:`content/:type/new`,name:`content-new`,component:()=>$(()=>import(`./ContentFormView-DrHZ5Rbs.js`),__vite__mapDeps([6,1,7,8,9,4,10,11]))},{path:`content/:type/settings`,name:`content-settings`,component:()=>$(()=>import(`./ContentSettingsView-DWAJdkta.js`),__vite__mapDeps([12,1,9])),meta:{permission:`content:edit`}},{path:`content/:type/:id`,name:`content-edit`,component:()=>$(()=>import(`./ContentFormView-DrHZ5Rbs.js`),__vite__mapDeps([6,1,7,8,9,4,10,11]))},{path:`taxonomy/:type`,name:`taxonomy-list`,component:()=>$(()=>import(`./TaxonomyListView-C4W2nffO.js`),__vite__mapDeps([13,1,5,14]))},{path:`taxonomy/:type/new`,name:`taxonomy-new`,component:()=>$(()=>import(`./TaxonomyFormView-DIrMfRjS.js`),__vite__mapDeps([15,1,7,8,9,10,14]))},{path:`taxonomy/:type/:id`,name:`taxonomy-edit`,component:()=>$(()=>import(`./TaxonomyFormView-DIrMfRjS.js`),__vite__mapDeps([15,1,7,8,9,10,14]))},{path:`media`,name:`media-library`,component:()=>$(()=>import(`./MediaLibraryView-CFjtPQPv.js`),__vite__mapDeps([16,1,9,10,11,8,5,17]))},{path:`media/:id`,name:`media-detail`,component:()=>$(()=>import(`./MediaDetailView-LzGfNuER.js`),__vite__mapDeps([18,1,9,10,17]))},{path:`users`,name:`user-list`,component:()=>$(()=>import(`./UserListView-DMaUbteP.js`),__vite__mapDeps([19,1,20])),meta:{permission:`users:read`}},{path:`users/new`,name:`user-new`,component:()=>$(()=>import(`./UserFormView-C-y6ny_B.js`),__vite__mapDeps([21,1,9,10,20])),meta:{permission:`users:read`}},{path:`users/:id`,name:`user-edit`,component:()=>$(()=>import(`./UserFormView-C-y6ny_B.js`),__vite__mapDeps([21,1,9,10,20])),meta:{permission:`users:read`}},{path:`roles`,name:`roles`,component:()=>$(()=>import(`./RolesView-UWBl91JE.js`),__vite__mapDeps([22,1]))}]}],Ii=pr({history:Fn(),routes:Fi});Ii.beforeEach(e=>{let t=Y();return e.path===`/admin/login`?t.isAuthenticated?{path:`/admin/media`}:!0:t.isAuthenticated?t.mustChangePassword&&e.path!==`/admin/change-password`?{path:`/admin/change-password`}:!t.mustChangePassword&&e.path===`/admin/change-password`?{path:`/admin/media`}:!0:{path:`/admin/login`,query:{redirect:e.fullPath}}}),Ii.beforeEach(e=>{let t=Y();if(e.meta.permission&&!t.hasPermission(e.meta.permission))return{path:`/admin/media`}});var Li=vt(Wr);Li.use(oe()),Li.use(Ii),Li.mount(`#app`);export{Ar as a,mr as c,mt as d,Fr as i,lt as l,Gr as n,Y as o,Q as r,hr as s,Kr as t,ct as u};
@@ -1 +1 @@
1
- import{r as e}from"./index-DLFCFdeR.js";var t={INTERNAL_ERROR:`Something went wrong. Please try again.`,NOT_FOUND:`The requested item could not be found.`,STORAGE_ERROR:`File storage is unavailable. Please try again later.`,MEDIA_IN_USE:`This file is still in use and cannot be deleted.`,INSUFFICIENT_PERMISSION:`You do not have permission to do that.`,RATE_LIMITED:`Too many requests. Please wait before trying again.`,UNAUTHORIZED:`Your session has expired. Please log in again.`,TOKEN_EXPIRED:`Your session has expired. Please log in again.`};function n(){let n=e();return{success:e=>n.addToast(`success`,e),error:e=>n.addToast(`error`,e),warning:e=>n.addToast(`warning`,e),apiError:(e,r)=>n.addToast(`error`,t[e]??r)}}export{n as t};
1
+ import{r as e}from"./index-KlNPh31l.js";var t={INTERNAL_ERROR:`Something went wrong. Please try again.`,NOT_FOUND:`The requested item could not be found.`,STORAGE_ERROR:`File storage is unavailable. Please try again later.`,MEDIA_IN_USE:`This file is still in use and cannot be deleted.`,INSUFFICIENT_PERMISSION:`You do not have permission to do that.`,RATE_LIMITED:`Too many requests. Please wait before trying again.`,UNAUTHORIZED:`Your session has expired. Please log in again.`,TOKEN_EXPIRED:`Your session has expired. Please log in again.`};function n(){let n=e();return{success:e=>n.addToast(`success`,e),error:e=>n.addToast(`error`,e),warning:e=>n.addToast(`warning`,e),apiError:(e,r)=>n.addToast(`error`,t[e]??r)}}export{n as t};
package/dist/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/x-icon" href="/favicon.ico" />
7
7
  <title>Manguito CMS</title>
8
- <script type="module" crossorigin src="/assets/index-DLFCFdeR.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-KlNPh31l.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/schema-DGpYmX9j.js">
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-HRIgzrKA.css">
11
11
  </head>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobbykim/manguito-cms-admin",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "license": "MIT",
5
5
  "author": "Bobby Kim <bobby.sihun.kim@gmail.com>",
6
6
  "homepage": "https://github.com/bobbykim89/manguito-cms",
@@ -41,7 +41,7 @@
41
41
  "vite": "^8.1.3",
42
42
  "vue": "^3.5.39",
43
43
  "vue-router": "^4.6.4",
44
- "@bobbykim/manguito-cms-core": "0.11.0"
44
+ "@bobbykim/manguito-cms-core": "0.11.1"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@testing-library/vue": "^8.1.0",
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import { ref, computed, onMounted, nextTick } from 'vue'
2
+ import { ref, computed, watch, nextTick } from 'vue'
3
3
  import { useDebounceFn } from '@vueuse/core'
4
4
  import type { ParsedField } from '@bobbykim/manguito-cms-core'
5
5
  import { relationCardinality } from '@bobbykim/manguito-cms-core/cardinality'
@@ -71,11 +71,21 @@ function basePath(): string {
71
71
  : `/taxonomy/${refName.value}`
72
72
  }
73
73
 
74
+ // The list endpoint's own search: a case-insensitive match on the type's
75
+ // text fields and slug, as the content and taxonomy list views use it.
74
76
  function buildSearchPath(q: string): string {
75
- const params = new URLSearchParams({
76
- [`filters[${titleField.value}][like]`]: q,
77
- per_page: '10',
78
- })
77
+ const params = new URLSearchParams({ search: q, per_page: '10' })
78
+ return `${basePath()}?${params.toString()}`
79
+ }
80
+
81
+ // The list endpoint's largest page, so one request names at most this many ids.
82
+ const LABEL_BATCH = 100
83
+
84
+ // One list request per batch of ids, filtered by id. The list loads no
85
+ // paragraphs or links, where GET /:id loads the whole item (#57).
86
+ function buildLabelPath(ids: string[]): string {
87
+ const params = new URLSearchParams(ids.map((id) => ['filter[id]', id]))
88
+ params.set('per_page', String(ids.length))
79
89
  return `${basePath()}?${params.toString()}`
80
90
  }
81
91
 
@@ -83,15 +93,22 @@ function labelFor(item: Record<string, unknown>): string {
83
93
  return String(item[titleField.value] ?? item.id ?? '')
84
94
  }
85
95
 
96
+ // Numbers each search, so a slower answer to an older query can't replace
97
+ // the results (or clear the spinner) of the one typed since.
98
+ let searchSeq = 0
99
+
86
100
  const doSearch = useDebounceFn(async (q: string) => {
101
+ const seq = ++searchSeq
87
102
  if (q.length < 2) {
88
103
  results.value = []
89
104
  showDropdown.value = false
105
+ loading.value = false
90
106
  return
91
107
  }
92
108
  loading.value = true
93
109
  showDropdown.value = true
94
110
  const res = await api.get<Record<string, unknown>[]>(buildSearchPath(q))
111
+ if (seq !== searchSeq) return
95
112
  loading.value = false
96
113
  if (res.ok) {
97
114
  results.value = res.data
@@ -154,18 +171,33 @@ async function moveChip(index: number, step: -1 | 1) {
154
171
  ;(same ?? chip?.querySelector<HTMLElement>('[data-move]'))?.focus()
155
172
  }
156
173
 
157
- // Fetch display labels for any IDs already present when the component mounts.
158
- onMounted(async () => {
159
- for (const id of selectedIds.value) {
160
- if (selectedLabels.value[id]) continue
161
- const res = await api.get<Record<string, unknown>>(`${basePath()}/${id}`)
162
- if (res.ok) {
163
- selectedLabels.value[id] = labelFor(res.data as Record<string, unknown>)
164
- } else {
165
- selectedLabels.value[id] = id
166
- }
174
+ // Display labels for selected ids that have none yet: on mount, and whenever
175
+ // the value changes from outside (an id picked from search already has one).
176
+ // An id the list doesn't return (a deleted item), or a failed request, shows
177
+ // the id itself. Batches go out together.
178
+ const pendingLabels = new Set<string>()
179
+
180
+ async function loadLabels(ids: string[]) {
181
+ const missing = ids.filter((id) => !selectedLabels.value[id] && !pendingLabels.has(id))
182
+ if (missing.length === 0) return
183
+ for (const id of missing) pendingLabels.add(id)
184
+ const batches: string[][] = []
185
+ for (let start = 0; start < missing.length; start += LABEL_BATCH) {
186
+ batches.push(missing.slice(start, start + LABEL_BATCH))
167
187
  }
168
- })
188
+ await Promise.all(
189
+ batches.map(async (batch) => {
190
+ const res = await api.get<Record<string, unknown>[]>(buildLabelPath(batch))
191
+ const found = new Map(res.ok ? res.data.map((item) => [String(item.id), labelFor(item)]) : [])
192
+ for (const id of batch) {
193
+ selectedLabels.value[id] = found.get(id) ?? id
194
+ pendingLabels.delete(id)
195
+ }
196
+ })
197
+ )
198
+ }
199
+
200
+ watch(selectedIds, (ids) => void loadLabels(ids), { immediate: true })
169
201
  </script>
170
202
 
171
203
  <template>