@dskripchenko/laravel-admin 1.54.0 → 1.54.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.vite/manifest.json +3 -3
- package/dist/assets/{app-BzUGF9ma.js → app-CnVm5w5W.js} +1 -1
- package/dist/assets/{app-YEHeR8G2.css → app-DwK9MEMt.css} +1 -1
- package/dist/assets/{index-CzbXDq-t.js → index-D2KMt-oN.js} +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/source-hash.txt +1 -1
- package/dist/style.css +1 -1
- package/package.json +2 -2
package/dist/.vite/manifest.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"node_modules/@dskripchenko/diagrams/dist/index.mjs": {
|
|
3
|
-
"file": "assets/index-
|
|
3
|
+
"file": "assets/index-D2KMt-oN.js",
|
|
4
4
|
"name": "index",
|
|
5
5
|
"src": "node_modules/@dskripchenko/diagrams/dist/index.mjs",
|
|
6
6
|
"isDynamicEntry": true
|
|
7
7
|
},
|
|
8
8
|
"resources/ts/app.ts": {
|
|
9
|
-
"file": "assets/app-
|
|
9
|
+
"file": "assets/app-CnVm5w5W.js",
|
|
10
10
|
"name": "app",
|
|
11
11
|
"src": "resources/ts/app.ts",
|
|
12
12
|
"isEntry": true,
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"node_modules/@dskripchenko/diagrams/dist/index.mjs"
|
|
15
15
|
],
|
|
16
16
|
"css": [
|
|
17
|
-
"assets/app-
|
|
17
|
+
"assets/app-DwK9MEMt.css"
|
|
18
18
|
]
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -23,7 +23,7 @@ ${E("Текст…")}`),p=P("LABEL"),y=P("0"),m=P("50"),v=P(E("Янв, Фев,
|
|
|
23
23
|
`);i=r===-1?"":o.slice(r+1)}if(!n.stack)n.stack=i;else if(i){const r=i.indexOf(`
|
|
24
24
|
`),s=r===-1?-1:i.indexOf(`
|
|
25
25
|
`,r+1),h=s===-1?"":i.slice(s+1);String(n.stack).endsWith(h)||(n.stack+=`
|
|
26
|
-
`+i)}}catch{}throw n}}_request(t,a){typeof t=="string"?(a=a||{},a.url=t):a=t||{},a=hs(this.defaults,a);const{transitional:n,paramsSerializer:l,headers:o}=a;n!==void 0&&fI.assertOptions(n,{silentJSONParsing:Yt.transitional(Yt.boolean),forcedJSONParsing:Yt.transitional(Yt.boolean),clarifyTimeoutError:Yt.transitional(Yt.boolean),legacyInterceptorReqResOrdering:Yt.transitional(Yt.boolean),advertiseZstdAcceptEncoding:Yt.transitional(Yt.boolean),validateStatusUndefinedResolves:Yt.transitional(Yt.boolean)},!1),l!=null&&(de.isFunction(l)?a.paramsSerializer={serialize:l}:fI.assertOptions(l,{encode:Yt.function,serialize:Yt.function},!0)),a.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?a.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:a.allowAbsoluteUrls=!0),fI.assertOptions(a,{baseUrl:Yt.spelling("baseURL"),withXsrfToken:Yt.spelling("withXSRFToken")},!0),a.method=(de.getSafeProp(a,"method")||de.getSafeProp(this.defaults,"method")||"get").toLowerCase();let i=o&&de.merge(o.common,o[a.method]);o&&de.forEach(JD.concat("common"),M=>{delete o[M]}),a.headers=na.concat(i,o);const r=[];let s=!0;this.interceptors.request.forEach(function(x){if(typeof x.runWhen=="function"&&x.runWhen(a)===!1)return;s=s&&x.synchronous;const g=a.transitional||mA;g&&g.legacyInterceptorReqResOrdering?r.unshift(x.fulfilled,x.rejected):r.push(x.fulfilled,x.rejected)});const h=[];this.interceptors.response.forEach(function(x){h.push(x.fulfilled,x.rejected)});let p,y=0,m;if(!s){const M=[mC.bind(this),void 0];for(M.unshift(...r),M.push(...h),m=M.length,p=Promise.resolve(a);y<m;)p=p.then(M[y++],M[y++]);return p}m=r.length;let v=a;for(;y<m;){const M=r[y++],x=r[y++];try{v=M?M(v):v}catch(g){if(!x){p=Promise.reject(g);break}try{const b=x.call(this,g);de.isThenable(b)&&(p=Promise.resolve(b).then(()=>mC.call(this,v)))}catch(b){p=Promise.reject(b)}break}}if(!p)try{p=mC.call(this,v)}catch(M){p=Promise.reject(M)}for(y=0,m=h.length;y<m;)p=p.then(h[y++],h[y++]);return p}getUri(t){t=hs(this.defaults,t);const a=tE(t.baseURL,t.url,t.allowAbsoluteUrls,t);return KD(a,t.params,t.paramsSerializer)}};de.forEach(["delete","get","head","options"],function(t){os.prototype[t]=function(a,n){return this.request(hs(n||{},{method:t,url:a,data:n&&de.hasOwnProp(n,"data")?n.data:void 0}))}});de.forEach(["post","put","patch","query"],function(t){function a(n){return function(o,i,r){return this.request(hs(r||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:o,data:i}))}}os.prototype[t]=a(),t!=="query"&&(os.prototype[t+"Form"]=a(!0))});let M1e=class iE{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let a;this.promise=new Promise(function(o){a=o});const n=this;this.promise.then(l=>{if(!n._listeners)return;let o=n._listeners.length;for(;o-- >0;)n._listeners[o](l);n._listeners=null}),this.promise.then=l=>{let o;const i=new Promise(r=>{n.subscribe(r),o=r}).then(l);return i.cancel=function(){n.unsubscribe(o)},i},t(function(o,i,r){n.reason||(n.reason=new V1(o,i,r),a(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const a=this._listeners.indexOf(t);a!==-1&&this._listeners.splice(a,1)}toAbortSignal(){const t=new AbortController,a=n=>{t.abort(n)};return this.subscribe(a),t.signal.unsubscribe=()=>this.unsubscribe(a),t.signal}static source(){let t;return{token:new iE(function(l){t=l}),cancel:t}}};function w1e(e){return function(a){return e.apply(null,a)}}function _1e(e){return de.isObject(e)&&e.isAxiosError===!0}const yI={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,ContentTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,UnprocessableContent:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(yI).forEach(([e,t])=>{yI[t]===void 0&&(yI[t]=e)});function rE(e){const t=new os(e),a=qD(os.prototype.request,t);return de.extend(a,os.prototype,t,{allOwnKeys:!0}),de.extend(a,t,null,{allOwnKeys:!0}),a.create=function(l){return rE(hs(e,l))},a}const Rt=rE(E1);Rt.Axios=os;Rt.CanceledError=V1;Rt.CancelToken=M1e;Rt.isCancel=YD;Rt.VERSION=kA;Rt.toFormData=PL;Rt.AxiosError=Ee;Rt.Cancel=Rt.CanceledError;Rt.all=function(t){return Promise.all(t)};Rt.spread=w1e;Rt.isAxiosError=_1e;Rt.mergeConfig=hs;Rt.AxiosHeaders=na;Rt.formToJSON=e=>XD(de.isHTMLForm(e)?new FormData(e):e);Rt.getAdapter=oE.getAdapter;Rt.HttpStatusCode=yI;Rt.default=Rt;const{Axios:Lme,AxiosError:Cme,CanceledError:Sme,isCancel:Ame,CancelToken:$me,VERSION:qme,all:zme,Cancel:Rme,isAxiosError:Pme,spread:Tme,toFormData:Dme,AxiosHeaders:Eme,HttpStatusCode:Vme,formToJSON:Hme,getAdapter:Bme,mergeConfig:Fme,create:jme}=Rt;function x1e(e){return e.success===!0}function I1e(e){const t=Rt.create({baseURL:e.baseURL,withCredentials:!0,headers:{Accept:"application/json","X-Requested-With":"XMLHttpRequest"}});e.csrfToken&&(t.defaults.headers.common["X-CSRF-TOKEN"]=e.csrfToken),e.locale&&(t.defaults.headers.common["X-Admin-Locale"]=e.locale),t.interceptors.request.use(l=>{const o=L1e("XSRF-TOKEN");return o&&(l.headers.set("X-XSRF-TOKEN",decodeURIComponent(o)),l.headers.delete("X-CSRF-TOKEN")),l}),t.interceptors.response.use(l=>{const o=l.data;if(o&&typeof o=="object"&&"success"in o){if(x1e(o))return l.data=o.payload,l;throw K$(l.status,o.payload)}return l},l=>{if(l.response){const o=l.response.status,i=l.response.data?.payload??{errorKey:"unknown",message:l.message,transport:!0},r=K$(o,i);return r instanceof LT&&e.onUnauthenticated?.(),Promise.reject(r)}return Promise.reject(new QS(l.message))});const a=(l,o,i)=>t[l](o,i).then(r=>r.data),n=(l,o,i,r)=>t[l](o,i,r).then(s=>s.data);return{raw:t,get:(l,o)=>a("get",l,o),delete:(l,o)=>a("delete",l,o),post:(l,o,i)=>n("post",l,o,i),put:(l,o,i)=>n("put",l,o,i),patch:(l,o,i)=>n("patch",l,o,i),setLocale:l=>{t.defaults.headers.common["X-Admin-Locale"]=l},clearLocale:()=>{delete t.defaults.headers.common["X-Admin-Locale"]}}}function L1e(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(^|; )"+C1e(e)+"=([^;]*)"));return t?t[2]:null}function C1e(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}let Tq=null,S1e=0;function A1e(){return Tq??=Mt(()=>import("./index-CzbXDq-t.js"),[],import.meta.url),Tq}const $1e=async e=>{const{render:t,DiagramError:a}=await A1e();try{return{html:t(e,{idPrefix:`admin-dg-${++S1e}`}).svg}}catch(n){if(n instanceof a)return{error:n.hint?`${n.message}. ${n.hint}`:n.message};throw n}},q1e=Object.freeze({mermaid:$1e});function z1e(e){e.provide(gL,q1e)}function d2(e,t){const a=e.permissions?.[t];return typeof a=="string"&&a.length>0?[a]:[]}function R1e(e,t){const a=e.permissions?.[t];return typeof a=="string"&&a.length>0?[a]:[]}function P1e(e){return Array.isArray(e.permission)?e.permission:typeof e.permission=="string"&&e.permission.length>0?[e.permission]:[]}function T1e(e,t){const a=e.slug,n=`/r/${a}`,l=e.features??{},o=l.creatable!==!1,i=l.editable!==!1;return[{path:n,name:`admin.resource.${a}.index`,component:t.resourceIndex,meta:{requiresAuth:!0,kind:"resource",slug:a,title:e.label,permissions:d2(e,"view")},props:{slug:a}},{path:`${n}/create`,name:`admin.resource.${a}.create`,component:t.resourceCreate,meta:{requiresAuth:!0,kind:"resource",slug:a,title:e.label,titleAction:"Создание",permissions:d2(e,"create")},props:{slug:a}},{path:`${n}/:id/edit`,name:`admin.resource.${a}.edit`,component:t.resourceEdit,meta:{requiresAuth:!0,kind:"resource",slug:a,title:e.label,titleAction:"Редактирование",permissions:d2(e,"update")},props:s=>({slug:a,id:s.params.id})},{path:`${n}/:id`,name:`admin.resource.${a}.view`,component:t.resourceView,meta:{requiresAuth:!0,kind:"resource",slug:a,title:e.label,permissions:d2(e,"view")},props:s=>({slug:a,id:s.params.id})}].map(s=>{const h=String(s.name??"");return h.endsWith(".create")&&!o?{path:s.path,redirect:{name:`admin.resource.${a}.index`}}:h.endsWith(".edit")&&!i?{path:s.path,redirect:p=>({name:`admin.resource.${a}.view`,params:{id:p.params.id}})}:s})}function D1e(e,t){return{path:`/screens/${e.slug}`,name:`admin.screen.${e.slug}`,component:t.screen,meta:{requiresAuth:!0,kind:"screen",slug:e.slug,title:e.name,permissions:P1e(e)}}}function E1e(e,t){return{path:`/settings/${e.slug}`,name:`admin.settings.${e.slug}`,component:t.settings,meta:{requiresAuth:!0,kind:"settings",slug:e.slug,title:e.label,permissions:R1e(e,"view")}}}function V1e(e,t){if(typeof e.slug!="string"||e.slug.length===0)return null;const a=e.permission,n=Array.isArray(a)?a:typeof a=="string"&&a.length>0?[a]:[];return{path:`/dashboard/${e.slug}`,name:`admin.dashboard.${e.slug}`,component:t.dashboard,meta:{requiresAuth:!0,kind:"dashboard",slug:e.slug,title:e.label??"Dashboard",permissions:n}}}function H1e(e,t){if(e===null)return[];const a=[];for(const n of e.resources)a.push(...T1e(n,t));for(const n of e.screens)a.push(D1e(n,t));for(const n of e.settings)a.push(E1e(n,t));for(const n of e.dashboards){const l=V1e(n,t);l&&a.push(l)}return a}function B1e(e={}){const t=e.loginRouteName??"admin.login",a=e.forbiddenRouteName??"admin.forbidden",n=e.redirectQueryKey??"redirect",l=e.profileRouteName??"admin.profile";return o=>{if(o.name===t)return!0;const i=Xt(),r=o.meta?.requiresAuth===!0;if(r&&!i.isAuthenticated)return{name:t,query:{[n]:o.fullPath}};if(i.isChallengePending)return{name:t,query:{[n]:o.fullPath}};if(r&&i.needsTwoFactorSetup&&o.name!==l)return{name:l,query:{section:"security"}};const s=o.meta?.permissions;return Array.isArray(s)&&s.length>0&&!i.hasAnyPermission(s)?{name:a}:!0}}function F1e(e={}){const t=e.template,a=e.brand??"",n=e.fallback??"";return l=>{if(typeof document>"u")return;const o=E(l.meta?.title??n),i=l.meta?.titleAction,r=i&&o?`${o}: ${E(i)}`:o;let s;t?s=t.replace("{title}",r).replace("{brand}",a):r&&a?s=`${r} · ${a}`:s=r||a,document.title=s}}const j1e=["admin.resource.","admin.screen.","admin.settings.","admin.dashboard."];function O1e(e){return typeof e!="string"?!1:j1e.some(t=>e.startsWith(t))}function U1e(e){const t=e.base??"/admin",a=e.history??XR(t),n=[{path:"/login",name:"admin.login",component:e.components.login,meta:{kind:"auth",title:"Вход"}},{path:"/",name:"admin.home",component:e.components.home,meta:{requiresAuth:!0,kind:"system",title:"Главная"}},{path:"/forbidden",name:"admin.forbidden",component:e.components.forbidden,meta:{requiresAuth:!0,kind:"system",title:"403 — доступ запрещён"}}];e.components.profile&&n.push({path:"/profile",name:"admin.profile",component:e.components.profile,props:i=>typeof i.query.section=="string"?{section:i.query.section}:{},meta:{requiresAuth:!0,kind:"system",title:"Профиль"}}),e.components.notifications&&n.push({path:"/notifications",name:"admin.notifications",component:e.components.notifications,meta:{requiresAuth:!0,kind:"system",title:"Уведомления"}}),e.components.forgotPassword&&n.push({path:"/forgot-password",name:"admin.forgotPassword",component:e.components.forgotPassword,meta:{kind:"auth",title:"Восстановление пароля"}}),e.components.resetPassword&&n.push({path:"/reset-password",name:"admin.resetPassword",component:e.components.resetPassword,meta:{kind:"auth",title:"Новый пароль"}});const l={path:"/:pathMatch(.*)*",name:"admin.notFound",component:e.components.notFound,meta:{kind:"system",title:"404",requiresAuth:!0}},o=BF({history:a,routes:[...n,...e.extraRoutes??[],l]});return o.beforeEach(B1e(e.authGuard)),o.afterEach(F1e(e.titleGuard)),o.replaceManifestRoutes=i=>{const r=o.getRoutes();for(const h of r)O1e(h.name)&&o.removeRoute(h.name);o.hasRoute("admin.notFound")&&o.removeRoute("admin.notFound");const s=H1e(i,e.components);for(const h of s)o.addRoute(h);o.addRoute(l)},o}const tS=ee({__name:"TextField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},placeholder:{default:null},inputType:{default:"text"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},autocomplete:{default:null}},setup(e){const t=e,a=ct(),n=k(()=>a.getField(t.name)??""),l=k(()=>a.errors[t.name]?.[0]);function o(i){a.setField(t.name,i)}return(i,r)=>(u(),N(d(kt),{"model-value":n.value,type:e.inputType,label:e.label??void 0,hint:e.help??void 0,error:l.value,placeholder:e.placeholder??void 0,required:e.required,disabled:e.disabled,readonly:e.readonly,name:e.name,autocomplete:e.autocomplete??void 0,"onUpdate:modelValue":o},null,8,["model-value","type","label","hint","error","placeholder","required","disabled","readonly","name","autocomplete"]))}}),N1e={ß:"ss",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",æ:"ae",ç:"c",è:"e",é:"e",ê:"e",ë:"e",ì:"i",í:"i",î:"i",ï:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ù:"u",ú:"u",û:"u",ü:"u",ý:"y",þ:"th",ÿ:"y",ā:"a",ă:"a",ą:"a",ć:"c",ĉ:"c",ċ:"c",č:"c",ď:"d",đ:"d",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",ĥ:"h",ħ:"h",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",ij:"ij",ĵ:"j",ķ:"k",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",ń:"n",ņ:"n",ň:"n",ʼn:"n",ō:"o",ŏ:"o",ő:"o",œ:"oe",ŕ:"r",ŗ:"r",ř:"r",ś:"s",ŝ:"s",ş:"s",š:"s",ţ:"t",ť:"t",ŧ:"t",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",ŵ:"w",ŷ:"y",ź:"z",ż:"z",ž:"z",ơ:"o",ư:"u",ǎ:"a",ǐ:"i",ǒ:"o",ǔ:"u",ș:"s",ț:"t",ΐ:"i",ά:"a",έ:"e",ή:"i",ί:"i",ΰ:"y",α:"a",β:"v",γ:"g",δ:"d",ε:"e",ζ:"z",η:"i",θ:"th",ι:"i",κ:"k",λ:"l",μ:"m",ν:"n",ξ:"x",ο:"o",π:"p",ρ:"r",ς:"s",σ:"s",τ:"t",υ:"y",φ:"f",χ:"ch",ψ:"ps",ω:"o",ϊ:"i",ϋ:"y",ό:"o",ύ:"y",ώ:"o",а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ж:"zh",з:"z",и:"i",й:"y",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"kh",ц:"ts",ч:"ch",ш:"sh",щ:"shch",ъ:"",ы:"y",ь:"",э:"e",ю:"yu",я:"ya",ё:"yo",ђ:"dj",ѓ:"gj",є:"ye",ѕ:"dz",і:"i",ї:"yi",ј:"j",љ:"lj",њ:"nj",ћ:"c",ќ:"kj",ў:"u",џ:"dz",ґ:"g",ғ:"g",җ:"zh",ҙ:"z",қ:"q",ң:"n",ҫ:"s",ү:"u",ұ:"u",һ:"h",ӑ:"a",ӗ:"e",ә:"a",ө:"o",ӳ:"u",ạ:"a",ả:"a",ấ:"a",ầ:"a",ẩ:"a",ẫ:"a",ậ:"a",ắ:"a",ằ:"a",ẳ:"a",ẵ:"a",ặ:"a",ẹ:"e",ẻ:"e",ẽ:"e",ế:"e",ề:"e",ể:"e",ễ:"e",ệ:"e",ỉ:"i",ị:"i",ọ:"o",ỏ:"o",ố:"o",ồ:"o",ổ:"o",ỗ:"o",ộ:"o",ớ:"o",ờ:"o",ở:"o",ỡ:"o",ợ:"o",ụ:"u",ủ:"u",ứ:"u",ừ:"u",ử:"u",ữ:"u",ự:"u",ỳ:"y",ỵ:"y",ỷ:"y",ỹ:"y"},W1e={map:N1e},K1e=W1e.map,Z1e=new Set([" "," ",`
|
|
26
|
+
`+i)}}catch{}throw n}}_request(t,a){typeof t=="string"?(a=a||{},a.url=t):a=t||{},a=hs(this.defaults,a);const{transitional:n,paramsSerializer:l,headers:o}=a;n!==void 0&&fI.assertOptions(n,{silentJSONParsing:Yt.transitional(Yt.boolean),forcedJSONParsing:Yt.transitional(Yt.boolean),clarifyTimeoutError:Yt.transitional(Yt.boolean),legacyInterceptorReqResOrdering:Yt.transitional(Yt.boolean),advertiseZstdAcceptEncoding:Yt.transitional(Yt.boolean),validateStatusUndefinedResolves:Yt.transitional(Yt.boolean)},!1),l!=null&&(de.isFunction(l)?a.paramsSerializer={serialize:l}:fI.assertOptions(l,{encode:Yt.function,serialize:Yt.function},!0)),a.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?a.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:a.allowAbsoluteUrls=!0),fI.assertOptions(a,{baseUrl:Yt.spelling("baseURL"),withXsrfToken:Yt.spelling("withXSRFToken")},!0),a.method=(de.getSafeProp(a,"method")||de.getSafeProp(this.defaults,"method")||"get").toLowerCase();let i=o&&de.merge(o.common,o[a.method]);o&&de.forEach(JD.concat("common"),M=>{delete o[M]}),a.headers=na.concat(i,o);const r=[];let s=!0;this.interceptors.request.forEach(function(x){if(typeof x.runWhen=="function"&&x.runWhen(a)===!1)return;s=s&&x.synchronous;const g=a.transitional||mA;g&&g.legacyInterceptorReqResOrdering?r.unshift(x.fulfilled,x.rejected):r.push(x.fulfilled,x.rejected)});const h=[];this.interceptors.response.forEach(function(x){h.push(x.fulfilled,x.rejected)});let p,y=0,m;if(!s){const M=[mC.bind(this),void 0];for(M.unshift(...r),M.push(...h),m=M.length,p=Promise.resolve(a);y<m;)p=p.then(M[y++],M[y++]);return p}m=r.length;let v=a;for(;y<m;){const M=r[y++],x=r[y++];try{v=M?M(v):v}catch(g){if(!x){p=Promise.reject(g);break}try{const b=x.call(this,g);de.isThenable(b)&&(p=Promise.resolve(b).then(()=>mC.call(this,v)))}catch(b){p=Promise.reject(b)}break}}if(!p)try{p=mC.call(this,v)}catch(M){p=Promise.reject(M)}for(y=0,m=h.length;y<m;)p=p.then(h[y++],h[y++]);return p}getUri(t){t=hs(this.defaults,t);const a=tE(t.baseURL,t.url,t.allowAbsoluteUrls,t);return KD(a,t.params,t.paramsSerializer)}};de.forEach(["delete","get","head","options"],function(t){os.prototype[t]=function(a,n){return this.request(hs(n||{},{method:t,url:a,data:n&&de.hasOwnProp(n,"data")?n.data:void 0}))}});de.forEach(["post","put","patch","query"],function(t){function a(n){return function(o,i,r){return this.request(hs(r||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:o,data:i}))}}os.prototype[t]=a(),t!=="query"&&(os.prototype[t+"Form"]=a(!0))});let M1e=class iE{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let a;this.promise=new Promise(function(o){a=o});const n=this;this.promise.then(l=>{if(!n._listeners)return;let o=n._listeners.length;for(;o-- >0;)n._listeners[o](l);n._listeners=null}),this.promise.then=l=>{let o;const i=new Promise(r=>{n.subscribe(r),o=r}).then(l);return i.cancel=function(){n.unsubscribe(o)},i},t(function(o,i,r){n.reason||(n.reason=new V1(o,i,r),a(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const a=this._listeners.indexOf(t);a!==-1&&this._listeners.splice(a,1)}toAbortSignal(){const t=new AbortController,a=n=>{t.abort(n)};return this.subscribe(a),t.signal.unsubscribe=()=>this.unsubscribe(a),t.signal}static source(){let t;return{token:new iE(function(l){t=l}),cancel:t}}};function w1e(e){return function(a){return e.apply(null,a)}}function _1e(e){return de.isObject(e)&&e.isAxiosError===!0}const yI={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,ContentTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,UnprocessableContent:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(yI).forEach(([e,t])=>{yI[t]===void 0&&(yI[t]=e)});function rE(e){const t=new os(e),a=qD(os.prototype.request,t);return de.extend(a,os.prototype,t,{allOwnKeys:!0}),de.extend(a,t,null,{allOwnKeys:!0}),a.create=function(l){return rE(hs(e,l))},a}const Rt=rE(E1);Rt.Axios=os;Rt.CanceledError=V1;Rt.CancelToken=M1e;Rt.isCancel=YD;Rt.VERSION=kA;Rt.toFormData=PL;Rt.AxiosError=Ee;Rt.Cancel=Rt.CanceledError;Rt.all=function(t){return Promise.all(t)};Rt.spread=w1e;Rt.isAxiosError=_1e;Rt.mergeConfig=hs;Rt.AxiosHeaders=na;Rt.formToJSON=e=>XD(de.isHTMLForm(e)?new FormData(e):e);Rt.getAdapter=oE.getAdapter;Rt.HttpStatusCode=yI;Rt.default=Rt;const{Axios:Lme,AxiosError:Cme,CanceledError:Sme,isCancel:Ame,CancelToken:$me,VERSION:qme,all:zme,Cancel:Rme,isAxiosError:Pme,spread:Tme,toFormData:Dme,AxiosHeaders:Eme,HttpStatusCode:Vme,formToJSON:Hme,getAdapter:Bme,mergeConfig:Fme,create:jme}=Rt;function x1e(e){return e.success===!0}function I1e(e){const t=Rt.create({baseURL:e.baseURL,withCredentials:!0,headers:{Accept:"application/json","X-Requested-With":"XMLHttpRequest"}});e.csrfToken&&(t.defaults.headers.common["X-CSRF-TOKEN"]=e.csrfToken),e.locale&&(t.defaults.headers.common["X-Admin-Locale"]=e.locale),t.interceptors.request.use(l=>{const o=L1e("XSRF-TOKEN");return o&&(l.headers.set("X-XSRF-TOKEN",decodeURIComponent(o)),l.headers.delete("X-CSRF-TOKEN")),l}),t.interceptors.response.use(l=>{const o=l.data;if(o&&typeof o=="object"&&"success"in o){if(x1e(o))return l.data=o.payload,l;throw K$(l.status,o.payload)}return l},l=>{if(l.response){const o=l.response.status,i=l.response.data?.payload??{errorKey:"unknown",message:l.message,transport:!0},r=K$(o,i);return r instanceof LT&&e.onUnauthenticated?.(),Promise.reject(r)}return Promise.reject(new QS(l.message))});const a=(l,o,i)=>t[l](o,i).then(r=>r.data),n=(l,o,i,r)=>t[l](o,i,r).then(s=>s.data);return{raw:t,get:(l,o)=>a("get",l,o),delete:(l,o)=>a("delete",l,o),post:(l,o,i)=>n("post",l,o,i),put:(l,o,i)=>n("put",l,o,i),patch:(l,o,i)=>n("patch",l,o,i),setLocale:l=>{t.defaults.headers.common["X-Admin-Locale"]=l},clearLocale:()=>{delete t.defaults.headers.common["X-Admin-Locale"]}}}function L1e(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(^|; )"+C1e(e)+"=([^;]*)"));return t?t[2]:null}function C1e(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}let Tq=null,S1e=0;function A1e(){return Tq??=Mt(()=>import("./index-D2KMt-oN.js"),[],import.meta.url),Tq}const $1e=async e=>{const{render:t,DiagramError:a}=await A1e();try{return{html:t(e,{idPrefix:`admin-dg-${++S1e}`}).svg}}catch(n){if(n instanceof a)return{error:n.hint?`${n.message}. ${n.hint}`:n.message};throw n}},q1e=Object.freeze({mermaid:$1e});function z1e(e){e.provide(gL,q1e)}function d2(e,t){const a=e.permissions?.[t];return typeof a=="string"&&a.length>0?[a]:[]}function R1e(e,t){const a=e.permissions?.[t];return typeof a=="string"&&a.length>0?[a]:[]}function P1e(e){return Array.isArray(e.permission)?e.permission:typeof e.permission=="string"&&e.permission.length>0?[e.permission]:[]}function T1e(e,t){const a=e.slug,n=`/r/${a}`,l=e.features??{},o=l.creatable!==!1,i=l.editable!==!1;return[{path:n,name:`admin.resource.${a}.index`,component:t.resourceIndex,meta:{requiresAuth:!0,kind:"resource",slug:a,title:e.label,permissions:d2(e,"view")},props:{slug:a}},{path:`${n}/create`,name:`admin.resource.${a}.create`,component:t.resourceCreate,meta:{requiresAuth:!0,kind:"resource",slug:a,title:e.label,titleAction:"Создание",permissions:d2(e,"create")},props:{slug:a}},{path:`${n}/:id/edit`,name:`admin.resource.${a}.edit`,component:t.resourceEdit,meta:{requiresAuth:!0,kind:"resource",slug:a,title:e.label,titleAction:"Редактирование",permissions:d2(e,"update")},props:s=>({slug:a,id:s.params.id})},{path:`${n}/:id`,name:`admin.resource.${a}.view`,component:t.resourceView,meta:{requiresAuth:!0,kind:"resource",slug:a,title:e.label,permissions:d2(e,"view")},props:s=>({slug:a,id:s.params.id})}].map(s=>{const h=String(s.name??"");return h.endsWith(".create")&&!o?{path:s.path,redirect:{name:`admin.resource.${a}.index`}}:h.endsWith(".edit")&&!i?{path:s.path,redirect:p=>({name:`admin.resource.${a}.view`,params:{id:p.params.id}})}:s})}function D1e(e,t){return{path:`/screens/${e.slug}`,name:`admin.screen.${e.slug}`,component:t.screen,meta:{requiresAuth:!0,kind:"screen",slug:e.slug,title:e.name,permissions:P1e(e)}}}function E1e(e,t){return{path:`/settings/${e.slug}`,name:`admin.settings.${e.slug}`,component:t.settings,meta:{requiresAuth:!0,kind:"settings",slug:e.slug,title:e.label,permissions:R1e(e,"view")}}}function V1e(e,t){if(typeof e.slug!="string"||e.slug.length===0)return null;const a=e.permission,n=Array.isArray(a)?a:typeof a=="string"&&a.length>0?[a]:[];return{path:`/dashboard/${e.slug}`,name:`admin.dashboard.${e.slug}`,component:t.dashboard,meta:{requiresAuth:!0,kind:"dashboard",slug:e.slug,title:e.label??"Dashboard",permissions:n}}}function H1e(e,t){if(e===null)return[];const a=[];for(const n of e.resources)a.push(...T1e(n,t));for(const n of e.screens)a.push(D1e(n,t));for(const n of e.settings)a.push(E1e(n,t));for(const n of e.dashboards){const l=V1e(n,t);l&&a.push(l)}return a}function B1e(e={}){const t=e.loginRouteName??"admin.login",a=e.forbiddenRouteName??"admin.forbidden",n=e.redirectQueryKey??"redirect",l=e.profileRouteName??"admin.profile";return o=>{if(o.name===t)return!0;const i=Xt(),r=o.meta?.requiresAuth===!0;if(r&&!i.isAuthenticated)return{name:t,query:{[n]:o.fullPath}};if(i.isChallengePending)return{name:t,query:{[n]:o.fullPath}};if(r&&i.needsTwoFactorSetup&&o.name!==l)return{name:l,query:{section:"security"}};const s=o.meta?.permissions;return Array.isArray(s)&&s.length>0&&!i.hasAnyPermission(s)?{name:a}:!0}}function F1e(e={}){const t=e.template,a=e.brand??"",n=e.fallback??"";return l=>{if(typeof document>"u")return;const o=E(l.meta?.title??n),i=l.meta?.titleAction,r=i&&o?`${o}: ${E(i)}`:o;let s;t?s=t.replace("{title}",r).replace("{brand}",a):r&&a?s=`${r} · ${a}`:s=r||a,document.title=s}}const j1e=["admin.resource.","admin.screen.","admin.settings.","admin.dashboard."];function O1e(e){return typeof e!="string"?!1:j1e.some(t=>e.startsWith(t))}function U1e(e){const t=e.base??"/admin",a=e.history??XR(t),n=[{path:"/login",name:"admin.login",component:e.components.login,meta:{kind:"auth",title:"Вход"}},{path:"/",name:"admin.home",component:e.components.home,meta:{requiresAuth:!0,kind:"system",title:"Главная"}},{path:"/forbidden",name:"admin.forbidden",component:e.components.forbidden,meta:{requiresAuth:!0,kind:"system",title:"403 — доступ запрещён"}}];e.components.profile&&n.push({path:"/profile",name:"admin.profile",component:e.components.profile,props:i=>typeof i.query.section=="string"?{section:i.query.section}:{},meta:{requiresAuth:!0,kind:"system",title:"Профиль"}}),e.components.notifications&&n.push({path:"/notifications",name:"admin.notifications",component:e.components.notifications,meta:{requiresAuth:!0,kind:"system",title:"Уведомления"}}),e.components.forgotPassword&&n.push({path:"/forgot-password",name:"admin.forgotPassword",component:e.components.forgotPassword,meta:{kind:"auth",title:"Восстановление пароля"}}),e.components.resetPassword&&n.push({path:"/reset-password",name:"admin.resetPassword",component:e.components.resetPassword,meta:{kind:"auth",title:"Новый пароль"}});const l={path:"/:pathMatch(.*)*",name:"admin.notFound",component:e.components.notFound,meta:{kind:"system",title:"404",requiresAuth:!0}},o=BF({history:a,routes:[...n,...e.extraRoutes??[],l]});return o.beforeEach(B1e(e.authGuard)),o.afterEach(F1e(e.titleGuard)),o.replaceManifestRoutes=i=>{const r=o.getRoutes();for(const h of r)O1e(h.name)&&o.removeRoute(h.name);o.hasRoute("admin.notFound")&&o.removeRoute("admin.notFound");const s=H1e(i,e.components);for(const h of s)o.addRoute(h);o.addRoute(l)},o}const tS=ee({__name:"TextField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},placeholder:{default:null},inputType:{default:"text"},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},autocomplete:{default:null}},setup(e){const t=e,a=ct(),n=k(()=>a.getField(t.name)??""),l=k(()=>a.errors[t.name]?.[0]);function o(i){a.setField(t.name,i)}return(i,r)=>(u(),N(d(kt),{"model-value":n.value,type:e.inputType,label:e.label??void 0,hint:e.help??void 0,error:l.value,placeholder:e.placeholder??void 0,required:e.required,disabled:e.disabled,readonly:e.readonly,name:e.name,autocomplete:e.autocomplete??void 0,"onUpdate:modelValue":o},null,8,["model-value","type","label","hint","error","placeholder","required","disabled","readonly","name","autocomplete"]))}}),N1e={ß:"ss",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",æ:"ae",ç:"c",è:"e",é:"e",ê:"e",ë:"e",ì:"i",í:"i",î:"i",ï:"i",ð:"d",ñ:"n",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",ù:"u",ú:"u",û:"u",ü:"u",ý:"y",þ:"th",ÿ:"y",ā:"a",ă:"a",ą:"a",ć:"c",ĉ:"c",ċ:"c",č:"c",ď:"d",đ:"d",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",ĥ:"h",ħ:"h",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",ij:"ij",ĵ:"j",ķ:"k",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",ń:"n",ņ:"n",ň:"n",ʼn:"n",ō:"o",ŏ:"o",ő:"o",œ:"oe",ŕ:"r",ŗ:"r",ř:"r",ś:"s",ŝ:"s",ş:"s",š:"s",ţ:"t",ť:"t",ŧ:"t",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",ŵ:"w",ŷ:"y",ź:"z",ż:"z",ž:"z",ơ:"o",ư:"u",ǎ:"a",ǐ:"i",ǒ:"o",ǔ:"u",ș:"s",ț:"t",ΐ:"i",ά:"a",έ:"e",ή:"i",ί:"i",ΰ:"y",α:"a",β:"v",γ:"g",δ:"d",ε:"e",ζ:"z",η:"i",θ:"th",ι:"i",κ:"k",λ:"l",μ:"m",ν:"n",ξ:"x",ο:"o",π:"p",ρ:"r",ς:"s",σ:"s",τ:"t",υ:"y",φ:"f",χ:"ch",ψ:"ps",ω:"o",ϊ:"i",ϋ:"y",ό:"o",ύ:"y",ώ:"o",а:"a",б:"b",в:"v",г:"g",д:"d",е:"e",ж:"zh",з:"z",и:"i",й:"y",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ф:"f",х:"kh",ц:"ts",ч:"ch",ш:"sh",щ:"shch",ъ:"",ы:"y",ь:"",э:"e",ю:"yu",я:"ya",ё:"yo",ђ:"dj",ѓ:"gj",є:"ye",ѕ:"dz",і:"i",ї:"yi",ј:"j",љ:"lj",њ:"nj",ћ:"c",ќ:"kj",ў:"u",џ:"dz",ґ:"g",ғ:"g",җ:"zh",ҙ:"z",қ:"q",ң:"n",ҫ:"s",ү:"u",ұ:"u",һ:"h",ӑ:"a",ӗ:"e",ә:"a",ө:"o",ӳ:"u",ạ:"a",ả:"a",ấ:"a",ầ:"a",ẩ:"a",ẫ:"a",ậ:"a",ắ:"a",ằ:"a",ẳ:"a",ẵ:"a",ặ:"a",ẹ:"e",ẻ:"e",ẽ:"e",ế:"e",ề:"e",ể:"e",ễ:"e",ệ:"e",ỉ:"i",ị:"i",ọ:"o",ỏ:"o",ố:"o",ồ:"o",ổ:"o",ỗ:"o",ộ:"o",ớ:"o",ờ:"o",ở:"o",ỡ:"o",ợ:"o",ụ:"u",ủ:"u",ứ:"u",ừ:"u",ử:"u",ữ:"u",ự:"u",ỳ:"y",ỵ:"y",ỷ:"y",ỹ:"y"},W1e={map:N1e},K1e=W1e.map,Z1e=new Set([" "," ",`
|
|
27
27
|
`,"\v","\f","\r"," "," ","\u2028","\u2029"," "," "," ","-","_","−"]);function G1e(e){if(Z1e.has(e))return!0;const t=e.codePointAt(0)??0;return t>=8192&&t<=8202||t>=8208&&t<=8213}function Dq(e,t="-"){const a=e==null?"":String(e);let n="";for(const o of a)n+=o.toLowerCase();let l="";for(const o of n){const i=K1e[o];i!==void 0?l+=i:/^[a-z0-9]$/.test(o)?l+=o:o==="@"?l+=" at ":(G1e(o)||t!==""&&o===t)&&(l+=" ")}return l.split(" ").filter(o=>o!=="").join(t)}const X1e=ee({__name:"SlugField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},placeholder:{default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},from:{default:null},separator:{default:"-"},follow:{type:Boolean,default:!0}},setup(e){const t=e,a=ct(),n=k(()=>{const h=a.getField(t.name);return h==null?"":String(h)}),l=k(()=>a.errors[t.name]?.[0]),o=k(()=>t.separator??"-");function i(){if(!t.from)return"";const h=a.getField(t.from);if(h==null)return"";if(typeof h=="object"){const p=Object.values(h).find(y=>typeof y=="string"&&y.trim()!=="");return typeof p=="string"?p:""}return String(h)}const r=P(n.value===""||t.follow&&n.value===Dq(i(),o.value));qe(()=>i(),h=>{if(!r.value||t.disabled||t.readonly)return;const p=Dq(h,o.value);p!==n.value&&a.setField(t.name,p)});function s(h){a.setField(t.name,h),r.value=h===""}return(h,p)=>(u(),N(d(kt),{"model-value":n.value,type:"text",label:e.label??void 0,hint:e.help??void 0,error:l.value,placeholder:e.placeholder??void 0,required:e.required,disabled:e.disabled,readonly:e.readonly,name:e.name,autocomplete:"off","onUpdate:modelValue":s},null,8,["model-value","label","hint","error","placeholder","required","disabled","readonly","name"]))}}),Eq=ee({__name:"SwitchField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},inlineLabel:{default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},onLabel:{default:null},offLabel:{default:null},size:{default:null}},setup(e){const t=e,a=ct(),n=k(()=>!!a.getField(t.name)),l=k(()=>a.errors[t.name]?.[0]),o=k(()=>!!(t.onLabel||t.offLabel)),i=k(()=>o.value?(n.value?t.onLabel:t.offLabel)??void 0:t.inlineLabel??t.label??void 0);function r(s){t.readonly||a.setField(t.name,s)}return(s,h)=>(u(),N(d(qt),{label:o.value?e.label??void 0:void 0,hint:e.help??void 0,error:l.value,required:o.value&&e.required,disabled:e.disabled},{default:j(()=>[V(d(qS),{"model-value":n.value,disabled:e.disabled||e.readonly,required:e.required,name:e.name,size:e.size??void 0,label:i.value,"onUpdate:modelValue":r},null,8,["model-value","disabled","required","name","size","label"])]),_:1},8,["label","hint","error","required","disabled"]))}}),J1e=ee({__name:"TextAreaField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},placeholder:{default:null},rows:{default:4},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},setup(e){const t=e,a=ct(),n=k(()=>a.getField(t.name)??""),l=k(()=>a.errors[t.name]?.[0]);function o(i){a.setField(t.name,i)}return(i,r)=>(u(),N(d(qt),{label:e.label??void 0,hint:e.help??void 0,error:l.value,required:e.required,disabled:e.disabled},{default:j(()=>[V(d(L1),{"model-value":n.value,rows:e.rows,placeholder:e.placeholder??void 0,disabled:e.disabled,readonly:e.readonly,name:e.name,"onUpdate:modelValue":o},null,8,["model-value","rows","placeholder","disabled","readonly","name"])]),_:1},8,["label","hint","error","required","disabled"]))}}),Y1e=ee({__name:"NumberField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},placeholder:{default:null},min:{default:null},max:{default:null},step:{default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},setup(e){const t=e,a=ct(),n=k(()=>{const i=a.getField(t.name);return i==null||i===""?null:typeof i=="number"?i:Number(i)}),l=k(()=>a.errors[t.name]?.[0]);function o(i){a.setField(t.name,i)}return(i,r)=>(u(),N(d(qt),{label:e.label??void 0,hint:e.help??void 0,error:l.value,required:e.required,disabled:e.disabled},{default:j(()=>[V(d(jP),{"model-value":n.value,min:e.min??void 0,max:e.max??void 0,step:e.step??void 0,placeholder:e.placeholder??void 0,disabled:e.disabled,readonly:e.readonly,name:e.name,"onUpdate:modelValue":o},null,8,["model-value","min","max","step","placeholder","disabled","readonly","name"])]),_:1},8,["label","hint","error","required","disabled"]))}}),vC=ee({__name:"SelectField",props:{name:{},options:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},placeholder:{default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},size:{default:"md"}},setup(e){const t=e,a=k(()=>t.disabled||t.readonly),n=ct(),l=k(()=>{const h=n.getField(t.name);return h==null||h===""?null:h}),o=k(()=>n.errors[t.name]?.[0]);function i(h){n.setField(t.name,h)}const r=k(()=>{let h=n.getField(t.name);if(typeof h=="string"&&h.trim().startsWith("["))try{h=JSON.parse(h)}catch{h=[]}return(Array.isArray(h)?h:h==null||h===""?[]:[h]).filter(y=>typeof y=="string"||typeof y=="number").map(y=>t.options.find(m=>String(m.value)===String(y))?.value??y)});function s(h){t.readonly||n.setField(t.name,h)}return(h,p)=>(u(),N(d(qt),{label:e.label??void 0,hint:e.help??void 0,error:o.value,required:e.required,disabled:a.value},{default:j(()=>[e.multiple?(u(),N(d(Bn),{key:0,"model-value":r.value,options:e.options,multiple:"",placeholder:e.placeholder??void 0,disabled:a.value,searchable:e.searchable,clearable:e.clearable,size:e.size,"onUpdate:modelValue":s},null,8,["model-value","options","placeholder","disabled","searchable","clearable","size"])):(u(),N(d(Bn),{key:1,"model-value":l.value,options:e.options,placeholder:e.placeholder??void 0,disabled:a.value,searchable:e.searchable,clearable:e.clearable,size:e.size,"onUpdate:modelValue":i},null,8,["model-value","options","placeholder","disabled","searchable","clearable","size"]))]),_:1},8,["label","hint","error","required","disabled"]))}}),Q1e=ee({__name:"ComboboxField",props:{name:{},options:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},placeholder:{default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},creatable:{type:Boolean,default:!0},clearable:{type:Boolean,default:!0},size:{default:"md"}},setup(e){const t=e,a=k(()=>t.disabled||t.readonly),n=ct(),l=k(()=>{const s=n.getField(t.name);return s==null||s===""?null:s}),o=k(()=>n.errors[t.name]?.[0]),i=k(()=>{const s=l.value;return s===null||t.options.some(h=>h.value===s)?t.options:[{value:s,label:String(s)},...t.options]});function r(s){n.setField(t.name,s)}return(s,h)=>(u(),N(d(qt),{label:e.label??void 0,hint:e.help??void 0,error:o.value,required:e.required,disabled:a.value},{default:j(()=>[V(d(UP),{"model-value":l.value,options:i.value,placeholder:e.placeholder??void 0,disabled:a.value,"allow-create":e.creatable,clearable:e.clearable,size:e.size,"onUpdate:modelValue":r},null,8,["model-value","options","placeholder","disabled","allow-create","clearable","size"])]),_:1},8,["label","hint","error","required","disabled"]))}}),Vq=ee({__name:"CheckboxField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},inlineLabel:{default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},options:{default:null},inline:{type:Boolean,default:!1}},setup(e){const t=e,a=ct(),n=k(()=>a.errors[t.name]?.[0]),l=k(()=>Array.isArray(t.options)&&t.options.length>0),o=k(()=>t.disabled||t.readonly),i=k(()=>!!a.getField(t.name));function r(p){t.readonly||a.setField(t.name,p)}const s=k(()=>{let p=a.getField(t.name);if(typeof p=="string"&&p.trim().startsWith("["))try{p=JSON.parse(p)}catch{p=[]}return(Array.isArray(p)?p:p==null||p===""?[]:[p]).filter(m=>typeof m=="string"||typeof m=="number").map(m=>(t.options??[]).find(v=>String(v.value)===String(m))?.value??m)});function h(p){t.readonly||a.setField(t.name,p)}return(p,y)=>l.value?(u(),N(d(kP),{key:0,"model-value":s.value,options:e.options??[],name:`${e.name}[]`,label:e.label??void 0,hint:e.help??void 0,error:n.value,required:e.required,disabled:o.value,direction:e.inline?"horizontal":"vertical","onUpdate:modelValue":h},null,8,["model-value","options","name","label","hint","error","required","disabled","direction"])):(u(),N(d(qt),{key:1,hint:e.help??void 0,error:n.value,disabled:o.value},{default:j(()=>[V(d(rs),{"model-value":i.value,disabled:o.value,required:e.required,name:e.name,label:e.inlineLabel??e.label??void 0,"onUpdate:modelValue":r},null,8,["model-value","disabled","required","name","label"])]),_:1},8,["hint","error","disabled"]))}});function Hq(e){if(e==null||e==="")return{date:null,time:null};const t=/^(\d{4}-\d{2}-\d{2})(?:[ T](\d{1,2}):(\d{2})(?::(\d{2}))?)?/.exec(String(e));if(!t)return{date:null,time:null};const a=t[2]!==void 0?`${t[2].padStart(2,"0")}:${t[3]}${t[4]!==void 0?`:${t[4]}`:""}`:null;return{date:t[1]??null,time:a}}function sE(e){return/[sS]/.test(e??"Y-m-d H:i:s")}function e2e(e){return/\\?T/.test(e??"")?"T":" "}function Bq(e,t,a){if(!e)return null;const n=sE(a),[l="00",o="00",i="00"]=(t??"").split(":"),r=`${l.padStart(2,"0")}:${o.padStart(2,"0")}`;return`${e}${e2e(a)}${n?`${r}:${i.padStart(2,"0")}`:r}`}const t2e={key:0,class:"admin-date-time-field"},a2e=ee({__name:"DateField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},inputType:{default:"date"},min:{default:null},max:{default:null},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},withTime:{type:Boolean,default:!1},format:{default:null}},setup(e){const t=e,a=ct(),n=k(()=>a.errors[t.name]?.[0]),l=k(()=>t.withTime||t.inputType==="datetime-local"),o=k(()=>Hq(a.getField(t.name))),i=k(()=>l.value?r(o.value.date):r(Hq(a.getField(t.name)).date));function r(m){if(!m)return null;const[v,M,x]=m.split("-").map(Number),g=new Date(v??NaN,(M??NaN)-1,x??NaN);return g.getFullYear()===v&&g.getMonth()===(M??0)-1&&g.getDate()===x?m:null}const s=P(null),h=k(()=>o.value.time??s.value);qe(()=>o.value.date,m=>{m&&(s.value=null)});function p(m){if(!t.readonly){if(!l.value){a.setField(t.name,m);return}a.setField(t.name,Bq(m,h.value,t.format))}}function y(m){if(!t.readonly){if(!o.value.date){s.value=m;return}a.setField(t.name,Bq(o.value.date,m,t.format))}}return(m,v)=>(u(),N(d(qt),{label:e.label??void 0,hint:e.help??void 0,error:n.value,required:e.required,disabled:e.disabled},{default:j(()=>[l.value?(u(),f("div",t2e,[V(d(FC),{"model-value":i.value,min:e.min??void 0,max:e.max??void 0,disabled:e.disabled||e.readonly,name:e.name,"onUpdate:modelValue":p},null,8,["model-value","min","max","disabled","name"]),V(d(BS),{"model-value":h.value,"with-seconds":d(sE)(e.format),disabled:e.disabled||e.readonly,clearable:!1,"onUpdate:modelValue":y},null,8,["model-value","with-seconds","disabled"])])):(u(),N(d(FC),{key:1,"model-value":i.value,min:e.min??void 0,max:e.max??void 0,disabled:e.disabled||e.readonly,name:e.name,"onUpdate:modelValue":p},null,8,["model-value","min","max","disabled","name"]))]),_:1},8,["label","hint","error","required","disabled"]))}}),kC=ba(a2e,[["__scopeId","data-v-e3b3fe0c"]]),n2e={key:0,class:"admin-field__label"},l2e={key:0,class:"admin-field__required","aria-hidden":"true"},o2e={class:"admin-tags__chip-text"},i2e=["aria-label","onClick"],r2e=["value","placeholder","disabled"],s2e={class:"admin-tags__group-label"},c2e=["aria-selected","onMousedown","onMouseenter"],u2e=["aria-selected","onMousedown","onMouseenter"],d2e={key:1,class:"admin-field__error"},h2e={key:2,class:"admin-field__help"},p2e=ee({__name:"TagsField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},placeholder:{default:E("Введите значение и нажмите Enter…")},suggestions:{default:()=>[]},suggestionsByGroup:{default:()=>[]},maxItems:{default:0},separator:{default:","},disabled:{type:Boolean,default:!1}},setup(e){const t=e,a=ct(),n=k(()=>{const B=a.getField(t.name);return Array.isArray(B)?B.map(K=>String(K)):typeof B=="string"&&B!==""?B.split(",").map(K=>K.trim()).filter(Boolean):[]}),l=k(()=>a.errors[t.name]?.[0]),o=P(""),i=P(!1),r=P(null),s=P(null),h=P(null),{floatingStyle:p,update:y}=Il(s,h,{placement:"bottom-start",offset:4}),m=P(0);function v(){m.value=s.value?.getBoundingClientRect().width??0}const M=k(()=>({...p.value,minWidth:m.value>0?`${m.value}px`:"auto"}));function x(B){const K=new Set,G=[];for(const F of B){const X=F.trim();if(!(X===""||K.has(X))&&(K.add(X),G.push(X),t.maxItems>0&&G.length>=t.maxItems))break}a.setField(t.name,G)}function g(B){const K=B.trim();if(K!==""){if(n.value.includes(K)){o.value="";return}x([...n.value,K]),o.value=""}}function b(B){const K=[...n.value];K.splice(B,1),x(K)}function w(B){B.key==="Enter"?(B.preventDefault(),L.value>=0&&S.value[L.value]?g(S.value[L.value]):o.value.trim()!==""&&g(o.value)):B.key==="Backspace"&&o.value===""&&n.value.length>0?b(n.value.length-1):B.key==="ArrowDown"?(B.preventDefault(),L.value=Math.min(L.value+1,S.value.length-1)):B.key==="ArrowUp"?(B.preventDefault(),L.value=Math.max(L.value-1,-1)):B.key==="Escape"&&(i.value=!1,r.value?.blur())}function C(B){const K=B.target.value;if(t.separator&&K.includes(t.separator)){const G=K.split(t.separator);G.slice(0,-1).map(X=>X.trim()).filter(Boolean).forEach(g),o.value=G[G.length-1]??"";return}o.value=K}const L=P(-1),z=k(()=>Array.isArray(t.suggestionsByGroup)&&t.suggestionsByGroup.length>0),A=k(()=>{const B=o.value.trim().toLowerCase(),K=new Set(n.value);return z.value?t.suggestionsByGroup.map(G=>({label:G.label,items:G.items.filter(F=>!K.has(F)&&(B===""||F.toLowerCase().includes(B)))})).filter(G=>G.items.length>0):[]}),S=k(()=>{if(z.value)return A.value.flatMap(G=>G.items);const B=o.value.trim().toLowerCase(),K=new Set(n.value);return t.suggestions.filter(G=>!K.has(G)).filter(G=>B===""||G.toLowerCase().includes(B)).slice(0,200)});function T(B){return B===L.value}qe(o,()=>{L.value=-1});function $(){t.disabled||r.value?.focus()}function R(B){g(B),Ze(()=>r.value?.focus())}function H(){window.setTimeout(()=>{i.value=!1,o.value.trim()!==""&&g(o.value)},120)}return qe(()=>i.value&&S.value.length>0,async B=>{B?(v(),await Ze(),y(),requestAnimationFrame(()=>y()),window.addEventListener("resize",y),window.addEventListener("scroll",y,!0)):(window.removeEventListener("resize",y),window.removeEventListener("scroll",y,!0))}),(B,K)=>(u(),f("div",{class:ce(["admin-field",{"admin-field--invalid":l.value!==void 0}])},[e.label?(u(),f("label",n2e,[_("span",null,I(e.label),1),e.required?(u(),f("span",l2e,"*")):q("",!0)])):q("",!0),_("div",{ref_key:"containerRef",ref:s,class:ce(["admin-field__control admin-tags",{"admin-tags--focused":i.value,"admin-tags--disabled":e.disabled}]),onClick:$},[(u(!0),f(J,null,ue(n.value,(G,F)=>(u(),f("span",{key:`${G}-${F}`,class:"admin-tags__chip"},[_("span",o2e,I(G),1),e.disabled?q("",!0):(u(),f("button",{key:0,type:"button",class:"admin-tags__chip-remove","aria-label":d(E)("Удалить"),onClick:je(X=>b(F),["stop"])},[V(d(me),{icon:d(yt),size:10},null,8,["icon"])],8,i2e))]))),128)),_("input",{ref_key:"inputRef",ref:r,value:o.value,placeholder:n.value.length===0?d(E)(e.placeholder??""):"",disabled:e.disabled,class:"admin-tags__input",type:"text",onInput:C,onKeydown:w,onFocus:K[0]||(K[0]=G=>i.value=!0),onBlur:H},null,40,r2e),(u(),N(zt,{to:"body"},[i.value&&S.value.length>0?(u(),f("div",{key:0,ref_key:"dropdownRef",ref:h,class:"admin-tags__dropdown",role:"listbox",style:De(M.value)},[z.value?(u(!0),f(J,{key:0},ue(A.value,(G,F)=>(u(),f(J,{key:`g-${F}-${G.label}`},[_("div",s2e,I(G.label),1),(u(!0),f(J,null,ue(G.items,X=>(u(),f("button",{key:X,type:"button",role:"option",class:ce(["admin-tags__option",{"admin-tags__option--active":T(S.value.indexOf(X))}]),"aria-selected":T(S.value.indexOf(X)),onMousedown:je(U=>R(X),["prevent"]),onMouseenter:U=>L.value=S.value.indexOf(X)},I(X),43,c2e))),128))],64))),128)):(u(!0),f(J,{key:1},ue(S.value,(G,F)=>(u(),f("button",{key:G,type:"button",role:"option",class:ce(["admin-tags__option",{"admin-tags__option--active":F===L.value}]),"aria-selected":F===L.value,onMousedown:je(X=>R(G),["prevent"]),onMouseenter:X=>L.value=F},I(G),43,u2e))),128))],4)):q("",!0)]))],2),l.value?(u(),f("p",d2e,I(l.value),1)):e.help?(u(),f("p",h2e,I(e.help),1)):q("",!0)],2))}}),f2e={key:0,class:"admin-field__label"},y2e={key:0,class:"admin-field__required","aria-hidden":"true"},m2e={class:"admin-translatable"},v2e={class:"admin-translatable__tabs",role:"tablist"},k2e=["aria-selected","onClick"],g2e={key:0,class:"admin-translatable__dot","aria-hidden":"true"},b2e={class:"admin-translatable__panel"},M2e=["value","placeholder","rows","disabled"],w2e={key:1,class:"admin-field__error"},_2e={key:2,class:"admin-field__help"},Fq=ee({__name:"TranslatableField",props:{name:{},label:{default:null},help:{default:null},required:{type:Boolean,default:!1},placeholder:{default:null},locales:{default:void 0},multiline:{type:Boolean,default:!1},rows:{default:3},disabled:{type:Boolean,default:!1}},setup(e){const t=e,a=ct(),n=wl(),l=k(()=>t.locales??n.available??[n.current??"ru"]),o=P(n.current??l.value[0]??"ru"),i=k(()=>{const p=a.getField(t.name);return p&&typeof p=="object"&&!Array.isArray(p)?p:typeof p=="string"?{[o.value]:p}:{}});function r(p,y){const m={...i.value};m[p]=y,a.setField(t.name,m)}const s=k(()=>{const p=a.errors[t.name];if(p?.[0])return p[0];for(const y of l.value){const m=a.errors[`${t.name}.${y}`]?.[0];if(m)return`[${y}] ${m}`}});function h(p){const y=i.value[p];return typeof y=="string"&&y.trim()!==""}return(p,y)=>(u(),f("div",{class:ce(["admin-field",{"admin-field--invalid":s.value!==void 0}])},[e.label?(u(),f("label",f2e,[_("span",null,I(e.label),1),e.required?(u(),f("span",y2e,"*")):q("",!0)])):q("",!0),_("div",m2e,[_("div",v2e,[(u(!0),f(J,null,ue(l.value,m=>(u(),f("button",{key:m,type:"button",role:"tab",class:ce(["admin-translatable__tab",{"admin-translatable__tab--active":o.value===m,"admin-translatable__tab--filled":h(m)}]),"aria-selected":o.value===m,onClick:v=>o.value=m},[re(I(m.toUpperCase())+" ",1),h(m)?(u(),f("span",g2e)):q("",!0)],10,k2e))),128))]),_("div",b2e,[e.multiline?(u(),f("textarea",{key:1,value:i.value[o.value]??"",placeholder:e.placeholder??"",rows:e.rows,disabled:e.disabled,class:"admin-translatable__textarea",onInput:y[1]||(y[1]=m=>r(o.value,m.target.value))},null,40,M2e)):(u(),N(d(kt),{key:0,"model-value":i.value[o.value]??"",placeholder:e.placeholder??"",disabled:e.disabled,"onUpdate:modelValue":y[0]||(y[0]=m=>r(o.value,m))},null,8,["model-value","placeholder","disabled"]))])]),s.value?(u(),f("p",w2e,I(s.value),1)):e.help?(u(),f("p",_2e,I(e.help),1)):q("",!0)],2))}});function x2e(){const e=typeof window>"u"?null:window.getSelection();return e&&e.rangeCount>0?e:null}function Sa(e){const t=x2e();if(!t)return null;const a=t.getRangeAt(0);return e.contains(a.startContainer)&&e.contains(a.endContainer)?a:null}function Sc(e,t){const a=Sa(e);if(!a)return!1;let n=a.startContainer;for(;n&&n!==e;){if(n instanceof HTMLElement){const l=n.tagName.toLowerCase();if(t.includes(l))return!0}n=n.parentNode}return!1}function Hc(e){const t=Sa(e);if(!t)return null;let a=t.startContainer;for(;a&&a!==e;){if(a instanceof HTMLElement){const n=a.tagName.toLowerCase();if(["p","h1","h2","h3","li","blockquote","pre"].includes(n))return n}a=a.parentNode}return null}function cE(e){const t=Sa(e);if(!t)return null;let a=t.startContainer;for(;a&&a!==e;){if(a instanceof HTMLAnchorElement)return a;a=a.parentNode}return null}function Ra(e){e.dispatchEvent(new InputEvent("input",{bubbles:!0,cancelable:!0}))}function Ac(e,t){const a=Sa(e);if(!a)return;if(a.collapsed){const o=jq(a.startContainer,e,t);if(o){const s=document.createTextNode("");o.after(s);const h=window.getSelection();if(h){const p=document.createRange();p.setStart(s,1),p.collapse(!0),h.removeAllRanges(),h.addRange(p)}Ra(e);return}const i=document.createElement(t);i.appendChild(document.createTextNode("")),a.insertNode(i);const r=window.getSelection();if(r){const s=document.createRange();s.setStart(i.firstChild,1),s.collapse(!0),r.removeAllRanges(),r.addRange(s)}Ra(e);return}const n=jq(a.startContainer,e,t);if(n&&n.contains(a.endContainer)){uE(n),Ra(e);return}const l=document.createElement(t);try{l.appendChild(a.extractContents()),a.insertNode(l);const o=window.getSelection();if(o){const i=document.createRange();i.selectNodeContents(l),o.removeAllRanges(),o.addRange(i)}}catch{return}Ra(e)}function jq(e,t,a){let n=e;for(;n&&n!==t;){if(n instanceof HTMLElement&&n.tagName.toLowerCase()===a)return n;n=n.parentNode}return null}function uE(e){const t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);t.removeChild(e)}}function h2(e,t){const a=Sa(e);if(!a)return;const n=Hc(e)===t?"p":t,l=I2e(a,e);if(l.length!==0){for(const o of l){const i=o.tagName.toLowerCase();if(i===n)continue;if(i==="li"){const s=o.parentElement;if(s&&(s.tagName.toLowerCase()==="ul"||s.tagName.toLowerCase()==="ol")){const h=document.createElement(n);for(;o.firstChild;)h.appendChild(o.firstChild);const p=[];let y=o.nextElementSibling;for(;y;)p.push(y),y=y.nextElementSibling;if(o.remove(),s.after(h),p.length>0){const M=document.createElement(s.tagName.toLowerCase());for(const x of p)M.appendChild(x);h.after(M)}s.children.length===0&&s.remove();const m=document.createRange();m.selectNodeContents(h),m.collapse(!0);const v=window.getSelection();v&&(v.removeAllRanges(),v.addRange(m));continue}}const r=document.createElement(n);for(;o.firstChild;)r.appendChild(o.firstChild);o.replaceWith(r)}Ra(e)}}function I2e(e,t){const a=new Set,n=aS(e.startContainer,t),l=aS(e.endContainer,t);if(n&&a.add(n),l&&a.add(l),n&&l&&n!==l){const o=Array.from(t.querySelectorAll("p, h1, h2, h3, blockquote, pre, li"));let i=!1;for(const r of o)if(r===n&&(i=!0),i&&a.add(r),r===l)break}return Array.from(a)}function aS(e,t){const a=["p","h1","h2","h3","blockquote","pre","li"];let n=e;for(;n&&n!==t;){if(n instanceof HTMLElement&&a.includes(n.tagName.toLowerCase()))return n;n=n.parentNode}return null}function Oq(e,t){const a=Sa(e);if(!a)return;let n=a.startContainer;for(;n&&n!==e;){if(n instanceof HTMLElement){const r=n.tagName.toLowerCase();if(r==="ul"||r==="ol"){if(r===t)L2e(n);else{const s=document.createElement(t);for(;n.firstChild;)s.appendChild(n.firstChild);n.replaceWith(s)}Ra(e);return}}n=n.parentNode}const l=aS(a.startContainer,e);if(!l)return;const o=document.createElement(t),i=document.createElement("li");for(;l.firstChild;)i.appendChild(l.firstChild);o.appendChild(i),l.replaceWith(o),Ra(e)}function L2e(e){const t=e.parentNode;if(t){for(const a of Array.from(e.children)){if(a.tagName.toLowerCase()!=="li")continue;const n=document.createElement("p");for(;a.firstChild;)n.appendChild(a.firstChild);t.insertBefore(n,e)}t.removeChild(e)}}function C2e(e,t){const a=Sa(e);if(!a)return;const n=cE(e);if(n){if(t===null||t===""){uE(n),Ra(e);return}n.setAttribute("href",t),Ra(e);return}if(t===null||t===""||a.collapsed)return;const l=document.createElement("a");l.setAttribute("href",t),l.setAttribute("rel","noopener noreferrer"),l.setAttribute("target","_blank");try{l.appendChild(a.extractContents()),a.insertNode(l),Ra(e)}catch{}}function S2e(e,t,a=""){const n=Sa(e);if(!n)return;const l=document.createElement("img");l.src=t,a&&(l.alt=a),n.deleteContents(),n.insertNode(l),n.setStartAfter(l),n.collapse(!0);const o=window.getSelection();o&&(o.removeAllRanges(),o.addRange(n)),Ra(e)}function A2e(e){const t=Sa(e);if(!t)return;const a=document.createElement("hr");t.deleteContents(),t.insertNode(a);const n=document.createElement("p");n.appendChild(document.createElement("br")),a.after(n),t.setStart(n,0),t.collapse(!0);const l=window.getSelection();l&&(l.removeAllRanges(),l.addRange(t)),Ra(e)}class $2e{stack=[];cursor=-1;lastCommitAt=0;host;throttleMs;maxSize;constructor(t,a={}){this.host=t,this.throttleMs=a.throttleMs??350,this.maxSize=a.maxSize??100,this.snapshot()}snapshot(){const t=this.host.innerHTML;this.cursor>=0&&this.stack[this.cursor]===t||(this.stack=this.stack.slice(0,this.cursor+1),this.stack.push(t),this.stack.length>this.maxSize?this.stack.shift():this.cursor++,this.lastCommitAt=Date.now())}commitThrottled(){Date.now()-this.lastCommitAt<this.throttleMs||this.snapshot()}commit(){this.snapshot()}get canUndo(){return this.cursor>0}get canRedo(){return this.cursor<this.stack.length-1}undo(){this.canUndo&&(this.cursor--,this.host.innerHTML=this.stack[this.cursor])}redo(){this.canRedo&&(this.cursor++,this.host.innerHTML=this.stack[this.cursor])}reset(t){this.stack=[t],this.cursor=0,this.lastCommitAt=Date.now()}}const q2e=new Set(["p","h1","h2","h3","strong","b","em","i","u","s","strike","del","code","pre","ul","ol","li","blockquote","a","img","br","hr","span","table","thead","tbody","tr","th","td"]),z2e={a:new Set(["href","target","rel","title"]),img:new Set(["src","alt","title","width","height"]),code:new Set(["class"]),span:new Set(["class"])},R2e=["language-","dsk-tok-"];function dE(e,t={}){if(typeof DOMParser>"u")return e;const a=new DOMParser().parseFromString(`<div>${e}</div>`,"text/html").body.firstElementChild;return a?(hE(a,t.allowedAttributes??{}),a.innerHTML):""}function hE(e,t){const a=e.tagName.toLowerCase(),n=new Set([...z2e[a]??[],...t[a]??[]]);for(const l of Array.from(e.attributes)){if(!n.has(l.name)||/^on/i.test(l.name)){e.removeAttribute(l.name);continue}if(l.name==="class"){const o=l.value.split(/\s+/).filter(i=>R2e.some(r=>i.startsWith(r))).join(" ");o===""?e.removeAttribute("class"):e.setAttribute("class",o);continue}(l.name==="href"||l.name==="src")&&/^\s*javascript:/i.test(l.value)&&e.removeAttribute(l.name)}a==="a"&&(e.getAttribute("rel")||e.setAttribute("rel","noopener noreferrer"),e.getAttribute("target")||e.setAttribute("target","_blank"));for(const l of Array.from(e.children))if(hE(l,t),!q2e.has(l.tagName.toLowerCase())){const o=P2e().createElement("span");o.innerHTML=l.innerHTML,l.replaceWith(...Array.from(o.childNodes))}}function P2e(){return document}function On(e){e.dispatchEvent(new InputEvent("input",{bubbles:!0,cancelable:!0}))}function T2e(e,t,a){const n=Sa(e);if(!n)return;const l=document.createElement("table"),o=document.createElement("tbody"),i=document.createElement("thead"),r=document.createElement("tr");for(let p=0;p<a;p++){const y=document.createElement("th");y.appendChild(document.createElement("br")),r.appendChild(y)}i.appendChild(r),l.appendChild(i);for(let p=0;p<t;p++){const y=document.createElement("tr");for(let m=0;m<a;m++){const v=document.createElement("td");v.appendChild(document.createElement("br")),y.appendChild(v)}o.appendChild(y)}l.appendChild(o),n.deleteContents(),n.insertNode(l);const s=document.createElement("p");s.appendChild(document.createElement("br")),l.after(s);const h=l.querySelector("th");if(h){const p=document.createRange();p.setStart(h,0),p.collapse(!0);const y=window.getSelection();y&&(y.removeAllRanges(),y.addRange(p))}On(e)}function H1(e){const t=Sa(e);if(!t)return null;let a=t.startContainer;for(;a&&a!==e;){if(a instanceof HTMLTableCellElement)return a;a=a.parentNode}return null}function bA(e){const t=H1(e);return t?t.parentElement:null}function yc(e){const t=H1(e);if(!t)return null;let a=t;for(;a&&a!==e;){if(a instanceof HTMLTableElement)return a;a=a.parentNode}return null}function DL(e){const t=document.createElement(e);return t.appendChild(document.createElement("br")),t}function D2e(e){const t=bA(e);if(!t)return;const a=document.createElement("tr");for(let n=0;n<t.cells.length;n++)a.appendChild(DL("td"));t.after(a),On(e)}function E2e(e){const t=bA(e);if(!t)return;const a=document.createElement("tr");for(let n=0;n<t.cells.length;n++)a.appendChild(DL("td"));t.before(a),On(e)}function V2e(e){const t=H1(e),a=yc(e);if(!t||!a)return;const n=t.cellIndex;for(const l of Array.from(a.rows)){const o=l.parentElement?.tagName.toLowerCase()==="thead",i=DL(o?"th":"td"),r=l.cells[n];r?r.after(i):l.appendChild(i)}On(e)}function H2e(e){const t=H1(e),a=yc(e);if(!t||!a)return;const n=t.cellIndex;for(const l of Array.from(a.rows)){const o=l.parentElement?.tagName.toLowerCase()==="thead",i=DL(o?"th":"td"),r=l.cells[n];r?r.before(i):l.appendChild(i)}On(e)}function B2e(e){const t=bA(e),a=yc(e);!t||!a||t.parentElement?.tagName.toLowerCase()==="thead"&&a.rows.length<=1||(t.remove(),On(e))}function F2e(e){const t=H1(e),a=yc(e);if(!t||!a)return;const n=t.cellIndex;if((a.rows[0]?.cells.length??0)<=1){a.remove(),On(e);return}for(const l of Array.from(a.rows)){const o=l.cells[n];o&&o.remove()}On(e)}function j2e(e){const t=yc(e);t&&(t.remove(),On(e))}function O2e(e){return yc(e)!==null}function U2e(e){return e.replace(//g,"")}class N2e{host;history;sanitizeOptions;constructor(t,a={}){this.host=t,this.history=new $2e(t),this.sanitizeOptions=a}isActive(t,a){if(t==="bold")return Sc(this.host,["strong","b"]);if(t==="italic")return Sc(this.host,["em","i"]);if(t==="underline")return Sc(this.host,["u"]);if(t==="strike")return Sc(this.host,["s","strike","del"]);if(t==="code")return Sc(this.host,["code"]);if(t==="link")return cE(this.host)!==null;if(t==="heading"){const n=a?.level??0;return Hc(this.host)===`h${n}`}if(t==="paragraph")return Hc(this.host)==="p";if(t==="table")return O2e(this.host);if(t==="blockquote")return Hc(this.host)==="blockquote";if(t==="codeBlock")return Hc(this.host)==="pre";if(t==="bulletList"||t==="orderedList"){const n=t==="bulletList"?"ul":"ol";let l=Sa(this.host)?.startContainer??null;for(;l&&l!==this.host;){if(l instanceof HTMLElement&&l.tagName.toLowerCase()===n)return!0;l=l.parentNode}return!1}return!1}canUndo(){return this.history.canUndo}canRedo(){return this.history.canRedo}getHTML(){return U2e(this.host.innerHTML)}isEmpty(){return(this.host.textContent?.trim()??"")===""}chain(){let t=!1;const a={bold:()=>(Ac(this.host,"strong"),t=!0,a),italic:()=>(Ac(this.host,"em"),t=!0,a),underline:()=>(Ac(this.host,"u"),t=!0,a),strike:()=>(Ac(this.host,"s"),t=!0,a),code:()=>(Ac(this.host,"code"),t=!0,a),heading:n=>(h2(this.host,`h${n}`),t=!0,a),paragraph:()=>(h2(this.host,"p"),t=!0,a),bulletList:()=>(Oq(this.host,"ul"),t=!0,a),orderedList:()=>(Oq(this.host,"ol"),t=!0,a),blockquote:()=>(h2(this.host,"blockquote"),t=!0,a),codeBlock:()=>(h2(this.host,"pre"),t=!0,a),setLink:n=>(C2e(this.host,n),t=!0,a),setImage:(n,l)=>(S2e(this.host,n,l),t=!0,a),horizontalRule:()=>(A2e(this.host),t=!0,a),insertTable:(n,l)=>(T2e(this.host,n,l),t=!0,a),addRowAfter:()=>(D2e(this.host),t=!0,a),addRowBefore:()=>(E2e(this.host),t=!0,a),addColumnAfter:()=>(V2e(this.host),t=!0,a),addColumnBefore:()=>(H2e(this.host),t=!0,a),removeRow:()=>(B2e(this.host),t=!0,a),removeColumn:()=>(F2e(this.host),t=!0,a),removeTable:()=>(j2e(this.host),t=!0,a),undo:()=>(this.history.undo(),a),redo:()=>(this.history.redo(),a),focus:()=>(this.host.focus(),a),run:()=>{t&&this.history.commit()}};return a}setContent(t){if(this.host.innerHTML=dE(t,this.sanitizeOptions),this.host.firstElementChild===null&&(this.host.textContent??"")===""){const a=document.createElement("p");a.appendChild(document.createElement("br")),this.host.appendChild(a)}this.history.reset(this.host.innerHTML)}destroy(){}}function W2e(e){const t=Sa(e);if(!t||!t.collapsed)return{applied:!1};const a=t.startContainer;if(a.nodeType!==Node.TEXT_NODE)return{applied:!1};const n=a.data,l=n.slice(0,t.startOffset),o=K2e(a,e);if(!o)return{applied:!1};if(o.firstChild!==a)return{applied:!1};if(l!==n&&n.slice(t.startOffset).replace(/[\s]/g,"")!=="")return{applied:!1};const i=l.match(/^(#{1,3}) $/);if(i){const r=i[1].length;return Uq(o,`h${r}`,e),{applied:!0}}return l==="- "||l==="* "?(Nq(o,"ul",e),{applied:!0}):/^\d+\.\s$/.test(l)?(Nq(o,"ol",e),{applied:!0}):l==="> "?(Uq(o,"blockquote",e),{applied:!0}):l==="```"?(Z2e(o,e),{applied:!0}):{applied:!1}}function K2e(e,t){const a=["p","div","h1","h2","h3","blockquote","pre","li"];let n=e;for(;n&&n!==t;){if(n instanceof HTMLElement&&a.includes(n.tagName.toLowerCase()))return n;n=n.parentNode}return null}function Uq(e,t,a){const n=document.createElement(t);n.appendChild(document.createElement("br")),e.replaceWith(n),MA(n),a.dispatchEvent(new InputEvent("input",{bubbles:!0}))}function Nq(e,t,a){const n=document.createElement(t),l=document.createElement("li");l.appendChild(document.createElement("br")),n.appendChild(l),e.replaceWith(n),MA(l),a.dispatchEvent(new InputEvent("input",{bubbles:!0}))}function Z2e(e,t){const a=document.createElement("pre"),n=document.createElement("code");n.appendChild(document.createTextNode("")),a.appendChild(n),e.replaceWith(a),MA(n),t.dispatchEvent(new InputEvent("input",{bubbles:!0}))}function MA(e){const t=document.createRange();t.setStart(e,0),t.collapse(!0);const a=window.getSelection();a&&(a.removeAllRanges(),a.addRange(t))}const gC=/^-?\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,$c=/^(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|`(?:\\.|[^`\\])*`)/,ps={js:[{type:"comment",pattern:/^\/\/.*|^\/\*[\s\S]*?\*\//},{type:"string",pattern:$c},{type:"keyword",pattern:/^(?:const|let|var|function|class|extends|implements|interface|type|return|if|else|for|while|do|switch|case|break|continue|throw|try|catch|finally|new|this|super|import|export|from|as|default|typeof|instanceof|in|of|async|await|yield|true|false|null|undefined|void)\b/},{type:"function",pattern:/^[a-zA-Z_$][\w$]*(?=\s*\()/},{type:"number",pattern:gC},{type:"punct",pattern:/^[{}()[\];,.+\-*/%<>=!&|^~?:]/}],ts:[],php:[{type:"comment",pattern:/^\/\/.*|^#.*|^\/\*[\s\S]*?\*\//},{type:"string",pattern:$c},{type:"keyword",pattern:/^(?:abstract|class|interface|trait|extends|implements|public|protected|private|static|final|function|return|if|else|elseif|for|foreach|while|do|switch|case|break|continue|throw|try|catch|finally|new|self|this|parent|use|namespace|as|true|false|null|echo|print|require|include|require_once|include_once|fn)\b/},{type:"attr",pattern:/^\$[a-zA-Z_][\w]*/},{type:"function",pattern:/^[a-zA-Z_][\w]*(?=\s*\()/},{type:"number",pattern:gC},{type:"punct",pattern:/^[{}()[\];,.+\-*/%<>=!&|^~?:]/}],html:[{type:"comment",pattern:/^<!--[\s\S]*?-->/},{type:"string",pattern:$c},{type:"tag",pattern:/^<\/?[a-zA-Z][\w-]*/},{type:"attr",pattern:/^[a-zA-Z-][\w-]*(?==)/},{type:"punct",pattern:/^[<>=/]/}],css:[{type:"comment",pattern:/^\/\*[\s\S]*?\*\//},{type:"string",pattern:$c},{type:"attr",pattern:/^[a-z-][\w-]*(?=\s*:)/},{type:"keyword",pattern:/^@[a-z-]+/},{type:"number",pattern:/^-?\d+(?:\.\d+)?(?:px|em|rem|%|vh|vw|s|ms|deg)?\b/},{type:"punct",pattern:/^[{};:]/}],json:[{type:"string",pattern:$c},{type:"keyword",pattern:/^(?:true|false|null)\b/},{type:"number",pattern:gC},{type:"punct",pattern:/^[{}[\]:,]/}]};ps.ts=ps.js;ps.tsx=ps.js;ps.jsx=ps.js;function Wq(e,t){const a=(t??"").toLowerCase(),n=ps[a];if(!n)return qc(e);let l="",o=0;for(;o<e.length;){const i=e.slice(o),r=i.match(/^\s+/);if(r){l+=qc(r[0]),o+=r[0].length;continue}let s=null;for(const h of n){const p=i.match(h.pattern);if(p){s={type:h.type,len:p[0].length};break}}if(s){const h=i.slice(0,s.len);l+=`<span class="dsk-tok-${s.type}">${qc(h)}</span>`,o+=s.len}else{const h=i.match(/^[a-zA-Z_$][\w$]*/);h?(l+=qc(h[0]),o+=h[0].length):(l+=qc(i[0]),o++)}}return l}function qc(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}const G2e=new Set(["p","div","h1","h2","h3","h4","h5","h6","ul","ol","li","blockquote","pre","hr","table","thead","tbody","tr","th","td","figure","figcaption","section","article","header","footer","nav","main","aside"]),X2e=new Set(["br","hr","img","input","meta","link"]),pE=new Set(["pre","code","script","style","textarea"]);function jI(e){return G2e.has(e.tagName.toLowerCase())}function Bc(e,t,a){if(e.nodeType===Node.TEXT_NODE)return e.data;if(!(e instanceof Element))return"";const n=e.tagName.toLowerCase(),l=jI(e),o=a||pE.has(n),i=" ".repeat(t);let r=`<${n}`;for(const y of Array.from(e.attributes))r+=` ${y.name}="${J2e(y.value)}"`;if(X2e.has(n))return l&&!a?`
|
|
28
28
|
${i}${r}>`:`${r}>`;r+=">";const s=`</${n}>`;if(o){let y="";for(const m of Array.from(e.childNodes))y+=Bc(m,0,!0);return l&&!a?`
|
|
29
29
|
${i}${r}${y}${s}`:`${r}${y}${s}`}const h=Array.from(e.children).some(jI);if(l&&!h){let y="";for(const m of Array.from(e.childNodes))y+=Bc(m,0,!1);return`
|