@erickxavier/no-js 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/no.js +2 -2
- package/dist/cjs/no.js.map +1 -1
- package/dist/esm/no.js +2 -2
- package/dist/esm/no.js.map +1 -1
- package/dist/iife/no.js +2 -2
- package/dist/iife/no.js.map +1 -1
- package/package.json +1 -1
- package/src/index.js +1 -1
package/dist/iife/no.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* No.JS v1.3.
|
|
2
|
+
* No.JS v1.3.1 — 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
|
|
@@ -60,5 +60,5 @@ ${l}`)(r,f,...a),typeof t=="string"&&t.includes("$store")&&xt()}catch(n){st("Exp
|
|
|
60
60
|
.nojs-drag-list-empty {
|
|
61
61
|
min-height: 3rem;
|
|
62
62
|
}
|
|
63
|
-
`.trim(),r=document.createElement("style");r.setAttribute("data-nojs-dnd",""),r.textContent=t,document.head.appendChild(r)}function Mt(t,r,e,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(r<c)return i}else if(n==="grid"){let c=a.left+a.width/2,d=a.top+a.height/2;if(e<d&&r<c||e<a.top+a.height&&r<c)return i}else{let c=a.top+a.height/2;if(e<c)return i}}return o.length}function me(t,r,e,n){at();let o;if(e==="auto"){if(o=document.createElement("div"),o.className=n||"nojs-drop-placeholder",g.dragging&&g.dragging.sourceEl){let a=(g.dragging.sourceEl.firstElementChild||g.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(e.startsWith("#")?e.slice(1):e);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"));r>=i.length?t.appendChild(o):t.insertBefore(o,i[r]),g.placeholder=o}function at(){g.placeholder&&(g.placeholder.remove(),g.placeholder=null)}function _t(t,r){return!r||r==="*"?!0:r.split(",").map(n=>n.trim()).includes(t)}function Ce(t,r){let e=document.createElement("div");e.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(r,3);for(let f=c-1;f>=0;f--){let l=document.createElement("div"),p=f*4;l.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;",f===0?(l.innerHTML=n.innerHTML,l.style.background=a.backgroundColor||"#fff",l.style.border=a.border,l.style.padding=a.padding,l.style.fontSize=a.fontSize,l.style.color=a.color,l.style.fontFamily=a.fontFamily):(l.style.background=a.backgroundColor||"#fff",l.style.border=a.border||"1px solid #ddd"),e.appendChild(l)}let d=document.createElement("div");return d.textContent=r,d.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);",e.appendChild(d),e.style.width=i+(c-1)*4+"px",e.style.height=s+(c-1)*4+"px",e}S("drag",{priority:15,init(t,r,e){Xt();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",d=t.getAttribute("drag-disabled"),f=t.getAttribute("drag-class")||"nojs-dragging",l=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 v=b=>{p=!!b.target.closest(s)};t.addEventListener("mousedown",v),G(()=>t.removeEventListener("mousedown",v))}let u=v=>{if(s&&!p){v.preventDefault();return}if(d&&x(d,n)){v.preventDefault();return}let b=x(e,n),A=t.getAttribute("drag-group"),y=b;if(A&&g.selected.has(A)){let E=g.selected.get(A);E.size>0&&[...E].some(_=>_.el===t)&&(y=[...E].map(_=>_.item))}if(g.dragging={item:y,type:o,effect:i,sourceEl:t,sourceCtx:n,sourceList:null,sourceIndex:null,listDirective:null},v.dataTransfer){if(v.dataTransfer.effectAllowed=i,v.dataTransfer.setData("text/plain",""),Array.isArray(y)&&y.length>1&&v.dataTransfer.setDragImage){let E=Ce(t,y.length);document.body.appendChild(E);let T=t.getBoundingClientRect();v.dataTransfer.setDragImage(E,T.width/2,T.height/2),requestAnimationFrame(()=>E.remove())}else if(a&&v.dataTransfer.setDragImage)if(a==="none"){let E=document.createElement("div");E.style.cssText="width:1px;height:1px;opacity:0;position:fixed;top:-999px",document.body.appendChild(E);let[T,_]=c.split(",").map(Number);v.dataTransfer.setDragImage(E,T||0,_||0),requestAnimationFrame(()=>E.remove())}else{let E=t.querySelector(a);if(E){let[T,_]=c.split(",").map(Number);l&&E.classList.add(l),v.dataTransfer.setDragImage(E,T||0,_||0)}}}if(f.split(/\s+/).filter(Boolean).forEach(E=>t.classList.add(E)),Array.isArray(y)&&A&&g.selected.has(A))for(let E of g.selected.get(A))E.el!==t&&f.split(/\s+/).filter(Boolean).forEach(T=>E.el.classList.add(T));t.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:y,index:g.dragging.sourceIndex,el:t}}))},m=()=>{f.split(/\s+/).filter(Boolean).forEach(b=>t.classList.remove(b));let v=t.getAttribute("drag-group");if(v&&g.selected.has(v))for(let b of g.selected.get(v))f.split(/\s+/).filter(Boolean).forEach(A=>b.el.classList.remove(A));if(t.setAttribute("aria-grabbed","false"),l&&a&&a!=="none"){let b=t.querySelector(a);b&&b.classList.remove(l)}t.dispatchEvent(new CustomEvent("drag-end",{bubbles:!0,detail:{item:g.dragging?.item,index:g.dragging?.sourceIndex,dropped:g.dragging===null}})),g.dragging=null,at()};if(t.addEventListener("dragstart",u),t.addEventListener("dragend",m),G(()=>{t.removeEventListener("dragstart",u),t.removeEventListener("dragend",m)}),d){let v=function(){let b=!!x(d,n);t.draggable=!b,b?t.removeAttribute("aria-grabbed"):t.setAttribute("aria-grabbed","false")};n.$watch(v)}let L=v=>{if(g.dragging&&!g.dragging.sourceEl.isConnected&&(g.dragging=null),v.key===" "&&!g.dragging){v.preventDefault();let b=x(e,n);g.dragging={item:b,type:o,effect:i,sourceEl:t,sourceCtx:n,sourceList:null,sourceIndex:null,listDirective:null},f.split(/\s+/).filter(Boolean).forEach(A=>t.classList.add(A)),t.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:b,index:null,el:t}}))}else v.key==="Escape"&&g.dragging&&g.dragging.sourceEl===t&&(v.preventDefault(),f.split(/\s+/).filter(Boolean).forEach(b=>t.classList.remove(b)),t.setAttribute("aria-grabbed","false"),g.dragging=null,at())};t.addEventListener("keydown",L),G(()=>t.removeEventListener("keydown",L))}});S("drop",{priority:15,init(t,r,e){Xt();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"),d=t.getAttribute("drop-max"),f=t.getAttribute("drop-sort"),l=t.getAttribute("drop-placeholder"),p=t.getAttribute("drop-placeholder-class");t.setAttribute("aria-dropeffect",i);let u=0,m=y=>{if(!g.dragging||c&&x(c,n))return;let E=_t(g.dragging.type,o),T=!0;if(d){let _=x(d,n),w=jt(t);typeof _=="number"&&w>=_&&(T=!1)}if(!E||!T){a.split(/\s+/).filter(Boolean).forEach(_=>t.classList.add(_)),s.split(/\s+/).filter(Boolean).forEach(_=>t.classList.remove(_)),at();return}if(a.split(/\s+/).filter(Boolean).forEach(_=>t.classList.remove(_)),y.preventDefault(),y.dataTransfer&&(y.dataTransfer.dropEffect=i),f){let _=Mt(t,y.clientX,y.clientY,f);l&&me(t,_,l,p),t.dispatchEvent(new CustomEvent("drag-over",{bubbles:!1,detail:{item:g.dragging.item,index:_}}))}},L=y=>{if(g.dragging&&!(c&&x(c,n))&&(u++,u===1)){let E=_t(g.dragging.type,o),T=!0;if(d){let _=x(d,n),w=jt(t);typeof _=="number"&&w>=_&&(T=!1)}E&&T?(s.split(/\s+/).filter(Boolean).forEach(_=>t.classList.add(_)),t.dispatchEvent(new CustomEvent("drag-enter",{bubbles:!1,detail:{item:g.dragging.item,type:g.dragging.type}}))):a.split(/\s+/).filter(Boolean).forEach(_=>t.classList.add(_))}},v=y=>{g.dragging&&(u--,u<=0&&(u=0,s.split(/\s+/).filter(Boolean).forEach(E=>t.classList.remove(E)),a.split(/\s+/).filter(Boolean).forEach(E=>t.classList.remove(E)),at(),t.dispatchEvent(new CustomEvent("drag-leave",{bubbles:!1,detail:{item:g.dragging.item}}))))},b=y=>{if(y.preventDefault(),y.stopPropagation(),u=0,!g.dragging||c&&x(c,n)||!_t(g.dragging.type,o))return;if(d){let I=x(d,n),U=jt(t);if(typeof I=="number"&&U>=I)return}let E=g.dragging.item,T=g.dragging.type,_=g.dragging.effect,w=0;f&&(w=Mt(t,y.clientX,y.clientY,f)),s.split(/\s+/).filter(Boolean).forEach(I=>t.classList.remove(I)),a.split(/\s+/).filter(Boolean).forEach(I=>t.classList.remove(I)),at();let F={$drag:E,$dragType:T,$dragEffect:_,$dropIndex:w,$source:{list:g.dragging.sourceList,index:g.dragging.sourceIndex,el:g.dragging.sourceEl},$target:{list:null,index:w,el:t},$el:t};Q(e,n,F),g.dragging=null,t.dispatchEvent(new CustomEvent("drop",{bubbles:!1,detail:{item:E,index:w,source:F.$source,target:F.$target,effect:_}}))},A=y=>{g.dragging&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),b(y))};t.addEventListener("dragover",m),t.addEventListener("dragenter",L),t.addEventListener("dragleave",v),t.addEventListener("drop",b),t.addEventListener("keydown",A),G(()=>{t.removeEventListener("dragover",m),t.removeEventListener("dragenter",L),t.removeEventListener("dragleave",v),t.removeEventListener("drop",b),t.removeEventListener("keydown",A)})}});var pe=new Map;S("drag-list",{priority:10,init(t,r,e){Xt();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_"+e,d=t.getAttribute("drop-accept")||c,f=t.hasAttribute("drag-list-copy"),l=t.hasAttribute("drag-list-remove"),p=t.getAttribute("drag-disabled"),u=t.getAttribute("drop-disabled"),m=t.getAttribute("drop-max"),L=t.getAttribute("drop-placeholder"),v=t.getAttribute("drop-placeholder-class"),b=t.getAttribute("drag-class")||"nojs-dragging",A=t.getAttribute("drop-class")||"nojs-drag-over",y=t.getAttribute("drop-reject-class")||"nojs-drop-reject",E=t.getAttribute("drop-settle-class")||"nojs-drop-settle",T=t.getAttribute("drop-empty-class")||"nojs-drag-list-empty";t.setAttribute("role","listbox"),t.setAttribute("aria-dropeffect",f?"copy":"move");let _={listPath:e,ctx:n,el:t};pe.set(t,_),G(()=>pe.delete(t));let w=0,F=null;function I(){let k=rt(e,n);if(!Array.isArray(k))return;if(k===F&&k.length>0&&t.children.length>0){for(let C of t.children)C.__ctx&&C.__ctx.$notify&&C.__ctx.$notify();return}F=k;let j=o?document.getElementById(o):null;if(!j)return;t.innerHTML="";let P=k.length;k.forEach((C,et)=>{let ft={[s]:C,$index:et,$count:P,$first:et===0,$last:et===P-1,$even:et%2===0,$odd:et%2!==0},ot=O(ft,n),V=j.content.cloneNode(!0),M=document.createElement("div");M.style.display="contents",M.__ctx=ot,M.setAttribute("role","option"),M.appendChild(V),t.appendChild(M);let X=M.firstElementChild||M;X.draggable=!0,X.setAttribute("aria-grabbed","false"),X.getAttribute("tabindex")||X.setAttribute("tabindex","0");let vt=Z=>{if(p&&x(p,n)){Z.preventDefault();return}g.dragging={item:C,type:c,effect:f?"copy":"move",sourceEl:M,sourceCtx:ot,sourceList:k,sourceIndex:et,listDirective:{el:t,listPath:e,ctx:n,keyProp:i,copyMode:f,removeMode:l}},Z.dataTransfer&&(Z.dataTransfer.effectAllowed=f?"copy":"move",Z.dataTransfer.setData("text/plain","")),b.split(/\s+/).filter(Boolean).forEach(it=>X.classList.add(it)),X.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:C,index:et,el:X}}))},Ht=()=>{b.split(/\s+/).filter(Boolean).forEach(Z=>X.classList.remove(Z)),X.setAttribute("aria-grabbed","false"),g.dragging&&g.dragging.sourceEl===M&&(g.dragging=null),at()};M.addEventListener("dragstart",vt),M.addEventListener("dragend",Ht),M.addEventListener("keydown",Z=>{if(Z.key===" "&&!g.dragging)Z.preventDefault(),g.dragging={item:C,type:c,effect:f?"copy":"move",sourceEl:M,sourceCtx:ot,sourceList:k,sourceIndex:et,listDirective:{el:t,listPath:e,ctx:n,keyProp:i,copyMode:f,removeMode:l}},b.split(/\s+/).filter(Boolean).forEach(it=>X.classList.add(it)),X.setAttribute("aria-grabbed","true");else if(Z.key==="Escape"&&g.dragging&&g.dragging.sourceEl===M)Z.preventDefault(),b.split(/\s+/).filter(Boolean).forEach(it=>X.classList.remove(it)),X.setAttribute("aria-grabbed","false"),g.dragging=null,at();else if((Z.key==="ArrowDown"||Z.key==="ArrowRight")&&g.dragging&&g.dragging.sourceEl===M){Z.preventDefault();let it=M.nextElementSibling;it&&(it.firstElementChild||it).focus()}else if((Z.key==="ArrowUp"||Z.key==="ArrowLeft")&&g.dragging&&g.dragging.sourceEl===M){Z.preventDefault();let it=M.previousElementSibling;it&&(it.firstElementChild||it).focus()}}),B(M)});let D=k.length===0;T.split(/\s+/).filter(Boolean).forEach(C=>t.classList.toggle(C,D))}let U=k=>{if(!g.dragging||u&&x(u,n))return;let j=_t(g.dragging.type,d),P=!0;if(m){let C=x(m,n),et=rt(e,n);typeof C=="number"&&Array.isArray(et)&&et.length>=C&&(P=!1)}if(!j||!P){y.split(/\s+/).filter(Boolean).forEach(C=>t.classList.add(C)),A.split(/\s+/).filter(Boolean).forEach(C=>t.classList.remove(C)),at();return}y.split(/\s+/).filter(Boolean).forEach(C=>t.classList.remove(C)),k.preventDefault(),k.dataTransfer&&(k.dataTransfer.dropEffect=f?"copy":"move");let D=Mt(t,k.clientX,k.clientY,a);L&&me(t,D,L,v)},nt=k=>{if(g.dragging&&!(u&&x(u,n))&&(w++,w===1)){let j=_t(g.dragging.type,d),P=!0;if(m){let D=x(m,n),C=rt(e,n);typeof D=="number"&&Array.isArray(C)&&C.length>=D&&(P=!1)}j&&P?(A.split(/\s+/).filter(Boolean).forEach(D=>t.classList.add(D)),t.dispatchEvent(new CustomEvent("drag-enter",{bubbles:!1,detail:{item:g.dragging.item,type:g.dragging.type}}))):y.split(/\s+/).filter(Boolean).forEach(D=>t.classList.add(D))}},H=()=>{g.dragging&&(w--,w<=0&&(w=0,A.split(/\s+/).filter(Boolean).forEach(k=>t.classList.remove(k)),y.split(/\s+/).filter(Boolean).forEach(k=>t.classList.remove(k)),at(),t.dispatchEvent(new CustomEvent("drag-leave",{bubbles:!1,detail:{item:g.dragging?.item}}))))},lt=k=>{if(k.preventDefault(),k.stopPropagation(),w=0,!g.dragging||u&&x(u,n)||!_t(g.dragging.type,d))return;if(m){let V=x(m,n),M=rt(e,n);if(typeof V=="number"&&Array.isArray(M)&&M.length>=V)return}let j=g.dragging.item,P=g.dragging.listDirective,D=g.dragging.sourceIndex,C=Mt(t,k.clientX,k.clientY,a);A.split(/\s+/).filter(Boolean).forEach(V=>t.classList.remove(V)),y.split(/\s+/).filter(Boolean).forEach(V=>t.classList.remove(V)),at();let et=rt(e,n);if(!Array.isArray(et))return;let ft=P&&P.el===t;if(ft&&D===C){g.dragging=null;return}if(ft&&D+1===C){g.dragging=null;return}let ot=[...et];if(ft){let[V]=ot.splice(D,1),M=D<C?C-1:C;ot.splice(M,0,V),n.$set(e,ot),t.dispatchEvent(new CustomEvent("reorder",{bubbles:!0,detail:{list:ot,item:j,from:D,to:M}}))}else{let V=f&&typeof j=="object"?{...j}:j;if(ot.splice(C,0,V),n.$set(e,ot),P&&!P.copyMode&&(l||P.removeMode)){let M=rt(P.listPath,P.ctx);if(Array.isArray(M)&&D!=null){let X=M.filter((vt,Ht)=>Ht!==D);P.ctx.$set(P.listPath,X),P.el.dispatchEvent(new CustomEvent("remove",{bubbles:!0,detail:{list:X,item:j,index:D}}))}}t.dispatchEvent(new CustomEvent("receive",{bubbles:!0,detail:{list:ot,item:j,from:D,fromList:P?rt(P.listPath,P.ctx):null}}))}requestAnimationFrame(()=>{let M=[...t.children][ft&&D<C?C-1:C];if(M){let X=M.firstElementChild||M;E.split(/\s+/).filter(Boolean).forEach(vt=>X.classList.add(vt)),X.addEventListener("animationend",()=>{E.split(/\s+/).filter(Boolean).forEach(vt=>X.classList.remove(vt))},{once:!0})}}),g.dragging=null},R=k=>{if(g.dragging&&_t(g.dragging.type,d)&&(k.key==="Enter"||k.key===" ")){k.preventDefault();let j=t.querySelector(":focus");if(j){let D=(j.style?.display==="contents"&&j.firstElementChild||j).getBoundingClientRect(),C={preventDefault(){},stopPropagation(){},clientX:D.left+D.width/2,clientY:D.top+D.height+1,dataTransfer:null};lt(C)}}};t.addEventListener("dragover",U),t.addEventListener("dragenter",nt),t.addEventListener("dragleave",H),t.addEventListener("drop",lt),t.addEventListener("keydown",R),G(()=>{t.removeEventListener("dragover",U),t.removeEventListener("dragenter",nt),t.removeEventListener("dragleave",H),t.removeEventListener("drop",lt),t.removeEventListener("keydown",R)}),n.$watch(I),I()}});S("drag-multiple",{priority:16,init(t,r){let e=$(t),n=t.getAttribute("drag-group"),o=t.getAttribute("drag-multiple-class")||"nojs-selected";if(!n){st("drag-multiple requires drag-group attribute");return}g.selected.has(n)||g.selected.set(n,new Set);let i=g.selected.get(n),s=c=>{let d=t.getAttribute("drag"),l={item:d?x(d,e):null,el:t,ctx:e};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(l),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(l),o.split(/\s+/).filter(Boolean).forEach(p=>t.classList.add(p))}};t.addEventListener("click",s),G(()=>{t.removeEventListener("click",s);let c=[...i].find(d=>d.el===t);c&&i.delete(c)});let a=c=>{if(c.key==="Escape"){for(let d of i)o.split(/\s+/).filter(Boolean).forEach(f=>d.el.classList.remove(f));i.clear()}};window.addEventListener("keydown",a),G(()=>window.removeEventListener("keydown",a))}});function Te(){if(typeof window>"u")return null;let t=h.router||{};if(t.mode==="hash")return window.location.hash.slice(1)||"/";let r=(t.base||"/").replace(/\/$/,"");return window.location.pathname.replace(r,"")||"/"}var ge={get baseApiUrl(){return h.baseApiUrl},set baseApiUrl(t){h.baseApiUrl=t},get locale(){return q.locale},set locale(t){q.locale=t},config(t={}){let r={...h.headers},e={...h.cache},n={...h.templates},o={...h.router},i={...h.i18n};Object.assign(h,t),t.headers&&(h.headers={...r,...t.headers}),t.csrf&&(h.csrf=t.csrf),t.cache&&(h.cache={...e,...t.cache}),t.templates&&(h.templates={...n,...t.templates}),t.router&&(h.router={...o,...t.router}),t.i18n&&(h.i18n={...i,...t.i18n},q.locale=t.i18n.defaultLocale||q.locale)},async init(t){if(typeof document>"u")return;if(t=t||document.body,J("Initializing..."),h.i18n.loadPath){let e=new Set([q.locale,h.i18n.fallbackLocale]);await Promise.all([...e].map(n=>Wt(n)))}kt(t);let r=Te();await oe(r),document.querySelector("[route-view]")&&Vt(fe()),B(t),tt&&await tt.init(),J("Initialized."),ie(),h.devtools&&typeof window<"u"&&(window.__NOJS_DEVTOOLS__={stores:Y,config:h,refs:ut,router:tt,filters:Object.keys(N),validators:Object.keys(bt),version:ge.version},J("DevTools enabled \u2014 access via window.__NOJS_DEVTOOLS__"))},directive(t,r){S(t,r)},filter(t,r){N[t]=r},validator(t,r){bt[t]=r},i18n(t){if(t.loadPath!=null&&(h.i18n.loadPath=t.loadPath),t.ns&&(h.i18n.ns=t.ns),t.cache!=null&&(h.i18n.cache=t.cache),t.persist!=null&&(h.i18n.persist=t.persist),t.locales&&(q.locales=t.locales),t.fallbackLocale&&(h.i18n.fallbackLocale=t.fallbackLocale),t.defaultLocale&&(q._locale=t.defaultLocale),h.i18n.persist&&typeof localStorage<"u")try{let r=localStorage.getItem("nojs-locale");if(r&&q.locales[r]){q._locale=r;return}}catch{}if(t.detectBrowser){let r=typeof navigator<"u"?navigator.language:"en",e=r.split("-")[0];q.locales[r]?q._locale=r:q.locales[e]&&(q._locale=e)}},on(t,r){return ht[t]||(ht[t]=[]),ht[t].push(r),()=>{ht[t]=ht[t].filter(e=>e!==r)}},interceptor(t,r){Et[t]&&Et[t].push(r)},get store(){return Y},get router(){return tt},createContext:O,evaluate:x,findContext:$,processTree:B,resolve:rt,version:"1.3.0"},Ot=ge;window.NoJS=Ot;document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>Ot.init()):Ot.init();})();
|
|
63
|
+
`.trim(),r=document.createElement("style");r.setAttribute("data-nojs-dnd",""),r.textContent=t,document.head.appendChild(r)}function Mt(t,r,e,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(r<c)return i}else if(n==="grid"){let c=a.left+a.width/2,d=a.top+a.height/2;if(e<d&&r<c||e<a.top+a.height&&r<c)return i}else{let c=a.top+a.height/2;if(e<c)return i}}return o.length}function me(t,r,e,n){at();let o;if(e==="auto"){if(o=document.createElement("div"),o.className=n||"nojs-drop-placeholder",g.dragging&&g.dragging.sourceEl){let a=(g.dragging.sourceEl.firstElementChild||g.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(e.startsWith("#")?e.slice(1):e);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"));r>=i.length?t.appendChild(o):t.insertBefore(o,i[r]),g.placeholder=o}function at(){g.placeholder&&(g.placeholder.remove(),g.placeholder=null)}function _t(t,r){return!r||r==="*"?!0:r.split(",").map(n=>n.trim()).includes(t)}function Ce(t,r){let e=document.createElement("div");e.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(r,3);for(let f=c-1;f>=0;f--){let l=document.createElement("div"),p=f*4;l.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;",f===0?(l.innerHTML=n.innerHTML,l.style.background=a.backgroundColor||"#fff",l.style.border=a.border,l.style.padding=a.padding,l.style.fontSize=a.fontSize,l.style.color=a.color,l.style.fontFamily=a.fontFamily):(l.style.background=a.backgroundColor||"#fff",l.style.border=a.border||"1px solid #ddd"),e.appendChild(l)}let d=document.createElement("div");return d.textContent=r,d.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);",e.appendChild(d),e.style.width=i+(c-1)*4+"px",e.style.height=s+(c-1)*4+"px",e}S("drag",{priority:15,init(t,r,e){Xt();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",d=t.getAttribute("drag-disabled"),f=t.getAttribute("drag-class")||"nojs-dragging",l=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 v=b=>{p=!!b.target.closest(s)};t.addEventListener("mousedown",v),G(()=>t.removeEventListener("mousedown",v))}let u=v=>{if(s&&!p){v.preventDefault();return}if(d&&x(d,n)){v.preventDefault();return}let b=x(e,n),A=t.getAttribute("drag-group"),y=b;if(A&&g.selected.has(A)){let E=g.selected.get(A);E.size>0&&[...E].some(_=>_.el===t)&&(y=[...E].map(_=>_.item))}if(g.dragging={item:y,type:o,effect:i,sourceEl:t,sourceCtx:n,sourceList:null,sourceIndex:null,listDirective:null},v.dataTransfer){if(v.dataTransfer.effectAllowed=i,v.dataTransfer.setData("text/plain",""),Array.isArray(y)&&y.length>1&&v.dataTransfer.setDragImage){let E=Ce(t,y.length);document.body.appendChild(E);let T=t.getBoundingClientRect();v.dataTransfer.setDragImage(E,T.width/2,T.height/2),requestAnimationFrame(()=>E.remove())}else if(a&&v.dataTransfer.setDragImage)if(a==="none"){let E=document.createElement("div");E.style.cssText="width:1px;height:1px;opacity:0;position:fixed;top:-999px",document.body.appendChild(E);let[T,_]=c.split(",").map(Number);v.dataTransfer.setDragImage(E,T||0,_||0),requestAnimationFrame(()=>E.remove())}else{let E=t.querySelector(a);if(E){let[T,_]=c.split(",").map(Number);l&&E.classList.add(l),v.dataTransfer.setDragImage(E,T||0,_||0)}}}if(f.split(/\s+/).filter(Boolean).forEach(E=>t.classList.add(E)),Array.isArray(y)&&A&&g.selected.has(A))for(let E of g.selected.get(A))E.el!==t&&f.split(/\s+/).filter(Boolean).forEach(T=>E.el.classList.add(T));t.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:y,index:g.dragging.sourceIndex,el:t}}))},m=()=>{f.split(/\s+/).filter(Boolean).forEach(b=>t.classList.remove(b));let v=t.getAttribute("drag-group");if(v&&g.selected.has(v))for(let b of g.selected.get(v))f.split(/\s+/).filter(Boolean).forEach(A=>b.el.classList.remove(A));if(t.setAttribute("aria-grabbed","false"),l&&a&&a!=="none"){let b=t.querySelector(a);b&&b.classList.remove(l)}t.dispatchEvent(new CustomEvent("drag-end",{bubbles:!0,detail:{item:g.dragging?.item,index:g.dragging?.sourceIndex,dropped:g.dragging===null}})),g.dragging=null,at()};if(t.addEventListener("dragstart",u),t.addEventListener("dragend",m),G(()=>{t.removeEventListener("dragstart",u),t.removeEventListener("dragend",m)}),d){let v=function(){let b=!!x(d,n);t.draggable=!b,b?t.removeAttribute("aria-grabbed"):t.setAttribute("aria-grabbed","false")};n.$watch(v)}let L=v=>{if(g.dragging&&!g.dragging.sourceEl.isConnected&&(g.dragging=null),v.key===" "&&!g.dragging){v.preventDefault();let b=x(e,n);g.dragging={item:b,type:o,effect:i,sourceEl:t,sourceCtx:n,sourceList:null,sourceIndex:null,listDirective:null},f.split(/\s+/).filter(Boolean).forEach(A=>t.classList.add(A)),t.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:b,index:null,el:t}}))}else v.key==="Escape"&&g.dragging&&g.dragging.sourceEl===t&&(v.preventDefault(),f.split(/\s+/).filter(Boolean).forEach(b=>t.classList.remove(b)),t.setAttribute("aria-grabbed","false"),g.dragging=null,at())};t.addEventListener("keydown",L),G(()=>t.removeEventListener("keydown",L))}});S("drop",{priority:15,init(t,r,e){Xt();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"),d=t.getAttribute("drop-max"),f=t.getAttribute("drop-sort"),l=t.getAttribute("drop-placeholder"),p=t.getAttribute("drop-placeholder-class");t.setAttribute("aria-dropeffect",i);let u=0,m=y=>{if(!g.dragging||c&&x(c,n))return;let E=_t(g.dragging.type,o),T=!0;if(d){let _=x(d,n),w=jt(t);typeof _=="number"&&w>=_&&(T=!1)}if(!E||!T){a.split(/\s+/).filter(Boolean).forEach(_=>t.classList.add(_)),s.split(/\s+/).filter(Boolean).forEach(_=>t.classList.remove(_)),at();return}if(a.split(/\s+/).filter(Boolean).forEach(_=>t.classList.remove(_)),y.preventDefault(),y.dataTransfer&&(y.dataTransfer.dropEffect=i),f){let _=Mt(t,y.clientX,y.clientY,f);l&&me(t,_,l,p),t.dispatchEvent(new CustomEvent("drag-over",{bubbles:!1,detail:{item:g.dragging.item,index:_}}))}},L=y=>{if(g.dragging&&!(c&&x(c,n))&&(u++,u===1)){let E=_t(g.dragging.type,o),T=!0;if(d){let _=x(d,n),w=jt(t);typeof _=="number"&&w>=_&&(T=!1)}E&&T?(s.split(/\s+/).filter(Boolean).forEach(_=>t.classList.add(_)),t.dispatchEvent(new CustomEvent("drag-enter",{bubbles:!1,detail:{item:g.dragging.item,type:g.dragging.type}}))):a.split(/\s+/).filter(Boolean).forEach(_=>t.classList.add(_))}},v=y=>{g.dragging&&(u--,u<=0&&(u=0,s.split(/\s+/).filter(Boolean).forEach(E=>t.classList.remove(E)),a.split(/\s+/).filter(Boolean).forEach(E=>t.classList.remove(E)),at(),t.dispatchEvent(new CustomEvent("drag-leave",{bubbles:!1,detail:{item:g.dragging.item}}))))},b=y=>{if(y.preventDefault(),y.stopPropagation(),u=0,!g.dragging||c&&x(c,n)||!_t(g.dragging.type,o))return;if(d){let I=x(d,n),U=jt(t);if(typeof I=="number"&&U>=I)return}let E=g.dragging.item,T=g.dragging.type,_=g.dragging.effect,w=0;f&&(w=Mt(t,y.clientX,y.clientY,f)),s.split(/\s+/).filter(Boolean).forEach(I=>t.classList.remove(I)),a.split(/\s+/).filter(Boolean).forEach(I=>t.classList.remove(I)),at();let F={$drag:E,$dragType:T,$dragEffect:_,$dropIndex:w,$source:{list:g.dragging.sourceList,index:g.dragging.sourceIndex,el:g.dragging.sourceEl},$target:{list:null,index:w,el:t},$el:t};Q(e,n,F),g.dragging=null,t.dispatchEvent(new CustomEvent("drop",{bubbles:!1,detail:{item:E,index:w,source:F.$source,target:F.$target,effect:_}}))},A=y=>{g.dragging&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),b(y))};t.addEventListener("dragover",m),t.addEventListener("dragenter",L),t.addEventListener("dragleave",v),t.addEventListener("drop",b),t.addEventListener("keydown",A),G(()=>{t.removeEventListener("dragover",m),t.removeEventListener("dragenter",L),t.removeEventListener("dragleave",v),t.removeEventListener("drop",b),t.removeEventListener("keydown",A)})}});var pe=new Map;S("drag-list",{priority:10,init(t,r,e){Xt();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_"+e,d=t.getAttribute("drop-accept")||c,f=t.hasAttribute("drag-list-copy"),l=t.hasAttribute("drag-list-remove"),p=t.getAttribute("drag-disabled"),u=t.getAttribute("drop-disabled"),m=t.getAttribute("drop-max"),L=t.getAttribute("drop-placeholder"),v=t.getAttribute("drop-placeholder-class"),b=t.getAttribute("drag-class")||"nojs-dragging",A=t.getAttribute("drop-class")||"nojs-drag-over",y=t.getAttribute("drop-reject-class")||"nojs-drop-reject",E=t.getAttribute("drop-settle-class")||"nojs-drop-settle",T=t.getAttribute("drop-empty-class")||"nojs-drag-list-empty";t.setAttribute("role","listbox"),t.setAttribute("aria-dropeffect",f?"copy":"move");let _={listPath:e,ctx:n,el:t};pe.set(t,_),G(()=>pe.delete(t));let w=0,F=null;function I(){let k=rt(e,n);if(!Array.isArray(k))return;if(k===F&&k.length>0&&t.children.length>0){for(let C of t.children)C.__ctx&&C.__ctx.$notify&&C.__ctx.$notify();return}F=k;let j=o?document.getElementById(o):null;if(!j)return;t.innerHTML="";let P=k.length;k.forEach((C,et)=>{let ft={[s]:C,$index:et,$count:P,$first:et===0,$last:et===P-1,$even:et%2===0,$odd:et%2!==0},ot=O(ft,n),V=j.content.cloneNode(!0),M=document.createElement("div");M.style.display="contents",M.__ctx=ot,M.setAttribute("role","option"),M.appendChild(V),t.appendChild(M);let X=M.firstElementChild||M;X.draggable=!0,X.setAttribute("aria-grabbed","false"),X.getAttribute("tabindex")||X.setAttribute("tabindex","0");let vt=Z=>{if(p&&x(p,n)){Z.preventDefault();return}g.dragging={item:C,type:c,effect:f?"copy":"move",sourceEl:M,sourceCtx:ot,sourceList:k,sourceIndex:et,listDirective:{el:t,listPath:e,ctx:n,keyProp:i,copyMode:f,removeMode:l}},Z.dataTransfer&&(Z.dataTransfer.effectAllowed=f?"copy":"move",Z.dataTransfer.setData("text/plain","")),b.split(/\s+/).filter(Boolean).forEach(it=>X.classList.add(it)),X.setAttribute("aria-grabbed","true"),t.dispatchEvent(new CustomEvent("drag-start",{bubbles:!0,detail:{item:C,index:et,el:X}}))},Ht=()=>{b.split(/\s+/).filter(Boolean).forEach(Z=>X.classList.remove(Z)),X.setAttribute("aria-grabbed","false"),g.dragging&&g.dragging.sourceEl===M&&(g.dragging=null),at()};M.addEventListener("dragstart",vt),M.addEventListener("dragend",Ht),M.addEventListener("keydown",Z=>{if(Z.key===" "&&!g.dragging)Z.preventDefault(),g.dragging={item:C,type:c,effect:f?"copy":"move",sourceEl:M,sourceCtx:ot,sourceList:k,sourceIndex:et,listDirective:{el:t,listPath:e,ctx:n,keyProp:i,copyMode:f,removeMode:l}},b.split(/\s+/).filter(Boolean).forEach(it=>X.classList.add(it)),X.setAttribute("aria-grabbed","true");else if(Z.key==="Escape"&&g.dragging&&g.dragging.sourceEl===M)Z.preventDefault(),b.split(/\s+/).filter(Boolean).forEach(it=>X.classList.remove(it)),X.setAttribute("aria-grabbed","false"),g.dragging=null,at();else if((Z.key==="ArrowDown"||Z.key==="ArrowRight")&&g.dragging&&g.dragging.sourceEl===M){Z.preventDefault();let it=M.nextElementSibling;it&&(it.firstElementChild||it).focus()}else if((Z.key==="ArrowUp"||Z.key==="ArrowLeft")&&g.dragging&&g.dragging.sourceEl===M){Z.preventDefault();let it=M.previousElementSibling;it&&(it.firstElementChild||it).focus()}}),B(M)});let D=k.length===0;T.split(/\s+/).filter(Boolean).forEach(C=>t.classList.toggle(C,D))}let U=k=>{if(!g.dragging||u&&x(u,n))return;let j=_t(g.dragging.type,d),P=!0;if(m){let C=x(m,n),et=rt(e,n);typeof C=="number"&&Array.isArray(et)&&et.length>=C&&(P=!1)}if(!j||!P){y.split(/\s+/).filter(Boolean).forEach(C=>t.classList.add(C)),A.split(/\s+/).filter(Boolean).forEach(C=>t.classList.remove(C)),at();return}y.split(/\s+/).filter(Boolean).forEach(C=>t.classList.remove(C)),k.preventDefault(),k.dataTransfer&&(k.dataTransfer.dropEffect=f?"copy":"move");let D=Mt(t,k.clientX,k.clientY,a);L&&me(t,D,L,v)},nt=k=>{if(g.dragging&&!(u&&x(u,n))&&(w++,w===1)){let j=_t(g.dragging.type,d),P=!0;if(m){let D=x(m,n),C=rt(e,n);typeof D=="number"&&Array.isArray(C)&&C.length>=D&&(P=!1)}j&&P?(A.split(/\s+/).filter(Boolean).forEach(D=>t.classList.add(D)),t.dispatchEvent(new CustomEvent("drag-enter",{bubbles:!1,detail:{item:g.dragging.item,type:g.dragging.type}}))):y.split(/\s+/).filter(Boolean).forEach(D=>t.classList.add(D))}},H=()=>{g.dragging&&(w--,w<=0&&(w=0,A.split(/\s+/).filter(Boolean).forEach(k=>t.classList.remove(k)),y.split(/\s+/).filter(Boolean).forEach(k=>t.classList.remove(k)),at(),t.dispatchEvent(new CustomEvent("drag-leave",{bubbles:!1,detail:{item:g.dragging?.item}}))))},lt=k=>{if(k.preventDefault(),k.stopPropagation(),w=0,!g.dragging||u&&x(u,n)||!_t(g.dragging.type,d))return;if(m){let V=x(m,n),M=rt(e,n);if(typeof V=="number"&&Array.isArray(M)&&M.length>=V)return}let j=g.dragging.item,P=g.dragging.listDirective,D=g.dragging.sourceIndex,C=Mt(t,k.clientX,k.clientY,a);A.split(/\s+/).filter(Boolean).forEach(V=>t.classList.remove(V)),y.split(/\s+/).filter(Boolean).forEach(V=>t.classList.remove(V)),at();let et=rt(e,n);if(!Array.isArray(et))return;let ft=P&&P.el===t;if(ft&&D===C){g.dragging=null;return}if(ft&&D+1===C){g.dragging=null;return}let ot=[...et];if(ft){let[V]=ot.splice(D,1),M=D<C?C-1:C;ot.splice(M,0,V),n.$set(e,ot),t.dispatchEvent(new CustomEvent("reorder",{bubbles:!0,detail:{list:ot,item:j,from:D,to:M}}))}else{let V=f&&typeof j=="object"?{...j}:j;if(ot.splice(C,0,V),n.$set(e,ot),P&&!P.copyMode&&(l||P.removeMode)){let M=rt(P.listPath,P.ctx);if(Array.isArray(M)&&D!=null){let X=M.filter((vt,Ht)=>Ht!==D);P.ctx.$set(P.listPath,X),P.el.dispatchEvent(new CustomEvent("remove",{bubbles:!0,detail:{list:X,item:j,index:D}}))}}t.dispatchEvent(new CustomEvent("receive",{bubbles:!0,detail:{list:ot,item:j,from:D,fromList:P?rt(P.listPath,P.ctx):null}}))}requestAnimationFrame(()=>{let M=[...t.children][ft&&D<C?C-1:C];if(M){let X=M.firstElementChild||M;E.split(/\s+/).filter(Boolean).forEach(vt=>X.classList.add(vt)),X.addEventListener("animationend",()=>{E.split(/\s+/).filter(Boolean).forEach(vt=>X.classList.remove(vt))},{once:!0})}}),g.dragging=null},R=k=>{if(g.dragging&&_t(g.dragging.type,d)&&(k.key==="Enter"||k.key===" ")){k.preventDefault();let j=t.querySelector(":focus");if(j){let D=(j.style?.display==="contents"&&j.firstElementChild||j).getBoundingClientRect(),C={preventDefault(){},stopPropagation(){},clientX:D.left+D.width/2,clientY:D.top+D.height+1,dataTransfer:null};lt(C)}}};t.addEventListener("dragover",U),t.addEventListener("dragenter",nt),t.addEventListener("dragleave",H),t.addEventListener("drop",lt),t.addEventListener("keydown",R),G(()=>{t.removeEventListener("dragover",U),t.removeEventListener("dragenter",nt),t.removeEventListener("dragleave",H),t.removeEventListener("drop",lt),t.removeEventListener("keydown",R)}),n.$watch(I),I()}});S("drag-multiple",{priority:16,init(t,r){let e=$(t),n=t.getAttribute("drag-group"),o=t.getAttribute("drag-multiple-class")||"nojs-selected";if(!n){st("drag-multiple requires drag-group attribute");return}g.selected.has(n)||g.selected.set(n,new Set);let i=g.selected.get(n),s=c=>{let d=t.getAttribute("drag"),l={item:d?x(d,e):null,el:t,ctx:e};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(l),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(l),o.split(/\s+/).filter(Boolean).forEach(p=>t.classList.add(p))}};t.addEventListener("click",s),G(()=>{t.removeEventListener("click",s);let c=[...i].find(d=>d.el===t);c&&i.delete(c)});let a=c=>{if(c.key==="Escape"){for(let d of i)o.split(/\s+/).filter(Boolean).forEach(f=>d.el.classList.remove(f));i.clear()}};window.addEventListener("keydown",a),G(()=>window.removeEventListener("keydown",a))}});function Te(){if(typeof window>"u")return null;let t=h.router||{};if(t.mode==="hash")return window.location.hash.slice(1)||"/";let r=(t.base||"/").replace(/\/$/,"");return window.location.pathname.replace(r,"")||"/"}var ge={get baseApiUrl(){return h.baseApiUrl},set baseApiUrl(t){h.baseApiUrl=t},get locale(){return q.locale},set locale(t){q.locale=t},config(t={}){let r={...h.headers},e={...h.cache},n={...h.templates},o={...h.router},i={...h.i18n};Object.assign(h,t),t.headers&&(h.headers={...r,...t.headers}),t.csrf&&(h.csrf=t.csrf),t.cache&&(h.cache={...e,...t.cache}),t.templates&&(h.templates={...n,...t.templates}),t.router&&(h.router={...o,...t.router}),t.i18n&&(h.i18n={...i,...t.i18n},q.locale=t.i18n.defaultLocale||q.locale)},async init(t){if(typeof document>"u")return;if(t=t||document.body,J("Initializing..."),h.i18n.loadPath){let e=new Set([q.locale,h.i18n.fallbackLocale]);await Promise.all([...e].map(n=>Wt(n)))}kt(t);let r=Te();await oe(r),document.querySelector("[route-view]")&&Vt(fe()),B(t),tt&&await tt.init(),J("Initialized."),ie(),h.devtools&&typeof window<"u"&&(window.__NOJS_DEVTOOLS__={stores:Y,config:h,refs:ut,router:tt,filters:Object.keys(N),validators:Object.keys(bt),version:ge.version},J("DevTools enabled \u2014 access via window.__NOJS_DEVTOOLS__"))},directive(t,r){S(t,r)},filter(t,r){N[t]=r},validator(t,r){bt[t]=r},i18n(t){if(t.loadPath!=null&&(h.i18n.loadPath=t.loadPath),t.ns&&(h.i18n.ns=t.ns),t.cache!=null&&(h.i18n.cache=t.cache),t.persist!=null&&(h.i18n.persist=t.persist),t.locales&&(q.locales=t.locales),t.fallbackLocale&&(h.i18n.fallbackLocale=t.fallbackLocale),t.defaultLocale&&(q._locale=t.defaultLocale),h.i18n.persist&&typeof localStorage<"u")try{let r=localStorage.getItem("nojs-locale");if(r&&q.locales[r]){q._locale=r;return}}catch{}if(t.detectBrowser){let r=typeof navigator<"u"?navigator.language:"en",e=r.split("-")[0];q.locales[r]?q._locale=r:q.locales[e]&&(q._locale=e)}},on(t,r){return ht[t]||(ht[t]=[]),ht[t].push(r),()=>{ht[t]=ht[t].filter(e=>e!==r)}},interceptor(t,r){Et[t]&&Et[t].push(r)},get store(){return Y},get router(){return tt},createContext:O,evaluate:x,findContext:$,processTree:B,resolve:rt,version:"1.3.1"},Ot=ge;window.NoJS=Ot;document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>Ot.init()):Ot.init();})();
|
|
64
64
|
//# sourceMappingURL=no.js.map
|