@erickxavier/no-js 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/cjs/no.js +6 -6
- package/dist/cjs/no.js.map +3 -3
- package/dist/esm/no.js +6 -6
- package/dist/esm/no.js.map +3 -3
- package/dist/iife/no.js +5 -5
- package/dist/iife/no.js.map +3 -3
- package/package.json +1 -1
- package/src/directives/validation.js +401 -64
- package/src/index.js +11 -2
package/dist/esm/no.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* No.JS v1.
|
|
2
|
+
* No.JS v1.7.0 — The HTML-First Reactive Framework
|
|
3
3
|
* No more JavaScript. Just HTML attributes with superpowers.
|
|
4
4
|
* @license MIT
|
|
5
5
|
* @see https://github.com/ErickXavier/no-js
|
|
6
6
|
*/
|
|
7
|
-
var $e=Object.defineProperty;var ee=(t,e)=>()=>(t&&(e=t(t=0)),e);var Ne=(t,e)=>{for(var r in e)$e(t,r,{get:e[r],enumerable:!0})};function Ut(t){ct=t}function re(t){G=t}function Y(...t){g.debug&&console.log("[No.JS]",...t)}function it(...t){console.warn("[No.JS]",...t)}function Tt(){for(let t of It){if(t._el&&!t._el.isConnected){It.delete(t);continue}t()}}function z(t,e,r){e.$watch(r),typeof t=="string"&&t.includes("$store")&&It.add(r)}function Z(t){ct&&(ct.__disposers=ct.__disposers||[],ct.__disposers.push(t))}function jt(t,e){(_t[t]||[]).forEach(r=>r(e))}var g,Lt,_t,W,It,j,Ct,Ft,ut,G,ct,K=ee(()=>{g={baseApiUrl:"",headers:{},timeout:1e4,retries:0,retryDelay:1e3,credentials:"same-origin",csrf:null,cache:{strategy:"none",ttl:3e5},templates:{cache:!0},router:{mode:"history",base:"/",scrollBehavior:"top",templates:"pages",ext:".tpl"},i18n:{defaultLocale:"en",fallbackLocale:"en",detectBrowser:!1,loadPath:null,ns:[],cache:!0,persist:!1},debug:!1,devtools:!1,csp:null,sanitize:!0},Lt={request:[],response:[]},_t={},W={},It=new Set,j={},Ct={},Ft=new Map,ut={},G=null,ct=null});var ne={};Ne(ne,{_deepMerge:()=>Wt,_i18n:()=>U,_i18nCache:()=>zt,_i18nListeners:()=>vt,_loadI18nForLocale:()=>Jt,_loadI18nNamespace:()=>Xt,_loadLocale:()=>Nt,_loadedNs:()=>Kt,_notifyI18n:()=>$t,_watchI18n:()=>kt});function kt(t){return vt.add(t),()=>vt.delete(t)}function $t(){for(let t of vt){if(t._el&&!t._el.isConnected){vt.delete(t);continue}t()}}function Wt(t,e){let r={...t};for(let n of Object.keys(e))e[n]&&typeof e[n]=="object"&&!Array.isArray(e[n])&&t[n]&&typeof t[n]=="object"&&!Array.isArray(t[n])?r[n]=Wt(t[n],e[n]):r[n]=e[n];return r}async function Nt(t,e){let r=e?`${t}:${e}`:t;if(g.i18n.cache&&zt.has(r))return;let n=g.i18n.loadPath.replace("{locale}",t);if(e)n=n.replace("{ns}",e);else if(n.includes("{ns}"))return;try{let o=await fetch(n);if(!o.ok){it(`i18n: failed to load ${n} (${o.status})`);return}let i=await o.json();U.locales[t]=Wt(U.locales[t]||{},i),g.i18n.cache&&zt.set(r,i)}catch(o){it(`i18n: error loading ${n}`,o)}}async function Jt(t){if(!g.i18n.loadPath)return;let e=g.i18n.ns;!e.length||!g.i18n.loadPath.includes("{ns}")?await Nt(t,null):await Promise.all(e.map(r=>Nt(t,r)))}async function Xt(t){if(!g.i18n.loadPath)return;Kt.add(t);let e=new Set([U.locale,g.i18n.fallbackLocale]);await Promise.all([...e].map(r=>Nt(r,t)))}var vt,zt,Kt,U,ft=ee(()=>{K();vt=new Set;zt=new Map,Kt=new Set;U={_locale:"en",locales:{},get locale(){return this._locale},set locale(t){if(this._locale!==t){if(this._locale=t,g.i18n.persist&&typeof localStorage<"u")try{localStorage.setItem("nojs-locale",t)}catch{}if(g.i18n.loadPath){let e=new Set([...g.i18n.ns,...Kt]);Promise.all([...e].map(r=>Nt(t,r))).then(()=>$t())}else $t()}},t(t,e={}){let r=U.locales[U.locale]||U.locales[g.i18n.fallbackLocale]||{},n=t.split(".").reduce((o,i)=>o?.[i],r);if(n==null)return t;if(typeof n=="string"&&n.includes("|")&&e.count!=null){let o=n.split("|").map(i=>i.trim());n=Number(e.count)===1?o[0]:o[1]||o[0]}return typeof n=="string"&&(n=n.replace(/\{(\w+)\}/g,(o,i)=>e[i]!=null?e[i]:"")),n}}});K();ft();K();ft();K();ft();var xt=new Map;function at(t,e){!g.devtools||typeof window>"u"||window.dispatchEvent(new CustomEvent("nojs:devtools",{detail:{type:t,data:e,timestamp:Date.now()}}))}function Yt(t){if(!t||!t.__isProxy)return null;let e=t.__raw,r={};for(let n of Object.keys(e)){if(n.startsWith("__"))continue;let o=e[n];if(o&&typeof o=="object"&&o.__isProxy)r[n]=Yt(o);else try{JSON.stringify(o),r[n]=o}catch{r[n]=String(o)}}return r}function oe(t){if(!t||!t.tagName)return null;let e=t.tagName.toLowerCase(),r=t.id?`#${t.id}`:"",n=t.className&&typeof t.className=="string"?"."+t.className.trim().split(/\s+/).join("."):"";return e+r+n}function se(t){let e=document.querySelector(t);if(!e)return{error:"Element not found",selector:t};let r=e.__ctx;return{selector:t,tag:oe(e),hasContext:!!r,contextId:r?.__raw?.__devtoolsId??null,data:r?Yt(r):null,directives:[...e.attributes].filter(n=>!["class","id","style"].includes(n.name)).map(n=>({name:n.name,value:n.value}))}}function ie(t){let e=W[t];return e?{name:t,contextId:e.__raw?.__devtoolsId??null,data:Yt(e)}:{error:"Store not found",name:t}}function ae(t){let e=t?document.querySelector(t):document.body;if(!e)return{error:"Root not found",selector:t};function r(n){let o=n.__ctx,i={tag:oe(n),contextId:o?.__raw?.__devtoolsId??null,children:[]};for(let s of n.children)s.tagName==="TEMPLATE"||s.tagName==="SCRIPT"||(s.__ctx||s.__declared)&&i.children.push(r(s));return i}return r(e)}function ce(t,e,r){let n=xt.get(t);return n?(n[e]=r,{ok:!0,id:t,key:e}):{error:"Context not found",id:t}}function le(t,e,r){let n=W[t];return n?(n[e]=r,{ok:!0,name:t,key:e}):{error:"Store not found",name:t}}function de(){let t=0;for(let[,e]of xt)e.__listeners&&(t+=e.__listeners.size);return{contexts:xt.size,stores:Object.keys(W).length,listeners:t,refs:Object.keys(ut).length,hasRouter:!!G,locale:U.locale}}var Et=null;function ue(t){Vt();let e=document.querySelector(t);if(!e)return;let r=e.getBoundingClientRect();Et=document.createElement("div"),Et.id="__nojs_devtools_highlight__",Object.assign(Et.style,{position:"fixed",top:r.top+"px",left:r.left+"px",width:r.width+"px",height:r.height+"px",background:"rgba(66, 133, 244, 0.25)",border:"2px solid rgba(66, 133, 244, 0.8)",pointerEvents:"none",zIndex:"2147483647",borderRadius:"3px"}),document.body.appendChild(Et)}function Vt(){Et&&(Et.remove(),Et=null)}function ke(t){let{command:e,args:r={}}=t.detail||{},n;switch(e){case"inspect:element":n=se(r.selector);break;case"inspect:store":n=ie(r.name);break;case"inspect:tree":n=ae(r.selector);break;case"mutate:context":n=ce(r.id,r.key,r.value);break;case"mutate:store":n=le(r.name,r.key,r.value);break;case"get:config":n={...g};break;case"get:routes":n=G?G.routes||[]:[];break;case"get:stats":n=de();break;case"highlight:element":ue(r.selector),n={ok:!0};break;case"unhighlight":Vt(),n={ok:!0};break;default:n={error:"Unknown command",command:e}}window.dispatchEvent(new CustomEvent("nojs:devtools:response",{detail:{command:e,result:n,timestamp:Date.now()}}))}function fe(t){!g.devtools||typeof window>"u"||(window.addEventListener("nojs:devtools:cmd",ke),window.__NOJS_DEVTOOLS__={stores:W,config:g,refs:ut,router:G,version:t.version,inspect:e=>se(e),inspectStore:e=>ie(e),inspectTree:e=>ae(e),stats:()=>de(),mutate:(e,r,n)=>ce(e,r,n),mutateStore:(e,r,n)=>le(e,r,n),highlight:e=>ue(e),unhighlight:()=>Vt(),on:(e,r)=>{let n=o=>{(!e||o.detail.type===e)&&r(o.detail)};return window.addEventListener("nojs:devtools",n),()=>window.removeEventListener("nojs:devtools",n)}},console.log("[No.JS DevTools] enabled \u2014 access via window.__NOJS_DEVTOOLS__"))}var De=0,je=new Set,Be=0;function P(t={},e=null){let r=new Set,n={};Object.assign(n,t),g.devtools&&(n.__devtoolsId=++Be);let o=!1;function i(){if(!o){o=!0;try{if(De>0)for(let c of r){if(c._el&&!c._el.isConnected){r.delete(c);continue}je.add(c)}else for(let c of r){if(c._el&&!c._el.isConnected){r.delete(c);continue}c()}}finally{o=!1}}}let s={get(c,l){if(l==="__isProxy")return!0;if(l==="__raw")return c;if(l==="__listeners")return r;if(l==="$watch")return d=>(ct&&(d._el=ct),r.add(d),()=>r.delete(d));if(l==="$notify")return i;if(l==="$set")return(d,f)=>{let p=d.split(".");if(p.length===1)a[d]=f;else{let u=a;for(let x=0;x<p.length-1;x++)if(u=u[p[x]],u==null)return;let m=p[p.length-1],b=u[m];u[m]=f,b!==f&&i()}};if(l==="$parent")return e;if(l==="$refs")return ut;if(l==="$store")return W;if(l==="$route")return G?G.current:{};if(l==="$router")return G;if(l==="$i18n")return U;if(l==="$form")return c.$form||null;if(l in c)return c[l];if(e&&e.__isProxy)return e[l]},set(c,l,d){let f=c[l];return c[l]=d,f!==d&&(i(),at("ctx:updated",{id:c.__devtoolsId,key:l,oldValue:f,newValue:d})),!0},has(c,l){return l in c?!0:e&&e.__isProxy?l in e:!1}},a=new Proxy(n,s);return g.devtools&&n.__devtoolsId&&(xt.set(n.__devtoolsId,a),at("ctx:created",{id:n.__devtoolsId,parentId:e?.__raw?.__devtoolsId??null,keys:Object.keys(t),elementTag:ct?.tagName?.toLowerCase()??null})),a}function Gt(t){let e=new Set,r={},n=t;for(;n&&n.__isProxy;){let o=n.__raw;for(let i of Object.keys(o))e.has(i)||(e.add(i),r[i]=o[i]);n=n.$parent}return{keys:[...e],vals:r}}K();ft();var pe=new Map;function gt(t,e,r){let n={};for(let l=0;l<e.length;l++)n[e[l]]=r[l];function o(l,d){return l.split(".").reduce((f,p)=>f?.[p],d)}function i(l){let d=l.trim();if(d==="true")return!0;if(d==="false")return!1;if(d==="null")return null;if(d!=="undefined")return/^-?\d+(\.\d+)?$/.test(d)?Number(d):/^(['"`]).*\1$/.test(d)?d.slice(1,-1):o(d,n)}let s=t.trim(),a=s.match(/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/);if(a){let l=gt(a[1].trim(),e,r);return gt(l?a[2].trim():a[3].trim(),e,r)}if(s.includes("||")){let l=s.split("||");for(let d of l){let f=gt(d.trim(),e,r);if(f)return f}return gt(l[l.length-1].trim(),e,r)}if(s.includes("&&")){let l=s.split("&&"),d;for(let f of l)if(d=gt(f.trim(),e,r),!d)return d;return d}let c=s.match(/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/);if(c){let l=i(c[1]),d=i(c[3]);switch(c[2]){case"===":return l===d;case"!==":return l!==d;case"==":return l==d;case"!=":return l!=d;case">=":return l>=d;case"<=":return l<=d;case">":return l>d;case"<":return l<d}}return s.startsWith("!")?!gt(s.slice(1).trim(),e,r):i(s)}function Oe(t){let e=[],r="",n=0,o=!1,i="";for(let s=0;s<t.length;s++){let a=t[s];if(o){r+=a,a===i&&t[s-1]!=="\\"&&(o=!1);continue}if(a==="'"||a==='"'||a==="`"){o=!0,i=a,r+=a;continue}if(a==="("||a==="["||a==="{"){n++,r+=a;continue}if(a===")"||a==="]"||a==="}"){n--,r+=a;continue}if(a==="|"&&n===0&&t[s+1]!=="|"&&t[s-1]!=="|"){e.push(r.trim()),r="";continue}r+=a}return e.push(r.trim()),e}function Me(t,e){let r=e.indexOf(":"),n,o;r===-1?(n=e.trim(),o=null):(n=e.substring(0,r).trim(),o=e.substring(r+1).trim());let i=j[n];if(!i)return it(`Unknown filter: ${n}`),t;let s=o?He(o):[];return i(t,...s)}function He(t){let e=[],r="",n=!1,o="";for(let i of t){if(n){if(i===o){n=!1;continue}r+=i;continue}if(i==="'"||i==='"'){n=!0,o=i;continue}if(i===","){e.push(r.trim()),r="";continue}r+=i}return r.trim()&&e.push(r.trim()),e.map(i=>{let s=Number(i);return isNaN(s)?i:s})}function L(t,e){if(!(t==null||t===""))try{let r=Oe(t),n=r[0],{keys:o,vals:i}=Gt(e),s=["$store","$route","$router","$i18n","$refs","$form"];for(let d of s)o.includes(d)||(o.push(d),i[d]=e[d]);let a=o,c=a.map(d=>i[d]),l;if(g.csp==="strict")l=gt(n,a,c);else{let d=n+"|"+a.join(","),f=pe.get(d);f||(f=new Function(...a,`return (${n})`),pe.set(d,f)),l=f(...c)}for(let d=1;d<r.length;d++)l=Me(l,r[d]);return l}catch{return}}function tt(t,e,r={}){try{let{keys:n,vals:o}=Gt(e),i={$store:W,$route:G?.current,$router:G,$i18n:U,$refs:e.$refs};Object.assign(i,r);for(let[u,m]of Object.entries(i))n.includes(u)||(n.push(u),o[u]=m);let s=[...n],a=s.map(u=>o[u]),c=new Set,l=e;for(;l&&l.__isProxy;){for(let u of Object.keys(l.__raw))c.add(u);l=l.$parent}let d={};for(let u of c)!u.startsWith("$")&&u in o&&(d[u]=o[u]);let f=[...c].filter(u=>!u.startsWith("$")).map(u=>`{let _c=__ctx;while(_c&&_c.__isProxy){if('${u}'in _c.__raw){if(typeof ${u}!=='undefined'){if(${u}!==__orig['${u}'])_c.$set('${u}',${u});else if(typeof ${u}==='object'&&${u}!==null)_c.$notify();}break;}_c=_c.$parent;}}`).join(`
|
|
8
|
-
`);new Function("__ctx","__orig",...
|
|
9
|
-
${
|
|
7
|
+
var ke=Object.defineProperty;var re=(t,e)=>()=>(t&&(e=t(t=0)),e);var Ne=(t,e)=>{for(var r in e)ke(t,r,{get:e[r],enumerable:!0})};function Ut(t){lt=t}function ne(t){G=t}function X(...t){_.debug&&console.log("[No.JS]",...t)}function at(...t){console.warn("[No.JS]",...t)}function Tt(){for(let t of It){if(t._el&&!t._el.isConnected){It.delete(t);continue}t()}}function K(t,e,r){e.$watch(r),typeof t=="string"&&t.includes("$store")&&It.add(r)}function Z(t){lt&&(lt.__disposers=lt.__disposers||[],lt.__disposers.push(t))}function jt(t,e){(vt[t]||[]).forEach(r=>r(e))}var _,Ct,vt,z,It,B,ut,Ft,ft,G,lt,J=re(()=>{_={baseApiUrl:"",headers:{},timeout:1e4,retries:0,retryDelay:1e3,credentials:"same-origin",csrf:null,cache:{strategy:"none",ttl:3e5},templates:{cache:!0},router:{mode:"history",base:"/",scrollBehavior:"top",templates:"pages",ext:".tpl"},i18n:{defaultLocale:"en",fallbackLocale:"en",detectBrowser:!1,loadPath:null,ns:[],cache:!0,persist:!1},debug:!1,devtools:!1,csp:null,sanitize:!0},Ct={request:[],response:[]},vt={},z={},It=new Set,B={},ut={},Ft=new Map,ft={},G=null,lt=null});var oe={};Ne(oe,{_deepMerge:()=>zt,_i18n:()=>U,_i18nCache:()=>Wt,_i18nListeners:()=>Et,_loadI18nForLocale:()=>Jt,_loadI18nNamespace:()=>Vt,_loadLocale:()=>kt,_loadedNs:()=>Kt,_notifyI18n:()=>$t,_watchI18n:()=>Nt});function Nt(t){return Et.add(t),()=>Et.delete(t)}function $t(){for(let t of Et){if(t._el&&!t._el.isConnected){Et.delete(t);continue}t()}}function zt(t,e){let r={...t};for(let n of Object.keys(e))e[n]&&typeof e[n]=="object"&&!Array.isArray(e[n])&&t[n]&&typeof t[n]=="object"&&!Array.isArray(t[n])?r[n]=zt(t[n],e[n]):r[n]=e[n];return r}async function kt(t,e){let r=e?`${t}:${e}`:t;if(_.i18n.cache&&Wt.has(r))return;let n=_.i18n.loadPath.replace("{locale}",t);if(e)n=n.replace("{ns}",e);else if(n.includes("{ns}"))return;try{let o=await fetch(n);if(!o.ok){at(`i18n: failed to load ${n} (${o.status})`);return}let s=await o.json();U.locales[t]=zt(U.locales[t]||{},s),_.i18n.cache&&Wt.set(r,s)}catch(o){at(`i18n: error loading ${n}`,o)}}async function Jt(t){if(!_.i18n.loadPath)return;let e=_.i18n.ns;!e.length||!_.i18n.loadPath.includes("{ns}")?await kt(t,null):await Promise.all(e.map(r=>kt(t,r)))}async function Vt(t){if(!_.i18n.loadPath)return;Kt.add(t);let e=new Set([U.locale,_.i18n.fallbackLocale]);await Promise.all([...e].map(r=>kt(r,t)))}var Et,Wt,Kt,U,mt=re(()=>{J();Et=new Set;Wt=new Map,Kt=new Set;U={_locale:"en",locales:{},get locale(){return this._locale},set locale(t){if(this._locale!==t){if(this._locale=t,_.i18n.persist&&typeof localStorage<"u")try{localStorage.setItem("nojs-locale",t)}catch{}if(_.i18n.loadPath){let e=new Set([..._.i18n.ns,...Kt]);Promise.all([...e].map(r=>kt(t,r))).then(()=>$t())}else $t()}},t(t,e={}){let r=U.locales[U.locale]||U.locales[_.i18n.fallbackLocale]||{},n=t.split(".").reduce((o,s)=>o?.[s],r);if(n==null)return t;if(typeof n=="string"&&n.includes("|")&&e.count!=null){let o=n.split("|").map(s=>s.trim());n=Number(e.count)===1?o[0]:o[1]||o[0]}return typeof n=="string"&&(n=n.replace(/\{(\w+)\}/g,(o,s)=>e[s]!=null?e[s]:"")),n}}});J();mt();J();mt();J();mt();var wt=new Map;function nt(t,e){!_.devtools||typeof window>"u"||window.dispatchEvent(new CustomEvent("nojs:devtools",{detail:{type:t,data:e,timestamp:Date.now()}}))}function Xt(t){if(!t||!t.__isProxy)return null;let e=t.__raw,r={};for(let n of Object.keys(e)){if(n.startsWith("__"))continue;let o=e[n];if(o&&typeof o=="object"&&o.__isProxy)r[n]=Xt(o);else try{JSON.stringify(o),r[n]=o}catch{r[n]=String(o)}}return r}function se(t){if(!t||!t.tagName)return null;let e=t.tagName.toLowerCase(),r=t.id?`#${t.id}`:"",n=t.className&&typeof t.className=="string"?"."+t.className.trim().split(/\s+/).join("."):"";return e+r+n}function ie(t){let e=document.querySelector(t);if(!e)return{error:"Element not found",selector:t};let r=e.__ctx;return{selector:t,tag:se(e),hasContext:!!r,contextId:r?.__raw?.__devtoolsId??null,data:r?Xt(r):null,directives:[...e.attributes].filter(n=>!["class","id","style"].includes(n.name)).map(n=>({name:n.name,value:n.value}))}}function ae(t){let e=z[t];return e?{name:t,contextId:e.__raw?.__devtoolsId??null,data:Xt(e)}:{error:"Store not found",name:t}}function ce(t){let e=t?document.querySelector(t):document.body;if(!e)return{error:"Root not found",selector:t};function r(n){let o=n.__ctx,s={tag:se(n),contextId:o?.__raw?.__devtoolsId??null,children:[]};for(let i of n.children)i.tagName==="TEMPLATE"||i.tagName==="SCRIPT"||(i.__ctx||i.__declared)&&s.children.push(r(i));return s}return r(e)}function le(t,e,r){let n=wt.get(t);return n?(n[e]=r,{ok:!0,id:t,key:e}):{error:"Context not found",id:t}}function de(t,e,r){let n=z[t];return n?(n[e]=r,{ok:!0,name:t,key:e}):{error:"Store not found",name:t}}function ue(){let t=0;for(let[,e]of wt)e.__listeners&&(t+=e.__listeners.size);return{contexts:wt.size,stores:Object.keys(z).length,listeners:t,refs:Object.keys(ft).length,hasRouter:!!G,locale:U.locale}}var xt=null;function fe(t){Yt();let e=document.querySelector(t);if(!e)return;let r=e.getBoundingClientRect();xt=document.createElement("div"),xt.id="__nojs_devtools_highlight__",Object.assign(xt.style,{position:"fixed",top:r.top+"px",left:r.left+"px",width:r.width+"px",height:r.height+"px",background:"rgba(66, 133, 244, 0.25)",border:"2px solid rgba(66, 133, 244, 0.8)",pointerEvents:"none",zIndex:"2147483647",borderRadius:"3px"}),document.body.appendChild(xt)}function Yt(){xt&&(xt.remove(),xt=null)}function De(t){let{command:e,args:r={}}=t.detail||{},n;switch(e){case"inspect:element":n=ie(r.selector);break;case"inspect:store":n=ae(r.name);break;case"inspect:tree":n=ce(r.selector);break;case"mutate:context":n=le(r.id,r.key,r.value);break;case"mutate:store":n=de(r.name,r.key,r.value);break;case"get:config":n={..._};break;case"get:routes":n=G?G.routes||[]:[];break;case"get:stats":n=ue();break;case"highlight:element":fe(r.selector),n={ok:!0};break;case"unhighlight":Yt(),n={ok:!0};break;default:n={error:"Unknown command",command:e}}window.dispatchEvent(new CustomEvent("nojs:devtools:response",{detail:{command:e,result:n,timestamp:Date.now()}}))}function me(t){!_.devtools||typeof window>"u"||(window.addEventListener("nojs:devtools:cmd",De),window.__NOJS_DEVTOOLS__={stores:z,config:_,refs:ft,router:G,version:t.version,inspect:e=>ie(e),inspectStore:e=>ae(e),inspectTree:e=>ce(e),stats:()=>ue(),mutate:(e,r,n)=>le(e,r,n),mutateStore:(e,r,n)=>de(e,r,n),highlight:e=>fe(e),unhighlight:()=>Yt(),on:(e,r)=>{let n=o=>{(!e||o.detail.type===e)&&r(o.detail)};return window.addEventListener("nojs:devtools",n),()=>window.removeEventListener("nojs:devtools",n)}},console.log("[No.JS DevTools] enabled \u2014 access via window.__NOJS_DEVTOOLS__"))}var je=0,Be=new Set,Oe=0;function H(t={},e=null){let r=new Set,n={};Object.assign(n,t),_.devtools&&(n.__devtoolsId=++Oe);let o=!1;function s(){if(!o){o=!0;try{if(je>0)for(let c of r){if(c._el&&!c._el.isConnected){r.delete(c);continue}Be.add(c)}else for(let c of r){if(c._el&&!c._el.isConnected){r.delete(c);continue}c()}}finally{o=!1}}}let i={get(c,l){if(l==="__isProxy")return!0;if(l==="__raw")return c;if(l==="__listeners")return r;if(l==="$watch")return d=>(lt&&(d._el=lt),r.add(d),()=>r.delete(d));if(l==="$notify")return s;if(l==="$set")return(d,u)=>{let m=d.split(".");if(m.length===1)a[d]=u;else{let f=a;for(let h=0;h<m.length-1;h++)if(f=f[m[h]],f==null)return;let b=m[m.length-1],g=f[b];f[b]=u,g!==u&&s()}};if(l==="$parent")return e;if(l==="$refs")return ft;if(l==="$store")return z;if(l==="$route")return G?G.current:{};if(l==="$router")return G;if(l==="$i18n")return U;if(l==="$form")return c.$form||null;if(l in c)return c[l];if(e&&e.__isProxy)return e[l]},set(c,l,d){let u=c[l];return c[l]=d,u!==d&&(s(),nt("ctx:updated",{id:c.__devtoolsId,key:l,oldValue:u,newValue:d})),!0},has(c,l){return l in c?!0:e&&e.__isProxy?l in e:!1}},a=new Proxy(n,i);return _.devtools&&n.__devtoolsId&&(wt.set(n.__devtoolsId,a),nt("ctx:created",{id:n.__devtoolsId,parentId:e?.__raw?.__devtoolsId??null,keys:Object.keys(t),elementTag:lt?.tagName?.toLowerCase()??null})),a}function Gt(t){let e=new Set,r={},n=t;for(;n&&n.__isProxy;){let o=n.__raw;for(let s of Object.keys(o))e.has(s)||(e.add(s),r[s]=o[s]);n=n.$parent}return{keys:[...e],vals:r}}J();mt();var pe=new Map;function ht(t,e,r){let n={};for(let l=0;l<e.length;l++)n[e[l]]=r[l];function o(l,d){return l.split(".").reduce((u,m)=>u?.[m],d)}function s(l){let d=l.trim();if(d==="true")return!0;if(d==="false")return!1;if(d==="null")return null;if(d!=="undefined")return/^-?\d+(\.\d+)?$/.test(d)?Number(d):/^(['"`]).*\1$/.test(d)?d.slice(1,-1):o(d,n)}let i=t.trim(),a=i.match(/^(.+?)\s*\?\s*(.+?)\s*:\s*(.+)$/);if(a){let l=ht(a[1].trim(),e,r);return ht(l?a[2].trim():a[3].trim(),e,r)}if(i.includes("||")){let l=i.split("||");for(let d of l){let u=ht(d.trim(),e,r);if(u)return u}return ht(l[l.length-1].trim(),e,r)}if(i.includes("&&")){let l=i.split("&&"),d;for(let u of l)if(d=ht(u.trim(),e,r),!d)return d;return d}let c=i.match(/^(.+?)\s*(===|!==|==|!=|>=|<=|>|<)\s*(.+)$/);if(c){let l=s(c[1]),d=s(c[3]);switch(c[2]){case"===":return l===d;case"!==":return l!==d;case"==":return l==d;case"!=":return l!=d;case">=":return l>=d;case"<=":return l<=d;case">":return l>d;case"<":return l<d}}return i.startsWith("!")?!ht(i.slice(1).trim(),e,r):s(i)}function Me(t){let e=[],r="",n=0,o=!1,s="";for(let i=0;i<t.length;i++){let a=t[i];if(o){r+=a,a===s&&t[i-1]!=="\\"&&(o=!1);continue}if(a==="'"||a==='"'||a==="`"){o=!0,s=a,r+=a;continue}if(a==="("||a==="["||a==="{"){n++,r+=a;continue}if(a===")"||a==="]"||a==="}"){n--,r+=a;continue}if(a==="|"&&n===0&&t[i+1]!=="|"&&t[i-1]!=="|"){e.push(r.trim()),r="";continue}r+=a}return e.push(r.trim()),e}function Re(t,e){let r=e.indexOf(":"),n,o;r===-1?(n=e.trim(),o=null):(n=e.substring(0,r).trim(),o=e.substring(r+1).trim());let s=B[n];if(!s)return at(`Unknown filter: ${n}`),t;let i=o?He(o):[];return s(t,...i)}function He(t){let e=[],r="",n=!1,o="";for(let s of t){if(n){if(s===o){n=!1;continue}r+=s;continue}if(s==="'"||s==='"'){n=!0,o=s;continue}if(s===","){e.push(r.trim()),r="";continue}r+=s}return r.trim()&&e.push(r.trim()),e.map(s=>{let i=Number(s);return isNaN(i)?s:i})}function L(t,e){if(!(t==null||t===""))try{let r=Me(t),n=r[0],{keys:o,vals:s}=Gt(e),i=["$store","$route","$router","$i18n","$refs","$form"];for(let d of i)o.includes(d)||(o.push(d),s[d]=e[d]);let a=o,c=a.map(d=>s[d]),l;if(_.csp==="strict")l=ht(n,a,c);else{let d=n+"|"+a.join(","),u=pe.get(d);u||(u=new Function(...a,`return (${n})`),pe.set(d,u)),l=u(...c)}for(let d=1;d<r.length;d++)l=Re(l,r[d]);return l}catch{return}}function tt(t,e,r={}){try{let{keys:n,vals:o}=Gt(e),s={$store:z,$route:G?.current,$router:G,$i18n:U,$refs:e.$refs};Object.assign(s,r);for(let[f,b]of Object.entries(s))n.includes(f)||(n.push(f),o[f]=b);let i=[...n],a=i.map(f=>o[f]),c=new Set,l=e;for(;l&&l.__isProxy;){for(let f of Object.keys(l.__raw))c.add(f);l=l.$parent}let d={};for(let f of c)!f.startsWith("$")&&f in o&&(d[f]=o[f]);let u=[...c].filter(f=>!f.startsWith("$")).map(f=>`{let _c=__ctx;while(_c&&_c.__isProxy){if('${f}'in _c.__raw){if(typeof ${f}!=='undefined'){if(${f}!==__orig['${f}'])_c.$set('${f}',${f});else if(typeof ${f}==='object'&&${f}!==null)_c.$notify();}break;}_c=_c.$parent;}}`).join(`
|
|
8
|
+
`);new Function("__ctx","__orig",...i,`${t};
|
|
9
|
+
${u}`)(e,d,...a),typeof t=="string"&&t.includes("$store")&&Tt()}catch(n){at("Expression error:",t,n.message),r.$el&&r.$el.dispatchEvent(new CustomEvent("nojs:error",{bubbles:!0,detail:{message:n.message,error:n}}))}}function ot(t,e){return t.split(".").reduce((r,n)=>r?.[n],e)}function bt(t,e){return t.replace(/\{([^}]+)\}/g,(r,n)=>{let o=L(n.trim(),e);return o??""})}J();J();function Qt(t,e){if(t.startsWith("http://")||t.startsWith("https://")||t.startsWith("//"))return t;let r=e;for(;r;){let n=r.getAttribute?.("base");if(n)return n.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,"");r=r.parentElement}return _.baseApiUrl?_.baseApiUrl.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):t}async function Bt(t,e="GET",r=null,n={},o=null,s=null){let i=Qt(t,o),a={method:e.toUpperCase(),headers:{..._.headers||{},...n},credentials:_.credentials};if(r&&e!=="GET")if(typeof r=="string")try{JSON.parse(r),a.headers["Content-Type"]="application/json",a.body=r}catch{a.body=r}else r instanceof FormData?a.body=r:(a.headers["Content-Type"]="application/json",a.body=JSON.stringify(r));_.csrf&&e!=="GET"&&(a.headers[_.csrf.header||"X-CSRF-Token"]=_.csrf.token||"");for(let d of Ct.request)a=d(i,a)||a;let c=_.retries||0,l;for(let d=0;d<=c;d++)try{let u=new AbortController,m=setTimeout(()=>u.abort(),_.timeout||1e4);if(s){if(s.aborted)throw clearTimeout(m),new DOMException("Aborted","AbortError");s.addEventListener("abort",()=>u.abort(),{once:!0})}a.signal=u.signal;let f=await fetch(i,a);clearTimeout(m);for(let g of Ct.response)f=g(f,i)||f;if(!f.ok){let g=await f.json().catch(()=>({})),h=new Error(g.message||`HTTP ${f.status}`);throw h.status=f.status,h.body=g,h}let b=await f.text();try{return JSON.parse(b)}catch{return b}}catch(u){if(u.name==="AbortError")throw u;l=u,d<c&&await new Promise(m=>setTimeout(m,_.retryDelay||1e3))}throw l}function ge(t,e){if(e==="none")return null;if(e==="memory"){let n=Ft.get(t);return n&&Date.now()-n.time<(_.cache.ttl||3e5)?n.data:null}let r=e==="local"?localStorage:e==="session"?sessionStorage:null;if(!r)return null;try{let n=r.getItem("nojs_cache_"+t);if(!n)return null;let o=JSON.parse(n);if(Date.now()-o.time<(_.cache.ttl||3e5))return o.data;r.removeItem("nojs_cache_"+t)}catch{}return null}function he(t,e,r){if(r==="none")return;let n={data:e,time:Date.now()};if(r==="memory"){Ft.set(t,n);return}let o=r==="local"?localStorage:r==="session"?sessionStorage:null;if(o)try{o.setItem("nojs_cache_"+t,JSON.stringify(n))}catch{}}var yt=new Map;function N(t){let e=t;for(;e;){if(e.__ctx)return e.__ctx;e=e.parentElement}return H()}function pt(t){let e=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;e.nextNode();)e.currentNode.__declared=!1}function V(t){if(!t)return null;let e=t.startsWith("#")?t.slice(1):t,r=document.getElementById(e);return r&&r.content?r.content.cloneNode(!0):null}function be(t){return _.sanitize?t.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/on\w+\s*=/gi,"data-blocked=").replace(/javascript:/gi,""):t}function Zt(t,e){if(t.startsWith("./")){let r=e.parentNode;for(;r;){if(r.__srcBase)return r.__srcBase+t.slice(2);r=r.parentNode}return t.slice(2)}return Qt(t,e)}async function ye(t){let e=t||document,r=e.querySelectorAll("template[src]");if(X("[LRT] called on",e===document?"document":e.nodeName||"fragment","\u2014 found",r.length,"template[src]",[...r].map(o=>o.getAttribute("src"))),!r.length)return;let n=[...r].map(async o=>{if(o.__srcLoaded){X("[LRT] SKIP (already loaded):",o.getAttribute("src"));return}o.__srcLoaded=!0;let s=o.getAttribute("src"),i=Zt(s,o),a=i.substring(0,i.lastIndexOf("/")+1);try{let c=_.templates.cache!==!1,l;if(c&&yt.has(i)?(l=yt.get(i),X("[LRT] CACHE HIT:",i)):(l=await(await fetch(i)).text(),c&&yt.set(i,l)),o.innerHTML=l,o.content&&(o.content.__srcBase=a),X("Loaded remote template:",s,"\u2192",i),await ye(o.content||o),!o.hasAttribute("route")&&o.parentNode){let u=[...o.content.childNodes],m=o.parentNode,f=o.nextSibling;m.removeChild(o);for(let b of u)b.nodeType===1&&(b.__srcBase=b.__srcBase||a),m.insertBefore(b,f)}}catch(c){at("Failed to load template:",s,c.message)}});await Promise.all(n)}async function _t(t){let e=t.getAttribute("src");if(t.__srcLoaded){X("[LTE] SKIP (already loaded):",e);return}X("[LTE] START fetch:",e,"| route:",t.hasAttribute("route"),"| inDOM:",document.contains(t),"| loading:",t.getAttribute("loading")),t.__srcLoaded=!0;let r=Zt(e,t),n=r.substring(0,r.lastIndexOf("/")+1),o=null,s=t.getAttribute("loading");if(s&&t.parentNode){let i=s.startsWith("#")?s.slice(1):s,a=document.getElementById(i);a&&a.content&&(o=document.createElement("span"),o.style.cssText="display:contents",o.appendChild(a.content.cloneNode(!0)),t.parentNode.insertBefore(o,t))}try{let i=_.templates.cache!==!1,a;if(i&&yt.has(r)?(a=yt.get(r),X("[LTE] CACHE HIT:",r)):(a=await(await fetch(r)).text(),i&&yt.set(r,a)),t.innerHTML=a,t.content&&(t.content.__srcBase=n),X("Loaded remote template:",e,"\u2192",r),!t.hasAttribute("route"))await ye(t.content||t);else if(i&&t.content){let l=[...t.content.querySelectorAll("template[src]")].map(d=>{let u=d.getAttribute("src"),m=Zt(u,d);if(!yt.has(m))return fetch(m).then(f=>f.text()).then(f=>{yt.set(m,f)}).catch(()=>{})});Promise.all(l)}if(o&&o.remove(),!t.hasAttribute("route")&&t.parentNode){let l=[...t.content.childNodes],d=t.parentNode,u=t.nextSibling;d.removeChild(t);for(let m of l)m.nodeType===1&&(m.__srcBase=m.__srcBase||n),d.insertBefore(m,u)}}catch(i){o&&o.remove(),at("Failed to load template:",e,i.message)}}function Ot(t){(t||document).querySelectorAll("template[include]").forEach(r=>{let n=r.getAttribute("include"),o=document.getElementById(n.startsWith("#")?n.slice(1):n);!o||!o.content||r.replaceWith(o.content.cloneNode(!0))})}async function _e(t){let e=[...document.querySelectorAll("template[src]")],r=e.filter(o=>!o.__srcLoaded&&o.getAttribute("lazy")==="priority");await Promise.all(r.map(_t));let n=e.filter(o=>{if(o.__srcLoaded)return!1;let s=o.getAttribute("lazy");return s==="ondemand"||s==="priority"?!1:o.hasAttribute("route")?t!=null&&o.getAttribute("route")===t:!0});await Promise.all(n.map(_t))}function ve(){let e=[...document.querySelectorAll("template[src]")].filter(r=>r.__srcLoaded||r.getAttribute("lazy")==="ondemand"?!1:r.hasAttribute("route"));return Promise.all(e.map(_t))}J();mt();var Dt=new Map;function k(t,e){Dt.set(t,{priority:e.priority??50,init:e.init})}function Pe(t){if(Dt.has(t))return{directive:Dt.get(t),match:t};let e=["class-*","on:*","style-*","bind-*"];for(let r of e){let n=r.replace("*","");if(t.startsWith(n)&&Dt.has(r))return{directive:Dt.get(r),match:r}}return null}function Ee(t){if(t.__declared)return;t.__declared=!0;let e=[];for(let n of[...t.attributes]){let o=Pe(n.name);o&&e.push({name:n.name,value:n.value,priority:o.directive.priority,init:o.directive.init})}e.sort((n,o)=>n.priority-o.priority);let r=lt;for(let n of e)Ut(t),n.init(t,n.name,n.value);Ut(r),e.length>0&&nt("directive:init",{element:t.tagName?.toLowerCase(),directives:e.map(n=>({name:n.name,value:n.value}))})}function R(t){if(!t)return;t.nodeType===1&&!t.__declared&&Ee(t);let e=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;e.nextNode();){let r=e.currentNode;r.tagName==="TEMPLATE"||r.tagName==="SCRIPT"||r.__declared||Ee(r)}}function xe(t){let e=t.__ctx?.__raw?.__devtoolsId;if(t.__ctx&&t.__ctx.__listeners){for(let r of t.__ctx.__listeners)It.delete(r),Et.delete(r);t.__ctx.__listeners.clear()}t.__disposers&&(t.__disposers.forEach(r=>r()),t.__disposers=null),t.__declared=!1,e!=null&&(wt.delete(e),nt("ctx:disposed",{id:e,elementTag:t.tagName?.toLowerCase()}))}function we(t){if(!t)return;xe(t);let e=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT);for(;e.nextNode();)xe(e.currentNode)}J();var Ae=!1;function Le(){if(Ae||typeof document>"u")return;Ae=!0;let t=`
|
|
10
10
|
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
|
|
11
11
|
@keyframes fadeOut { from { opacity: 1; } to { opacity: 0; } }
|
|
12
12
|
@keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
|
|
@@ -21,7 +21,7 @@ ${f}`)(e,d,...a),typeof t=="string"&&t.includes("$store")&&Tt()}catch(n){it("Exp
|
|
|
21
21
|
@keyframes zoomOut { from { opacity: 1; transform: scale(1); } to { opacity: 0; transform: scale(0.5); } }
|
|
22
22
|
@keyframes bounceIn { 0% { opacity: 0; transform: scale(0.3); } 50% { opacity: 1; transform: scale(1.05); } 70% { transform: scale(0.9); } 100% { opacity: 1; transform: scale(1); } }
|
|
23
23
|
@keyframes bounceOut { 0% { opacity: 1; transform: scale(1); } 20% { transform: scale(0.9); } 50%,55% { opacity: 1; transform: scale(1.1); } 100% { opacity: 0; transform: scale(0.3); } }
|
|
24
|
-
`.trim(),e=document.createElement("style");e.setAttribute("data-nojs-animations",""),e.textContent=t,document.head.appendChild(e)}function St(t,e,r,n){Ae();let o=n||1e3;if(e){let i=t.firstElementChild||t;i.classList.add(e),n&&(i.style.animationDuration=n+"ms"),i.addEventListener("animationend",()=>i.classList.remove(e),{once:!0})}if(r){let i=t.firstElementChild||t;i.classList.add(r+"-enter",r+"-enter-active"),requestAnimationFrame(()=>{i.classList.remove(r+"-enter"),i.classList.add(r+"-enter-to");let s=()=>{i.classList.remove(r+"-enter-active",r+"-enter-to")};i.addEventListener("transitionend",s,{once:!0}),setTimeout(s,o)})}}function Mt(t,e,r,n,o){Ae();let i=o||2e3;if(!t.firstElementChild&&!t.childNodes.length){n();return}if(e){let s=t.firstElementChild||t;s.classList.add(e),o&&(s.style.animationDuration=o+"ms");let a=!1,c=()=>{a||(a=!0,s.classList.remove(e),n())};s.addEventListener("animationend",c,{once:!0}),setTimeout(c,i);return}if(r){let s=t.firstElementChild||t;s.classList.add(r+"-leave",r+"-leave-active"),requestAnimationFrame(()=>{s.classList.remove(r+"-leave"),s.classList.add(r+"-leave-to");let a=!1,c=()=>{a||(a=!0,s.classList.remove(r+"-leave-active",r+"-leave-to"),n())};s.addEventListener("transitionend",c,{once:!0}),setTimeout(c,i)});return}n()}function Le(){let t=[],e={path:"",params:{},query:{},hash:""},r=new Set,n=new Map;function o(p){let u=t.find(m=>m.path===p);return u||(u={path:p,outlets:{}},t.push(u)),u}function i(p){let u={};return new URLSearchParams(p).forEach((m,b)=>{u[b]=m}),u}function s(p){for(let u of t){let m=[],b=u.path.replace(/:(\w+)/g,(y,E)=>(m.push(E),"([^/]+)")),x=new RegExp("^"+b+"$"),A=p.match(x);if(A){let y={};return m.forEach((E,_)=>{y[E]=A[_+1]}),{route:u,params:y}}}return null}async function a(p,u=!1){let m=p.indexOf("#"),b=m>=0?p.slice(m+1):"",x=m>=0?p.slice(0,m):p,[A,y=""]=x.split("?");e={path:A,params:{},query:i(y),hash:b?"#"+b:""};let E=s(A);if(E){e.params=E.params;let _=E.route.outlets?.default,C=_?.getAttribute("guard"),w=_?.getAttribute("redirect");if(C){let v=P({},null);if(v.__raw.$store=W,v.__raw.$route=e,!L(C,v)&&w){await a(w,!0);return}}}if(g.router.mode==="hash"){let _="#"+p;u?window.location.replace(_):window.location.hash=p}else{let _=g.router.base.replace(/\/$/,"")+p;u?window.history.replaceState({},"",_):window.history.pushState({},"",_)}if(await c(E),r.forEach(_=>_(e)),at("route:navigate",{path:e.path,params:e.params,query:e.query,hash:e.hash}),e.hash){let _=e.hash.slice(1);requestAnimationFrame(()=>{let C=document.getElementById(_);C&&C.scrollIntoView({behavior:"smooth"})})}}async function c(p){let u=document.querySelectorAll("[route-view]");for(let b of u){let x=b.getAttribute("route-view"),A=x&&x.trim()!==""?x.trim():"default",y=p?.route?.outlets?.[A],E=g.router.templates||"";if(!y&&(b.hasAttribute("src")||E)){let C=(b.getAttribute("src")||E).replace(/\/?$/,"/"),w=b.getAttribute("ext")||g.router.ext||".html",v=b.getAttribute("route-index")||"index",B=e.path==="/"?v:e.path.replace(/^\//,""),S=C+B+w,N=A+":"+S;n.has(N)?y=n.get(N):(y=document.createElement("template"),y.setAttribute("src",S),y.setAttribute("route",e.path),document.body.appendChild(y),n.set(N,y),Y("[ROUTER] File-based route:",e.path,"\u2192",S)),b.hasAttribute("i18n-ns")&&!y.getAttribute("i18n-ns")&&y.setAttribute("i18n-ns",B)}if(xe(b),b.innerHTML="",y){y.getAttribute("src")&&!y.__srcLoaded&&(Y("Loading route template on demand:",y.getAttribute("src")),await yt(y));let _=y.getAttribute("i18n-ns");if(_){let{_loadI18nNamespace:N}=await Promise.resolve().then(()=>(ft(),ne));await N(_)}let C=y.content.cloneNode(!0),w=P({$route:e},$(b)),v=document.createElement("div");v.style.display="contents",v.__ctx=w,y.content.__srcBase&&(v.__srcBase=y.content.__srcBase),v.appendChild(C),b.appendChild(v),Ot(v);let B=[...v.querySelectorAll("template[src]")];Y("[ROUTER] nested templates found in wrapper:",B.length,B.map(N=>N.getAttribute("src")+(N.__srcLoaded?"[LOADED]":"[NEW]"))),await Promise.all(B.map(yt)),Y("[ROUTER] all nested loads done for route:",e.path);let S=b.getAttribute("transition");S&&St(v,null,S),pt(v),O(v)}}document.querySelectorAll("[route]").forEach(b=>{let x=b.getAttribute("route"),A=b.getAttribute("route-active")||"active",y=b.getAttribute("route-active-exact");if(y)b.classList.toggle(y,e.path===x);else if(A&&!b.hasAttribute("route-active-exact")){let E=x==="/"?e.path==="/":e.path.startsWith(x);b.classList.toggle(A,E)}});let m=g.router.scrollBehavior;m==="top"?window.scrollTo(0,0):m==="smooth"&&window.scrollTo({top:0,behavior:"smooth"})}function l(p,u){u.scrollIntoView({behavior:"smooth"});let m='a[href="#'+p+'"]';document.querySelectorAll('a[href^="#"]').forEach(b=>{b.hasAttribute("route")||b.classList.toggle("active",b.matches(m))})}function d(){let p=document.querySelectorAll("[route-view]");for(let u of p){let m=u.getAttribute("src")||g.router.templates||"";if(!m)continue;let b=m.replace(/\/?$/,"/"),x=u.getAttribute("ext")||g.router.ext||".html",A=u.getAttribute("route-index")||"index",y=(u.getAttribute("route-view")||"").trim()||"default",E=new Map;document.querySelectorAll("[route]:not([route-view])").forEach(w=>{let v=w.getAttribute("route");if(!v)return;let B=v.split("?")[0].split("#")[0],S=w.getAttribute("lazy"),N=E.get(B);(!E.has(B)||S==="priority"||N==="ondemand"&&S!=="ondemand")&&E.set(B,S)});let _=[],C=[];for(let[w,v]of E){if(v==="ondemand"||w===e.path)continue;let B=w==="/"?A:w.replace(/^\//,""),S=b+B+x,N=y+":"+S;if(n.has(N))continue;let X=document.createElement("template");X.setAttribute("src",S),X.setAttribute("route",w),document.body.appendChild(X),n.set(N,X),Y("[ROUTER] Prefetch:",w,"\u2192",S,v==="priority"?"(priority)":"(background)"),u.hasAttribute("i18n-ns")&&X.setAttribute("i18n-ns",B),v==="priority"?_.push(X):C.push(X)}(_.length||C.length)&&Promise.all(_.map(yt)).then(()=>{C.forEach(yt)})}}return{get current(){return e},push(p){return a(p)},replace(p){return a(p,!0)},back(){window.history.back()},forward(){window.history.forward()},on(p){return r.add(p),()=>r.delete(p)},register(p,u,m="default"){let b=o(p);b.outlets[m]=u},async init(){if(document.querySelectorAll("template[route]").forEach(p=>{let u=p.getAttribute("route"),m=p.getAttribute("outlet")||"default",b=o(u);b.outlets[m]=p}),document.addEventListener("click",p=>{let u=p.target.closest("[route]");if(u&&!u.hasAttribute("route-view")){p.preventDefault();let m=u.getAttribute("route");a(m);return}if(g.router.mode==="hash"){let m=p.target.closest('a[href^="#"]');if(m&&!m.hasAttribute("route")){let x=m.getAttribute("href").slice(1);if(x&&!x.startsWith("/")){let A=document.getElementById(x);A&&(p.preventDefault(),l(x,A))}}}}),g.router.mode==="hash"){window.addEventListener("hashchange",()=>{let u=window.location.hash.slice(1)||"/";if(!u.startsWith("/")){let b=document.getElementById(u);b&&(l(u,b),window.history.replaceState(null,"","#"+e.path));return}let[m]=u.split("?");m!==e.path&&a(u,!0)});let p=window.location.hash.slice(1)||"/";await a(p,!0)}else{window.addEventListener("popstate",()=>{let u=window.location.pathname.replace(g.router.base,"")||"/";a(u,!0)});let p=window.location.pathname.replace(g.router.base,"")||"/";await a(p,!0)}d()}}}K();j.uppercase=t=>String(t??"").toUpperCase();j.lowercase=t=>String(t??"").toLowerCase();j.capitalize=t=>String(t??"").replace(/\b\w/g,e=>e.toUpperCase());j.truncate=(t,e=100)=>{let r=String(t??"");return r.length>e?r.slice(0,e)+"...":r};j.trim=t=>String(t??"").trim();j.stripHtml=t=>String(t??"").replace(/<[^>]*>/g,"");j.slugify=t=>String(t??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");j.nl2br=t=>String(t??"").replace(/\n/g,"<br>");j.encodeUri=t=>encodeURIComponent(String(t??""));j.number=(t,e=0)=>{let r=Number(t);return isNaN(r)?t:r.toLocaleString(void 0,{minimumFractionDigits:e,maximumFractionDigits:e})};j.currency=(t,e="USD")=>{let r=Number(t);if(isNaN(r))return t;try{return r.toLocaleString(void 0,{style:"currency",currency:e})}catch{return`${e} ${r.toFixed(2)}`}};j.percent=(t,e=0)=>{let r=Number(t);return isNaN(r)?t:(r*100).toFixed(e)+"%"};j.filesize=t=>{let e=Number(t);if(isNaN(e))return t;let r=["B","KB","MB","GB","TB"],n=0,o=e;for(;o>=1024&&n<r.length-1;)o/=1024,n++;return o.toFixed(n>0?1:0)+" "+r[n]};j.ordinal=t=>{let e=Number(t);if(isNaN(e))return t;let r=["th","st","nd","rd"],n=e%100;return e+(r[(n-20)%10]||r[n]||r[0])};j.count=t=>Array.isArray(t)?t.length:0;j.first=t=>Array.isArray(t)?t[0]:t;j.last=t=>Array.isArray(t)?t[t.length-1]:t;j.join=(t,e=", ")=>Array.isArray(t)?t.join(e):t;j.reverse=t=>Array.isArray(t)?[...t].reverse():t;j.unique=t=>Array.isArray(t)?[...new Set(t)]:t;j.pluck=(t,e)=>Array.isArray(t)?t.map(r=>r?.[e]):t;j.sortBy=(t,e)=>{if(!Array.isArray(t))return t;let r=e?.startsWith("-"),n=r?e.slice(1):e;return[...t].sort((o,i)=>{let s=o?.[n],a=i?.[n],c=s<a?-1:s>a?1:0;return r?-c:c})};j.where=(t,e,r)=>Array.isArray(t)?t.filter(n=>n?.[e]===r):t;j.date=(t,e="short")=>{let r=new Date(t);if(isNaN(r))return t;let n=e==="long"?{dateStyle:"long"}:e==="full"?{dateStyle:"full"}:{dateStyle:"short"};return r.toLocaleDateString(void 0,n)};j.datetime=t=>{let e=new Date(t);return isNaN(e)?t:e.toLocaleString()};j.relative=t=>{let e=new Date(t);if(isNaN(e))return t;let r=(Date.now()-e.getTime())/1e3;return r<60?"just now":r<3600?Math.floor(r/60)+"m ago":r<86400?Math.floor(r/3600)+"h ago":r<2592e3?Math.floor(r/86400)+"d ago":e.toLocaleDateString()};j.fromNow=t=>{let e=new Date(t);if(isNaN(e))return t;let r=(e.getTime()-Date.now())/1e3;return r<0?j.relative(t):r<60?"in a moment":r<3600?"in "+Math.floor(r/60)+"m":r<86400?"in "+Math.floor(r/3600)+"h":"in "+Math.floor(r/86400)+"d"};j.default=(t,e="")=>t==null||t===""?e:t;j.json=(t,e=2)=>JSON.stringify(t,null,e);j.debug=t=>(console.log("[No.JS debug]",t),t);j.keys=t=>t&&typeof t=="object"?Object.keys(t):[];j.values=t=>t&&typeof t=="object"?Object.values(t):[];K();I("state",{priority:0,init(t,e,r){let n=L(r,P())||{},o=t.parentElement?$(t.parentElement):null,i=P(n,o);t.__ctx=i;let s=t.getAttribute("persist"),a=t.getAttribute("persist-key");if(s&&a){let c=s==="localStorage"?localStorage:s==="sessionStorage"?sessionStorage:null;if(c){try{let l=c.getItem("nojs_state_"+a);if(l){let d=JSON.parse(l);for(let[f,p]of Object.entries(d))i.$set(f,p)}}catch{}i.$watch(()=>{try{c.setItem("nojs_state_"+a,JSON.stringify(i.__raw))}catch{}})}}Y("state",n)}});I("store",{priority:0,init(t,e,r){let n=t.getAttribute("value");if(r){if(!W[r]){let o=n?L(n,P())||{}:{};W[r]=P(o),at("store:created",{name:r,keys:Object.keys(o)})}Y("store",r)}}});I("computed",{priority:2,init(t,e,r){let n=t.getAttribute("expr");if(!r||!n)return;let o=$(t);function i(){let s=L(n,o);o.$set(r,s)}z(n,o,i),i()}});I("watch",{priority:2,init(t,e,r){let n=$(t),o=t.getAttribute("on:change"),i=L(r,n);z(r,n,()=>{let s=L(r,n);if(s!==i){let a=i;i=s,o&&tt(o,n,{$old:a,$new:s})}})}});K();var Pe=["get","post","put","patch","delete"];for(let t of Pe)I(t,{priority:1,init(e,r,n){let o=e.getAttribute("as")||"data",i=e.getAttribute("loading"),s=e.getAttribute("error"),a=e.getAttribute("empty"),c=e.getAttribute("success"),l=e.getAttribute("then"),d=e.getAttribute("redirect"),f=e.getAttribute("confirm"),p=parseInt(e.getAttribute("refresh"))||0,u=e.getAttribute("cached"),m=e.hasAttribute("cached")?u||"memory":"none",b=e.getAttribute("body"),x=e.getAttribute("headers"),A=e.getAttribute("var"),y=e.getAttribute("into"),E=parseInt(e.getAttribute("retry"))||g.retries,_=parseInt(e.getAttribute("retry-delay"))||g.retryDelay||1e3,C=e.getAttribute("params"),w=e.parentElement?$(e.parentElement):P(),v=e.__ctx||P({},w);e.__ctx=v;let B=[...e.childNodes].map(M=>M.cloneNode(!0)),S=null;async function N(){if(S&&S.abort(),S=new AbortController,f&&!window.confirm(f))return;let M=ht(n,v);if(C){let q=L(C,v);if(q&&typeof q=="object"){let D=M.includes("?")?"&":"?",H=new URLSearchParams(q).toString();H&&(M+=D+H)}}let dt=t+":"+M;if(t==="get"){let q=me(dt,m);if(q!=null){v.$set(o,q),pt(e),O(e);return}}if(i){let q=J(i);q&&(e.innerHTML="",e.appendChild(q),O(e))}try{let q=null;if(b){let T=ht(b,v);try{q=JSON.parse(T)}catch{q=T}}if(e.tagName==="FORM"){let T=new FormData(e);q=Object.fromEntries(T.entries())}let D=x?JSON.parse(x):{},H=g.retries,F=g.retryDelay;g.retries=E,g.retryDelay=_;let k;try{k=await Bt(M,t,q,D,e,S.signal)}finally{g.retries=H,g.retryDelay=F}if(t==="get"&&ge(dt,k,m),a&&(k==null||Array.isArray(k)&&k.length===0)){let T=J(a);T&&(e.innerHTML="",e.appendChild(T),O(e));return}if(v.$set(o,k),y&&(W[y]||(W[y]=P({})),W[y].$set(o,k),Tt()),c){let T=J(c);if(T){e.innerHTML="";let mt=document.getElementById(c.replace("#",""))?.getAttribute("var")||A||"result",ot=P({[mt]:k},v),Q=document.createElement("div");Q.style.display="contents",Q.__ctx=ot,Q.appendChild(T),e.appendChild(Q),O(Q)}}else{e.innerHTML="";for(let T of B)e.appendChild(T.cloneNode(!0));pt(e),O(e)}l&&tt(l,v,{result:k}),d&&G&&G.push(d),jt("fetch:success",{url:M,data:k}),at("fetch:success",{method:t,url:M})}catch(q){if(q.name==="AbortError")return;if(it(`${t.toUpperCase()} ${M} failed:`,q.message),jt("fetch:error",{url:M,error:q}),jt("error",{url:M,error:q}),at("fetch:error",{method:t,url:M,error:q.message}),s){let D=J(s);if(D){e.innerHTML="";let F=document.getElementById(s.replace("#",""))?.getAttribute("var")||"err",k=P({[F]:{message:q.message,status:q.status,body:q.body}},v),T=document.createElement("div");T.style.display="contents",T.__ctx=k,T.appendChild(D),e.appendChild(T),O(T)}}}}if(e.tagName==="FORM"&&t!=="get"?e.addEventListener("submit",M=>{M.preventDefault(),N()}):t==="get"?N():e.addEventListener("click",M=>{M.preventDefault(),N()}),/\{[^}]+\}/.test(n)){let D=function(){let F=ht(n,v);F!==dt&&(dt=F,q&&clearTimeout(q),M>0?q=setTimeout(N,M):N())},M=parseInt(e.getAttribute("debounce"))||0,dt=ht(n,v),q=null,H=w;for(;H&&H.__isProxy;)H.$watch(D),H=H.$parent}if(p>0){let M=setInterval(N,p);Z(()=>clearInterval(M))}}});K();I("bind",{priority:20,init(t,e,r){let n=$(t);function o(){let i=L(r,n);t.textContent=i!=null?String(i):""}z(r,n,o),o()}});I("bind-html",{priority:20,init(t,e,r){let n=$(t);function o(){let i=L(r,n);i!=null&&(t.innerHTML=he(String(i)))}z(r,n,o),o()}});I("bind-*",{priority:20,init(t,e,r){let n=e.replace("bind-",""),o=$(t);n==="value"&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.tagName==="SELECT")&&t.addEventListener("input",()=>{let s=t.type==="number"?Number(t.value):t.value;tt(`${r} = ${JSON.stringify(s)}`,o)});function i(){let s=L(r,o);if(["disabled","readonly","checked","selected","hidden","required"].includes(n)){s?t.setAttribute(n,""):t.removeAttribute(n),n in t&&(t[n]=!!s);return}s!=null?t.setAttribute(n,String(s)):t.removeAttribute(n)}z(r,o,i),i()}});I("model",{priority:20,init(t,e,r){let n=$(t),o=t.tagName,i=t.type;function s(){let c=L(r,n);o==="INPUT"&&i==="checkbox"?t.checked=!!c:o==="INPUT"&&i==="radio"?t.checked=t.value===String(c):t.value=c!=null?String(c):""}let a=o==="SELECT"||i==="checkbox"||i==="radio"?"change":"input";t.addEventListener(a,()=>{let c;i==="checkbox"?c=t.checked:i==="number"||i==="range"?c=Number(t.value):c=t.value,tt(`${r} = __val`,n,{__val:c})}),z(r,n,s),s()}});K();I("if",{priority:10,init(t,e,r){let n=$(t),o=t.getAttribute("then"),i=t.getAttribute("else"),s=t.getAttribute("animate-enter")||t.getAttribute("animate"),a=t.getAttribute("animate-leave"),c=t.getAttribute("transition"),l=parseInt(t.getAttribute("animate-duration"))||0,d=[...t.childNodes].map(m=>m.cloneNode(!0)),f;function p(){let m=!!L(r,n);m!==f&&(f=m,a||c?Mt(t,a,c,()=>u(m),l):u(m))}function u(m){if(m)if(o){let b=J(o);b&&(t.innerHTML="",t.appendChild(b))}else{t.innerHTML="";for(let b of d)t.appendChild(b.cloneNode(!0))}else if(i){let b=J(i);b&&(t.innerHTML="",t.appendChild(b))}else t.innerHTML="";pt(t),O(t),(s||c)&&St(t,s,c,l)}z(r,n,p),p()}});I("else-if",{priority:10,init(t,e,r){let n=$(t),o=t.getAttribute("then"),i=[...t.childNodes].map(a=>a.cloneNode(!0));function s(){let a=t.previousElementSibling;for(;a;){let l=a.getAttribute("if")||a.getAttribute("else-if");if(l){if(L(l,n)){t.innerHTML="",t.style.display="none";return}}else break;a=a.previousElementSibling}let c=!!L(r,n);if(t.style.display="",c){if(o){let l=J(o);l&&(t.innerHTML="",t.appendChild(l))}else{t.innerHTML="";for(let l of i)t.appendChild(l.cloneNode(!0))}pt(t),O(t)}else t.innerHTML=""}z(r,n,s),s()}});I("else",{priority:10,init(t){if(t.hasAttribute("if"))return;let e=$(t),r=t.getAttribute("then"),n=[...t.childNodes].map(i=>i.cloneNode(!0));function o(){let i=t.previousElementSibling;for(;i;){let s=i.getAttribute("if")||i.getAttribute("else-if");if(s){if(L(s,e)){t.innerHTML="",t.style.display="none";return}}else break;i=i.previousElementSibling}if(t.style.display="",r){let s=J(r);s&&(t.innerHTML="",t.appendChild(s))}else{t.innerHTML="";for(let s of n)t.appendChild(s.cloneNode(!0))}pt(t),O(t)}z("",e,o),o()}});I("show",{priority:20,init(t,e,r){let n=$(t),o=t.getAttribute("animate-enter")||t.getAttribute("animate"),i=t.getAttribute("animate-leave"),s=t.getAttribute("transition"),a=parseInt(t.getAttribute("animate-duration"))||0,c;function l(){let d=!!L(r,n);d!==c&&(c=d,d?(t.style.display="",(o||s)&&St(t,o,s,a)):i||s?Mt(t,i,s,()=>{t.style.display="none"},a):t.style.display="none")}z(r,n,l),l()}});I("hide",{priority:20,init(t,e,r){let n=$(t),o=t.getAttribute("animate-enter")||t.getAttribute("animate"),i=t.getAttribute("animate-leave"),s=t.getAttribute("transition"),a=parseInt(t.getAttribute("animate-duration"))||0,c;function l(){let d=!L(r,n);d!==c&&(c=d,d?(t.style.display="",(o||s)&&St(t,o,s,a)):i||s?Mt(t,i,s,()=>{t.style.display="none"},a):t.style.display="none")}z(r,n,l),l()}});I("switch",{priority:10,init(t,e,r){let n=$(t);function o(){let i=L(r,n),s=!1;for(let a of[...t.children]){let c=a.getAttribute("case"),l=a.hasAttribute("default"),d=a.getAttribute("then");if(c){let f=c.split(",").map(p=>L(p.trim(),n));if(!s&&f.includes(i)){if(s=!0,a.style.display="",d){let p=J(d);p&&(a.innerHTML="",a.appendChild(p)),a.__declared=!1,O(a)}}else a.style.display="none"}else if(l&&(a.style.display=s?"none":"",!s&&d)){let f=J(d);f&&(a.innerHTML="",a.appendChild(f)),a.__declared=!1,O(a)}}}z(r,n,o),o()}});K();I("each",{priority:10,init(t,e,r){let n=$(t),o=r.match(/^(\w+)\s+in\s+(\S+)$/);if(!o)return;let[,i,s]=o,a=t.getAttribute("template"),c=t.getAttribute("else"),l=t.getAttribute("key"),d=t.getAttribute("animate-enter")||t.getAttribute("animate"),f=t.getAttribute("animate-leave"),p=parseInt(t.getAttribute("animate-stagger"))||0,u=parseInt(t.getAttribute("animate-duration"))||0,m=null;function b(){let A=/[\[\]()\s+\-*\/!?:&|]/.test(s)?L(s,n):nt(s,n);if(!Array.isArray(A))return;if(A===m&&A.length>0&&t.children.length>0){for(let E of t.children)E.__ctx&&E.__ctx.$notify&&E.__ctx.$notify();return}if(m=A,A.length===0&&c){let E=J(c);E&&(t.innerHTML="",t.appendChild(E),O(t));return}let y=a?document.getElementById(a):null;if(y)if(f&&t.children.length>0){let E=[...t.children],_=E.length;E.forEach(C=>{let w=C.firstElementChild||C;w.classList.add(f);let v=()=>{w.classList.remove(f),_--,_<=0&&x(y,A)};w.addEventListener("animationend",v,{once:!0}),setTimeout(v,u||2e3)})}else x(y,A)}function x(A,y){let E=y.length;t.innerHTML="",y.forEach((_,C)=>{let w={[i]:_,$index:C,$count:E,$first:C===0,$last:C===E-1,$even:C%2===0,$odd:C%2!==0},v=P(w,n),B=A.content.cloneNode(!0),S=document.createElement("div");if(S.style.display="contents",S.__ctx=v,S.appendChild(B),t.appendChild(S),O(S),d){let N=S.firstElementChild;N&&(N.classList.add(d),N.addEventListener("animationend",()=>N.classList.remove(d),{once:!0}),p&&(N.style.animationDelay=C*p+"ms"))}})}z(r,n,b),b()}});I("foreach",{priority:10,init(t,e,r){let n=$(t),o=t.getAttribute("from"),i=t.getAttribute("index")||"$index",s=t.getAttribute("else"),a=t.getAttribute("filter"),c=t.getAttribute("sort"),l=parseInt(t.getAttribute("limit"))||1/0,d=parseInt(t.getAttribute("offset"))||0,f=t.getAttribute("template"),p=t.getAttribute("animate-enter")||t.getAttribute("animate"),u=t.getAttribute("animate-leave"),m=parseInt(t.getAttribute("animate-stagger"))||0,b=parseInt(t.getAttribute("animate-duration"))||0;if(!o||!r)return;let x=f?null:t.cloneNode(!0);function A(){let y=nt(o,n);if(!Array.isArray(y))return;if(a&&(y=y.filter((w,v)=>{let B=P({[r]:w,[i]:v},n);return!!L(a,B)})),c){let w=c.startsWith("-"),v=w?c.slice(1):c;y=[...y].sort((B,S)=>{let N=nt(v,B)??B?.[v],X=nt(v,S)??S?.[v],M=N<X?-1:N>X?1:0;return w?-M:M})}if(y=y.slice(d,d+l),y.length===0&&s){let w=J(s);w&&(t.innerHTML="",t.appendChild(w),O(t));return}let E=f?document.getElementById(f):null,_=y.length;function C(){t.innerHTML="",y.forEach((w,v)=>{let B={[r]:w,[i]:v,$index:v,$count:_,$first:v===0,$last:v===_-1,$even:v%2===0,$odd:v%2!==0},S=P(B,n),N;E?N=E.content.cloneNode(!0):N=x.cloneNode(!0);let X=document.createElement("div");if(X.style.display="contents",X.__ctx=S,X.appendChild(N),t.appendChild(X),O(X),p){let M=X.firstElementChild;M&&(M.classList.add(p),M.addEventListener("animationend",()=>M.classList.remove(p),{once:!0}),m&&(M.style.animationDelay=v*m+"ms"))}})}if(u&&t.children.length>0){let w=[...t.children],v=w.length;w.forEach(B=>{let S=B.firstElementChild||B;S.classList.add(u);let N=()=>{S.classList.remove(u),v--,v<=0&&C()};S.addEventListener("animationend",N,{once:!0}),setTimeout(N,b||2e3)})}else C()}z(o,n,A),A()}});K();ft();I("class-*",{priority:20,init(t,e,r){let n=e.replace("class-",""),o=$(t);if(n==="map"){let s=function(){let a=L(r,o);if(a&&typeof a=="object")for(let[c,l]of Object.entries(a))c.split(/\s+/).filter(Boolean).forEach(f=>t.classList.toggle(f,!!l))};z(r,o,s),s();return}if(n==="list"){let a=function(){let c=L(r,o);if(Array.isArray(c)){s.forEach(d=>{d&&t.classList.remove(d)});let l=c.filter(Boolean);l.forEach(d=>t.classList.add(d)),s=l}},s=[];z(r,o,a),a();return}function i(){t.classList.toggle(n,!!L(r,o))}z(r,o,i),(r.includes("$i18n")||r.includes("NoJS.locale"))&&kt(i),i()}});I("style-*",{priority:20,init(t,e,r){let n=e.replace("style-",""),o=$(t);if(n==="map"){let a=function(){let c=L(r,o);if(c&&typeof c=="object")for(let[l,d]of Object.entries(c))t.style[l]=d??""};z(r,o,a),a();return}let i=n.replace(/-([a-z])/g,(a,c)=>c.toUpperCase());function s(){let a=L(r,o);t.style[i]=a!=null?String(a):""}z(r,o,s),s()}});K();I("on:*",{priority:20,init(t,e,r){let n=$(t),o=e.replace("on:","").split("."),i=o[0],s=new Set(o.slice(1));if(i==="mounted"){requestAnimationFrame(()=>tt(r,n,{$el:t}));return}if(i==="init"){tt(r,n,{$el:t});return}if(i==="updated"){let f=new MutationObserver(()=>{tt(r,n,{$el:t})});f.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0}),Z(()=>f.disconnect());return}if(i==="error"){let f=p=>{(t.contains(p.target)||p.target===t)&&tt(r,n,{$el:t,$error:p.error||p.message})};window.addEventListener("error",f),Z(()=>window.removeEventListener("error",f));return}if(i==="unmounted"){let f=new MutationObserver(p=>{for(let u of p)for(let m of u.removedNodes)if(m===t||m.contains?.(t)){tt(r,n,{$el:t}),f.disconnect();return}});t.parentElement&&f.observe(t.parentElement,{childList:!0,subtree:!0}),Z(()=>f.disconnect());return}let a=0,c=0;for(let f of s)/^\d+$/.test(f)&&(s.has("debounce")?a=parseInt(f):s.has("throttle")&&(c=parseInt(f)));let l=f=>{if(i==="keydown"||i==="keyup"||i==="keypress"){let p=["enter","escape","tab","space","delete","backspace","up","down","left","right","ctrl","alt","shift","meta"];for(let u of s)if(p.includes(u)&&(u==="enter"&&f.key!=="Enter"||u==="escape"&&f.key!=="Escape"||u==="tab"&&f.key!=="Tab"||u==="space"&&f.key!==" "||u==="delete"&&f.key!=="Delete"&&f.key!=="Backspace"||u==="up"&&f.key!=="ArrowUp"||u==="down"&&f.key!=="ArrowDown"||u==="left"&&f.key!=="ArrowLeft"||u==="right"&&f.key!=="ArrowRight"||u==="ctrl"&&!f.ctrlKey||u==="alt"&&!f.altKey||u==="shift"&&!f.shiftKey||u==="meta"&&!f.metaKey))return}s.has("prevent")&&f.preventDefault(),s.has("stop")&&f.stopPropagation(),!(s.has("self")&&f.target!==t)&&tt(r,n,{$event:f,$el:t})};if(a>0){let f=l,p;l=u=>{clearTimeout(p),p=setTimeout(()=>f(u),a)}}if(c>0){let f=l,p=0;l=u=>{let m=Date.now();m-p>=c&&(p=m,f(u))}}let d={};s.has("once")&&(d.once=!0),t.addEventListener(i,l,d)}});I("trigger",{priority:20,init(t,e,r){let n=$(t),o=t.getAttribute("trigger-data");t.addEventListener("click",()=>{let i=o?L(o,n):null;t.dispatchEvent(new CustomEvent(r,{detail:i,bubbles:!0}))})}});K();I("ref",{priority:5,init(t,e,r){ut[r]=t,Z(()=>{ut[r]===t&&delete ut[r]})}});I("use",{priority:10,init(t,e,r){let n=$(t),o=J(r);if(!o)return;let i={};for(let d of[...t.attributes])if(d.name.startsWith("var-")){let f=d.name.replace("var-","");i[f]=L(d.value,n)}let s=P(i,n),a={};for(let d of[...t.children]){let f=d.getAttribute("slot")||"default";a[f]||(a[f]=document.createDocumentFragment()),a[f].appendChild(d.cloneNode(!0))}let c=o.querySelectorAll("slot");for(let d of c){let f=d.getAttribute("name")||"default";a[f]&&d.replaceWith(a[f])}t.innerHTML="";let l=document.createElement("div");l.style.display="contents",l.__ctx=s,l.appendChild(o),t.appendChild(l),O(l)}});I("call",{priority:20,init(t,e,r){let n=$(t),o=t.getAttribute("method")||"get",i=t.getAttribute("as"),s=t.getAttribute("into"),a=t.getAttribute("success"),c=t.getAttribute("error"),l=t.getAttribute("then"),d=t.getAttribute("confirm"),f=t.getAttribute("body");t.addEventListener("click",async p=>{if(p.preventDefault(),d&&!window.confirm(d))return;let u=ht(r,n);try{let m=null;if(f){let x=ht(f,n);try{m=JSON.parse(x)}catch{m=x}}let b=await Bt(u,o,m,{},t);if(i&&n.$set(i,b),i&&s&&(W[s]||(W[s]=P({})),W[s].$set(i,b),Tt()),l&&tt(l,n,{result:b}),a){let x=J(a);if(x){let y=document.getElementById(a.replace("#",""))?.getAttribute("var")||"result",E=P({[y]:b},n),_=t.closest("[route-view]")||t.parentElement,C=document.createElement("div");C.style.display="contents",C.__ctx=E,C.appendChild(x),_.appendChild(C),O(C)}}}catch(m){if(c){let b=J(c);if(b){let A=document.getElementById(c.replace("#",""))?.getAttribute("var")||"err",y=P({[A]:{message:m.message,status:m.status}},n),E=t.parentElement,_=document.createElement("div");_.style.display="contents",_.__ctx=y,_.appendChild(b),E.appendChild(_),O(_)}}}})}});K();function Ce(t,e,r){let n=e.split("|").map(o=>o.trim());for(let o of n){let[i,...s]=o.split(":"),a=Ct[i];if(a){let c=a(t,...s,r);if(c!==!0&&c)return c}else switch(i){case"required":if(t==null||String(t).trim()==="")return"Required";break;case"email":if(t&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t))return"Invalid email";break;case"url":try{new URL(t)}catch{return"Invalid URL"}break;case"min":if(Number(t)<Number(s[0]))return`Minimum value is ${s[0]}`;break;case"max":if(Number(t)>Number(s[0]))return`Maximum value is ${s[0]}`;break;case"between":{let c=Number(t);if(c<Number(s[0])||c>Number(s[1]))return`Must be between ${s[0]} and ${s[1]}`;break}case"match":if(t!==r[s[0]])return`Must match ${s[0]}`;break;case"phone":if(!/^[\d\s\-+()]{7,15}$/.test(t))return"Invalid phone number";break;case"cpf":if(!/^\d{3}\.?\d{3}\.?\d{3}-?\d{2}$/.test(t))return"Invalid CPF";break;case"cnpj":if(!/^\d{2}\.?\d{3}\.?\d{3}\/?\d{4}-?\d{2}$/.test(t))return"Invalid CNPJ";break;case"creditcard":if(!/^\d{13,19}$/.test(t.replace(/\s|-/g,"")))return"Invalid card number";break;case"custom":if(s[0]&&Ct[s[0]]){let c=Ct[s[0]](t,r);if(c!==!0&&c)return c}break}}return null}I("validate",{priority:30,init(t,e,r){let n=$(t);if(t.tagName==="FORM"){let i=function(){let s={},a={},c=!0;for(let l of t.querySelectorAll("input, textarea, select")){if(!l.name)continue;a[l.name]=l.value;let d=l.getAttribute("validate");if(d){let f=Ce(l.value,d,a);f&&(s[l.name]=f,c=!1)}l.checkValidity()||(s[l.name]=s[l.name]||l.validationMessage,c=!1)}o.valid=c,o.errors=s,o.values=a,n.$set("$form",{...o})},o={valid:!1,dirty:!1,touched:!1,submitting:!1,errors:{},values:{},reset:()=>{o.dirty=!1,o.touched=!1,t.reset(),i()}};n.$set("$form",o),t.addEventListener("input",()=>{o.dirty=!0,i()}),t.addEventListener("focusout",()=>{o.touched=!0,i()}),t.addEventListener("submit",()=>{o.submitting=!0,n.$set("$form",{...o}),requestAnimationFrame(()=>{o.submitting=!1,n.$set("$form",{...o})})}),requestAnimationFrame(i);return}if(r&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.tagName==="SELECT")){let o=t.getAttribute("error");t.addEventListener("input",()=>{let i=Ce(t.value,r,{});if(i&&o){let s=t.nextElementSibling?.__validationError?t.nextElementSibling:null;s||(s=document.createElement("div"),s.__validationError=!0,s.style.display="contents",t.parentNode.insertBefore(s,t.nextSibling));let a=J(o);if(a){let c=P({err:{message:i}},n);s.innerHTML="",s.__ctx=c,s.appendChild(a),O(s)}}else{let s=t.nextElementSibling?.__validationError?t.nextElementSibling:null;s&&(s.innerHTML="")}})}}});I("error-boundary",{priority:1,init(t,e,r){let n=$(t);function o(s){let a=J(r);if(a){let c=P({err:{message:s}},n);t.innerHTML="";let l=document.createElement("div");l.style.display="contents",l.__ctx=c,l.appendChild(a),t.appendChild(l),O(l)}}t.addEventListener("nojs:error",s=>{o(s.detail?.message||"An error occurred")});let i=s=>{(t.contains(s.target)||t===s.target)&&o(s.message||"An error occurred")};window.addEventListener("error",i),Z(()=>window.removeEventListener("error",i))}});ft();K();I("t",{priority:20,init(t,e,r){let n=$(t),o=t.hasAttribute("t-html");function i(){let s={};for(let c of[...t.attributes])if(c.name.startsWith("t-")&&c.name!=="t"&&c.name!=="t-html"){let l=c.name.replace("t-","");s[l]=L(c.value,n)??c.value}let a=U.t(r,s);o?t.innerHTML=a:t.textContent=a}z(r,n,i),kt(i),i()}});I("i18n-ns",{priority:1,init(t,e,r){if(!r)return;let n=document.createDocumentFragment();for(;t.firstChild;)n.appendChild(t.firstChild);Xt(r).then(()=>{t.appendChild(n),O(t),$t()})}});K();var h={dragging:null,selected:new Map,placeholder:null};function Ht(t){let e=0;for(let r of t.children){if(r.classList.contains("nojs-drop-placeholder"))continue;(r.style||{}).display==="contents"?e+=Ht(r):e++}return e}function te(){if(typeof document>"u"||document.querySelector("style[data-nojs-dnd]"))return;let t=`
|
|
24
|
+
`.trim(),e=document.createElement("style");e.setAttribute("data-nojs-animations",""),e.textContent=t,document.head.appendChild(e)}function St(t,e,r,n){Le();let o=n||1e3;if(e){let s=t.firstElementChild||t;s.classList.add(e),n&&(s.style.animationDuration=n+"ms"),s.addEventListener("animationend",()=>s.classList.remove(e),{once:!0})}if(r){let s=t.firstElementChild||t;s.classList.add(r+"-enter",r+"-enter-active"),requestAnimationFrame(()=>{s.classList.remove(r+"-enter"),s.classList.add(r+"-enter-to");let i=()=>{s.classList.remove(r+"-enter-active",r+"-enter-to")};s.addEventListener("transitionend",i,{once:!0}),setTimeout(i,o)})}}function Mt(t,e,r,n,o){Le();let s=o||2e3;if(!t.firstElementChild&&!t.childNodes.length){n();return}if(e){let i=t.firstElementChild||t;i.classList.add(e),o&&(i.style.animationDuration=o+"ms");let a=!1,c=()=>{a||(a=!0,i.classList.remove(e),n())};i.addEventListener("animationend",c,{once:!0}),setTimeout(c,s);return}if(r){let i=t.firstElementChild||t;i.classList.add(r+"-leave",r+"-leave-active"),requestAnimationFrame(()=>{i.classList.remove(r+"-leave"),i.classList.add(r+"-leave-to");let a=!1,c=()=>{a||(a=!0,i.classList.remove(r+"-leave-active",r+"-leave-to"),n())};i.addEventListener("transitionend",c,{once:!0}),setTimeout(c,s)});return}n()}function Ce(){let t=[],e={path:"",params:{},query:{},hash:""},r=new Set,n=new Map;function o(m){let f=t.find(b=>b.path===m);return f||(f={path:m,outlets:{}},t.push(f)),f}function s(m){let f={};return new URLSearchParams(m).forEach((b,g)=>{f[g]=b}),f}function i(m){for(let f of t){let b=[],g=f.path.replace(/:(\w+)/g,(y,v)=>(b.push(v),"([^/]+)")),h=new RegExp("^"+g+"$"),A=m.match(h);if(A){let y={};return b.forEach((v,x)=>{y[v]=A[x+1]}),{route:f,params:y}}}return null}async function a(m,f=!1){let b=m.indexOf("#"),g=b>=0?m.slice(b+1):"",h=b>=0?m.slice(0,b):m,[A,y=""]=h.split("?");e={path:A,params:{},query:s(y),hash:g?"#"+g:""};let v=i(A);if(v){e.params=v.params;let x=v.route.outlets?.default,C=x?.getAttribute("guard"),p=x?.getAttribute("redirect");if(C){let w=H({},null);if(w.__raw.$store=z,w.__raw.$route=e,!L(C,w)&&p){await a(p,!0);return}}}if(_.router.mode==="hash"){let x="#"+m;f?window.location.replace(x):window.location.hash=m}else{let x=_.router.base.replace(/\/$/,"")+m;f?window.history.replaceState({},"",x):window.history.pushState({},"",x)}if(await c(v),r.forEach(x=>x(e)),nt("route:navigate",{path:e.path,params:e.params,query:e.query,hash:e.hash}),e.hash){let x=e.hash.slice(1);requestAnimationFrame(()=>{let C=document.getElementById(x);C&&C.scrollIntoView({behavior:"smooth"})})}}async function c(m){let f=document.querySelectorAll("[route-view]");for(let g of f){let h=g.getAttribute("route-view"),A=h&&h.trim()!==""?h.trim():"default",y=m?.route?.outlets?.[A],v=_.router.templates||"";if(!y&&(g.hasAttribute("src")||v)){let C=(g.getAttribute("src")||v).replace(/\/?$/,"/"),p=g.getAttribute("ext")||_.router.ext||".html",w=g.getAttribute("route-index")||"index",D=e.path==="/"?w:e.path.replace(/^\//,""),I=C+D+p,S=A+":"+I;n.has(S)?y=n.get(S):(y=document.createElement("template"),y.setAttribute("src",I),y.setAttribute("route",e.path),document.body.appendChild(y),n.set(S,y),X("[ROUTER] File-based route:",e.path,"\u2192",I)),g.hasAttribute("i18n-ns")&&!y.getAttribute("i18n-ns")&&y.setAttribute("i18n-ns",D)}if(we(g),g.innerHTML="",y){y.getAttribute("src")&&!y.__srcLoaded&&(X("Loading route template on demand:",y.getAttribute("src")),await _t(y));let x=y.getAttribute("i18n-ns");if(x){let{_loadI18nNamespace:S}=await Promise.resolve().then(()=>(mt(),oe));await S(x)}let C=y.content.cloneNode(!0),p=H({$route:e},N(g)),w=document.createElement("div");w.style.display="contents",w.__ctx=p,y.content.__srcBase&&(w.__srcBase=y.content.__srcBase),w.appendChild(C),g.appendChild(w),Ot(w);let D=[...w.querySelectorAll("template[src]")];X("[ROUTER] nested templates found in wrapper:",D.length,D.map(S=>S.getAttribute("src")+(S.__srcLoaded?"[LOADED]":"[NEW]"))),await Promise.all(D.map(_t)),X("[ROUTER] all nested loads done for route:",e.path);let I=g.getAttribute("transition");I&&St(w,null,I),pt(w),R(w)}}document.querySelectorAll("[route]").forEach(g=>{let h=g.getAttribute("route"),A=g.getAttribute("route-active")||"active",y=g.getAttribute("route-active-exact");if(y)g.classList.toggle(y,e.path===h);else if(A&&!g.hasAttribute("route-active-exact")){let v=h==="/"?e.path==="/":e.path.startsWith(h);g.classList.toggle(A,v)}});let b=_.router.scrollBehavior;b==="top"?window.scrollTo(0,0):b==="smooth"&&window.scrollTo({top:0,behavior:"smooth"})}function l(m,f){f.scrollIntoView({behavior:"smooth"});let b='a[href="#'+m+'"]';document.querySelectorAll('a[href^="#"]').forEach(g=>{g.hasAttribute("route")||g.classList.toggle("active",g.matches(b))})}function d(){let m=document.querySelectorAll("[route-view]");for(let f of m){let b=f.getAttribute("src")||_.router.templates||"";if(!b)continue;let g=b.replace(/\/?$/,"/"),h=f.getAttribute("ext")||_.router.ext||".html",A=f.getAttribute("route-index")||"index",y=(f.getAttribute("route-view")||"").trim()||"default",v=new Map;document.querySelectorAll("[route]:not([route-view])").forEach(p=>{let w=p.getAttribute("route");if(!w)return;let D=w.split("?")[0].split("#")[0],I=p.getAttribute("lazy"),S=v.get(D);(!v.has(D)||I==="priority"||S==="ondemand"&&I!=="ondemand")&&v.set(D,I)});let x=[],C=[];for(let[p,w]of v){if(w==="ondemand"||p===e.path)continue;let D=p==="/"?A:p.replace(/^\//,""),I=g+D+h,S=y+":"+I;if(n.has(S))continue;let W=document.createElement("template");W.setAttribute("src",I),W.setAttribute("route",p),document.body.appendChild(W),n.set(S,W),X("[ROUTER] Prefetch:",p,"\u2192",I,w==="priority"?"(priority)":"(background)"),f.hasAttribute("i18n-ns")&&W.setAttribute("i18n-ns",D),w==="priority"?x.push(W):C.push(W)}(x.length||C.length)&&Promise.all(x.map(_t)).then(()=>{C.forEach(_t)})}}return{get current(){return e},push(m){return a(m)},replace(m){return a(m,!0)},back(){window.history.back()},forward(){window.history.forward()},on(m){return r.add(m),()=>r.delete(m)},register(m,f,b="default"){let g=o(m);g.outlets[b]=f},async init(){if(document.querySelectorAll("template[route]").forEach(m=>{let f=m.getAttribute("route"),b=m.getAttribute("outlet")||"default",g=o(f);g.outlets[b]=m}),document.addEventListener("click",m=>{let f=m.target.closest("[route]");if(f&&!f.hasAttribute("route-view")){m.preventDefault();let b=f.getAttribute("route");a(b);return}if(_.router.mode==="hash"){let b=m.target.closest('a[href^="#"]');if(b&&!b.hasAttribute("route")){let h=b.getAttribute("href").slice(1);if(h&&!h.startsWith("/")){let A=document.getElementById(h);A&&(m.preventDefault(),l(h,A))}}}}),_.router.mode==="hash"){window.addEventListener("hashchange",()=>{let f=window.location.hash.slice(1)||"/";if(!f.startsWith("/")){let g=document.getElementById(f);g&&(l(f,g),window.history.replaceState(null,"","#"+e.path));return}let[b]=f.split("?");b!==e.path&&a(f,!0)});let m=window.location.hash.slice(1)||"/";await a(m,!0)}else{window.addEventListener("popstate",()=>{let f=window.location.pathname.replace(_.router.base,"")||"/";a(f,!0)});let m=window.location.pathname.replace(_.router.base,"")||"/";await a(m,!0)}d()}}}J();B.uppercase=t=>String(t??"").toUpperCase();B.lowercase=t=>String(t??"").toLowerCase();B.capitalize=t=>String(t??"").replace(/\b\w/g,e=>e.toUpperCase());B.truncate=(t,e=100)=>{let r=String(t??"");return r.length>e?r.slice(0,e)+"...":r};B.trim=t=>String(t??"").trim();B.stripHtml=t=>String(t??"").replace(/<[^>]*>/g,"");B.slugify=t=>String(t??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");B.nl2br=t=>String(t??"").replace(/\n/g,"<br>");B.encodeUri=t=>encodeURIComponent(String(t??""));B.number=(t,e=0)=>{let r=Number(t);return isNaN(r)?t:r.toLocaleString(void 0,{minimumFractionDigits:e,maximumFractionDigits:e})};B.currency=(t,e="USD")=>{let r=Number(t);if(isNaN(r))return t;try{return r.toLocaleString(void 0,{style:"currency",currency:e})}catch{return`${e} ${r.toFixed(2)}`}};B.percent=(t,e=0)=>{let r=Number(t);return isNaN(r)?t:(r*100).toFixed(e)+"%"};B.filesize=t=>{let e=Number(t);if(isNaN(e))return t;let r=["B","KB","MB","GB","TB"],n=0,o=e;for(;o>=1024&&n<r.length-1;)o/=1024,n++;return o.toFixed(n>0?1:0)+" "+r[n]};B.ordinal=t=>{let e=Number(t);if(isNaN(e))return t;let r=["th","st","nd","rd"],n=e%100;return e+(r[(n-20)%10]||r[n]||r[0])};B.count=t=>Array.isArray(t)?t.length:0;B.first=t=>Array.isArray(t)?t[0]:t;B.last=t=>Array.isArray(t)?t[t.length-1]:t;B.join=(t,e=", ")=>Array.isArray(t)?t.join(e):t;B.reverse=t=>Array.isArray(t)?[...t].reverse():t;B.unique=t=>Array.isArray(t)?[...new Set(t)]:t;B.pluck=(t,e)=>Array.isArray(t)?t.map(r=>r?.[e]):t;B.sortBy=(t,e)=>{if(!Array.isArray(t))return t;let r=e?.startsWith("-"),n=r?e.slice(1):e;return[...t].sort((o,s)=>{let i=o?.[n],a=s?.[n],c=i<a?-1:i>a?1:0;return r?-c:c})};B.where=(t,e,r)=>Array.isArray(t)?t.filter(n=>n?.[e]===r):t;B.date=(t,e="short")=>{let r=new Date(t);if(isNaN(r))return t;let n=e==="long"?{dateStyle:"long"}:e==="full"?{dateStyle:"full"}:{dateStyle:"short"};return r.toLocaleDateString(void 0,n)};B.datetime=t=>{let e=new Date(t);return isNaN(e)?t:e.toLocaleString()};B.relative=t=>{let e=new Date(t);if(isNaN(e))return t;let r=(Date.now()-e.getTime())/1e3;return r<60?"just now":r<3600?Math.floor(r/60)+"m ago":r<86400?Math.floor(r/3600)+"h ago":r<2592e3?Math.floor(r/86400)+"d ago":e.toLocaleDateString()};B.fromNow=t=>{let e=new Date(t);if(isNaN(e))return t;let r=(e.getTime()-Date.now())/1e3;return r<0?B.relative(t):r<60?"in a moment":r<3600?"in "+Math.floor(r/60)+"m":r<86400?"in "+Math.floor(r/3600)+"h":"in "+Math.floor(r/86400)+"d"};B.default=(t,e="")=>t==null||t===""?e:t;B.json=(t,e=2)=>JSON.stringify(t,null,e);B.debug=t=>(console.log("[No.JS debug]",t),t);B.keys=t=>t&&typeof t=="object"?Object.keys(t):[];B.values=t=>t&&typeof t=="object"?Object.values(t):[];J();k("state",{priority:0,init(t,e,r){let n=L(r,H())||{},o=t.parentElement?N(t.parentElement):null,s=H(n,o);t.__ctx=s;let i=t.getAttribute("persist"),a=t.getAttribute("persist-key");if(i&&a){let c=i==="localStorage"?localStorage:i==="sessionStorage"?sessionStorage:null;if(c){try{let l=c.getItem("nojs_state_"+a);if(l){let d=JSON.parse(l);for(let[u,m]of Object.entries(d))s.$set(u,m)}}catch{}s.$watch(()=>{try{c.setItem("nojs_state_"+a,JSON.stringify(s.__raw))}catch{}})}}X("state",n)}});k("store",{priority:0,init(t,e,r){let n=t.getAttribute("value");if(r){if(!z[r]){let o=n?L(n,H())||{}:{};z[r]=H(o),nt("store:created",{name:r,keys:Object.keys(o)})}X("store",r)}}});k("computed",{priority:2,init(t,e,r){let n=t.getAttribute("expr");if(!r||!n)return;let o=N(t);function s(){let i=L(n,o);o.$set(r,i)}K(n,o,s),s()}});k("watch",{priority:2,init(t,e,r){let n=N(t),o=t.getAttribute("on:change"),s=L(r,n);K(r,n,()=>{let i=L(r,n);if(i!==s){let a=s;s=i,o&&tt(o,n,{$old:a,$new:i})}})}});J();var qe=["get","post","put","patch","delete"];for(let t of qe)k(t,{priority:1,init(e,r,n){let o=e.getAttribute("as")||"data",s=e.getAttribute("loading"),i=e.getAttribute("error"),a=e.getAttribute("empty"),c=e.getAttribute("success"),l=e.getAttribute("then"),d=e.getAttribute("redirect"),u=e.getAttribute("confirm"),m=parseInt(e.getAttribute("refresh"))||0,f=e.getAttribute("cached"),b=e.hasAttribute("cached")?f||"memory":"none",g=e.getAttribute("body"),h=e.getAttribute("headers"),A=e.getAttribute("var"),y=e.getAttribute("into"),v=parseInt(e.getAttribute("retry"))||_.retries,x=parseInt(e.getAttribute("retry-delay"))||_.retryDelay||1e3,C=e.getAttribute("params"),p=e.parentElement?N(e.parentElement):H(),w=e.__ctx||H({},p);e.__ctx=w;let D=[...e.childNodes].map(O=>O.cloneNode(!0)),I=null;async function S(){if(I&&I.abort(),I=new AbortController,u&&!window.confirm(u))return;let O=bt(n,w);if(C){let P=L(C,w);if(P&&typeof P=="object"){let $=O.includes("?")?"&":"?",M=new URLSearchParams(P).toString();M&&(O+=$+M)}}let ct=t+":"+O;if(t==="get"){let P=ge(ct,b);if(P!=null){w.$set(o,P),pt(e),R(e);return}}if(s){let P=V(s);P&&(e.innerHTML="",e.appendChild(P),R(e))}try{let P=null;if(g){let T=bt(g,w);try{P=JSON.parse(T)}catch{P=T}}if(e.tagName==="FORM"){let T=new FormData(e);P=Object.fromEntries(T.entries())}let $=h?JSON.parse(h):{},M=_.retries,q=_.retryDelay;_.retries=v,_.retryDelay=x;let j;try{j=await Bt(O,t,P,$,e,I.signal)}finally{_.retries=M,_.retryDelay=q}if(t==="get"&&he(ct,j,b),a&&(j==null||Array.isArray(j)&&j.length===0)){let T=V(a);T&&(e.innerHTML="",e.appendChild(T),R(e));return}if(w.$set(o,j),y&&(z[y]||(z[y]=H({})),z[y].$set(o,j),Tt()),c){let T=V(c);if(T){e.innerHTML="";let gt=document.getElementById(c.replace("#",""))?.getAttribute("var")||A||"result",st=H({[gt]:j},w),Q=document.createElement("div");Q.style.display="contents",Q.__ctx=st,Q.appendChild(T),e.appendChild(Q),R(Q)}}else{e.innerHTML="";for(let T of D)e.appendChild(T.cloneNode(!0));pt(e),R(e)}l&&tt(l,w,{result:j}),d&&G&&G.push(d),jt("fetch:success",{url:O,data:j}),nt("fetch:success",{method:t,url:O})}catch(P){if(P.name==="AbortError")return;if(at(`${t.toUpperCase()} ${O} failed:`,P.message),jt("fetch:error",{url:O,error:P}),jt("error",{url:O,error:P}),nt("fetch:error",{method:t,url:O,error:P.message}),i){let $=V(i);if($){e.innerHTML="";let q=document.getElementById(i.replace("#",""))?.getAttribute("var")||"err",j=H({[q]:{message:P.message,status:P.status,body:P.body}},w),T=document.createElement("div");T.style.display="contents",T.__ctx=j,T.appendChild($),e.appendChild(T),R(T)}}}}if(e.tagName==="FORM"&&t!=="get"?e.addEventListener("submit",O=>{O.preventDefault(),S()}):t==="get"?S():e.addEventListener("click",O=>{O.preventDefault(),S()}),/\{[^}]+\}/.test(n)){let $=function(){let q=bt(n,w);q!==ct&&(ct=q,P&&clearTimeout(P),O>0?P=setTimeout(S,O):S())},O=parseInt(e.getAttribute("debounce"))||0,ct=bt(n,w),P=null,M=p;for(;M&&M.__isProxy;)M.$watch($),M=M.$parent}if(m>0){let O=setInterval(S,m);Z(()=>clearInterval(O))}}});J();k("bind",{priority:20,init(t,e,r){let n=N(t);function o(){let s=L(r,n);t.textContent=s!=null?String(s):""}K(r,n,o),o()}});k("bind-html",{priority:20,init(t,e,r){let n=N(t);function o(){let s=L(r,n);s!=null&&(t.innerHTML=be(String(s)))}K(r,n,o),o()}});k("bind-*",{priority:20,init(t,e,r){let n=e.replace("bind-",""),o=N(t);n==="value"&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.tagName==="SELECT")&&t.addEventListener("input",()=>{let i=t.type==="number"?Number(t.value):t.value;tt(`${r} = ${JSON.stringify(i)}`,o)});function s(){let i=L(r,o);if(["disabled","readonly","checked","selected","hidden","required"].includes(n)){i?t.setAttribute(n,""):t.removeAttribute(n),n in t&&(t[n]=!!i);return}i!=null?t.setAttribute(n,String(i)):t.removeAttribute(n)}K(r,o,s),s()}});k("model",{priority:20,init(t,e,r){let n=N(t),o=t.tagName,s=t.type;function i(){let c=L(r,n);o==="INPUT"&&s==="checkbox"?t.checked=!!c:o==="INPUT"&&s==="radio"?t.checked=t.value===String(c):t.value=c!=null?String(c):""}let a=o==="SELECT"||s==="checkbox"||s==="radio"?"change":"input";t.addEventListener(a,()=>{let c;s==="checkbox"?c=t.checked:s==="number"||s==="range"?c=Number(t.value):c=t.value,tt(`${r} = __val`,n,{__val:c})}),K(r,n,i),i()}});J();k("if",{priority:10,init(t,e,r){let n=N(t),o=t.getAttribute("then"),s=t.getAttribute("else"),i=t.getAttribute("animate-enter")||t.getAttribute("animate"),a=t.getAttribute("animate-leave"),c=t.getAttribute("transition"),l=parseInt(t.getAttribute("animate-duration"))||0,d=[...t.childNodes].map(b=>b.cloneNode(!0)),u;function m(){let b=!!L(r,n);b!==u&&(u=b,a||c?Mt(t,a,c,()=>f(b),l):f(b))}function f(b){if(b)if(o){let g=V(o);g&&(t.innerHTML="",t.appendChild(g))}else{t.innerHTML="";for(let g of d)t.appendChild(g.cloneNode(!0))}else if(s){let g=V(s);g&&(t.innerHTML="",t.appendChild(g))}else t.innerHTML="";pt(t),R(t),(i||c)&&St(t,i,c,l)}K(r,n,m),m()}});k("else-if",{priority:10,init(t,e,r){let n=N(t),o=t.getAttribute("then"),s=[...t.childNodes].map(a=>a.cloneNode(!0));function i(){let a=t.previousElementSibling;for(;a;){let l=a.getAttribute("if")||a.getAttribute("else-if");if(l){if(L(l,n)){t.innerHTML="",t.style.display="none";return}}else break;a=a.previousElementSibling}let c=!!L(r,n);if(t.style.display="",c){if(o){let l=V(o);l&&(t.innerHTML="",t.appendChild(l))}else{t.innerHTML="";for(let l of s)t.appendChild(l.cloneNode(!0))}pt(t),R(t)}else t.innerHTML=""}K(r,n,i),i()}});k("else",{priority:10,init(t){if(t.hasAttribute("if"))return;let e=N(t),r=t.getAttribute("then"),n=[...t.childNodes].map(s=>s.cloneNode(!0));function o(){let s=t.previousElementSibling;for(;s;){let i=s.getAttribute("if")||s.getAttribute("else-if");if(i){if(L(i,e)){t.innerHTML="",t.style.display="none";return}}else break;s=s.previousElementSibling}if(t.style.display="",r){let i=V(r);i&&(t.innerHTML="",t.appendChild(i))}else{t.innerHTML="";for(let i of n)t.appendChild(i.cloneNode(!0))}pt(t),R(t)}K("",e,o),o()}});k("show",{priority:20,init(t,e,r){let n=N(t),o=t.getAttribute("animate-enter")||t.getAttribute("animate"),s=t.getAttribute("animate-leave"),i=t.getAttribute("transition"),a=parseInt(t.getAttribute("animate-duration"))||0,c;function l(){let d=!!L(r,n);d!==c&&(c=d,d?(t.style.display="",(o||i)&&St(t,o,i,a)):s||i?Mt(t,s,i,()=>{t.style.display="none"},a):t.style.display="none")}K(r,n,l),l()}});k("hide",{priority:20,init(t,e,r){let n=N(t),o=t.getAttribute("animate-enter")||t.getAttribute("animate"),s=t.getAttribute("animate-leave"),i=t.getAttribute("transition"),a=parseInt(t.getAttribute("animate-duration"))||0,c;function l(){let d=!L(r,n);d!==c&&(c=d,d?(t.style.display="",(o||i)&&St(t,o,i,a)):s||i?Mt(t,s,i,()=>{t.style.display="none"},a):t.style.display="none")}K(r,n,l),l()}});k("switch",{priority:10,init(t,e,r){let n=N(t);function o(){let s=L(r,n),i=!1;for(let a of[...t.children]){let c=a.getAttribute("case"),l=a.hasAttribute("default"),d=a.getAttribute("then");if(c){let u=c.split(",").map(m=>L(m.trim(),n));if(!i&&u.includes(s)){if(i=!0,a.style.display="",d){let m=V(d);m&&(a.innerHTML="",a.appendChild(m)),a.__declared=!1,R(a)}}else a.style.display="none"}else if(l&&(a.style.display=i?"none":"",!i&&d)){let u=V(d);u&&(a.innerHTML="",a.appendChild(u)),a.__declared=!1,R(a)}}}K(r,n,o),o()}});J();k("each",{priority:10,init(t,e,r){let n=N(t),o=r.match(/^(\w+)\s+in\s+(\S+)$/);if(!o)return;let[,s,i]=o,a=t.getAttribute("template"),c=t.getAttribute("else"),l=t.getAttribute("key"),d=t.getAttribute("animate-enter")||t.getAttribute("animate"),u=t.getAttribute("animate-leave"),m=parseInt(t.getAttribute("animate-stagger"))||0,f=parseInt(t.getAttribute("animate-duration"))||0,b=null;function g(){let A=/[\[\]()\s+\-*\/!?:&|]/.test(i)?L(i,n):ot(i,n);if(!Array.isArray(A))return;if(A===b&&A.length>0&&t.children.length>0){for(let v of t.children)v.__ctx&&v.__ctx.$notify&&v.__ctx.$notify();return}if(b=A,A.length===0&&c){let v=V(c);v&&(t.innerHTML="",t.appendChild(v),R(t));return}let y=a?document.getElementById(a):null;if(y)if(u&&t.children.length>0){let v=[...t.children],x=v.length;v.forEach(C=>{let p=C.firstElementChild||C;p.classList.add(u);let w=()=>{p.classList.remove(u),x--,x<=0&&h(y,A)};p.addEventListener("animationend",w,{once:!0}),setTimeout(w,f||2e3)})}else h(y,A)}function h(A,y){let v=y.length;t.innerHTML="",y.forEach((x,C)=>{let p={[s]:x,$index:C,$count:v,$first:C===0,$last:C===v-1,$even:C%2===0,$odd:C%2!==0},w=H(p,n),D=A.content.cloneNode(!0),I=document.createElement("div");if(I.style.display="contents",I.__ctx=w,I.appendChild(D),t.appendChild(I),R(I),d){let S=I.firstElementChild;S&&(S.classList.add(d),S.addEventListener("animationend",()=>S.classList.remove(d),{once:!0}),m&&(S.style.animationDelay=C*m+"ms"))}})}K(r,n,g),g()}});k("foreach",{priority:10,init(t,e,r){let n=N(t),o=t.getAttribute("from"),s=t.getAttribute("index")||"$index",i=t.getAttribute("else"),a=t.getAttribute("filter"),c=t.getAttribute("sort"),l=parseInt(t.getAttribute("limit"))||1/0,d=parseInt(t.getAttribute("offset"))||0,u=t.getAttribute("template"),m=t.getAttribute("animate-enter")||t.getAttribute("animate"),f=t.getAttribute("animate-leave"),b=parseInt(t.getAttribute("animate-stagger"))||0,g=parseInt(t.getAttribute("animate-duration"))||0;if(!o||!r)return;let h=u?null:t.cloneNode(!0);function A(){let y=ot(o,n);if(!Array.isArray(y))return;if(a&&(y=y.filter((p,w)=>{let D=H({[r]:p,[s]:w},n);return!!L(a,D)})),c){let p=c.startsWith("-"),w=p?c.slice(1):c;y=[...y].sort((D,I)=>{let S=ot(w,D)??D?.[w],W=ot(w,I)??I?.[w],O=S<W?-1:S>W?1:0;return p?-O:O})}if(y=y.slice(d,d+l),y.length===0&&i){let p=V(i);p&&(t.innerHTML="",t.appendChild(p),R(t));return}let v=u?document.getElementById(u):null,x=y.length;function C(){t.innerHTML="",y.forEach((p,w)=>{let D={[r]:p,[s]:w,$index:w,$count:x,$first:w===0,$last:w===x-1,$even:w%2===0,$odd:w%2!==0},I=H(D,n),S;v?S=v.content.cloneNode(!0):S=h.cloneNode(!0);let W=document.createElement("div");if(W.style.display="contents",W.__ctx=I,W.appendChild(S),t.appendChild(W),R(W),m){let O=W.firstElementChild;O&&(O.classList.add(m),O.addEventListener("animationend",()=>O.classList.remove(m),{once:!0}),b&&(O.style.animationDelay=w*b+"ms"))}})}if(f&&t.children.length>0){let p=[...t.children],w=p.length;p.forEach(D=>{let I=D.firstElementChild||D;I.classList.add(f);let S=()=>{I.classList.remove(f),w--,w<=0&&C()};I.addEventListener("animationend",S,{once:!0}),setTimeout(S,g||2e3)})}else C()}K(o,n,A),A()}});J();mt();k("class-*",{priority:20,init(t,e,r){let n=e.replace("class-",""),o=N(t);if(n==="map"){let i=function(){let a=L(r,o);if(a&&typeof a=="object")for(let[c,l]of Object.entries(a))c.split(/\s+/).filter(Boolean).forEach(u=>t.classList.toggle(u,!!l))};K(r,o,i),i();return}if(n==="list"){let a=function(){let c=L(r,o);if(Array.isArray(c)){i.forEach(d=>{d&&t.classList.remove(d)});let l=c.filter(Boolean);l.forEach(d=>t.classList.add(d)),i=l}},i=[];K(r,o,a),a();return}function s(){t.classList.toggle(n,!!L(r,o))}K(r,o,s),(r.includes("$i18n")||r.includes("NoJS.locale"))&&Nt(s),s()}});k("style-*",{priority:20,init(t,e,r){let n=e.replace("style-",""),o=N(t);if(n==="map"){let a=function(){let c=L(r,o);if(c&&typeof c=="object")for(let[l,d]of Object.entries(c))t.style[l]=d??""};K(r,o,a),a();return}let s=n.replace(/-([a-z])/g,(a,c)=>c.toUpperCase());function i(){let a=L(r,o);t.style[s]=a!=null?String(a):""}K(r,o,i),i()}});J();k("on:*",{priority:20,init(t,e,r){let n=N(t),o=e.replace("on:","").split("."),s=o[0],i=new Set(o.slice(1));if(s==="mounted"){requestAnimationFrame(()=>tt(r,n,{$el:t}));return}if(s==="init"){tt(r,n,{$el:t});return}if(s==="updated"){let u=new MutationObserver(()=>{tt(r,n,{$el:t})});u.observe(t,{childList:!0,subtree:!0,characterData:!0,attributes:!0}),Z(()=>u.disconnect());return}if(s==="error"){let u=m=>{(t.contains(m.target)||m.target===t)&&tt(r,n,{$el:t,$error:m.error||m.message})};window.addEventListener("error",u),Z(()=>window.removeEventListener("error",u));return}if(s==="unmounted"){let u=new MutationObserver(m=>{for(let f of m)for(let b of f.removedNodes)if(b===t||b.contains?.(t)){tt(r,n,{$el:t}),u.disconnect();return}});t.parentElement&&u.observe(t.parentElement,{childList:!0,subtree:!0}),Z(()=>u.disconnect());return}let a=0,c=0;for(let u of i)/^\d+$/.test(u)&&(i.has("debounce")?a=parseInt(u):i.has("throttle")&&(c=parseInt(u)));let l=u=>{if(s==="keydown"||s==="keyup"||s==="keypress"){let m=["enter","escape","tab","space","delete","backspace","up","down","left","right","ctrl","alt","shift","meta"];for(let f of i)if(m.includes(f)&&(f==="enter"&&u.key!=="Enter"||f==="escape"&&u.key!=="Escape"||f==="tab"&&u.key!=="Tab"||f==="space"&&u.key!==" "||f==="delete"&&u.key!=="Delete"&&u.key!=="Backspace"||f==="up"&&u.key!=="ArrowUp"||f==="down"&&u.key!=="ArrowDown"||f==="left"&&u.key!=="ArrowLeft"||f==="right"&&u.key!=="ArrowRight"||f==="ctrl"&&!u.ctrlKey||f==="alt"&&!u.altKey||f==="shift"&&!u.shiftKey||f==="meta"&&!u.metaKey))return}i.has("prevent")&&u.preventDefault(),i.has("stop")&&u.stopPropagation(),!(i.has("self")&&u.target!==t)&&tt(r,n,{$event:u,$el:t})};if(a>0){let u=l,m;l=f=>{clearTimeout(m),m=setTimeout(()=>u(f),a)}}if(c>0){let u=l,m=0;l=f=>{let b=Date.now();b-m>=c&&(m=b,u(f))}}let d={};i.has("once")&&(d.once=!0),t.addEventListener(s,l,d)}});k("trigger",{priority:20,init(t,e,r){let n=N(t),o=t.getAttribute("trigger-data");t.addEventListener("click",()=>{let s=o?L(o,n):null;t.dispatchEvent(new CustomEvent(r,{detail:s,bubbles:!0}))})}});J();k("ref",{priority:5,init(t,e,r){ft[r]=t,Z(()=>{ft[r]===t&&delete ft[r]})}});k("use",{priority:10,init(t,e,r){let n=N(t),o=V(r);if(!o)return;let s={};for(let d of[...t.attributes])if(d.name.startsWith("var-")){let u=d.name.replace("var-","");s[u]=L(d.value,n)}let i=H(s,n),a={};for(let d of[...t.children]){let u=d.getAttribute("slot")||"default";a[u]||(a[u]=document.createDocumentFragment()),a[u].appendChild(d.cloneNode(!0))}let c=o.querySelectorAll("slot");for(let d of c){let u=d.getAttribute("name")||"default";a[u]&&d.replaceWith(a[u])}t.innerHTML="";let l=document.createElement("div");l.style.display="contents",l.__ctx=i,l.appendChild(o),t.appendChild(l),R(l)}});k("call",{priority:20,init(t,e,r){let n=N(t),o=t.getAttribute("method")||"get",s=t.getAttribute("as"),i=t.getAttribute("into"),a=t.getAttribute("success"),c=t.getAttribute("error"),l=t.getAttribute("then"),d=t.getAttribute("confirm"),u=t.getAttribute("body");t.addEventListener("click",async m=>{if(m.preventDefault(),d&&!window.confirm(d))return;let f=bt(r,n);try{let b=null;if(u){let h=bt(u,n);try{b=JSON.parse(h)}catch{b=h}}let g=await Bt(f,o,b,{},t);if(s&&n.$set(s,g),s&&i&&(z[i]||(z[i]=H({})),z[i].$set(s,g),Tt()),l&&tt(l,n,{result:g}),a){let h=V(a);if(h){let y=document.getElementById(a.replace("#",""))?.getAttribute("var")||"result",v=H({[y]:g},n),x=t.closest("[route-view]")||t.parentElement,C=document.createElement("div");C.style.display="contents",C.__ctx=v,C.appendChild(h),x.appendChild(C),R(C)}}}catch(b){if(c){let g=V(c);if(g){let A=document.getElementById(c.replace("#",""))?.getAttribute("var")||"err",y=H({[A]:{message:b.message,status:b.status}},n),v=t.parentElement,x=document.createElement("div");x.style.display="contents",x.__ctx=y,x.appendChild(g),v.appendChild(x),R(x)}}}})}});J();var Fe=[["valueMissing","required"],["typeMismatch",null],["tooShort","minlength"],["tooLong","maxlength"],["patternMismatch","pattern"],["rangeUnderflow","min"],["rangeOverflow","max"],["stepMismatch","step"]],Te=["required","email","url","number","date","time","datetime-local","month","week","tel","minlength","maxlength","pattern","min","max","step"];function Ue(t){return(t.getAttribute("type")||"text").toLowerCase()}function We(t,e){let r=[],n=new Set,o=t.getAttribute("validate");if(o){let i=o.split("|").map(a=>a.trim());for(let a of i){let[c,...l]=a.split(":"),d=ut[c];if(d){let u=d(t.value,...l,e);u!==!0&&u&&(r.push({rule:c,message:u}),n.add(c))}else{let u=t.value,m=null;switch(c){case"required":(u==null||String(u).trim()==="")&&(m="Required");break;case"email":u&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(u)&&(m="Invalid email");break;case"url":try{new URL(u)}catch{m="Invalid URL"}break;case"min":Number(u)<Number(l[0])&&(m=`Minimum value is ${l[0]}`);break;case"max":Number(u)>Number(l[0])&&(m=`Maximum value is ${l[0]}`);break;case"custom":if(l[0]&&ut[l[0]]){let f=ut[l[0]](u,e);f!==!0&&f&&(m=f)}break}m&&(r.push({rule:c,message:m}),n.add(c))}}}let s=t.validity;if(s&&!s.valid){for(let[i,a]of Fe)if(s[i]){let c=a||Ue(t);n.has(c)||(r.push({rule:c,message:t.validationMessage}),n.add(c))}}return r}function ze(t,e,r){let n=t.getAttribute(`error-${e}`);if(n)return n;let o=t.getAttribute("error");return o&&!o.startsWith("#")?o:r}function Ke(t,e){if(!t.length)return null;let n=[...t].sort((o,s)=>{let i=Te.indexOf(o.rule),a=Te.indexOf(s.rule);return(i===-1?999:i)-(a===-1?999:a)})[0];return{rule:n.rule,message:ze(e,n.rule,n.message)}}function Je(t,e,r,n,o){te(n);let s=document.querySelector(t);if(!s)return;let i=s.content.cloneNode(!0),a=document.createElement("div");a.style.display="contents",a.__errorTemplateFor=n;let c=H({$error:e,$rule:r},o);a.__ctx=c,a.appendChild(i),s.parentNode.insertBefore(a,s.nextSibling),R(a)}function te(t){let e=document.querySelector('div[style="display: contents;"]'),r=document.querySelectorAll('div[style="display: contents;"]');for(let n of r)n.__errorTemplateFor===t&&n.remove()}function Ve(t,e){let r=t.getAttribute("validate-if");if(!r)return!0;try{return!!L(r,e)}catch{return!0}}function Xe(t,e){let r=t.getAttribute("validate-on");if(r)return r.split(/\s+/);let n=e?e.getAttribute("validate-on"):null;return n?n.split(/\s+/):["input","focusout"]}function Ye(t,e,r){let n=e.split("|").map(o=>o.trim());for(let o of n){let[s,...i]=o.split(":"),a=ut[s];if(a){let c=a(t,...i,r);if(c!==!0&&c)return c}else switch(s){case"required":if(t==null||String(t).trim()==="")return"Required";break;case"email":if(t&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t))return"Invalid email";break;case"url":try{new URL(t)}catch{return"Invalid URL"}break;case"min":if(Number(t)<Number(i[0]))return`Minimum value is ${i[0]}`;break;case"max":if(Number(t)>Number(i[0]))return`Maximum value is ${i[0]}`;break;case"custom":if(i[0]&&ut[i[0]]){let c=ut[i[0]](t,r);if(c!==!0&&c)return c}break}}return null}k("validate",{priority:30,init(t,e,r){let n=N(t);if(t.tagName==="FORM"){let l=function(){return t.querySelectorAll("input, textarea, select")},d=function(){let g={},h={},A={},y=!0,v=null,x=0,C=!1;for(let p of l())p.name&&(p.type==="checkbox"?h[p.name]=p.checked:p.type==="radio"?p.checked?h[p.name]=p.value:p.name in h||(h[p.name]=""):h[p.name]=p.value);for(let p of l()){if(!p.name)continue;let w=s.has(p.name),D=i.has(p.name);if(!Ve(p,n)){A[p.name]={valid:!0,dirty:D,touched:w,error:null,value:h[p.name]};continue}let I=We(p,h),S=Ke(I,p),W=!S,O=w||D;W||(y=!1),!W&&O&&(g[p.name]=S.message,x++,v||(v=S.message)),A[p.name]={valid:W,dirty:D,touched:w,error:S?S.message:null,value:h[p.name]};let ct=p.getAttribute("error-class")||o;if(ct){let $=ct.split(/\s+/);!W&&O?p.classList.add(...$):p.classList.remove(...$)}if(S&&O){let $=p.getAttribute(`error-${S.rule}`),M=p.getAttribute("error"),q=($&&$.startsWith("#")?$:null)||(M&&M.startsWith("#")?M:null);q?Je(q,S.message,S.rule,p,n):te(p)}else te(p);let P=p.getAttribute("as");P&&n.$set(P,A[p.name])}a.size>0&&(C=!0),c.valid=y,c.errors=g,c.values=h,c.fields=A,c.firstError=v,c.errorCount=x,c.pending=C,n.$set("$form",{...c}),u(t,y&&!C)},u=function(g,h){let A=g.querySelectorAll('button:not([type="button"]), input[type="submit"]');for(let y of A){if(y.hasAttribute("disabled")&&y.getAttribute("disabled")!==""){let v=y.getAttribute("disabled");if(v!=="disabled"&&v!=="true"&&v!=="false")continue}y.disabled=!h,y.__autoDisabled=!0}},m=function(g){if(!g.name)return;let h=Xe(g,t),A=()=>{i.add(g.name),c.dirty=!0,d()},y=()=>{s.add(g.name),c.touched=!0,d()};h.includes("input")?g.addEventListener("input",A):g.addEventListener("input",()=>{i.add(g.name),c.dirty=!0,d()}),h.includes("blur")||h.includes("focusout")?g.addEventListener("focusout",v=>{y(),h.includes("blur")&&A()}):g.addEventListener("focusout",y),h.includes("submit")&&g.addEventListener("focusout",y)};t.setAttribute("novalidate","");let o=t.getAttribute("error-class"),s=new Set,i=new Set,a=new Map,c={valid:!1,dirty:!1,touched:!1,submitting:!1,pending:!1,errors:{},values:{},firstError:null,errorCount:0,fields:{},reset:()=>{c.dirty=!1,c.touched=!1,c.pending=!1,s.clear(),i.clear(),t.reset(),d()}};n.$set("$form",c);let f=t.hasAttribute("validate-on"),b=[...l()].some(g=>g.hasAttribute("validate-on"));if(!f&&!b){let g=h=>{let A=h.target;A&&A.name&&i.add(A.name),c.dirty=!0,d()};t.addEventListener("input",g),t.addEventListener("change",g),t.addEventListener("focusout",h=>{h.target&&h.target.name&&s.add(h.target.name),c.touched=!0,d()})}else for(let g of l())m(g);t.addEventListener("submit",g=>{c.submitting=!0;for(let h of l())h.name&&s.add(h.name);c.touched=!0,d(),n.$set("$form",{...c}),requestAnimationFrame(()=>{c.submitting=!1,n.$set("$form",{...c})})}),requestAnimationFrame(d);return}if(r&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.tagName==="SELECT")){let o=t.getAttribute("error");t.addEventListener("input",()=>{let s=Ye(t.value,r,{});if(s&&o){let i=t.nextElementSibling?.__validationError?t.nextElementSibling:null;i||(i=document.createElement("div"),i.__validationError=!0,i.style.display="contents",t.parentNode.insertBefore(i,t.nextSibling));let a=V(o);if(a){let c=H({err:{message:s}},n);i.innerHTML="",i.__ctx=c,i.appendChild(a),R(i)}}else{let i=t.nextElementSibling?.__validationError?t.nextElementSibling:null;i&&(i.innerHTML="")}})}}});k("error-boundary",{priority:1,init(t,e,r){let n=N(t);function o(i){let a=V(r);if(a){let c=H({err:{message:i}},n);t.innerHTML="";let l=document.createElement("div");l.style.display="contents",l.__ctx=c,l.appendChild(a),t.appendChild(l),R(l)}}t.addEventListener("nojs:error",i=>{o(i.detail?.message||"An error occurred")});let s=i=>{(t.contains(i.target)||t===i.target)&&o(i.message||"An error occurred")};window.addEventListener("error",s),Z(()=>window.removeEventListener("error",s))}});mt();J();k("t",{priority:20,init(t,e,r){let n=N(t),o=t.hasAttribute("t-html");function s(){let i={};for(let c of[...t.attributes])if(c.name.startsWith("t-")&&c.name!=="t"&&c.name!=="t-html"){let l=c.name.replace("t-","");i[l]=L(c.value,n)??c.value}let a=U.t(r,i);o?t.innerHTML=a:t.textContent=a}K(r,n,s),Nt(s),s()}});k("i18n-ns",{priority:1,init(t,e,r){if(!r)return;let n=document.createDocumentFragment();for(;t.firstChild;)n.appendChild(t.firstChild);Vt(r).then(()=>{t.appendChild(n),R(t),$t()})}});J();var E={dragging:null,selected:new Map,placeholder:null};function Rt(t){let e=0;for(let r of t.children){if(r.classList.contains("nojs-drop-placeholder"))continue;(r.style||{}).display==="contents"?e+=Rt(r):e++}return e}function ee(){if(typeof document>"u"||document.querySelector("style[data-nojs-dnd]"))return;let t=`
|
|
25
25
|
.nojs-dragging {
|
|
26
26
|
opacity: 0.5;
|
|
27
27
|
cursor: grabbing !important;
|
|
@@ -60,5 +60,5 @@ ${f}`)(e,d,...a),typeof t=="string"&&t.includes("$store")&&Tt()}catch(n){it("Exp
|
|
|
60
60
|
.nojs-drag-list-empty {
|
|
61
61
|
min-height: 3rem;
|
|
62
62
|
}
|
|
63
|
-
`.trim(),e=document.createElement("style");e.setAttribute("data-nojs-dnd",""),e.textContent=t,document.head.appendChild(e)}function Rt(t,e,r,n){let o=[...t.children].filter(i=>!i.classList.contains("nojs-drop-placeholder"));if(o.length===0)return 0;for(let i=0;i<o.length;i++){let a=(o[i].style&&o[i].style.display==="contents"&&o[i].firstElementChild||o[i]).getBoundingClientRect();if(n==="horizontal"){let c=a.left+a.width/2;if(e<c)return i}else if(n==="grid"){let c=a.left+a.width/2,l=a.top+a.height/2;if(r<l&&e<c||r<a.top+a.height&&e<c)return i}else{let c=a.top+a.height/2;if(r<c)return i}}return o.length}function Se(t,e,r,n){lt();let o;if(r==="auto"){if(o=document.createElement("div"),o.className=n||"nojs-drop-placeholder",h.dragging&&h.dragging.sourceEl){let a=(h.dragging.sourceEl.firstElementChild||h.dragging.sourceEl).getBoundingClientRect();a.height>0&&(o.style.height=a.height+"px"),a.width>0&&(o.style.width=a.width+"px")}}else{let s=document.getElementById(r.startsWith("#")?r.slice(1):r);s&&s.content?(o=document.createElement("div"),o.style.display="contents",o.className=n||"nojs-drop-placeholder",o.appendChild(s.content.cloneNode(!0))):(o=document.createElement("div"),o.className=n||"nojs-drop-placeholder")}o.classList.add("nojs-drop-placeholder");let i=[...t.children].filter(s=>!s.classList.contains("nojs-drop-placeholder"));e>=i.length?t.appendChild(o):t.insertBefore(o,i[e]),h.placeholder=o}function lt(){h.placeholder&&(h.placeholder.remove(),h.placeholder=null)}function wt(t,e){return!e||e==="*"?!0:e.split(",").map(n=>n.trim()).includes(t)}function qe(t,e){let r=document.createElement("div");r.style.cssText="position:fixed;top:-9999px;left:-9999px;pointer-events:none;z-index:99999;";let n=t.style&&t.style.display==="contents"&&t.firstElementChild||t,o=n.getBoundingClientRect(),i=o.width,s=o.height,a=getComputedStyle(n),c=Math.min(e,3);for(let d=c-1;d>=0;d--){let f=document.createElement("div"),p=d*4;f.style.cssText="position:absolute;top:"+p+"px;left:"+p+"px;width:"+i+"px;height:"+s+"px;border-radius:"+a.borderRadius+";box-shadow:0 1px 4px rgba(0,0,0,0.12);overflow:hidden;box-sizing:border-box;",d===0?(f.innerHTML=n.innerHTML,f.style.background=a.backgroundColor||"#fff",f.style.border=a.border,f.style.padding=a.padding,f.style.fontSize=a.fontSize,f.style.color=a.color,f.style.fontFamily=a.fontFamily):(f.style.background=a.backgroundColor||"#fff",f.style.border=a.border||"1px solid #ddd"),r.appendChild(f)}let l=document.createElement("div");return l.textContent=e,l.style.cssText="position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 5px;background:#3b82f6;color:#fff;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,0.2);",r.appendChild(l),r.style.width=i+(c-1)*4+"px",r.style.height=s+(c-1)*4+"px",r}I("drag",{priority:15,init(t,e,r){te();let n=$(t),o=t.getAttribute("drag-type")||"default",i=t.getAttribute("drag-effect")||"move",s=t.getAttribute("drag-handle"),a=t.getAttribute("drag-image"),c=t.getAttribute("drag-image-offset")||"0,0",l=t.getAttribute("drag-disabled"),d=t.getAttribute("drag-class")||"nojs-dragging",f=t.getAttribute("drag-ghost-class");t.draggable=!0,t.setAttribute("aria-grabbed","false"),t.getAttribute("tabindex")||t.setAttribute("tabindex","0");let p=!0;if(s){let x=A=>{p=!!A.target.closest(s)};t.addEventListener("mousedown",x),Z(()=>t.removeEventListener("mousedown",x))}let u=x=>{if(s&&!p){x.preventDefault();return}if(l&&L(l,n)){x.preventDefault();return}let A=L(r,n),y=t.getAttribute("drag-group"),E=A;if(y&&h.selected.has(y)){let _=h.selected.get(y);_.size>0&&[..._].some(w=>w.el===t)&&(E=[..._].map(w=>w.item))}if(h.dragging={item:E,type:o,effect:i,sourceEl:t,sourceCtx:n,sourceList:null,sourceIndex:null,listDirective:null},x.dataTransfer){if(x.dataTransfer.effectAllowed=i,x.dataTransfer.setData("text/plain",""),Array.isArray(E)&&E.length>1&&x.dataTransfer.setDragImage){let _=qe(t,E.length);document.body.appendChild(_);let C=t.getBoundingClientRect();x.dataTransfer.setDragImage(_,C.width/2,C.height/2),requestAnimationFrame(()=>_.remove())}else if(a&&x.dataTransfer.setDragImage)if(a==="none"){let _=document.createElement("div");_.style.cssText="width:1px;height:1px;opacity:0;position:fixed;top:-999px",document.body.appendChild(_);let[C,w]=c.split(",").map(Number);x.dataTransfer.setDragImage(_,C||0,w||0),requestAnimationFrame(()=>_.remove())}else{let _=t.querySelector(a);if(_){let[C,w]=c.split(",").map(Number);f&&_.classList.add(f),x.dataTransfer.setDragImage(_,C||0,w||0)}}}if(d.split(/\s+/).filter(Boolean).forEach(_=>t.classList.add(_)),Array.isArray(E)&&y&&h.selected.has(y))for(let _ of h.selected.get(y))_.el!==t&&d.split(/\s+/).filter(Boolean).forEach(C=>_.el.classList.add(C));t.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:E,index:h.dragging.sourceIndex,el:t}}))},m=()=>{d.split(/\s+/).filter(Boolean).forEach(A=>t.classList.remove(A));let x=t.getAttribute("drag-group");if(x&&h.selected.has(x))for(let A of h.selected.get(x))d.split(/\s+/).filter(Boolean).forEach(y=>A.el.classList.remove(y));if(t.setAttribute("aria-grabbed","false"),f&&a&&a!=="none"){let A=t.querySelector(a);A&&A.classList.remove(f)}t.dispatchEvent(new CustomEvent("drag-end",{bubbles:!0,detail:{item:h.dragging?.item,index:h.dragging?.sourceIndex,dropped:h.dragging===null}})),h.dragging=null,lt()};if(t.addEventListener("dragstart",u),t.addEventListener("dragend",m),Z(()=>{t.removeEventListener("dragstart",u),t.removeEventListener("dragend",m)}),l){let x=function(){let A=!!L(l,n);t.draggable=!A,A?t.removeAttribute("aria-grabbed"):t.setAttribute("aria-grabbed","false")};n.$watch(x)}let b=x=>{if(h.dragging&&!h.dragging.sourceEl.isConnected&&(h.dragging=null),x.key===" "&&!h.dragging){x.preventDefault();let A=L(r,n);h.dragging={item:A,type:o,effect:i,sourceEl:t,sourceCtx:n,sourceList:null,sourceIndex:null,listDirective:null},d.split(/\s+/).filter(Boolean).forEach(y=>t.classList.add(y)),t.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:A,index:null,el:t}}))}else x.key==="Escape"&&h.dragging&&h.dragging.sourceEl===t&&(x.preventDefault(),d.split(/\s+/).filter(Boolean).forEach(A=>t.classList.remove(A)),t.setAttribute("aria-grabbed","false"),h.dragging=null,lt())};t.addEventListener("keydown",b),Z(()=>t.removeEventListener("keydown",b))}});I("drop",{priority:15,init(t,e,r){te();let n=$(t),o=t.getAttribute("drop-accept")||"default",i=t.getAttribute("drop-effect")||"move",s=t.getAttribute("drop-class")||"nojs-drag-over",a=t.getAttribute("drop-reject-class")||"nojs-drop-reject",c=t.getAttribute("drop-disabled"),l=t.getAttribute("drop-max"),d=t.getAttribute("drop-sort"),f=t.getAttribute("drop-placeholder"),p=t.getAttribute("drop-placeholder-class");t.setAttribute("aria-dropeffect",i);let u=0,m=E=>{if(!h.dragging||c&&L(c,n))return;let _=wt(h.dragging.type,o),C=!0;if(l){let w=L(l,n),v=Ht(t);typeof w=="number"&&v>=w&&(C=!1)}if(!_||!C){a.split(/\s+/).filter(Boolean).forEach(w=>t.classList.add(w)),s.split(/\s+/).filter(Boolean).forEach(w=>t.classList.remove(w)),lt();return}if(a.split(/\s+/).filter(Boolean).forEach(w=>t.classList.remove(w)),E.preventDefault(),E.dataTransfer&&(E.dataTransfer.dropEffect=i),d){let w=Rt(t,E.clientX,E.clientY,d);f&&Se(t,w,f,p),t.dispatchEvent(new CustomEvent("drag-over",{bubbles:!1,detail:{item:h.dragging.item,index:w}}))}},b=E=>{if(h.dragging&&!(c&&L(c,n))&&(u++,u===1)){let _=wt(h.dragging.type,o),C=!0;if(l){let w=L(l,n),v=Ht(t);typeof w=="number"&&v>=w&&(C=!1)}_&&C?(s.split(/\s+/).filter(Boolean).forEach(w=>t.classList.add(w)),t.dispatchEvent(new CustomEvent("drag-enter",{bubbles:!1,detail:{item:h.dragging.item,type:h.dragging.type}}))):a.split(/\s+/).filter(Boolean).forEach(w=>t.classList.add(w))}},x=E=>{h.dragging&&(u--,u<=0&&(u=0,s.split(/\s+/).filter(Boolean).forEach(_=>t.classList.remove(_)),a.split(/\s+/).filter(Boolean).forEach(_=>t.classList.remove(_)),lt(),t.dispatchEvent(new CustomEvent("drag-leave",{bubbles:!1,detail:{item:h.dragging.item}}))))},A=E=>{if(E.preventDefault(),E.stopPropagation(),u=0,!h.dragging||c&&L(c,n)||!wt(h.dragging.type,o))return;if(l){let S=L(l,n),N=Ht(t);if(typeof S=="number"&&N>=S)return}let _=h.dragging.item,C=h.dragging.type,w=h.dragging.effect,v=0;d&&(v=Rt(t,E.clientX,E.clientY,d)),s.split(/\s+/).filter(Boolean).forEach(S=>t.classList.remove(S)),a.split(/\s+/).filter(Boolean).forEach(S=>t.classList.remove(S)),lt();let B={$drag:_,$dragType:C,$dragEffect:w,$dropIndex:v,$source:{list:h.dragging.sourceList,index:h.dragging.sourceIndex,el:h.dragging.sourceEl},$target:{list:null,index:v,el:t},$el:t};tt(r,n,B),h.dragging=null,t.dispatchEvent(new CustomEvent("drop",{bubbles:!1,detail:{item:_,index:v,source:B.$source,target:B.$target,effect:w}}))},y=E=>{h.dragging&&(E.key==="Enter"||E.key===" ")&&(E.preventDefault(),A(E))};t.addEventListener("dragover",m),t.addEventListener("dragenter",b),t.addEventListener("dragleave",x),t.addEventListener("drop",A),t.addEventListener("keydown",y),Z(()=>{t.removeEventListener("dragover",m),t.removeEventListener("dragenter",b),t.removeEventListener("dragleave",x),t.removeEventListener("drop",A),t.removeEventListener("keydown",y)})}});var Te=new Map;I("drag-list",{priority:10,init(t,e,r){te();let n=$(t),o=t.getAttribute("template"),i=t.getAttribute("drag-list-key"),s=t.getAttribute("drag-list-item")||"item",a=t.getAttribute("drop-sort")||"vertical",c=t.getAttribute("drag-type")||"__draglist_"+r,l=t.getAttribute("drop-accept")||c,d=t.hasAttribute("drag-list-copy"),f=t.hasAttribute("drag-list-remove"),p=t.getAttribute("drag-disabled"),u=t.getAttribute("drop-disabled"),m=t.getAttribute("drop-max"),b=t.getAttribute("drop-placeholder"),x=t.getAttribute("drop-placeholder-class"),A=t.getAttribute("drag-class")||"nojs-dragging",y=t.getAttribute("drop-class")||"nojs-drag-over",E=t.getAttribute("drop-reject-class")||"nojs-drop-reject",_=t.getAttribute("drop-settle-class")||"nojs-drop-settle",C=t.getAttribute("drop-empty-class")||"nojs-drag-list-empty";t.setAttribute("role","listbox"),t.setAttribute("aria-dropeffect",d?"copy":"move");let w={listPath:r,ctx:n,el:t};Te.set(t,w),Z(()=>Te.delete(t));let v=0,B=null;function S(){let D=nt(r,n);if(!Array.isArray(D))return;if(D===B&&D.length>0&&t.children.length>0){for(let T of t.children)T.__ctx&&T.__ctx.$notify&&T.__ctx.$notify();return}B=D;let H=o?document.getElementById(o):null;if(!H)return;t.innerHTML="";let F=D.length;D.forEach((T,rt)=>{let mt={[s]:T,$index:rt,$count:F,$first:rt===0,$last:rt===F-1,$even:rt%2===0,$odd:rt%2!==0},ot=P(mt,n),Q=H.content.cloneNode(!0),R=document.createElement("div");R.style.display="contents",R.__ctx=ot,R.setAttribute("role","option"),R.appendChild(Q),t.appendChild(R);let V=R.firstElementChild||R;V.draggable=!0,V.setAttribute("aria-grabbed","false"),V.getAttribute("tabindex")||V.setAttribute("tabindex","0");let At=et=>{if(p&&L(p,n)){et.preventDefault();return}h.dragging={item:T,type:c,effect:d?"copy":"move",sourceEl:R,sourceCtx:ot,sourceList:D,sourceIndex:rt,listDirective:{el:t,listPath:r,ctx:n,keyProp:i,copyMode:d,removeMode:f}},et.dataTransfer&&(et.dataTransfer.effectAllowed=d?"copy":"move",et.dataTransfer.setData("text/plain","")),A.split(/\s+/).filter(Boolean).forEach(st=>V.classList.add(st)),V.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:T,index:rt,el:V}}))},qt=()=>{A.split(/\s+/).filter(Boolean).forEach(et=>V.classList.remove(et)),V.setAttribute("aria-grabbed","false"),h.dragging&&h.dragging.sourceEl===R&&(h.dragging=null),lt()};R.addEventListener("dragstart",At),R.addEventListener("dragend",qt),R.addEventListener("keydown",et=>{if(et.key===" "&&!h.dragging)et.preventDefault(),h.dragging={item:T,type:c,effect:d?"copy":"move",sourceEl:R,sourceCtx:ot,sourceList:D,sourceIndex:rt,listDirective:{el:t,listPath:r,ctx:n,keyProp:i,copyMode:d,removeMode:f}},A.split(/\s+/).filter(Boolean).forEach(st=>V.classList.add(st)),V.setAttribute("aria-grabbed","true");else if(et.key==="Escape"&&h.dragging&&h.dragging.sourceEl===R)et.preventDefault(),A.split(/\s+/).filter(Boolean).forEach(st=>V.classList.remove(st)),V.setAttribute("aria-grabbed","false"),h.dragging=null,lt();else if((et.key==="ArrowDown"||et.key==="ArrowRight")&&h.dragging&&h.dragging.sourceEl===R){et.preventDefault();let st=R.nextElementSibling;st&&(st.firstElementChild||st).focus()}else if((et.key==="ArrowUp"||et.key==="ArrowLeft")&&h.dragging&&h.dragging.sourceEl===R){et.preventDefault();let st=R.previousElementSibling;st&&(st.firstElementChild||st).focus()}}),O(R)});let k=D.length===0;C.split(/\s+/).filter(Boolean).forEach(T=>t.classList.toggle(T,k))}let N=D=>{if(!h.dragging||u&&L(u,n))return;let H=wt(h.dragging.type,l),F=!0;if(m){let T=L(m,n),rt=nt(r,n);typeof T=="number"&&Array.isArray(rt)&&rt.length>=T&&(F=!1)}if(!H||!F){E.split(/\s+/).filter(Boolean).forEach(T=>t.classList.add(T)),y.split(/\s+/).filter(Boolean).forEach(T=>t.classList.remove(T)),lt();return}E.split(/\s+/).filter(Boolean).forEach(T=>t.classList.remove(T)),D.preventDefault(),D.dataTransfer&&(D.dataTransfer.dropEffect=d?"copy":"move");let k=Rt(t,D.clientX,D.clientY,a);b&&Se(t,k,b,x)},X=D=>{if(h.dragging&&!(u&&L(u,n))&&(v++,v===1)){let H=wt(h.dragging.type,l),F=!0;if(m){let k=L(m,n),T=nt(r,n);typeof k=="number"&&Array.isArray(T)&&T.length>=k&&(F=!1)}H&&F?(y.split(/\s+/).filter(Boolean).forEach(k=>t.classList.add(k)),t.dispatchEvent(new CustomEvent("drag-enter",{bubbles:!1,detail:{item:h.dragging.item,type:h.dragging.type}}))):E.split(/\s+/).filter(Boolean).forEach(k=>t.classList.add(k))}},M=()=>{h.dragging&&(v--,v<=0&&(v=0,y.split(/\s+/).filter(Boolean).forEach(D=>t.classList.remove(D)),E.split(/\s+/).filter(Boolean).forEach(D=>t.classList.remove(D)),lt(),t.dispatchEvent(new CustomEvent("drag-leave",{bubbles:!1,detail:{item:h.dragging?.item}}))))},dt=D=>{if(D.preventDefault(),D.stopPropagation(),v=0,!h.dragging||u&&L(u,n)||!wt(h.dragging.type,l))return;if(m){let Q=L(m,n),R=nt(r,n);if(typeof Q=="number"&&Array.isArray(R)&&R.length>=Q)return}let H=h.dragging.item,F=h.dragging.listDirective,k=h.dragging.sourceIndex,T=Rt(t,D.clientX,D.clientY,a);y.split(/\s+/).filter(Boolean).forEach(Q=>t.classList.remove(Q)),E.split(/\s+/).filter(Boolean).forEach(Q=>t.classList.remove(Q)),lt();let rt=nt(r,n);if(!Array.isArray(rt))return;let mt=F&&F.el===t;if(mt&&k===T){h.dragging=null;return}if(mt&&k+1===T){h.dragging=null;return}let ot=[...rt];if(mt){let[Q]=ot.splice(k,1),R=k<T?T-1:T;ot.splice(R,0,Q),n.$set(r,ot),t.dispatchEvent(new CustomEvent("reorder",{bubbles:!0,detail:{list:ot,item:H,from:k,to:R}}))}else{let Q=d&&typeof H=="object"?{...H}:H;if(ot.splice(T,0,Q),n.$set(r,ot),F&&!F.copyMode&&(f||F.removeMode)){let R=nt(F.listPath,F.ctx);if(Array.isArray(R)&&k!=null){let V=R.filter((At,qt)=>qt!==k);F.ctx.$set(F.listPath,V),F.el.dispatchEvent(new CustomEvent("remove",{bubbles:!0,detail:{list:V,item:H,index:k}}))}}t.dispatchEvent(new CustomEvent("receive",{bubbles:!0,detail:{list:ot,item:H,from:k,fromList:F?nt(F.listPath,F.ctx):null}}))}requestAnimationFrame(()=>{let R=[...t.children][mt&&k<T?T-1:T];if(R){let V=R.firstElementChild||R;_.split(/\s+/).filter(Boolean).forEach(At=>V.classList.add(At)),V.addEventListener("animationend",()=>{_.split(/\s+/).filter(Boolean).forEach(At=>V.classList.remove(At))},{once:!0})}}),h.dragging=null},q=D=>{if(h.dragging&&wt(h.dragging.type,l)&&(D.key==="Enter"||D.key===" ")){D.preventDefault();let H=t.querySelector(":focus");if(H){let k=(H.style?.display==="contents"&&H.firstElementChild||H).getBoundingClientRect(),T={preventDefault(){},stopPropagation(){},clientX:k.left+k.width/2,clientY:k.top+k.height+1,dataTransfer:null};dt(T)}}};t.addEventListener("dragover",N),t.addEventListener("dragenter",X),t.addEventListener("dragleave",M),t.addEventListener("drop",dt),t.addEventListener("keydown",q),Z(()=>{t.removeEventListener("dragover",N),t.removeEventListener("dragenter",X),t.removeEventListener("dragleave",M),t.removeEventListener("drop",dt),t.removeEventListener("keydown",q)}),n.$watch(S),S()}});I("drag-multiple",{priority:16,init(t,e){let r=$(t),n=t.getAttribute("drag-group"),o=t.getAttribute("drag-multiple-class")||"nojs-selected";if(!n){it("drag-multiple requires drag-group attribute");return}h.selected.has(n)||h.selected.set(n,new Set);let i=h.selected.get(n),s=c=>{let l=t.getAttribute("drag"),f={item:l?L(l,r):null,el:t,ctx:r};if(c.ctrlKey||c.metaKey){let p=[...i].find(u=>u.el===t);p?(i.delete(p),o.split(/\s+/).filter(Boolean).forEach(u=>t.classList.remove(u))):(i.add(f),o.split(/\s+/).filter(Boolean).forEach(u=>t.classList.add(u)))}else{for(let p of i)o.split(/\s+/).filter(Boolean).forEach(u=>p.el.classList.remove(u));i.clear(),i.add(f),o.split(/\s+/).filter(Boolean).forEach(p=>t.classList.add(p))}};t.addEventListener("click",s),Z(()=>{t.removeEventListener("click",s);let c=[...i].find(l=>l.el===t);c&&i.delete(c)});let a=c=>{if(c.key==="Escape"){for(let l of i)o.split(/\s+/).filter(Boolean).forEach(d=>l.el.classList.remove(d));i.clear()}};window.addEventListener("keydown",a),Z(()=>window.removeEventListener("keydown",a))}});function Fe(){if(typeof window>"u")return null;let t=g.router||{};if(t.mode==="hash")return window.location.hash.slice(1)||"/";let e=(t.base||"/").replace(/\/$/,"");return window.location.pathname.replace(e,"")||"/"}var Pt={get baseApiUrl(){return g.baseApiUrl},set baseApiUrl(t){g.baseApiUrl=t},get locale(){return U.locale},set locale(t){U.locale=t},config(t={}){let e={...g.headers},r={...g.cache},n={...g.templates},o={...g.router},i={...g.i18n};Object.assign(g,t),t.headers&&(g.headers={...e,...t.headers}),t.csrf&&(g.csrf=t.csrf),t.cache&&(g.cache={...r,...t.cache}),t.templates&&(g.templates={...n,...t.templates}),t.router&&(g.router={...o,...t.router}),t.i18n&&(g.i18n={...i,...t.i18n},U.locale=t.i18n.defaultLocale||U.locale)},async init(t){if(typeof document>"u"||Pt._initialized)return;if(Pt._initialized=!0,t=t||document.body,Y("Initializing..."),g.i18n.loadPath){let r=new Set([U.locale,g.i18n.fallbackLocale]);await Promise.all([...r].map(n=>Jt(n)))}Ot(t);let e=Fe();await ye(e),document.querySelector("[route-view]")&&re(Le()),O(t),G&&await G.init(),Y("Initialized."),_e(),fe(Pt)},directive(t,e){I(t,e)},filter(t,e){j[t]=e},validator(t,e){Ct[t]=e},i18n(t){if(t.loadPath!=null&&(g.i18n.loadPath=t.loadPath),t.ns&&(g.i18n.ns=t.ns),t.cache!=null&&(g.i18n.cache=t.cache),t.persist!=null&&(g.i18n.persist=t.persist),t.locales&&(U.locales=t.locales),t.fallbackLocale&&(g.i18n.fallbackLocale=t.fallbackLocale),t.defaultLocale&&(U._locale=t.defaultLocale),g.i18n.persist&&typeof localStorage<"u")try{let e=localStorage.getItem("nojs-locale");if(e){U._locale=e;return}}catch{}if(t.detectBrowser){let e=typeof navigator<"u"?navigator.language:"en",r=e.split("-")[0];U.locales[e]?U._locale=e:U.locales[r]&&(U._locale=r)}},on(t,e){return _t[t]||(_t[t]=[]),_t[t].push(e),()=>{_t[t]=_t[t].filter(r=>r!==e)}},interceptor(t,e){Lt[t]&&Lt[t].push(e)},get store(){return W},get router(){return G},createContext:P,evaluate:L,findContext:$,processTree:O,resolve:nt,version:"1.6.0"},Vn=Pt;export{Vn as default};
|
|
63
|
+
`.trim(),e=document.createElement("style");e.setAttribute("data-nojs-dnd",""),e.textContent=t,document.head.appendChild(e)}function Ht(t,e,r,n){let o=[...t.children].filter(s=>!s.classList.contains("nojs-drop-placeholder"));if(o.length===0)return 0;for(let s=0;s<o.length;s++){let a=(o[s].style&&o[s].style.display==="contents"&&o[s].firstElementChild||o[s]).getBoundingClientRect();if(n==="horizontal"){let c=a.left+a.width/2;if(e<c)return s}else if(n==="grid"){let c=a.left+a.width/2,l=a.top+a.height/2;if(r<l&&e<c||r<a.top+a.height&&e<c)return s}else{let c=a.top+a.height/2;if(r<c)return s}}return o.length}function Ie(t,e,r,n){dt();let o;if(r==="auto"){if(o=document.createElement("div"),o.className=n||"nojs-drop-placeholder",E.dragging&&E.dragging.sourceEl){let a=(E.dragging.sourceEl.firstElementChild||E.dragging.sourceEl).getBoundingClientRect();a.height>0&&(o.style.height=a.height+"px"),a.width>0&&(o.style.width=a.width+"px")}}else{let i=document.getElementById(r.startsWith("#")?r.slice(1):r);i&&i.content?(o=document.createElement("div"),o.style.display="contents",o.className=n||"nojs-drop-placeholder",o.appendChild(i.content.cloneNode(!0))):(o=document.createElement("div"),o.className=n||"nojs-drop-placeholder")}o.classList.add("nojs-drop-placeholder");let s=[...t.children].filter(i=>!i.classList.contains("nojs-drop-placeholder"));e>=s.length?t.appendChild(o):t.insertBefore(o,s[e]),E.placeholder=o}function dt(){E.placeholder&&(E.placeholder.remove(),E.placeholder=null)}function At(t,e){return!e||e==="*"?!0:e.split(",").map(n=>n.trim()).includes(t)}function Ge(t,e){let r=document.createElement("div");r.style.cssText="position:fixed;top:-9999px;left:-9999px;pointer-events:none;z-index:99999;";let n=t.style&&t.style.display==="contents"&&t.firstElementChild||t,o=n.getBoundingClientRect(),s=o.width,i=o.height,a=getComputedStyle(n),c=Math.min(e,3);for(let d=c-1;d>=0;d--){let u=document.createElement("div"),m=d*4;u.style.cssText="position:absolute;top:"+m+"px;left:"+m+"px;width:"+s+"px;height:"+i+"px;border-radius:"+a.borderRadius+";box-shadow:0 1px 4px rgba(0,0,0,0.12);overflow:hidden;box-sizing:border-box;",d===0?(u.innerHTML=n.innerHTML,u.style.background=a.backgroundColor||"#fff",u.style.border=a.border,u.style.padding=a.padding,u.style.fontSize=a.fontSize,u.style.color=a.color,u.style.fontFamily=a.fontFamily):(u.style.background=a.backgroundColor||"#fff",u.style.border=a.border||"1px solid #ddd"),r.appendChild(u)}let l=document.createElement("div");return l.textContent=e,l.style.cssText="position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 5px;background:#3b82f6;color:#fff;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,0.2);",r.appendChild(l),r.style.width=s+(c-1)*4+"px",r.style.height=i+(c-1)*4+"px",r}k("drag",{priority:15,init(t,e,r){ee();let n=N(t),o=t.getAttribute("drag-type")||"default",s=t.getAttribute("drag-effect")||"move",i=t.getAttribute("drag-handle"),a=t.getAttribute("drag-image"),c=t.getAttribute("drag-image-offset")||"0,0",l=t.getAttribute("drag-disabled"),d=t.getAttribute("drag-class")||"nojs-dragging",u=t.getAttribute("drag-ghost-class");t.draggable=!0,t.setAttribute("aria-grabbed","false"),t.getAttribute("tabindex")||t.setAttribute("tabindex","0");let m=!0;if(i){let h=A=>{m=!!A.target.closest(i)};t.addEventListener("mousedown",h),Z(()=>t.removeEventListener("mousedown",h))}let f=h=>{if(i&&!m){h.preventDefault();return}if(l&&L(l,n)){h.preventDefault();return}let A=L(r,n),y=t.getAttribute("drag-group"),v=A;if(y&&E.selected.has(y)){let x=E.selected.get(y);x.size>0&&[...x].some(p=>p.el===t)&&(v=[...x].map(p=>p.item))}if(E.dragging={item:v,type:o,effect:s,sourceEl:t,sourceCtx:n,sourceList:null,sourceIndex:null,listDirective:null},h.dataTransfer){if(h.dataTransfer.effectAllowed=s,h.dataTransfer.setData("text/plain",""),Array.isArray(v)&&v.length>1&&h.dataTransfer.setDragImage){let x=Ge(t,v.length);document.body.appendChild(x);let C=t.getBoundingClientRect();h.dataTransfer.setDragImage(x,C.width/2,C.height/2),requestAnimationFrame(()=>x.remove())}else if(a&&h.dataTransfer.setDragImage)if(a==="none"){let x=document.createElement("div");x.style.cssText="width:1px;height:1px;opacity:0;position:fixed;top:-999px",document.body.appendChild(x);let[C,p]=c.split(",").map(Number);h.dataTransfer.setDragImage(x,C||0,p||0),requestAnimationFrame(()=>x.remove())}else{let x=t.querySelector(a);if(x){let[C,p]=c.split(",").map(Number);u&&x.classList.add(u),h.dataTransfer.setDragImage(x,C||0,p||0)}}}if(d.split(/\s+/).filter(Boolean).forEach(x=>t.classList.add(x)),Array.isArray(v)&&y&&E.selected.has(y))for(let x of E.selected.get(y))x.el!==t&&d.split(/\s+/).filter(Boolean).forEach(C=>x.el.classList.add(C));t.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:v,index:E.dragging.sourceIndex,el:t}}))},b=()=>{d.split(/\s+/).filter(Boolean).forEach(A=>t.classList.remove(A));let h=t.getAttribute("drag-group");if(h&&E.selected.has(h))for(let A of E.selected.get(h))d.split(/\s+/).filter(Boolean).forEach(y=>A.el.classList.remove(y));if(t.setAttribute("aria-grabbed","false"),u&&a&&a!=="none"){let A=t.querySelector(a);A&&A.classList.remove(u)}t.dispatchEvent(new CustomEvent("drag-end",{bubbles:!0,detail:{item:E.dragging?.item,index:E.dragging?.sourceIndex,dropped:E.dragging===null}})),E.dragging=null,dt()};if(t.addEventListener("dragstart",f),t.addEventListener("dragend",b),Z(()=>{t.removeEventListener("dragstart",f),t.removeEventListener("dragend",b)}),l){let h=function(){let A=!!L(l,n);t.draggable=!A,A?t.removeAttribute("aria-grabbed"):t.setAttribute("aria-grabbed","false")};n.$watch(h)}let g=h=>{if(E.dragging&&!E.dragging.sourceEl.isConnected&&(E.dragging=null),h.key===" "&&!E.dragging){h.preventDefault();let A=L(r,n);E.dragging={item:A,type:o,effect:s,sourceEl:t,sourceCtx:n,sourceList:null,sourceIndex:null,listDirective:null},d.split(/\s+/).filter(Boolean).forEach(y=>t.classList.add(y)),t.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:A,index:null,el:t}}))}else h.key==="Escape"&&E.dragging&&E.dragging.sourceEl===t&&(h.preventDefault(),d.split(/\s+/).filter(Boolean).forEach(A=>t.classList.remove(A)),t.setAttribute("aria-grabbed","false"),E.dragging=null,dt())};t.addEventListener("keydown",g),Z(()=>t.removeEventListener("keydown",g))}});k("drop",{priority:15,init(t,e,r){ee();let n=N(t),o=t.getAttribute("drop-accept")||"default",s=t.getAttribute("drop-effect")||"move",i=t.getAttribute("drop-class")||"nojs-drag-over",a=t.getAttribute("drop-reject-class")||"nojs-drop-reject",c=t.getAttribute("drop-disabled"),l=t.getAttribute("drop-max"),d=t.getAttribute("drop-sort"),u=t.getAttribute("drop-placeholder"),m=t.getAttribute("drop-placeholder-class");t.setAttribute("aria-dropeffect",s);let f=0,b=v=>{if(!E.dragging||c&&L(c,n))return;let x=At(E.dragging.type,o),C=!0;if(l){let p=L(l,n),w=Rt(t);typeof p=="number"&&w>=p&&(C=!1)}if(!x||!C){a.split(/\s+/).filter(Boolean).forEach(p=>t.classList.add(p)),i.split(/\s+/).filter(Boolean).forEach(p=>t.classList.remove(p)),dt();return}if(a.split(/\s+/).filter(Boolean).forEach(p=>t.classList.remove(p)),v.preventDefault(),v.dataTransfer&&(v.dataTransfer.dropEffect=s),d){let p=Ht(t,v.clientX,v.clientY,d);u&&Ie(t,p,u,m),t.dispatchEvent(new CustomEvent("drag-over",{bubbles:!1,detail:{item:E.dragging.item,index:p}}))}},g=v=>{if(E.dragging&&!(c&&L(c,n))&&(f++,f===1)){let x=At(E.dragging.type,o),C=!0;if(l){let p=L(l,n),w=Rt(t);typeof p=="number"&&w>=p&&(C=!1)}x&&C?(i.split(/\s+/).filter(Boolean).forEach(p=>t.classList.add(p)),t.dispatchEvent(new CustomEvent("drag-enter",{bubbles:!1,detail:{item:E.dragging.item,type:E.dragging.type}}))):a.split(/\s+/).filter(Boolean).forEach(p=>t.classList.add(p))}},h=v=>{E.dragging&&(f--,f<=0&&(f=0,i.split(/\s+/).filter(Boolean).forEach(x=>t.classList.remove(x)),a.split(/\s+/).filter(Boolean).forEach(x=>t.classList.remove(x)),dt(),t.dispatchEvent(new CustomEvent("drag-leave",{bubbles:!1,detail:{item:E.dragging.item}}))))},A=v=>{if(v.preventDefault(),v.stopPropagation(),f=0,!E.dragging||c&&L(c,n)||!At(E.dragging.type,o))return;if(l){let I=L(l,n),S=Rt(t);if(typeof I=="number"&&S>=I)return}let x=E.dragging.item,C=E.dragging.type,p=E.dragging.effect,w=0;d&&(w=Ht(t,v.clientX,v.clientY,d)),i.split(/\s+/).filter(Boolean).forEach(I=>t.classList.remove(I)),a.split(/\s+/).filter(Boolean).forEach(I=>t.classList.remove(I)),dt();let D={$drag:x,$dragType:C,$dragEffect:p,$dropIndex:w,$source:{list:E.dragging.sourceList,index:E.dragging.sourceIndex,el:E.dragging.sourceEl},$target:{list:null,index:w,el:t},$el:t};tt(r,n,D),E.dragging=null,t.dispatchEvent(new CustomEvent("drop",{bubbles:!1,detail:{item:x,index:w,source:D.$source,target:D.$target,effect:p}}))},y=v=>{E.dragging&&(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),A(v))};t.addEventListener("dragover",b),t.addEventListener("dragenter",g),t.addEventListener("dragleave",h),t.addEventListener("drop",A),t.addEventListener("keydown",y),Z(()=>{t.removeEventListener("dragover",b),t.removeEventListener("dragenter",g),t.removeEventListener("dragleave",h),t.removeEventListener("drop",A),t.removeEventListener("keydown",y)})}});var Se=new Map;k("drag-list",{priority:10,init(t,e,r){ee();let n=N(t),o=t.getAttribute("template"),s=t.getAttribute("drag-list-key"),i=t.getAttribute("drag-list-item")||"item",a=t.getAttribute("drop-sort")||"vertical",c=t.getAttribute("drag-type")||"__draglist_"+r,l=t.getAttribute("drop-accept")||c,d=t.hasAttribute("drag-list-copy"),u=t.hasAttribute("drag-list-remove"),m=t.getAttribute("drag-disabled"),f=t.getAttribute("drop-disabled"),b=t.getAttribute("drop-max"),g=t.getAttribute("drop-placeholder"),h=t.getAttribute("drop-placeholder-class"),A=t.getAttribute("drag-class")||"nojs-dragging",y=t.getAttribute("drop-class")||"nojs-drag-over",v=t.getAttribute("drop-reject-class")||"nojs-drop-reject",x=t.getAttribute("drop-settle-class")||"nojs-drop-settle",C=t.getAttribute("drop-empty-class")||"nojs-drag-list-empty";t.setAttribute("role","listbox"),t.setAttribute("aria-dropeffect",d?"copy":"move");let p={listPath:r,ctx:n,el:t};Se.set(t,p),Z(()=>Se.delete(t));let w=0,D=null;function I(){let $=ot(r,n);if(!Array.isArray($))return;if($===D&&$.length>0&&t.children.length>0){for(let T of t.children)T.__ctx&&T.__ctx.$notify&&T.__ctx.$notify();return}D=$;let M=o?document.getElementById(o):null;if(!M)return;t.innerHTML="";let q=$.length;$.forEach((T,rt)=>{let gt={[i]:T,$index:rt,$count:q,$first:rt===0,$last:rt===q-1,$even:rt%2===0,$odd:rt%2!==0},st=H(gt,n),Q=M.content.cloneNode(!0),F=document.createElement("div");F.style.display="contents",F.__ctx=st,F.setAttribute("role","option"),F.appendChild(Q),t.appendChild(F);let Y=F.firstElementChild||F;Y.draggable=!0,Y.setAttribute("aria-grabbed","false"),Y.getAttribute("tabindex")||Y.setAttribute("tabindex","0");let Lt=et=>{if(m&&L(m,n)){et.preventDefault();return}E.dragging={item:T,type:c,effect:d?"copy":"move",sourceEl:F,sourceCtx:st,sourceList:$,sourceIndex:rt,listDirective:{el:t,listPath:r,ctx:n,keyProp:s,copyMode:d,removeMode:u}},et.dataTransfer&&(et.dataTransfer.effectAllowed=d?"copy":"move",et.dataTransfer.setData("text/plain","")),A.split(/\s+/).filter(Boolean).forEach(it=>Y.classList.add(it)),Y.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:T,index:rt,el:Y}}))},qt=()=>{A.split(/\s+/).filter(Boolean).forEach(et=>Y.classList.remove(et)),Y.setAttribute("aria-grabbed","false"),E.dragging&&E.dragging.sourceEl===F&&(E.dragging=null),dt()};F.addEventListener("dragstart",Lt),F.addEventListener("dragend",qt),F.addEventListener("keydown",et=>{if(et.key===" "&&!E.dragging)et.preventDefault(),E.dragging={item:T,type:c,effect:d?"copy":"move",sourceEl:F,sourceCtx:st,sourceList:$,sourceIndex:rt,listDirective:{el:t,listPath:r,ctx:n,keyProp:s,copyMode:d,removeMode:u}},A.split(/\s+/).filter(Boolean).forEach(it=>Y.classList.add(it)),Y.setAttribute("aria-grabbed","true");else if(et.key==="Escape"&&E.dragging&&E.dragging.sourceEl===F)et.preventDefault(),A.split(/\s+/).filter(Boolean).forEach(it=>Y.classList.remove(it)),Y.setAttribute("aria-grabbed","false"),E.dragging=null,dt();else if((et.key==="ArrowDown"||et.key==="ArrowRight")&&E.dragging&&E.dragging.sourceEl===F){et.preventDefault();let it=F.nextElementSibling;it&&(it.firstElementChild||it).focus()}else if((et.key==="ArrowUp"||et.key==="ArrowLeft")&&E.dragging&&E.dragging.sourceEl===F){et.preventDefault();let it=F.previousElementSibling;it&&(it.firstElementChild||it).focus()}}),R(F)});let j=$.length===0;C.split(/\s+/).filter(Boolean).forEach(T=>t.classList.toggle(T,j))}let S=$=>{if(!E.dragging||f&&L(f,n))return;let M=At(E.dragging.type,l),q=!0;if(b){let T=L(b,n),rt=ot(r,n);typeof T=="number"&&Array.isArray(rt)&&rt.length>=T&&(q=!1)}if(!M||!q){v.split(/\s+/).filter(Boolean).forEach(T=>t.classList.add(T)),y.split(/\s+/).filter(Boolean).forEach(T=>t.classList.remove(T)),dt();return}v.split(/\s+/).filter(Boolean).forEach(T=>t.classList.remove(T)),$.preventDefault(),$.dataTransfer&&($.dataTransfer.dropEffect=d?"copy":"move");let j=Ht(t,$.clientX,$.clientY,a);g&&Ie(t,j,g,h)},W=$=>{if(E.dragging&&!(f&&L(f,n))&&(w++,w===1)){let M=At(E.dragging.type,l),q=!0;if(b){let j=L(b,n),T=ot(r,n);typeof j=="number"&&Array.isArray(T)&&T.length>=j&&(q=!1)}M&&q?(y.split(/\s+/).filter(Boolean).forEach(j=>t.classList.add(j)),t.dispatchEvent(new CustomEvent("drag-enter",{bubbles:!1,detail:{item:E.dragging.item,type:E.dragging.type}}))):v.split(/\s+/).filter(Boolean).forEach(j=>t.classList.add(j))}},O=()=>{E.dragging&&(w--,w<=0&&(w=0,y.split(/\s+/).filter(Boolean).forEach($=>t.classList.remove($)),v.split(/\s+/).filter(Boolean).forEach($=>t.classList.remove($)),dt(),t.dispatchEvent(new CustomEvent("drag-leave",{bubbles:!1,detail:{item:E.dragging?.item}}))))},ct=$=>{if($.preventDefault(),$.stopPropagation(),w=0,!E.dragging||f&&L(f,n)||!At(E.dragging.type,l))return;if(b){let Q=L(b,n),F=ot(r,n);if(typeof Q=="number"&&Array.isArray(F)&&F.length>=Q)return}let M=E.dragging.item,q=E.dragging.listDirective,j=E.dragging.sourceIndex,T=Ht(t,$.clientX,$.clientY,a);y.split(/\s+/).filter(Boolean).forEach(Q=>t.classList.remove(Q)),v.split(/\s+/).filter(Boolean).forEach(Q=>t.classList.remove(Q)),dt();let rt=ot(r,n);if(!Array.isArray(rt))return;let gt=q&&q.el===t;if(gt&&j===T){E.dragging=null;return}if(gt&&j+1===T){E.dragging=null;return}let st=[...rt];if(gt){let[Q]=st.splice(j,1),F=j<T?T-1:T;st.splice(F,0,Q),n.$set(r,st),t.dispatchEvent(new CustomEvent("reorder",{bubbles:!0,detail:{list:st,item:M,from:j,to:F}}))}else{let Q=d&&typeof M=="object"?{...M}:M;if(st.splice(T,0,Q),n.$set(r,st),q&&!q.copyMode&&(u||q.removeMode)){let F=ot(q.listPath,q.ctx);if(Array.isArray(F)&&j!=null){let Y=F.filter((Lt,qt)=>qt!==j);q.ctx.$set(q.listPath,Y),q.el.dispatchEvent(new CustomEvent("remove",{bubbles:!0,detail:{list:Y,item:M,index:j}}))}}t.dispatchEvent(new CustomEvent("receive",{bubbles:!0,detail:{list:st,item:M,from:j,fromList:q?ot(q.listPath,q.ctx):null}}))}requestAnimationFrame(()=>{let F=[...t.children][gt&&j<T?T-1:T];if(F){let Y=F.firstElementChild||F;x.split(/\s+/).filter(Boolean).forEach(Lt=>Y.classList.add(Lt)),Y.addEventListener("animationend",()=>{x.split(/\s+/).filter(Boolean).forEach(Lt=>Y.classList.remove(Lt))},{once:!0})}}),E.dragging=null},P=$=>{if(E.dragging&&At(E.dragging.type,l)&&($.key==="Enter"||$.key===" ")){$.preventDefault();let M=t.querySelector(":focus");if(M){let j=(M.style?.display==="contents"&&M.firstElementChild||M).getBoundingClientRect(),T={preventDefault(){},stopPropagation(){},clientX:j.left+j.width/2,clientY:j.top+j.height+1,dataTransfer:null};ct(T)}}};t.addEventListener("dragover",S),t.addEventListener("dragenter",W),t.addEventListener("dragleave",O),t.addEventListener("drop",ct),t.addEventListener("keydown",P),Z(()=>{t.removeEventListener("dragover",S),t.removeEventListener("dragenter",W),t.removeEventListener("dragleave",O),t.removeEventListener("drop",ct),t.removeEventListener("keydown",P)}),n.$watch(I),I()}});k("drag-multiple",{priority:16,init(t,e){let r=N(t),n=t.getAttribute("drag-group"),o=t.getAttribute("drag-multiple-class")||"nojs-selected";if(!n){at("drag-multiple requires drag-group attribute");return}E.selected.has(n)||E.selected.set(n,new Set);let s=E.selected.get(n),i=c=>{let l=t.getAttribute("drag"),u={item:l?L(l,r):null,el:t,ctx:r};if(c.ctrlKey||c.metaKey){let m=[...s].find(f=>f.el===t);m?(s.delete(m),o.split(/\s+/).filter(Boolean).forEach(f=>t.classList.remove(f))):(s.add(u),o.split(/\s+/).filter(Boolean).forEach(f=>t.classList.add(f)))}else{for(let m of s)o.split(/\s+/).filter(Boolean).forEach(f=>m.el.classList.remove(f));s.clear(),s.add(u),o.split(/\s+/).filter(Boolean).forEach(m=>t.classList.add(m))}};t.addEventListener("click",i),Z(()=>{t.removeEventListener("click",i);let c=[...s].find(l=>l.el===t);c&&s.delete(c)});let a=c=>{if(c.key==="Escape"){for(let l of s)o.split(/\s+/).filter(Boolean).forEach(d=>l.el.classList.remove(d));s.clear()}};window.addEventListener("keydown",a),Z(()=>window.removeEventListener("keydown",a))}});function Qe(){if(typeof window>"u")return null;let t=_.router||{};if(t.mode==="hash")return window.location.hash.slice(1)||"/";let e=(t.base||"/").replace(/\/$/,"");return window.location.pathname.replace(e,"")||"/"}var Pt={get baseApiUrl(){return _.baseApiUrl},set baseApiUrl(t){_.baseApiUrl=t},get locale(){return U.locale},set locale(t){U.locale=t},config(t={}){let e={..._.headers},r={..._.cache},n={..._.templates},o={..._.router},s={..._.i18n};if(Object.assign(_,t),t.headers&&(_.headers={...e,...t.headers}),t.csrf&&(_.csrf=t.csrf),t.cache&&(_.cache={...r,...t.cache}),t.templates&&(_.templates={...n,...t.templates}),t.router&&(_.router={...o,...t.router}),t.i18n&&(_.i18n={...s,...t.i18n},U.locale=t.i18n.defaultLocale||U.locale),t.stores){for(let[i,a]of Object.entries(t.stores))z[i]||(z[i]=H(a||{}),nt("store:created",{name:i,keys:Object.keys(a||{})}));delete _.stores}},async init(t){if(typeof document>"u"||Pt._initialized)return;if(Pt._initialized=!0,t=t||document.body,X("Initializing..."),_.i18n.loadPath){let r=new Set([U.locale,_.i18n.fallbackLocale]);await Promise.all([...r].map(n=>Jt(n)))}Ot(t);let e=Qe();await _e(e),document.querySelector("[route-view]")&&ne(Ce()),R(t),G&&await G.init(),X("Initialized."),ve(),me(Pt)},directive(t,e){k(t,e)},filter(t,e){B[t]=e},validator(t,e){ut[t]=e},i18n(t){if(t.loadPath!=null&&(_.i18n.loadPath=t.loadPath),t.ns&&(_.i18n.ns=t.ns),t.cache!=null&&(_.i18n.cache=t.cache),t.persist!=null&&(_.i18n.persist=t.persist),t.locales&&(U.locales=t.locales),t.fallbackLocale&&(_.i18n.fallbackLocale=t.fallbackLocale),t.defaultLocale&&(U._locale=t.defaultLocale),_.i18n.persist&&typeof localStorage<"u")try{let e=localStorage.getItem("nojs-locale");if(e){U._locale=e;return}}catch{}if(t.detectBrowser){let e=typeof navigator<"u"?navigator.language:"en",r=e.split("-")[0];U.locales[e]?U._locale=e:U.locales[r]&&(U._locale=r)}},on(t,e){return vt[t]||(vt[t]=[]),vt[t].push(e),()=>{vt[t]=vt[t].filter(r=>r!==e)}},interceptor(t,e){Ct[t]&&Ct[t].push(e)},get store(){return z},get router(){return G},createContext:H,evaluate:L,findContext:N,processTree:R,resolve:ot,version:"1.7.0"},ao=Pt;export{ao as default};
|
|
64
64
|
//# sourceMappingURL=no.js.map
|