jqx-es 1.1.2 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Bundle/jqx.browser.min.js +12 -12
- package/Bundle/jqx.min.js +12 -12
- package/package.json +1 -1
- package/src/HandlerFactory.js +7 -8
- package/src/JQxExtensionHelpers.js +41 -20
- package/src/JQxMethods.js +57 -38
- package/src/Popup.js +4 -7
- package/src/Utilities.js +6 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var JQx=(()=>{var
|
|
2
|
-
`;e.forEach(
|
|
3
|
-
`,n)})}function xt(e,t,...r){let n=St(t,e);return r?.forEach(i=>ht(n,i,e)),n}function St(e,t){switch(e=ye(t)?wt(e):e?.isJQx?e.first():e,!0){case a(e,String):return Y(t,He(e,t)?{html:e}:{text:e});case a(e,Node):return Et(t,e);default:return Y(t,e)}}function vt(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 Et(e,t){let r=Y(e);return r.append(t),r}function Y(e,t={}){t=De(t,{});let r=Object.entries(t.data??{}),n=Object.assign(ye(e)?new Comment(t?.text):document.createElement(e),vt(t));return r.length&&r.forEach(([i,s])=>n.dataset[i]=String(s)),n}function De(e,t){return t?a(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:t}):a(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function wt(e){return De(e)?e?.text??e?.textContent??"":String(e)}function Ct(e){return Y("b",{style:"color:red",text:`'${e}' is not a valid HTML-tag`})}function He(e,t){return!ye(t)&&a(e,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(e)}function Lt(e){return e?.constructor===Comment||e?.constructor===CharacterData}function ye(e){return e?.constructor===Comment||/comment/i.test(e)}function $t(e){return!a(Y(e),HTMLUnknownElement)}function Ft(e){return(t,...r)=>xt(e,t,...r)}var{IS:a,maybe:be,$Wrap:Dr,xProxy:Hr,isNothing:jr}=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"),b();let e=F(),[t,r]=[d(),L()];return r.custom(),{IS:n,maybe:e,$Wrap:t,isNothing:w,xProxy:r};function n(o,...l){if(e({trial:u=>"isTypes"in(l?.[0]??{})})){let u=l[0];return"defaultValue"in u?p(o,u):"notTypes"in u?m(o,u):n(o,...[u.isTypes].flat())}let c=typeof o=="symbol"?Symbol.isSymbol:o;return l.length>1?S(c,...l):s(o,...l)}function i(o){return o?.[Symbol.proxy]??n(o)}function s(o,...l){let{noInput:c,noShouldbe:u,compareTo:v,inputCTOR:A,isNaN:N,isInfinity:I,shouldBeFirstElementIsNothing:R}=x(o,...l);switch(l=l.length&&l[0],!0){case R:return String(o)===String(v);case(o?.[Symbol.proxy]&&u):return o[Symbol.proxy];case N:return u?"NaN":e({trial:B=>String(v)})===String(o);case I:return u?"Infinity":e({trial:B=>String(v)})===String(o);case c:return u?String(o):String(v)===String(o);case A===Boolean:return l?A===l:"Boolean";default:return E(o,l,u,g(o,A))}}function g(o,l){return o===0?Number:o===""?String:o?l:{name:String(o)}}function x(o,...l){let c=l.length<1,u=!c&&l[0],v=!c&&w(l[0]),A=o==null,N=!A&&Object.getPrototypeOf(o)?.constructor,I=e({trial:B=>String(o)})==="NaN",R=e({trial:B=>String(o)})==="Infinity";return{noInput:A,noShouldbe:c,compareTo:u,inputCTOR:N,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function E(o,l,c,u){switch(!0){case(!c&&l===o||o?.[Symbol.proxy]&&l===Proxy):return!0;case e({trial:v=>String(l)})==="NaN":return String(o)==="NaN";case(o?.[Symbol.toStringTag]&&n(l,String)):return String(l)===o[Symbol.toStringTag];default:return l?e({trial:v=>o instanceof l})||l===u||l===Object.getPrototypeOf(u)||`${l?.name}`===u?.name:o?.[Symbol.toStringTag]&&`[object ${o?.[Symbol.toStringTag]}]`||u?.name||String(u)}}function S(o,...l){return l.some(c=>n(o,c))}function w(o,l=!1){let c=o==null;return c=l?c||n(o,1/0)||n(o,NaN):c,c}function F(){let o=(l,c)=>l?.constructor===Function?l(c):void 0;return function({trial:l,whenError:c=()=>{}}={}){try{return o(l)}catch(u){return o(c,u)}}}function d(){return function(o){return Object.freeze({get value(){return o},get[Symbol.type](){return i(o)},get type(){return i(o)},[Symbol.is](...l){return n(o,...l)},is(...l){return n(o,...l)}})}}function p(o,{defaultValue:l,isTypes:c=[void 0],notTypes:u}={}){return c=c?.constructor!==Array?[c]:c,u=u&&u?.constructor!==Array?[u]:[],u.length<1?n(o,...c)?o:l:m(o,{isTypes:c,notTypes:u})?o:l}function m(o,{isTypes:l=[void 0],notTypes:c=[void 0]}={}){return l=l?.constructor!==Array?[l]:l,c=c?.constructor!==Array?[c]:c,n(o,...l)&&!n(o,...c)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return i(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...o){return n(this,...o)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(o){return i(o)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(o,...l){return n(o,...l)},enumerable:!1,configurable:!1}}))}function f(o){let l=String(Object.getPrototypeOf(o)?.constructor);return l.slice(l.indexOf("ion")+3,l.indexOf("(")).trim()}function h(o){let l=o.set;return o.set=(c,u,v)=>u===Symbol.proxy?c[u]=v:l(c,u,v),o}function L(){let o=Proxy;return{native(){Proxy=o},custom(){Proxy=new o(o,{construct(l,c){for(let v of c)v.set&&(v=h(v));let u=new l(...c);return u[Symbol.proxy]=`Proxy (${f(c[0])})`,u}})}}}}var{IS:ne,maybe:Mr,$Wrap:Pr,xProxy:Nr,isNothing:Ir}=At();function At(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),b();let e=F(),[t,r]=[d(),L()];return r.custom(),{IS:n,maybe:e,$Wrap:t,isNothing:w,xProxy:r};function n(o,...l){if(e({trial:u=>"isTypes"in(l?.[0]??{})})){let u=l[0];return"defaultValue"in u?p(o,u):"notTypes"in u?m(o,u):n(o,...[u.isTypes].flat())}let c=typeof o=="symbol"?Symbol.isSymbol:o;return l.length>1?S(c,...l):s(o,...l)}function i(o){return o?.[Symbol.proxy]??n(o)}function s(o,...l){let{noInput:c,noShouldbe:u,compareTo:v,inputCTOR:A,isNaN:N,isInfinity:I,shouldBeFirstElementIsNothing:R}=x(o,...l);switch(l=l.length&&l[0],!0){case R:return String(o)===String(v);case(o?.[Symbol.proxy]&&u):return o[Symbol.proxy];case N:return u?"NaN":e({trial:B=>String(v)})===String(o);case I:return u?"Infinity":e({trial:B=>String(v)})===String(o);case c:return u?String(o):String(v)===String(o);case A===Boolean:return l?A===l:"Boolean";default:return E(o,l,u,g(o,A))}}function g(o,l){return o===0?Number:o===""?String:o?l:{name:String(o)}}function x(o,...l){let c=l.length<1,u=!c&&l[0],v=!c&&w(l[0]),A=o==null,N=!A&&Object.getPrototypeOf(o)?.constructor,I=e({trial:B=>String(o)})==="NaN",R=e({trial:B=>String(o)})==="Infinity";return{noInput:A,noShouldbe:c,compareTo:u,inputCTOR:N,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function E(o,l,c,u){switch(!0){case(!c&&l===o||o?.[Symbol.proxy]&&l===Proxy):return!0;case e({trial:v=>String(l)})==="NaN":return String(o)==="NaN";case(o?.[Symbol.toStringTag]&&n(l,String)):return String(l)===o[Symbol.toStringTag];default:return l?e({trial:v=>o instanceof l})||l===u||l===Object.getPrototypeOf(u)||`${l?.name}`===u?.name:o?.[Symbol.toStringTag]&&`[object ${o?.[Symbol.toStringTag]}]`||u?.name||String(u)}}function S(o,...l){return l.some(c=>n(o,c))}function w(o,l=!1){let c=o==null;return c=l?c||n(o,1/0)||n(o,NaN):c,c}function F(){let o=(l,c)=>l?.constructor===Function?l(c):void 0;return function({trial:l,whenError:c=()=>{}}={}){try{return o(l)}catch(u){return o(c,u)}}}function d(){return function(o){return Object.freeze({get value(){return o},get[Symbol.type](){return i(o)},get type(){return i(o)},[Symbol.is](...l){return n(o,...l)},is(...l){return n(o,...l)}})}}function p(o,{defaultValue:l,isTypes:c=[void 0],notTypes:u}={}){return c=c?.constructor!==Array?[c]:c,u=u&&u?.constructor!==Array?[u]:[],u.length<1?n(o,...c)?o:l:m(o,{isTypes:c,notTypes:u})?o:l}function m(o,{isTypes:l=[void 0],notTypes:c=[void 0]}={}){return l=l?.constructor!==Array?[l]:l,c=c?.constructor!==Array?[c]:c,n(o,...l)&&!n(o,...c)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return i(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...o){return n(this,...o)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(o){return i(o)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(o,...l){return n(o,...l)},enumerable:!1,configurable:!1}}))}function f(o){let l=String(Object.getPrototypeOf(o)?.constructor);return l.slice(l.indexOf("ion")+3,l.indexOf("(")).trim()}function h(o){let l=o.set;return o.set=(c,u,v)=>u===Symbol.proxy?c[u]=v:l(c,u,v),o}function L(){let o=Proxy;return{native(){Proxy=o},custom(){Proxy=new o(o,{construct(l,c){for(let v of c)v.set&&(v=h(v));let u=new l(...c);return u[Symbol.proxy]=`Proxy (${f(c[0])})`,u}})}}}}var K=Dt;function Dt({styleSheet:e,createWithId:t}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:i,sheet:s,removeRules:g,consider:x,currentSheetID:E}=Ht({styleSheet:e,createWithId:t});function S(m,b){if(m&&b.removeProperties){Object.keys(b.removeProperties).forEach(f=>m.style.removeProperty(je(f)));return}Object.entries(b).forEach(([f,h])=>{f=je(f.trim()),h=h.trim();let L;if(/!important/.test(h)&&(h=h.slice(0,h.indexOf("!important")).trim(),L="important"),!CSS.supports(f,h))return console.error(`StylingFactory ${E} error: '${f}' with value '${h}' not supported (yet)`);Oe(()=>m.style.setProperty(f,h,L),`StylingFactory ${E} (setRule4Selector) failed`)})}function w(m,b,f=s){if(m=m?.trim?.(),!ne(m,String)||!m.length||/[;,]$/g.test(m))return console.error(`StylingFactory ${E} (setRules): [${m||"[no selector given]"}] is not a valid selector`);if(b.removeRule)return g(m);let h=n(m,!0),L=h||f.cssRules[f.insertRule(`${m} {}`,f.cssRules.length||0)];return x(()=>S(L,b),m,h)}function F(m){let b=m.trim().split(/{/,2),f=b.shift().trim();if(!ne(f,String)||!f?.trim()?.length)return console.error(`StylingFactory ${E} (doParse): no (valid) selector could be extracted from rule ${he(m)}`);let h=Rt(b.shift());return Oe(()=>w(f,h),`StylingFactory ${E} (setRules) failed`)}function d(m){let b=r(m);return b.done?b.existing:F(m)}function p(m,b){return m.trim().startsWith("@media")?d(jt(m,b)):w(m,b)}return function(m,b={}){return i(m,b)&&(Object.keys(b).length?p(m,b):d(m))}}function Ht({styleSheet:e,createWithId:t}){let r="Note: The rule or some of its properties may not be supported by your browser (yet)",n=`for style#${t}`;e=t?i(t):e;function i(d){let p=document.querySelector(`#${d}`)?.sheet;if(p)return p;let m=Object.assign(document.createElement("style"),{id:d});return document.head.insertAdjacentElement("beforeend",m),m.sheet}function s(d){return console.error(`StylingFactory ${n} [rule: ${d}]
|
|
4
|
-
=> @charset, @namespace and @import are not supported here`),{done:!0}}function
|
|
1
|
+
var JQx=(()=>{var ae=Object.defineProperty;var ot=Object.getOwnPropertyDescriptor;var nt=Object.getOwnPropertyNames;var it=Object.prototype.hasOwnProperty;var lt=(e,t)=>{for(var r in t)ae(e,r,{get:t[r],enumerable:!0})},st=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of nt(t))!it.call(e,i)&&i!==r&&ae(e,i,{get:()=>t[i],enumerable:!(o=ot(t,i))||o.enumerable});return e};var at=e=>st(ae({},"__esModule",{value:!0}),e);var hr={};lt(hr,{default:()=>y});var ce=ft(),Le=dt(),J=ct(),Z=ut();function ct(){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 ut(){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 ft(){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 dt(){return["::backdrop{background-color:grey;opacity:0.2;}",`#jqxPopup{overflow:hidden;background-color:transparent;outline:none;border:none;inset:0;animation:fade-out 0.5s ease-out;&[open]{display:flex;align-items:center;justify-content:center;animation:fade-in 0.5s ease;}#jqxPopupContent{background-color:white;border:solid 1px #eee;box-shadow:1px 2px 8px #999;border-radius:4px;padding:12px;vertical-align:middle;max-height:40vh;max-width:50vw;overflow:auto;margin:0 auto;div:not(#closeHandleIcon){clear:both;}@media (width <= 640px){max-width:80vw;max-height:60vh;}#closeHandleIcon{cursor:pointer;width:24px;height:24px;display:inline;position:absolute;top:4px;right:4px;justify-content:right;background-image:url("data:image/svg+xml;utf8,%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");@media (width <= 640px){background-image:none;position:relative;margin:-15px -15px 4px 0;float:right;vertical-align:middle;border:1px solid #AAA;padding:2px;border-radius:50%;width:12px;height:12px;font-size:12px;line-height:12px;font-weight:bold;text-align:center;&:after{content:'\\2714';color:green;}}}.warn{display:none;text-align:center;color:red;border-top:1px solid #999;margin-top:1em;padding-top:3px;animation:warn-fade-out 0.2s ease-out;}.warn.active{opacity:1;display:block;animation:warn-fade-in 0.2s ease-in;}}}`,"@keyframes fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1, 1);display:flex;}}","@keyframes fade-out{0%{opacity:1;transform:scale(1, 1);display:flex;}100%{opacity:0;transform:scale(0, 0);display:none;}}","@keyframes warn-fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1,1 );display:block;}}","@keyframes warn-fade-out{0%{opacity:1;transform:scale(1, 1);display:block;}100%{opacity:0;transform:scale(0, 0);display:none;}}"]}var ue=!1,mt={on:()=>ue=!0,off:()=>ue=!1},O={tagsRaw:Z,allowUnknownHtmlTags:mt,isAllowed(e){if(ue)return!0;let t=a(e,String)?e.toLowerCase():e?.nodeName.toLowerCase()||"none";return t==="#text"||!!Z[t]},allowTag:e=>Z[e.toLowerCase()]=!0,prohibitTag:e=>Z[e.toLowerCase()]=!1};var me=!1,Y=!1,W=!0,ge=!1,gt=!0,$e,Q=()=>y("#logBox"),Fe="#jqx_logger",pt=e=>{ce?.forEach(t=>e(t))},yt=()=>{ce&&pt($e);let e=gt?"div":"pre",t=`<div id="logBox"><div class="legend"><div></div></div><${e} id="jqx_logger"></${e}></div>`;return pe(H(t),void 0,F.AfterBegin),y.node(Fe)},Te=e=>a(e,String)&&Object.assign(document.createElement("textarea"),{innerHTML:e}).textContent||e,D=(...e)=>{let t=e[0]==="fromStatic";if(e=t?e.slice(1):e,t&&!Y)return e.forEach(o=>console.info(`${q()} \u2714 ${Te(o)}`));if(!Y)return;!W&&!y.node("#logBox")&&($e=y.createStyle("JQxLogCSS"),yt());let r=o=>`${a(o,Object)?JSON.stringify(o,null,2):o}
|
|
2
|
+
`;e.forEach(o=>W?console.info(`${q()} \u2714 ${Te(o)}`):y.node("#jqx_logger").insertAdjacentHTML(ge?"afterbegin":"beforeend",`<div class="entry">${q()} ${r(o.replace(/\n/g,"<br>"))}</div>`))},fe={on(){Y=!0,D("Logging activated")},off(){Y=!1,console.log("Logging deactivated")}},de={on(){me=!0},off(){me=!1}},P=(...e)=>me&&D(...e),$={get isConsole(){return W===!0},get isOn(){return Y},isVisible:function(){return y("#jqx_logger").is("visible")},on(){return fe.on(),de.on(),W||Q()?.addClass("visible"),D("Debug logging started. Every call to [jqx instance] is logged"),$},off(){return Q().isEmpty||(de.off(),D("Debug logging stopped"),Q()?.removeClass("visible")),fe.off(),$},toConsole:{on(){return W=!0,D("Started logging to console"),$},off(){return D("Stopped logging to console (except error messages)"),W=!1,$}},remove(){return fe.off(),de.off(),Q()?.remove(),console.clear(),console.log(`${q()} logging completely disabled and all entries removed`),$},log:function(...e){return D(...e),$},hide(){return Q()?.removeClass("visible"),$},show:()=>(Q()?.addClass("visible"),$),get reversed(){return{on:()=>(ge=!0,D("Reverse logging set: now logging bottom to top (latest first)"),y("#logBox .legend").addClass("reversed"),$),off:()=>(ge=!1,y("#logBox .legend").removeClass("reversed"),D("Reverse logging reset: now logging chronological (latest last)"),$)}},clear(){return y(Fe).text(""),console.clear(),D("Logging cleared"),$}};var bt=ht(),Ae={html:"innerHTML",text:"textContent",class:"className"},ye=bt;function ht(){let e={get(t,r){let o=String(r)?.toLowerCase();switch(!0){case o in t:return t[o];case $t(o):return De(t,o,r);default:return De(t,o,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},e)}function De(e,t,r,o=!1){return Object.defineProperty(e,t,{get(){return o?i=>Lt(r):Ft(t)}}),e[t]}function xt(e,t,r){return t=t?.isJQx&&t.first()||t,he({trial:o=>Tt(t)?e.append(t):je(t)?e.insertAdjacentHTML("beforeend",t):e.append(t),whenError:o=>console.info(`${r} (for root ${e}) not created, reason
|
|
3
|
+
`,o)})}function St(e,t,...r){let o=vt(t,e);return r?.forEach(i=>xt(o,i,e)),o}function vt(e,t){switch(e=be(t)?Ct(e):e?.isJQx?e.first():e,!0){case a(e,String):return X(t,je(e,t)?{html:e}:{text:e});case a(e,Node):return Et(t,e);default:return X(t,e)}}function wt(e){return delete e.data,Object.keys(e).length<1||Object.keys(e).forEach(t=>{let r=t.toLowerCase();r in Ae&&(e[Ae[r]]=e[t],delete e[t])}),e}function Et(e,t){let r=X(e);return r.append(t),r}function X(e,t={}){t=He(t,{});let r=Object.entries(t.data??{}),o=Object.assign(be(e)?new Comment(t?.text):document.createElement(e),wt(t));return r.length&&r.forEach(([i,l])=>o.dataset[i]=String(l)),o}function He(e,t){return t?a(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:t}):a(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function Ct(e){return He(e)?e?.text??e?.textContent??"":String(e)}function Lt(e){return X("b",{style:"color:red",text:`'${e}' is not a valid HTML-tag`})}function je(e,t){return!be(t)&&a(e,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(e)}function Tt(e){return e?.constructor===Comment||e?.constructor===CharacterData}function be(e){return e?.constructor===Comment||/comment/i.test(e)}function $t(e){return!a(X(e),HTMLUnknownElement)}function Ft(e){return(t,...r)=>St(e,t,...r)}var{IS:a,maybe:he,$Wrap:Hr,xProxy:jr,isNothing:Nr}=At();function At(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),b();let e=L(),[t,r]=[m(),T()];return r.custom(),{IS:o,maybe:e,$Wrap:t,isNothing:v,xProxy:r};function o(n,...s){if(e({trial:u=>"isTypes"in(s?.[0]??{})})){let u=s[0];return"defaultValue"in u?p(n,u):"notTypes"in u?g(n,u):o(n,...[u.isTypes].flat())}let c=typeof n=="symbol"?Symbol.isSymbol:n;return s.length>1?h(c,...s):l(n,...s)}function i(n){return n?.[Symbol.proxy]??o(n)}function l(n,...s){let{noInput:c,noShouldbe:u,compareTo:w,inputCTOR:A,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:k}=x(n,...s);switch(s=s.length&&s[0],!0){case k:return String(n)===String(w);case(n?.[Symbol.proxy]&&u):return n[Symbol.proxy];case I:return u?"NaN":e({trial:B=>String(w)})===String(n);case R:return u?"Infinity":e({trial:B=>String(w)})===String(n);case c:return u?String(n):String(w)===String(n);case A===Boolean:return s?A===s:"Boolean";default:return E(n,s,u,d(n,A))}}function d(n,s){return n===0?Number:n===""?String:n?s:{name:String(n)}}function x(n,...s){let c=s.length<1,u=!c&&s[0],w=!c&&v(s[0]),A=n==null,I=!A&&Object.getPrototypeOf(n)?.constructor,R=e({trial:B=>String(n)})==="NaN",k=e({trial:B=>String(n)})==="Infinity";return{noInput:A,noShouldbe:c,compareTo:u,inputCTOR:I,isNaN:R,isInfinity:k,shouldBeFirstElementIsNothing:w}}function E(n,s,c,u){switch(!0){case(!c&&s===n||n?.[Symbol.proxy]&&s===Proxy):return!0;case e({trial:w=>String(s)})==="NaN":return String(n)==="NaN";case(n?.[Symbol.toStringTag]&&o(s,String)):return String(s)===n[Symbol.toStringTag];default:return s?e({trial:w=>n instanceof s})||s===u||s===Object.getPrototypeOf(u)||`${s?.name}`===u?.name:n?.[Symbol.toStringTag]&&`[object ${n?.[Symbol.toStringTag]}]`||u?.name||String(u)}}function h(n,...s){return s.some(c=>o(n,c))}function v(n,s=!1){let c=n==null;return c=s?c||o(n,1/0)||o(n,NaN):c,c}function L(){let n=(s,c)=>s?.constructor===Function?s(c):void 0;return function({trial:s,whenError:c=()=>{}}={}){try{return n(s)}catch(u){return n(c,u)}}}function m(){return function(n){return Object.freeze({get value(){return n},get[Symbol.type](){return i(n)},get type(){return i(n)},[Symbol.is](...s){return o(n,...s)},is(...s){return o(n,...s)}})}}function p(n,{defaultValue:s,isTypes:c=[void 0],notTypes:u}={}){return c=c?.constructor!==Array?[c]:c,u=u&&u?.constructor!==Array?[u]:[],u.length<1?o(n,...c)?n:s:g(n,{isTypes:c,notTypes:u})?n:s}function g(n,{isTypes:s=[void 0],notTypes:c=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,c=c?.constructor!==Array?[c]:c,o(n,...s)&&!o(n,...c)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return i(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...n){return o(this,...n)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(n){return i(n)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(n,...s){return o(n,...s)},enumerable:!1,configurable:!1}}))}function f(n){let s=String(Object.getPrototypeOf(n)?.constructor);return s.slice(s.indexOf("ion")+3,s.indexOf("(")).trim()}function S(n){let s=n.set;return n.set=(c,u,w)=>u===Symbol.proxy?c[u]=w:s(c,u,w),n}function T(){let n=Proxy;return{native(){Proxy=n},custom(){Proxy=new n(n,{construct(s,c){for(let w of c)w.set&&(w=S(w));let u=new s(...c);return u[Symbol.proxy]=`Proxy (${f(c[0])})`,u}})}}}}var{IS:ne,maybe:Or,$Wrap:Pr,xProxy:Ir,isNothing:Rr}=Dt();function Dt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),b();let e=L(),[t,r]=[m(),T()];return r.custom(),{IS:o,maybe:e,$Wrap:t,isNothing:v,xProxy:r};function o(n,...s){if(e({trial:u=>"isTypes"in(s?.[0]??{})})){let u=s[0];return"defaultValue"in u?p(n,u):"notTypes"in u?g(n,u):o(n,...[u.isTypes].flat())}let c=typeof n=="symbol"?Symbol.isSymbol:n;return s.length>1?h(c,...s):l(n,...s)}function i(n){return n?.[Symbol.proxy]??o(n)}function l(n,...s){let{noInput:c,noShouldbe:u,compareTo:w,inputCTOR:A,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:k}=x(n,...s);switch(s=s.length&&s[0],!0){case k:return String(n)===String(w);case(n?.[Symbol.proxy]&&u):return n[Symbol.proxy];case I:return u?"NaN":e({trial:B=>String(w)})===String(n);case R:return u?"Infinity":e({trial:B=>String(w)})===String(n);case c:return u?String(n):String(w)===String(n);case A===Boolean:return s?A===s:"Boolean";default:return E(n,s,u,d(n,A))}}function d(n,s){return n===0?Number:n===""?String:n?s:{name:String(n)}}function x(n,...s){let c=s.length<1,u=!c&&s[0],w=!c&&v(s[0]),A=n==null,I=!A&&Object.getPrototypeOf(n)?.constructor,R=e({trial:B=>String(n)})==="NaN",k=e({trial:B=>String(n)})==="Infinity";return{noInput:A,noShouldbe:c,compareTo:u,inputCTOR:I,isNaN:R,isInfinity:k,shouldBeFirstElementIsNothing:w}}function E(n,s,c,u){switch(!0){case(!c&&s===n||n?.[Symbol.proxy]&&s===Proxy):return!0;case e({trial:w=>String(s)})==="NaN":return String(n)==="NaN";case(n?.[Symbol.toStringTag]&&o(s,String)):return String(s)===n[Symbol.toStringTag];default:return s?e({trial:w=>n instanceof s})||s===u||s===Object.getPrototypeOf(u)||`${s?.name}`===u?.name:n?.[Symbol.toStringTag]&&`[object ${n?.[Symbol.toStringTag]}]`||u?.name||String(u)}}function h(n,...s){return s.some(c=>o(n,c))}function v(n,s=!1){let c=n==null;return c=s?c||o(n,1/0)||o(n,NaN):c,c}function L(){let n=(s,c)=>s?.constructor===Function?s(c):void 0;return function({trial:s,whenError:c=()=>{}}={}){try{return n(s)}catch(u){return n(c,u)}}}function m(){return function(n){return Object.freeze({get value(){return n},get[Symbol.type](){return i(n)},get type(){return i(n)},[Symbol.is](...s){return o(n,...s)},is(...s){return o(n,...s)}})}}function p(n,{defaultValue:s,isTypes:c=[void 0],notTypes:u}={}){return c=c?.constructor!==Array?[c]:c,u=u&&u?.constructor!==Array?[u]:[],u.length<1?o(n,...c)?n:s:g(n,{isTypes:c,notTypes:u})?n:s}function g(n,{isTypes:s=[void 0],notTypes:c=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,c=c?.constructor!==Array?[c]:c,o(n,...s)&&!o(n,...c)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return i(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...n){return o(this,...n)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(n){return i(n)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(n,...s){return o(n,...s)},enumerable:!1,configurable:!1}}))}function f(n){let s=String(Object.getPrototypeOf(n)?.constructor);return s.slice(s.indexOf("ion")+3,s.indexOf("(")).trim()}function S(n){let s=n.set;return n.set=(c,u,w)=>u===Symbol.proxy?c[u]=w:s(c,u,w),n}function T(){let n=Proxy;return{native(){Proxy=n},custom(){Proxy=new n(n,{construct(s,c){for(let w of c)w.set&&(w=S(w));let u=new s(...c);return u[Symbol.proxy]=`Proxy (${f(c[0])})`,u}})}}}}var K=Ht;function Ht({styleSheet:e,createWithId:t}={}){let{tryParseAtOrNestedRules:r,ruleExists:o,checkParams:i,sheet:l,removeRules:d,consider:x,currentSheetID:E}=jt({styleSheet:e,createWithId:t});function h(g,b){if(g&&b.removeProperties){Object.keys(b.removeProperties).forEach(f=>g.style.removeProperty(Ne(f)));return}Object.entries(b).forEach(([f,S])=>{f=Ne(f.trim()),S=S.trim();let T;if(/!important/.test(S)&&(S=S.slice(0,S.indexOf("!important")).trim(),T="important"),!CSS.supports(f,S))return console.error(`StylingFactory ${E} error: '${f}' with value '${S}' not supported (yet)`);Me(()=>g.style.setProperty(f,S,T),`StylingFactory ${E} (setRule4Selector) failed`)})}function v(g,b,f=l){if(g=g?.trim?.(),!ne(g,String)||!g.length||/[;,]$/g.test(g))return console.error(`StylingFactory ${E} (setRules): [${g||"[no selector given]"}] is not a valid selector`);if(b.removeRule)return d(g);let S=o(g,!0),T=S||f.cssRules[f.insertRule(`${g} {}`,f.cssRules.length||0)];return x(()=>h(T,b),g,S)}function L(g){let b=g.trim().split(/{/,2),f=b.shift().trim();if(!ne(f,String)||!f?.trim()?.length)return console.error(`StylingFactory ${E} (doParse): no (valid) selector could be extracted from rule ${xe(g)}`);let S=kt(b.shift());return Me(()=>v(f,S),`StylingFactory ${E} (setRules) failed`)}function m(g){let b=r(g);return b.done?b.existing:L(g)}function p(g,b){return g.trim().startsWith("@media")?m(Nt(g,b)):v(g,b)}return function(g,b={}){return i(g,b)&&(Object.keys(b).length?p(g,b):m(g))}}function jt({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?i(t):e;function i(m){let p=document.querySelector(`#${m}`)?.sheet;if(p)return p;let g=Object.assign(document.createElement("style"),{id:m});return document.head.insertAdjacentElement("beforeend",g),g.sheet}function l(m){return console.error(`StylingFactory ${o} [rule: ${m}]
|
|
4
|
+
=> @charset, @namespace and @import are not supported here`),{done:!0}}function d(m,p){return[...e.rules].find(g=>p?Oe(g.selectorText||"",m):Pt`${Ot(m)}${[..."gim"]}`.test(g.cssText))}function x(m){return/^@charset|@import|namespace/i.test(m.trim())?l(m):m.match(/}/g)?.length>1?{existing:v(m,1),done:!0}:{done:!1}}function E(m){let p=[...e.cssRules].reduce((b,f,S)=>Oe(f.selectorText||"",m)&&b.concat(S)||b,[]),g=p.length;return p.forEach(b=>e.deleteRule(b)),g>0?console.info(`\u2714 Removed ${g} instance${g>1?"s":""} of selector ${m} from ${o.slice(4)}`):console.info(`\u2714 Remove rule: selector ${m} does not exist in ${o.slice(4)}`)}function h(m,p){return m&&ne(m,String)&&m.trim().length>0&&ne(p,Object)||(console.error(`StylingFactory ${o} called with invalid parameters`),!1)}function v(m){m=m.trim();let p=m.slice(0,m.indexOf("{")).trim(),g=!!d(p);try{return e.insertRule(`${m}`,e.cssRules.length),g}catch(b){return console.error(`StylingFactory ${o} (tryParse) ${b.name} Error:
|
|
5
5
|
${b.message}
|
|
6
|
-
Rule: ${
|
|
7
|
-
${r}`),
|
|
6
|
+
Rule: ${xe(m)}
|
|
7
|
+
${r}`),g}}function L(m,p,g){try{return m(),g}catch(b){return console.error(`StylingFactory ${o} (tryAddOrModify) ${b.name} Error:
|
|
8
8
|
${b.message}
|
|
9
|
-
Rule: ${
|
|
10
|
-
${r}`),
|
|
11
|
-
`)}function
|
|
12
|
-
`).map(
|
|
9
|
+
Rule: ${xe(p)}
|
|
10
|
+
${r}`),g}}return{sheet:e,removeRules:E,tryParseAtOrNestedRules:x,ruleExists:d,checkParams:h,tryParse:v,consider:L,currentSheetID:o}}function Nt(e,t){return`${e.trim()} ${Object.entries(t).map(([r,o])=>`${r}: { ${Mt(o)}`)}`}function xe(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 Mt(e){return Object.entries(e).map(([t,r])=>`${t}: ${r.trim()}`).join(`;
|
|
11
|
+
`)}function Ot(e){return e.replace(/([*\[\]()-+{}.$?\\])/g,t=>`\\${t}`)}function Pt(e,...t){let r=t.length&&Array.isArray(t.slice(-1))?t.pop().join(""):"";return new RegExp((t.length&&e.raw.reduce((o,i,l)=>o.concat(t[l-1]||"").concat(i),"")||e.raw.join("")).split(`
|
|
12
|
+
`).map(o=>o.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function Ne(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 It(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 It(e){return e.reduce((t,r)=>{let[n,i]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&i?{...t,[n]:i}:t},{})}function Rt(e){return It(Nt(e))}function Me(e,t){return e?.replace("::",":")===t?.replace("::",":")}var Bt=[...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}`)),oe=(e,t=2)=>`${e}`.padStart(t,"0"),kt=(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)),Jt=e=>{let t=e.length;for(;t--;){let r=kt(t);[e[t],e[r]]=[e[r],e[t]]}return e};var j=(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(),O=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/^-|-$/,""),Qt=([e,...t])=>`${e.toUpperCase()}${t.join("")}`,ee=e=>a(e,String)?e.toLowerCase().split("-").map((t,r)=>r&&`${Qt(t)}`||t).join(""):e,q=()=>`_${Jt(Bt).slice(0,8).join("")}`,ie=(e,t=120)=>j(e,t).replace(/</g,"<"),W=()=>(e=>`[${oe(e.getHours())}:${oe(e.getMinutes())}:${oe(e.getSeconds())}.${oe(e.getMilliseconds(),3)}]`)(new Date);var z=e=>e.replace(/</g,"<");function Pe(){let e=function(s){if(!s)return;let g=s.style,x=getComputedStyle(s),E=[g.visibility,x.visibility].includes("hidden"),S=[g.display,x.display].includes("none"),w=s.offsetTop<0||s.offsetLeft+s.offsetWidth<0||s.offsetLeft>document.body.offsetWidth,F=+x.opacity==0||+(g.opacity||1)==0;return!(w||F||S||E)},r=function(s){return s.parentNode?!!y.nodes(":is(:read-write)",s?.parentNode)?.find(g=>g===s):!1},n=function(s){return s.parentNode?!!y.nodes(":is(:modal)",s?.parentNode)?.find(g=>g===s):!1},i={notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"};return s=>{let g=s.node;return g?{get writable(){return r(g)},get modal(){return n(g)},get inDOM(){return g.isConnected},get open(){return g.open??!1},get visible(){return e(g)},get disabled(){return g.hasAttribute("readonly")||g.hasAttribute("disabled")},get empty(){return s.collection.length<1},get virtual(){return s.isVirtual}}:i}}var Wt=!0,le={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(Wt&&Object.keys(e.removed).length){let t=Object.entries(e.removed).reduce((r,[n,i])=>[...r,`${z(n)} => ${i}`],[]).join("\\000A");$.log(`JQx HTML creation errors: ${$.isConsole?t:z(t)}`)}},zt=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(n=>n===t)||M.isAllowed(t)},te=e=>{let t={rawHTML:e?.parentElement?.getHTML()??"no html",removed:{}};return a(e,HTMLElement)&&[...e.childNodes].forEach(r=>{if(r?.children?.length&&te(r),r?.attributes){let i=a(r,SVGElement)?k.svg:k.html;[...(r??{attributes:[]}).attributes].forEach(s=>{let g=s.name.trim().toLowerCase(),x=s.value.trim().toLowerCase().replace(le.whiteSpace,""),E=g==="href"?!le.validURL.test(x):le.notAllowedValues.test(x),S=g.startsWith("data")?!le.data.test(g):!!i[g];if(E||S){let w=ie(s.value||"none",60);w+=w.length===60?"...":"",t.removed[`${s.name}`]=`attribute/property (-value) not allowed, removed. Value: ${w}`,r.removeAttribute(s.name)}})}if(!(zt(r)||r.constructor===CharacterData||r.constructor===Comment)){let i=(r?.outerHTML||r?.textContent).trim(),s=ie(i,60)??"EMPTY";s+=s.length===60?"...":"",t.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${s}`,r.remove()}}),qt(t),e};var T=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]}}),_t=e=>{let t=document.createElement("div");return t.insertAdjacentHTML(T.end,e),t.childNodes.length?te(t):void 0},Ut=(e,t,r)=>a(e,Comment)?t.insertAdjacentHTML(r,`<!--${e.data}-->`):t.insertAdjacentText(r,e.data),_=(e=[],t=document.body,r=T.BeforeEnd)=>e.reduce((n,i)=>{let s=re(i)&&ge(i,t,r);return s?[...n,s]:n},[]),ge=(e,t=document.body,r=T.BeforeEnd)=>(t=t?.isJQx?t?.[0]:t,a(e,Comment,Text)?Ut(e,t,r):t.insertAdjacentElement(r,e)),H=e=>{if(a(e,Text,Comment))return e;let t=e?.trim(),r=t?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(i=>i.length).shift():void 0),t.startsWith("<!--")&&t.endsWith("-->"))return document.createComment(e.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(t))return document.createTextNode(r);let n=_t(e);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${j(e,60)}</span>`):n.children[0]};var C=(e,t)=>{let r=e.collection.filter(n=>!Je(n));for(let n=0;n<r.length;n+=1)t(r[n],n);return e},Vt=Pe(),Ne=e=>e&&(e.textContent="");var U=e=>{let t=e.cloneNode(!0);return t.removeAttribute&&t.removeAttribute("id"),e.isConnected?e.remove():e=null,t},Be=(e,t)=>{e&&a(t,Object)&&Object.entries(t).forEach(([r,n])=>e.setAttribute(`data-${O(r)}`,n))},Ie=(e,t)=>e.andThen(t,!0),Re=(e,t)=>e.andThen(t),ke=e=>e.startsWith("data")||k.html.find(t=>e.toLowerCase()===t),Gt=(e,t,r)=>{r&&a(t,String)&&(t={[t]:r==="-"?"":r});let n;t.className&&(n=t.className,delete t.className),n=[...e.classList].find(s=>s.startsWith("JQxClass-")||n&&s===n)||n||`JQxClass-${q().slice(1)}`,y.editCssRule(`.${n}`,t),e.classList.add(n)},Zt=(e,t)=>{e&&Object.entries(t).forEach(([r,n])=>{if(r=O(r),r.startsWith("data"))return Be(e,n);a(n,String)&&ke(r)&&e.setAttribute(r,n.split(/[, ]/)?.join(" "))})},xe=(e,t)=>{a(t,Object)&&Object.entries(t).forEach(([r,n])=>{let i;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),i="important"),e.style.setProperty(O(r),n,i)})},Xt={get(e,t){return e[ee(t)]||e[t]},enumerable:!1,configurable:!1},Yt=(...e)=>{$.log("\u2757"+e.map(t=>String(t)).join(", "))},Se=(e,t=0,r=!0)=>(e=e?.parentElement,t+=e?e[r?"scrollTop":"scrollLeft"]:0,e?Se(e,t,r):t),ve={factoryExtensions:{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Xt)},set:(t={})=>(!e.is.empty&&a(t,Object)&&Object.entries(t).forEach(([r,n])=>e.setData({[r]:n})),e),get:(t,r)=>e.data.all[t]??r,add:(t={})=>(!e.is.empty&&a(t,Object)&&Object.entries(t).forEach(([r,n])=>e.setData({[r]:n})),e),remove:t=>(e[0]?.removeAttribute(`data-${O(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=Se(t,0),r.scrollLeftDistance=Se(t,0,!1),r},node:e=>e[0],HTML:e=>({get:(t,r)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let n=t?e.outerHtml:e.html();return r?z(n):n},set:(t,r=!1,n=!1)=>{t=t.isJQx?t.HTML.get(1):t;let i=a(t,String);return t=i&&n?z(t):t,i&&(t||"").trim().length&&e.html(t,r),e},replace:(t,r=!1)=>e.HTML.set(t,!1,r),append:(t,r=!1)=>(t=a(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=a(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=>Vt(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"),e),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])[O(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:r=[]}={})=>{let i=a(r,String)&&!t.length?r.split("{")[0].trim():"";return r=r&&a(r,String)?[r]:r,t=t&&a(t,String)?[t]:t,(r?.length||t?.length)&&(r?.length&&y.editCssRules(...r),t?.forEach(s=>e.addClass(s))),i?.startsWith(".")&&e.addClass(i.slice(1)),i?.startsWith("#")&&!e.attr("id")&&e.prop({id:i.slice(1)}),e}})},instanceExtensions:{addClass:(e,...t)=>C(e,r=>r&&t.forEach(n=>r.classList.add(n))),after:Re,afterMe:Re,andThen:(e,t,r=!1)=>{if(!t||!a(t,String,Node,Proxy))return Yt(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:a(t,Node)?y.virtual(t).collection:y.virtual(H(t)).collection;let[n,i,s]=r?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[n][i](...t),e.collection=s,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let r=e.length===1;for(let n of t){if(!n.isJQx&&a(n,String)){let i=n.trim(),g=!/^<(.+)[^>]+>$/m.test(i)?y.text(n):H(n);C(e,x=>x.append(r?g:U(g)))}re(n)&&C(e,i=>i.append(r?n:U(n))),n.isJQx&&!n.is.empty&&C(e,i=>n.collection.forEach(s=>i.append(r?s:U(s))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=y(t)),t.append(e),e),attr:(e,t,r)=>{let n=e[0];if(!n)return e;if(!r&&a(t,String))return t=O(t),t==="class"?[...n?.classList].join(" "):n?.getAttribute(t);if(a(t,String)&&r)switch(t=O(t),!0){case t.startsWith("data-"):t={data:{[t.replace("data-","")]:r}};break;default:t={[t]:r}}return a(t,Object)&&!e.is.empty&&Zt(n,t),e},before:Ie,beforeMe:Ie,clear:e=>C(e,Ne),closest:(e,t)=>{let r=a(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)=>C(e,n=>Gt(n,t,r)),duplicate:(e,t=!1,r=document.body)=>{let n=e.toNodeList().map(s=>s.removeAttribute&&s.removeAttribute("id")||s),i=y.virtual(n);return t?i.toDOM(r):i},each:(e,t)=>C(e,t),empty:e=>C(e,Ne),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(n=>r.classList.contains(n))&&!0||!1},hide:e=>C(e,t=>xe(t,{display:"none !important"})),html:(e,t,r)=>{if(t===void 0)return e?.[0]?.getHTML();if(!e.isEmpty()){let n=H(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!a(n,Comment))return C(e,s=>(r||(s.textContent=""),s.insertAdjacentHTML(y.at.end,n.getHTML())))}return e},htmlFor:(e,t,r="",n=!1)=>{if(t&&e.collection.length){if(!t||!a(r,String))return e;let i=e.find$(t);if(i.length<1)return e;let s=H(`<span>${r}</span>`);i.each(g=>{n||(g.textContent=""),g.insertAdjacentHTML(y.at.end,s?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...r)=>(e.collection.length&&r?.forEach(n=>{let i=Qe(e);y.delegate(t,i,n)}),e),prepend:(e,...t)=>{if(!e.is.empty&&t){let r=e.length===1;for(let n of t){if(a(n,String)){n=n.trim();let s=!/^<(.+)[^>]+>$/m.test(n)?y.text(n):H(n);s=r?s:U(s),C(e,g=>g.prepend(s.cloneNode(!0)))}re(n)&&C(e,i=>i.prepend(r?n:U(n))),n.isJQx&&!n.is.empty&&(n.collection.length>1&&n.collection.reverse(),C(e,i=>C(n,s=>i.prepend(r?s:U(s)))),n.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=y.virtual(t)),t.prepend(e),e),prop:(e,t,r)=>{if(a(t,String)&&!r)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let n=a(t,Object)?t:{[t]:r};return Object.entries(n).forEach(([i,s])=>{if(i=i.trim(),s&&!ke(i)||!s)return!1;if(i.toLowerCase()==="id")return e[0].id=s;C(e,x=>{if(i.startsWith("data"))return x.dataset[i.slice(i.indexOf("-")+1)]=s;x[i]=s})}),e},remove:(e,t)=>{P(`remove ${j(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let r=i=>i.remove(),n=()=>e.collection=e.collection.filter(i=>document.documentElement.contains(i));if(t){let i=e.find$(t);return i.is.empty||(C(i,r),n()),e}return C(e,r),n(),e},rmAttr:(e,...t)=>(t.forEach(r=>e.node.removeAttribute(r)),e),removeClass:(e,...t)=>C(e,r=>r&&t.forEach(n=>r.classList.remove(n))),renderTo:(e,t=document.body,r=y.insertPositions.end)=>(e.toDOM(t,r),e),replace:(e,t,r)=>{let n=e[0];return!t||!r||!a(r,HTMLElement)&&!r.isJQx?(console.error("JQx replace: invalid replacement value"),e):(r.isJQx&&(r=r[0]),a(r,NodeList)&&(r=r[0]),n&&t&&(t=a(t,String)?n.querySelectorAll(t):t.isJQx?t.collection:t,a(t,HTMLElement,NodeList,Array)&&a(r,HTMLElement)&&(a(t,HTMLElement)?[t]:[...t]).forEach(i=>i.replaceWith(r.cloneNode(!0)))),e)},replaceClass:(e,t,...r)=>C(e,n=>{n.classList.remove(t),r.forEach(i=>n.classList.add(i))}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=a(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=y.virtual(t)),e),setData:(e,t)=>C(e,r=>Be(r,t)),show:e=>C(e,t=>xe(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?a(t,String)?e.find$(t):a(t,Number)?y(e.collection[t]):y(e.collection[0]):e,style:(e,t,r)=>C(e,i=>{r&&a(t,String)&&(t={[t]:r||"none"}),xe(i,t)}),text:(e,t,r=!1)=>e.isEmpty()?e:a(t,String)?C(e,i=>i.textContent=r?i.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,r=T.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=_(e.collection,t,r),e),toggleClass:(e,t)=>C(e,r=>r.classList.toggle(t)),toNodeList:e=>[...e.collection].map(t=>document.importNode(t,!0)),trigger:(e,t,r=Event,n={})=>{if(e.collection.length){let i=new r(t,{...n,bubbles:n.bubbles??!0});for(let s of e.collection)s.dispatchEvent(i)}return e},val:(e,t)=>{let r=e[0];return!r||!a(r,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?r.value:(r.value=a(t,String)?t:"",e)}}};function We(e){if(!e("#jqxPopup").isEmpty())return;e.dialog({id:"jqxPopup"},e.div({id:"jqxPopupContent"})).render,e.editCssRules(...Ce);let[t,r]=[e("#jqxPopupContent"),e.node("#jqxPopup")],n={};return["click","keydown"].forEach(d=>e.delegateCaptured({type:d,handlers:S,name:"genericPopupCloseHandler",capture:!0})),Object.freeze({show:i,removeModal:E});function i(d){if(r.open)return;n={...d};let{content:p}=n;return e.IS(p,String,HTMLElement)||p?.isJQx?g():!0}function s(){return n.modal?F(n.warnMessage):x()}function g(){t.clear();let{content:d,modal:p,closeAfter:m}=n;p=e.IS(p,Boolean)?p:!1;let b=p?"":e.div({id:"closeHandleIcon"});t.append(b,e.IS(d,String)?e.div(d):d),r.showModal(),!p&&e.IS(m,Number)&&w(s,m)}function x(){r.close(n.returnValue),e.IS(n.callback,Function)&&n.callback(n.returnValue),n={}}function E({callback:d,value:p}={}){n.returnValue=p,n.modal=!1,n.callback=d||n.callback,s()}function S(d){if(Object.keys(n).length<1)return;n.activeTimer&&clearTimeout(n.activeTimer);let p=d.key==="Escape";return p&&d.preventDefault(),(p||d.target.closest("#closeHandleIcon")||d.type!=="keydown"&&!d.target.closest("#jqxPopupContent"))&&s(),document.activeElement.blur()}function w(d,p){e.IS(d,Function)&&e.IS(p,Number)&&p>0&&(n.activeTimer=setTimeout(d,p*1e3))}function F(d){if(!e.IS(d,String,HTMLElement,Proxy))return;let p=t.find$(".warn");switch(!0){case p.is.empty:p=e.div({class:"warn"},d);default:t.append(p.addClass("active")),w(()=>t.find$(".warn").removeClass("active"),2)}}}var V={},Kt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],qe=e=>!!Kt.find(t=>t===e),ze=()=>{let e=n=>V[n.type].forEach(i=>i(n)),t=(n,i)=>s=>{let g=s.target?.closest?.(n);return g&&i(s,y(g))},r=(n,i,s,g)=>{if(V[n]||(V[n]=new Map),!(V[n].has(i)||[...V[n].values()].find(E=>E.name&&E.name===g))){addEventListener(n,i,s||qe(n));let E={name:g||i.name,capture:s||qe(n)};V[n].set(i,E)}};return({eventType:n,selector:i,callback:s,name:g,capture:x=!1}={})=>{if(!(y.IS(n,String)||n?.length<1)||!y.IS(s,Function))return;n=n.toLowerCase(),x=y.IS(x,Boolean)?x:!1;let E=y.IS(i,String)?t(i,s):s;r(n,E,x,g)}};var er={},{instanceMethods:_e,instanceGetters:Ue,isCommentOrTextNode:Je,isNode:re,isHtmlString:Ge,isArrayOfHtmlElements:Ze,isArrayOfHtmlStrings:Xe,ElemArray2HtmlString:Ye,input2Collection:Ke,setCollectionFromCssSelector:et,addHandlerId:Qe,cssRuleEdit:Ee,addFn:tr,elems4Docs:vn}=rr();function rr(){let e=K({createWithId:"JQxStylesheet"}),t=(f,h)=>r[f]=(L,...o)=>h(L,...o),r=ve.instanceExtensions,n=ve.factoryExtensions,i=f=>a(f,Comment,Text),s=f=>a(f,Text,HTMLElement,Comment),g=f=>a(f,Comment),x=f=>a(f,Text),E=f=>a(f,String)&&/^<|>$/.test(`${f}`.trim()),S=f=>a(f,Array)&&!f?.find(h=>!E(h)),w=f=>a(f,Array)&&!f?.find(h=>!s(h)),F=f=>f?.filter(h=>h).reduce((h,L)=>h.concat(g(L)?`<!--${L.data}-->`:i(L)?L.textContent:L.outerHTML),""),d=f=>f?a(f,Proxy)?[f.EL]:a(f,NodeList)?[...f]:s(f)?[f]:w(f)?f:f.isJQx?f.collection:void 0:[],p=(f,h,L)=>{let o=h!==document.body&&a(f,String)&&f.toLowerCase()!=="body"?h:document,l;try{L.collection=[...o.querySelectorAll(f)]}catch{l=`Invalid CSS querySelector. [${a(f,String)?f:"Nothing valid given!"}]`}return l??`CSS querySelector "${f}", output ${L.collection.length} element(s)`},m=f=>{let h=f.data.get("hid")||`HID${q()}`;return f.data.add({hid:h}),`[data-hid="${h}"]`},b=Object.entries(M.tagsRaw).filter(([,f])=>f).map(([f])=>f).sort((f,h)=>f.localeCompare(h));return{instanceMethods:r,instanceGetters:n,isCommentOrTextNode:i,isNode:s,isComment:g,isText:x,isHtmlString:E,isArrayOfHtmlElements:w,isArrayOfHtmlStrings:S,ElemArray2HtmlString:F,input2Collection:d,setCollectionFromCssSelector:p,addHandlerId:m,cssRuleEdit:e,addFn:t,elems4Docs:b}}function G(e){return new Proxy(e,{get:(t,r)=>ir(t,r,e)})}function nr(e,t){return(...r)=>a(e,Function)&&e(G(t),...r)}function or(e,t){return(...r)=>a(e,Function)&&e(G(t),...r)}function ir(e,t,r){switch(!0){case a(t,Symbol):return e;case a(+t,Number):return e.collection?.[t]||`ELEMENT WITH INDEX ${t} NOT FOUND`;case t in Ue:return or(Ue[t],r)();case t in _e:return nr(_e[t],r);default:return e[t]}}function tt(e){let t=mr(e);return Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([r,n])=>{Object.defineProperty(e,r,n),Object.defineProperty(er,r,n)}),e}function lr(e){return{allow:t=>{let r=/-/.test(t),n=r&&t;t=r?ee(t):t.toLowerCase(),M.allowTag(t),a(e[t],Function)||Object.defineProperties(e,we(t,!0,e,n))},prohibit:t=>{t=t.toLowerCase(),M.prohibitTag(t),a(e[t],Function)&&Object.defineProperties(e,we(t,!1,e))}}}function Ve(...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=>Ee(t,{removeRule:1}))}function sr(e){return function(t,r,...n){return a(r,Function)&&(n.push(r),r=void 0),n.forEach(i=>e({eventType:t,selector:r,callback:i}))}}function ar(e){return function({type:t,origin:r,handlers:n,name:i,capture:s}={}){if(!a(n,Function,Array))return;n=a(n,Function)?[n]:n;let g={eventType:t,selector:r,capture:s,name:i};n.forEach(x=>{a(x,Function)&&e({...g,callback:x})})}}function cr(e){return function(t,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(s=>n===s)?n:void 0;let i=e(t,document.createElement("br"));return r&&!a(r,HTMLBRElement)&&i.collection.forEach(s=>n?r.insertAdjacentElement(n,s):r.append(s)),i}}function ur(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.entries(n).forEach(([i,s])=>!(i in t)&&Object.defineProperty(t,i,s))}return t}function fr(e){console.error(`JQx: "${e}" not allowed, not rendered`)}function dr(e,t,r,n){return e=O(n||e.toLowerCase()),{get(){return(...i)=>t?r.virtual(te(pe[e](...i))):fr(e)},enumerable:!1,configurable:!0}}function we(e,t,r,n){e=e.toLowerCase();let i=dr(e,t,r,n);return n?{[n]:i,[ee(n)]:i}:{[e]:i,[e.toUpperCase()]:i}}function mr(e){return ur(Object.entries(M.tagsRaw).reduce(gr(e),{}),pr(e))}function gr(e){return function(t,[r,n]){return n&&Object.defineProperties(t,we(r,n,e)),t}}function pr(e){let t=(i,s)=>Ee(i,s),r=lr(e),n=ze();return{debugLog:$,log:(...i)=>D("fromStatic",...i),insertPositions:T,get at(){return T},editCssRules:(...i)=>i.forEach(s=>Ee(s)),editCssRule:t,get setStyle(){return t},delegate:sr(n),delegateCaptured:ar(n),virtual:cr(e),get fn(){return tr},allowTag:r.allow,prohibitTag:r.prohibit,get lenient(){return M.allowUnknownHtmlTags},get IS(){return a},get Popup(){return e.activePopup||Object.defineProperty(e,"activePopup",{value:We(e),enumerable:!1}),e.activePopup},popup:()=>e.Popup,createStyle:i=>K({createWithId:i||`jqx${q()}`}),editStylesheet:i=>K({createWithId:i||`jqx${q()}`}),removeCssRule:Ve,removeCssRules:Ve,text:(i,s=!1)=>s?e.comment(i):document.createTextNode(i),node:(i,s=document)=>s.querySelector(i,s),nodes:(i,s=document)=>[...s.querySelectorAll(i,s)]}}var y=tt(yr());function yr(){return function(r,n,i=T.BeforeEnd){if(r?.isJQx)return r;let s=a(n,HTMLBRElement);n=(!s&&n&&n.isJQx?n[0]:n)||document.body,i=i&&Object.values(T).find(p=>i===p)?i:void 0;let g=Ge(r),x=!g&&Xe(r),E=x||g,S={collection:Ke(r)??[],isVirtual:s,isJQx:!0},w=Ze(S.collection),F=`input => ${x?`"${j(r.join(", "),70)}"`:!E&&w?`element collection [${j(S.collection.map(p=>`${a(p,Comment,Text)?"Comment|Text @":""} ${p?.outerHTML||p?.textContent}`).join(", "),70)}]`:`"${j(r,70)}"`}`;if(S.collection.length&&w)return P(F),s||S.collection.forEach(p=>{n.contains(p)||_([p],n,i)}),G(S);if(E){if([r].flat().forEach(p=>S.collection.push(H(p))),S.collection.length>0){let p=S.collection.filter(m=>m?.dataset?.jqxcreationerror);S.collection=S.collection.filter(m=>!m?.dataset?.jqxcreationerror),P(`${F}`),P(`*Created ${S.isVirtual?"VIRTUAL ":""}[${j(Ye(S.collection)||"sanitized: no elements remaining",70)}]`),p.length&&console.error(`JQx: illegal html, not rendered: "${p.reduce((m,b)=>m.concat(`${b.textContent}
|
|
15
|
-
`),"").trim()}"`),
|
|
14
|
+
`)}function Rt(e){return e.reduce((t,r)=>{let[o,i]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return o&&i?{...t,[o]:i}:t},{})}function kt(e){return Rt(It(e))}function Oe(e,t){return e?.replace("::",":")===t?.replace("::",":")}var Bt=[...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}`)),ie=(e,t=2)=>`${e}`.padStart(t,"0"),Jt=(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)),N=(e,t=1)=>(t=a(t,Number)&&t||1,a(e,String)&&e.length>=t),Qt=e=>{let t=e.length;for(;t--;){let r=Jt(t);[e[t],e[r]]=[e[r],e[t]]}return e};var j=(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(),M=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/^-|-$/,""),Wt=([e,...t])=>`${e.toUpperCase()}${t.join("")}`,ee=e=>a(e,String)?e.toLowerCase().split("-").map((t,r)=>r&&`${Wt(t)}`||t).join(""):e,z=()=>`_${Qt(Bt).slice(0,8).join("")}`,le=(e,t=120)=>j(e,t).replace(/</g,"<"),q=()=>(e=>`[${ie(e.getHours())}:${ie(e.getMinutes())}:${ie(e.getSeconds())}.${ie(e.getMilliseconds(),3)}]`)(new Date);var _=e=>e.replace(/</g,"<");function Pe(){let e=function(l){if(!l)return;let d=l.style,x=getComputedStyle(l),E=[d.visibility,x.visibility].includes("hidden"),h=[d.display,x.display].includes("none"),v=l.offsetTop<0||l.offsetLeft+l.offsetWidth<0||l.offsetLeft>document.body.offsetWidth,L=+x.opacity==0||+(d.opacity||1)==0;return!(v||L||h||E)},r=function(l){return l.parentNode?!!y.nodes(":is(:read-write)",l?.parentNode)?.find(d=>d===l):!1},o=function(l){return l.parentNode?!!y.nodes(":is(:modal)",l?.parentNode)?.find(d=>d===l):!1},i={notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"};return l=>{let d=l.node;return a(d,Node)?{get writable(){return r(d)},get modal(){return o(d)},get inDOM(){return d.isConnected},get open(){return d.open??!1},get visible(){return e(d)},get disabled(){return d.hasAttribute("readonly")||d.hasAttribute("disabled")},get empty(){return l.collection.length<1},get virtual(){return l.isVirtual}}:i}}var qt=!0,se={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},zt=e=>{if(qt&&Object.keys(e.removed).length){let t=Object.entries(e.removed).reduce((r,[o,i])=>[...r,`${_(o)} => ${i}`],[]).join("\\000A");$.log(`JQx HTML creation errors: ${$.isConsole?t:_(t)}`)}},_t=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)||O.isAllowed(t)},te=e=>{let t={rawHTML:e?.parentElement?.getHTML()??"no html",removed:{}};return a(e,HTMLElement)&&[...e.childNodes].forEach(r=>{if(r?.children?.length&&te(r),r?.attributes){let i=a(r,SVGElement)?J.svg:J.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let d=l.name.trim().toLowerCase(),x=l.value.trim().toLowerCase().replace(se.whiteSpace,""),E=d==="href"?!se.validURL.test(x):se.notAllowedValues.test(x),h=d.startsWith("data")?!se.data.test(d):!!i[d];if(E||h){let v=le(l.value||"none",60);v+=v.length===60?"...":"",t.removed[`${l.name}`]=`attribute/property (-value) not allowed, removed. Value: ${v}`,r.removeAttribute(l.name)}})}if(!(_t(r)||r.constructor===CharacterData||r.constructor===Comment)){let i=(r?.outerHTML||r?.textContent).trim(),l=le(i,60)??"EMPTY";l+=l.length===60?"...":"",t.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),zt(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]}}),Vt=e=>{let t=document.createElement("div");return t.insertAdjacentHTML(F.end,e),t.childNodes.length?te(t):void 0},Ut=(e,t,r)=>a(e,Comment)?t.insertAdjacentHTML(r,`<!--${e.data}-->`):t.insertAdjacentText(r,e.data),V=(e=[],t=document.body,r=F.BeforeEnd)=>e.reduce((o,i)=>{let l=re(i)&&pe(i,t,r);return l?[...o,l]:o},[]),pe=(e,t=document.body,r=F.BeforeEnd)=>(t=t?.isJQx?t?.[0]:t,a(e,Comment,Text)?Ut(e,t,r):t.insertAdjacentElement(r,e)),H=e=>{if(a(e,Text,Comment))return e;let t=e?.trim(),r=t?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(i=>i.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=Vt(e);return o.childNodes.length<1?H(`<span data-jqxcreationerror="1">${j(e,60)}</span>`):o.children[0]};var C=(e,t)=>{let r=e.collection.filter(o=>!Qe(o));for(let o=0;o<r.length;o+=1)t(r[o],o);return e},Gt=Pe(),Ie=e=>e&&(e.textContent="");var U=e=>{let t=e.cloneNode(!0);return t.removeAttribute&&t.removeAttribute("id"),e.isConnected?e.remove():e=null,t},Be=(e,t)=>{if(e&&a(t,Object))for(let[r,o]of Object.entries(t))e.setAttribute(`data-${M(r)}`,o)},Re=(e,t)=>e.andThen(t,!0),ke=(e,t)=>e.andThen(t),Je=e=>e.startsWith("data")||J.html.find(t=>e.toLowerCase()===t),Zt=(e,t,r)=>{r&&a(t,String)&&(t={[t]:r==="-"?"":r});let o;t.className&&(o=t.className,delete t.className),o=[...e.classList].find(l=>l.startsWith("JQxClass-")||o&&l===o)||o||`JQxClass-${z().slice(1)}`,y.editCssRule(`.${o}`,t),e.classList.add(o)},Yt=(e,t)=>{if(e)for(let[r,o]of Object.entries(t)){if(r=M(r),r.startsWith("data"))return Be(e,o);a(o,String)&&Je(r)&&e.setAttribute(r,o.split(/[, ]/)?.join(" "))}},Se=(e,t)=>{if(a(t,Object))for(let[r,o]of Object.entries(t)){let i;/!important/i.test(o)&&(o=o.slice(0,o.indexOf("!")).trim(),i="important"),e.style.setProperty(M(r),o,i)}},Xt={get(e,t){return e[ee(t)]||e[t]},enumerable:!1,configurable:!1},Kt=(...e)=>{$.log("\u2757"+e.map(t=>String(t)).join(", "))},ve=(e,t=0,r=!0)=>(e=e?.parentElement,t+=e?e[r?"scrollTop":"scrollLeft"]:0,e?ve(e,t,r):t),we={factoryExtensions:{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Xt)},set:(t={})=>{if(!e.is.empty&&a(t,Object))for(let[r,o]of Object.entries(t))e.setData({[r]:o});return e},get:(t,r)=>e.data.all[t]??r,add:(t={})=>{if(!e.is.empty&&a(t,Object))for(let[r,o]of Object.entries(t))e.setData({[r]:o});return e},remove:t=>(e[0]?.removeAttribute(`data-${M(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=ve(t,0),r.scrollLeftDistance=ve(t,0,!1),r},node:e=>e[0],HTML:e=>({get:(t,r)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=t?e.outerHtml:e.html();return r?_(o):o},set:(t,r=!1,o=!1)=>{t=t.isJQx?t.HTML.get(1):t;let i=a(t,String);return t=i&&o?_(t):t,i&&(t||"").trim().length&&e.html(t,r),e},replace:(t,r=!1)=>e.HTML.set(t,!1,r),append:(t,r=!1)=>(t=a(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=a(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=>Gt(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"),e),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])[M(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:r=[]}={})=>{let i=a(r,String)&&!t.length?r.split("{")[0].trim():"";if(r=r&&a(r,String)?[r]:r,t=t&&a(t,String)?[t]:t,(r?.length||t?.length)&&(r?.length&&y.editCssRules(...r),t))for(let l of t)e.addClass(l);return i?.startsWith(".")&&e.addClass(i.slice(1)),i?.startsWith("#")&&!e.attr("id")&&e.prop({id:i.slice(1)}),e}})},instanceExtensions:{addClass:(e,...t)=>C(e,r=>r&&t.forEach(o=>r.classList.add(o))),after:ke,afterMe:ke,andThen:(e,t,r=!1)=>{if(!t||!a(t,String,Node,Proxy))return Kt(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:a(t,Node)?y.virtual(t).collection:y.virtual(H(t)).collection;let[o,i,l]=r?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[o][i](...t),e.collection=l,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let r=e.length===1;for(let o of t){if(!o.isJQx&&N(o)){let i=o.trim(),d=!/^<(.+)[^>]+>$/m.test(i)?y.text(o):H(o);C(e,x=>x.append(r?d:U(d)))}re(o)&&C(e,i=>i.append(r?o:U(o))),o.isJQx&&!o.is.empty&&C(e,i=>o.collection.forEach(l=>i.append(r?l:U(l))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=y(t)),t.append(e),e),attr:(e,t,r)=>{let o=e[0];if(!o)return e;if(!r&&N(t))return t=M(t),t==="class"?[...o?.classList].join(" "):o?.getAttribute(t);if(N(t)&&r)switch(t=M(t),!0){case t.startsWith("data-"):t={data:{[t.replace("data-","")]:r}};break;default:t={[t]:r}}return a(t,Object)&&!e.is.empty&&Yt(o,t),e},before:Re,beforeMe:Re,clear:e=>C(e,Ie),closest:(e,t)=>{let r=N(t)?e[0].closest(t):null;return r?y(r):e},computedStyle:(e,t)=>e.first()&&getComputedStyle(e.first())[t],css:(e,t,r)=>C(e,o=>Zt(o,t,r)),duplicate:(e,t=!1,r=document.body)=>{let o=e.toNodeList().map(l=>l.removeAttribute&&l.removeAttribute("id")||l),i=y.virtual(o);return t?i.toDOM(r):i},each:(e,t)=>C(e,t),empty:e=>C(e,Ie),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=>C(e,t=>Se(t,{display:"none !important"})),html:(e,t,r)=>{if(t===void 0){let o=e.node;return o?.getHTML&&o.getHTML()||""}if(!e.isEmpty()){let o=H(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!a(o,Comment))return C(e,l=>(r||(l.textContent=""),l.insertAdjacentHTML(y.at.end,o.getHTML())))}return e},htmlFor:(e,t,r="",o=!1)=>{if(t&&e.collection.length){if(!t||!N(r))return e;let i=e.find$(t);if(i.length<1)return e;let l=H(`<span>${r}</span>`);i.each(d=>{o||(d.textContent=""),d.insertAdjacentHTML(y.at.end,l?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...r)=>{if(e.collection.length&&a(t,String,Array)){if(t=a(t,Array)?t.filter(o=>N(String)):t,!t.length>0||!r.length>0)return e;for(let o of r){let i=We(e);y.handle({type:t,selector:i,handlers:o})}}return e},prepend:(e,...t)=>{if(!e.is.empty&&t){let r=e.length===1;for(let o of t){if(N(o)){o=o.trim();let l=!/^<(.+)[^>]+>$/m.test(o)?y.text(o):H(o);l=r?l:U(l),C(e,d=>d.prepend(l.cloneNode(!0)))}re(o)&&C(e,i=>i.prepend(r?o:U(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),C(e,i=>C(o,l=>i.prepend(r?l:U(l)))),o.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=y.virtual(t)),t.prepend(e),e),prop:(e,t,r)=>{if(a(t,String)&&!r)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let o=a(t,Object)?t:{[t]:r};for(let[i,l]of Object.entries(o)){if(i=i.trim(),l&&!Je(i)||!l)return!1;if(i.toLowerCase()==="id")return e[0].id=l;C(e,x=>{if(i.startsWith("data"))return x.dataset[i.slice(i.indexOf("-")+1)]=l;x[i]=l})}return e},remove:(e,t)=>{P(`remove ${j(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let r=i=>i.remove(),o=()=>e.collection=e.collection.filter(i=>document.documentElement.contains(i));if(t){let i=e.find$(t);return i.is.empty||(C(i,r),o()),e}return C(e,r),o(),e},rmAttr:(e,...t)=>{for(let r of t)e.node.removeAttribute(r);return e},removeClass:(e,...t)=>C(e,r=>{if(r)for(let o of t)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||!a(r,HTMLElement)&&!r.isJQx?(console.error("JQx replace: invalid replacement value"),e):(r.isJQx&&(r=r[0]),a(r,NodeList)&&(r=r[0]),o&&t&&(t=a(t,String)?o.querySelectorAll(t):t.isJQx?t.collection:t,a(t,HTMLElement,NodeList,Array)&&a(r,HTMLElement)&&(a(t,HTMLElement)?[t]:[...t]).forEach(i=>i.replaceWith(r.cloneNode(!0)))),e)},replaceClass:(e,t,...r)=>C(e,o=>{o.classList.remove(t);for(let i of r)o.classList.add(i)}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=a(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=y.virtual(t)),e),setData:(e,t)=>C(e,r=>Be(r,t)),show:e=>C(e,t=>Se(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?a(t,String)?e.find$(t):a(t,Number)?y(e.collection[t]):y(e.collection[0]):e,style:(e,t,r)=>C(e,i=>{r&&a(t,String)&&(t={[t]:r||"none"}),Se(i,t)}),text:(e,t,r=!1)=>e.isEmpty()?e:a(t,String)?C(e,i=>i.textContent=r?i.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,r=F.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=V(e.collection,t,r),e),toggleClass:(e,t)=>C(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 i=new r(t,{...o,bubbles:o.bubbles??!0});for(let l of e.collection)l.dispatchEvent(i)}return e},val:(e,t)=>{let r=e[0];return!r||!a(r,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?r.value:(r.value=a(t,String)?t:"",e)}}};function qe(e){if(!e("#jqxPopup").isEmpty())return;e.dialog({id:"jqxPopup"},e.div({id:"jqxPopupContent"})).render,e.editCssRules(...Le);let[t,r]=[e("#jqxPopupContent"),e.node("#jqxPopup")],o={};return e.delegateCaptured({type:["click","keydown"],handlers:h,capture:!0}),Object.freeze({show:i,removeModal:E});function i(m){if(r.open)return;o={...m};let{content:p}=o;return e.IS(p,String,HTMLElement)||p?.isJQx?d():!0}function l(){return o.modal?L(o.warnMessage):x()}function d(){t.clear();let{content:m,modal:p,closeAfter:g}=o;p=e.IS(p,Boolean)?p:!1;let b=p?"":e.div({id:"closeHandleIcon"});t.append(b,e.IS(m,String)?e.div(m):m),r.showModal(),!p&&e.IS(g,Number)&&v(l,g)}function x(){if(r.close(o.returnValue),e.IS(o.callback,Function))return o.callback(o.returnValue);o={}}function E({callback:m,value:p}={}){o.returnValue=p,o.modal=!1,o.callback=m||o.callback,l()}function h(m){if(Object.keys(o).length<1||!r.open)return;o.activeTimer&&clearTimeout(o.activeTimer);let p=m.key==="Escape";return p&&m.preventDefault(),(p||m.target.closest("#closeHandleIcon")||m.type!=="keydown"&&!m.target.closest("#jqxPopupContent"))&&l(),document.activeElement.blur()}function v(m,p){e.IS(m,Function)&&e.IS(p,Number)&&p>0&&(o.activeTimer=setTimeout(m,p*1e3))}function L(m){if(!e.IS(m,String,HTMLElement,Proxy))return;let p=t.find$(".warn");switch(!0){case p.is.empty:p=e.div({class:"warn"},m);default:t.append(p.addClass("active")),v(()=>t.find$(".warn").removeClass("active"),2)}}}var oe={},er=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],ze=e=>!!er.find(t=>t===e);function _e(){let e=(r,o)=>i=>{let l=i.target?.closest?.(r);return l&&o(i,y(l))},t=(r,o,i,l)=>{if(oe[r]||(oe[r]=new Map),!(oe[r].has(o)||[...oe[r].values()].find(x=>x.name&&x.name===l))){addEventListener(r,o,i||ze(r));let x={name:l||o.name,capture:i||ze(r)};oe[r].set(o,x)}};return function(r){let{eventType:o,selector:i,callback:l,name:d,capture:x}=r;if(!(y.IS(o,String)||o?.length<1)||!y.IS(l,Function))return;o=o.toLowerCase(),x=y.IS(x,Boolean)?x:!1;let E=y.IS(i,String)?e(i,l):h=>l(h,h.target);t(o,E,x,d)}}var tr={},{instanceMethods:Ve,instanceGetters:Ue,isCommentOrTextNode:Qe,isNode:re,isHtmlString:Ze,isArrayOfHtmlElements:Ye,isArrayOfHtmlStrings:Xe,ElemArray2HtmlString:Ke,input2Collection:et,setCollectionFromCssSelector:tt,addHandlerId:We,cssRuleEdit:Ee,addFn:rr,elems4Docs:wo}=or();function or(){let e=K({createWithId:"JQxStylesheet"}),t=(f,S)=>r[f]=(T,...n)=>S(T,...n),r=we.instanceExtensions,o=we.factoryExtensions,i=f=>a(f,Comment,Text),l=f=>a(f,Text,HTMLElement,Comment),d=f=>a(f,Comment),x=f=>a(f,Text),E=f=>a(f,String)&&/^<|>$/.test(`${f}`.trim()),h=f=>a(f,Array)&&!f?.find(S=>!E(S)),v=f=>a(f,Array)&&!f?.find(S=>!l(S)),L=f=>f?.filter(S=>S).reduce((S,T)=>S.concat(d(T)?`<!--${T.data}-->`:i(T)?T.textContent:T.outerHTML),""),m=f=>f?a(f,Proxy)?[f.EL]:a(f,NodeList)?[...f]:l(f)?[f]:v(f)?f:f.isJQx?f.collection:void 0:[],p=(f,S,T)=>{let n=S!==document.body&&a(f,String)&&f.toLowerCase()!=="body"?S:document,s;try{T.collection=[...n.querySelectorAll(f)]}catch{s=`Invalid CSS querySelector. [${a(f,String)?f:"Nothing valid given!"}]`}return s??`CSS querySelector "${f}", output ${T.collection.length} element(s)`},g=f=>{let S=f.data.get("hid")||`HID${z()}`;return f.data.add({hid:S}),`[data-hid="${S}"]`},b=Object.entries(O.tagsRaw).filter(([,f])=>f).map(([f])=>f).sort((f,S)=>f.localeCompare(S));return{instanceMethods:r,instanceGetters:o,isCommentOrTextNode:i,isNode:l,isComment:d,isText:x,isHtmlString:E,isArrayOfHtmlElements:v,isArrayOfHtmlStrings:h,ElemArray2HtmlString:L,input2Collection:m,setCollectionFromCssSelector:p,addHandlerId:g,cssRuleEdit:e,addFn:t,elems4Docs:b}}function G(e){return new Proxy(e,{get:(t,r)=>lr(t,r,e)})}function nr(e,t){return(...r)=>a(e,Function)&&e(G(t),...r)}function ir(e,t){return(...r)=>a(e,Function)&&e(G(t),...r)}function lr(e,t,r){switch(!0){case a(t,Symbol):return e;case a(+t,Number):return e.collection?.[t]||void 0;case t in Ue:return ir(Ue[t],r)();case t in Ve:return nr(Ve[t],r);default:return e[t]}}function rt(e){let t=gr(e);for(let[r,o]of Object.entries(Object.getOwnPropertyDescriptors(t)))Object.defineProperty(e,r,o),Object.defineProperty(tr,r,o);return e}function sr(e){return{allow:t=>{let r=/-/.test(t),o=r&&t;t=r?ee(t):t.toLowerCase(),O.allowTag(t),a(e[t],Function)||Object.defineProperties(e,Ce(t,!0,e,o))},prohibit:t=>{t=t.toLowerCase(),O.prohibitTag(t),a(e[t],Function)&&Object.defineProperties(e,Ce(t,!1,e))}}}function Ge(...e){if(e.length===1){let t=String(e.shift().trim());e=t.startsWith("!")?[t.slice(1,-1)]:t.split(",").map(r=>r.trim())}for(let t of e.map(r=>r.startsWith("!")?r.slice(1,-1):r))Ee(t,{removeRule:1})}function ar(e){return function(t,r,...o){a(r,Function)&&(o.push(r),r=void 0);for(let i of o)e({eventType:t,selector:r,callback:i})}}function cr(e){return function(t){let{type:r,origin:o,selector:i,handlers:l,name:d,capture:x}=t;if(!a(l,Function,Array))return;l=a(l,Function)?[l]:l;let E={eventType:r,selector:i||o,capture:x,name:d},h=v=>a(v,Function)&&e({...E,callback:v});if(a(r,Array)){let v=r.filter(L=>N(String));if(v.length>0){for(let L of v){E.eventType=L;for(let m of l)h(m)}return!0}}for(let v of l)h(v)}}function ur(e){return function(t,r,o){r=r?.isJQx?r?.[0]:r,o=o&&Object.values(F).find(l=>o===l)?o:void 0;let i=e(t,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let l of i.collection)o?r.insertAdjacentElement(o,l):r.append(l);return i}}function fr(...e){let t={};for(let r of e){let o=Object.getOwnPropertyDescriptors(r);for(let[i,l]of Object.entries(o))!(i in t)&&Object.defineProperty(t,i,l)}return t}function dr(e){console.error(`JQx: "${e}" not allowed, not rendered`)}function mr(e,t,r,o){return e=M(o||e.toLowerCase()),{get(){return(...i)=>t?r.virtual(te(ye[e](...i))):dr(e)},enumerable:!1,configurable:!0}}function Ce(e,t,r,o){e=e.toLowerCase();let i=mr(e,t,r,o);return o?{[o]:i,[ee(o)]:i}:{[e]:i,[e.toUpperCase()]:i}}function gr(e){return fr(Object.entries(O.tagsRaw).reduce(pr(e),{}),yr(e))}function pr(e){return function(t,[r,o]){return o&&Object.defineProperties(t,Ce(r,o,e)),t}}function yr(e){let t=(l,d)=>Ee(l,d),r=sr(e),o=_e(),i=cr(o);return{debugLog:$,log:(...l)=>D("fromStatic",...l),insertPositions:F,get at(){return F},editCssRules:(...l)=>{for(let d of l)Ee(d)},editCssRule:t,get setStyle(){return t},delegate:ar(o),delegateCaptured:i,handle:i,virtual:ur(e),get fn(){return rr},allowTag:r.allow,prohibitTag:r.prohibit,get lenient(){return O.allowUnknownHtmlTags},get IS(){return a},get Popup(){return e.activePopup||Object.defineProperty(e,"activePopup",{value:qe(e),enumerable:!1}),e.activePopup},popup:()=>e.Popup,createStyle:l=>K({createWithId:l||`jqx${z()}`}),editStylesheet:l=>K({createWithId:l||`jqx${z()}`}),removeCssRule:Ge,removeCssRules:Ge,text:(l,d=!1)=>d?e.comment(l):document.createTextNode(l),node:(l,d=document)=>d.querySelector(l,d),nodes:(l,d=document)=>[...d.querySelectorAll(l,d)]}}var y=rt(br());function br(){return function(r,o,i=F.BeforeEnd){if(r?.isJQx)return r;let l=a(o,HTMLBRElement);o=(!l&&o&&o.isJQx?o[0]:o)||document.body,i=i&&Object.values(F).find(p=>i===p)?i:void 0;let d=Ze(r),x=!d&&Xe(r),E=x||d,h={collection:et(r)??[],isVirtual:l,isJQx:!0},v=Ye(h.collection),L=`input => ${x?`"${j(r.join(", "),70)}"`:!E&&v?`element collection [${j(h.collection.map(p=>`${a(p,Comment,Text)?"Comment|Text @":""} ${p?.outerHTML||p?.textContent}`).join(", "),70)}]`:`"${j(r,70)}"`}`;if(h.collection.length&&v)return P(L),l||h.collection.forEach(p=>{o.contains(p)||V([p],o,i)}),G(h);if(E){if([r].flat().forEach(p=>h.collection.push(H(p))),h.collection.length>0){let p=h.collection.filter(g=>g?.dataset?.jqxcreationerror);h.collection=h.collection.filter(g=>!g?.dataset?.jqxcreationerror),P(`${L}`),P(`*Created ${h.isVirtual?"VIRTUAL ":""}[${j(Ke(h.collection)||"sanitized: no elements remaining",70)}]`),p.length&&console.error(`JQx: illegal html, not rendered: "${p.reduce((g,b)=>g.concat(`${b.textContent}
|
|
15
|
+
`),"").trim()}"`),h.isVirtual||V(h.collection,o,i)}return G(h)}let m=tt(r,o,h);return P(`input => ${m}`),G(h)}}return at(hr);})();
|
package/Bundle/jqx.min.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var
|
|
2
|
-
`;e.forEach(
|
|
3
|
-
`,n)})}function dt(e,t,...r){let n=mt(t,e);return r?.forEach(i=>ft(n,i,e)),n}function mt(e,t){switch(e=pe(t)?yt(e):e?.isJQx?e.first():e,!0){case a(e,String):return Y(t,De(e,t)?{html:e}:{text:e});case a(e,Node):return pt(t,e);default:return Y(t,e)}}function gt(e){return delete e.data,Object.keys(e).length<1||Object.keys(e).forEach(t=>{let r=t.toLowerCase();r in Fe&&(e[Fe[r]]=e[t],delete e[t])}),e}function pt(e,t){let r=Y(e);return r.append(t),r}function Y(e,t={}){t=Ae(t,{});let r=Object.entries(t.data??{}),n=Object.assign(pe(e)?new Comment(t?.text):document.createElement(e),gt(t));return r.length&&r.forEach(([i,s])=>n.dataset[i]=String(s)),n}function Ae(e,t){return t?a(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:t}):a(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function yt(e){return Ae(e)?e?.text??e?.textContent??"":String(e)}function bt(e){return Y("b",{style:"color:red",text:`'${e}' is not a valid HTML-tag`})}function De(e,t){return!pe(t)&&a(e,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(e)}function ht(e){return e?.constructor===Comment||e?.constructor===CharacterData}function pe(e){return e?.constructor===Comment||/comment/i.test(e)}function xt(e){return!a(Y(e),HTMLUnknownElement)}function St(e){return(t,...r)=>dt(e,t,...r)}var{IS:a,maybe:ye,$Wrap:vr,xProxy:Er,isNothing:wr}=vt();function vt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),b();let e=F(),[t,r]=[d(),L()];return r.custom(),{IS:n,maybe:e,$Wrap:t,isNothing:w,xProxy:r};function n(o,...l){if(e({trial:u=>"isTypes"in(l?.[0]??{})})){let u=l[0];return"defaultValue"in u?p(o,u):"notTypes"in u?m(o,u):n(o,...[u.isTypes].flat())}let c=typeof o=="symbol"?Symbol.isSymbol:o;return l.length>1?S(c,...l):s(o,...l)}function i(o){return o?.[Symbol.proxy]??n(o)}function s(o,...l){let{noInput:c,noShouldbe:u,compareTo:v,inputCTOR:A,isNaN:N,isInfinity:I,shouldBeFirstElementIsNothing:R}=x(o,...l);switch(l=l.length&&l[0],!0){case R:return String(o)===String(v);case(o?.[Symbol.proxy]&&u):return o[Symbol.proxy];case N:return u?"NaN":e({trial:B=>String(v)})===String(o);case I:return u?"Infinity":e({trial:B=>String(v)})===String(o);case c:return u?String(o):String(v)===String(o);case A===Boolean:return l?A===l:"Boolean";default:return E(o,l,u,g(o,A))}}function g(o,l){return o===0?Number:o===""?String:o?l:{name:String(o)}}function x(o,...l){let c=l.length<1,u=!c&&l[0],v=!c&&w(l[0]),A=o==null,N=!A&&Object.getPrototypeOf(o)?.constructor,I=e({trial:B=>String(o)})==="NaN",R=e({trial:B=>String(o)})==="Infinity";return{noInput:A,noShouldbe:c,compareTo:u,inputCTOR:N,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function E(o,l,c,u){switch(!0){case(!c&&l===o||o?.[Symbol.proxy]&&l===Proxy):return!0;case e({trial:v=>String(l)})==="NaN":return String(o)==="NaN";case(o?.[Symbol.toStringTag]&&n(l,String)):return String(l)===o[Symbol.toStringTag];default:return l?e({trial:v=>o instanceof l})||l===u||l===Object.getPrototypeOf(u)||`${l?.name}`===u?.name:o?.[Symbol.toStringTag]&&`[object ${o?.[Symbol.toStringTag]}]`||u?.name||String(u)}}function S(o,...l){return l.some(c=>n(o,c))}function w(o,l=!1){let c=o==null;return c=l?c||n(o,1/0)||n(o,NaN):c,c}function F(){let o=(l,c)=>l?.constructor===Function?l(c):void 0;return function({trial:l,whenError:c=()=>{}}={}){try{return o(l)}catch(u){return o(c,u)}}}function d(){return function(o){return Object.freeze({get value(){return o},get[Symbol.type](){return i(o)},get type(){return i(o)},[Symbol.is](...l){return n(o,...l)},is(...l){return n(o,...l)}})}}function p(o,{defaultValue:l,isTypes:c=[void 0],notTypes:u}={}){return c=c?.constructor!==Array?[c]:c,u=u&&u?.constructor!==Array?[u]:[],u.length<1?n(o,...c)?o:l:m(o,{isTypes:c,notTypes:u})?o:l}function m(o,{isTypes:l=[void 0],notTypes:c=[void 0]}={}){return l=l?.constructor!==Array?[l]:l,c=c?.constructor!==Array?[c]:c,n(o,...l)&&!n(o,...c)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return i(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...o){return n(this,...o)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(o){return i(o)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(o,...l){return n(o,...l)},enumerable:!1,configurable:!1}}))}function f(o){let l=String(Object.getPrototypeOf(o)?.constructor);return l.slice(l.indexOf("ion")+3,l.indexOf("(")).trim()}function h(o){let l=o.set;return o.set=(c,u,v)=>u===Symbol.proxy?c[u]=v:l(c,u,v),o}function L(){let o=Proxy;return{native(){Proxy=o},custom(){Proxy=new o(o,{construct(l,c){for(let v of c)v.set&&(v=h(v));let u=new l(...c);return u[Symbol.proxy]=`Proxy (${f(c[0])})`,u}})}}}}var{IS:ne,maybe:Lr,$Wrap:$r,xProxy:Fr,isNothing:Tr}=Et();function Et(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),b();let e=F(),[t,r]=[d(),L()];return r.custom(),{IS:n,maybe:e,$Wrap:t,isNothing:w,xProxy:r};function n(o,...l){if(e({trial:u=>"isTypes"in(l?.[0]??{})})){let u=l[0];return"defaultValue"in u?p(o,u):"notTypes"in u?m(o,u):n(o,...[u.isTypes].flat())}let c=typeof o=="symbol"?Symbol.isSymbol:o;return l.length>1?S(c,...l):s(o,...l)}function i(o){return o?.[Symbol.proxy]??n(o)}function s(o,...l){let{noInput:c,noShouldbe:u,compareTo:v,inputCTOR:A,isNaN:N,isInfinity:I,shouldBeFirstElementIsNothing:R}=x(o,...l);switch(l=l.length&&l[0],!0){case R:return String(o)===String(v);case(o?.[Symbol.proxy]&&u):return o[Symbol.proxy];case N:return u?"NaN":e({trial:B=>String(v)})===String(o);case I:return u?"Infinity":e({trial:B=>String(v)})===String(o);case c:return u?String(o):String(v)===String(o);case A===Boolean:return l?A===l:"Boolean";default:return E(o,l,u,g(o,A))}}function g(o,l){return o===0?Number:o===""?String:o?l:{name:String(o)}}function x(o,...l){let c=l.length<1,u=!c&&l[0],v=!c&&w(l[0]),A=o==null,N=!A&&Object.getPrototypeOf(o)?.constructor,I=e({trial:B=>String(o)})==="NaN",R=e({trial:B=>String(o)})==="Infinity";return{noInput:A,noShouldbe:c,compareTo:u,inputCTOR:N,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function E(o,l,c,u){switch(!0){case(!c&&l===o||o?.[Symbol.proxy]&&l===Proxy):return!0;case e({trial:v=>String(l)})==="NaN":return String(o)==="NaN";case(o?.[Symbol.toStringTag]&&n(l,String)):return String(l)===o[Symbol.toStringTag];default:return l?e({trial:v=>o instanceof l})||l===u||l===Object.getPrototypeOf(u)||`${l?.name}`===u?.name:o?.[Symbol.toStringTag]&&`[object ${o?.[Symbol.toStringTag]}]`||u?.name||String(u)}}function S(o,...l){return l.some(c=>n(o,c))}function w(o,l=!1){let c=o==null;return c=l?c||n(o,1/0)||n(o,NaN):c,c}function F(){let o=(l,c)=>l?.constructor===Function?l(c):void 0;return function({trial:l,whenError:c=()=>{}}={}){try{return o(l)}catch(u){return o(c,u)}}}function d(){return function(o){return Object.freeze({get value(){return o},get[Symbol.type](){return i(o)},get type(){return i(o)},[Symbol.is](...l){return n(o,...l)},is(...l){return n(o,...l)}})}}function p(o,{defaultValue:l,isTypes:c=[void 0],notTypes:u}={}){return c=c?.constructor!==Array?[c]:c,u=u&&u?.constructor!==Array?[u]:[],u.length<1?n(o,...c)?o:l:m(o,{isTypes:c,notTypes:u})?o:l}function m(o,{isTypes:l=[void 0],notTypes:c=[void 0]}={}){return l=l?.constructor!==Array?[l]:l,c=c?.constructor!==Array?[c]:c,n(o,...l)&&!n(o,...c)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return i(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...o){return n(this,...o)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(o){return i(o)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(o,...l){return n(o,...l)},enumerable:!1,configurable:!1}}))}function f(o){let l=String(Object.getPrototypeOf(o)?.constructor);return l.slice(l.indexOf("ion")+3,l.indexOf("(")).trim()}function h(o){let l=o.set;return o.set=(c,u,v)=>u===Symbol.proxy?c[u]=v:l(c,u,v),o}function L(){let o=Proxy;return{native(){Proxy=o},custom(){Proxy=new o(o,{construct(l,c){for(let v of c)v.set&&(v=h(v));let u=new l(...c);return u[Symbol.proxy]=`Proxy (${f(c[0])})`,u}})}}}}var K=wt;function wt({styleSheet:e,createWithId:t}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:i,sheet:s,removeRules:g,consider:x,currentSheetID:E}=Ct({styleSheet:e,createWithId:t});function S(m,b){if(m&&b.removeProperties){Object.keys(b.removeProperties).forEach(f=>m.style.removeProperty(He(f)));return}Object.entries(b).forEach(([f,h])=>{f=He(f.trim()),h=h.trim();let L;if(/!important/.test(h)&&(h=h.slice(0,h.indexOf("!important")).trim(),L="important"),!CSS.supports(f,h))return console.error(`StylingFactory ${E} error: '${f}' with value '${h}' not supported (yet)`);je(()=>m.style.setProperty(f,h,L),`StylingFactory ${E} (setRule4Selector) failed`)})}function w(m,b,f=s){if(m=m?.trim?.(),!ne(m,String)||!m.length||/[;,]$/g.test(m))return console.error(`StylingFactory ${E} (setRules): [${m||"[no selector given]"}] is not a valid selector`);if(b.removeRule)return g(m);let h=n(m,!0),L=h||f.cssRules[f.insertRule(`${m} {}`,f.cssRules.length||0)];return x(()=>S(L,b),m,h)}function F(m){let b=m.trim().split(/{/,2),f=b.shift().trim();if(!ne(f,String)||!f?.trim()?.length)return console.error(`StylingFactory ${E} (doParse): no (valid) selector could be extracted from rule ${be(m)}`);let h=Ht(b.shift());return je(()=>w(f,h),`StylingFactory ${E} (setRules) failed`)}function d(m){let b=r(m);return b.done?b.existing:F(m)}function p(m,b){return m.trim().startsWith("@media")?d(Lt(m,b)):w(m,b)}return function(m,b={}){return i(m,b)&&(Object.keys(b).length?p(m,b):d(m))}}function Ct({styleSheet:e,createWithId:t}){let r="Note: The rule or some of its properties may not be supported by your browser (yet)",n=`for style#${t}`;e=t?i(t):e;function i(d){let p=document.querySelector(`#${d}`)?.sheet;if(p)return p;let m=Object.assign(document.createElement("style"),{id:d});return document.head.insertAdjacentElement("beforeend",m),m.sheet}function s(d){return console.error(`StylingFactory ${n} [rule: ${d}]
|
|
4
|
-
=> @charset, @namespace and @import are not supported here`),{done:!0}}function
|
|
1
|
+
var ae=nt(),Ce=it(),J=rt(),Z=ot();function rt(){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 ot(){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 nt(){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 it(){return["::backdrop{background-color:grey;opacity:0.2;}",`#jqxPopup{overflow:hidden;background-color:transparent;outline:none;border:none;inset:0;animation:fade-out 0.5s ease-out;&[open]{display:flex;align-items:center;justify-content:center;animation:fade-in 0.5s ease;}#jqxPopupContent{background-color:white;border:solid 1px #eee;box-shadow:1px 2px 8px #999;border-radius:4px;padding:12px;vertical-align:middle;max-height:40vh;max-width:50vw;overflow:auto;margin:0 auto;div:not(#closeHandleIcon){clear:both;}@media (width <= 640px){max-width:80vw;max-height:60vh;}#closeHandleIcon{cursor:pointer;width:24px;height:24px;display:inline;position:absolute;top:4px;right:4px;justify-content:right;background-image:url("data:image/svg+xml;utf8,%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");@media (width <= 640px){background-image:none;position:relative;margin:-15px -15px 4px 0;float:right;vertical-align:middle;border:1px solid #AAA;padding:2px;border-radius:50%;width:12px;height:12px;font-size:12px;line-height:12px;font-weight:bold;text-align:center;&:after{content:'\\2714';color:green;}}}.warn{display:none;text-align:center;color:red;border-top:1px solid #999;margin-top:1em;padding-top:3px;animation:warn-fade-out 0.2s ease-out;}.warn.active{opacity:1;display:block;animation:warn-fade-in 0.2s ease-in;}}}`,"@keyframes fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1, 1);display:flex;}}","@keyframes fade-out{0%{opacity:1;transform:scale(1, 1);display:flex;}100%{opacity:0;transform:scale(0, 0);display:none;}}","@keyframes warn-fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1,1 );display:block;}}","@keyframes warn-fade-out{0%{opacity:1;transform:scale(1, 1);display:block;}100%{opacity:0;transform:scale(0, 0);display:none;}}"]}var ce=!1,lt={on:()=>ce=!0,off:()=>ce=!1},O={tagsRaw:Z,allowUnknownHtmlTags:lt,isAllowed(e){if(ce)return!0;let t=a(e,String)?e.toLowerCase():e?.nodeName.toLowerCase()||"none";return t==="#text"||!!Z[t]},allowTag:e=>Z[e.toLowerCase()]=!0,prohibitTag:e=>Z[e.toLowerCase()]=!1};var de=!1,Y=!1,W=!0,me=!1,st=!0,Te,Q=()=>y("#logBox"),$e="#jqx_logger",at=e=>{ae?.forEach(t=>e(t))},ct=()=>{ae&&at(Te);let e=st?"div":"pre",t=`<div id="logBox"><div class="legend"><div></div></div><${e} id="jqx_logger"></${e}></div>`;return ge(H(t),void 0,F.AfterBegin),y.node($e)},Le=e=>a(e,String)&&Object.assign(document.createElement("textarea"),{innerHTML:e}).textContent||e,D=(...e)=>{let t=e[0]==="fromStatic";if(e=t?e.slice(1):e,t&&!Y)return e.forEach(o=>console.info(`${q()} \u2714 ${Le(o)}`));if(!Y)return;!W&&!y.node("#logBox")&&(Te=y.createStyle("JQxLogCSS"),ct());let r=o=>`${a(o,Object)?JSON.stringify(o,null,2):o}
|
|
2
|
+
`;e.forEach(o=>W?console.info(`${q()} \u2714 ${Le(o)}`):y.node("#jqx_logger").insertAdjacentHTML(me?"afterbegin":"beforeend",`<div class="entry">${q()} ${r(o.replace(/\n/g,"<br>"))}</div>`))},ue={on(){Y=!0,D("Logging activated")},off(){Y=!1,console.log("Logging deactivated")}},fe={on(){de=!0},off(){de=!1}},P=(...e)=>de&&D(...e),$={get isConsole(){return W===!0},get isOn(){return Y},isVisible:function(){return y("#jqx_logger").is("visible")},on(){return ue.on(),fe.on(),W||Q()?.addClass("visible"),D("Debug logging started. Every call to [jqx instance] is logged"),$},off(){return Q().isEmpty||(fe.off(),D("Debug logging stopped"),Q()?.removeClass("visible")),ue.off(),$},toConsole:{on(){return W=!0,D("Started logging to console"),$},off(){return D("Stopped logging to console (except error messages)"),W=!1,$}},remove(){return ue.off(),fe.off(),Q()?.remove(),console.clear(),console.log(`${q()} logging completely disabled and all entries removed`),$},log:function(...e){return D(...e),$},hide(){return Q()?.removeClass("visible"),$},show:()=>(Q()?.addClass("visible"),$),get reversed(){return{on:()=>(me=!0,D("Reverse logging set: now logging bottom to top (latest first)"),y("#logBox .legend").addClass("reversed"),$),off:()=>(me=!1,y("#logBox .legend").removeClass("reversed"),D("Reverse logging reset: now logging chronological (latest last)"),$)}},clear(){return y($e).text(""),console.clear(),D("Logging cleared"),$}};var ut=ft(),Fe={html:"innerHTML",text:"textContent",class:"className"},pe=ut;function ft(){let e={get(t,r){let o=String(r)?.toLowerCase();switch(!0){case o in t:return t[o];case St(o):return Ae(t,o,r);default:return Ae(t,o,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},e)}function Ae(e,t,r,o=!1){return Object.defineProperty(e,t,{get(){return o?i=>ht(r):vt(t)}}),e[t]}function dt(e,t,r){return t=t?.isJQx&&t.first()||t,be({trial:o=>xt(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 mt(e,t,...r){let o=gt(t,e);return r?.forEach(i=>dt(o,i,e)),o}function gt(e,t){switch(e=ye(t)?bt(e):e?.isJQx?e.first():e,!0){case a(e,String):return X(t,He(e,t)?{html:e}:{text:e});case a(e,Node):return yt(t,e);default:return X(t,e)}}function pt(e){return delete e.data,Object.keys(e).length<1||Object.keys(e).forEach(t=>{let r=t.toLowerCase();r in Fe&&(e[Fe[r]]=e[t],delete e[t])}),e}function yt(e,t){let r=X(e);return r.append(t),r}function X(e,t={}){t=De(t,{});let r=Object.entries(t.data??{}),o=Object.assign(ye(e)?new Comment(t?.text):document.createElement(e),pt(t));return r.length&&r.forEach(([i,l])=>o.dataset[i]=String(l)),o}function De(e,t){return t?a(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:t}):a(e,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function bt(e){return De(e)?e?.text??e?.textContent??"":String(e)}function ht(e){return X("b",{style:"color:red",text:`'${e}' is not a valid HTML-tag`})}function He(e,t){return!ye(t)&&a(e,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(e)}function xt(e){return e?.constructor===Comment||e?.constructor===CharacterData}function ye(e){return e?.constructor===Comment||/comment/i.test(e)}function St(e){return!a(X(e),HTMLUnknownElement)}function vt(e){return(t,...r)=>mt(e,t,...r)}var{IS:a,maybe:be,$Wrap:wr,xProxy:Er,isNothing:Cr}=wt();function wt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),b();let e=L(),[t,r]=[m(),T()];return r.custom(),{IS:o,maybe:e,$Wrap:t,isNothing:v,xProxy:r};function o(n,...s){if(e({trial:u=>"isTypes"in(s?.[0]??{})})){let u=s[0];return"defaultValue"in u?p(n,u):"notTypes"in u?g(n,u):o(n,...[u.isTypes].flat())}let c=typeof n=="symbol"?Symbol.isSymbol:n;return s.length>1?h(c,...s):l(n,...s)}function i(n){return n?.[Symbol.proxy]??o(n)}function l(n,...s){let{noInput:c,noShouldbe:u,compareTo:w,inputCTOR:A,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:k}=x(n,...s);switch(s=s.length&&s[0],!0){case k:return String(n)===String(w);case(n?.[Symbol.proxy]&&u):return n[Symbol.proxy];case I:return u?"NaN":e({trial:B=>String(w)})===String(n);case R:return u?"Infinity":e({trial:B=>String(w)})===String(n);case c:return u?String(n):String(w)===String(n);case A===Boolean:return s?A===s:"Boolean";default:return E(n,s,u,d(n,A))}}function d(n,s){return n===0?Number:n===""?String:n?s:{name:String(n)}}function x(n,...s){let c=s.length<1,u=!c&&s[0],w=!c&&v(s[0]),A=n==null,I=!A&&Object.getPrototypeOf(n)?.constructor,R=e({trial:B=>String(n)})==="NaN",k=e({trial:B=>String(n)})==="Infinity";return{noInput:A,noShouldbe:c,compareTo:u,inputCTOR:I,isNaN:R,isInfinity:k,shouldBeFirstElementIsNothing:w}}function E(n,s,c,u){switch(!0){case(!c&&s===n||n?.[Symbol.proxy]&&s===Proxy):return!0;case e({trial:w=>String(s)})==="NaN":return String(n)==="NaN";case(n?.[Symbol.toStringTag]&&o(s,String)):return String(s)===n[Symbol.toStringTag];default:return s?e({trial:w=>n instanceof s})||s===u||s===Object.getPrototypeOf(u)||`${s?.name}`===u?.name:n?.[Symbol.toStringTag]&&`[object ${n?.[Symbol.toStringTag]}]`||u?.name||String(u)}}function h(n,...s){return s.some(c=>o(n,c))}function v(n,s=!1){let c=n==null;return c=s?c||o(n,1/0)||o(n,NaN):c,c}function L(){let n=(s,c)=>s?.constructor===Function?s(c):void 0;return function({trial:s,whenError:c=()=>{}}={}){try{return n(s)}catch(u){return n(c,u)}}}function m(){return function(n){return Object.freeze({get value(){return n},get[Symbol.type](){return i(n)},get type(){return i(n)},[Symbol.is](...s){return o(n,...s)},is(...s){return o(n,...s)}})}}function p(n,{defaultValue:s,isTypes:c=[void 0],notTypes:u}={}){return c=c?.constructor!==Array?[c]:c,u=u&&u?.constructor!==Array?[u]:[],u.length<1?o(n,...c)?n:s:g(n,{isTypes:c,notTypes:u})?n:s}function g(n,{isTypes:s=[void 0],notTypes:c=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,c=c?.constructor!==Array?[c]:c,o(n,...s)&&!o(n,...c)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return i(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...n){return o(this,...n)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(n){return i(n)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(n,...s){return o(n,...s)},enumerable:!1,configurable:!1}}))}function f(n){let s=String(Object.getPrototypeOf(n)?.constructor);return s.slice(s.indexOf("ion")+3,s.indexOf("(")).trim()}function S(n){let s=n.set;return n.set=(c,u,w)=>u===Symbol.proxy?c[u]=w:s(c,u,w),n}function T(){let n=Proxy;return{native(){Proxy=n},custom(){Proxy=new n(n,{construct(s,c){for(let w of c)w.set&&(w=S(w));let u=new s(...c);return u[Symbol.proxy]=`Proxy (${f(c[0])})`,u}})}}}}var{IS:ne,maybe:Tr,$Wrap:$r,xProxy:Fr,isNothing:Ar}=Et();function Et(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),b();let e=L(),[t,r]=[m(),T()];return r.custom(),{IS:o,maybe:e,$Wrap:t,isNothing:v,xProxy:r};function o(n,...s){if(e({trial:u=>"isTypes"in(s?.[0]??{})})){let u=s[0];return"defaultValue"in u?p(n,u):"notTypes"in u?g(n,u):o(n,...[u.isTypes].flat())}let c=typeof n=="symbol"?Symbol.isSymbol:n;return s.length>1?h(c,...s):l(n,...s)}function i(n){return n?.[Symbol.proxy]??o(n)}function l(n,...s){let{noInput:c,noShouldbe:u,compareTo:w,inputCTOR:A,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:k}=x(n,...s);switch(s=s.length&&s[0],!0){case k:return String(n)===String(w);case(n?.[Symbol.proxy]&&u):return n[Symbol.proxy];case I:return u?"NaN":e({trial:B=>String(w)})===String(n);case R:return u?"Infinity":e({trial:B=>String(w)})===String(n);case c:return u?String(n):String(w)===String(n);case A===Boolean:return s?A===s:"Boolean";default:return E(n,s,u,d(n,A))}}function d(n,s){return n===0?Number:n===""?String:n?s:{name:String(n)}}function x(n,...s){let c=s.length<1,u=!c&&s[0],w=!c&&v(s[0]),A=n==null,I=!A&&Object.getPrototypeOf(n)?.constructor,R=e({trial:B=>String(n)})==="NaN",k=e({trial:B=>String(n)})==="Infinity";return{noInput:A,noShouldbe:c,compareTo:u,inputCTOR:I,isNaN:R,isInfinity:k,shouldBeFirstElementIsNothing:w}}function E(n,s,c,u){switch(!0){case(!c&&s===n||n?.[Symbol.proxy]&&s===Proxy):return!0;case e({trial:w=>String(s)})==="NaN":return String(n)==="NaN";case(n?.[Symbol.toStringTag]&&o(s,String)):return String(s)===n[Symbol.toStringTag];default:return s?e({trial:w=>n instanceof s})||s===u||s===Object.getPrototypeOf(u)||`${s?.name}`===u?.name:n?.[Symbol.toStringTag]&&`[object ${n?.[Symbol.toStringTag]}]`||u?.name||String(u)}}function h(n,...s){return s.some(c=>o(n,c))}function v(n,s=!1){let c=n==null;return c=s?c||o(n,1/0)||o(n,NaN):c,c}function L(){let n=(s,c)=>s?.constructor===Function?s(c):void 0;return function({trial:s,whenError:c=()=>{}}={}){try{return n(s)}catch(u){return n(c,u)}}}function m(){return function(n){return Object.freeze({get value(){return n},get[Symbol.type](){return i(n)},get type(){return i(n)},[Symbol.is](...s){return o(n,...s)},is(...s){return o(n,...s)}})}}function p(n,{defaultValue:s,isTypes:c=[void 0],notTypes:u}={}){return c=c?.constructor!==Array?[c]:c,u=u&&u?.constructor!==Array?[u]:[],u.length<1?o(n,...c)?n:s:g(n,{isTypes:c,notTypes:u})?n:s}function g(n,{isTypes:s=[void 0],notTypes:c=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,c=c?.constructor!==Array?[c]:c,o(n,...s)&&!o(n,...c)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return i(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...n){return o(this,...n)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(n){return i(n)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(n,...s){return o(n,...s)},enumerable:!1,configurable:!1}}))}function f(n){let s=String(Object.getPrototypeOf(n)?.constructor);return s.slice(s.indexOf("ion")+3,s.indexOf("(")).trim()}function S(n){let s=n.set;return n.set=(c,u,w)=>u===Symbol.proxy?c[u]=w:s(c,u,w),n}function T(){let n=Proxy;return{native(){Proxy=n},custom(){Proxy=new n(n,{construct(s,c){for(let w of c)w.set&&(w=S(w));let u=new s(...c);return u[Symbol.proxy]=`Proxy (${f(c[0])})`,u}})}}}}var K=Ct;function Ct({styleSheet:e,createWithId:t}={}){let{tryParseAtOrNestedRules:r,ruleExists:o,checkParams:i,sheet:l,removeRules:d,consider:x,currentSheetID:E}=Lt({styleSheet:e,createWithId:t});function h(g,b){if(g&&b.removeProperties){Object.keys(b.removeProperties).forEach(f=>g.style.removeProperty(je(f)));return}Object.entries(b).forEach(([f,S])=>{f=je(f.trim()),S=S.trim();let T;if(/!important/.test(S)&&(S=S.slice(0,S.indexOf("!important")).trim(),T="important"),!CSS.supports(f,S))return console.error(`StylingFactory ${E} error: '${f}' with value '${S}' not supported (yet)`);Ne(()=>g.style.setProperty(f,S,T),`StylingFactory ${E} (setRule4Selector) failed`)})}function v(g,b,f=l){if(g=g?.trim?.(),!ne(g,String)||!g.length||/[;,]$/g.test(g))return console.error(`StylingFactory ${E} (setRules): [${g||"[no selector given]"}] is not a valid selector`);if(b.removeRule)return d(g);let S=o(g,!0),T=S||f.cssRules[f.insertRule(`${g} {}`,f.cssRules.length||0)];return x(()=>h(T,b),g,S)}function L(g){let b=g.trim().split(/{/,2),f=b.shift().trim();if(!ne(f,String)||!f?.trim()?.length)return console.error(`StylingFactory ${E} (doParse): no (valid) selector could be extracted from rule ${he(g)}`);let S=jt(b.shift());return Ne(()=>v(f,S),`StylingFactory ${E} (setRules) failed`)}function m(g){let b=r(g);return b.done?b.existing:L(g)}function p(g,b){return g.trim().startsWith("@media")?m(Tt(g,b)):v(g,b)}return function(g,b={}){return i(g,b)&&(Object.keys(b).length?p(g,b):m(g))}}function Lt({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?i(t):e;function i(m){let p=document.querySelector(`#${m}`)?.sheet;if(p)return p;let g=Object.assign(document.createElement("style"),{id:m});return document.head.insertAdjacentElement("beforeend",g),g.sheet}function l(m){return console.error(`StylingFactory ${o} [rule: ${m}]
|
|
4
|
+
=> @charset, @namespace and @import are not supported here`),{done:!0}}function d(m,p){return[...e.rules].find(g=>p?Me(g.selectorText||"",m):At`${Ft(m)}${[..."gim"]}`.test(g.cssText))}function x(m){return/^@charset|@import|namespace/i.test(m.trim())?l(m):m.match(/}/g)?.length>1?{existing:v(m,1),done:!0}:{done:!1}}function E(m){let p=[...e.cssRules].reduce((b,f,S)=>Me(f.selectorText||"",m)&&b.concat(S)||b,[]),g=p.length;return p.forEach(b=>e.deleteRule(b)),g>0?console.info(`\u2714 Removed ${g} instance${g>1?"s":""} of selector ${m} from ${o.slice(4)}`):console.info(`\u2714 Remove rule: selector ${m} does not exist in ${o.slice(4)}`)}function h(m,p){return m&&ne(m,String)&&m.trim().length>0&&ne(p,Object)||(console.error(`StylingFactory ${o} called with invalid parameters`),!1)}function v(m){m=m.trim();let p=m.slice(0,m.indexOf("{")).trim(),g=!!d(p);try{return e.insertRule(`${m}`,e.cssRules.length),g}catch(b){return console.error(`StylingFactory ${o} (tryParse) ${b.name} Error:
|
|
5
5
|
${b.message}
|
|
6
|
-
Rule: ${
|
|
7
|
-
${r}`),
|
|
6
|
+
Rule: ${he(m)}
|
|
7
|
+
${r}`),g}}function L(m,p,g){try{return m(),g}catch(b){return console.error(`StylingFactory ${o} (tryAddOrModify) ${b.name} Error:
|
|
8
8
|
${b.message}
|
|
9
|
-
Rule: ${
|
|
10
|
-
${r}`),
|
|
11
|
-
`)}function Ft(e){return e.replace(/([*\[\]()-+{}.$?\\])/g,t=>`\\${t}`)}function
|
|
12
|
-
`).map(
|
|
9
|
+
Rule: ${he(p)}
|
|
10
|
+
${r}`),g}}return{sheet:e,removeRules:E,tryParseAtOrNestedRules:x,ruleExists:d,checkParams:h,tryParse:v,consider:L,currentSheetID:o}}function Tt(e,t){return`${e.trim()} ${Object.entries(t).map(([r,o])=>`${r}: { ${$t(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 $t(e){return Object.entries(e).map(([t,r])=>`${t}: ${r.trim()}`).join(`;
|
|
11
|
+
`)}function Ft(e){return e.replace(/([*\[\]()-+{}.$?\\])/g,t=>`\\${t}`)}function At(e,...t){let r=t.length&&Array.isArray(t.slice(-1))?t.pop().join(""):"";return new RegExp((t.length&&e.raw.reduce((o,i,l)=>o.concat(t[l-1]||"").concat(i),"")||e.raw.join("")).split(`
|
|
12
|
+
`).map(o=>o.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function je(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function Ne(e,t){try{return e()}catch(r){console.error(`${t||"an error occured"}: ${r.message}`)}}function Dt(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 Dt(e){return e.reduce((t,r)=>{let[n,i]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&i?{...t,[n]:i}:t},{})}function Ht(e){return Dt(At(e))}function Oe(e,t){return e?.replace("::",":")===t?.replace("::",":")}var jt=[...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}`)),oe=(e,t=2)=>`${e}`.padStart(t,"0"),Ot=(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=Ot(t);[e[t],e[r]]=[e[r],e[t]]}return e};var j=(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(),O=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/^-|-$/,""),Pt=([e,...t])=>`${e.toUpperCase()}${t.join("")}`,ee=e=>a(e,String)?e.toLowerCase().split("-").map((t,r)=>r&&`${Pt(t)}`||t).join(""):e,q=()=>`_${Mt(jt).slice(0,8).join("")}`,ie=(e,t=120)=>j(e,t).replace(/</g,"<"),W=()=>(e=>`[${oe(e.getHours())}:${oe(e.getMinutes())}:${oe(e.getSeconds())}.${oe(e.getMilliseconds(),3)}]`)(new Date);var z=e=>e.replace(/</g,"<");function Me(){let e=function(s){if(!s)return;let g=s.style,x=getComputedStyle(s),E=[g.visibility,x.visibility].includes("hidden"),S=[g.display,x.display].includes("none"),w=s.offsetTop<0||s.offsetLeft+s.offsetWidth<0||s.offsetLeft>document.body.offsetWidth,F=+x.opacity==0||+(g.opacity||1)==0;return!(w||F||S||E)},r=function(s){return s.parentNode?!!y.nodes(":is(:read-write)",s?.parentNode)?.find(g=>g===s):!1},n=function(s){return s.parentNode?!!y.nodes(":is(:modal)",s?.parentNode)?.find(g=>g===s):!1},i={notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"};return s=>{let g=s.node;return g?{get writable(){return r(g)},get modal(){return n(g)},get inDOM(){return g.isConnected},get open(){return g.open??!1},get visible(){return e(g)},get disabled(){return g.hasAttribute("readonly")||g.hasAttribute("disabled")},get empty(){return s.collection.length<1},get virtual(){return s.isVirtual}}:i}}var Nt=!0,le={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},It=e=>{if(Nt&&Object.keys(e.removed).length){let t=Object.entries(e.removed).reduce((r,[n,i])=>[...r,`${z(n)} => ${i}`],[]).join("\\000A");$.log(`JQx HTML creation errors: ${$.isConsole?t:z(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(n=>n===t)||M.isAllowed(t)},te=e=>{let t={rawHTML:e?.parentElement?.getHTML()??"no html",removed:{}};return a(e,HTMLElement)&&[...e.childNodes].forEach(r=>{if(r?.children?.length&&te(r),r?.attributes){let i=a(r,SVGElement)?k.svg:k.html;[...(r??{attributes:[]}).attributes].forEach(s=>{let g=s.name.trim().toLowerCase(),x=s.value.trim().toLowerCase().replace(le.whiteSpace,""),E=g==="href"?!le.validURL.test(x):le.notAllowedValues.test(x),S=g.startsWith("data")?!le.data.test(g):!!i[g];if(E||S){let w=ie(s.value||"none",60);w+=w.length===60?"...":"",t.removed[`${s.name}`]=`attribute/property (-value) not allowed, removed. Value: ${w}`,r.removeAttribute(s.name)}})}if(!(Rt(r)||r.constructor===CharacterData||r.constructor===Comment)){let i=(r?.outerHTML||r?.textContent).trim(),s=ie(i,60)??"EMPTY";s+=s.length===60?"...":"",t.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${s}`,r.remove()}}),It(t),e};var T=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(T.end,e),t.childNodes.length?te(t):void 0},kt=(e,t,r)=>a(e,Comment)?t.insertAdjacentHTML(r,`<!--${e.data}-->`):t.insertAdjacentText(r,e.data),_=(e=[],t=document.body,r=T.BeforeEnd)=>e.reduce((n,i)=>{let s=re(i)&&me(i,t,r);return s?[...n,s]:n},[]),me=(e,t=document.body,r=T.BeforeEnd)=>(t=t?.isJQx?t?.[0]:t,a(e,Comment,Text)?kt(e,t,r):t.insertAdjacentElement(r,e)),H=e=>{if(a(e,Text,Comment))return e;let t=e?.trim(),r=t?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(i=>i.length).shift():void 0),t.startsWith("<!--")&&t.endsWith("-->"))return document.createComment(e.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(t))return document.createTextNode(r);let n=Bt(e);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${j(e,60)}</span>`):n.children[0]};var C=(e,t)=>{let r=e.collection.filter(n=>!ke(n));for(let n=0;n<r.length;n+=1)t(r[n],n);return e},Jt=Me(),Pe=e=>e&&(e.textContent="");var U=e=>{let t=e.cloneNode(!0);return t.removeAttribute&&t.removeAttribute("id"),e.isConnected?e.remove():e=null,t},Re=(e,t)=>{e&&a(t,Object)&&Object.entries(t).forEach(([r,n])=>e.setAttribute(`data-${O(r)}`,n))},Ne=(e,t)=>e.andThen(t,!0),Ie=(e,t)=>e.andThen(t),Be=e=>e.startsWith("data")||k.html.find(t=>e.toLowerCase()===t),Qt=(e,t,r)=>{r&&a(t,String)&&(t={[t]:r==="-"?"":r});let n;t.className&&(n=t.className,delete t.className),n=[...e.classList].find(s=>s.startsWith("JQxClass-")||n&&s===n)||n||`JQxClass-${q().slice(1)}`,y.editCssRule(`.${n}`,t),e.classList.add(n)},Wt=(e,t)=>{e&&Object.entries(t).forEach(([r,n])=>{if(r=O(r),r.startsWith("data"))return Re(e,n);a(n,String)&&Be(r)&&e.setAttribute(r,n.split(/[, ]/)?.join(" "))})},he=(e,t)=>{a(t,Object)&&Object.entries(t).forEach(([r,n])=>{let i;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),i="important"),e.style.setProperty(O(r),n,i)})},qt={get(e,t){return e[ee(t)]||e[t]},enumerable:!1,configurable:!1},zt=(...e)=>{$.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??{},qt)},set:(t={})=>(!e.is.empty&&a(t,Object)&&Object.entries(t).forEach(([r,n])=>e.setData({[r]:n})),e),get:(t,r)=>e.data.all[t]??r,add:(t={})=>(!e.is.empty&&a(t,Object)&&Object.entries(t).forEach(([r,n])=>e.setData({[r]:n})),e),remove:t=>(e[0]?.removeAttribute(`data-${O(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},node:e=>e[0],HTML:e=>({get:(t,r)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let n=t?e.outerHtml:e.html();return r?z(n):n},set:(t,r=!1,n=!1)=>{t=t.isJQx?t.HTML.get(1):t;let i=a(t,String);return t=i&&n?z(t):t,i&&(t||"").trim().length&&e.html(t,r),e},replace:(t,r=!1)=>e.HTML.set(t,!1,r),append:(t,r=!1)=>(t=a(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=a(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=>Jt(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"),e),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])[O(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:r=[]}={})=>{let i=a(r,String)&&!t.length?r.split("{")[0].trim():"";return r=r&&a(r,String)?[r]:r,t=t&&a(t,String)?[t]:t,(r?.length||t?.length)&&(r?.length&&y.editCssRules(...r),t?.forEach(s=>e.addClass(s))),i?.startsWith(".")&&e.addClass(i.slice(1)),i?.startsWith("#")&&!e.attr("id")&&e.prop({id:i.slice(1)}),e}})},instanceExtensions:{addClass:(e,...t)=>C(e,r=>r&&t.forEach(n=>r.classList.add(n))),after:Ie,afterMe:Ie,andThen:(e,t,r=!1)=>{if(!t||!a(t,String,Node,Proxy))return zt(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:a(t,Node)?y.virtual(t).collection:y.virtual(H(t)).collection;let[n,i,s]=r?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[n][i](...t),e.collection=s,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let r=e.length===1;for(let n of t){if(!n.isJQx&&a(n,String)){let i=n.trim(),g=!/^<(.+)[^>]+>$/m.test(i)?y.text(n):H(n);C(e,x=>x.append(r?g:U(g)))}re(n)&&C(e,i=>i.append(r?n:U(n))),n.isJQx&&!n.is.empty&&C(e,i=>n.collection.forEach(s=>i.append(r?s:U(s))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=y(t)),t.append(e),e),attr:(e,t,r)=>{let n=e[0];if(!n)return e;if(!r&&a(t,String))return t=O(t),t==="class"?[...n?.classList].join(" "):n?.getAttribute(t);if(a(t,String)&&r)switch(t=O(t),!0){case t.startsWith("data-"):t={data:{[t.replace("data-","")]:r}};break;default:t={[t]:r}}return a(t,Object)&&!e.is.empty&&Wt(n,t),e},before:Ne,beforeMe:Ne,clear:e=>C(e,Pe),closest:(e,t)=>{let r=a(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)=>C(e,n=>Qt(n,t,r)),duplicate:(e,t=!1,r=document.body)=>{let n=e.toNodeList().map(s=>s.removeAttribute&&s.removeAttribute("id")||s),i=y.virtual(n);return t?i.toDOM(r):i},each:(e,t)=>C(e,t),empty:e=>C(e,Pe),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(n=>r.classList.contains(n))&&!0||!1},hide:e=>C(e,t=>he(t,{display:"none !important"})),html:(e,t,r)=>{if(t===void 0)return e?.[0]?.getHTML();if(!e.isEmpty()){let n=H(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!a(n,Comment))return C(e,s=>(r||(s.textContent=""),s.insertAdjacentHTML(y.at.end,n.getHTML())))}return e},htmlFor:(e,t,r="",n=!1)=>{if(t&&e.collection.length){if(!t||!a(r,String))return e;let i=e.find$(t);if(i.length<1)return e;let s=H(`<span>${r}</span>`);i.each(g=>{n||(g.textContent=""),g.insertAdjacentHTML(y.at.end,s?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...r)=>(e.collection.length&&r?.forEach(n=>{let i=Je(e);y.delegate(t,i,n)}),e),prepend:(e,...t)=>{if(!e.is.empty&&t){let r=e.length===1;for(let n of t){if(a(n,String)){n=n.trim();let s=!/^<(.+)[^>]+>$/m.test(n)?y.text(n):H(n);s=r?s:U(s),C(e,g=>g.prepend(s.cloneNode(!0)))}re(n)&&C(e,i=>i.prepend(r?n:U(n))),n.isJQx&&!n.is.empty&&(n.collection.length>1&&n.collection.reverse(),C(e,i=>C(n,s=>i.prepend(r?s:U(s)))),n.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=y.virtual(t)),t.prepend(e),e),prop:(e,t,r)=>{if(a(t,String)&&!r)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let n=a(t,Object)?t:{[t]:r};return Object.entries(n).forEach(([i,s])=>{if(i=i.trim(),s&&!Be(i)||!s)return!1;if(i.toLowerCase()==="id")return e[0].id=s;C(e,x=>{if(i.startsWith("data"))return x.dataset[i.slice(i.indexOf("-")+1)]=s;x[i]=s})}),e},remove:(e,t)=>{P(`remove ${j(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let r=i=>i.remove(),n=()=>e.collection=e.collection.filter(i=>document.documentElement.contains(i));if(t){let i=e.find$(t);return i.is.empty||(C(i,r),n()),e}return C(e,r),n(),e},rmAttr:(e,...t)=>(t.forEach(r=>e.node.removeAttribute(r)),e),removeClass:(e,...t)=>C(e,r=>r&&t.forEach(n=>r.classList.remove(n))),renderTo:(e,t=document.body,r=y.insertPositions.end)=>(e.toDOM(t,r),e),replace:(e,t,r)=>{let n=e[0];return!t||!r||!a(r,HTMLElement)&&!r.isJQx?(console.error("JQx replace: invalid replacement value"),e):(r.isJQx&&(r=r[0]),a(r,NodeList)&&(r=r[0]),n&&t&&(t=a(t,String)?n.querySelectorAll(t):t.isJQx?t.collection:t,a(t,HTMLElement,NodeList,Array)&&a(r,HTMLElement)&&(a(t,HTMLElement)?[t]:[...t]).forEach(i=>i.replaceWith(r.cloneNode(!0)))),e)},replaceClass:(e,t,...r)=>C(e,n=>{n.classList.remove(t),r.forEach(i=>n.classList.add(i))}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=a(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=y.virtual(t)),e),setData:(e,t)=>C(e,r=>Re(r,t)),show:e=>C(e,t=>he(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?a(t,String)?e.find$(t):a(t,Number)?y(e.collection[t]):y(e.collection[0]):e,style:(e,t,r)=>C(e,i=>{r&&a(t,String)&&(t={[t]:r||"none"}),he(i,t)}),text:(e,t,r=!1)=>e.isEmpty()?e:a(t,String)?C(e,i=>i.textContent=r?i.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,r=T.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=_(e.collection,t,r),e),toggleClass:(e,t)=>C(e,r=>r.classList.toggle(t)),toNodeList:e=>[...e.collection].map(t=>document.importNode(t,!0)),trigger:(e,t,r=Event,n={})=>{if(e.collection.length){let i=new r(t,{...n,bubbles:n.bubbles??!0});for(let s of e.collection)s.dispatchEvent(i)}return e},val:(e,t)=>{let r=e[0];return!r||!a(r,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?r.value:(r.value=a(t,String)?t:"",e)}}};function Qe(e){if(!e("#jqxPopup").isEmpty())return;e.dialog({id:"jqxPopup"},e.div({id:"jqxPopupContent"})).render,e.editCssRules(...we);let[t,r]=[e("#jqxPopupContent"),e.node("#jqxPopup")],n={};return["click","keydown"].forEach(d=>e.delegateCaptured({type:d,handlers:S,name:"genericPopupCloseHandler",capture:!0})),Object.freeze({show:i,removeModal:E});function i(d){if(r.open)return;n={...d};let{content:p}=n;return e.IS(p,String,HTMLElement)||p?.isJQx?g():!0}function s(){return n.modal?F(n.warnMessage):x()}function g(){t.clear();let{content:d,modal:p,closeAfter:m}=n;p=e.IS(p,Boolean)?p:!1;let b=p?"":e.div({id:"closeHandleIcon"});t.append(b,e.IS(d,String)?e.div(d):d),r.showModal(),!p&&e.IS(m,Number)&&w(s,m)}function x(){r.close(n.returnValue),e.IS(n.callback,Function)&&n.callback(n.returnValue),n={}}function E({callback:d,value:p}={}){n.returnValue=p,n.modal=!1,n.callback=d||n.callback,s()}function S(d){if(Object.keys(n).length<1)return;n.activeTimer&&clearTimeout(n.activeTimer);let p=d.key==="Escape";return p&&d.preventDefault(),(p||d.target.closest("#closeHandleIcon")||d.type!=="keydown"&&!d.target.closest("#jqxPopupContent"))&&s(),document.activeElement.blur()}function w(d,p){e.IS(d,Function)&&e.IS(p,Number)&&p>0&&(n.activeTimer=setTimeout(d,p*1e3))}function F(d){if(!e.IS(d,String,HTMLElement,Proxy))return;let p=t.find$(".warn");switch(!0){case p.is.empty:p=e.div({class:"warn"},d);default:t.append(p.addClass("active")),w(()=>t.find$(".warn").removeClass("active"),2)}}}var V={},_t=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],We=e=>!!_t.find(t=>t===e),qe=()=>{let e=n=>V[n.type].forEach(i=>i(n)),t=(n,i)=>s=>{let g=s.target?.closest?.(n);return g&&i(s,y(g))},r=(n,i,s,g)=>{if(V[n]||(V[n]=new Map),!(V[n].has(i)||[...V[n].values()].find(E=>E.name&&E.name===g))){addEventListener(n,i,s||We(n));let E={name:g||i.name,capture:s||We(n)};V[n].set(i,E)}};return({eventType:n,selector:i,callback:s,name:g,capture:x=!1}={})=>{if(!(y.IS(n,String)||n?.length<1)||!y.IS(s,Function))return;n=n.toLowerCase(),x=y.IS(x,Boolean)?x:!1;let E=y.IS(i,String)?t(i,s):s;r(n,E,x,g)}};var Ut={},{instanceMethods:ze,instanceGetters:_e,isCommentOrTextNode:ke,isNode:re,isHtmlString:Ve,isArrayOfHtmlElements:Ge,isArrayOfHtmlStrings:Ze,ElemArray2HtmlString:Xe,input2Collection:Ye,setCollectionFromCssSelector:Ke,addHandlerId:Je,cssRuleEdit:ve,addFn:Vt,elems4Docs:dn}=Gt();function Gt(){let e=K({createWithId:"JQxStylesheet"}),t=(f,h)=>r[f]=(L,...o)=>h(L,...o),r=Se.instanceExtensions,n=Se.factoryExtensions,i=f=>a(f,Comment,Text),s=f=>a(f,Text,HTMLElement,Comment),g=f=>a(f,Comment),x=f=>a(f,Text),E=f=>a(f,String)&&/^<|>$/.test(`${f}`.trim()),S=f=>a(f,Array)&&!f?.find(h=>!E(h)),w=f=>a(f,Array)&&!f?.find(h=>!s(h)),F=f=>f?.filter(h=>h).reduce((h,L)=>h.concat(g(L)?`<!--${L.data}-->`:i(L)?L.textContent:L.outerHTML),""),d=f=>f?a(f,Proxy)?[f.EL]:a(f,NodeList)?[...f]:s(f)?[f]:w(f)?f:f.isJQx?f.collection:void 0:[],p=(f,h,L)=>{let o=h!==document.body&&a(f,String)&&f.toLowerCase()!=="body"?h:document,l;try{L.collection=[...o.querySelectorAll(f)]}catch{l=`Invalid CSS querySelector. [${a(f,String)?f:"Nothing valid given!"}]`}return l??`CSS querySelector "${f}", output ${L.collection.length} element(s)`},m=f=>{let h=f.data.get("hid")||`HID${q()}`;return f.data.add({hid:h}),`[data-hid="${h}"]`},b=Object.entries(M.tagsRaw).filter(([,f])=>f).map(([f])=>f).sort((f,h)=>f.localeCompare(h));return{instanceMethods:r,instanceGetters:n,isCommentOrTextNode:i,isNode:s,isComment:g,isText:x,isHtmlString:E,isArrayOfHtmlElements:w,isArrayOfHtmlStrings:S,ElemArray2HtmlString:F,input2Collection:d,setCollectionFromCssSelector:p,addHandlerId:m,cssRuleEdit:e,addFn:t,elems4Docs:b}}function G(e){return new Proxy(e,{get:(t,r)=>Yt(t,r,e)})}function Zt(e,t){return(...r)=>a(e,Function)&&e(G(t),...r)}function Xt(e,t){return(...r)=>a(e,Function)&&e(G(t),...r)}function Yt(e,t,r){switch(!0){case a(t,Symbol):return e;case a(+t,Number):return e.collection?.[t]||`ELEMENT WITH INDEX ${t} NOT FOUND`;case t in _e:return Xt(_e[t],r)();case t in ze:return Zt(ze[t],r);default:return e[t]}}function et(e){let t=lr(e);return Object.entries(Object.getOwnPropertyDescriptors(t)).forEach(([r,n])=>{Object.defineProperty(e,r,n),Object.defineProperty(Ut,r,n)}),e}function Kt(e){return{allow:t=>{let r=/-/.test(t),n=r&&t;t=r?ee(t):t.toLowerCase(),M.allowTag(t),a(e[t],Function)||Object.defineProperties(e,Ee(t,!0,e,n))},prohibit:t=>{t=t.toLowerCase(),M.prohibitTag(t),a(e[t],Function)&&Object.defineProperties(e,Ee(t,!1,e))}}}function Ue(...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 er(e){return function(t,r,...n){return a(r,Function)&&(n.push(r),r=void 0),n.forEach(i=>e({eventType:t,selector:r,callback:i}))}}function tr(e){return function({type:t,origin:r,handlers:n,name:i,capture:s}={}){if(!a(n,Function,Array))return;n=a(n,Function)?[n]:n;let g={eventType:t,selector:r,capture:s,name:i};n.forEach(x=>{a(x,Function)&&e({...g,callback:x})})}}function rr(e){return function(t,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(s=>n===s)?n:void 0;let i=e(t,document.createElement("br"));return r&&!a(r,HTMLBRElement)&&i.collection.forEach(s=>n?r.insertAdjacentElement(n,s):r.append(s)),i}}function nr(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.entries(n).forEach(([i,s])=>!(i in t)&&Object.defineProperty(t,i,s))}return t}function or(e){console.error(`JQx: "${e}" not allowed, not rendered`)}function ir(e,t,r,n){return e=O(n||e.toLowerCase()),{get(){return(...i)=>t?r.virtual(te(ge[e](...i))):or(e)},enumerable:!1,configurable:!0}}function Ee(e,t,r,n){e=e.toLowerCase();let i=ir(e,t,r,n);return n?{[n]:i,[ee(n)]:i}:{[e]:i,[e.toUpperCase()]:i}}function lr(e){return nr(Object.entries(M.tagsRaw).reduce(sr(e),{}),ar(e))}function sr(e){return function(t,[r,n]){return n&&Object.defineProperties(t,Ee(r,n,e)),t}}function ar(e){let t=(i,s)=>ve(i,s),r=Kt(e),n=qe();return{debugLog:$,log:(...i)=>D("fromStatic",...i),insertPositions:T,get at(){return T},editCssRules:(...i)=>i.forEach(s=>ve(s)),editCssRule:t,get setStyle(){return t},delegate:er(n),delegateCaptured:tr(n),virtual:rr(e),get fn(){return Vt},allowTag:r.allow,prohibitTag:r.prohibit,get lenient(){return M.allowUnknownHtmlTags},get IS(){return a},get Popup(){return e.activePopup||Object.defineProperty(e,"activePopup",{value:Qe(e),enumerable:!1}),e.activePopup},popup:()=>e.Popup,createStyle:i=>K({createWithId:i||`jqx${q()}`}),editStylesheet:i=>K({createWithId:i||`jqx${q()}`}),removeCssRule:Ue,removeCssRules:Ue,text:(i,s=!1)=>s?e.comment(i):document.createTextNode(i),node:(i,s=document)=>s.querySelector(i,s),nodes:(i,s=document)=>[...s.querySelectorAll(i,s)]}}var y=et(cr());function cr(){return function(r,n,i=T.BeforeEnd){if(r?.isJQx)return r;let s=a(n,HTMLBRElement);n=(!s&&n&&n.isJQx?n[0]:n)||document.body,i=i&&Object.values(T).find(p=>i===p)?i:void 0;let g=Ve(r),x=!g&&Ze(r),E=x||g,S={collection:Ye(r)??[],isVirtual:s,isJQx:!0},w=Ge(S.collection),F=`input => ${x?`"${j(r.join(", "),70)}"`:!E&&w?`element collection [${j(S.collection.map(p=>`${a(p,Comment,Text)?"Comment|Text @":""} ${p?.outerHTML||p?.textContent}`).join(", "),70)}]`:`"${j(r,70)}"`}`;if(S.collection.length&&w)return P(F),s||S.collection.forEach(p=>{n.contains(p)||_([p],n,i)}),G(S);if(E){if([r].flat().forEach(p=>S.collection.push(H(p))),S.collection.length>0){let p=S.collection.filter(m=>m?.dataset?.jqxcreationerror);S.collection=S.collection.filter(m=>!m?.dataset?.jqxcreationerror),P(`${F}`),P(`*Created ${S.isVirtual?"VIRTUAL ":""}[${j(Xe(S.collection)||"sanitized: no elements remaining",70)}]`),p.length&&console.error(`JQx: illegal html, not rendered: "${p.reduce((m,b)=>m.concat(`${b.textContent}
|
|
15
|
-
`),"").trim()}"`),
|
|
14
|
+
`)}function Ht(e){return e.reduce((t,r)=>{let[o,i]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return o&&i?{...t,[o]:i}:t},{})}function jt(e){return Ht(Dt(e))}function Me(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}`)),ie=(e,t=2)=>`${e}`.padStart(t,"0"),Mt=(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)),N=(e,t=1)=>(t=a(t,Number)&&t||1,a(e,String)&&e.length>=t),Ot=e=>{let t=e.length;for(;t--;){let r=Mt(t);[e[t],e[r]]=[e[r],e[t]]}return e};var j=(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(),M=e=>e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`).replace(/^-|-$/,""),Pt=([e,...t])=>`${e.toUpperCase()}${t.join("")}`,ee=e=>a(e,String)?e.toLowerCase().split("-").map((t,r)=>r&&`${Pt(t)}`||t).join(""):e,z=()=>`_${Ot(Nt).slice(0,8).join("")}`,le=(e,t=120)=>j(e,t).replace(/</g,"<"),q=()=>(e=>`[${ie(e.getHours())}:${ie(e.getMinutes())}:${ie(e.getSeconds())}.${ie(e.getMilliseconds(),3)}]`)(new Date);var _=e=>e.replace(/</g,"<");function Oe(){let e=function(l){if(!l)return;let d=l.style,x=getComputedStyle(l),E=[d.visibility,x.visibility].includes("hidden"),h=[d.display,x.display].includes("none"),v=l.offsetTop<0||l.offsetLeft+l.offsetWidth<0||l.offsetLeft>document.body.offsetWidth,L=+x.opacity==0||+(d.opacity||1)==0;return!(v||L||h||E)},r=function(l){return l.parentNode?!!y.nodes(":is(:read-write)",l?.parentNode)?.find(d=>d===l):!1},o=function(l){return l.parentNode?!!y.nodes(":is(:modal)",l?.parentNode)?.find(d=>d===l):!1},i={notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"};return l=>{let d=l.node;return a(d,Node)?{get writable(){return r(d)},get modal(){return o(d)},get inDOM(){return d.isConnected},get open(){return d.open??!1},get visible(){return e(d)},get disabled(){return d.hasAttribute("readonly")||d.hasAttribute("disabled")},get empty(){return l.collection.length<1},get virtual(){return l.isVirtual}}:i}}var It=!0,se={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(It&&Object.keys(e.removed).length){let t=Object.entries(e.removed).reduce((r,[o,i])=>[...r,`${_(o)} => ${i}`],[]).join("\\000A");$.log(`JQx HTML creation errors: ${$.isConsole?t:_(t)}`)}},kt=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)||O.isAllowed(t)},te=e=>{let t={rawHTML:e?.parentElement?.getHTML()??"no html",removed:{}};return a(e,HTMLElement)&&[...e.childNodes].forEach(r=>{if(r?.children?.length&&te(r),r?.attributes){let i=a(r,SVGElement)?J.svg:J.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let d=l.name.trim().toLowerCase(),x=l.value.trim().toLowerCase().replace(se.whiteSpace,""),E=d==="href"?!se.validURL.test(x):se.notAllowedValues.test(x),h=d.startsWith("data")?!se.data.test(d):!!i[d];if(E||h){let v=le(l.value||"none",60);v+=v.length===60?"...":"",t.removed[`${l.name}`]=`attribute/property (-value) not allowed, removed. Value: ${v}`,r.removeAttribute(l.name)}})}if(!(kt(r)||r.constructor===CharacterData||r.constructor===Comment)){let i=(r?.outerHTML||r?.textContent).trim(),l=le(i,60)??"EMPTY";l+=l.length===60?"...":"",t.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,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]}}),Bt=e=>{let t=document.createElement("div");return t.insertAdjacentHTML(F.end,e),t.childNodes.length?te(t):void 0},Jt=(e,t,r)=>a(e,Comment)?t.insertAdjacentHTML(r,`<!--${e.data}-->`):t.insertAdjacentText(r,e.data),V=(e=[],t=document.body,r=F.BeforeEnd)=>e.reduce((o,i)=>{let l=re(i)&&ge(i,t,r);return l?[...o,l]:o},[]),ge=(e,t=document.body,r=F.BeforeEnd)=>(t=t?.isJQx?t?.[0]:t,a(e,Comment,Text)?Jt(e,t,r):t.insertAdjacentElement(r,e)),H=e=>{if(a(e,Text,Comment))return e;let t=e?.trim(),r=t?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(i=>i.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?H(`<span data-jqxcreationerror="1">${j(e,60)}</span>`):o.children[0]};var C=(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},Qt=Oe(),Pe=e=>e&&(e.textContent="");var U=e=>{let t=e.cloneNode(!0);return t.removeAttribute&&t.removeAttribute("id"),e.isConnected?e.remove():e=null,t},ke=(e,t)=>{if(e&&a(t,Object))for(let[r,o]of Object.entries(t))e.setAttribute(`data-${M(r)}`,o)},Ie=(e,t)=>e.andThen(t,!0),Re=(e,t)=>e.andThen(t),Be=e=>e.startsWith("data")||J.html.find(t=>e.toLowerCase()===t),Wt=(e,t,r)=>{r&&a(t,String)&&(t={[t]:r==="-"?"":r});let o;t.className&&(o=t.className,delete t.className),o=[...e.classList].find(l=>l.startsWith("JQxClass-")||o&&l===o)||o||`JQxClass-${z().slice(1)}`,y.editCssRule(`.${o}`,t),e.classList.add(o)},qt=(e,t)=>{if(e)for(let[r,o]of Object.entries(t)){if(r=M(r),r.startsWith("data"))return ke(e,o);a(o,String)&&Be(r)&&e.setAttribute(r,o.split(/[, ]/)?.join(" "))}},xe=(e,t)=>{if(a(t,Object))for(let[r,o]of Object.entries(t)){let i;/!important/i.test(o)&&(o=o.slice(0,o.indexOf("!")).trim(),i="important"),e.style.setProperty(M(r),o,i)}},zt={get(e,t){return e[ee(t)]||e[t]},enumerable:!1,configurable:!1},_t=(...e)=>{$.log("\u2757"+e.map(t=>String(t)).join(", "))},Se=(e,t=0,r=!0)=>(e=e?.parentElement,t+=e?e[r?"scrollTop":"scrollLeft"]:0,e?Se(e,t,r):t),ve={factoryExtensions:{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},zt)},set:(t={})=>{if(!e.is.empty&&a(t,Object))for(let[r,o]of Object.entries(t))e.setData({[r]:o});return e},get:(t,r)=>e.data.all[t]??r,add:(t={})=>{if(!e.is.empty&&a(t,Object))for(let[r,o]of Object.entries(t))e.setData({[r]:o});return e},remove:t=>(e[0]?.removeAttribute(`data-${M(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=Se(t,0),r.scrollLeftDistance=Se(t,0,!1),r},node:e=>e[0],HTML:e=>({get:(t,r)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=t?e.outerHtml:e.html();return r?_(o):o},set:(t,r=!1,o=!1)=>{t=t.isJQx?t.HTML.get(1):t;let i=a(t,String);return t=i&&o?_(t):t,i&&(t||"").trim().length&&e.html(t,r),e},replace:(t,r=!1)=>e.HTML.set(t,!1,r),append:(t,r=!1)=>(t=a(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=a(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=>Qt(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"),e),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])[M(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:r=[]}={})=>{let i=a(r,String)&&!t.length?r.split("{")[0].trim():"";if(r=r&&a(r,String)?[r]:r,t=t&&a(t,String)?[t]:t,(r?.length||t?.length)&&(r?.length&&y.editCssRules(...r),t))for(let l of t)e.addClass(l);return i?.startsWith(".")&&e.addClass(i.slice(1)),i?.startsWith("#")&&!e.attr("id")&&e.prop({id:i.slice(1)}),e}})},instanceExtensions:{addClass:(e,...t)=>C(e,r=>r&&t.forEach(o=>r.classList.add(o))),after:Re,afterMe:Re,andThen:(e,t,r=!1)=>{if(!t||!a(t,String,Node,Proxy))return _t(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:a(t,Node)?y.virtual(t).collection:y.virtual(H(t)).collection;let[o,i,l]=r?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[o][i](...t),e.collection=l,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let r=e.length===1;for(let o of t){if(!o.isJQx&&N(o)){let i=o.trim(),d=!/^<(.+)[^>]+>$/m.test(i)?y.text(o):H(o);C(e,x=>x.append(r?d:U(d)))}re(o)&&C(e,i=>i.append(r?o:U(o))),o.isJQx&&!o.is.empty&&C(e,i=>o.collection.forEach(l=>i.append(r?l:U(l))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=y(t)),t.append(e),e),attr:(e,t,r)=>{let o=e[0];if(!o)return e;if(!r&&N(t))return t=M(t),t==="class"?[...o?.classList].join(" "):o?.getAttribute(t);if(N(t)&&r)switch(t=M(t),!0){case t.startsWith("data-"):t={data:{[t.replace("data-","")]:r}};break;default:t={[t]:r}}return a(t,Object)&&!e.is.empty&&qt(o,t),e},before:Ie,beforeMe:Ie,clear:e=>C(e,Pe),closest:(e,t)=>{let r=N(t)?e[0].closest(t):null;return r?y(r):e},computedStyle:(e,t)=>e.first()&&getComputedStyle(e.first())[t],css:(e,t,r)=>C(e,o=>Wt(o,t,r)),duplicate:(e,t=!1,r=document.body)=>{let o=e.toNodeList().map(l=>l.removeAttribute&&l.removeAttribute("id")||l),i=y.virtual(o);return t?i.toDOM(r):i},each:(e,t)=>C(e,t),empty:e=>C(e,Pe),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=>C(e,t=>xe(t,{display:"none !important"})),html:(e,t,r)=>{if(t===void 0){let o=e.node;return o?.getHTML&&o.getHTML()||""}if(!e.isEmpty()){let o=H(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!a(o,Comment))return C(e,l=>(r||(l.textContent=""),l.insertAdjacentHTML(y.at.end,o.getHTML())))}return e},htmlFor:(e,t,r="",o=!1)=>{if(t&&e.collection.length){if(!t||!N(r))return e;let i=e.find$(t);if(i.length<1)return e;let l=H(`<span>${r}</span>`);i.each(d=>{o||(d.textContent=""),d.insertAdjacentHTML(y.at.end,l?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...r)=>{if(e.collection.length&&a(t,String,Array)){if(t=a(t,Array)?t.filter(o=>N(String)):t,!t.length>0||!r.length>0)return e;for(let o of r){let i=Qe(e);y.handle({type:t,selector:i,handlers:o})}}return e},prepend:(e,...t)=>{if(!e.is.empty&&t){let r=e.length===1;for(let o of t){if(N(o)){o=o.trim();let l=!/^<(.+)[^>]+>$/m.test(o)?y.text(o):H(o);l=r?l:U(l),C(e,d=>d.prepend(l.cloneNode(!0)))}re(o)&&C(e,i=>i.prepend(r?o:U(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),C(e,i=>C(o,l=>i.prepend(r?l:U(l)))),o.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=y.virtual(t)),t.prepend(e),e),prop:(e,t,r)=>{if(a(t,String)&&!r)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let o=a(t,Object)?t:{[t]:r};for(let[i,l]of Object.entries(o)){if(i=i.trim(),l&&!Be(i)||!l)return!1;if(i.toLowerCase()==="id")return e[0].id=l;C(e,x=>{if(i.startsWith("data"))return x.dataset[i.slice(i.indexOf("-")+1)]=l;x[i]=l})}return e},remove:(e,t)=>{P(`remove ${j(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let r=i=>i.remove(),o=()=>e.collection=e.collection.filter(i=>document.documentElement.contains(i));if(t){let i=e.find$(t);return i.is.empty||(C(i,r),o()),e}return C(e,r),o(),e},rmAttr:(e,...t)=>{for(let r of t)e.node.removeAttribute(r);return e},removeClass:(e,...t)=>C(e,r=>{if(r)for(let o of t)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||!a(r,HTMLElement)&&!r.isJQx?(console.error("JQx replace: invalid replacement value"),e):(r.isJQx&&(r=r[0]),a(r,NodeList)&&(r=r[0]),o&&t&&(t=a(t,String)?o.querySelectorAll(t):t.isJQx?t.collection:t,a(t,HTMLElement,NodeList,Array)&&a(r,HTMLElement)&&(a(t,HTMLElement)?[t]:[...t]).forEach(i=>i.replaceWith(r.cloneNode(!0)))),e)},replaceClass:(e,t,...r)=>C(e,o=>{o.classList.remove(t);for(let i of r)o.classList.add(i)}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=a(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=y.virtual(t)),e),setData:(e,t)=>C(e,r=>ke(r,t)),show:e=>C(e,t=>xe(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?a(t,String)?e.find$(t):a(t,Number)?y(e.collection[t]):y(e.collection[0]):e,style:(e,t,r)=>C(e,i=>{r&&a(t,String)&&(t={[t]:r||"none"}),xe(i,t)}),text:(e,t,r=!1)=>e.isEmpty()?e:a(t,String)?C(e,i=>i.textContent=r?i.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,r=F.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=V(e.collection,t,r),e),toggleClass:(e,t)=>C(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 i=new r(t,{...o,bubbles:o.bubbles??!0});for(let l of e.collection)l.dispatchEvent(i)}return e},val:(e,t)=>{let r=e[0];return!r||!a(r,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?r.value:(r.value=a(t,String)?t:"",e)}}};function We(e){if(!e("#jqxPopup").isEmpty())return;e.dialog({id:"jqxPopup"},e.div({id:"jqxPopupContent"})).render,e.editCssRules(...Ce);let[t,r]=[e("#jqxPopupContent"),e.node("#jqxPopup")],o={};return e.delegateCaptured({type:["click","keydown"],handlers:h,capture:!0}),Object.freeze({show:i,removeModal:E});function i(m){if(r.open)return;o={...m};let{content:p}=o;return e.IS(p,String,HTMLElement)||p?.isJQx?d():!0}function l(){return o.modal?L(o.warnMessage):x()}function d(){t.clear();let{content:m,modal:p,closeAfter:g}=o;p=e.IS(p,Boolean)?p:!1;let b=p?"":e.div({id:"closeHandleIcon"});t.append(b,e.IS(m,String)?e.div(m):m),r.showModal(),!p&&e.IS(g,Number)&&v(l,g)}function x(){if(r.close(o.returnValue),e.IS(o.callback,Function))return o.callback(o.returnValue);o={}}function E({callback:m,value:p}={}){o.returnValue=p,o.modal=!1,o.callback=m||o.callback,l()}function h(m){if(Object.keys(o).length<1||!r.open)return;o.activeTimer&&clearTimeout(o.activeTimer);let p=m.key==="Escape";return p&&m.preventDefault(),(p||m.target.closest("#closeHandleIcon")||m.type!=="keydown"&&!m.target.closest("#jqxPopupContent"))&&l(),document.activeElement.blur()}function v(m,p){e.IS(m,Function)&&e.IS(p,Number)&&p>0&&(o.activeTimer=setTimeout(m,p*1e3))}function L(m){if(!e.IS(m,String,HTMLElement,Proxy))return;let p=t.find$(".warn");switch(!0){case p.is.empty:p=e.div({class:"warn"},m);default:t.append(p.addClass("active")),v(()=>t.find$(".warn").removeClass("active"),2)}}}var oe={},Vt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],qe=e=>!!Vt.find(t=>t===e);function ze(){let e=(r,o)=>i=>{let l=i.target?.closest?.(r);return l&&o(i,y(l))},t=(r,o,i,l)=>{if(oe[r]||(oe[r]=new Map),!(oe[r].has(o)||[...oe[r].values()].find(x=>x.name&&x.name===l))){addEventListener(r,o,i||qe(r));let x={name:l||o.name,capture:i||qe(r)};oe[r].set(o,x)}};return function(r){let{eventType:o,selector:i,callback:l,name:d,capture:x}=r;if(!(y.IS(o,String)||o?.length<1)||!y.IS(l,Function))return;o=o.toLowerCase(),x=y.IS(x,Boolean)?x:!1;let E=y.IS(i,String)?e(i,l):h=>l(h,h.target);t(o,E,x,d)}}var Ut={},{instanceMethods:_e,instanceGetters:Ve,isCommentOrTextNode:Je,isNode:re,isHtmlString:Ge,isArrayOfHtmlElements:Ze,isArrayOfHtmlStrings:Ye,ElemArray2HtmlString:Xe,input2Collection:Ke,setCollectionFromCssSelector:et,addHandlerId:Qe,cssRuleEdit:we,addFn:Gt,elems4Docs:mo}=Zt();function Zt(){let e=K({createWithId:"JQxStylesheet"}),t=(f,S)=>r[f]=(T,...n)=>S(T,...n),r=ve.instanceExtensions,o=ve.factoryExtensions,i=f=>a(f,Comment,Text),l=f=>a(f,Text,HTMLElement,Comment),d=f=>a(f,Comment),x=f=>a(f,Text),E=f=>a(f,String)&&/^<|>$/.test(`${f}`.trim()),h=f=>a(f,Array)&&!f?.find(S=>!E(S)),v=f=>a(f,Array)&&!f?.find(S=>!l(S)),L=f=>f?.filter(S=>S).reduce((S,T)=>S.concat(d(T)?`<!--${T.data}-->`:i(T)?T.textContent:T.outerHTML),""),m=f=>f?a(f,Proxy)?[f.EL]:a(f,NodeList)?[...f]:l(f)?[f]:v(f)?f:f.isJQx?f.collection:void 0:[],p=(f,S,T)=>{let n=S!==document.body&&a(f,String)&&f.toLowerCase()!=="body"?S:document,s;try{T.collection=[...n.querySelectorAll(f)]}catch{s=`Invalid CSS querySelector. [${a(f,String)?f:"Nothing valid given!"}]`}return s??`CSS querySelector "${f}", output ${T.collection.length} element(s)`},g=f=>{let S=f.data.get("hid")||`HID${z()}`;return f.data.add({hid:S}),`[data-hid="${S}"]`},b=Object.entries(O.tagsRaw).filter(([,f])=>f).map(([f])=>f).sort((f,S)=>f.localeCompare(S));return{instanceMethods:r,instanceGetters:o,isCommentOrTextNode:i,isNode:l,isComment:d,isText:x,isHtmlString:E,isArrayOfHtmlElements:v,isArrayOfHtmlStrings:h,ElemArray2HtmlString:L,input2Collection:m,setCollectionFromCssSelector:p,addHandlerId:g,cssRuleEdit:e,addFn:t,elems4Docs:b}}function G(e){return new Proxy(e,{get:(t,r)=>Kt(t,r,e)})}function Yt(e,t){return(...r)=>a(e,Function)&&e(G(t),...r)}function Xt(e,t){return(...r)=>a(e,Function)&&e(G(t),...r)}function Kt(e,t,r){switch(!0){case a(t,Symbol):return e;case a(+t,Number):return e.collection?.[t]||void 0;case t in Ve:return Xt(Ve[t],r)();case t in _e:return Yt(_e[t],r);default:return e[t]}}function tt(e){let t=sr(e);for(let[r,o]of Object.entries(Object.getOwnPropertyDescriptors(t)))Object.defineProperty(e,r,o),Object.defineProperty(Ut,r,o);return e}function er(e){return{allow:t=>{let r=/-/.test(t),o=r&&t;t=r?ee(t):t.toLowerCase(),O.allowTag(t),a(e[t],Function)||Object.defineProperties(e,Ee(t,!0,e,o))},prohibit:t=>{t=t.toLowerCase(),O.prohibitTag(t),a(e[t],Function)&&Object.defineProperties(e,Ee(t,!1,e))}}}function Ue(...e){if(e.length===1){let t=String(e.shift().trim());e=t.startsWith("!")?[t.slice(1,-1)]:t.split(",").map(r=>r.trim())}for(let t of e.map(r=>r.startsWith("!")?r.slice(1,-1):r))we(t,{removeRule:1})}function tr(e){return function(t,r,...o){a(r,Function)&&(o.push(r),r=void 0);for(let i of o)e({eventType:t,selector:r,callback:i})}}function rr(e){return function(t){let{type:r,origin:o,selector:i,handlers:l,name:d,capture:x}=t;if(!a(l,Function,Array))return;l=a(l,Function)?[l]:l;let E={eventType:r,selector:i||o,capture:x,name:d},h=v=>a(v,Function)&&e({...E,callback:v});if(a(r,Array)){let v=r.filter(L=>N(String));if(v.length>0){for(let L of v){E.eventType=L;for(let m of l)h(m)}return!0}}for(let v of l)h(v)}}function or(e){return function(t,r,o){r=r?.isJQx?r?.[0]:r,o=o&&Object.values(F).find(l=>o===l)?o:void 0;let i=e(t,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let l of i.collection)o?r.insertAdjacentElement(o,l):r.append(l);return i}}function nr(...e){let t={};for(let r of e){let o=Object.getOwnPropertyDescriptors(r);for(let[i,l]of Object.entries(o))!(i in t)&&Object.defineProperty(t,i,l)}return t}function ir(e){console.error(`JQx: "${e}" not allowed, not rendered`)}function lr(e,t,r,o){return e=M(o||e.toLowerCase()),{get(){return(...i)=>t?r.virtual(te(pe[e](...i))):ir(e)},enumerable:!1,configurable:!0}}function Ee(e,t,r,o){e=e.toLowerCase();let i=lr(e,t,r,o);return o?{[o]:i,[ee(o)]:i}:{[e]:i,[e.toUpperCase()]:i}}function sr(e){return nr(Object.entries(O.tagsRaw).reduce(ar(e),{}),cr(e))}function ar(e){return function(t,[r,o]){return o&&Object.defineProperties(t,Ee(r,o,e)),t}}function cr(e){let t=(l,d)=>we(l,d),r=er(e),o=ze(),i=rr(o);return{debugLog:$,log:(...l)=>D("fromStatic",...l),insertPositions:F,get at(){return F},editCssRules:(...l)=>{for(let d of l)we(d)},editCssRule:t,get setStyle(){return t},delegate:tr(o),delegateCaptured:i,handle:i,virtual:or(e),get fn(){return Gt},allowTag:r.allow,prohibitTag:r.prohibit,get lenient(){return O.allowUnknownHtmlTags},get IS(){return a},get Popup(){return e.activePopup||Object.defineProperty(e,"activePopup",{value:We(e),enumerable:!1}),e.activePopup},popup:()=>e.Popup,createStyle:l=>K({createWithId:l||`jqx${z()}`}),editStylesheet:l=>K({createWithId:l||`jqx${z()}`}),removeCssRule:Ue,removeCssRules:Ue,text:(l,d=!1)=>d?e.comment(l):document.createTextNode(l),node:(l,d=document)=>d.querySelector(l,d),nodes:(l,d=document)=>[...d.querySelectorAll(l,d)]}}var y=tt(ur());function ur(){return function(r,o,i=F.BeforeEnd){if(r?.isJQx)return r;let l=a(o,HTMLBRElement);o=(!l&&o&&o.isJQx?o[0]:o)||document.body,i=i&&Object.values(F).find(p=>i===p)?i:void 0;let d=Ge(r),x=!d&&Ye(r),E=x||d,h={collection:Ke(r)??[],isVirtual:l,isJQx:!0},v=Ze(h.collection),L=`input => ${x?`"${j(r.join(", "),70)}"`:!E&&v?`element collection [${j(h.collection.map(p=>`${a(p,Comment,Text)?"Comment|Text @":""} ${p?.outerHTML||p?.textContent}`).join(", "),70)}]`:`"${j(r,70)}"`}`;if(h.collection.length&&v)return P(L),l||h.collection.forEach(p=>{o.contains(p)||V([p],o,i)}),G(h);if(E){if([r].flat().forEach(p=>h.collection.push(H(p))),h.collection.length>0){let p=h.collection.filter(g=>g?.dataset?.jqxcreationerror);h.collection=h.collection.filter(g=>!g?.dataset?.jqxcreationerror),P(`${L}`),P(`*Created ${h.isVirtual?"VIRTUAL ":""}[${j(Xe(h.collection)||"sanitized: no elements remaining",70)}]`),p.length&&console.error(`JQx: illegal html, not rendered: "${p.reduce((g,b)=>g.concat(`${b.textContent}
|
|
15
|
+
`),"").trim()}"`),h.isVirtual||V(h.collection,o,i)}return G(h)}let m=et(r,o,h);return P(`input => ${m}`),G(h)}}export{y as default};
|
package/package.json
CHANGED
package/src/HandlerFactory.js
CHANGED
|
@@ -5,12 +5,10 @@ const shouldCaptureEventTypes = [
|
|
|
5
5
|
`DOMNodeInsertedIntoDocument`, `loadstart`, `progress`, `error`, `abort`,
|
|
6
6
|
`load`, `loadend`, `pointerenter`, `pointerleave`, `readystatechange`];
|
|
7
7
|
const getCapture = eventType => !!(shouldCaptureEventTypes.find(t => t === eventType));
|
|
8
|
-
export default ()
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
const createHandlerForHID = (HID, callback) => {
|
|
8
|
+
export default function() {
|
|
9
|
+
const wrapHandlerFunction = (selector, callback) => {
|
|
12
10
|
return evt => {
|
|
13
|
-
const target = evt.target?.closest?.(
|
|
11
|
+
const target = evt.target?.closest?.(selector);
|
|
14
12
|
return target && callback(evt, jqx(target));
|
|
15
13
|
};
|
|
16
14
|
};
|
|
@@ -27,11 +25,12 @@ export default () => {
|
|
|
27
25
|
}
|
|
28
26
|
};
|
|
29
27
|
|
|
30
|
-
return (
|
|
28
|
+
return function(spec) { /*NODOC*/
|
|
29
|
+
let {eventType, selector, callback, name, capture} = spec;
|
|
31
30
|
if (!(jqx.IS(eventType, String) || eventType?.length < 1) || !jqx.IS(callback, Function)) { return; }
|
|
32
31
|
eventType = eventType.toLowerCase();
|
|
33
32
|
capture = jqx.IS(capture, Boolean) ? capture : false;
|
|
34
|
-
const
|
|
35
|
-
addAndStoreListener(eventType,
|
|
33
|
+
const handler = !jqx.IS(selector, String) ? evt => callback(evt, evt.target) : wrapHandlerFunction(selector, callback);
|
|
34
|
+
addAndStoreListener(eventType, handler, capture, name);
|
|
36
35
|
};
|
|
37
36
|
};
|
|
@@ -6,7 +6,8 @@ import HandleFactory from "./HandlerFactory.js";
|
|
|
6
6
|
import tagLib from "./HTMLTags.js";
|
|
7
7
|
import {
|
|
8
8
|
randomString, toDashedNotation, IS, truncateHtmlStr, tagFNFactory as $T,
|
|
9
|
-
truncate2SingleStr, logTime, hex2RGBA, styleFactory, toCamelcase
|
|
9
|
+
truncate2SingleStr, logTime, hex2RGBA, styleFactory, toCamelcase,
|
|
10
|
+
isNonEmptyString,
|
|
10
11
|
} from "./Utilities.js";
|
|
11
12
|
let static4Docs = {};
|
|
12
13
|
const {
|
|
@@ -80,7 +81,7 @@ function wrapGetter(method, instance) {
|
|
|
80
81
|
function proxyKeyFactory(self, key, instance) {
|
|
81
82
|
switch(true) {
|
|
82
83
|
case IS(key, Symbol): return self;
|
|
83
|
-
case IS(+key, Number): return self.collection?.[key] ||
|
|
84
|
+
case IS(+key, Number): return self.collection?.[key] || undefined;
|
|
84
85
|
case !!(key in instanceGetters): return wrapGetter(instanceGetters[key], instance)();
|
|
85
86
|
case !!(key in instanceMethods): return wrapExtension(instanceMethods[key], instance);
|
|
86
87
|
default: return self[key];
|
|
@@ -89,10 +90,9 @@ function proxyKeyFactory(self, key, instance) {
|
|
|
89
90
|
|
|
90
91
|
function addJQxStaticMethods(jqx) {
|
|
91
92
|
const staticMethods = defaultStaticMethodsFactory(jqx);
|
|
92
|
-
Object.entries(Object.getOwnPropertyDescriptors(staticMethods))
|
|
93
|
-
.
|
|
94
|
-
|
|
95
|
-
Object.defineProperty(static4Docs, key, descriptor); } );
|
|
93
|
+
for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(staticMethods))) {
|
|
94
|
+
Object.defineProperty(jqx, key, descriptor);
|
|
95
|
+
Object.defineProperty(static4Docs, key, descriptor); }
|
|
96
96
|
return jqx;
|
|
97
97
|
}
|
|
98
98
|
|
|
@@ -126,8 +126,10 @@ function cssRemove(...rules) {
|
|
|
126
126
|
? ruleStr.split(`,`).map(v => v.trim())
|
|
127
127
|
: [ruleStr.slice(1, -1)];
|
|
128
128
|
}
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
|
|
130
|
+
for (const rule of rules.map(rule => rule.startsWith(`!`) ? rule.slice(1, -1) : rule)) {
|
|
131
|
+
cssRuleEdit(rule, {removeRule: 1});
|
|
132
|
+
}
|
|
131
133
|
}
|
|
132
134
|
|
|
133
135
|
function delegateFactory(handle) {
|
|
@@ -137,19 +139,34 @@ function delegateFactory(handle) {
|
|
|
137
139
|
origin = undefined;
|
|
138
140
|
}
|
|
139
141
|
|
|
140
|
-
|
|
142
|
+
for (const handler of eventHandlers) {
|
|
143
|
+
handle({eventType: type, selector: origin, callback: handler})
|
|
144
|
+
}
|
|
141
145
|
}
|
|
142
146
|
}
|
|
143
147
|
|
|
144
148
|
function delegateCaptureFactory(handle) {
|
|
145
|
-
return function(
|
|
149
|
+
return function(spec) {
|
|
150
|
+
let {type, origin, selector, handlers, name, capture} = spec;
|
|
146
151
|
if (!IS(handlers, Function, Array)) { return; }
|
|
147
152
|
handlers = IS(handlers, Function) ? [handlers] : handlers;
|
|
148
|
-
const params = {eventType: type, selector: origin, capture, name};
|
|
153
|
+
const params = {eventType: type, selector: selector || origin, capture, name};
|
|
154
|
+
const doHandle = handler => IS(handler, Function) && handle({...params, callback: handler});
|
|
155
|
+
|
|
156
|
+
if (IS(type, Array)) {
|
|
157
|
+
const types = type.filter(t => isNonEmptyString(String));
|
|
158
|
+
|
|
159
|
+
if (types.length > 0) {
|
|
160
|
+
for (const type of types) {
|
|
161
|
+
params.eventType = type;
|
|
162
|
+
for (const handler of handlers) { doHandle(handler); }
|
|
163
|
+
}
|
|
149
164
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}
|
|
165
|
+
return true;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
for (const handler of handlers) { doHandle(handler); }
|
|
153
170
|
}
|
|
154
171
|
}
|
|
155
172
|
|
|
@@ -159,8 +176,9 @@ function virtualFactory(jqx) {
|
|
|
159
176
|
position = position && Object.values(insertPositions).find(pos => position === pos) ? position : undefined;
|
|
160
177
|
const virtualElem = jqx(html, document.createElement(`br`));
|
|
161
178
|
if (root && !IS(root, HTMLBRElement)) {
|
|
162
|
-
virtualElem.collection
|
|
163
|
-
position ? root.insertAdjacentElement(position, elem) : root.append(elem)
|
|
179
|
+
for (const elem of virtualElem.collection) {
|
|
180
|
+
position ? root.insertAdjacentElement(position, elem) : root.append(elem);
|
|
181
|
+
}
|
|
164
182
|
}
|
|
165
183
|
return virtualElem;
|
|
166
184
|
}
|
|
@@ -171,8 +189,9 @@ function combineObjectSources(...sources) {
|
|
|
171
189
|
|
|
172
190
|
for (const source of sources) {
|
|
173
191
|
const descriptors = Object.getOwnPropertyDescriptors(source);
|
|
174
|
-
|
|
175
|
-
!(key in result) && Object.defineProperty(result, key, descriptor)
|
|
192
|
+
for (const [key, descriptor] of Object.entries(descriptors)) {
|
|
193
|
+
!(key in result) && Object.defineProperty(result, key, descriptor);
|
|
194
|
+
}
|
|
176
195
|
}
|
|
177
196
|
|
|
178
197
|
return result;
|
|
@@ -224,16 +243,18 @@ function staticMethodsFactory(jqx) {
|
|
|
224
243
|
const editCssRule = (ruleOrSelector, ruleObject) => cssRuleEdit(ruleOrSelector, ruleObject);
|
|
225
244
|
const allowProhibit = allowances(jqx);
|
|
226
245
|
const handle = HandleFactory();
|
|
246
|
+
const capturedHandling = delegateCaptureFactory(handle);
|
|
227
247
|
return {
|
|
228
248
|
debugLog,
|
|
229
249
|
log: (...args) => Log(`fromStatic`, ...args),
|
|
230
250
|
insertPositions,
|
|
231
251
|
get at() { return insertPositions; },
|
|
232
|
-
editCssRules: (...rules) =>
|
|
252
|
+
editCssRules: (...rules) => { for (const rule of rules) { cssRuleEdit(rule); } },
|
|
233
253
|
editCssRule,
|
|
234
254
|
get setStyle() { /*deprecated*/return editCssRule; },
|
|
235
255
|
delegate: delegateFactory(handle),
|
|
236
|
-
delegateCaptured:
|
|
256
|
+
delegateCaptured: capturedHandling,
|
|
257
|
+
handle: capturedHandling,
|
|
237
258
|
virtual: virtualFactory(jqx),
|
|
238
259
|
get fn() { return addFn; },
|
|
239
260
|
allowTag: allowProhibit.allow,
|
package/src/JQxMethods.js
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./JQxExtensionHelpers.js";
|
|
12
12
|
import {ATTRS} from "./EmbedResources.js";
|
|
13
13
|
import jqx from "../index.js";
|
|
14
|
-
import {ExamineElementFeatureFactory, toDashedNotation, toCamelcase, escHtml} from "./Utilities.js";
|
|
14
|
+
import {ExamineElementFeatureFactory, isNonEmptyString, toDashedNotation, toCamelcase, escHtml} from "./Utilities.js";
|
|
15
15
|
import {debugLog} from "./JQxLog.js";
|
|
16
16
|
const loop = (instance, callback) => {
|
|
17
17
|
const cleanCollection = instance.collection.filter(el => !isCommentOrTextNode(el));
|
|
@@ -31,8 +31,11 @@ const cloneAndDestroy = elem => {
|
|
|
31
31
|
return cloned;
|
|
32
32
|
};
|
|
33
33
|
const setData = (el, keyValuePairs) => {
|
|
34
|
-
el && IS(keyValuePairs, Object)
|
|
35
|
-
|
|
34
|
+
if (el && IS(keyValuePairs, Object)) {
|
|
35
|
+
for (const [key, value] of Object.entries(keyValuePairs)) {
|
|
36
|
+
el.setAttribute(`data-${toDashedNotation(key)}`, value);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
36
39
|
};
|
|
37
40
|
const before = (instance, elem2AddBefore) => {
|
|
38
41
|
return instance.andThen(elem2AddBefore, true);
|
|
@@ -59,20 +62,22 @@ const css = (el, keyOrKvPairs, value) => {
|
|
|
59
62
|
el.classList.add(nwClass);
|
|
60
63
|
};
|
|
61
64
|
const assignAttrValues = (/*NODOC*/el, keyValuePairs) => {
|
|
62
|
-
|
|
63
|
-
key
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
if (el) {
|
|
66
|
+
for (let [key, value] of Object.entries(keyValuePairs)) {
|
|
67
|
+
key = toDashedNotation(key);
|
|
68
|
+
if (key.startsWith(`data`)) {
|
|
69
|
+
return setData(el, value);
|
|
70
|
+
}
|
|
67
71
|
|
|
68
|
-
|
|
69
|
-
|
|
72
|
+
if (IS(value, String) && checkProp(key)) {
|
|
73
|
+
el.setAttribute(key, value.split(/[, ]/)?.join(` `));
|
|
74
|
+
}
|
|
70
75
|
}
|
|
71
|
-
}
|
|
76
|
+
}
|
|
72
77
|
};
|
|
73
78
|
const applyStyle = (el, rules) => {
|
|
74
79
|
if (IS(rules, Object)) {
|
|
75
|
-
|
|
80
|
+
for (let [key, value] of Object.entries(rules)) {
|
|
76
81
|
let priority;
|
|
77
82
|
if (/!important/i.test(value)) {
|
|
78
83
|
value = value.slice(0, value.indexOf(`!`)).trim();
|
|
@@ -80,7 +85,7 @@ const applyStyle = (el, rules) => {
|
|
|
80
85
|
}
|
|
81
86
|
|
|
82
87
|
el.style.setProperty(toDashedNotation(key), value, priority)
|
|
83
|
-
}
|
|
88
|
+
}
|
|
84
89
|
}
|
|
85
90
|
};
|
|
86
91
|
const datasetKeyProxy = { get(obj, key) { return obj[toCamelcase(key)] || obj[key]; }, enumerable: false, configurable: false };
|
|
@@ -96,14 +101,20 @@ export default {
|
|
|
96
101
|
data: instance => ({
|
|
97
102
|
get all() { return new Proxy(instance[0]?.dataset ?? {}, datasetKeyProxy); },
|
|
98
103
|
set: (valuesObj = {}) => {
|
|
99
|
-
!instance.is.empty && IS(valuesObj, Object)
|
|
100
|
-
|
|
104
|
+
if (!instance.is.empty && IS(valuesObj, Object)) {
|
|
105
|
+
for (const [key, value] of Object.entries(valuesObj)) {
|
|
106
|
+
instance.setData( { [key]: value} );
|
|
107
|
+
}
|
|
108
|
+
}
|
|
101
109
|
return instance;
|
|
102
110
|
},
|
|
103
111
|
get: (key, whenUndefined) => instance.data.all[key] ?? whenUndefined,
|
|
104
112
|
add: (valuesObj = {}) => {
|
|
105
|
-
!instance.is.empty && IS(valuesObj, Object)
|
|
106
|
-
|
|
113
|
+
if (!instance.is.empty && IS(valuesObj, Object)) {
|
|
114
|
+
for (const [key, value] of Object.entries(valuesObj)) {
|
|
115
|
+
instance.setData( { [key]: value} );
|
|
116
|
+
}
|
|
117
|
+
}
|
|
107
118
|
return instance;
|
|
108
119
|
},
|
|
109
120
|
remove: key => {
|
|
@@ -121,9 +132,7 @@ export default {
|
|
|
121
132
|
boundingRect.scrollLeftDistance = findParentScrollDistance(node, 0, false);
|
|
122
133
|
return boundingRect;
|
|
123
134
|
},
|
|
124
|
-
node: instance => {
|
|
125
|
-
return instance[0];
|
|
126
|
-
},
|
|
135
|
+
node: instance => { return instance[0]; },
|
|
127
136
|
HTML: instance => ({
|
|
128
137
|
get: (outer, escaped) => {
|
|
129
138
|
if (instance.is.empty) {
|
|
@@ -181,7 +190,10 @@ export default {
|
|
|
181
190
|
|
|
182
191
|
if (rules?.length || classes2Apply?.length) {
|
|
183
192
|
rules?.length && jqx.editCssRules(...rules);
|
|
184
|
-
|
|
193
|
+
|
|
194
|
+
if (classes2Apply) {
|
|
195
|
+
for(const selector of classes2Apply) { instance.addClass(selector); }
|
|
196
|
+
}
|
|
185
197
|
}
|
|
186
198
|
|
|
187
199
|
if (addClassNameOrID?.startsWith(`.`)) {
|
|
@@ -224,7 +236,7 @@ export default {
|
|
|
224
236
|
const shouldMove = instance.length === 1;
|
|
225
237
|
|
|
226
238
|
for (let elem2Append of elems2Append) {
|
|
227
|
-
if (!elem2Append.isJQx &&
|
|
239
|
+
if (!elem2Append.isJQx && isNonEmptyString(elem2Append)) {
|
|
228
240
|
const elem2Append4Test = elem2Append.trim();
|
|
229
241
|
const isPlainString = !/^<(.+)[^>]+>$/m.test(elem2Append4Test);
|
|
230
242
|
let toAppend = isPlainString ? jqx.text(elem2Append) : createElementFromHtmlString(elem2Append);
|
|
@@ -257,7 +269,7 @@ export default {
|
|
|
257
269
|
|
|
258
270
|
if (!firstElem) { return instance }
|
|
259
271
|
|
|
260
|
-
if (!value &&
|
|
272
|
+
if (!value && isNonEmptyString(keyOrObj)) {
|
|
261
273
|
keyOrObj = toDashedNotation(keyOrObj);
|
|
262
274
|
|
|
263
275
|
if (keyOrObj === `class`) {
|
|
@@ -267,7 +279,7 @@ export default {
|
|
|
267
279
|
return firstElem?.getAttribute(keyOrObj);
|
|
268
280
|
}
|
|
269
281
|
|
|
270
|
-
if (
|
|
282
|
+
if (isNonEmptyString(keyOrObj) && value) {
|
|
271
283
|
keyOrObj = toDashedNotation(keyOrObj);
|
|
272
284
|
|
|
273
285
|
switch(true) {
|
|
@@ -288,7 +300,7 @@ export default {
|
|
|
288
300
|
beforeMe: before,
|
|
289
301
|
clear: instance => loop(instance, emptyElement),
|
|
290
302
|
closest: (instance, selector) => {
|
|
291
|
-
const theClosest =
|
|
303
|
+
const theClosest = isNonEmptyString(selector) ? instance[0].closest(selector) : null;
|
|
292
304
|
return theClosest ? jqx(theClosest) : instance
|
|
293
305
|
},
|
|
294
306
|
computedStyle: (instance, property) => instance.first() && getComputedStyle(instance.first())[property],
|
|
@@ -322,11 +334,14 @@ export default {
|
|
|
322
334
|
hide: instance => loop(instance, el => applyStyle(el, {display: `none !important`})),
|
|
323
335
|
html: (instance, htmlValue, append) => {
|
|
324
336
|
if (htmlValue === undefined) {
|
|
325
|
-
|
|
337
|
+
const node = instance.node;
|
|
338
|
+
return node?.getHTML && node.getHTML() || ``;
|
|
326
339
|
}
|
|
327
340
|
|
|
328
341
|
if (!instance.isEmpty()) {
|
|
329
|
-
const nwElement = createElementFromHtmlString(
|
|
342
|
+
const nwElement = createElementFromHtmlString(
|
|
343
|
+
`<div>${htmlValue.isJQx ? htmlValue.HTML.get(true) : htmlValue}</div>`
|
|
344
|
+
);
|
|
330
345
|
|
|
331
346
|
if (!IS(nwElement, Comment)) {
|
|
332
347
|
const cb = el => {
|
|
@@ -342,7 +357,7 @@ export default {
|
|
|
342
357
|
},
|
|
343
358
|
htmlFor: (instance, forQuery, htmlString = "", append = false) => {
|
|
344
359
|
if (forQuery && instance.collection.length) {
|
|
345
|
-
if (!forQuery || !
|
|
360
|
+
if (!forQuery || !isNonEmptyString(htmlString)) { return instance; }
|
|
346
361
|
|
|
347
362
|
const el2Change = instance.find$(forQuery);
|
|
348
363
|
|
|
@@ -362,11 +377,15 @@ export default {
|
|
|
362
377
|
isEmpty: instance => instance.collection.length < 1,
|
|
363
378
|
nth$: (instance, indexOrSelector) => instance.single(indexOrSelector),
|
|
364
379
|
on: (instance, type, ...callback) => {
|
|
365
|
-
if (instance.collection.length) {
|
|
366
|
-
|
|
380
|
+
if (instance.collection.length && IS(type, String, Array)) {
|
|
381
|
+
type = IS(type, Array) ? type.filter(t => isNonEmptyString(String)) : type;
|
|
382
|
+
|
|
383
|
+
if (!type.length > 0 || !callback.length > 0) { return instance; }
|
|
384
|
+
|
|
385
|
+
for (const cb of callback) {
|
|
367
386
|
const cssSelector4Handler = addHandlerId(instance);
|
|
368
|
-
jqx.
|
|
369
|
-
}
|
|
387
|
+
jqx.handle({type, selector: cssSelector4Handler, handlers: cb});
|
|
388
|
+
}
|
|
370
389
|
}
|
|
371
390
|
|
|
372
391
|
return instance;
|
|
@@ -376,7 +395,7 @@ export default {
|
|
|
376
395
|
const shouldMove = instance.length === 1;
|
|
377
396
|
|
|
378
397
|
for (let elem2Prepend of elems2Prepend) {
|
|
379
|
-
if (
|
|
398
|
+
if (isNonEmptyString(elem2Prepend)) {
|
|
380
399
|
elem2Prepend = elem2Prepend.trim();
|
|
381
400
|
const isPlainString = !/^<(.+)[^>]+>$/m.test(elem2Prepend);
|
|
382
401
|
let toPrepend = isPlainString ? jqx.text(elem2Prepend) : createElementFromHtmlString(elem2Prepend);
|
|
@@ -414,7 +433,7 @@ export default {
|
|
|
414
433
|
}
|
|
415
434
|
|
|
416
435
|
const props = !IS(nameOrProperties, Object) ? { [nameOrProperties]: value } : nameOrProperties;
|
|
417
|
-
|
|
436
|
+
for (let [propName, propValue] of Object.entries(props)) {
|
|
418
437
|
propName = propName.trim();
|
|
419
438
|
|
|
420
439
|
if (propValue && !checkProp(propName) || !propValue) {
|
|
@@ -432,7 +451,7 @@ export default {
|
|
|
432
451
|
|
|
433
452
|
el[propName] = propValue;
|
|
434
453
|
});
|
|
435
|
-
}
|
|
454
|
+
}
|
|
436
455
|
|
|
437
456
|
return instance;
|
|
438
457
|
},
|
|
@@ -455,11 +474,11 @@ export default {
|
|
|
455
474
|
return instance;
|
|
456
475
|
},
|
|
457
476
|
rmAttr: (instance, ...attrNames) => {
|
|
458
|
-
|
|
477
|
+
for (const attr of attrNames) { instance.node.removeAttribute(attr); }
|
|
459
478
|
return instance;
|
|
460
479
|
},
|
|
461
480
|
removeClass: (instance, ...classNames) =>
|
|
462
|
-
loop(instance, el => el
|
|
481
|
+
loop(instance, el => { if (el) { for (const cn of classNames) { el.classList.remove(cn); } } }),
|
|
463
482
|
renderTo: (instance, root = document.body, at = jqx.insertPositions.end) => {
|
|
464
483
|
instance.toDOM(root, at);
|
|
465
484
|
return instance;
|
|
@@ -497,7 +516,7 @@ export default {
|
|
|
497
516
|
},
|
|
498
517
|
replaceClass: (instance, className, ...nwClassNames) => loop( instance, el => {
|
|
499
518
|
el.classList.remove(className);
|
|
500
|
-
|
|
519
|
+
for (const name of nwClassNames) { el.classList.add(name); }
|
|
501
520
|
} ),
|
|
502
521
|
replaceMe: (instance, newChild) => /*NODOC*/ instance.replaceWith(newChild),
|
|
503
522
|
replaceWith: (instance, newChild) => {
|
package/src/Popup.js
CHANGED
|
@@ -7,11 +7,8 @@ export default function($) {
|
|
|
7
7
|
$.editCssRules(...styleRules);
|
|
8
8
|
const [popupContent, popupNode] = [$(`#jqxPopupContent`), $.node(`#jqxPopup`)];
|
|
9
9
|
let currentProps = {};
|
|
10
|
-
[`click`, `keydown`]
|
|
11
|
-
|
|
12
|
-
handlers: genericPopupCloseHandler,
|
|
13
|
-
name: "genericPopupCloseHandler",
|
|
14
|
-
capture: true }) );
|
|
10
|
+
$.delegateCaptured( { type: [`click`, `keydown`], handlers: genericPopupCloseHandler, capture: true } );
|
|
11
|
+
|
|
15
12
|
return Object.freeze({show: initPopup, removeModal});
|
|
16
13
|
|
|
17
14
|
function initPopup(props) {
|
|
@@ -37,7 +34,7 @@ export default function($) {
|
|
|
37
34
|
|
|
38
35
|
function hidePopup() {
|
|
39
36
|
popupNode.close(currentProps.returnValue);
|
|
40
|
-
if ($.IS(currentProps.callback, Function)) { currentProps.callback(currentProps.returnValue); }
|
|
37
|
+
if ($.IS(currentProps.callback, Function)) { return currentProps.callback(currentProps.returnValue); }
|
|
41
38
|
currentProps = {};
|
|
42
39
|
}
|
|
43
40
|
|
|
@@ -49,7 +46,7 @@ export default function($) {
|
|
|
49
46
|
}
|
|
50
47
|
|
|
51
48
|
function genericPopupCloseHandler(evt) {
|
|
52
|
-
if ( Object.keys(currentProps).length < 1 ) { return; }
|
|
49
|
+
if ( Object.keys(currentProps).length < 1 || !popupNode.open ) { return; }
|
|
53
50
|
currentProps.activeTimer && clearTimeout(currentProps.activeTimer);
|
|
54
51
|
const escPressed = evt.key === `Escape`;
|
|
55
52
|
escPressed && evt.preventDefault();
|
package/src/Utilities.js
CHANGED
|
@@ -11,6 +11,10 @@ const randomNr = (max, min = 0) => {
|
|
|
11
11
|
[max, min] = [Math.floor(max), Math.ceil(min)];
|
|
12
12
|
return Math.floor( ([...crypto.getRandomValues(new Uint32Array(1))].shift() / 2 ** 32 ) * (max - min + 1) + min );
|
|
13
13
|
};
|
|
14
|
+
const isNonEmptyString = (str, minlen = 1) => {
|
|
15
|
+
minlen = IS(minlen, Number) && minlen || 1;
|
|
16
|
+
return IS(str, String) && str.length >= minlen;
|
|
17
|
+
};
|
|
14
18
|
const shuffle = array => {
|
|
15
19
|
let i = array.length;
|
|
16
20
|
while (i--) {
|
|
@@ -80,7 +84,7 @@ function ExamineElementFeatureFactory() {
|
|
|
80
84
|
return self => {
|
|
81
85
|
const firstElem = self.node;
|
|
82
86
|
|
|
83
|
-
return firstElem ? {
|
|
87
|
+
return IS(firstElem, Node) ? {
|
|
84
88
|
get writable() {
|
|
85
89
|
return isWritable(firstElem);
|
|
86
90
|
},
|
|
@@ -113,6 +117,7 @@ export {
|
|
|
113
117
|
IS,
|
|
114
118
|
maybe,
|
|
115
119
|
randomString,
|
|
120
|
+
isNonEmptyString,
|
|
116
121
|
toDashedNotation,
|
|
117
122
|
toCamelcase,
|
|
118
123
|
truncateHtmlStr,
|