jqx-es 1.0.0 → 1.0.2
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/Bundle/jqx.browser.min.js +9 -9
- package/Bundle/jqx.min.js +9 -9
- package/README.md +13 -16
- package/package.json +1 -1
- package/src/JQxMethods.js +16 -2
- package/src/SyncedExternals.js +1 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var JQx=(()=>{var se=Object.defineProperty;var
|
|
2
|
-
`;e.forEach(o=>k?console.info(`${Q()} \u2714 ${
|
|
3
|
-
`,o)})}function
|
|
4
|
-
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(g,x){return[...e.rules].find(u=>x?
|
|
1
|
+
var JQx=(()=>{var se=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var rt=Object.prototype.hasOwnProperty;var ot=(e,t)=>{for(var r in t)se(e,r,{get:t[r],enumerable:!0})},nt=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of tt(t))!rt.call(e,n)&&n!==r&&se(e,n,{get:()=>t[n],enumerable:!(o=et(t,n))||o.enumerable});return e};var it=e=>nt(se({},"__esModule",{value:!0}),e);var pr={};ot(pr,{default:()=>h});var st="url('data:image/svg+xml\\3butf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20id%3D%22Layer_1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20128%20128%22%20style%3D%22enable-background%3Anew%200%200%20128%20128%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20x%3D%22-368%22%20y%3D%226%22%20style%3D%22display%3Anone%3Bfill%3A%23E0E0E0%3B%22%20width%3D%22866%22%20height%3D%221018%22%2F%3E%3Ccircle%20style%3D%22fill%3A%23FFFFFF%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Ccircle%20style%3D%22fill%3A%238CCFB9%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2239%22%2F%3E%3Ccircle%20style%3D%22fill%3Anone%3Bstroke%3A%23444B54%3Bstroke-width%3A6%3Bstroke-miterlimit%3A10%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Cpolyline%20style%3D%22fill%3Anone%3Bstroke%3A%23FFFFFF%3Bstroke-width%3A6%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%3B%22%20points%3D%2242%2C69%2055.55%2C81%20%20%2086%2C46%20%22%2F%3E%3C%2Fsvg%3E')",le=at(),we=ut(),P=lt(),q=ct();function lt(){return{html:Object.freeze("accept,action,align,alt,autocapitalize,autocomplete,autopictureinpicture,autoplay,background,bgcolor,border,capture,cellpadding,cellspacing,checked,cite,class,clear,contenteditable,color,cols,colspan,controls,controlslist,coords,crossorigin,datetime,decoding,default,dir,disabled,disablepictureinpicture,disableremoteplayback,download,draggable,enctype,enterkeyhint,face,for,headers,height,hidden,high,href,hreflang,id,inputmode,integrity,is,ismap,kind,label,lang,list,loading,loop,low,max,maxlength,media,method,min,minlength,multiple,muted,name,nonce,noshade,novalidate,nowrap,open,optimum,pattern,placeholder,playsinline,poster,preload,pubdate,radiogroup,readonly,rel,required,rev,reversed,role,rows,rowspan,spellcheck,scope,selected,shape,size,sizes,span,srclang,start,src,srcset,step,style,summary,tabindex,target,title,translate,type,usemap,valign,value,width,xmlns,slot".split(",")),svg:Object.freeze("accent-height,accumulate,additive,alignment-baseline,ascent,attributename,attributetype,azimuth,basefrequency,baseline-shift,begin,bias,by,class,clip,clippathunits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,cx,cy,d,dx,dy,diffuseconstant,direction,display,divisor,dur,edgemode,elevation,end,fill,fill-opacity,fill-rule,filter,filterunits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,fx,fy,g1,g2,glyph-name,glyphref,gradientunits,gradienttransform,height,href,id,image-rendering,in,in2,k,k1,k2,k3,k4,kerning,keypoints,keysplines,keytimes,lang,lengthadjust,letter-spacing,kernelmatrix,kernelunitlength,lighting-color,local,marker-end,marker-mid,marker-start,markerheight,markerunits,markerwidth,maskcontentunits,maskunits,max,mask,media,method,mode,min,name,numoctaves,offset,operator,opacity,order,orient,orientation,origin,overflow,paint-order,path,pathlength,patterncontentunits,patterntransform,patternunits,points,preservealpha,preserveaspectratio,primitiveunits,r,rx,ry,radius,refx,refy,repeatcount,repeatdur,restart,result,rotate,scale,seed,shape-rendering,specularconstant,specularexponent,spreadmethod,startoffset,stddeviation,stitchtiles,stop-color,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke,stroke-width,style,surfacescale,systemlanguage,tabindex,targetx,targety,transform,text-anchor,text-decoration,text-rendering,textlength,type,u1,u2,unicode,values,viewbox,visibility,version,vert-adv-y,vert-origin-x,vert-origin-y,width,word-spacing,wrap,writing-mode,xchannelselector,ychannelselector,x,x1,x2,xmlns,y,y1,y2,z,zoomandpan".split(","))}}function ct(){return{a:!0,area:!0,audio:!1,br:!0,base:!0,body:!0,button:!0,canvas:!0,comment:!0,dl:!0,data:!0,datalist:!0,div:!0,em:!0,embed:!1,fieldset:!0,font:!0,footer:!0,form:!1,hr:!0,head:!0,header:!0,output:!0,iframe:!1,frameset:!1,img:!0,input:!0,li:!0,label:!0,legend:!0,link:!0,map:!0,mark:!0,menu:!0,media:!0,meta:!0,nav:!0,meter:!0,ol:!0,object:!1,optgroup:!0,option:!0,p:!0,param:!0,picture:!0,pre:!0,progress:!1,quote:!0,script:!1,select:!0,source:!0,span:!0,style:!0,caption:!0,td:!0,col:!0,table:!0,tr:!0,template:!1,textarea:!0,time:!0,title:!0,track:!0,details:!0,ul:!0,video:!0,del:!0,ins:!0,slot:!0,blockquote:!0,svg:!0,dialog:!0,summary:!0,main:!0,address:!0,colgroup:!0,tbody:!0,tfoot:!0,thead:!0,th:!0,dd:!0,dt:!0,figcaption:!0,figure:!0,i:!0,b:!0,code:!0,h1:!0,h2:!0,h3:!0,h4:!0,abbr:!0,bdo:!0,dfn:!0,kbd:!0,q:!0,rb:!0,rp:!0,rt:!0,ruby:!0,s:!0,strike:!0,samp:!0,small:!0,strong:!0,sup:!0,sub:!0,u:!0,var:!0,wbr:!0,nobr:!0,tt:!0,noscript:!0}}function at(){return["#logBox{min-width:0px;max-width:0px;min-height:0px;max-height:0px;width:0;height:0;z-index:-1;border:none;padding:0px;overflow:hidden;transition:all 0.3s ease;margin-top:-100px;}","#logBox.visible{background-color:rgb(255, 255, 224);z-index:1;position:static;border:1px dotted rgb(153, 153, 153);max-width:50vw;min-width:30vw;min-height:10vh;max-height:90vh;overflow:auto;width:50vw;height:20vh;margin:1rem 0px;padding:0px 8px 19px;resize:both;}","#logBox.visible .legend{position:absolute;}","#logBox .legend{text-align:center;margin-top:-1em;width:inherit;max-width:inherit;}","#logBox .legend div{text-align:center;display:inline-block;max-width:inherit;height:1.2rem;background-color:rgb(119, 119, 119);padding:2px 10px;color:rgb(255, 255, 255);box-shadow:rgb(119 119 119) 2px 1px 10px;border-radius:4px;}","#logBox .legend div:before{content:'JQx Logging (chronological)';}","#logBox .legend.reversed div:before{content:'JQx Logging (reversed)';}","#logBox #jqx_logger{marginTop:0.7rem;lineHeight:1.4em;font-family:consolas,monospace;whiteSpace:pre-wrap;maxWidth:inherit;padding-left:100px;}","#logBox #jqx_logger div.entry{text-indent:-100px;whiteSpace:normal;}"]}function ut(){return[".popupContainer{position:fixed;inset:-5000px;opacity:0;height:0;width:0;background:rgba(0,0,0,0.1);transition:opacity 0.6s ease-in-out 0s;}",".popupContainer.popup-active{opacity:1;inset:0;height:auto;width:auto;z-index:2147483646;}",".popupContainer .content{box-shadow:rgba(0,0,0,0.5) 2px 2px 8px;border-radius:3px;min-width:125px;max-width:40vw;max-height:40vh;padding:8px;overflow:auto;background:#FFF;z-index:inherit;opacity:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}",".popupContainer .content .popup-warn{position:relative;padding:3px 8px 0 8px;color:red;margin:6px -8px -4px -8px;text-align:center;display:none;}",".popupContainer .content.popup-warn-active .popup-warn{display:block;border-top:1px dashed rgb(0,0,0);}",`.closeHandleIcon{z-index:1;position:absolute;opacity:0;cursor:pointer;width:24px;height:24px;background:${st} no-repeat;}`,".closeHandleIcon.popup-active{opacity:1;z-index:2147483647;}","@media screen and (width < 1200px){.popupContainer .content{max-width:75vw;}}","@media screen and (width < 640px){.popupContainer .content{max-width:90vw;max-height:60vw;}}"]}var ce=!1,dt={on:()=>ce=!0,off:()=>ce=!1},j={tagsRaw:q,allowUnknownHtmlTags:dt,isAllowed(e){if(ce)return!0;let t=c(e,String)?e.toLowerCase():e?.nodeName.toLowerCase()||"none";return t==="#text"||!!q[t]},allowTag:e=>q[e.toLowerCase()]=!0,prohibitTag:e=>q[e.toLowerCase()]=!1};var de=!1,U=!1,k=!0,fe=!1,ft=!0,Ce,J=()=>h("#logBox"),$e="#jqx_logger",mt=e=>{le?.forEach(t=>e(t))},gt=()=>{le&&mt(Ce);let e=ft?"div":"pre",t=`<div id="logBox"><div class="legend"><div></div></div><${e} id="jqx_logger"></${e}></div>`;return me(A(t),void 0,F.AfterBegin),h.node($e)},Le=e=>c(e,String)&&Object.assign(document.createElement("textarea"),{innerHTML:e}).textContent||e,H=(...e)=>{let t=e[0]==="fromStatic";if(e=t?e.slice(1):e,t&&!U)return e.forEach(o=>console.info(`${Q()} \u2714 ${Le(o)}`));if(!U)return;!k&&!h.node("#logBox")&&(Ce=h.createStyle("JQxLogCSS"),gt());let r=o=>`${c(o,Object)?JSON.stringify(o,null,2):o}
|
|
2
|
+
`;e.forEach(o=>k?console.info(`${Q()} \u2714 ${Le(o)}`):h.node("#jqx_logger").insertAdjacentHTML(fe?"afterbegin":"beforeend",`<div class="entry">${Q()} ${r(o.replace(/\n/g,"<br>"))}</div>`))},ae={on(){U=!0,H("Logging activated")},off(){U=!1,console.log("Logging deactivated")}},ue={on(){de=!0},off(){de=!1}},O=(...e)=>de&&H(...e),C={get isConsole(){return k===!0},get isOn(){return U},isVisible:function(){return h("#jqx_logger").is("visible")},on(){return ae.on(),ue.on(),k||J()?.addClass("visible"),H("Debug logging started. Every call to [jqx instance] is logged"),C},off(){return J().isEmpty||(ue.off(),H("Debug logging stopped"),J()?.removeClass("visible")),ae.off(),C},toConsole:{on(){return k=!0,H("Started logging to console"),C},off(){return H("Stopped logging to console (except error messages)"),k=!1,C}},remove(){return ae.off(),ue.off(),J()?.remove(),console.clear(),console.log(`${Q()} logging completely disabled and all entries removed`),C},log:function(...e){return H(...e),C},hide(){return J()?.removeClass("visible"),C},show:()=>(J()?.addClass("visible"),C),get reversed(){return{on:()=>(fe=!0,H("Reverse logging set: now logging bottom to top (latest first)"),h("#logBox .legend").addClass("reversed"),C),off:()=>(fe=!1,h("#logBox .legend").removeClass("reversed"),H("Reverse logging reset: now logging chronological (latest last)"),C)}},clear(){return h($e).text(""),console.clear(),H("Logging cleared"),C}};var pt=ht(),Te={html:"innerHTML",text:"textContent",class:"className"},ge=pt;function ht(){let e={get(t,r){let o=String(r)?.toLowerCase();switch(!0){case o in t:return t[o];case Ct(o):return Fe(t,o,r);default:return Fe(t,o,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},e)}function Fe(e,t,r,o=!1){return Object.defineProperty(e,t,{get(){return o?n=>wt(r):$t(t)}}),e[t]}function yt(e,t,r){return t=t?.isJQx&&t.first()||t,he({trial:o=>Lt(t)?e.append(t):Ae(t)?e.insertAdjacentHTML("beforeend",t):e.append(t),whenError:o=>console.info(`${r} (for root ${e}) not created, reason
|
|
3
|
+
`,o)})}function bt(e,t,...r){let o=xt(t,e);return r?.forEach(n=>yt(o,n,e)),o}function xt(e,t){switch(e=pe(t)?Et(e):e?.isJQx?e.first():e,!0){case c(e,String):return G(t,Ae(e,t)?{html:e}:{text:e});case c(e,Node):return vt(t,e);default:return G(t,e)}}function St(e){return delete e.data,Object.keys(e).length<1||Object.keys(e).forEach(t=>{let r=t.toLowerCase();r in Te&&(e[Te[r]]=e[t],delete e[t])}),e}function vt(e,t){let r=G(e);return r.append(t),r}function G(e,t={}){t=He(t,{});let r=Object.entries(t.data??{}),o=Object.assign(pe(e)?new Comment(t?.text):document.createElement(e),St(t));return r.length&&r.forEach(([n,i])=>o.dataset[n]=String(i)),o}function He(e,t){return t?c(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:t}):c(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function Et(e){return He(e)?e?.text??e?.textContent??"":String(e)}function wt(e){return G("b",{style:"color:red",text:`'${e}' is not a valid HTML-tag`})}function Ae(e,t){return!pe(t)&&c(e,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(e)}function Lt(e){return e?.constructor===Comment||e?.constructor===CharacterData}function pe(e){return e?.constructor===Comment||/comment/i.test(e)}function Ct(e){return!c(G(e),HTMLUnknownElement)}function $t(e){return(t,...r)=>bt(e,t,...r)}var{IS:c,maybe:he,$Wrap:Fr,xProxy:Hr,isNothing:Ar}=Tt();function Tt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),p();let e=T(),[t,r]=[g(),v()];return r.custom(),{IS:o,maybe:e,$Wrap:t,isNothing:L,xProxy:r};function o(l,...a){if(e({trial:y=>"isTypes"in(a?.[0]??{})})){let y=a[0];return"defaultValue"in y?x(l,y):"notTypes"in y?u(l,y):o(l,...[y.isTypes].flat())}let m=typeof l=="symbol"?Symbol.isSymbol:l;return a.length>1?b(m,...a):i(l,...a)}function n(l){return l?.[Symbol.proxy]??o(l)}function i(l,...a){let{noInput:m,noShouldbe:y,compareTo:$,inputCTOR:I,isNaN:re,isInfinity:oe,shouldBeFirstElementIsNothing:ne}=S(l,...a);switch(a=a.length&&a[0],!0){case ne:return String(l)===String($);case(l?.[Symbol.proxy]&&y):return l[Symbol.proxy];case re:return y?"NaN":e({trial:ie=>String($)})===String(l);case oe:return y?"Infinity":e({trial:ie=>String($)})===String(l);case m:return y?String(l):String($)===String(l);case I===Boolean:return a?I===a:"Boolean";default:return E(l,a,y,f(l,I))}}function f(l,a){return l===0?Number:l===""?String:l?a:{name:String(l)}}function S(l,...a){let m=a.length<1,y=!m&&a[0],$=!m&&L(a[0]),I=l==null,re=!I&&Object.getPrototypeOf(l)?.constructor,oe=Number.isNaN(l)||e({trial:ie=>String(l)==="NaN"}),ne=e({trial:ie=>String(l)})==="Infinity";return{noInput:I,noShouldbe:m,compareTo:y,inputCTOR:re,isNaN:oe,isInfinity:ne,shouldBeFirstElementIsNothing:$}}function E(l,a,m,y){switch(!0){case(!m&&a===l||l?.[Symbol.proxy]&&a===Proxy):return!0;case e({trial:$=>String(a)})==="NaN":return String(l)==="NaN";case(l?.[Symbol.toStringTag]&&o(a,String)):return String(a)===l[Symbol.toStringTag];default:return a?e({trial:$=>l instanceof a})||a===y||a===Object.getPrototypeOf(y)||`${a?.name}`===y?.name:l?.[Symbol.toStringTag]&&`[object ${l?.[Symbol.toStringTag]}]`||y?.name||String(y)}}function b(l,...a){return a.some(m=>o(l,m))}function L(l,a=!1){let m=l==null;return m=a?m||o(l,1/0)||o(l,NaN):m,m}function T(){let l=(a,m)=>a?.constructor===Function?a(m):void 0;return function({trial:a,whenError:m=()=>{}}={}){try{return l(a)}catch(y){return l(m,y)}}}function g(){return function(l){return Object.freeze({get value(){return l},get[Symbol.type](){return n(l)},get type(){return n(l)},[Symbol.is](...a){return o(l,...a)},is(...a){return o(l,...a)}})}}function x(l,{defaultValue:a,isTypes:m=[void 0],notTypes:y}={}){return m=m?.constructor!==Array?[m]:m,y=y&&y?.constructor!==Array?[y]:[],y.length<1?o(l,...m)?l:a:u(l,{isTypes:m,notTypes:y})?l:a}function u(l,{isTypes:a=[void 0],notTypes:m=[void 0]}={}){return a=a?.constructor!==Array?[a]:a,m=m?.constructor!==Array?[m]:m,o(l,...a)&&!o(l,...m)}function p(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return n(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...l){return o(this,...l)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(l){return n(l)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(l,...a){return o(l,...a)},enumerable:!1,configurable:!1}}))}function s(l){let a=String(Object.getPrototypeOf(l)?.constructor);return a.slice(a.indexOf("ion")+3,a.indexOf("(")).trim()}function d(l){let a=l.set;return l.set=(m,y,$)=>y===Symbol.proxy?m[y]=$:a(m,y,$),l}function v(){let l=Proxy;return{native(){Proxy=l},custom(){Proxy=new l(l,{construct(a,m){for(let $ of m)$.set&&($=d($));let y=new a(...m);return y[Symbol.proxy]=`Proxy (${s(m[0])})`,y}})}}}}function V({styleSheet:e,createWithId:t}={}){let{tryParseAtOrNestedRules:r,ruleExists:o,checkParams:n,sheet:i,removeRules:f,consider:S,currentSheetID:E}=Ft({styleSheet:e,createWithId:t});function b(u,p){if(u&&p.removeProperties){Object.keys(p.removeProperties).forEach(s=>u.style.removeProperty(Me(s)));return}Object.entries(p).forEach(([s,d])=>{s=Me(s.trim()),d=d.trim();let v;if(/!important/.test(d)&&(d=d.slice(0,d.indexOf("!important")).trim(),v="important"),!CSS.supports(s,d))return console.error(`StylingFactory ${E} error: '${s}' with value '${d}' not supported (yet)`);je(()=>u.style.setProperty(s,d,v),`StylingFactory ${E} (setRule4Selector) failed`)})}function L(u,p,s=i){if(u=u?.trim?.(),!c(u,String)||!u.length||/[;,]$/g.test(u))return console.error(`StylingFactory ${E} (setRules): [${u||"[no selector given]"}] is not a valid selector`);if(p.removeRule)return f(u);let d=o(u,!0),v=d||s.cssRules[s.insertRule(`${u} {}`,s.cssRules.length||0)];return S(()=>b(v,p),u,d)}function T(u){let p=u.trim().split(/{/,2),s=p.shift().trim();if(!c(s,String)||!s?.trim()?.length)return console.error(`StylingFactory ${E} (doParse): no (valid) selector could be extracted from rule ${ye(u)}`);let d=Dt(p.shift());return je(()=>L(s,d),`StylingFactory ${E} (setRules) failed`)}function g(u){let p=r(u);return p.done?p.existing:T(u)}function x(u,p){return u.trim().startsWith("@media")?g(Ht(u,p)):L(u,p)}return function(u,p={}){return n(u,p)&&(Object.keys(p).length?x(u,p):g(u))}}function Ft({styleSheet:e,createWithId:t}){let r="Note: The rule or some of its properties may not be supported by your browser (yet)",o=`for style#${t}`;e=t?n(t):e;function n(g){let x=document.querySelector(`#${g}`)?.sheet;if(x)return x;let u=Object.assign(document.createElement("style"),{id:g});return document.head.insertAdjacentElement("beforeend",u),u.sheet}function i(g){return console.error(`StylingFactory ${o} [rule: ${g}]
|
|
4
|
+
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(g,x){return[...e.rules].find(u=>x?Oe(u.selectorText||"",g):jt`${Mt(g)}${[..."gim"]}`.test(u.cssText))}function S(g){return/^@charset|@import|namespace/i.test(g.trim())?i(g):g.match(/}/g)?.length>1?{existing:L(g,1),done:!0}:{done:!1}}function E(g){let x=[...e.cssRules].reduce((p,s,d)=>Oe(s.selectorText||"",g)&&p.concat(d)||p,[]),u=x.length;return x.forEach(p=>e.deleteRule(p)),u>0?console.info(`\u2714 Removed ${u} instance${u>1?"s":""} of selector ${g} from ${o.slice(4)}`):console.info(`\u2714 Remove rule: selector ${g} does not exist in ${o.slice(4)}`)}function b(g,x){return g&&c(g,String)&&g.trim().length>0&&c(x,Object)||(console.error(`StylingFactory ${o} called with invalid parameters`),!1)}function L(g){g=g.trim();let x=g.slice(0,g.indexOf("{")).trim(),u=!!f(x);try{return e.insertRule(`${g}`,e.cssRules.length),u}catch(p){return console.error(`StylingFactory ${o} (tryParse) ${p.name} Error:
|
|
5
5
|
${p.message}
|
|
6
6
|
Rule: ${ye(g)}
|
|
7
7
|
${r}`),u}}function T(g,x,u){try{return g(),u}catch(p){return console.error(`StylingFactory ${o} (tryAddOrModify) ${p.name} Error:
|
|
8
8
|
${p.message}
|
|
9
9
|
Rule: ${ye(x)}
|
|
10
|
-
${r}`),u}}return{sheet:e,removeRules:E,tryParseAtOrNestedRules:S,ruleExists:f,checkParams:b,tryParse:L,consider:T,currentSheetID:o}}function
|
|
11
|
-
`)}function
|
|
12
|
-
`).map(o=>o.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function
|
|
10
|
+
${r}`),u}}return{sheet:e,removeRules:E,tryParseAtOrNestedRules:S,ruleExists:f,checkParams:b,tryParse:L,consider:T,currentSheetID:o}}function Ht(e,t){return`${e.trim()} ${Object.entries(t).map(([r,o])=>`${r}: { ${At(o)}`)}`}function ye(e){let t=(e||"NO RULE").trim().slice(0,50).replace(/\n/g,"\\n").replace(/\s{2,}/g," ");return e.length>t.length?`${t.trim()}...truncated`:t}function At(e){return Object.entries(e).map(([t,r])=>`${t}: ${r.trim()}`).join(`;
|
|
11
|
+
`)}function Mt(e){return e.replace(/([*\[\]()-+{}.$?\\])/g,t=>`\\${t}`)}function jt(e,...t){let r=t.length&&Array.isArray(t.slice(-1))?t.pop().join(""):"";return new RegExp((t.length&&e.raw.reduce((o,n,i)=>o.concat(t[i-1]||"").concat(n),"")||e.raw.join("")).split(`
|
|
12
|
+
`).map(o=>o.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function Me(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function je(e,t){try{return e()}catch(r){console.error(`${t||"an error occured"}: ${r.message}`)}}function Ot(e){return e.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(t,r)=>`${r}\\3b`).split(";").map(t=>t.trim()).join(`;
|
|
13
13
|
`).replaceAll("\\3b",";").split(`
|
|
14
|
-
`)}function Ot(e){return e.reduce((t,r)=>{let[o,n]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return o&&n?{...t,[o]:n}:t},{})}function Rt(e){return Ot(jt(e))}function je(e,t){return e?.replace("::",":")===t?.replace("::",":")}var It=[...Array(26)].map((e,t)=>String.fromCharCode(t+65)).concat([...Array(26)].map((e,t)=>String.fromCharCode(t+97))).concat([...Array(10)].map((e,t)=>`${t}`)),K=(e,t=2)=>`${e}`.padStart(t,"0"),Dt=(e,t=0)=>([e,t]=[Math.floor(e),Math.ceil(t)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(e-t+1)+t)),Nt=e=>{let t=e.length;for(;t--;){let r=Dt(t);[e[t],e[r]]=[e[r],e[t]]}return e};var M=(e,t=120)=>`${e}`.trim().slice(0,t).replace(/>\s+</g,"><").replace(/</g,"<").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(e.length>t?" …":"").trim(),I=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/^-|-$/,""),Pt=([e,...t])=>`${e.toUpperCase()}${t.join("")}`,Z=e=>c(e,String)?e.toLowerCase().split("-").map((t,r)=>r&&`${Pt(t)}`||t).join(""):e,R=()=>`_${Nt(It).slice(0,8).join("")}`,ee=(e,t=120)=>M(e,t).replace(/</g,"<"),Q=()=>(e=>`[${K(e.getHours())}:${K(e.getMinutes())}:${K(e.getSeconds())}.${K(e.getMilliseconds(),3)}]`)(new Date);var B=e=>e.replace(/</g,"<");function Oe(){let e=function(i){if(!i)return;let f=i.style,S=getComputedStyle(i),E=[f.visibility,S.visibility].includes("hidden"),b=[f.display,S.display].includes("none"),L=i.offsetTop<0||i.offsetLeft+i.offsetWidth<0||i.offsetLeft>document.body.offsetWidth,T=+S.opacity==0||+(f.opacity||1)==0;return!(L||T||b||E)},t="n/a",r=function(i){return i.parentNode?!!h.nodes(":is(:read-write)",i?.parentNode)?.find(f=>f===i):!1},o=function(i){return i.parentNode?!!h.nodes(":is(:modal)",i?.parentNode)?.find(f=>f===i):!1},n={notInDOM:!0,writable:t,modal:t,empty:!0,open:t,visible:t};return i=>{let f=i[0];return f?{get writable(){return r(f)},get modal(){return o(f)},get inDOM(){return!!f.parentNode},get open(){return f.open??!1},get visible(){return e(f)},get disabled(){return f.hasAttribute("readonly")||f.hasAttribute("disabled")},get empty(){return i.collection.length<1},get virtual(){return i.isVirtual}}:n}}var Jt=!0,te={data:/data-[\-\w.\p{L}]/ui,validURL:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,whiteSpace:/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,notAllowedValues:/javascript|injected|noreferrer|alert|DataURL/gi},kt=e=>{if(Jt&&Object.keys(e.removed).length){let t=Object.entries(e.removed).reduce((r,[o,n])=>[...r,`${B(o)} => ${n}`],[]).join("\\000A");C.log(`JQx HTML creation errors: ${C.isConsole?t:B(t)}`)}},Qt=function(e){let t=e.nodeName.toLowerCase(),r=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"];return/-/.test(t)&&!r.find(o=>o===t)||j.isAllowed(t)},X=e=>{let t={rawHTML:e?.parentElement?.getHTML()??"no html",removed:{}};return c(e,HTMLElement)&&[...e.childNodes].forEach(r=>{if(r?.children?.length&&X(r),r?.attributes){let n=c(r,SVGElement)?P.svg:P.html;[...(r??{attributes:[]}).attributes].forEach(i=>{let f=i.name.trim().toLowerCase(),S=i.value.trim().toLowerCase().replace(te.whiteSpace,""),E=f==="href"?!te.validURL.test(S):te.notAllowedValues.test(S),b=f.startsWith("data")?!te.data.test(f):!!n[f];if(E||b){let L=ee(i.value||"none",60);L+=L.length===60?"...":"",t.removed[`${i.name}`]=`attribute/property (-value) not allowed, removed. Value: ${L}`,r.removeAttribute(i.name)}})}if(!(Qt(r)||r.constructor===CharacterData||r.constructor===Comment)){let n=(r?.outerHTML||r?.textContent).trim(),i=ee(n,60)??"EMPTY";i+=i.length===60?"...":"",t.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${i}`,r.remove()}}),kt(t),e};var F=new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(e,t){return e[String(t).toLowerCase()]??e[t]}}),Bt=e=>{let t=document.createElement("div");return t.insertAdjacentHTML(F.end,e),t.childNodes.length?X(t):void 0},zt=(e,t,r)=>c(e,Comment)?t.insertAdjacentHTML(r,`<!--${e.data}-->`):t.insertAdjacentText(r,e.data),z=(e=[],t=document.body,r=F.BeforeEnd)=>e.reduce((o,n)=>{let i=Y(n)&&me(n,t,r);return i?[...o,i]:o},[]),me=(e,t=document.body,r=F.BeforeEnd)=>(t=t?.isJQx?t?.[0]:t,c(e,Comment,Text)?zt(e,t,r):t.insertAdjacentElement(r,e)),A=e=>{if(c(e,Text,Comment))return e;let t=e?.trim(),r=t?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(n=>n.length).shift():void 0),t.startsWith("<!--")&&t.endsWith("-->"))return document.createComment(e.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(t))return document.createTextNode(r);let o=Bt(e);return o.childNodes.length<1?A(`<span data-jqxcreationerror="1">${M(e,60)}</span>`):o.children[0]};var w=(e,t)=>{let r=e.collection.filter(o=>!Je(o));for(let o=0;o<r.length;o+=1)t(r[o],o);return e},_t=Oe(),Re=e=>e&&(e.textContent="");var _=e=>{let t=e.cloneNode(!0);return t.removeAttribute&&t.removeAttribute("id"),e.isConnected?e.remove():e=null,t},Ne=(e,t)=>{e&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setAttribute(`data-${I(r)}`,o))},Ie=(e,t)=>e.andThen(t,!0),De=(e,t)=>e.andThen(t),Pe=e=>e.startsWith("data")||P.html.find(t=>e.toLowerCase()===t),Wt=(e,t,r)=>{r&&c(t,String)&&(t={[t]:r==="-"?"":r});let o;t.className&&(o=t.className,delete t.className),o=[...e.classList].find(i=>i.startsWith("JQxClass-")||o&&i===o)||o||`JQxClass-${R().slice(1)}`,h.editCssRule(`.${o}`,t),e.classList.add(o)},qt=(e,t)=>{e&&Object.entries(t).forEach(([r,o])=>{if(r.toLowerCase().startsWith("data"))return Ne(e,o);c(o,String)&&Pe(r)&&e.setAttribute(r,o.split(/[, ]/)?.join(" "))})},be=(e,t)=>{c(t,Object)&&Object.entries(t).forEach(([r,o])=>{let n;/!important/i.test(o)&&(o=o.slice(0,o.indexOf("!")).trim(),n="important"),e.style.setProperty(I(r),o,n)})},Ut={get(e,t){return e[Z(t)]||e[t]},enumerable:!1,configurable:!1},Gt=(...e)=>{C.log("\u2757"+e.map(t=>String(t)).join(", "))},xe={factoryExtensions:{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Ut)},set:(t={})=>(!e.is.empty&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setData({[r]:o})),e),get:(t,r)=>e.data.all[t]??r,add:(t={})=>(!e.is.empty&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setData({[r]:o})),e),remove:t=>(e[0]?.removeAttribute(`data-${I(t)}`),e)}),dimensions:e=>e.first()?.getBoundingClientRect(),HTML:e=>({get:(t,r)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=t?e.outerHtml:e.html();return r?B(o):o},set:(t,r=!1,o=!1)=>{t=t.isJQx?t.HTML.get(1):t;let n=c(t,String);return t=n&&o?B(t):t,n&&(t||"").trim().length&&e.html(t,r),e},replace:(t,r=!1)=>e.HTML.set(t,!1,r),append:(t,r=!1)=>(t=c(t,HTMLElement)?h(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t,!0,r)),insert:(t,r=!1)=>(t=c(t,HTMLElement)?h(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t+e.HTML.get(),!1,r))}),is:e=>_t(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let t=h(e[0]?.parentNode);return t.is.empty?e:t},render:e=>!e.is.empty&&e.toDOM()||(h.log("[JQx.render]: empty collection"),void 0),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:t=>e.style(t),inSheet:t=>e.css(t),valueOf:t=>e.is.empty?void 0:getComputedStyle(e[0])[I(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:r=[]}={})=>{let n=c(r,String)&&!t.length?r.split("{")[0].trim():"";return r=r&&c(r,String)?[r]:r,t=t&&c(t,String)?[t]:t,(r?.length||t?.length)&&(r?.length&&h.editCssRules(...r),t?.forEach(i=>e.addClass(i))),n?.startsWith(".")&&e.addClass(n.slice(1)),n?.startsWith("#")&&!e.attr("id")&&e.prop({id:n.slice(1)}),e}})},instanceExtensions:{addClass:(e,...t)=>w(e,r=>r&&t.forEach(o=>r.classList.add(o))),after:De,afterMe:De,andThen:(e,t,r=!1)=>{if(!t||!c(t,String,Node,Proxy))return Gt(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:c(t,Node)?h.virtual(t).collection:h.virtual(A(t)).collection;let[o,n,i]=r?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[o][n](...t),e.collection=i,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let r=e.length===1;for(let o of t){if(!o.isJQx&&c(o,String)){let n=o.trim(),f=!/^<(.+)[^>]+>$/m.test(n)?h.text(o):A(o);w(e,S=>S.append(r?f:_(f)))}Y(o)&&w(e,n=>n.append(r?o:_(o))),o.isJQx&&!o.is.empty&&w(e,n=>o.collection.forEach(i=>n.append(r?i:_(i))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=h(t)),t.append(e),e),attr:(e,t,r)=>{let o=e[0];return o?!r&&c(t,String)?t==="class"?[...o?.classList].join(" "):o?.getAttribute(t):(c(t,String)&&r&&(t={[t]:r}),c(t,Object)&&!e.is.empty&&qt(o,t),e):e},before:Ie,beforeMe:Ie,clear:e=>w(e,Re),closest:(e,t)=>{let r=c(t,String)?e[0].closest(t):null;return r?h(r):e},computedStyle:(e,t)=>e.first()&&getComputedStyle(e.first())[t],css:(e,t,r)=>w(e,o=>Wt(o,t,r)),duplicate:(e,t=!1,r=document.body)=>{let o=e.toNodeList().map(i=>i.removeAttribute&&i.removeAttribute("id")||i),n=h.virtual(o);return t?n.toDOM(r):n},each:(e,t)=>w(e,t),empty:e=>w(e,Re),find:(e,t)=>e.collection.length>0?[...e.first()?.querySelectorAll(t)]:[],find$:(e,t)=>e.collection.length>0?h(t,e):e,first:(e,t=!1)=>{if(e.collection.length>0)return t?e.single():e.collection[0]},first$:(e,t)=>e.single(t),getData:(e,t,r)=>e.first()&&e.first().dataset?.[t]||r,hasClass:(e,...t)=>{let r=e[0];return!r||!r.classList.length?!1:t.find(o=>r.classList.contains(o))&&!0||!1},hide:e=>w(e,t=>be(t,{display:"none !important"})),html:(e,t,r)=>{if(t===void 0)return e[0]?.getHTML();if(!e.isEmpty()){let o=A(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!c(o,Comment))return w(e,i=>(r||(i.textContent=""),i.insertAdjacentHTML(h.at.end,o.getHTML())))}return e},htmlFor:(e,t,r="",o=!1)=>{if(t&&e.collection.length){if(!t||!c(r,String))return e;let n=e.find$(t);if(n.length<1)return e;let i=A(`<span>${r}</span>`);n.each(f=>{o||(f.textContent=""),f.insertAdjacentHTML(h.at.end,i.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...r)=>(e.collection.length&&r?.forEach(o=>{let n=ke(e);h.delegate(t,n,o)}),e),prepend:(e,...t)=>{if(!e.is.empty&&t){let r=e.length===1;for(let o of t){if(c(o,String)){o=o.trim();let i=!/^<(.+)[^>]+>$/m.test(o)?h.text(o):A(o);i=r?i:_(i),w(e,f=>f.prepend(i.cloneNode(!0)))}Y(o)&&w(e,n=>n.prepend(r?o:_(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),w(e,n=>w(o,i=>n.prepend(r?i:_(i)))),o.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=h.virtual(t)),t.prepend(e),e),prop:(e,t,r)=>{if(c(t,String)&&!r)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let o=c(t,Object)?t:{[t]:r};return Object.entries(o).forEach(([n,i])=>{if(n=n.trim(),i&&!Pe(n)||!i)return!1;if(n.toLowerCase()==="id")return e[0].id=i;w(e,S=>{if(n.startsWith("data"))return S.dataset[n.slice(n.indexOf("-")+1)]=i;S[n]=i})}),e},remove:(e,t)=>{O(`remove ${M(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let r=n=>n.remove(),o=()=>e.collection=e.collection.filter(n=>document.documentElement.contains(n));if(t){let n=e.find$(t);return n.is.empty||(w(n,r),o()),e}return w(e,r),o(),e},removeAttribute:(e,t)=>w(e,r=>r.removeAttribute(t)),removeClass:(e,...t)=>w(e,r=>r&&t.forEach(o=>r.classList.remove(o))),renderTo:(e,t=document.body,r=h.insertPositions.end)=>(e.toDOM(t,r),e),replace:(e,t,r)=>{let o=e[0];return!t||!r||!c(r,HTMLElement)&&!r.isJQx?(console.error("JQx replace: invalid replacement value"),e):(r.isJQx&&(r=r[0]),c(r,NodeList)&&(r=r[0]),o&&t&&(t=c(t,String)?o.querySelectorAll(t):t.isJQx?t.collection:t,c(t,HTMLElement,NodeList,Array)&&c(r,HTMLElement)&&(c(t,HTMLElement)?[t]:[...t]).forEach(n=>n.replaceWith(r.cloneNode(!0)))),e)},replaceClass:(e,t,...r)=>w(e,o=>{o.classList.remove(t),r.forEach(n=>o.classList.add(n))}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=c(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=h.virtual(t)),e),setData:(e,t)=>w(e,r=>Ne(r,t)),show:e=>w(e,t=>be(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?c(t,String)?e.find$(t):c(t,Number)?h(e.collection[t]):h(e.collection[0]):e,style:(e,t,r)=>w(e,n=>{r&&c(t,String)&&(t={[t]:r||"none"}),be(n,t)}),text:(e,t,r=!1)=>e.isEmpty()?e:c(t,String)?w(e,n=>n.textContent=r?n.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,r=F.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=z(e.collection,t,r),e),toggleClass:(e,t)=>w(e,r=>r.classList.toggle(t)),toNodeList:e=>[...e.collection].map(t=>document.importNode(t,!0)),trigger:(e,t,r=Event,o={})=>{if(e.collection.length){let n=new r(t,{...o,bubbles:o.bubbles??!0});for(let i of e.collection)i.dispatchEvent(n)}return e},val:(e,t)=>{let r=e[0];return!r||!c(r,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?r.value:(r.value=c(t,String)?t:"",e)}}};var Qe=Vt;function Vt(e){let t=e.createStyle("JQxPopupCSS");Ee.forEach(s=>t(s));let r={},o,n,i,f=e.virtual('<div class="popup-warn">'),S=e('<div class="popupContainer">').append(e('<span class="closeHandleIcon">')).append(e('<div class="content">')),[E,b]=[e(".popupContainer > .closeHandleIcon"),e(".popupContainer > .content")],L=()=>{if(E.hasClass("popup-active")){let{x:s,y:d,width:v}=b.dimensions;E.style({top:`${d-12}px`,left:`${s+v-12}px`})}},T=()=>{n&&e(".popup-warn").clear().append(e(`<div>${n}</div>`)),b.addClass("popup-warn-active")},g=()=>{o=!1,p(E.first())},x=(s,d)=>i=setTimeout(()=>p(E[0]),+s*1e3);return e.delegate("click",".popupContainer, .closeHandleIcon",s=>p(s.target)),e.delegate("click",".popupContainer .content",(s,d)=>o&&d.removeClass("popup-warn-active")),e.delegate("resize",L),{show:u,create:(s,d,v,l)=>{let a=e.IS(d,Boolean)?d:!1;u({content:s,modal:a,callback:a?v:d,warnMessage:l})},createTimed:(s,d,v)=>u({content:s,closeAfter:d,callback:v}),removeModal:g};function u({content:s,modal:d,closeAfter:v,callback:l,warnMessage:a}){if(s){if(s=e.IS(s,Node)?jqx(s):s,clearTimeout(i),o=d??!1,n=e.IS(a,String)&&`${a?.trim()}`.length||a?.isJQx?a:void 0,b.clear().append(s.isJQx?s:e(`<div>${s}</div>`)),o&&a&&b.append(f.duplicate()),S.addClass("popup-active"),e.IS(l,Function)){let m=R();S.data.set({callbackId:m}),r[m]=l}if(!o){if(e.IS(+v,Number)){let m=S.data.get("callbackId"),y=m&&r[m];x(v,y)}E.addClass("popup-active"),L()}return!0}return console.error("Popup creation needs at least some text to show")}function p(s){if(!o&&!s.closest(".content")){clearTimeout(i),b.clear();let d=S.data.get("callbackId");S.data.remove("callbackId"),e(".popup-active").removeClass("popup-active");let v=d&&r[d];e.IS(v,Function)&&v(),d&&delete r[d],n="";return}return o&&T()}}var D={},Zt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],Xt=e=>!!Zt.find(t=>t===e),Be=()=>{let e=o=>D[o.type].forEach(n=>n(o)),t=(o,n)=>i=>{let f=i.target?.closest?.(o);return f&&n(i,h(f))},r=(o,n)=>{D[o]||addEventListener(o,e,Xt(o))};return(o,n,i,f=!1)=>{r(o,f);let S=n?t(n,i):i;D=D[o]?{...D,[o]:D[o].concat(S)}:{...D,[o]:[S]}}};var Yt={},{instanceMethods:ze,instanceGetters:_e,isCommentOrTextNode:Je,isNode:Y,isHtmlString:qe,isArrayOfHtmlElements:Ue,isArrayOfHtmlStrings:Ge,ElemArray2HtmlString:Ve,input2Collection:Ze,setCollectionFromCssSelector:Xe,addHandlerId:ke,cssRuleEdit:Se,addFn:Kt,elems4Docs:mo}=er();function er(){let e=V({createWithId:"JQxStylesheet"}),t=(s,d)=>r[s]=(v,...l)=>d(v,...l),r=xe.instanceExtensions,o=xe.factoryExtensions,n=s=>c(s,Comment,Text),i=s=>c(s,Text,HTMLElement,Comment),f=s=>c(s,Comment),S=s=>c(s,Text),E=s=>c(s,String)&&/^<|>$/.test(`${s}`.trim()),b=s=>c(s,Array)&&!s?.find(d=>!E(d)),L=s=>c(s,Array)&&!s?.find(d=>!i(d)),T=s=>s?.filter(d=>d).reduce((d,v)=>d.concat(f(v)?`<!--${v.data}-->`:n(v)?v.textContent:v.outerHTML),""),g=s=>s?c(s,Proxy)?[s.EL]:c(s,NodeList)?[...s]:i(s)?[s]:L(s)?s:s.isJQx?s.collection:void 0:[],x=(s,d,v)=>{let l=d!==document.body&&c(s,String)&&s.toLowerCase()!=="body"?d:document,a;try{v.collection=[...l.querySelectorAll(s)]}catch{a=`Invalid CSS querySelector. [${c(s,String)?s:"Nothing valid given!"}]`}return a??`CSS querySelector "${s}", output ${v.collection.length} element(s)`},u=s=>{let d=s.data.get("hid")||`HID${R()}`;return s.data.add({hid:d}),`[data-hid="${d}"]`},p=Object.entries(j.tagsRaw).filter(([,s])=>s).map(([s])=>s).sort((s,d)=>s.localeCompare(d));return{instanceMethods:r,instanceGetters:o,isCommentOrTextNode:n,isNode:i,isComment:f,isText:S,isHtmlString:E,isArrayOfHtmlElements:L,isArrayOfHtmlStrings:b,ElemArray2HtmlString:T,input2Collection:g,setCollectionFromCssSelector:x,addHandlerId:u,cssRuleEdit:e,addFn:t,elems4Docs:p}}function W(e){return new Proxy(e,{get:(t,r)=>or(t,r,e)})}function tr(e,t){return(...r)=>c(e,Function)&&e(W(t),...r)}function rr(e,t){return(...r)=>c(e,Function)&&e(W(t),...r)}function or(e,t,r){switch(!0){case c(t,Symbol):return e;case c(+t,Number):return e.collection?.[t]||`ELEMENT WITH INDEX ${t} NOT FOUND`;case t in _e:return rr(_e[t],r)();case t in ze:return tr(ze[t],r);default:return e[t]}}function Ye(e){let t=ur(e);return Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([r,o])=>{Object.defineProperty(e,r,o),Object.defineProperty(Yt,r,o)}),e}function nr(e){return{allow:t=>{let r=/-/.test(t),o=r&&t;t=r?Z(t):t.toLowerCase(),j.allowTag(t),c(e[t],Function)||Object.defineProperties(e,ve(t,!0,e,o))},prohibit:t=>{t=t.toLowerCase(),j.prohibitTag(t),c(e[t],Function)&&Object.defineProperties(e,ve(t,!1,e))}}}function We(...e){if(e.length===1){let t=String(e.shift().trim());e=t.startsWith("!")?[t.slice(1,-1)]:t.split(",").map(r=>r.trim())}e.map(t=>t.startsWith("!")?t.slice(1,-1):t).forEach(t=>Se(t,{removeRule:1}))}function ir(e){return function(t,r,...o){return c(r,Function)&&(o.push(r),r=void 0),o.forEach(n=>e(t,r,n))}}function sr(e){return function(t,r,o){r=r?.isJQx?r?.[0]:r,o=o&&Object.values(F).find(i=>o===i)?o:void 0;let n=e(t,document.createElement("br"));return r&&!c(r,HTMLBRElement)&&n.collection.forEach(i=>o?r.insertAdjacentElement(o,i):r.append(i)),n}}function lr(...e){let t={};for(let r of e){let o=Object.getOwnPropertyDescriptors(r);Object.entries(o).forEach(([n,i])=>!(n in t)&&Object.defineProperty(t,n,i))}return t}function cr(e){console.error(`JQx: "${e}" not allowed, not rendered`)}function ar(e,t,r,o){return e=I(o||e.toLowerCase()),{get(){return(...n)=>t?r.virtual(X(ge[e](...n))):cr(e)},enumerable:!1,configurable:!0}}function ve(e,t,r,o){e=e.toLowerCase();let n=ar(e,t,r,o);return o?{[o]:n,[Z(o)]:n}:{[e]:n,[e.toUpperCase()]:n}}function ur(e){return lr(Object.entries(j.tagsRaw).reduce(dr(e),{}),fr(e))}function dr(e){return function(t,[r,o]){return o&&Object.defineProperties(t,ve(r,o,e)),t}}function fr(e){let t=(o,n)=>Se(o,n),r=nr(e);return{debugLog:C,log:(...o)=>H("fromStatic",...o),insertPositions:F,get at(){return F},editCssRules:(...o)=>o.forEach(n=>Se(n)),editCssRule:t,get setStyle(){return t},delegate:ir(Be()),virtual:sr(e),get fn(){return Kt},allowTag:r.allow,prohibitTag:r.prohibit,get lenient(){return j.allowUnknownHtmlTags},get IS(){return c},get Popup(){return e.activePopup||Object.defineProperty(e,"activePopup",{value:Qe(e),enumerable:!1}),e.activePopup},popup:()=>e.Popup,createStyle:o=>V({createWithId:o||`jqx${R()}`}),editStylesheet:o=>V({createWithId:o||`jqx${R()}`}),removeCssRule:We,removeCssRules:We,text:(o,n=!1)=>n?e.comment(o):document.createTextNode(o),node:(o,n=document)=>n.querySelector(o,n),nodes:(o,n=document)=>[...n.querySelectorAll(o,n)]}}var h=Ye(mr());function mr(){return function(r,o,n=F.BeforeEnd){if(r?.isJQx)return r;let i=c(o,HTMLBRElement);o=(!i&&o&&o.isJQx?o[0]:o)||document.body,n=n&&Object.values(F).find(x=>n===x)?n:void 0;let f=qe(r),S=!f&&Ge(r),E=S||f,b={collection:Ze(r)??[],isVirtual:i,isJQx:!0},L=Ue(b.collection),T=`input => ${S?`"${M(r.join(", "),70)}"`:!E&&L?`element collection [${M(b.collection.map(x=>`${c(x,Comment,Text)?"Comment|Text @":""} ${x?.outerHTML||x?.textContent}`).join(", "),70)}]`:`"${M(r,70)}"`}`;if(b.collection.length&&L)return O(T),i||b.collection.forEach(x=>{o.contains(x)||z([x],o,n)}),W(b);if(E){if([r].flat().forEach(x=>b.collection.push(A(x))),b.collection.length>0){let x=b.collection.filter(u=>u?.dataset?.jqxcreationerror);b.collection=b.collection.filter(u=>!u?.dataset?.jqxcreationerror),O(`${T}`),O(`*Created ${b.isVirtual?"VIRTUAL ":""}[${M(Ve(b.collection)||"sanitized: no elements remaining",70)}]`),x.length&&console.error(`JQx: illegal html, not rendered: "${x.reduce((u,p)=>u.concat(`${p.textContent}
|
|
15
|
-
`),"").trim()}"`),b.isVirtual||z(b.collection,o,n)}return W(b)}let g=
|
|
14
|
+
`)}function Rt(e){return e.reduce((t,r)=>{let[o,n]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return o&&n?{...t,[o]:n}:t},{})}function Dt(e){return Rt(Ot(e))}function Oe(e,t){return e?.replace("::",":")===t?.replace("::",":")}var Nt=[...Array(26)].map((e,t)=>String.fromCharCode(t+65)).concat([...Array(26)].map((e,t)=>String.fromCharCode(t+97))).concat([...Array(10)].map((e,t)=>`${t}`)),K=(e,t=2)=>`${e}`.padStart(t,"0"),It=(e,t=0)=>([e,t]=[Math.floor(e),Math.ceil(t)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(e-t+1)+t)),Pt=e=>{let t=e.length;for(;t--;){let r=It(t);[e[t],e[r]]=[e[r],e[t]]}return e};var M=(e,t=120)=>`${e}`.trim().slice(0,t).replace(/>\s+</g,"><").replace(/</g,"<").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(e.length>t?" …":"").trim(),D=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/^-|-$/,""),Jt=([e,...t])=>`${e.toUpperCase()}${t.join("")}`,Z=e=>c(e,String)?e.toLowerCase().split("-").map((t,r)=>r&&`${Jt(t)}`||t).join(""):e,R=()=>`_${Pt(Nt).slice(0,8).join("")}`,ee=(e,t=120)=>M(e,t).replace(/</g,"<"),Q=()=>(e=>`[${K(e.getHours())}:${K(e.getMinutes())}:${K(e.getSeconds())}.${K(e.getMilliseconds(),3)}]`)(new Date);var B=e=>e.replace(/</g,"<");function Re(){let e=function(i){if(!i)return;let f=i.style,S=getComputedStyle(i),E=[f.visibility,S.visibility].includes("hidden"),b=[f.display,S.display].includes("none"),L=i.offsetTop<0||i.offsetLeft+i.offsetWidth<0||i.offsetLeft>document.body.offsetWidth,T=+S.opacity==0||+(f.opacity||1)==0;return!(L||T||b||E)},t="n/a",r=function(i){return i.parentNode?!!h.nodes(":is(:read-write)",i?.parentNode)?.find(f=>f===i):!1},o=function(i){return i.parentNode?!!h.nodes(":is(:modal)",i?.parentNode)?.find(f=>f===i):!1},n={notInDOM:!0,writable:t,modal:t,empty:!0,open:t,visible:t};return i=>{let f=i[0];return f?{get writable(){return r(f)},get modal(){return o(f)},get inDOM(){return!!f.parentNode},get open(){return f.open??!1},get visible(){return e(f)},get disabled(){return f.hasAttribute("readonly")||f.hasAttribute("disabled")},get empty(){return i.collection.length<1},get virtual(){return i.isVirtual}}:n}}var kt=!0,te={data:/data-[\-\w.\p{L}]/ui,validURL:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,whiteSpace:/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,notAllowedValues:/javascript|injected|noreferrer|alert|DataURL/gi},Qt=e=>{if(kt&&Object.keys(e.removed).length){let t=Object.entries(e.removed).reduce((r,[o,n])=>[...r,`${B(o)} => ${n}`],[]).join("\\000A");C.log(`JQx HTML creation errors: ${C.isConsole?t:B(t)}`)}},Bt=function(e){let t=e.nodeName.toLowerCase(),r=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"];return/-/.test(t)&&!r.find(o=>o===t)||j.isAllowed(t)},X=e=>{let t={rawHTML:e?.parentElement?.getHTML()??"no html",removed:{}};return c(e,HTMLElement)&&[...e.childNodes].forEach(r=>{if(r?.children?.length&&X(r),r?.attributes){let n=c(r,SVGElement)?P.svg:P.html;[...(r??{attributes:[]}).attributes].forEach(i=>{let f=i.name.trim().toLowerCase(),S=i.value.trim().toLowerCase().replace(te.whiteSpace,""),E=f==="href"?!te.validURL.test(S):te.notAllowedValues.test(S),b=f.startsWith("data")?!te.data.test(f):!!n[f];if(E||b){let L=ee(i.value||"none",60);L+=L.length===60?"...":"",t.removed[`${i.name}`]=`attribute/property (-value) not allowed, removed. Value: ${L}`,r.removeAttribute(i.name)}})}if(!(Bt(r)||r.constructor===CharacterData||r.constructor===Comment)){let n=(r?.outerHTML||r?.textContent).trim(),i=ee(n,60)??"EMPTY";i+=i.length===60?"...":"",t.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${i}`,r.remove()}}),Qt(t),e};var F=new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(e,t){return e[String(t).toLowerCase()]??e[t]}}),zt=e=>{let t=document.createElement("div");return t.insertAdjacentHTML(F.end,e),t.childNodes.length?X(t):void 0},_t=(e,t,r)=>c(e,Comment)?t.insertAdjacentHTML(r,`<!--${e.data}-->`):t.insertAdjacentText(r,e.data),z=(e=[],t=document.body,r=F.BeforeEnd)=>e.reduce((o,n)=>{let i=Y(n)&&me(n,t,r);return i?[...o,i]:o},[]),me=(e,t=document.body,r=F.BeforeEnd)=>(t=t?.isJQx?t?.[0]:t,c(e,Comment,Text)?_t(e,t,r):t.insertAdjacentElement(r,e)),A=e=>{if(c(e,Text,Comment))return e;let t=e?.trim(),r=t?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(n=>n.length).shift():void 0),t.startsWith("<!--")&&t.endsWith("-->"))return document.createComment(e.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(t))return document.createTextNode(r);let o=zt(e);return o.childNodes.length<1?A(`<span data-jqxcreationerror="1">${M(e,60)}</span>`):o.children[0]};var w=(e,t)=>{let r=e.collection.filter(o=>!ke(o));for(let o=0;o<r.length;o+=1)t(r[o],o);return e},Wt=Re(),De=e=>e&&(e.textContent="");var _=e=>{let t=e.cloneNode(!0);return t.removeAttribute&&t.removeAttribute("id"),e.isConnected?e.remove():e=null,t},Pe=(e,t)=>{e&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setAttribute(`data-${D(r)}`,o))},Ne=(e,t)=>e.andThen(t,!0),Ie=(e,t)=>e.andThen(t),Je=e=>e.startsWith("data")||P.html.find(t=>e.toLowerCase()===t),qt=(e,t,r)=>{r&&c(t,String)&&(t={[t]:r==="-"?"":r});let o;t.className&&(o=t.className,delete t.className),o=[...e.classList].find(i=>i.startsWith("JQxClass-")||o&&i===o)||o||`JQxClass-${R().slice(1)}`,h.editCssRule(`.${o}`,t),e.classList.add(o)},Ut=(e,t)=>{e&&Object.entries(t).forEach(([r,o])=>{if(r.toLowerCase().startsWith("data"))return Pe(e,o);c(o,String)&&Je(r)&&e.setAttribute(r,o.split(/[, ]/)?.join(" "))})},be=(e,t)=>{c(t,Object)&&Object.entries(t).forEach(([r,o])=>{let n;/!important/i.test(o)&&(o=o.slice(0,o.indexOf("!")).trim(),n="important"),e.style.setProperty(D(r),o,n)})},Gt={get(e,t){return e[Z(t)]||e[t]},enumerable:!1,configurable:!1},Vt=(...e)=>{C.log("\u2757"+e.map(t=>String(t)).join(", "))},xe=(e,t=0,r=!0)=>(e=e?.parentElement,t+=e?e[r?"scrollTop":"scrollLeft"]:0,e?xe(e,t,r):t),Se={factoryExtensions:{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Gt)},set:(t={})=>(!e.is.empty&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setData({[r]:o})),e),get:(t,r)=>e.data.all[t]??r,add:(t={})=>(!e.is.empty&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setData({[r]:o})),e),remove:t=>(e[0]?.removeAttribute(`data-${D(t)}`),e)}),dimensions:e=>{if(e.is.empty)return{error:"[instance].dimensions: NO ELEMENTS"};let t=e[0],r=e.first()?.getBoundingClientRect().toJSON();return r.scrollTopDistance=xe(t,0),r.scrollLeftDistance=xe(t,0,!1),r},HTML:e=>({get:(t,r)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=t?e.outerHtml:e.html();return r?B(o):o},set:(t,r=!1,o=!1)=>{t=t.isJQx?t.HTML.get(1):t;let n=c(t,String);return t=n&&o?B(t):t,n&&(t||"").trim().length&&e.html(t,r),e},replace:(t,r=!1)=>e.HTML.set(t,!1,r),append:(t,r=!1)=>(t=c(t,HTMLElement)?h(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t,!0,r)),insert:(t,r=!1)=>(t=c(t,HTMLElement)?h(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t+e.HTML.get(),!1,r))}),is:e=>Wt(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let t=h(e[0]?.parentNode);return t.is.empty?e:t},render:e=>!e.is.empty&&e.toDOM()||(h.log("[JQx.render]: empty collection"),void 0),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:t=>e.style(t),inSheet:t=>e.css(t),valueOf:t=>e.is.empty?void 0:getComputedStyle(e[0])[D(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:r=[]}={})=>{let n=c(r,String)&&!t.length?r.split("{")[0].trim():"";return r=r&&c(r,String)?[r]:r,t=t&&c(t,String)?[t]:t,(r?.length||t?.length)&&(r?.length&&h.editCssRules(...r),t?.forEach(i=>e.addClass(i))),n?.startsWith(".")&&e.addClass(n.slice(1)),n?.startsWith("#")&&!e.attr("id")&&e.prop({id:n.slice(1)}),e}})},instanceExtensions:{addClass:(e,...t)=>w(e,r=>r&&t.forEach(o=>r.classList.add(o))),after:Ie,afterMe:Ie,andThen:(e,t,r=!1)=>{if(!t||!c(t,String,Node,Proxy))return Vt(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:c(t,Node)?h.virtual(t).collection:h.virtual(A(t)).collection;let[o,n,i]=r?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[o][n](...t),e.collection=i,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let r=e.length===1;for(let o of t){if(!o.isJQx&&c(o,String)){let n=o.trim(),f=!/^<(.+)[^>]+>$/m.test(n)?h.text(o):A(o);w(e,S=>S.append(r?f:_(f)))}Y(o)&&w(e,n=>n.append(r?o:_(o))),o.isJQx&&!o.is.empty&&w(e,n=>o.collection.forEach(i=>n.append(r?i:_(i))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=h(t)),t.append(e),e),attr:(e,t,r)=>{let o=e[0];return o?!r&&c(t,String)?t==="class"?[...o?.classList].join(" "):o?.getAttribute(t):(c(t,String)&&r&&(t={[t]:r}),c(t,Object)&&!e.is.empty&&Ut(o,t),e):e},before:Ne,beforeMe:Ne,clear:e=>w(e,De),closest:(e,t)=>{let r=c(t,String)?e[0].closest(t):null;return r?h(r):e},computedStyle:(e,t)=>e.first()&&getComputedStyle(e.first())[t],css:(e,t,r)=>w(e,o=>qt(o,t,r)),duplicate:(e,t=!1,r=document.body)=>{let o=e.toNodeList().map(i=>i.removeAttribute&&i.removeAttribute("id")||i),n=h.virtual(o);return t?n.toDOM(r):n},each:(e,t)=>w(e,t),empty:e=>w(e,De),find:(e,t)=>e.collection.length>0?[...e.first()?.querySelectorAll(t)]:[],find$:(e,t)=>e.collection.length>0?h(t,e):e,first:(e,t=!1)=>{if(e.collection.length>0)return t?e.single():e.collection[0]},first$:(e,t)=>e.single(t),getData:(e,t,r)=>e.first()&&e.first().dataset?.[t]||r,hasClass:(e,...t)=>{let r=e[0];return!r||!r.classList.length?!1:t.find(o=>r.classList.contains(o))&&!0||!1},hide:e=>w(e,t=>be(t,{display:"none !important"})),html:(e,t,r)=>{if(t===void 0)return e[0]?.getHTML();if(!e.isEmpty()){let o=A(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!c(o,Comment))return w(e,i=>(r||(i.textContent=""),i.insertAdjacentHTML(h.at.end,o.getHTML())))}return e},htmlFor:(e,t,r="",o=!1)=>{if(t&&e.collection.length){if(!t||!c(r,String))return e;let n=e.find$(t);if(n.length<1)return e;let i=A(`<span>${r}</span>`);n.each(f=>{o||(f.textContent=""),f.insertAdjacentHTML(h.at.end,i.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...r)=>(e.collection.length&&r?.forEach(o=>{let n=Qe(e);h.delegate(t,n,o)}),e),prepend:(e,...t)=>{if(!e.is.empty&&t){let r=e.length===1;for(let o of t){if(c(o,String)){o=o.trim();let i=!/^<(.+)[^>]+>$/m.test(o)?h.text(o):A(o);i=r?i:_(i),w(e,f=>f.prepend(i.cloneNode(!0)))}Y(o)&&w(e,n=>n.prepend(r?o:_(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),w(e,n=>w(o,i=>n.prepend(r?i:_(i)))),o.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=h.virtual(t)),t.prepend(e),e),prop:(e,t,r)=>{if(c(t,String)&&!r)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let o=c(t,Object)?t:{[t]:r};return Object.entries(o).forEach(([n,i])=>{if(n=n.trim(),i&&!Je(n)||!i)return!1;if(n.toLowerCase()==="id")return e[0].id=i;w(e,S=>{if(n.startsWith("data"))return S.dataset[n.slice(n.indexOf("-")+1)]=i;S[n]=i})}),e},remove:(e,t)=>{O(`remove ${M(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let r=n=>n.remove(),o=()=>e.collection=e.collection.filter(n=>document.documentElement.contains(n));if(t){let n=e.find$(t);return n.is.empty||(w(n,r),o()),e}return w(e,r),o(),e},removeAttribute:(e,t)=>w(e,r=>r.removeAttribute(t)),removeClass:(e,...t)=>w(e,r=>r&&t.forEach(o=>r.classList.remove(o))),renderTo:(e,t=document.body,r=h.insertPositions.end)=>(e.toDOM(t,r),e),replace:(e,t,r)=>{let o=e[0];return!t||!r||!c(r,HTMLElement)&&!r.isJQx?(console.error("JQx replace: invalid replacement value"),e):(r.isJQx&&(r=r[0]),c(r,NodeList)&&(r=r[0]),o&&t&&(t=c(t,String)?o.querySelectorAll(t):t.isJQx?t.collection:t,c(t,HTMLElement,NodeList,Array)&&c(r,HTMLElement)&&(c(t,HTMLElement)?[t]:[...t]).forEach(n=>n.replaceWith(r.cloneNode(!0)))),e)},replaceClass:(e,t,...r)=>w(e,o=>{o.classList.remove(t),r.forEach(n=>o.classList.add(n))}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=c(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=h.virtual(t)),e),setData:(e,t)=>w(e,r=>Pe(r,t)),show:e=>w(e,t=>be(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?c(t,String)?e.find$(t):c(t,Number)?h(e.collection[t]):h(e.collection[0]):e,style:(e,t,r)=>w(e,n=>{r&&c(t,String)&&(t={[t]:r||"none"}),be(n,t)}),text:(e,t,r=!1)=>e.isEmpty()?e:c(t,String)?w(e,n=>n.textContent=r?n.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,r=F.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=z(e.collection,t,r),e),toggleClass:(e,t)=>w(e,r=>r.classList.toggle(t)),toNodeList:e=>[...e.collection].map(t=>document.importNode(t,!0)),trigger:(e,t,r=Event,o={})=>{if(e.collection.length){let n=new r(t,{...o,bubbles:o.bubbles??!0});for(let i of e.collection)i.dispatchEvent(n)}return e},val:(e,t)=>{let r=e[0];return!r||!c(r,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?r.value:(r.value=c(t,String)?t:"",e)}}};var Be=Zt;function Zt(e){let t=e.createStyle("JQxPopupCSS");we.forEach(s=>t(s));let r={},o,n,i,f=e.virtual('<div class="popup-warn">'),S=e('<div class="popupContainer">').append(e('<span class="closeHandleIcon">')).append(e('<div class="content">')),[E,b]=[e(".popupContainer > .closeHandleIcon"),e(".popupContainer > .content")],L=()=>{if(E.hasClass("popup-active")){let{x:s,y:d,width:v}=b.dimensions;E.style({top:`${d-12}px`,left:`${s+v-12}px`})}},T=()=>{n&&e(".popup-warn").clear().append(e(`<div>${n}</div>`)),b.addClass("popup-warn-active")},g=()=>{o=!1,p(E.first())},x=(s,d)=>i=setTimeout(()=>p(E[0]),+s*1e3);return e.delegate("click",".popupContainer, .closeHandleIcon",s=>p(s.target)),e.delegate("click",".popupContainer .content",(s,d)=>o&&d.removeClass("popup-warn-active")),e.delegate("resize",L),{show:u,create:(s,d,v,l)=>{let a=e.IS(d,Boolean)?d:!1;u({content:s,modal:a,callback:a?v:d,warnMessage:l})},createTimed:(s,d,v)=>u({content:s,closeAfter:d,callback:v}),removeModal:g};function u({content:s,modal:d,closeAfter:v,callback:l,warnMessage:a}){if(s){if(s=e.IS(s,Node)?jqx(s):s,clearTimeout(i),o=d??!1,n=e.IS(a,String)&&`${a?.trim()}`.length||a?.isJQx?a:void 0,b.clear().append(s.isJQx?s:e(`<div>${s}</div>`)),o&&a&&b.append(f.duplicate()),S.addClass("popup-active"),e.IS(l,Function)){let m=R();S.data.set({callbackId:m}),r[m]=l}if(!o){if(e.IS(+v,Number)){let m=S.data.get("callbackId"),y=m&&r[m];x(v,y)}E.addClass("popup-active"),L()}return!0}return console.error("Popup creation needs at least some text to show")}function p(s){if(!o&&!s.closest(".content")){clearTimeout(i),b.clear();let d=S.data.get("callbackId");S.data.remove("callbackId"),e(".popup-active").removeClass("popup-active");let v=d&&r[d];e.IS(v,Function)&&v(),d&&delete r[d],n="";return}return o&&T()}}var N={},Xt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],Yt=e=>!!Xt.find(t=>t===e),ze=()=>{let e=o=>N[o.type].forEach(n=>n(o)),t=(o,n)=>i=>{let f=i.target?.closest?.(o);return f&&n(i,h(f))},r=(o,n)=>{N[o]||addEventListener(o,e,Yt(o))};return(o,n,i,f=!1)=>{r(o,f);let S=n?t(n,i):i;N=N[o]?{...N,[o]:N[o].concat(S)}:{...N,[o]:[S]}}};var Kt={},{instanceMethods:_e,instanceGetters:We,isCommentOrTextNode:ke,isNode:Y,isHtmlString:Ue,isArrayOfHtmlElements:Ge,isArrayOfHtmlStrings:Ve,ElemArray2HtmlString:Ze,input2Collection:Xe,setCollectionFromCssSelector:Ye,addHandlerId:Qe,cssRuleEdit:ve,addFn:er,elems4Docs:go}=tr();function tr(){let e=V({createWithId:"JQxStylesheet"}),t=(s,d)=>r[s]=(v,...l)=>d(v,...l),r=Se.instanceExtensions,o=Se.factoryExtensions,n=s=>c(s,Comment,Text),i=s=>c(s,Text,HTMLElement,Comment),f=s=>c(s,Comment),S=s=>c(s,Text),E=s=>c(s,String)&&/^<|>$/.test(`${s}`.trim()),b=s=>c(s,Array)&&!s?.find(d=>!E(d)),L=s=>c(s,Array)&&!s?.find(d=>!i(d)),T=s=>s?.filter(d=>d).reduce((d,v)=>d.concat(f(v)?`<!--${v.data}-->`:n(v)?v.textContent:v.outerHTML),""),g=s=>s?c(s,Proxy)?[s.EL]:c(s,NodeList)?[...s]:i(s)?[s]:L(s)?s:s.isJQx?s.collection:void 0:[],x=(s,d,v)=>{let l=d!==document.body&&c(s,String)&&s.toLowerCase()!=="body"?d:document,a;try{v.collection=[...l.querySelectorAll(s)]}catch{a=`Invalid CSS querySelector. [${c(s,String)?s:"Nothing valid given!"}]`}return a??`CSS querySelector "${s}", output ${v.collection.length} element(s)`},u=s=>{let d=s.data.get("hid")||`HID${R()}`;return s.data.add({hid:d}),`[data-hid="${d}"]`},p=Object.entries(j.tagsRaw).filter(([,s])=>s).map(([s])=>s).sort((s,d)=>s.localeCompare(d));return{instanceMethods:r,instanceGetters:o,isCommentOrTextNode:n,isNode:i,isComment:f,isText:S,isHtmlString:E,isArrayOfHtmlElements:L,isArrayOfHtmlStrings:b,ElemArray2HtmlString:T,input2Collection:g,setCollectionFromCssSelector:x,addHandlerId:u,cssRuleEdit:e,addFn:t,elems4Docs:p}}function W(e){return new Proxy(e,{get:(t,r)=>nr(t,r,e)})}function rr(e,t){return(...r)=>c(e,Function)&&e(W(t),...r)}function or(e,t){return(...r)=>c(e,Function)&&e(W(t),...r)}function nr(e,t,r){switch(!0){case c(t,Symbol):return e;case c(+t,Number):return e.collection?.[t]||`ELEMENT WITH INDEX ${t} NOT FOUND`;case t in We:return or(We[t],r)();case t in _e:return rr(_e[t],r);default:return e[t]}}function Ke(e){let t=dr(e);return Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([r,o])=>{Object.defineProperty(e,r,o),Object.defineProperty(Kt,r,o)}),e}function ir(e){return{allow:t=>{let r=/-/.test(t),o=r&&t;t=r?Z(t):t.toLowerCase(),j.allowTag(t),c(e[t],Function)||Object.defineProperties(e,Ee(t,!0,e,o))},prohibit:t=>{t=t.toLowerCase(),j.prohibitTag(t),c(e[t],Function)&&Object.defineProperties(e,Ee(t,!1,e))}}}function qe(...e){if(e.length===1){let t=String(e.shift().trim());e=t.startsWith("!")?[t.slice(1,-1)]:t.split(",").map(r=>r.trim())}e.map(t=>t.startsWith("!")?t.slice(1,-1):t).forEach(t=>ve(t,{removeRule:1}))}function sr(e){return function(t,r,...o){return c(r,Function)&&(o.push(r),r=void 0),o.forEach(n=>e(t,r,n))}}function lr(e){return function(t,r,o){r=r?.isJQx?r?.[0]:r,o=o&&Object.values(F).find(i=>o===i)?o:void 0;let n=e(t,document.createElement("br"));return r&&!c(r,HTMLBRElement)&&n.collection.forEach(i=>o?r.insertAdjacentElement(o,i):r.append(i)),n}}function cr(...e){let t={};for(let r of e){let o=Object.getOwnPropertyDescriptors(r);Object.entries(o).forEach(([n,i])=>!(n in t)&&Object.defineProperty(t,n,i))}return t}function ar(e){console.error(`JQx: "${e}" not allowed, not rendered`)}function ur(e,t,r,o){return e=D(o||e.toLowerCase()),{get(){return(...n)=>t?r.virtual(X(ge[e](...n))):ar(e)},enumerable:!1,configurable:!0}}function Ee(e,t,r,o){e=e.toLowerCase();let n=ur(e,t,r,o);return o?{[o]:n,[Z(o)]:n}:{[e]:n,[e.toUpperCase()]:n}}function dr(e){return cr(Object.entries(j.tagsRaw).reduce(fr(e),{}),mr(e))}function fr(e){return function(t,[r,o]){return o&&Object.defineProperties(t,Ee(r,o,e)),t}}function mr(e){let t=(o,n)=>ve(o,n),r=ir(e);return{debugLog:C,log:(...o)=>H("fromStatic",...o),insertPositions:F,get at(){return F},editCssRules:(...o)=>o.forEach(n=>ve(n)),editCssRule:t,get setStyle(){return t},delegate:sr(ze()),virtual:lr(e),get fn(){return er},allowTag:r.allow,prohibitTag:r.prohibit,get lenient(){return j.allowUnknownHtmlTags},get IS(){return c},get Popup(){return e.activePopup||Object.defineProperty(e,"activePopup",{value:Be(e),enumerable:!1}),e.activePopup},popup:()=>e.Popup,createStyle:o=>V({createWithId:o||`jqx${R()}`}),editStylesheet:o=>V({createWithId:o||`jqx${R()}`}),removeCssRule:qe,removeCssRules:qe,text:(o,n=!1)=>n?e.comment(o):document.createTextNode(o),node:(o,n=document)=>n.querySelector(o,n),nodes:(o,n=document)=>[...n.querySelectorAll(o,n)]}}var h=Ke(gr());function gr(){return function(r,o,n=F.BeforeEnd){if(r?.isJQx)return r;let i=c(o,HTMLBRElement);o=(!i&&o&&o.isJQx?o[0]:o)||document.body,n=n&&Object.values(F).find(x=>n===x)?n:void 0;let f=Ue(r),S=!f&&Ve(r),E=S||f,b={collection:Xe(r)??[],isVirtual:i,isJQx:!0},L=Ge(b.collection),T=`input => ${S?`"${M(r.join(", "),70)}"`:!E&&L?`element collection [${M(b.collection.map(x=>`${c(x,Comment,Text)?"Comment|Text @":""} ${x?.outerHTML||x?.textContent}`).join(", "),70)}]`:`"${M(r,70)}"`}`;if(b.collection.length&&L)return O(T),i||b.collection.forEach(x=>{o.contains(x)||z([x],o,n)}),W(b);if(E){if([r].flat().forEach(x=>b.collection.push(A(x))),b.collection.length>0){let x=b.collection.filter(u=>u?.dataset?.jqxcreationerror);b.collection=b.collection.filter(u=>!u?.dataset?.jqxcreationerror),O(`${T}`),O(`*Created ${b.isVirtual?"VIRTUAL ":""}[${M(Ze(b.collection)||"sanitized: no elements remaining",70)}]`),x.length&&console.error(`JQx: illegal html, not rendered: "${x.reduce((u,p)=>u.concat(`${p.textContent}
|
|
15
|
+
`),"").trim()}"`),b.isVirtual||z(b.collection,o,n)}return W(b)}let g=Ye(r,o,b);return O(`input => ${g}`),W(b)}}return it(pr);})();
|
package/Bundle/jqx.min.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var
|
|
2
|
-
`;e.forEach(o=>k?console.info(`${Q()} \u2714 ${
|
|
3
|
-
`,o)})}function
|
|
4
|
-
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(g,x){return[...e.rules].find(u=>x?
|
|
1
|
+
var Ke="url('data:image/svg+xml\\3butf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20id%3D%22Layer_1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20128%20128%22%20style%3D%22enable-background%3Anew%200%200%20128%20128%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20x%3D%22-368%22%20y%3D%226%22%20style%3D%22display%3Anone%3Bfill%3A%23E0E0E0%3B%22%20width%3D%22866%22%20height%3D%221018%22%2F%3E%3Ccircle%20style%3D%22fill%3A%23FFFFFF%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Ccircle%20style%3D%22fill%3A%238CCFB9%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2239%22%2F%3E%3Ccircle%20style%3D%22fill%3Anone%3Bstroke%3A%23444B54%3Bstroke-width%3A6%3Bstroke-miterlimit%3A10%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Cpolyline%20style%3D%22fill%3Anone%3Bstroke%3A%23FFFFFF%3Bstroke-width%3A6%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%3B%22%20points%3D%2242%2C69%2055.55%2C81%20%20%2086%2C46%20%22%2F%3E%3C%2Fsvg%3E')",se=rt(),Ee=ot(),P=et(),q=tt();function et(){return{html:Object.freeze("accept,action,align,alt,autocapitalize,autocomplete,autopictureinpicture,autoplay,background,bgcolor,border,capture,cellpadding,cellspacing,checked,cite,class,clear,contenteditable,color,cols,colspan,controls,controlslist,coords,crossorigin,datetime,decoding,default,dir,disabled,disablepictureinpicture,disableremoteplayback,download,draggable,enctype,enterkeyhint,face,for,headers,height,hidden,high,href,hreflang,id,inputmode,integrity,is,ismap,kind,label,lang,list,loading,loop,low,max,maxlength,media,method,min,minlength,multiple,muted,name,nonce,noshade,novalidate,nowrap,open,optimum,pattern,placeholder,playsinline,poster,preload,pubdate,radiogroup,readonly,rel,required,rev,reversed,role,rows,rowspan,spellcheck,scope,selected,shape,size,sizes,span,srclang,start,src,srcset,step,style,summary,tabindex,target,title,translate,type,usemap,valign,value,width,xmlns,slot".split(",")),svg:Object.freeze("accent-height,accumulate,additive,alignment-baseline,ascent,attributename,attributetype,azimuth,basefrequency,baseline-shift,begin,bias,by,class,clip,clippathunits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,cx,cy,d,dx,dy,diffuseconstant,direction,display,divisor,dur,edgemode,elevation,end,fill,fill-opacity,fill-rule,filter,filterunits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,fx,fy,g1,g2,glyph-name,glyphref,gradientunits,gradienttransform,height,href,id,image-rendering,in,in2,k,k1,k2,k3,k4,kerning,keypoints,keysplines,keytimes,lang,lengthadjust,letter-spacing,kernelmatrix,kernelunitlength,lighting-color,local,marker-end,marker-mid,marker-start,markerheight,markerunits,markerwidth,maskcontentunits,maskunits,max,mask,media,method,mode,min,name,numoctaves,offset,operator,opacity,order,orient,orientation,origin,overflow,paint-order,path,pathlength,patterncontentunits,patterntransform,patternunits,points,preservealpha,preserveaspectratio,primitiveunits,r,rx,ry,radius,refx,refy,repeatcount,repeatdur,restart,result,rotate,scale,seed,shape-rendering,specularconstant,specularexponent,spreadmethod,startoffset,stddeviation,stitchtiles,stop-color,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke,stroke-width,style,surfacescale,systemlanguage,tabindex,targetx,targety,transform,text-anchor,text-decoration,text-rendering,textlength,type,u1,u2,unicode,values,viewbox,visibility,version,vert-adv-y,vert-origin-x,vert-origin-y,width,word-spacing,wrap,writing-mode,xchannelselector,ychannelselector,x,x1,x2,xmlns,y,y1,y2,z,zoomandpan".split(","))}}function tt(){return{a:!0,area:!0,audio:!1,br:!0,base:!0,body:!0,button:!0,canvas:!0,comment:!0,dl:!0,data:!0,datalist:!0,div:!0,em:!0,embed:!1,fieldset:!0,font:!0,footer:!0,form:!1,hr:!0,head:!0,header:!0,output:!0,iframe:!1,frameset:!1,img:!0,input:!0,li:!0,label:!0,legend:!0,link:!0,map:!0,mark:!0,menu:!0,media:!0,meta:!0,nav:!0,meter:!0,ol:!0,object:!1,optgroup:!0,option:!0,p:!0,param:!0,picture:!0,pre:!0,progress:!1,quote:!0,script:!1,select:!0,source:!0,span:!0,style:!0,caption:!0,td:!0,col:!0,table:!0,tr:!0,template:!1,textarea:!0,time:!0,title:!0,track:!0,details:!0,ul:!0,video:!0,del:!0,ins:!0,slot:!0,blockquote:!0,svg:!0,dialog:!0,summary:!0,main:!0,address:!0,colgroup:!0,tbody:!0,tfoot:!0,thead:!0,th:!0,dd:!0,dt:!0,figcaption:!0,figure:!0,i:!0,b:!0,code:!0,h1:!0,h2:!0,h3:!0,h4:!0,abbr:!0,bdo:!0,dfn:!0,kbd:!0,q:!0,rb:!0,rp:!0,rt:!0,ruby:!0,s:!0,strike:!0,samp:!0,small:!0,strong:!0,sup:!0,sub:!0,u:!0,var:!0,wbr:!0,nobr:!0,tt:!0,noscript:!0}}function rt(){return["#logBox{min-width:0px;max-width:0px;min-height:0px;max-height:0px;width:0;height:0;z-index:-1;border:none;padding:0px;overflow:hidden;transition:all 0.3s ease;margin-top:-100px;}","#logBox.visible{background-color:rgb(255, 255, 224);z-index:1;position:static;border:1px dotted rgb(153, 153, 153);max-width:50vw;min-width:30vw;min-height:10vh;max-height:90vh;overflow:auto;width:50vw;height:20vh;margin:1rem 0px;padding:0px 8px 19px;resize:both;}","#logBox.visible .legend{position:absolute;}","#logBox .legend{text-align:center;margin-top:-1em;width:inherit;max-width:inherit;}","#logBox .legend div{text-align:center;display:inline-block;max-width:inherit;height:1.2rem;background-color:rgb(119, 119, 119);padding:2px 10px;color:rgb(255, 255, 255);box-shadow:rgb(119 119 119) 2px 1px 10px;border-radius:4px;}","#logBox .legend div:before{content:'JQx Logging (chronological)';}","#logBox .legend.reversed div:before{content:'JQx Logging (reversed)';}","#logBox #jqx_logger{marginTop:0.7rem;lineHeight:1.4em;font-family:consolas,monospace;whiteSpace:pre-wrap;maxWidth:inherit;padding-left:100px;}","#logBox #jqx_logger div.entry{text-indent:-100px;whiteSpace:normal;}"]}function ot(){return[".popupContainer{position:fixed;inset:-5000px;opacity:0;height:0;width:0;background:rgba(0,0,0,0.1);transition:opacity 0.6s ease-in-out 0s;}",".popupContainer.popup-active{opacity:1;inset:0;height:auto;width:auto;z-index:2147483646;}",".popupContainer .content{box-shadow:rgba(0,0,0,0.5) 2px 2px 8px;border-radius:3px;min-width:125px;max-width:40vw;max-height:40vh;padding:8px;overflow:auto;background:#FFF;z-index:inherit;opacity:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}",".popupContainer .content .popup-warn{position:relative;padding:3px 8px 0 8px;color:red;margin:6px -8px -4px -8px;text-align:center;display:none;}",".popupContainer .content.popup-warn-active .popup-warn{display:block;border-top:1px dashed rgb(0,0,0);}",`.closeHandleIcon{z-index:1;position:absolute;opacity:0;cursor:pointer;width:24px;height:24px;background:${Ke} no-repeat;}`,".closeHandleIcon.popup-active{opacity:1;z-index:2147483647;}","@media screen and (width < 1200px){.popupContainer .content{max-width:75vw;}}","@media screen and (width < 640px){.popupContainer .content{max-width:90vw;max-height:60vw;}}"]}var le=!1,nt={on:()=>le=!0,off:()=>le=!1},j={tagsRaw:q,allowUnknownHtmlTags:nt,isAllowed(e){if(le)return!0;let t=c(e,String)?e.toLowerCase():e?.nodeName.toLowerCase()||"none";return t==="#text"||!!q[t]},allowTag:e=>q[e.toLowerCase()]=!0,prohibitTag:e=>q[e.toLowerCase()]=!1};var ue=!1,U=!1,k=!0,de=!1,it=!0,Le,J=()=>y("#logBox"),Ce="#jqx_logger",st=e=>{se?.forEach(t=>e(t))},lt=()=>{se&&st(Le);let e=it?"div":"pre",t=`<div id="logBox"><div class="legend"><div></div></div><${e} id="jqx_logger"></${e}></div>`;return fe(A(t),void 0,F.AfterBegin),y.node(Ce)},we=e=>c(e,String)&&Object.assign(document.createElement("textarea"),{innerHTML:e}).textContent||e,H=(...e)=>{let t=e[0]==="fromStatic";if(e=t?e.slice(1):e,t&&!U)return e.forEach(o=>console.info(`${Q()} \u2714 ${we(o)}`));if(!U)return;!k&&!y.node("#logBox")&&(Le=y.createStyle("JQxLogCSS"),lt());let r=o=>`${c(o,Object)?JSON.stringify(o,null,2):o}
|
|
2
|
+
`;e.forEach(o=>k?console.info(`${Q()} \u2714 ${we(o)}`):y.node("#jqx_logger").insertAdjacentHTML(de?"afterbegin":"beforeend",`<div class="entry">${Q()} ${r(o.replace(/\n/g,"<br>"))}</div>`))},ce={on(){U=!0,H("Logging activated")},off(){U=!1,console.log("Logging deactivated")}},ae={on(){ue=!0},off(){ue=!1}},O=(...e)=>ue&&H(...e),C={get isConsole(){return k===!0},get isOn(){return U},isVisible:function(){return y("#jqx_logger").is("visible")},on(){return ce.on(),ae.on(),k||J()?.addClass("visible"),H("Debug logging started. Every call to [jqx instance] is logged"),C},off(){return J().isEmpty||(ae.off(),H("Debug logging stopped"),J()?.removeClass("visible")),ce.off(),C},toConsole:{on(){return k=!0,H("Started logging to console"),C},off(){return H("Stopped logging to console (except error messages)"),k=!1,C}},remove(){return ce.off(),ae.off(),J()?.remove(),console.clear(),console.log(`${Q()} logging completely disabled and all entries removed`),C},log:function(...e){return H(...e),C},hide(){return J()?.removeClass("visible"),C},show:()=>(J()?.addClass("visible"),C),get reversed(){return{on:()=>(de=!0,H("Reverse logging set: now logging bottom to top (latest first)"),y("#logBox .legend").addClass("reversed"),C),off:()=>(de=!1,y("#logBox .legend").removeClass("reversed"),H("Reverse logging reset: now logging chronological (latest last)"),C)}},clear(){return y(Ce).text(""),console.clear(),H("Logging cleared"),C}};var ct=at(),$e={html:"innerHTML",text:"textContent",class:"className"},me=ct;function at(){let e={get(t,r){let o=String(r)?.toLowerCase();switch(!0){case o in t:return t[o];case bt(o):return Te(t,o,r);default:return Te(t,o,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},e)}function Te(e,t,r,o=!1){return Object.defineProperty(e,t,{get(){return o?n=>ht(r):xt(t)}}),e[t]}function ut(e,t,r){return t=t?.isJQx&&t.first()||t,pe({trial:o=>yt(t)?e.append(t):He(t)?e.insertAdjacentHTML("beforeend",t):e.append(t),whenError:o=>console.info(`${r} (for root ${e}) not created, reason
|
|
3
|
+
`,o)})}function dt(e,t,...r){let o=ft(t,e);return r?.forEach(n=>ut(o,n,e)),o}function ft(e,t){switch(e=ge(t)?pt(e):e?.isJQx?e.first():e,!0){case c(e,String):return G(t,He(e,t)?{html:e}:{text:e});case c(e,Node):return gt(t,e);default:return G(t,e)}}function mt(e){return delete e.data,Object.keys(e).length<1||Object.keys(e).forEach(t=>{let r=t.toLowerCase();r in $e&&(e[$e[r]]=e[t],delete e[t])}),e}function gt(e,t){let r=G(e);return r.append(t),r}function G(e,t={}){t=Fe(t,{});let r=Object.entries(t.data??{}),o=Object.assign(ge(e)?new Comment(t?.text):document.createElement(e),mt(t));return r.length&&r.forEach(([n,i])=>o.dataset[n]=String(i)),o}function Fe(e,t){return t?c(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:t}):c(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function pt(e){return Fe(e)?e?.text??e?.textContent??"":String(e)}function ht(e){return G("b",{style:"color:red",text:`'${e}' is not a valid HTML-tag`})}function He(e,t){return!ge(t)&&c(e,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(e)}function yt(e){return e?.constructor===Comment||e?.constructor===CharacterData}function ge(e){return e?.constructor===Comment||/comment/i.test(e)}function bt(e){return!c(G(e),HTMLUnknownElement)}function xt(e){return(t,...r)=>dt(e,t,...r)}var{IS:c,maybe:pe,$Wrap:xr,xProxy:Sr,isNothing:vr}=St();function St(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),p();let e=T(),[t,r]=[g(),v()];return r.custom(),{IS:o,maybe:e,$Wrap:t,isNothing:L,xProxy:r};function o(l,...a){if(e({trial:h=>"isTypes"in(a?.[0]??{})})){let h=a[0];return"defaultValue"in h?x(l,h):"notTypes"in h?u(l,h):o(l,...[h.isTypes].flat())}let m=typeof l=="symbol"?Symbol.isSymbol:l;return a.length>1?b(m,...a):i(l,...a)}function n(l){return l?.[Symbol.proxy]??o(l)}function i(l,...a){let{noInput:m,noShouldbe:h,compareTo:$,inputCTOR:I,isNaN:re,isInfinity:oe,shouldBeFirstElementIsNothing:ne}=S(l,...a);switch(a=a.length&&a[0],!0){case ne:return String(l)===String($);case(l?.[Symbol.proxy]&&h):return l[Symbol.proxy];case re:return h?"NaN":e({trial:ie=>String($)})===String(l);case oe:return h?"Infinity":e({trial:ie=>String($)})===String(l);case m:return h?String(l):String($)===String(l);case I===Boolean:return a?I===a:"Boolean";default:return E(l,a,h,f(l,I))}}function f(l,a){return l===0?Number:l===""?String:l?a:{name:String(l)}}function S(l,...a){let m=a.length<1,h=!m&&a[0],$=!m&&L(a[0]),I=l==null,re=!I&&Object.getPrototypeOf(l)?.constructor,oe=Number.isNaN(l)||e({trial:ie=>String(l)==="NaN"}),ne=e({trial:ie=>String(l)})==="Infinity";return{noInput:I,noShouldbe:m,compareTo:h,inputCTOR:re,isNaN:oe,isInfinity:ne,shouldBeFirstElementIsNothing:$}}function E(l,a,m,h){switch(!0){case(!m&&a===l||l?.[Symbol.proxy]&&a===Proxy):return!0;case e({trial:$=>String(a)})==="NaN":return String(l)==="NaN";case(l?.[Symbol.toStringTag]&&o(a,String)):return String(a)===l[Symbol.toStringTag];default:return a?e({trial:$=>l instanceof a})||a===h||a===Object.getPrototypeOf(h)||`${a?.name}`===h?.name:l?.[Symbol.toStringTag]&&`[object ${l?.[Symbol.toStringTag]}]`||h?.name||String(h)}}function b(l,...a){return a.some(m=>o(l,m))}function L(l,a=!1){let m=l==null;return m=a?m||o(l,1/0)||o(l,NaN):m,m}function T(){let l=(a,m)=>a?.constructor===Function?a(m):void 0;return function({trial:a,whenError:m=()=>{}}={}){try{return l(a)}catch(h){return l(m,h)}}}function g(){return function(l){return Object.freeze({get value(){return l},get[Symbol.type](){return n(l)},get type(){return n(l)},[Symbol.is](...a){return o(l,...a)},is(...a){return o(l,...a)}})}}function x(l,{defaultValue:a,isTypes:m=[void 0],notTypes:h}={}){return m=m?.constructor!==Array?[m]:m,h=h&&h?.constructor!==Array?[h]:[],h.length<1?o(l,...m)?l:a:u(l,{isTypes:m,notTypes:h})?l:a}function u(l,{isTypes:a=[void 0],notTypes:m=[void 0]}={}){return a=a?.constructor!==Array?[a]:a,m=m?.constructor!==Array?[m]:m,o(l,...a)&&!o(l,...m)}function p(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return n(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...l){return o(this,...l)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(l){return n(l)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(l,...a){return o(l,...a)},enumerable:!1,configurable:!1}}))}function s(l){let a=String(Object.getPrototypeOf(l)?.constructor);return a.slice(a.indexOf("ion")+3,a.indexOf("(")).trim()}function d(l){let a=l.set;return l.set=(m,h,$)=>h===Symbol.proxy?m[h]=$:a(m,h,$),l}function v(){let l=Proxy;return{native(){Proxy=l},custom(){Proxy=new l(l,{construct(a,m){for(let $ of m)$.set&&($=d($));let h=new a(...m);return h[Symbol.proxy]=`Proxy (${s(m[0])})`,h}})}}}}function V({styleSheet:e,createWithId:t}={}){let{tryParseAtOrNestedRules:r,ruleExists:o,checkParams:n,sheet:i,removeRules:f,consider:S,currentSheetID:E}=vt({styleSheet:e,createWithId:t});function b(u,p){if(u&&p.removeProperties){Object.keys(p.removeProperties).forEach(s=>u.style.removeProperty(Ae(s)));return}Object.entries(p).forEach(([s,d])=>{s=Ae(s.trim()),d=d.trim();let v;if(/!important/.test(d)&&(d=d.slice(0,d.indexOf("!important")).trim(),v="important"),!CSS.supports(s,d))return console.error(`StylingFactory ${E} error: '${s}' with value '${d}' not supported (yet)`);Me(()=>u.style.setProperty(s,d,v),`StylingFactory ${E} (setRule4Selector) failed`)})}function L(u,p,s=i){if(u=u?.trim?.(),!c(u,String)||!u.length||/[;,]$/g.test(u))return console.error(`StylingFactory ${E} (setRules): [${u||"[no selector given]"}] is not a valid selector`);if(p.removeRule)return f(u);let d=o(u,!0),v=d||s.cssRules[s.insertRule(`${u} {}`,s.cssRules.length||0)];return S(()=>b(v,p),u,d)}function T(u){let p=u.trim().split(/{/,2),s=p.shift().trim();if(!c(s,String)||!s?.trim()?.length)return console.error(`StylingFactory ${E} (doParse): no (valid) selector could be extracted from rule ${he(u)}`);let d=Ft(p.shift());return Me(()=>L(s,d),`StylingFactory ${E} (setRules) failed`)}function g(u){let p=r(u);return p.done?p.existing:T(u)}function x(u,p){return u.trim().startsWith("@media")?g(Et(u,p)):L(u,p)}return function(u,p={}){return n(u,p)&&(Object.keys(p).length?x(u,p):g(u))}}function vt({styleSheet:e,createWithId:t}){let r="Note: The rule or some of its properties may not be supported by your browser (yet)",o=`for style#${t}`;e=t?n(t):e;function n(g){let x=document.querySelector(`#${g}`)?.sheet;if(x)return x;let u=Object.assign(document.createElement("style"),{id:g});return document.head.insertAdjacentElement("beforeend",u),u.sheet}function i(g){return console.error(`StylingFactory ${o} [rule: ${g}]
|
|
4
|
+
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(g,x){return[...e.rules].find(u=>x?je(u.selectorText||"",g):Ct`${Lt(g)}${[..."gim"]}`.test(u.cssText))}function S(g){return/^@charset|@import|namespace/i.test(g.trim())?i(g):g.match(/}/g)?.length>1?{existing:L(g,1),done:!0}:{done:!1}}function E(g){let x=[...e.cssRules].reduce((p,s,d)=>je(s.selectorText||"",g)&&p.concat(d)||p,[]),u=x.length;return x.forEach(p=>e.deleteRule(p)),u>0?console.info(`\u2714 Removed ${u} instance${u>1?"s":""} of selector ${g} from ${o.slice(4)}`):console.info(`\u2714 Remove rule: selector ${g} does not exist in ${o.slice(4)}`)}function b(g,x){return g&&c(g,String)&&g.trim().length>0&&c(x,Object)||(console.error(`StylingFactory ${o} called with invalid parameters`),!1)}function L(g){g=g.trim();let x=g.slice(0,g.indexOf("{")).trim(),u=!!f(x);try{return e.insertRule(`${g}`,e.cssRules.length),u}catch(p){return console.error(`StylingFactory ${o} (tryParse) ${p.name} Error:
|
|
5
5
|
${p.message}
|
|
6
6
|
Rule: ${he(g)}
|
|
7
7
|
${r}`),u}}function T(g,x,u){try{return g(),u}catch(p){return console.error(`StylingFactory ${o} (tryAddOrModify) ${p.name} Error:
|
|
8
8
|
${p.message}
|
|
9
9
|
Rule: ${he(x)}
|
|
10
|
-
${r}`),u}}return{sheet:e,removeRules:E,tryParseAtOrNestedRules:S,ruleExists:f,checkParams:b,tryParse:L,consider:T,currentSheetID:o}}function
|
|
11
|
-
`)}function
|
|
12
|
-
`).map(o=>o.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function
|
|
10
|
+
${r}`),u}}return{sheet:e,removeRules:E,tryParseAtOrNestedRules:S,ruleExists:f,checkParams:b,tryParse:L,consider:T,currentSheetID:o}}function Et(e,t){return`${e.trim()} ${Object.entries(t).map(([r,o])=>`${r}: { ${wt(o)}`)}`}function he(e){let t=(e||"NO RULE").trim().slice(0,50).replace(/\n/g,"\\n").replace(/\s{2,}/g," ");return e.length>t.length?`${t.trim()}...truncated`:t}function wt(e){return Object.entries(e).map(([t,r])=>`${t}: ${r.trim()}`).join(`;
|
|
11
|
+
`)}function Lt(e){return e.replace(/([*\[\]()-+{}.$?\\])/g,t=>`\\${t}`)}function Ct(e,...t){let r=t.length&&Array.isArray(t.slice(-1))?t.pop().join(""):"";return new RegExp((t.length&&e.raw.reduce((o,n,i)=>o.concat(t[i-1]||"").concat(n),"")||e.raw.join("")).split(`
|
|
12
|
+
`).map(o=>o.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function Ae(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function Me(e,t){try{return e()}catch(r){console.error(`${t||"an error occured"}: ${r.message}`)}}function $t(e){return e.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(t,r)=>`${r}\\3b`).split(";").map(t=>t.trim()).join(`;
|
|
13
13
|
`).replaceAll("\\3b",";").split(`
|
|
14
|
-
`)}function $t(e){return e.reduce((t,r)=>{let[o,n]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return o&&n?{...t,[o]:n}:t},{})}function Tt(e){return $t(Ct(e))}function Me(e,t){return e?.replace("::",":")===t?.replace("::",":")}var Ft=[...Array(26)].map((e,t)=>String.fromCharCode(t+65)).concat([...Array(26)].map((e,t)=>String.fromCharCode(t+97))).concat([...Array(10)].map((e,t)=>`${t}`)),K=(e,t=2)=>`${e}`.padStart(t,"0"),Ht=(e,t=0)=>([e,t]=[Math.floor(e),Math.ceil(t)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(e-t+1)+t)),At=e=>{let t=e.length;for(;t--;){let r=Ht(t);[e[t],e[r]]=[e[r],e[t]]}return e};var M=(e,t=120)=>`${e}`.trim().slice(0,t).replace(/>\s+</g,"><").replace(/</g,"<").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(e.length>t?" …":"").trim(),I=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/^-|-$/,""),Mt=([e,...t])=>`${e.toUpperCase()}${t.join("")}`,Z=e=>c(e,String)?e.toLowerCase().split("-").map((t,r)=>r&&`${Mt(t)}`||t).join(""):e,R=()=>`_${At(Ft).slice(0,8).join("")}`,ee=(e,t=120)=>M(e,t).replace(/</g,"<"),Q=()=>(e=>`[${K(e.getHours())}:${K(e.getMinutes())}:${K(e.getSeconds())}.${K(e.getMilliseconds(),3)}]`)(new Date);var B=e=>e.replace(/</g,"<");function je(){let e=function(i){if(!i)return;let f=i.style,S=getComputedStyle(i),E=[f.visibility,S.visibility].includes("hidden"),b=[f.display,S.display].includes("none"),L=i.offsetTop<0||i.offsetLeft+i.offsetWidth<0||i.offsetLeft>document.body.offsetWidth,T=+S.opacity==0||+(f.opacity||1)==0;return!(L||T||b||E)},t="n/a",r=function(i){return i.parentNode?!!y.nodes(":is(:read-write)",i?.parentNode)?.find(f=>f===i):!1},o=function(i){return i.parentNode?!!y.nodes(":is(:modal)",i?.parentNode)?.find(f=>f===i):!1},n={notInDOM:!0,writable:t,modal:t,empty:!0,open:t,visible:t};return i=>{let f=i[0];return f?{get writable(){return r(f)},get modal(){return o(f)},get inDOM(){return!!f.parentNode},get open(){return f.open??!1},get visible(){return e(f)},get disabled(){return f.hasAttribute("readonly")||f.hasAttribute("disabled")},get empty(){return i.collection.length<1},get virtual(){return i.isVirtual}}:n}}var jt=!0,te={data:/data-[\-\w.\p{L}]/ui,validURL:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,whiteSpace:/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,notAllowedValues:/javascript|injected|noreferrer|alert|DataURL/gi},Ot=e=>{if(jt&&Object.keys(e.removed).length){let t=Object.entries(e.removed).reduce((r,[o,n])=>[...r,`${B(o)} => ${n}`],[]).join("\\000A");C.log(`JQx HTML creation errors: ${C.isConsole?t:B(t)}`)}},Rt=function(e){let t=e.nodeName.toLowerCase(),r=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"];return/-/.test(t)&&!r.find(o=>o===t)||j.isAllowed(t)},X=e=>{let t={rawHTML:e?.parentElement?.getHTML()??"no html",removed:{}};return c(e,HTMLElement)&&[...e.childNodes].forEach(r=>{if(r?.children?.length&&X(r),r?.attributes){let n=c(r,SVGElement)?P.svg:P.html;[...(r??{attributes:[]}).attributes].forEach(i=>{let f=i.name.trim().toLowerCase(),S=i.value.trim().toLowerCase().replace(te.whiteSpace,""),E=f==="href"?!te.validURL.test(S):te.notAllowedValues.test(S),b=f.startsWith("data")?!te.data.test(f):!!n[f];if(E||b){let L=ee(i.value||"none",60);L+=L.length===60?"...":"",t.removed[`${i.name}`]=`attribute/property (-value) not allowed, removed. Value: ${L}`,r.removeAttribute(i.name)}})}if(!(Rt(r)||r.constructor===CharacterData||r.constructor===Comment)){let n=(r?.outerHTML||r?.textContent).trim(),i=ee(n,60)??"EMPTY";i+=i.length===60?"...":"",t.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${i}`,r.remove()}}),Ot(t),e};var F=new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(e,t){return e[String(t).toLowerCase()]??e[t]}}),It=e=>{let t=document.createElement("div");return t.insertAdjacentHTML(F.end,e),t.childNodes.length?X(t):void 0},Dt=(e,t,r)=>c(e,Comment)?t.insertAdjacentHTML(r,`<!--${e.data}-->`):t.insertAdjacentText(r,e.data),z=(e=[],t=document.body,r=F.BeforeEnd)=>e.reduce((o,n)=>{let i=Y(n)&&fe(n,t,r);return i?[...o,i]:o},[]),fe=(e,t=document.body,r=F.BeforeEnd)=>(t=t?.isJQx?t?.[0]:t,c(e,Comment,Text)?Dt(e,t,r):t.insertAdjacentElement(r,e)),A=e=>{if(c(e,Text,Comment))return e;let t=e?.trim(),r=t?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(n=>n.length).shift():void 0),t.startsWith("<!--")&&t.endsWith("-->"))return document.createComment(e.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(t))return document.createTextNode(r);let o=It(e);return o.childNodes.length<1?A(`<span data-jqxcreationerror="1">${M(e,60)}</span>`):o.children[0]};var w=(e,t)=>{let r=e.collection.filter(o=>!Pe(o));for(let o=0;o<r.length;o+=1)t(r[o],o);return e},Nt=je(),Oe=e=>e&&(e.textContent="");var _=e=>{let t=e.cloneNode(!0);return t.removeAttribute&&t.removeAttribute("id"),e.isConnected?e.remove():e=null,t},De=(e,t)=>{e&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setAttribute(`data-${I(r)}`,o))},Re=(e,t)=>e.andThen(t,!0),Ie=(e,t)=>e.andThen(t),Ne=e=>e.startsWith("data")||P.html.find(t=>e.toLowerCase()===t),Pt=(e,t,r)=>{r&&c(t,String)&&(t={[t]:r==="-"?"":r});let o;t.className&&(o=t.className,delete t.className),o=[...e.classList].find(i=>i.startsWith("JQxClass-")||o&&i===o)||o||`JQxClass-${R().slice(1)}`,y.editCssRule(`.${o}`,t),e.classList.add(o)},Jt=(e,t)=>{e&&Object.entries(t).forEach(([r,o])=>{if(r.toLowerCase().startsWith("data"))return De(e,o);c(o,String)&&Ne(r)&&e.setAttribute(r,o.split(/[, ]/)?.join(" "))})},ye=(e,t)=>{c(t,Object)&&Object.entries(t).forEach(([r,o])=>{let n;/!important/i.test(o)&&(o=o.slice(0,o.indexOf("!")).trim(),n="important"),e.style.setProperty(I(r),o,n)})},kt={get(e,t){return e[Z(t)]||e[t]},enumerable:!1,configurable:!1},Qt=(...e)=>{C.log("\u2757"+e.map(t=>String(t)).join(", "))},be={factoryExtensions:{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},kt)},set:(t={})=>(!e.is.empty&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setData({[r]:o})),e),get:(t,r)=>e.data.all[t]??r,add:(t={})=>(!e.is.empty&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setData({[r]:o})),e),remove:t=>(e[0]?.removeAttribute(`data-${I(t)}`),e)}),dimensions:e=>e.first()?.getBoundingClientRect(),HTML:e=>({get:(t,r)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=t?e.outerHtml:e.html();return r?B(o):o},set:(t,r=!1,o=!1)=>{t=t.isJQx?t.HTML.get(1):t;let n=c(t,String);return t=n&&o?B(t):t,n&&(t||"").trim().length&&e.html(t,r),e},replace:(t,r=!1)=>e.HTML.set(t,!1,r),append:(t,r=!1)=>(t=c(t,HTMLElement)?y(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t,!0,r)),insert:(t,r=!1)=>(t=c(t,HTMLElement)?y(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t+e.HTML.get(),!1,r))}),is:e=>Nt(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let t=y(e[0]?.parentNode);return t.is.empty?e:t},render:e=>!e.is.empty&&e.toDOM()||(y.log("[JQx.render]: empty collection"),void 0),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:t=>e.style(t),inSheet:t=>e.css(t),valueOf:t=>e.is.empty?void 0:getComputedStyle(e[0])[I(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:r=[]}={})=>{let n=c(r,String)&&!t.length?r.split("{")[0].trim():"";return r=r&&c(r,String)?[r]:r,t=t&&c(t,String)?[t]:t,(r?.length||t?.length)&&(r?.length&&y.editCssRules(...r),t?.forEach(i=>e.addClass(i))),n?.startsWith(".")&&e.addClass(n.slice(1)),n?.startsWith("#")&&!e.attr("id")&&e.prop({id:n.slice(1)}),e}})},instanceExtensions:{addClass:(e,...t)=>w(e,r=>r&&t.forEach(o=>r.classList.add(o))),after:Ie,afterMe:Ie,andThen:(e,t,r=!1)=>{if(!t||!c(t,String,Node,Proxy))return Qt(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:c(t,Node)?y.virtual(t).collection:y.virtual(A(t)).collection;let[o,n,i]=r?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[o][n](...t),e.collection=i,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let r=e.length===1;for(let o of t){if(!o.isJQx&&c(o,String)){let n=o.trim(),f=!/^<(.+)[^>]+>$/m.test(n)?y.text(o):A(o);w(e,S=>S.append(r?f:_(f)))}Y(o)&&w(e,n=>n.append(r?o:_(o))),o.isJQx&&!o.is.empty&&w(e,n=>o.collection.forEach(i=>n.append(r?i:_(i))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=y(t)),t.append(e),e),attr:(e,t,r)=>{let o=e[0];return o?!r&&c(t,String)?t==="class"?[...o?.classList].join(" "):o?.getAttribute(t):(c(t,String)&&r&&(t={[t]:r}),c(t,Object)&&!e.is.empty&&Jt(o,t),e):e},before:Re,beforeMe:Re,clear:e=>w(e,Oe),closest:(e,t)=>{let r=c(t,String)?e[0].closest(t):null;return r?y(r):e},computedStyle:(e,t)=>e.first()&&getComputedStyle(e.first())[t],css:(e,t,r)=>w(e,o=>Pt(o,t,r)),duplicate:(e,t=!1,r=document.body)=>{let o=e.toNodeList().map(i=>i.removeAttribute&&i.removeAttribute("id")||i),n=y.virtual(o);return t?n.toDOM(r):n},each:(e,t)=>w(e,t),empty:e=>w(e,Oe),find:(e,t)=>e.collection.length>0?[...e.first()?.querySelectorAll(t)]:[],find$:(e,t)=>e.collection.length>0?y(t,e):e,first:(e,t=!1)=>{if(e.collection.length>0)return t?e.single():e.collection[0]},first$:(e,t)=>e.single(t),getData:(e,t,r)=>e.first()&&e.first().dataset?.[t]||r,hasClass:(e,...t)=>{let r=e[0];return!r||!r.classList.length?!1:t.find(o=>r.classList.contains(o))&&!0||!1},hide:e=>w(e,t=>ye(t,{display:"none !important"})),html:(e,t,r)=>{if(t===void 0)return e[0]?.getHTML();if(!e.isEmpty()){let o=A(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!c(o,Comment))return w(e,i=>(r||(i.textContent=""),i.insertAdjacentHTML(y.at.end,o.getHTML())))}return e},htmlFor:(e,t,r="",o=!1)=>{if(t&&e.collection.length){if(!t||!c(r,String))return e;let n=e.find$(t);if(n.length<1)return e;let i=A(`<span>${r}</span>`);n.each(f=>{o||(f.textContent=""),f.insertAdjacentHTML(y.at.end,i.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...r)=>(e.collection.length&&r?.forEach(o=>{let n=Je(e);y.delegate(t,n,o)}),e),prepend:(e,...t)=>{if(!e.is.empty&&t){let r=e.length===1;for(let o of t){if(c(o,String)){o=o.trim();let i=!/^<(.+)[^>]+>$/m.test(o)?y.text(o):A(o);i=r?i:_(i),w(e,f=>f.prepend(i.cloneNode(!0)))}Y(o)&&w(e,n=>n.prepend(r?o:_(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),w(e,n=>w(o,i=>n.prepend(r?i:_(i)))),o.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=y.virtual(t)),t.prepend(e),e),prop:(e,t,r)=>{if(c(t,String)&&!r)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let o=c(t,Object)?t:{[t]:r};return Object.entries(o).forEach(([n,i])=>{if(n=n.trim(),i&&!Ne(n)||!i)return!1;if(n.toLowerCase()==="id")return e[0].id=i;w(e,S=>{if(n.startsWith("data"))return S.dataset[n.slice(n.indexOf("-")+1)]=i;S[n]=i})}),e},remove:(e,t)=>{O(`remove ${M(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let r=n=>n.remove(),o=()=>e.collection=e.collection.filter(n=>document.documentElement.contains(n));if(t){let n=e.find$(t);return n.is.empty||(w(n,r),o()),e}return w(e,r),o(),e},removeAttribute:(e,t)=>w(e,r=>r.removeAttribute(t)),removeClass:(e,...t)=>w(e,r=>r&&t.forEach(o=>r.classList.remove(o))),renderTo:(e,t=document.body,r=y.insertPositions.end)=>(e.toDOM(t,r),e),replace:(e,t,r)=>{let o=e[0];return!t||!r||!c(r,HTMLElement)&&!r.isJQx?(console.error("JQx replace: invalid replacement value"),e):(r.isJQx&&(r=r[0]),c(r,NodeList)&&(r=r[0]),o&&t&&(t=c(t,String)?o.querySelectorAll(t):t.isJQx?t.collection:t,c(t,HTMLElement,NodeList,Array)&&c(r,HTMLElement)&&(c(t,HTMLElement)?[t]:[...t]).forEach(n=>n.replaceWith(r.cloneNode(!0)))),e)},replaceClass:(e,t,...r)=>w(e,o=>{o.classList.remove(t),r.forEach(n=>o.classList.add(n))}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=c(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=y.virtual(t)),e),setData:(e,t)=>w(e,r=>De(r,t)),show:e=>w(e,t=>ye(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?c(t,String)?e.find$(t):c(t,Number)?y(e.collection[t]):y(e.collection[0]):e,style:(e,t,r)=>w(e,n=>{r&&c(t,String)&&(t={[t]:r||"none"}),ye(n,t)}),text:(e,t,r=!1)=>e.isEmpty()?e:c(t,String)?w(e,n=>n.textContent=r?n.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,r=F.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=z(e.collection,t,r),e),toggleClass:(e,t)=>w(e,r=>r.classList.toggle(t)),toNodeList:e=>[...e.collection].map(t=>document.importNode(t,!0)),trigger:(e,t,r=Event,o={})=>{if(e.collection.length){let n=new r(t,{...o,bubbles:o.bubbles??!0});for(let i of e.collection)i.dispatchEvent(n)}return e},val:(e,t)=>{let r=e[0];return!r||!c(r,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?r.value:(r.value=c(t,String)?t:"",e)}}};var ke=Bt;function Bt(e){let t=e.createStyle("JQxPopupCSS");ve.forEach(s=>t(s));let r={},o,n,i,f=e.virtual('<div class="popup-warn">'),S=e('<div class="popupContainer">').append(e('<span class="closeHandleIcon">')).append(e('<div class="content">')),[E,b]=[e(".popupContainer > .closeHandleIcon"),e(".popupContainer > .content")],L=()=>{if(E.hasClass("popup-active")){let{x:s,y:d,width:v}=b.dimensions;E.style({top:`${d-12}px`,left:`${s+v-12}px`})}},T=()=>{n&&e(".popup-warn").clear().append(e(`<div>${n}</div>`)),b.addClass("popup-warn-active")},g=()=>{o=!1,p(E.first())},x=(s,d)=>i=setTimeout(()=>p(E[0]),+s*1e3);return e.delegate("click",".popupContainer, .closeHandleIcon",s=>p(s.target)),e.delegate("click",".popupContainer .content",(s,d)=>o&&d.removeClass("popup-warn-active")),e.delegate("resize",L),{show:u,create:(s,d,v,l)=>{let a=e.IS(d,Boolean)?d:!1;u({content:s,modal:a,callback:a?v:d,warnMessage:l})},createTimed:(s,d,v)=>u({content:s,closeAfter:d,callback:v}),removeModal:g};function u({content:s,modal:d,closeAfter:v,callback:l,warnMessage:a}){if(s){if(s=e.IS(s,Node)?jqx(s):s,clearTimeout(i),o=d??!1,n=e.IS(a,String)&&`${a?.trim()}`.length||a?.isJQx?a:void 0,b.clear().append(s.isJQx?s:e(`<div>${s}</div>`)),o&&a&&b.append(f.duplicate()),S.addClass("popup-active"),e.IS(l,Function)){let m=R();S.data.set({callbackId:m}),r[m]=l}if(!o){if(e.IS(+v,Number)){let m=S.data.get("callbackId"),h=m&&r[m];x(v,h)}E.addClass("popup-active"),L()}return!0}return console.error("Popup creation needs at least some text to show")}function p(s){if(!o&&!s.closest(".content")){clearTimeout(i),b.clear();let d=S.data.get("callbackId");S.data.remove("callbackId"),e(".popup-active").removeClass("popup-active");let v=d&&r[d];e.IS(v,Function)&&v(),d&&delete r[d],n="";return}return o&&T()}}var D={},zt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],_t=e=>!!zt.find(t=>t===e),Qe=()=>{let e=o=>D[o.type].forEach(n=>n(o)),t=(o,n)=>i=>{let f=i.target?.closest?.(o);return f&&n(i,y(f))},r=(o,n)=>{D[o]||addEventListener(o,e,_t(o))};return(o,n,i,f=!1)=>{r(o,f);let S=n?t(n,i):i;D=D[o]?{...D,[o]:D[o].concat(S)}:{...D,[o]:[S]}}};var Wt={},{instanceMethods:Be,instanceGetters:ze,isCommentOrTextNode:Pe,isNode:Y,isHtmlString:We,isArrayOfHtmlElements:qe,isArrayOfHtmlStrings:Ue,ElemArray2HtmlString:Ge,input2Collection:Ve,setCollectionFromCssSelector:Ze,addHandlerId:Je,cssRuleEdit:xe,addFn:qt,elems4Docs:oo}=Ut();function Ut(){let e=V({createWithId:"JQxStylesheet"}),t=(s,d)=>r[s]=(v,...l)=>d(v,...l),r=be.instanceExtensions,o=be.factoryExtensions,n=s=>c(s,Comment,Text),i=s=>c(s,Text,HTMLElement,Comment),f=s=>c(s,Comment),S=s=>c(s,Text),E=s=>c(s,String)&&/^<|>$/.test(`${s}`.trim()),b=s=>c(s,Array)&&!s?.find(d=>!E(d)),L=s=>c(s,Array)&&!s?.find(d=>!i(d)),T=s=>s?.filter(d=>d).reduce((d,v)=>d.concat(f(v)?`<!--${v.data}-->`:n(v)?v.textContent:v.outerHTML),""),g=s=>s?c(s,Proxy)?[s.EL]:c(s,NodeList)?[...s]:i(s)?[s]:L(s)?s:s.isJQx?s.collection:void 0:[],x=(s,d,v)=>{let l=d!==document.body&&c(s,String)&&s.toLowerCase()!=="body"?d:document,a;try{v.collection=[...l.querySelectorAll(s)]}catch{a=`Invalid CSS querySelector. [${c(s,String)?s:"Nothing valid given!"}]`}return a??`CSS querySelector "${s}", output ${v.collection.length} element(s)`},u=s=>{let d=s.data.get("hid")||`HID${R()}`;return s.data.add({hid:d}),`[data-hid="${d}"]`},p=Object.entries(j.tagsRaw).filter(([,s])=>s).map(([s])=>s).sort((s,d)=>s.localeCompare(d));return{instanceMethods:r,instanceGetters:o,isCommentOrTextNode:n,isNode:i,isComment:f,isText:S,isHtmlString:E,isArrayOfHtmlElements:L,isArrayOfHtmlStrings:b,ElemArray2HtmlString:T,input2Collection:g,setCollectionFromCssSelector:x,addHandlerId:u,cssRuleEdit:e,addFn:t,elems4Docs:p}}function W(e){return new Proxy(e,{get:(t,r)=>Zt(t,r,e)})}function Gt(e,t){return(...r)=>c(e,Function)&&e(W(t),...r)}function Vt(e,t){return(...r)=>c(e,Function)&&e(W(t),...r)}function Zt(e,t,r){switch(!0){case c(t,Symbol):return e;case c(+t,Number):return e.collection?.[t]||`ELEMENT WITH INDEX ${t} NOT FOUND`;case t in ze:return Vt(ze[t],r)();case t in Be:return Gt(Be[t],r);default:return e[t]}}function Xe(e){let t=or(e);return Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([r,o])=>{Object.defineProperty(e,r,o),Object.defineProperty(Wt,r,o)}),e}function Xt(e){return{allow:t=>{let r=/-/.test(t),o=r&&t;t=r?Z(t):t.toLowerCase(),j.allowTag(t),c(e[t],Function)||Object.defineProperties(e,Se(t,!0,e,o))},prohibit:t=>{t=t.toLowerCase(),j.prohibitTag(t),c(e[t],Function)&&Object.defineProperties(e,Se(t,!1,e))}}}function _e(...e){if(e.length===1){let t=String(e.shift().trim());e=t.startsWith("!")?[t.slice(1,-1)]:t.split(",").map(r=>r.trim())}e.map(t=>t.startsWith("!")?t.slice(1,-1):t).forEach(t=>xe(t,{removeRule:1}))}function Yt(e){return function(t,r,...o){return c(r,Function)&&(o.push(r),r=void 0),o.forEach(n=>e(t,r,n))}}function Kt(e){return function(t,r,o){r=r?.isJQx?r?.[0]:r,o=o&&Object.values(F).find(i=>o===i)?o:void 0;let n=e(t,document.createElement("br"));return r&&!c(r,HTMLBRElement)&&n.collection.forEach(i=>o?r.insertAdjacentElement(o,i):r.append(i)),n}}function er(...e){let t={};for(let r of e){let o=Object.getOwnPropertyDescriptors(r);Object.entries(o).forEach(([n,i])=>!(n in t)&&Object.defineProperty(t,n,i))}return t}function tr(e){console.error(`JQx: "${e}" not allowed, not rendered`)}function rr(e,t,r,o){return e=I(o||e.toLowerCase()),{get(){return(...n)=>t?r.virtual(X(me[e](...n))):tr(e)},enumerable:!1,configurable:!0}}function Se(e,t,r,o){e=e.toLowerCase();let n=rr(e,t,r,o);return o?{[o]:n,[Z(o)]:n}:{[e]:n,[e.toUpperCase()]:n}}function or(e){return er(Object.entries(j.tagsRaw).reduce(nr(e),{}),ir(e))}function nr(e){return function(t,[r,o]){return o&&Object.defineProperties(t,Se(r,o,e)),t}}function ir(e){let t=(o,n)=>xe(o,n),r=Xt(e);return{debugLog:C,log:(...o)=>H("fromStatic",...o),insertPositions:F,get at(){return F},editCssRules:(...o)=>o.forEach(n=>xe(n)),editCssRule:t,get setStyle(){return t},delegate:Yt(Qe()),virtual:Kt(e),get fn(){return qt},allowTag:r.allow,prohibitTag:r.prohibit,get lenient(){return j.allowUnknownHtmlTags},get IS(){return c},get Popup(){return e.activePopup||Object.defineProperty(e,"activePopup",{value:ke(e),enumerable:!1}),e.activePopup},popup:()=>e.Popup,createStyle:o=>V({createWithId:o||`jqx${R()}`}),editStylesheet:o=>V({createWithId:o||`jqx${R()}`}),removeCssRule:_e,removeCssRules:_e,text:(o,n=!1)=>n?e.comment(o):document.createTextNode(o),node:(o,n=document)=>n.querySelector(o,n),nodes:(o,n=document)=>[...n.querySelectorAll(o,n)]}}var y=Xe(sr());function sr(){return function(r,o,n=F.BeforeEnd){if(r?.isJQx)return r;let i=c(o,HTMLBRElement);o=(!i&&o&&o.isJQx?o[0]:o)||document.body,n=n&&Object.values(F).find(x=>n===x)?n:void 0;let f=We(r),S=!f&&Ue(r),E=S||f,b={collection:Ve(r)??[],isVirtual:i,isJQx:!0},L=qe(b.collection),T=`input => ${S?`"${M(r.join(", "),70)}"`:!E&&L?`element collection [${M(b.collection.map(x=>`${c(x,Comment,Text)?"Comment|Text @":""} ${x?.outerHTML||x?.textContent}`).join(", "),70)}]`:`"${M(r,70)}"`}`;if(b.collection.length&&L)return O(T),i||b.collection.forEach(x=>{o.contains(x)||z([x],o,n)}),W(b);if(E){if([r].flat().forEach(x=>b.collection.push(A(x))),b.collection.length>0){let x=b.collection.filter(u=>u?.dataset?.jqxcreationerror);b.collection=b.collection.filter(u=>!u?.dataset?.jqxcreationerror),O(`${T}`),O(`*Created ${b.isVirtual?"VIRTUAL ":""}[${M(Ge(b.collection)||"sanitized: no elements remaining",70)}]`),x.length&&console.error(`JQx: illegal html, not rendered: "${x.reduce((u,p)=>u.concat(`${p.textContent}
|
|
15
|
-
`),"").trim()}"`),b.isVirtual||z(b.collection,o,n)}return W(b)}let g=
|
|
14
|
+
`)}function Tt(e){return e.reduce((t,r)=>{let[o,n]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return o&&n?{...t,[o]:n}:t},{})}function Ft(e){return Tt($t(e))}function je(e,t){return e?.replace("::",":")===t?.replace("::",":")}var Ht=[...Array(26)].map((e,t)=>String.fromCharCode(t+65)).concat([...Array(26)].map((e,t)=>String.fromCharCode(t+97))).concat([...Array(10)].map((e,t)=>`${t}`)),K=(e,t=2)=>`${e}`.padStart(t,"0"),At=(e,t=0)=>([e,t]=[Math.floor(e),Math.ceil(t)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(e-t+1)+t)),Mt=e=>{let t=e.length;for(;t--;){let r=At(t);[e[t],e[r]]=[e[r],e[t]]}return e};var M=(e,t=120)=>`${e}`.trim().slice(0,t).replace(/>\s+</g,"><").replace(/</g,"<").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(e.length>t?" …":"").trim(),D=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/^-|-$/,""),jt=([e,...t])=>`${e.toUpperCase()}${t.join("")}`,Z=e=>c(e,String)?e.toLowerCase().split("-").map((t,r)=>r&&`${jt(t)}`||t).join(""):e,R=()=>`_${Mt(Ht).slice(0,8).join("")}`,ee=(e,t=120)=>M(e,t).replace(/</g,"<"),Q=()=>(e=>`[${K(e.getHours())}:${K(e.getMinutes())}:${K(e.getSeconds())}.${K(e.getMilliseconds(),3)}]`)(new Date);var B=e=>e.replace(/</g,"<");function Oe(){let e=function(i){if(!i)return;let f=i.style,S=getComputedStyle(i),E=[f.visibility,S.visibility].includes("hidden"),b=[f.display,S.display].includes("none"),L=i.offsetTop<0||i.offsetLeft+i.offsetWidth<0||i.offsetLeft>document.body.offsetWidth,T=+S.opacity==0||+(f.opacity||1)==0;return!(L||T||b||E)},t="n/a",r=function(i){return i.parentNode?!!y.nodes(":is(:read-write)",i?.parentNode)?.find(f=>f===i):!1},o=function(i){return i.parentNode?!!y.nodes(":is(:modal)",i?.parentNode)?.find(f=>f===i):!1},n={notInDOM:!0,writable:t,modal:t,empty:!0,open:t,visible:t};return i=>{let f=i[0];return f?{get writable(){return r(f)},get modal(){return o(f)},get inDOM(){return!!f.parentNode},get open(){return f.open??!1},get visible(){return e(f)},get disabled(){return f.hasAttribute("readonly")||f.hasAttribute("disabled")},get empty(){return i.collection.length<1},get virtual(){return i.isVirtual}}:n}}var Ot=!0,te={data:/data-[\-\w.\p{L}]/ui,validURL:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,whiteSpace:/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,notAllowedValues:/javascript|injected|noreferrer|alert|DataURL/gi},Rt=e=>{if(Ot&&Object.keys(e.removed).length){let t=Object.entries(e.removed).reduce((r,[o,n])=>[...r,`${B(o)} => ${n}`],[]).join("\\000A");C.log(`JQx HTML creation errors: ${C.isConsole?t:B(t)}`)}},Dt=function(e){let t=e.nodeName.toLowerCase(),r=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"];return/-/.test(t)&&!r.find(o=>o===t)||j.isAllowed(t)},X=e=>{let t={rawHTML:e?.parentElement?.getHTML()??"no html",removed:{}};return c(e,HTMLElement)&&[...e.childNodes].forEach(r=>{if(r?.children?.length&&X(r),r?.attributes){let n=c(r,SVGElement)?P.svg:P.html;[...(r??{attributes:[]}).attributes].forEach(i=>{let f=i.name.trim().toLowerCase(),S=i.value.trim().toLowerCase().replace(te.whiteSpace,""),E=f==="href"?!te.validURL.test(S):te.notAllowedValues.test(S),b=f.startsWith("data")?!te.data.test(f):!!n[f];if(E||b){let L=ee(i.value||"none",60);L+=L.length===60?"...":"",t.removed[`${i.name}`]=`attribute/property (-value) not allowed, removed. Value: ${L}`,r.removeAttribute(i.name)}})}if(!(Dt(r)||r.constructor===CharacterData||r.constructor===Comment)){let n=(r?.outerHTML||r?.textContent).trim(),i=ee(n,60)??"EMPTY";i+=i.length===60?"...":"",t.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${i}`,r.remove()}}),Rt(t),e};var F=new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(e,t){return e[String(t).toLowerCase()]??e[t]}}),Nt=e=>{let t=document.createElement("div");return t.insertAdjacentHTML(F.end,e),t.childNodes.length?X(t):void 0},It=(e,t,r)=>c(e,Comment)?t.insertAdjacentHTML(r,`<!--${e.data}-->`):t.insertAdjacentText(r,e.data),z=(e=[],t=document.body,r=F.BeforeEnd)=>e.reduce((o,n)=>{let i=Y(n)&&fe(n,t,r);return i?[...o,i]:o},[]),fe=(e,t=document.body,r=F.BeforeEnd)=>(t=t?.isJQx?t?.[0]:t,c(e,Comment,Text)?It(e,t,r):t.insertAdjacentElement(r,e)),A=e=>{if(c(e,Text,Comment))return e;let t=e?.trim(),r=t?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(n=>n.length).shift():void 0),t.startsWith("<!--")&&t.endsWith("-->"))return document.createComment(e.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(t))return document.createTextNode(r);let o=Nt(e);return o.childNodes.length<1?A(`<span data-jqxcreationerror="1">${M(e,60)}</span>`):o.children[0]};var w=(e,t)=>{let r=e.collection.filter(o=>!Je(o));for(let o=0;o<r.length;o+=1)t(r[o],o);return e},Pt=Oe(),Re=e=>e&&(e.textContent="");var _=e=>{let t=e.cloneNode(!0);return t.removeAttribute&&t.removeAttribute("id"),e.isConnected?e.remove():e=null,t},Ie=(e,t)=>{e&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setAttribute(`data-${D(r)}`,o))},De=(e,t)=>e.andThen(t,!0),Ne=(e,t)=>e.andThen(t),Pe=e=>e.startsWith("data")||P.html.find(t=>e.toLowerCase()===t),Jt=(e,t,r)=>{r&&c(t,String)&&(t={[t]:r==="-"?"":r});let o;t.className&&(o=t.className,delete t.className),o=[...e.classList].find(i=>i.startsWith("JQxClass-")||o&&i===o)||o||`JQxClass-${R().slice(1)}`,y.editCssRule(`.${o}`,t),e.classList.add(o)},kt=(e,t)=>{e&&Object.entries(t).forEach(([r,o])=>{if(r.toLowerCase().startsWith("data"))return Ie(e,o);c(o,String)&&Pe(r)&&e.setAttribute(r,o.split(/[, ]/)?.join(" "))})},ye=(e,t)=>{c(t,Object)&&Object.entries(t).forEach(([r,o])=>{let n;/!important/i.test(o)&&(o=o.slice(0,o.indexOf("!")).trim(),n="important"),e.style.setProperty(D(r),o,n)})},Qt={get(e,t){return e[Z(t)]||e[t]},enumerable:!1,configurable:!1},Bt=(...e)=>{C.log("\u2757"+e.map(t=>String(t)).join(", "))},be=(e,t=0,r=!0)=>(e=e?.parentElement,t+=e?e[r?"scrollTop":"scrollLeft"]:0,e?be(e,t,r):t),xe={factoryExtensions:{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Qt)},set:(t={})=>(!e.is.empty&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setData({[r]:o})),e),get:(t,r)=>e.data.all[t]??r,add:(t={})=>(!e.is.empty&&c(t,Object)&&Object.entries(t).forEach(([r,o])=>e.setData({[r]:o})),e),remove:t=>(e[0]?.removeAttribute(`data-${D(t)}`),e)}),dimensions:e=>{if(e.is.empty)return{error:"[instance].dimensions: NO ELEMENTS"};let t=e[0],r=e.first()?.getBoundingClientRect().toJSON();return r.scrollTopDistance=be(t,0),r.scrollLeftDistance=be(t,0,!1),r},HTML:e=>({get:(t,r)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=t?e.outerHtml:e.html();return r?B(o):o},set:(t,r=!1,o=!1)=>{t=t.isJQx?t.HTML.get(1):t;let n=c(t,String);return t=n&&o?B(t):t,n&&(t||"").trim().length&&e.html(t,r),e},replace:(t,r=!1)=>e.HTML.set(t,!1,r),append:(t,r=!1)=>(t=c(t,HTMLElement)?y(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t,!0,r)),insert:(t,r=!1)=>(t=c(t,HTMLElement)?y(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t+e.HTML.get(),!1,r))}),is:e=>Pt(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let t=y(e[0]?.parentNode);return t.is.empty?e:t},render:e=>!e.is.empty&&e.toDOM()||(y.log("[JQx.render]: empty collection"),void 0),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:t=>e.style(t),inSheet:t=>e.css(t),valueOf:t=>e.is.empty?void 0:getComputedStyle(e[0])[D(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:r=[]}={})=>{let n=c(r,String)&&!t.length?r.split("{")[0].trim():"";return r=r&&c(r,String)?[r]:r,t=t&&c(t,String)?[t]:t,(r?.length||t?.length)&&(r?.length&&y.editCssRules(...r),t?.forEach(i=>e.addClass(i))),n?.startsWith(".")&&e.addClass(n.slice(1)),n?.startsWith("#")&&!e.attr("id")&&e.prop({id:n.slice(1)}),e}})},instanceExtensions:{addClass:(e,...t)=>w(e,r=>r&&t.forEach(o=>r.classList.add(o))),after:Ne,afterMe:Ne,andThen:(e,t,r=!1)=>{if(!t||!c(t,String,Node,Proxy))return Bt(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:c(t,Node)?y.virtual(t).collection:y.virtual(A(t)).collection;let[o,n,i]=r?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[o][n](...t),e.collection=i,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let r=e.length===1;for(let o of t){if(!o.isJQx&&c(o,String)){let n=o.trim(),f=!/^<(.+)[^>]+>$/m.test(n)?y.text(o):A(o);w(e,S=>S.append(r?f:_(f)))}Y(o)&&w(e,n=>n.append(r?o:_(o))),o.isJQx&&!o.is.empty&&w(e,n=>o.collection.forEach(i=>n.append(r?i:_(i))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=y(t)),t.append(e),e),attr:(e,t,r)=>{let o=e[0];return o?!r&&c(t,String)?t==="class"?[...o?.classList].join(" "):o?.getAttribute(t):(c(t,String)&&r&&(t={[t]:r}),c(t,Object)&&!e.is.empty&&kt(o,t),e):e},before:De,beforeMe:De,clear:e=>w(e,Re),closest:(e,t)=>{let r=c(t,String)?e[0].closest(t):null;return r?y(r):e},computedStyle:(e,t)=>e.first()&&getComputedStyle(e.first())[t],css:(e,t,r)=>w(e,o=>Jt(o,t,r)),duplicate:(e,t=!1,r=document.body)=>{let o=e.toNodeList().map(i=>i.removeAttribute&&i.removeAttribute("id")||i),n=y.virtual(o);return t?n.toDOM(r):n},each:(e,t)=>w(e,t),empty:e=>w(e,Re),find:(e,t)=>e.collection.length>0?[...e.first()?.querySelectorAll(t)]:[],find$:(e,t)=>e.collection.length>0?y(t,e):e,first:(e,t=!1)=>{if(e.collection.length>0)return t?e.single():e.collection[0]},first$:(e,t)=>e.single(t),getData:(e,t,r)=>e.first()&&e.first().dataset?.[t]||r,hasClass:(e,...t)=>{let r=e[0];return!r||!r.classList.length?!1:t.find(o=>r.classList.contains(o))&&!0||!1},hide:e=>w(e,t=>ye(t,{display:"none !important"})),html:(e,t,r)=>{if(t===void 0)return e[0]?.getHTML();if(!e.isEmpty()){let o=A(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!c(o,Comment))return w(e,i=>(r||(i.textContent=""),i.insertAdjacentHTML(y.at.end,o.getHTML())))}return e},htmlFor:(e,t,r="",o=!1)=>{if(t&&e.collection.length){if(!t||!c(r,String))return e;let n=e.find$(t);if(n.length<1)return e;let i=A(`<span>${r}</span>`);n.each(f=>{o||(f.textContent=""),f.insertAdjacentHTML(y.at.end,i.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...r)=>(e.collection.length&&r?.forEach(o=>{let n=ke(e);y.delegate(t,n,o)}),e),prepend:(e,...t)=>{if(!e.is.empty&&t){let r=e.length===1;for(let o of t){if(c(o,String)){o=o.trim();let i=!/^<(.+)[^>]+>$/m.test(o)?y.text(o):A(o);i=r?i:_(i),w(e,f=>f.prepend(i.cloneNode(!0)))}Y(o)&&w(e,n=>n.prepend(r?o:_(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),w(e,n=>w(o,i=>n.prepend(r?i:_(i)))),o.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=y.virtual(t)),t.prepend(e),e),prop:(e,t,r)=>{if(c(t,String)&&!r)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let o=c(t,Object)?t:{[t]:r};return Object.entries(o).forEach(([n,i])=>{if(n=n.trim(),i&&!Pe(n)||!i)return!1;if(n.toLowerCase()==="id")return e[0].id=i;w(e,S=>{if(n.startsWith("data"))return S.dataset[n.slice(n.indexOf("-")+1)]=i;S[n]=i})}),e},remove:(e,t)=>{O(`remove ${M(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let r=n=>n.remove(),o=()=>e.collection=e.collection.filter(n=>document.documentElement.contains(n));if(t){let n=e.find$(t);return n.is.empty||(w(n,r),o()),e}return w(e,r),o(),e},removeAttribute:(e,t)=>w(e,r=>r.removeAttribute(t)),removeClass:(e,...t)=>w(e,r=>r&&t.forEach(o=>r.classList.remove(o))),renderTo:(e,t=document.body,r=y.insertPositions.end)=>(e.toDOM(t,r),e),replace:(e,t,r)=>{let o=e[0];return!t||!r||!c(r,HTMLElement)&&!r.isJQx?(console.error("JQx replace: invalid replacement value"),e):(r.isJQx&&(r=r[0]),c(r,NodeList)&&(r=r[0]),o&&t&&(t=c(t,String)?o.querySelectorAll(t):t.isJQx?t.collection:t,c(t,HTMLElement,NodeList,Array)&&c(r,HTMLElement)&&(c(t,HTMLElement)?[t]:[...t]).forEach(n=>n.replaceWith(r.cloneNode(!0)))),e)},replaceClass:(e,t,...r)=>w(e,o=>{o.classList.remove(t),r.forEach(n=>o.classList.add(n))}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=c(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=y.virtual(t)),e),setData:(e,t)=>w(e,r=>Ie(r,t)),show:e=>w(e,t=>ye(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?c(t,String)?e.find$(t):c(t,Number)?y(e.collection[t]):y(e.collection[0]):e,style:(e,t,r)=>w(e,n=>{r&&c(t,String)&&(t={[t]:r||"none"}),ye(n,t)}),text:(e,t,r=!1)=>e.isEmpty()?e:c(t,String)?w(e,n=>n.textContent=r?n.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,r=F.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=z(e.collection,t,r),e),toggleClass:(e,t)=>w(e,r=>r.classList.toggle(t)),toNodeList:e=>[...e.collection].map(t=>document.importNode(t,!0)),trigger:(e,t,r=Event,o={})=>{if(e.collection.length){let n=new r(t,{...o,bubbles:o.bubbles??!0});for(let i of e.collection)i.dispatchEvent(n)}return e},val:(e,t)=>{let r=e[0];return!r||!c(r,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?r.value:(r.value=c(t,String)?t:"",e)}}};var Qe=zt;function zt(e){let t=e.createStyle("JQxPopupCSS");Ee.forEach(s=>t(s));let r={},o,n,i,f=e.virtual('<div class="popup-warn">'),S=e('<div class="popupContainer">').append(e('<span class="closeHandleIcon">')).append(e('<div class="content">')),[E,b]=[e(".popupContainer > .closeHandleIcon"),e(".popupContainer > .content")],L=()=>{if(E.hasClass("popup-active")){let{x:s,y:d,width:v}=b.dimensions;E.style({top:`${d-12}px`,left:`${s+v-12}px`})}},T=()=>{n&&e(".popup-warn").clear().append(e(`<div>${n}</div>`)),b.addClass("popup-warn-active")},g=()=>{o=!1,p(E.first())},x=(s,d)=>i=setTimeout(()=>p(E[0]),+s*1e3);return e.delegate("click",".popupContainer, .closeHandleIcon",s=>p(s.target)),e.delegate("click",".popupContainer .content",(s,d)=>o&&d.removeClass("popup-warn-active")),e.delegate("resize",L),{show:u,create:(s,d,v,l)=>{let a=e.IS(d,Boolean)?d:!1;u({content:s,modal:a,callback:a?v:d,warnMessage:l})},createTimed:(s,d,v)=>u({content:s,closeAfter:d,callback:v}),removeModal:g};function u({content:s,modal:d,closeAfter:v,callback:l,warnMessage:a}){if(s){if(s=e.IS(s,Node)?jqx(s):s,clearTimeout(i),o=d??!1,n=e.IS(a,String)&&`${a?.trim()}`.length||a?.isJQx?a:void 0,b.clear().append(s.isJQx?s:e(`<div>${s}</div>`)),o&&a&&b.append(f.duplicate()),S.addClass("popup-active"),e.IS(l,Function)){let m=R();S.data.set({callbackId:m}),r[m]=l}if(!o){if(e.IS(+v,Number)){let m=S.data.get("callbackId"),h=m&&r[m];x(v,h)}E.addClass("popup-active"),L()}return!0}return console.error("Popup creation needs at least some text to show")}function p(s){if(!o&&!s.closest(".content")){clearTimeout(i),b.clear();let d=S.data.get("callbackId");S.data.remove("callbackId"),e(".popup-active").removeClass("popup-active");let v=d&&r[d];e.IS(v,Function)&&v(),d&&delete r[d],n="";return}return o&&T()}}var N={},_t=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],Wt=e=>!!_t.find(t=>t===e),Be=()=>{let e=o=>N[o.type].forEach(n=>n(o)),t=(o,n)=>i=>{let f=i.target?.closest?.(o);return f&&n(i,y(f))},r=(o,n)=>{N[o]||addEventListener(o,e,Wt(o))};return(o,n,i,f=!1)=>{r(o,f);let S=n?t(n,i):i;N=N[o]?{...N,[o]:N[o].concat(S)}:{...N,[o]:[S]}}};var qt={},{instanceMethods:ze,instanceGetters:_e,isCommentOrTextNode:Je,isNode:Y,isHtmlString:qe,isArrayOfHtmlElements:Ue,isArrayOfHtmlStrings:Ge,ElemArray2HtmlString:Ve,input2Collection:Ze,setCollectionFromCssSelector:Xe,addHandlerId:ke,cssRuleEdit:Se,addFn:Ut,elems4Docs:no}=Gt();function Gt(){let e=V({createWithId:"JQxStylesheet"}),t=(s,d)=>r[s]=(v,...l)=>d(v,...l),r=xe.instanceExtensions,o=xe.factoryExtensions,n=s=>c(s,Comment,Text),i=s=>c(s,Text,HTMLElement,Comment),f=s=>c(s,Comment),S=s=>c(s,Text),E=s=>c(s,String)&&/^<|>$/.test(`${s}`.trim()),b=s=>c(s,Array)&&!s?.find(d=>!E(d)),L=s=>c(s,Array)&&!s?.find(d=>!i(d)),T=s=>s?.filter(d=>d).reduce((d,v)=>d.concat(f(v)?`<!--${v.data}-->`:n(v)?v.textContent:v.outerHTML),""),g=s=>s?c(s,Proxy)?[s.EL]:c(s,NodeList)?[...s]:i(s)?[s]:L(s)?s:s.isJQx?s.collection:void 0:[],x=(s,d,v)=>{let l=d!==document.body&&c(s,String)&&s.toLowerCase()!=="body"?d:document,a;try{v.collection=[...l.querySelectorAll(s)]}catch{a=`Invalid CSS querySelector. [${c(s,String)?s:"Nothing valid given!"}]`}return a??`CSS querySelector "${s}", output ${v.collection.length} element(s)`},u=s=>{let d=s.data.get("hid")||`HID${R()}`;return s.data.add({hid:d}),`[data-hid="${d}"]`},p=Object.entries(j.tagsRaw).filter(([,s])=>s).map(([s])=>s).sort((s,d)=>s.localeCompare(d));return{instanceMethods:r,instanceGetters:o,isCommentOrTextNode:n,isNode:i,isComment:f,isText:S,isHtmlString:E,isArrayOfHtmlElements:L,isArrayOfHtmlStrings:b,ElemArray2HtmlString:T,input2Collection:g,setCollectionFromCssSelector:x,addHandlerId:u,cssRuleEdit:e,addFn:t,elems4Docs:p}}function W(e){return new Proxy(e,{get:(t,r)=>Xt(t,r,e)})}function Vt(e,t){return(...r)=>c(e,Function)&&e(W(t),...r)}function Zt(e,t){return(...r)=>c(e,Function)&&e(W(t),...r)}function Xt(e,t,r){switch(!0){case c(t,Symbol):return e;case c(+t,Number):return e.collection?.[t]||`ELEMENT WITH INDEX ${t} NOT FOUND`;case t in _e:return Zt(_e[t],r)();case t in ze:return Vt(ze[t],r);default:return e[t]}}function Ye(e){let t=nr(e);return Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([r,o])=>{Object.defineProperty(e,r,o),Object.defineProperty(qt,r,o)}),e}function Yt(e){return{allow:t=>{let r=/-/.test(t),o=r&&t;t=r?Z(t):t.toLowerCase(),j.allowTag(t),c(e[t],Function)||Object.defineProperties(e,ve(t,!0,e,o))},prohibit:t=>{t=t.toLowerCase(),j.prohibitTag(t),c(e[t],Function)&&Object.defineProperties(e,ve(t,!1,e))}}}function We(...e){if(e.length===1){let t=String(e.shift().trim());e=t.startsWith("!")?[t.slice(1,-1)]:t.split(",").map(r=>r.trim())}e.map(t=>t.startsWith("!")?t.slice(1,-1):t).forEach(t=>Se(t,{removeRule:1}))}function Kt(e){return function(t,r,...o){return c(r,Function)&&(o.push(r),r=void 0),o.forEach(n=>e(t,r,n))}}function er(e){return function(t,r,o){r=r?.isJQx?r?.[0]:r,o=o&&Object.values(F).find(i=>o===i)?o:void 0;let n=e(t,document.createElement("br"));return r&&!c(r,HTMLBRElement)&&n.collection.forEach(i=>o?r.insertAdjacentElement(o,i):r.append(i)),n}}function tr(...e){let t={};for(let r of e){let o=Object.getOwnPropertyDescriptors(r);Object.entries(o).forEach(([n,i])=>!(n in t)&&Object.defineProperty(t,n,i))}return t}function rr(e){console.error(`JQx: "${e}" not allowed, not rendered`)}function or(e,t,r,o){return e=D(o||e.toLowerCase()),{get(){return(...n)=>t?r.virtual(X(me[e](...n))):rr(e)},enumerable:!1,configurable:!0}}function ve(e,t,r,o){e=e.toLowerCase();let n=or(e,t,r,o);return o?{[o]:n,[Z(o)]:n}:{[e]:n,[e.toUpperCase()]:n}}function nr(e){return tr(Object.entries(j.tagsRaw).reduce(ir(e),{}),sr(e))}function ir(e){return function(t,[r,o]){return o&&Object.defineProperties(t,ve(r,o,e)),t}}function sr(e){let t=(o,n)=>Se(o,n),r=Yt(e);return{debugLog:C,log:(...o)=>H("fromStatic",...o),insertPositions:F,get at(){return F},editCssRules:(...o)=>o.forEach(n=>Se(n)),editCssRule:t,get setStyle(){return t},delegate:Kt(Be()),virtual:er(e),get fn(){return Ut},allowTag:r.allow,prohibitTag:r.prohibit,get lenient(){return j.allowUnknownHtmlTags},get IS(){return c},get Popup(){return e.activePopup||Object.defineProperty(e,"activePopup",{value:Qe(e),enumerable:!1}),e.activePopup},popup:()=>e.Popup,createStyle:o=>V({createWithId:o||`jqx${R()}`}),editStylesheet:o=>V({createWithId:o||`jqx${R()}`}),removeCssRule:We,removeCssRules:We,text:(o,n=!1)=>n?e.comment(o):document.createTextNode(o),node:(o,n=document)=>n.querySelector(o,n),nodes:(o,n=document)=>[...n.querySelectorAll(o,n)]}}var y=Ye(lr());function lr(){return function(r,o,n=F.BeforeEnd){if(r?.isJQx)return r;let i=c(o,HTMLBRElement);o=(!i&&o&&o.isJQx?o[0]:o)||document.body,n=n&&Object.values(F).find(x=>n===x)?n:void 0;let f=qe(r),S=!f&&Ge(r),E=S||f,b={collection:Ze(r)??[],isVirtual:i,isJQx:!0},L=Ue(b.collection),T=`input => ${S?`"${M(r.join(", "),70)}"`:!E&&L?`element collection [${M(b.collection.map(x=>`${c(x,Comment,Text)?"Comment|Text @":""} ${x?.outerHTML||x?.textContent}`).join(", "),70)}]`:`"${M(r,70)}"`}`;if(b.collection.length&&L)return O(T),i||b.collection.forEach(x=>{o.contains(x)||z([x],o,n)}),W(b);if(E){if([r].flat().forEach(x=>b.collection.push(A(x))),b.collection.length>0){let x=b.collection.filter(u=>u?.dataset?.jqxcreationerror);b.collection=b.collection.filter(u=>!u?.dataset?.jqxcreationerror),O(`${T}`),O(`*Created ${b.isVirtual?"VIRTUAL ":""}[${M(Ve(b.collection)||"sanitized: no elements remaining",70)}]`),x.length&&console.error(`JQx: illegal html, not rendered: "${x.reduce((u,p)=>u.concat(`${p.textContent}
|
|
15
|
+
`),"").trim()}"`),b.isVirtual||z(b.collection,o,n)}return W(b)}let g=Xe(r,o,b);return O(`input => ${g}`),W(b)}}export{y as default};
|
package/README.md
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<a href="https://bundlephobia.com/package/
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
<img src="https://img.shields.io/npm/v/jqlmodule.svg?labelColor=cb3837&logo=npm&color=dcfdd9"></a>
|
|
2
|
+
<a href="https://bundlephobia.com/package/jqx-es@latest" rel="nofollow"
|
|
3
|
+
><img src="https://badgen.net/bundlephobia/min/jqx-es"></a>
|
|
4
|
+
<a target="_blank" href="https://www.npmjs.com/package/jqx-es"
|
|
5
|
+
><img src="https://img.shields.io/npm/v/jqx-es.svg?labelColor=cb3837&logo=npm&color=dcfdd9"></a>
|
|
7
6
|
</div>
|
|
8
7
|
|
|
9
|
-
## *Work in progress*: migrating (and renaming) from GitHUB JQL to Codeberg JQx
|
|
10
|
-
|
|
11
8
|
# JQx
|
|
12
9
|
|
|
13
10
|
<h3>JQuery - the good parts redone</h3>
|
|
@@ -18,14 +15,19 @@ It is developed in a modular fashion and uses plain ES20xx, so not really (or re
|
|
|
18
15
|
|
|
19
16
|
The module was rewritten in 2023 in a <i>classfree object oriented</i> fashion, inspired by a <a target="_blank" href="https://youtu.be/XFTOG895C7c?t=2562">Douglas Crockford presentation</a>.
|
|
20
17
|
|
|
21
|
-
The objective is to ***not*** use `prototype` and `this` in the code.
|
|
18
|
+
The objective was and is to ***not*** use `prototype` and `this` in the code.
|
|
19
|
+
|
|
20
|
+
## Documentation/demo
|
|
21
|
+
Documentation can be found @[https://kooiinc.codeberg.page/JQx/Resource/Docs/](https://kooiinc.codeberg.page/JQx/Resource/Docs/).
|
|
22
|
+
|
|
23
|
+
A test and demo of this module can be found @[kooiinc.codeberg.page/JQx/Resource/Demo](https://kooiinc.codeberg.page/JQx/Resource/Demo/).
|
|
22
24
|
|
|
23
25
|
## Install/Import/Initialize
|
|
24
26
|
|
|
25
|
-
### NPM
|
|
26
|
-
You can install this module
|
|
27
|
+
### NPM
|
|
28
|
+
You can install this module from npm (package *jqx-es*). To create a HTML tree (DOM Object) server side you need a library like [jsdom](https://github.com/jsdom/jsdom).
|
|
27
29
|
```
|
|
28
|
-
npm i
|
|
30
|
+
npm i jqx-es
|
|
29
31
|
```
|
|
30
32
|
|
|
31
33
|
There are *two flavors* of this library. One for scripts with type `module` (or projects with `"type": "module"` in package.json) and one for the browser.
|
|
@@ -52,8 +54,3 @@ $.div(`Hello JQx!`).appendTo(document.body);
|
|
|
52
54
|
// ...
|
|
53
55
|
</script>
|
|
54
56
|
```
|
|
55
|
-
## Documentation
|
|
56
|
-
Documentation can be found @[https://kooiinc.codeberg.page/JQx/@main/Resource/Docs/](https://kooiinc.codeberg.page/JQx/@main/Resource/Docs/).
|
|
57
|
-
|
|
58
|
-
## Demo and test
|
|
59
|
-
A test and demo of this module can be found @[kooiinc.codeberg.page/@main/JQx/Resource/Demo](https://kooiinc.codeberg.page/JQx/@main/Resource/Demo/).
|
package/package.json
CHANGED
package/src/JQxMethods.js
CHANGED
|
@@ -82,7 +82,12 @@ const applyStyle = (el, rules) => {
|
|
|
82
82
|
};
|
|
83
83
|
const datasetKeyProxy = { get(obj, key) { return obj[toCamelcase(key)] || obj[key]; }, enumerable: false, configurable: false };
|
|
84
84
|
const logDebug = (...args) => { debugLog.log(`❗` + args.map(v => String(v)).join(`, `) ) ; }
|
|
85
|
-
|
|
85
|
+
const findParentScrollDistance = (node, distance = 0, top = true) => {
|
|
86
|
+
node = node?.parentElement;
|
|
87
|
+
const what = top ? `scrollTop` : `scrollLeft`;
|
|
88
|
+
distance += node ? node[what] : 0;
|
|
89
|
+
return !node ? distance : findParentScrollDistance(node, distance, top);
|
|
90
|
+
};
|
|
86
91
|
export default {
|
|
87
92
|
factoryExtensions: {
|
|
88
93
|
data: instance => ({
|
|
@@ -103,7 +108,16 @@ export default {
|
|
|
103
108
|
return instance;
|
|
104
109
|
},
|
|
105
110
|
}),
|
|
106
|
-
dimensions: instance =>
|
|
111
|
+
dimensions: instance => {
|
|
112
|
+
if (instance.is.empty) {
|
|
113
|
+
return { error: `[instance].dimensions: NO ELEMENTS` };
|
|
114
|
+
}
|
|
115
|
+
let node = instance[0];
|
|
116
|
+
const boundingRect = instance.first()?.getBoundingClientRect().toJSON();
|
|
117
|
+
boundingRect.scrollTopDistance = findParentScrollDistance(node, 0);
|
|
118
|
+
boundingRect.scrollLeftDistance = findParentScrollDistance(node, 0, false);
|
|
119
|
+
return boundingRect;
|
|
120
|
+
},
|
|
107
121
|
HTML: instance => ({
|
|
108
122
|
get: (outer, escaped) => {
|
|
109
123
|
if (instance.is.empty) {
|