jqx-es 1.2.9 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,15 @@
1
- var JQx=(()=>{var Se=Object.defineProperty;var nt=Object.getOwnPropertyDescriptor;var ot=Object.getOwnPropertyNames;var it=Object.prototype.hasOwnProperty;var lt=(t,e)=>{for(var r in e)Se(t,r,{get:e[r],enumerable:!0})},st=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ot(e))!it.call(t,o)&&o!==r&&Se(t,o,{get:()=>e[o],enumerable:!(n=nt(e,o))||n.enumerable});return t};var at=t=>st(Se({},"__esModule",{value:!0}),t);var dr={};lt(dr,{default:()=>fr});var{IS:a,maybe:te,$Wrap:gr,xProxy:pr,isNothing:yr}=ct();function ct(){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 t=x(),[e,r]=[g(),O()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?p(i,d):"notTypes"in d?c(i,d):n(i,...[d.isTypes].flat())}let u=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?S(u,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:u,noShouldbe:d,compareTo:v,inputCTOR:A,isNaN:k,isInfinity:j,shouldBeFirstElementIsNothing:J}=h(i,...s);switch(s=s.length&&s[0],!0){case J:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case k:return d?"NaN":t({trial:B=>String(v)})===String(i);case j:return d?"Infinity":t({trial:B=>String(v)})===String(i);case u:return d?String(i):String(v)===String(i);case A===Boolean:return s?A===s:"Boolean";default:return m(i,s,d,f(i,A))}}function f(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let u=s.length<1,d=!u&&s[0],v=!u&&y(s[0]),A=i==null,k=!A&&Object.getPrototypeOf(i)?.constructor,j=t({trial:B=>String(i)})==="NaN",J=t({trial:B=>String(i)})==="Infinity";return{noInput:A,noShouldbe:u,compareTo:d,inputCTOR:k,isNaN:j,isInfinity:J,shouldBeFirstElementIsNothing:v}}function m(i,s,u,d){switch(!0){case(!u&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case t({trial:v=>String(s)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(s,String)):return String(s)===i[Symbol.toStringTag];default:return s?t({trial:v=>i instanceof s})||s===d||s===Object.getPrototypeOf(d)||`${s?.name}`===d?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||d?.name||String(d)}}function S(i,...s){return s.some(u=>n(i,u))}function y(i,s=!1){let u=i==null;return u=s?u||n(i,1/0)||n(i,NaN):u,u}function x(){let i=(s,u)=>s?.constructor===Function?s(u):void 0;return function({trial:s,whenError:u=()=>{}}={}){try{return i(s)}catch(d){return i(u,d)}}}function g(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...s){return n(i,...s)},is(...s){return n(i,...s)}})}}function p(i,{defaultValue:s,isTypes:u=[void 0],notTypes:d}={}){return u=u?.constructor!==Array?[u]:u,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...u)?i:s:c(i,{isTypes:u,notTypes:d})?i:s}function c(i,{isTypes:s=[void 0],notTypes:u=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,u=u?.constructor!==Array?[u]:u,n(i,...s)&&!n(i,...u)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...s){return n(i,...s)},enumerable:!1,configurable:!1}}))}function w(i){let s=String(Object.getPrototypeOf(i)?.constructor);return s.slice(s.indexOf("ion")+3,s.indexOf("(")).trim()}function F(i){let s=i.set;return i.set=(u,d,v)=>d===Symbol.proxy?u[d]=v:s(u,d,v),i}function O(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,u){for(let v of u)v.set&&(v=F(v));let d=new s(...u);return d[Symbol.proxy]=`Proxy (${w(u[0])})`,d}})}}}}var Pe=dt(),W=ut(),V=ft();function ut(){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 ft(){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 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 Me={html:"innerHTML",text:"textContent",class:"className"},re=mt();function mt(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case Et(n):return Oe(e,n,r);default:return Oe(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function Oe(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?o=>xt(r):wt(e)}}),t[e]}function gt(t,e,r){return e=e?.isJQx&&e.first()||e,te({trial:n=>vt(e)?t.append(e):Re(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
2
- `,n)})}function pt(t,e,...r){let n=yt(e,t);return r?.forEach(o=>gt(n,o,t)),n}function yt(t,e){switch(t=xe(e)?St(t):t?.isJQx?t.first():t,!0){case a(t,String):return U(e,Re(t,e)?{html:t}:{text:t});case a(t,Node):return ht(e,t);default:return U(e,t)}}function bt(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in Me&&(t[Me[r]]=t[e],delete t[e])}),t}function ht(t,e){let r=U(t);return r.append(e),r}function U(t,e={}){e=Ie(e,{});let r=Object.entries(e.data??{}),n=Object.assign(xe(t)?new Comment(e?.text):document.createElement(t),bt(e));return r.length&&r.forEach(([o,l])=>n.dataset[o]=String(l)),n}function Ie(t,e){return e?a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:e}):a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function St(t){return Ie(t)?t?.text??t?.textContent??"":String(t)}function xt(t){return U("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function Re(t,e){return!xe(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function vt(t){return t?.constructor===Comment||t?.constructor===CharacterData}function xe(t){return t?.constructor===Comment||/comment/i.test(t)}function Et(t){return!a(U(t),HTMLUnknownElement)}function wt(t){return(e,...r)=>pt(t,e,...r)}var{IS:ne,maybe:vr,$Wrap:Er,xProxy:wr,isNothing:Fr}=Ft();function Ft(){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 t=x(),[e,r]=[g(),O()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?p(i,d):"notTypes"in d?c(i,d):n(i,...[d.isTypes].flat())}let u=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?S(u,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:u,noShouldbe:d,compareTo:v,inputCTOR:A,isNaN:k,isInfinity:j,shouldBeFirstElementIsNothing:J}=h(i,...s);switch(s=s.length&&s[0],!0){case J:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case k:return d?"NaN":t({trial:B=>String(v)})===String(i);case j:return d?"Infinity":t({trial:B=>String(v)})===String(i);case u:return d?String(i):String(v)===String(i);case A===Boolean:return s?A===s:"Boolean";default:return m(i,s,d,f(i,A))}}function f(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let u=s.length<1,d=!u&&s[0],v=!u&&y(s[0]),A=i==null,k=!A&&Object.getPrototypeOf(i)?.constructor,j=t({trial:B=>String(i)})==="NaN",J=t({trial:B=>String(i)})==="Infinity";return{noInput:A,noShouldbe:u,compareTo:d,inputCTOR:k,isNaN:j,isInfinity:J,shouldBeFirstElementIsNothing:v}}function m(i,s,u,d){switch(!0){case(!u&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case t({trial:v=>String(s)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(s,String)):return String(s)===i[Symbol.toStringTag];default:return s?t({trial:v=>i instanceof s})||s===d||s===Object.getPrototypeOf(d)||`${s?.name}`===d?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||d?.name||String(d)}}function S(i,...s){return s.some(u=>n(i,u))}function y(i,s=!1){let u=i==null;return u=s?u||n(i,1/0)||n(i,NaN):u,u}function x(){let i=(s,u)=>s?.constructor===Function?s(u):void 0;return function({trial:s,whenError:u=()=>{}}={}){try{return i(s)}catch(d){return i(u,d)}}}function g(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...s){return n(i,...s)},is(...s){return n(i,...s)}})}}function p(i,{defaultValue:s,isTypes:u=[void 0],notTypes:d}={}){return u=u?.constructor!==Array?[u]:u,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...u)?i:s:c(i,{isTypes:u,notTypes:d})?i:s}function c(i,{isTypes:s=[void 0],notTypes:u=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,u=u?.constructor!==Array?[u]:u,n(i,...s)&&!n(i,...u)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...s){return n(i,...s)},enumerable:!1,configurable:!1}}))}function w(i){let s=String(Object.getPrototypeOf(i)?.constructor);return s.slice(s.indexOf("ion")+3,s.indexOf("(")).trim()}function F(i){let s=i.set;return i.set=(u,d,v)=>d===Symbol.proxy?u[d]=v:s(u,d,v),i}function O(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,u){for(let v of u)v.set&&(v=F(v));let d=new s(...u);return d[Symbol.proxy]=`Proxy (${w(u[0])})`,d}})}}}}var _=Lt;function Lt({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:o,sheet:l,removeRules:f,consider:h,currentSheetID:m}=Tt({styleSheet:t,createWithId:e});function S(c,b){if(c&&b.removeProperties){Object.keys(b.removeProperties).forEach(w=>c.style.removeProperty(ke(w)));return}Object.entries(b).forEach(([w,F])=>{w=ke(w.trim()),F=F.trim();let O;if(/!important/.test(F)&&(F=F.slice(0,F.indexOf("!important")).trim(),O="important"),!CSS.supports(w,F))return console.error(`StylingFactory ${m} error: '${w}' with value '${F}' not supported (yet)`);je(()=>c.style.setProperty(w,F,O),`StylingFactory ${m} (setRule4Selector) failed`)})}function y(c,b,w=l){if(c=c?.trim?.(),!ne(c,String)||!c.length||/[;,]$/g.test(c))return console.error(`StylingFactory ${m} (setRules): [${c||"[no selector given]"}] is not a valid selector`);if(b.removeRule)return f(c);let F=n(c,!0),O=F||w.cssRules[w.insertRule(`${c} {}`,w.cssRules.length||0)];return h(()=>S(O,b),c,F)}function x(c){let b=c.trim().split(/{/,2),w=b.shift().trim();if(!ne(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${m} (doParse): no (valid) selector could be extracted from rule ${ve(c)}`);let F=Pt(b.shift());return je(()=>y(w,F),`StylingFactory ${m} (setRules) failed`)}function g(c){let b=r(c);return b.done?b.existing:x(c)}function p(c,b){return c.trim().startsWith("@media")?g(Ct(c,b)):y(c,b)}return function(c,b={}){return o(c,b)&&(Object.keys(b).length?p(c,b):g(c))}}function Tt({styleSheet:t,createWithId:e}){let r="Note: The rule or some of its properties may not be supported by your browser (yet)",n=`for style#${e}`;t=e?o(e):t;function o(g){let p=document.querySelector(`#${g}`)?.sheet;if(p)return p;let c=Object.assign(document.createElement("style"),{id:g});return document.head.insertAdjacentElement("beforeend",c),c.sheet}function l(g){return console.error(`StylingFactory ${n} [rule: ${g}]
3
- => @charset, @namespace and @import are not supported here`),{done:!0}}function f(g,p){return[...t.rules].find(c=>p?Je(c.selectorText||"",g):Dt`${$t(g)}${[..."gim"]}`.test(c.cssText))}function h(g){return/^@charset|@import|namespace/i.test(g.trim())?l(g):g.match(/}/g)?.length>1?{existing:y(g,1),done:!0}:{done:!1}}function m(g){let p=[...t.cssRules].reduce((b,w,F)=>Je(w.selectorText||"",g)&&b.concat(F)||b,[]),c=p.length;return p.forEach(b=>t.deleteRule(b)),c>0?console.info(`\u2714 Removed ${c} instance${c>1?"s":""} of selector ${g} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${g} does not exist in ${n.slice(4)}`)}function S(g,p){return g&&ne(g,String)&&g.trim().length>0&&ne(p,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function y(g){g=g.trim();let p=g.slice(0,g.indexOf("{")).trim(),c=!!f(p);try{return t.insertRule(`${g}`,t.cssRules.length),c}catch(b){return console.error(`StylingFactory ${n} (tryParse) ${b.name} Error:
4
- ${b.message}
5
- Rule: ${ve(g)}
6
- ${r}`),c}}function x(g,p,c){try{return g(),c}catch(b){return console.error(`StylingFactory ${n} (tryAddOrModify) ${b.name} Error:
7
- ${b.message}
8
- Rule: ${ve(p)}
9
- ${r}`),c}}return{sheet:t,removeRules:m,tryParseAtOrNestedRules:h,ruleExists:f,checkParams:S,tryParse:y,consider:x,currentSheetID:n}}function Ct(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${At(n)}`)}`}function ve(t){let e=(t||"NO RULE").trim().slice(0,50).replace(/\n/g,"\\n").replace(/\s{2,}/g," ");return t.length>e.length?`${e.trim()}...truncated`:e}function At(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
10
- `)}function $t(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function Dt(t,...e){let r=e.length&&Array.isArray(e.slice(-1))?e.pop().join(""):"";return new RegExp((e.length&&t.raw.reduce((n,o,l)=>n.concat(e[l-1]||"").concat(o),"")||t.raw.join("")).split(`
11
- `).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function ke(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function je(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function Ht(t){return t.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,r)=>`${r}\\3b`).split(";").map(e=>e.trim()).join(`;
1
+ var JQx=(()=>{var xe=Object.defineProperty;var ot=Object.getOwnPropertyDescriptor;var it=Object.getOwnPropertyNames;var lt=Object.prototype.hasOwnProperty;var st=(t,e)=>{for(var r in e)xe(t,r,{get:e[r],enumerable:!0})},at=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of it(e))!lt.call(t,o)&&o!==r&&xe(t,o,{get:()=>e[o],enumerable:!(n=ot(e,o))||n.enumerable});return t};var ct=t=>at(xe({},"__esModule",{value:!0}),t);var gr={};st(gr,{default:()=>mr});var{IS:a,maybe:ee,$Wrap:yr,xProxy:hr,isNothing:br}=ut();function ut(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),h();let t=b(),[e,r]=[f(),A()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...l){if(t({trial:m=>"isTypes"in(l?.[0]??{})})){let m=l[0];return"defaultValue"in m?g(i,m):"notTypes"in m?u(i,m):n(i,...[m.isTypes].flat())}let c=typeof i=="symbol"?Symbol.isSymbol:i;return l.length>1?w(c,...l):s(i,...l)}function o(i){return i?.[Symbol.proxy]??n(i)}function s(i,...l){let{noInput:c,noShouldbe:m,compareTo:x,inputCTOR:$,isNaN:R,isInfinity:j,shouldBeFirstElementIsNothing:k}=v(i,...l);switch(l=l.length&&l[0],!0){case k:return String(i)===String(x);case(i?.[Symbol.proxy]&&m):return i[Symbol.proxy];case R:return m?"NaN":t({trial:J=>String(x)})===String(i);case j:return m?"Infinity":t({trial:J=>String(x)})===String(i);case c:return m?String(i):String(x)===String(i);case $===Boolean:return l?$===l:"Boolean";default:return p(i,l,m,d(i,$))}}function d(i,l){return i===0?Number:i===""?String:i?l:{name:String(i)}}function v(i,...l){let c=l.length<1,m=!c&&l[0],x=!c&&y(l[0]),$=i==null,R=!$&&Object.getPrototypeOf(i)?.constructor,j=t({trial:J=>String(i)})==="NaN",k=t({trial:J=>String(i)})==="Infinity";return{noInput:$,noShouldbe:c,compareTo:m,inputCTOR:R,isNaN:j,isInfinity:k,shouldBeFirstElementIsNothing:x}}function p(i,l,c,m){switch(!0){case(!c&&l===i||i?.[Symbol.proxy]&&l===Proxy):return!0;case t({trial:x=>String(l)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(l,String)):return String(l)===i[Symbol.toStringTag];default:return l?t({trial:x=>i instanceof l})||l===m||l===Object.getPrototypeOf(m)||`${l?.name}`===m?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||m?.name||String(m)}}function w(i,...l){return l.some(c=>n(i,c))}function y(i,l=!1){let c=i==null;return c=l?c||n(i,1/0)||n(i,NaN):c,c}function b(){let i=(l,c)=>l?.constructor===Function?l(c):void 0;return function({trial:l,whenError:c=()=>{}}={}){try{return i(l)}catch(m){return i(c,m)}}}function f(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...l){return n(i,...l)},is(...l){return n(i,...l)}})}}function g(i,{defaultValue:l,isTypes:c=[void 0],notTypes:m}={}){return c=c?.constructor!==Array?[c]:c,m=m&&m?.constructor!==Array?[m]:[],m.length<1?n(i,...c)?i:l:u(i,{isTypes:c,notTypes:m})?i:l}function u(i,{isTypes:l=[void 0],notTypes:c=[void 0]}={}){return l=l?.constructor!==Array?[l]:l,c=c?.constructor!==Array?[c]:c,n(i,...l)&&!n(i,...c)}function h(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...l){return n(i,...l)},enumerable:!1,configurable:!1}}))}function S(i){let l=String(Object.getPrototypeOf(i)?.constructor);return l.slice(l.indexOf("ion")+3,l.indexOf("(")).trim()}function L(i){let l=i.set;return i.set=(c,m,x)=>m===Symbol.proxy?c[m]=x:l(c,m,x),i}function A(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(l,c){for(let x of c)x.set&&(x=L(x));let m=new l(...c);return m[Symbol.proxy]=`Proxy (${S(c[0])})`,m}})}}}}var Pe=mt(),z=ft(),W=dt();function ft(){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 dt(){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 mt(){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 Oe={html:"innerHTML",text:"textContent",class:"className"},te=gt();function gt(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case wt(n):return Me(e,n,r);default:return Me(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function Me(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?o=>vt(r):Lt(e)}}),t[e]}function pt(t,e,r){return e=e?.isJQx&&e.first()||e,ee({trial:n=>Et(e)?t.append(e):Re(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
2
+ `,n)})}function yt(t,e,...r){let n=ht(e,t);return r?.forEach(o=>pt(n,o,t)),n}function ht(t,e){switch(t=ve(e)?xt(t):t?.isJQx?t.first():t,!0){case a(t,String):return V(e,Re(t,e)?{html:t}:{text:t});case a(t,Node):return St(e,t);default:return V(e,t)}}function bt(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in Oe&&(t[Oe[r]]=t[e],delete t[e])}),t}function St(t,e){let r=V(t);return r.append(e),r}function V(t,e={}){e=Ie(e,{});let r=Object.entries(e.data??{}),n=Object.assign(ve(t)?new Comment(e?.text):document.createElement(t),bt(e));return r.length&&r.forEach(([o,s])=>n.dataset[o]=String(s)),n}function Ie(t,e){return e?a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:e}):a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function xt(t){return Ie(t)?t?.text??t?.textContent??"":String(t)}function vt(t){return V("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function Re(t,e){return!ve(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function Et(t){return t?.constructor===Comment||t?.constructor===CharacterData}function ve(t){return t?.constructor===Comment||/comment/i.test(t)}function wt(t){return!a(V(t),HTMLUnknownElement)}function Lt(t){return(e,...r)=>yt(t,e,...r)}var{IS:re,maybe:wr,$Wrap:Lr,xProxy:Fr,isNothing:Cr}=Ft();function Ft(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),h();let t=b(),[e,r]=[f(),A()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...l){if(t({trial:m=>"isTypes"in(l?.[0]??{})})){let m=l[0];return"defaultValue"in m?g(i,m):"notTypes"in m?u(i,m):n(i,...[m.isTypes].flat())}let c=typeof i=="symbol"?Symbol.isSymbol:i;return l.length>1?w(c,...l):s(i,...l)}function o(i){return i?.[Symbol.proxy]??n(i)}function s(i,...l){let{noInput:c,noShouldbe:m,compareTo:x,inputCTOR:$,isNaN:R,isInfinity:j,shouldBeFirstElementIsNothing:k}=v(i,...l);switch(l=l.length&&l[0],!0){case k:return String(i)===String(x);case(i?.[Symbol.proxy]&&m):return i[Symbol.proxy];case R:return m?"NaN":t({trial:J=>String(x)})===String(i);case j:return m?"Infinity":t({trial:J=>String(x)})===String(i);case c:return m?String(i):String(x)===String(i);case $===Boolean:return l?$===l:"Boolean";default:return p(i,l,m,d(i,$))}}function d(i,l){return i===0?Number:i===""?String:i?l:{name:String(i)}}function v(i,...l){let c=l.length<1,m=!c&&l[0],x=!c&&y(l[0]),$=i==null,R=!$&&Object.getPrototypeOf(i)?.constructor,j=t({trial:J=>String(i)})==="NaN",k=t({trial:J=>String(i)})==="Infinity";return{noInput:$,noShouldbe:c,compareTo:m,inputCTOR:R,isNaN:j,isInfinity:k,shouldBeFirstElementIsNothing:x}}function p(i,l,c,m){switch(!0){case(!c&&l===i||i?.[Symbol.proxy]&&l===Proxy):return!0;case t({trial:x=>String(l)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(l,String)):return String(l)===i[Symbol.toStringTag];default:return l?t({trial:x=>i instanceof l})||l===m||l===Object.getPrototypeOf(m)||`${l?.name}`===m?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||m?.name||String(m)}}function w(i,...l){return l.some(c=>n(i,c))}function y(i,l=!1){let c=i==null;return c=l?c||n(i,1/0)||n(i,NaN):c,c}function b(){let i=(l,c)=>l?.constructor===Function?l(c):void 0;return function({trial:l,whenError:c=()=>{}}={}){try{return i(l)}catch(m){return i(c,m)}}}function f(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...l){return n(i,...l)},is(...l){return n(i,...l)}})}}function g(i,{defaultValue:l,isTypes:c=[void 0],notTypes:m}={}){return c=c?.constructor!==Array?[c]:c,m=m&&m?.constructor!==Array?[m]:[],m.length<1?n(i,...c)?i:l:u(i,{isTypes:c,notTypes:m})?i:l}function u(i,{isTypes:l=[void 0],notTypes:c=[void 0]}={}){return l=l?.constructor!==Array?[l]:l,c=c?.constructor!==Array?[c]:c,n(i,...l)&&!n(i,...c)}function h(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...l){return n(i,...l)},enumerable:!1,configurable:!1}}))}function S(i){let l=String(Object.getPrototypeOf(i)?.constructor);return l.slice(l.indexOf("ion")+3,l.indexOf("(")).trim()}function L(i){let l=i.set;return i.set=(c,m,x)=>m===Symbol.proxy?c[m]=x:l(c,m,x),i}function A(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(l,c){for(let x of c)x.set&&(x=L(x));let m=new l(...c);return m[Symbol.proxy]=`Proxy (${S(c[0])})`,m}})}}}}var _=Ct;function Ct({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:o,sheet:s,removeRules:d,consider:v,currentSheetID:p}=Tt({styleSheet:t,createWithId:e});function w(u,h){if(u&&h.removeProperties){Object.keys(h.removeProperties).forEach(S=>u.style.removeProperty(je(S)));return}Object.entries(h).forEach(([S,L])=>{S=je(S.trim()),L=L.trim();let A;if(/!important/.test(L)&&(L=L.slice(0,L.indexOf("!important")).trim(),A="important"),!CSS.supports(S,L))return console.error(`StylingFactory ${p} error: '${S}' with value '${L}' not supported (yet)`);ke(()=>u.style.setProperty(S,L,A),`StylingFactory ${p} (setRule4Selector) failed`)})}function y(u,h,S=s){if(u=u?.trim?.(),!re(u,String)||!u.length||/[;,]$/g.test(u))return console.error(`StylingFactory ${p} (setRules): [${u||"[no selector given]"}] is not a valid selector`);if(h.removeRule)return d(u);let L=n(u,!0),A=L||S.cssRules[S.insertRule(`${u} {}`,S.cssRules.length||0)];return v(()=>w(A,h),u,L)}function b(u){let h=u.trim().split(/{/,2),S=h.shift().trim();if(!re(S,String)||!S?.trim()?.length)return console.error(`StylingFactory ${p} (doParse): no (valid) selector could be extracted from rule ${Ee(u)}`);let L=Ot(h.shift());return ke(()=>y(S,L),`StylingFactory ${p} (setRules) failed`)}function f(u){let h=r(u);return h.done?h.existing:b(u)}function g(u,h){return u.trim().startsWith("@media")?f($t(u,h)):y(u,h)}return function(u,h={}){return o(u,h)&&(Object.keys(h).length?g(u,h):f(u))}}function Tt({styleSheet:t,createWithId:e}){let r="Note: The rule or some of its properties may not be supported by your browser (yet)",n=`for style#${e}`;t=e?o(e):t;function o(f){let g=document.querySelector(`#${f}`)?.sheet;if(g)return g;let u=Object.assign(document.createElement("style"),{id:f});return document.head.insertAdjacentElement("beforeend",u),u.sheet}function s(f){return console.error(`StylingFactory ${n} [rule: ${f}]
3
+ => @charset, @namespace and @import are not supported here`),{done:!0}}function d(f,g){return[...t.rules].find(u=>g?Je(u.selectorText||"",f):Dt`${Ht(f)}${[..."gim"]}`.test(u.cssText))}function v(f){return/^@charset|@import|namespace/i.test(f.trim())?s(f):f.match(/}/g)?.length>1?{existing:y(f,1),done:!0}:{done:!1}}function p(f){let g=[...t.cssRules].reduce((h,S,L)=>Je(S.selectorText||"",f)&&h.concat(L)||h,[]),u=g.length;return g.forEach(h=>t.deleteRule(h)),u>0?console.info(`\u2714 Removed ${u} instance${u>1?"s":""} of selector ${f} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${f} does not exist in ${n.slice(4)}`)}function w(f,g){return f&&re(f,String)&&f.trim().length>0&&re(g,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function y(f){f=f.trim();let g=f.slice(0,f.indexOf("{")).trim(),u=!!d(g);try{return t.insertRule(`${f}`,t.cssRules.length),u}catch(h){return console.error(`StylingFactory ${n} (tryParse) ${h.name} Error:
4
+ ${h.message}
5
+ Rule: ${Ee(f)}
6
+ ${r}`),u}}function b(f,g,u){try{return f(),u}catch(h){return console.error(`StylingFactory ${n} (tryAddOrModify) ${h.name} Error:
7
+ ${h.message}
8
+ Rule: ${Ee(g)}
9
+ ${r}`),u}}return{sheet:t,removeRules:p,tryParseAtOrNestedRules:v,ruleExists:d,checkParams:w,tryParse:y,consider:b,currentSheetID:n}}function $t(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${At(n)}`)}`}function Ee(t){let e=(t||"NO RULE").trim().slice(0,50).replace(/\n/g,"\\n").replace(/\s{2,}/g," ");return t.length>e.length?`${e.trim()}...truncated`:e}function At(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
10
+ `)}function Ht(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function Dt(t,...e){let r=e.length&&Array.isArray(e.slice(-1))?e.pop().join(""):"";return new RegExp((e.length&&t.raw.reduce((n,o,s)=>n.concat(e[s-1]||"").concat(o),"")||t.raw.join("")).split(`
11
+ `).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function je(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function ke(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function Nt(t){return t.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,r)=>`${r}\\3b`).split(";").map(e=>e.trim()).join(`;
12
12
  `).replaceAll("\\3b",";").split(`
13
- `)}function Nt(t){return t.reduce((e,r)=>{let[n,o]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&o?{...e,[n]:o}:e},{})}function Pt(t){return Nt(Ht(t))}function Je(t,e){return t?.replace("::",":")===e?.replace("::",":")}var Ee=!1,Mt={on:()=>Ee=!0,off:()=>Ee=!1},P={tagsRaw:V,allowUnknownHtmlTags:Mt,isAllowed(t){if(Ee)return!0;let e=a(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!V[e]},allowTag:t=>V[t.toLowerCase()]=!0,prohibitTag:t=>V[t.toLowerCase()]=!1};var Ot=!0,oe={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};function It(t){if(Ot&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${I(n)} => ${o}`],[]).join("\\000A");L.error(`JQx: HTML creation error(s): ${e}`)}}function Rt(t){let e=t.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(e)&&!r.find(n=>n===e)||P.isAllowed(e)}function Q(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&Q(r),r?.attributes){let o=a(r,SVGElement)?W.svg:W.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let f=l.name.trim().toLowerCase(),h=l.value.trim().toLowerCase().replace(oe.whiteSpace,""),m=f==="href"?!oe.validURL.test(h):oe.notAllowedValues.test(h),S=f.startsWith("data")?!oe.data.test(f):!!o[f];if(m||S){let y=ie(l.value||"none",60);y+=y.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${y}`,r.removeAttribute(l.name)}})}if(!(Rt(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),l=ie(o,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),It(e),t}function kt(t){let e=document.createElement("div");return e.insertAdjacentHTML(T.end,t),e.childNodes.length?Q(e):void 0}function jt(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function z(t=[],e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,t.reduce((n,o)=>{let l=M(o)&&Jt(o,e,r);return l?[...n,l]:n},[])}function Jt(t,e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?jt(t,e,r):a(t,HTMLElement)?e.insertAdjacentElement(r,t):void 0}function $(t){if(a(t,Text,Comment))return t;let e=t?.trim(),r=e?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(o=>o.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(t.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(r);let n=kt(t);return n.childNodes.length<1?$(`<span data-jqxcreationerror="1">${D(t,60)}</span>`):n.children[0]}function le(t){if(t.node("#jqxPopup"))return;t.logger.log("JQx: [JQx].Popup first call. Dialog element created."),t.dialog({id:"jqxPopup"},t.div({id:"jqxPopupContent"})).render,t.editCssRules(...Pe);let[e,r]=[t("#jqxPopupContent"),t.node("#jqxPopup")],n={};return t.handle({type:"click, keydown",handlers:y,capture:!0}),Object.freeze({show:o,remove:l,removeModal:S});function o(p){if(r.open)switch(!0){case f(p):return;default:return l(),setTimeout(()=>o(p),200)}n={...p};let{content:c}=n;return t.IS(c,String,HTMLElement)||c?.isJQx?h():!0}function l(){return n.modal?g(n.warnMessage):m()}function f(p){for(let[c,b]of Object.entries(n))if(b!==p[c])return!1;return!0}function h(){e.clear();let{content:p,modal:c,closeAfter:b}=n;c=t.IS(c,Boolean)?c:!1;let w=c?"":t.div({id:"closeHandleIcon"});e.append(w,t.IS(p,String)?t.div(p):p),r.showModal(),!c&&t.IS(b,Number)&&x(l,b)}function m(){if(r.close(n.returnValue),t.IS(n.callback,Function))return setTimeout(()=>n.callback(n.returnValue),200);n={}}function S({callback:p,value:c}={}){n.returnValue=c,n.modal=!1,n.callback=p||n.callback,l()}function y(p){if(!(Object.keys(n).length<1||!r.open))return p.key==="Escape"&&p.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(p.target.closest("#closeHandleIcon")||!p.target.closest("#jqxPopupContent"))&&l(),!0}function x(p,c){t.IS(p,Function)&&t.IS(c,Number)&&c>0&&(n.activeTimer=setTimeout(p,c*1e3))}function g(p){if(!t.IS(p,String,HTMLElement,Proxy))return;let c=e.find$(".warn");switch(!0){case c.is.empty:c=t.div({class:"warn"},p);default:e.append(c.addClass("active")),x(()=>e.find$(".warn").removeClass("active"),2)}}}var H={},Bt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],Be=t=>!!Bt.find(e=>e===t);function se(t){return function(o){let{eventType:l,selector:f,callback:h,name:m,capture:S,once:y,canRemove:x}=o;switch(!0){case(!C(l)||!t.IS(h,Function)):default:m=m||!/handlers$/.test(h.name)&&h.name||void 0,S=t.IS(S,Boolean)?S:!1,y=t.IS(y,Boolean)?y:!1,x=C(m,4)&&t.IS(x,Boolean)?x:y;let{handler:g,signal:p,remove:c}=e({selector:f,callback:h,canRemove:x,once:y,name:m,eventType:l});return n({eventType:l,handler:g,capture:S,once:y,signal:p,remove:c,name:m})}};function e(o){let{selector:l,callback:f,canRemove:h,name:m,eventType:S,once:y}=o,x=(h||y)&&new AbortController,g=r({once:y,abortcontroller:x,name:m,eventType:S}),p=l?{handler:c=>{let b=c.target?.closest?.(l);return b&&f(c,t(b),g)},remove:g}:{handler:c=>f(c,c.target,g),remove:g};return x&&(p.signal=x.signal,y)?{handler:(c,b)=>{p.handler(c,b),g()}}:p}function r(o){let{once:l,abortcontroller:f,name:h,eventType:m}=o;return h?f?function(){f.abort();let y=[...H[m].entries()].find(([x,g])=>g.name===h);H[m].delete(y[0]),t.logger.log(`JQx: Listener for event type [${m}] with name [${h}] was removed${l?" (once active, so handled once).":""}`)}:function(S){t.logger.error(`JQx: listener for event type [${m}] with name [${h}] is not marked as removable`)}:function(){t.logger.error("JQx: an anonymous listener can not be removed")}}function n(o){let{eventType:l,handler:f,capture:h,once:m,signal:S,remove:y,name:x}=o;if(H[l]||(H[l]=new Map),!(H[l].has(f)||[...H[l].values()].find(p=>(p.name||"")===x))){let p={capture:h||Be(l),once:m||!1};S&&(p.signal=S),document.addEventListener(l,f,p);let c={name:x,remove:y,capture:h||Be(l)};H[l].set(f,c)}}}var L=zt(),T=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}})),Qt=[...Array(26)].map((t,e)=>String.fromCharCode(e+65)).concat([...Array(26)].map((t,e)=>String.fromCharCode(e+97))).concat([...Array(10)].map((t,e)=>`${e}`)),Fe=Object.freeze({get(t,e){return t[X(e)]||t[e]},enumerable:!1,configurable:!1});function ce(t){return t.startsWith("data")||W.html.find(e=>t.toLowerCase()===e)}function ue(t){return t&&(t.textContent="")}function G(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?G(t,e,r):e}function C(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function ie(t,e=120){return D(t,e).replace(/&lt;/g,"<")}function D(t,e=120){return`${t}`.trim().slice(0,e).replace(/>\s+</g,"><").replace(/</g,"&lt;").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(t.length>e?" &hellip;":"").trim()}function I(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function Qe(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function zt(){let t=!1,e=[],r={get on(){return t=!0,r},get off(){return t=!1,r},get backLog(){return e}};function n(...l){return e.unshift(...l.map(f=>`${we()} \u2A3B ${Qe(f)}`)),console.error(e.slice(0,l.length).join(`
14
- `)),r}function o(...l){switch(e.unshift(...l.map(f=>`${we()} \u2714 ${Qe(f)}`)),t){case!0:console.log(e.slice(0,l.length).join(`
15
- `));default:return r}}return Object.defineProperties(r,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}function we(){return(t=>`[${ae(t.getHours())}:${ae(t.getMinutes())}:${ae(t.getSeconds())}.${ae(t.getMilliseconds(),3)}]`)(new Date)}function Le(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=N(r),r.startsWith("data"))return fe(t,n);a(n,String)&&ce(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function fe(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${N(r)}`,n)}function de(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:M(t)?[t]:q(t)?t:t.isJQx?t.collection:void 0:[]}function me(t,e){return t.andThen(e)}function ge(t,e){return t.andThen(e,!0)}function M(t){return a(t,Text,HTMLElement,Comment)}function Z(t,e){if(a(e,Object))for(let[r,n]of Object.entries(e)){let o;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),o="important"),t.style.setProperty(N(r),n,o)}}function R(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function ze(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),o=[e.display,r.display].includes("none"),l=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,f=+r.opacity==0||+(e.opacity||1)==0;return!(l||f||o||n)}function We(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function pe(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(Ce(r)?`<!--${r.data}-->`:ye(r)?r.textContent:r.outerHTML),"")}function ae(t,e=2){return`${t}`.padStart(e,"0")}function Ve(t,e=0){return[t,e]=[Math.floor(t),Math.ceil(e)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(t-e+1)+e)}function Y(){return`_${Wt(Qt).slice(0,8).join("")}`}function Te(t){return t=a(t,String)&&/,/.test(t)?t.split(","):t,a(t,Array)?t.filter(e=>C(e)).map(e=>e.trim().toLowerCase()):a(t,String)&&t?.trim().toLowerCase()||""}function Ue(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function Wt(t){let e=t.length;for(;e--;){let r=Ve(e);[t[e],t[r]]=[t[r],t[e]]}return t}function X(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Vt(e)}`||e).join(""):t}function N(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Vt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function ye(t){return a(t,Comment,Text)}function Ce(t){a(t,Comment)}function _e(t){return a(t,Text)}function K(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function q(t){return a(t,Array)&&!t?.find(e=>!M(e))}function be(t){return a(t,Array)&&!t?.find(e=>!K(e))}function E(t,e){let r=t.collection.filter(n=>!ye(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Ae(t,e,r){let n=e!==document.body&&a(t,String)&&t.toLowerCase()!=="body"?e:document,o;try{r.collection=[...n.querySelectorAll(t)]}catch{o=`Invalid CSS querySelector. [${a(t,String)?t:"Nothing valid given!"}]`}let l=r.collection.length;return l<1?`CSS querySelector "${t}", output: nothing`:o??`CSS querySelector "${t}", output ${l} element${l>1?"s":""}`}function $e(t){let e=t.data.get("hid")||`HID${Y()}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Ge(){return{isCommentOrTextNode:ye,isNode:M,isComment:Ce,isText:_e,isHtmlString:K,isArrayOfHtmlElements:q,isArrayOfHtmlStrings:be,ElemArray2HtmlString:pe,input2Collection:de,setCollectionFromCssSelector:Ae,addHandlerId:$e,cssRuleEdit:_({createWithId:"JQxStylesheet"})}}function Ze(){let e=Object.freeze({notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return a(n,Node)?Object.freeze({get writable(){return We(n)},get modal(){return Ue(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return ze(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function Ye(t,e,r,n){r&&a(e,String)&&(e={[e]:r==="-"?"":r});let o;e.className&&(o=e.className,delete e.className),o=[...t.classList].find(f=>f.startsWith("JQxClass-")||o&&f===o)||o||`JQxClass-${Y().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}var Ut=Ze();function Xe(t){return{factoryExtensions:_t(t),instanceExtensions:Gt(t)}}function _t(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Fe)},set:(r={})=>{if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},get:(r,n)=>e.data.all[r]??n,add:(r={})=>{if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},remove:r=>(e[0]?.removeAttribute(`data-${N(r)}`),e)}),dimensions:e=>{if(e.is.empty)return{error:"[instance].dimensions: NO ELEMENTS"};let r=e[0],n=e.first()?.getBoundingClientRect().toJSON();return n.scrollTopDistance=G(r,0),n.scrollLeftDistance=G(r,0,!1),n},node:e=>e[0],HTML:e=>({get:(r,n)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=r?e.outerHtml:e.html();return n?I(o):o},set:(r,n=!1,o=!1)=>{r=r.isJQx?r.HTML.get(1):r;let l=a(r,String);return r=l&&o?I(r):r,l&&(r||"").trim().length&&e.html(r,n),e},replace:(r,n=!1)=>e.HTML.set(r,!1,n),append:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)),insert:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n))}),is:e=>Ut(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let r=t(e[0]?.parentNode);return r.is.empty?e:r},render:e=>(!e.is.empty&&e.toDOM()||t.log("[JQx.render]: empty collection"),e),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:r=>e.style(r),inSheet:r=>e.css(r),valueOf:r=>e.is.empty?void 0:getComputedStyle(e[0])[N(r)],nwRule:r=>e.Style.byRule({rules:r}),byRule:({classes2Apply:r=[],rules:n=[]}={})=>{let l=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let f of r)e.addClass(f);return l?.startsWith(".")&&e.addClass(l.slice(1)),l?.startsWith("#")&&!e.attr("id")&&e.prop({id:l.slice(1)}),e}})}}function Gt(t){return{addClass:(e,...r)=>E(e,n=>n&&r.forEach(o=>n.classList.add(o))),after:me,afterMe:me,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return L.log(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${r}]`),e;r=r?.isJQx?r.collection:a(r,Node)?t.virtual(r).collection:t.virtual($(r)).collection;let[o,l,f]=n?[0,"before",r.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r)];return e[o][l](...r),e.collection=f,e},append:(e,...r)=>{if(!e.is.empty&&r.length){let n=e.length===1;for(let o of r){if(!o.isJQx&&C(o)){let l=o.trim(),h=!/^<(.+)[^>]+>$/m.test(l)?t.text(o):$(o);E(e,m=>m.append(n?h:R(h)))}M(o)&&E(e,l=>l.append(n?o:R(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(f=>l.append(n?f:R(f))))}}return e},appendTo:(e,r)=>(r.isJQx||(r=t(r)),r.append(e),e),attr:(e,r,n)=>{let o=e[0];if(!o)return e;if(!n&&C(r))return r=N(r),r==="class"?[...o?.classList].join(" "):o?.getAttribute(r);if(C(r)&&n)switch(r=N(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&Le(o,r),e},before:ge,beforeMe:ge,clear:e=>E(e,ue),closest:(e,r)=>{let n=C(r)?e[0].closest(r):null;return n?t(n):e},computedStyle:(e,r)=>e.first()&&getComputedStyle(e.first())[r],css:(e,r,n)=>E(e,o=>Ye(o,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{if(e.collection.length>0){let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(l=>{l.removeAttribute&&l?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}return L.error("Duplicating an empty JQx instance is not possible"),e},each:(e,r)=>E(e,r),empty:e=>E(e,ue),find:(e,r)=>e.collection.length>0?[...e.first()?.querySelectorAll(r)]:[],find$:(e,r)=>e.collection.length>0?t(r,e):e,first:(e,r=!1)=>{if(e.collection.length>0)return r?e.single():e.collection[0]},first$:(e,r)=>e.single(r),getData:(e,r,n)=>e.first()&&e.first().dataset?.[r]||n,hasClass:(e,...r)=>{let n=e[0];return!n||!n.classList.length?!1:r.find(o=>n.classList.contains(o))&&!0||!1},hide:e=>E(e,r=>Z(r,{display:"none !important"})),html:(e,r,n)=>{if(r===void 0){let o=e.node;return o?.getHTML&&o.getHTML()||""}if(!e.isEmpty()){let o=$(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);if(!a(o,Comment))return E(e,f=>(n||(f.textContent=""),f.insertAdjacentHTML(t.at.end,o.getHTML())))}return e},htmlFor:(e,r,n="",o=!1)=>{if(r&&e.collection.length){if(!r||!C(n))return e;let l=e.find$(r);if(l.length<1)return e;let f=$(`<span>${n}</span>`);l.each(h=>{o||(h.textContent=""),h.insertAdjacentHTML(t.at.end,f?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,r)=>e.single(r),on:(e,r,...n)=>{if(e.collection.length&&a(r,String,Array)){if(r?.length<1||n.length<1)return e;let o=$e(e);t.handle({type:r,selector:o,handlers:n})}return e},prepend:(e,...r)=>{if(!e.is.empty&&r){let n=e.length===1;for(let o of r){if(C(o)){o=o.trim();let f=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):$(o);f=n?f:R(f),E(e,h=>h.prepend(f.cloneNode(!0)))}M(o)&&E(e,l=>l.prepend(n?o:R(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,f=>l.prepend(n?f:R(f)))),o.collection.reverse())}}return e},prependTo:(e,r)=>(r.isJQx||(r=t.virtual(r)),r.prepend(e),e),prop:(e,r,n)=>{if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let o=a(r,Object)?r:{[r]:n};for(let[l,f]of Object.entries(o)){if(l=l.trim(),f&&!ce(l)||!f)return!1;if(l.toLowerCase()==="id")return e[0].id=f;E(e,m=>{if(l.startsWith("data"))return m.dataset[l.slice(l.indexOf("-")+1)]=f;m[l]=f})}return e},remove:(e,r)=>{L.log(`remove ${D(e.HTML.get(1),40)}${r?` /w selector ${r}`:""}`);let n=l=>l.remove(),o=()=>e.collection=e.collection.filter(l=>document.documentElement.contains(l));if(r){let l=e.find$(r);return l.is.empty||(E(l,n),o()),e}return E(e,n),o(),e},rmAttr:(e,...r)=>{for(let n of r)e.node.removeAttribute(n);return e},removeClass:(e,...r)=>E(e,n=>{if(n)for(let o of r)n.classList.remove(o)}),renderTo:(e,r=document.body,n=t.at.end)=>(e.first$().toDOM(r,n),e),replace:(e,r,n)=>{let o=e[0];return!r||!n||!a(n,HTMLElement)&&!n.isJQx?(console.error("JQx replace: invalid replacement value"),e):(n.isJQx&&(n=n[0]),a(n,NodeList)&&(n=n[0]),o&&r&&(r=a(r,String)?o.querySelectorAll(r):r.isJQx?r.collection:r,a(r,HTMLElement,NodeList,Array)&&a(n,HTMLElement)&&(a(r,HTMLElement)?[r]:[...r]).forEach(l=>l.replaceWith(n.cloneNode(!0)))),e)},replaceClass:(e,r,...n)=>E(e,o=>{o.classList.remove(r);for(let l of n)o.classList.add(l)}),replaceMe:(e,r)=>e.replaceWith(r),replaceWith:(e,r)=>(r=a(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e),setData:(e,r)=>E(e,n=>fe(n,r)),show:e=>E(e,r=>Z(r,{display:"revert-layer !important"})),single:(e,r)=>e.collection.length>0?a(r,String)?e.find$(r):a(r,Number)?t(e.collection[r]):t(e.collection[0]):e,style:(e,r,n)=>E(e,l=>{n&&a(r,String)&&(r={[r]:n||"none"}),Z(l,r)}),text:(e,r,n=!1)=>e.isEmpty()?e:a(r,String)?E(e,l=>l.textContent=n?l.textContent+r:r):e.first().textContent,toDOM:(e,r=document.body,n=T.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),z(e.collection,r,n),e),toggleClass:(e,r)=>E(e,n=>n.classList.toggle(r)),toNodeList:e=>[...e.collection].map(r=>document.importNode(r,!0)),trigger:(e,r,n=Event,o={})=>{if(e.collection.length){let l=new n(r,{...o,bubbles:o.bubbles??!0});for(let f of e.collection)f.dispatchEvent(l)}return e},val:(e,r)=>{let n=e[0];return!n||!a(n,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:r===void 0?n.value:(n.value=a(r,String)?r:"",e)}}}var De,he,{isComment:tn,isText:rn,isHtmlString:nn,isArrayOfHtmlElements:on,isArrayOfHtmlStrings:ln,ElemArray2HtmlString:sn,addHandlerId:an,cssRuleEdit:He,addFn:Zt}=Yt();function Yt(){return{...Ge(),addFn:function(t,e){return L.log(`JQx: added extension function [${t}]`),he[t]=(r,...n)=>e(r,...n)}}}function ee(t){return new Proxy(t,Object.freeze({get:(e,r)=>Xt(e,r,t)}))}function Ke(t,e){return(...r)=>a(t,Function)&&t(ee(e),...r)}function Xt(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in De:return Ke(De[e],r)();case e in he:return Ke(he[e],r);default:return t[e]}}function tt(t){let e=rr(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function Kt(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?X(e):e.toLowerCase(),P.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Ne(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),P.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,Ne(e,!1,t))}}}function qe(...t){if(t.length===1){let e=String(t.shift().trim());t=e.startsWith("!")?[e.slice(1,-1)]:e.split(",").map(r=>r.trim())}for(let e of t.map(r=>r.startsWith("!")?r.slice(1,-1):r))He(e,{removeRule:1})}function qt(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(l=>n===l);let o=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let l of o.collection)n?r.insertAdjacentElement(n,l):r.append(l);return o}}function er(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,l]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...l,enumerable:!1})}return e}function tr(t,e,r,n){return t=N(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(Q(re[t](...o)))},enumerable:!1,configurable:!0}}function Ne(t,e,r,n){t=t.toLowerCase();let o=tr(t,e,r,n);return n?{[n]:o,[X(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function rr(t){return er(Object.entries(P.tagsRaw).reduce(nr(t),{}),cr(t))}function nr(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Ne(r,n,t)),e}}function or(t){return function(e,r,...n){a(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function ir(t){return function(e){let{type:r,origin:n,selector:o,handlers:l,name:f,capture:h,once:m,canRemove:S}=e,y=Te(r),x=f;l=a(l,Function)?[l]:l,S=a(S,Boolean)?S:!1;let g={eventType:y,selector:o||n,capture:h,name:x,once:m,canRemove:S};switch(!0){case(a(y,Array)&&y.length>0):for(let p of y)g.eventType=p,et(l,g,t);break;default:return et(l,g,t)}}}function et(t,e,r){for(let n of t)r({...e,callback:n})}function lr(t,e){return e=C(e)&&e,t=C(t)&&t,e&&t&&[...H[t].values()].find(r=>(r.name||"")===e)}function sr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:le(t),enumerable:!1}),t.activePopup}function ar(t){let e=(m,S)=>He(m,S),r=m=>_({createWithId:m||`jqx${Y()}`}),n=(...m)=>{for(let S of m)He(S)},o=Kt(t),l=se(t),f=ir(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:f,log:(...m)=>L.on.log(...m).off}}function cr(t){let{factoryExtensions:e,instanceExtensions:r}=Xe(t);De=e,he=r;let{editCssRule:n,createStyle:o,editCssRules:l,allowProhibit:f,handle:h,capturedHandling:m,log:S}=ar(t);return{log:S,editCssRules:l,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:I,logger:L,text:(y,x=!1)=>x?t.comment(y):document.createTextNode(y),node:(y,x=document)=>x.querySelector(y,x),nodes:(y,x=document)=>[...x.querySelectorAll(y,x)],get getNamedListener(){return lr},get virtual(){return qt(t)},get allowTag(){return f.allow},get prohibitTag(){return f.prohibit},get removeCssRule(){return qe},get removeCssRules(){return qe},get delegate(){return or(m)},get delegateCaptured(){return m},get handle(){return m},get at(){return T},get setStyle(){return n},get fn(){return Zt},get lenient(){return P.allowUnknownHtmlTags},get IS(){return a},get Popup(){return sr(t)}}}var rt=tt(ur());function ur(){return function(e,r,n=T.BeforeEnd){if(e?.isJQx)return e;let o=a(r,HTMLBRElement);r=(!o&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(T).find(g=>n===g)?n:void 0;let l=K(e),f=!l&&be(e),h=f||l,m={collection:de(e)??[],isVirtual:o,isJQx:!0},S=q(m.collection),y=`JQx: input =&gt; ${f?`"${D(e.join(", "),70)}"`:!h&&S?`element collection [${D(m.collection.map(g=>`${a(g,Comment,Text)?"Comment|Text @":""} ${g?.outerHTML||g?.textContent}`).join(", "),70)}]`:`"${D(e,70)}"`}`;if(m.collection.length&&S)return L.log(y),o||m.collection.forEach(g=>{r.contains(g)||z([g],r,n)}),ee(m);if(h){if([e].flat().forEach(g=>m.collection.push($(g))),m.collection.length>0){let g=m.collection.filter(p=>p?.dataset?.jqxcreationerror);m.collection=m.collection.filter(p=>!p?.dataset?.jqxcreationerror),L.log(`${y}`),L.log(`JQx: created ${m.isVirtual?"VIRTUAL ":""}[${D(pe(m.collection).trim()||"sanitized: no elements remaining",70)}]`),m.isVirtual||z(m.collection,r,n)}return ee(m)}let x=Ae(e,r,m);return L.log(`JQx: input => ${x}`),ee(m)}}var fr=rt;return at(dr);})();
13
+ `)}function Pt(t){return t.reduce((e,r)=>{let[n,o]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&o?{...e,[n]:o}:e},{})}function Ot(t){return Pt(Nt(t))}function Je(t,e){return t?.replace("::",":")===e?.replace("::",":")}var we=!1,Mt={on:()=>we=!0,off:()=>we=!1},P={tagsRaw:W,allowUnknownHtmlTags:Mt,isAllowed(t){if(we)return!0;let e=a(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!W[e]},allowTag:t=>W[t.toLowerCase()]=!0,prohibitTag:t=>W[t.toLowerCase()]=!1};var It=!0,ne={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};function Rt(t){if(It&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${M(n)} => ${o}`],[]).join("\\000A");C.error(`JQx: HTML creation error(s): ${e}`)}}function jt(t){let e=t.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(e)&&!r.find(n=>n===e)||P.isAllowed(e)}function Q(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&Q(r),r?.attributes){let o=a(r,SVGElement)?z.svg:z.html;[...(r??{attributes:[]}).attributes].forEach(s=>{let d=s.name.trim().toLowerCase(),v=s.value.trim().toLowerCase().replace(ne.whiteSpace,""),p=d==="href"?!ne.validURL.test(v):ne.notAllowedValues.test(v),w=d.startsWith("data")?!ne.data.test(d):!!o[d];if(p||w){let y=oe(s.value||"none",60);y+=y.length===60?"...":"",e.removed[`${s.name}`]=`attribute/property/value not allowed, removed. Value: ${y}`,r.removeAttribute(s.name)}})}if(!(jt(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),s=oe(o,60)??"EMPTY";s+=s.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${s}`,r.remove()}}),Rt(e),t}function kt(t){let e=document.createElement("div");return e.insertAdjacentHTML(T.end,t),e.childNodes.length?Q(e):void 0}function Jt(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function B(t=[],e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e.node:e||document.body,t.reduce((n,o)=>{let s=O(o)&&Qt(o,e,r);return s?[...n,s]:n},[])}function Qt(t,e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?Jt(t,e,r):a(t,HTMLElement)?e.insertAdjacentElement(r,t):void 0}function H(t){if(a(t,Text,Comment))return t;let e=t?.trim(),r=e?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(o=>o.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(t.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(r);let n=kt(t);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${D(t,60)}</span>`):n.children[0]}function ie(t){if(t.node("#jqxPopup"))return;t.logger.log("JQx: [JQx].Popup first call. Dialog element created."),t.dialog({id:"jqxPopup"},t.div({id:"jqxPopupContent"})).render,t.editCssRules(...Pe);let[e,r]=[t("#jqxPopupContent"),t.node("#jqxPopup")],n={};return t.handle({type:"click, keydown",handlers:y,name:"genericPopupCloseHandler",capture:!0,about:"A generic handler for JQx popups"}),Object.freeze({show:o,remove:s,removeModal:w});function o(g){if(r.open)switch(!0){case d(g):return;default:return s(),setTimeout(()=>o(g),200)}n={...g};let{content:u}=n;return t.IS(u,String,HTMLElement)||u?.isJQx?v():!0}function s(){return n.modal?f(n.warnMessage):p()}function d(g){for(let[u,h]of Object.entries(n))if(h!==g[u])return!1;return!0}function v(){e.clear();let{content:g,modal:u,closeAfter:h}=n;u=t.IS(u,Boolean)?u:!1;let S=u?"":t.div({id:"closeHandleIcon"});e.append(S,t.IS(g,String)?t.div(g):g),r.showModal(),!u&&t.IS(h,Number)&&b(s,h)}function p(){if(r.close(n.returnValue),t.IS(n.callback,Function))return setTimeout(()=>n.callback(n.returnValue),200);n={}}function w({callback:g,value:u}={}){n.returnValue=u,n.modal=!1,n.callback=g||n.callback,s()}function y({evt:g}){if(!(Object.keys(n).length<1||!r.open))return g.key==="Escape"&&g.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(g.target.closest("#closeHandleIcon")||!g.target.closest("#jqxPopupContent"))&&s(),!0}function b(g,u){t.IS(g,Function)&&t.IS(u,Number)&&u>0&&(n.activeTimer=setTimeout(g,u*1e3))}function f(g){if(!t.IS(g,String,HTMLElement,Proxy))return;let u=e.find$(".warn");switch(!0){case u.is.empty:u=t.div({class:"warn"},g);default:e.append(u.addClass("active")),b(()=>e.find$(".warn").removeClass("active"),2)}}}function le(t){let e={},r="anonymous_";function n(y){if(y){let{handler:b,capture:f,type:g}=y;document.addEventListener(g,b,{capture:f})}}function o(y){if(y){let{type:b,handler:f,capture:g}=y;document.removeEventListener(b,f,{capture:g})}}function s(y,b,f,g){return function(u){if(!F(b))return y({evt:u});let h=u.target.closest(b);if(h){let S=t(h);y({self:S,me:S,evt:u}),f&&p(u.type,g)}return!0}}function d(y){return e[y]=e[y]||{},e[y]}function v(y,b){return Object.entries(d(y)).find(([f])=>f===b)}function p(y,b){let f=v(y,b);f&&(o(f[1]),delete e[y][b],delete se[b],Object.keys(e[y]).length<1&&delete e[y],console.warn(`Removed listener [${b}] for event type [${y}].`))}function w(y){let{type:b,handler:f,name:g,capture:u,once:h,selector:S,node:L,about:A}=y;e[b]=e[b]||{};let i=U(g||f.name);if(L instanceof HTMLElement){let l=L.dataset.hid||i;L.dataset.hid=l,S=`[data-hid=${l}]`}switch(!0){case!e[b][i]:return e[b][i]={name:i,handler:s(f,S,h,i),capture:Qe(b,u),once:!!h,type:b,selector:!!S&&S||!1,about:!!A&&A||!1,unListen(){p(b,i)}},e[b][i];default:return console.error(`The name [${i}] for [${b}] exists. Use unique (function) names.`)}}return{remove(...y){return p(...y)},listen:function(y){let{type:b,handler:f}=y;if(!F(b)||!a(f,Function))return;let g=w(y);if(g)return n(g),{type:b,name:g.name,unListen(){p(b,g.name)}}},get ListenerStore(){return Object.freeze({...e})}}}var C=Wt(),Bt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],T=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}})),zt=[...Array(26)].map((t,e)=>String.fromCharCode(e+65)).concat([...Array(26)].map((t,e)=>String.fromCharCode(e+97))).concat([...Array(10)].map((t,e)=>`${e}`)),Fe=Object.freeze({get(t,e){return t[Y(e)]||t[e]},enumerable:!1,configurable:!1}),se={};function U(t){return F(t)&&!!t&&!/^handler|handlers$/gi.test(t.trim())?t.trim():ze()}function ze(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return se[e]?ze():(se[e]=e,e)}function Qe(t,e){return!!Bt.find(r=>r===t)||!!e}function ce(t){return t.startsWith("data")||z.html.find(e=>t.toLowerCase()===e)}function ue(t){return t&&(t.textContent="")}function G(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?G(t,e,r):e}function F(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function oe(t,e=120){return D(t,e).replace(/&lt;/g,"<")}function D(t,e=120){return`${t}`.trim().slice(0,e).replace(/>\s+</g,"><").replace(/</g,"&lt;").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(t.length>e?" &hellip;":"").trim()}function M(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function Be(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function Wt(){let t=!1,e=[],r={get on(){return t=!0,r},get off(){return t=!1,r},get backLog(){return e}};function n(...s){return e.unshift(...s.map(d=>`${Le()} \u2A3B ${Be(d)}`)),console.error(e.slice(0,s.length).join(`
14
+ `)),r}function o(...s){switch(e.unshift(...s.map(d=>`${Le()} \u2714 ${Be(d)}`)),t){case!0:console.log(e.slice(0,s.length).join(`
15
+ `));default:return r}}return Object.defineProperties(r,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}function Le(){return(t=>`[${ae(t.getHours())}:${ae(t.getMinutes())}:${ae(t.getSeconds())}.${ae(t.getMilliseconds(),3)}]`)(new Date)}function Ce(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=N(r),r.startsWith("data"))return fe(t,n);a(n,String)&&ce(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function fe(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${N(r)}`,n)}function de(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:O(t)?[t]:K(t)?t:t.isJQx?t.collection:void 0:[]}function me(t,e){return t.andThen(e)}function ge(t,e){return t.andThen(e,!0)}function O(t){return a(t,Text,HTMLElement,Comment)}function Z(t,e){if(a(e,Object))for(let[r,n]of Object.entries(e)){let o;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),o="important"),t.style.setProperty(N(r),n,o)}}function I(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function We(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),o=[e.display,r.display].includes("none"),s=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,d=+r.opacity==0||+(e.opacity||1)==0;return!(s||d||o||n)}function Ve(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function pe(t){return t?.filter(e=>e).reduce((e,r)=>e.concat($e(r)?`<!--${r.data}-->`:he(r)?r.textContent:r.outerHTML),"")}function ae(t,e=2){return`${t}`.padStart(e,"0")}function _e(t,e=0){return[t,e]=[Math.floor(t),Math.ceil(e)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(t-e+1)+e)}function ye(){return`_${Vt(zt).slice(0,8).join("")}`}function Te(t){return t=a(t,String)&&/,/.test(t)?t.split(","):t,a(t,Array)?t.filter(e=>F(e)).map(e=>e.trim().toLowerCase()):a(t,String)&&t?.trim().toLowerCase()||""}function Ue(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function Vt(t){let e=t.length;for(;e--;){let r=_e(e);[t[e],t[r]]=[t[r],t[e]]}return t}function Y(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${_t(e)}`||e).join(""):t}function N(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function _t([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function he(t){return a(t,Comment,Text)}function $e(t){a(t,Comment)}function Ge(t){return a(t,Text)}function X(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function K(t){return a(t,Array)&&!t?.find(e=>!O(e))}function be(t){return a(t,Array)&&!t?.find(e=>!X(e))}function E(t,e){let r=t.collection.filter(n=>!he(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Ae(t,e,r){let n=e!==document.body&&a(t,String)&&t.toLowerCase()!=="body"?e:document,o;try{r.collection=[...n.querySelectorAll(t)]}catch{o=`Invalid CSS querySelector. [${a(t,String)?t:"Nothing valid given!"}]`}let s=r.collection.length;return s<1?`CSS querySelector "${t}", output: nothing`:o??`CSS querySelector "${t}", output ${s} element${s>1?"s":""}`}function Ut(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Ze(){return{isCommentOrTextNode:he,isNode:O,isComment:$e,isText:Ge,isHtmlString:X,isArrayOfHtmlElements:K,isArrayOfHtmlStrings:be,ElemArray2HtmlString:pe,input2Collection:de,setCollectionFromCssSelector:Ae,addHandlerId:Ut,cssRuleEdit:_({createWithId:"JQxStylesheet"})}}function Ye(){let e=Object.freeze({notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return a(n,Node)?Object.freeze({get writable(){return Ve(n)},get modal(){return Ue(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return We(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function Xe(t,e,r,n){r&&a(e,String)&&(e={[e]:r==="-"?"":r});let o;e.className&&(o=e.className,delete e.className),o=[...t.classList].find(d=>d.startsWith("JQxClass-")||o&&d===o)||o||`JQxClass-${ye().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}var Gt=Ye();function Ke(t){return{factoryExtensions:Zt(t),instanceExtensions:Yt(t)}}function Zt(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Fe)},set:(r={})=>{if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},get:(r,n)=>e.data.all[r]??n,add:(r={})=>{if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},remove:r=>(e[0]?.removeAttribute(`data-${N(r)}`),e)}),dimensions:e=>{if(e.is.empty)return{error:"[instance].dimensions: NO ELEMENTS"};let r=e[0],n=e.first()?.getBoundingClientRect().toJSON();return n.scrollTopDistance=G(r,0),n.scrollLeftDistance=G(r,0,!1),n},node:e=>e[0],HTML:e=>({get:(r,n)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=r?e.outerHtml:e.html();return n?M(o):o},set:(r,n=!1,o=!1)=>{r=r.isJQx?r.HTML.get(1):r;let s=a(r,String);return r=s&&o?M(r):r,s&&(r||"").trim().length&&e.html(r,n),e},replace:(r,n=!1)=>e.HTML.set(r,!1,n),append:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)),insert:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n))}),is:e=>Gt(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let r=t(e[0]?.parentNode);return r.is.empty?e:r},render:e=>(!e.is.empty&&e.toDOM()||t.log("[JQx.render]: empty collection"),e),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:r=>e.style(r),inSheet:r=>e.css(r),valueOf:r=>e.is.empty?void 0:getComputedStyle(e[0])[N(r)],nwRule:r=>e.Style.byRule({rules:r}),byRule:({classes2Apply:r=[],rules:n=[]}={})=>{let s=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let d of r)e.addClass(d);return s?.startsWith(".")&&e.addClass(s.slice(1)),s?.startsWith("#")&&!e.attr("id")&&e.prop({id:s.slice(1)}),e}})}}function Yt(t){return{addClass:(e,...r)=>E(e,n=>n&&r.forEach(o=>n.classList.add(o))),after:me,afterMe:me,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return C.log(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${r}]`),e;r=r?.isJQx?r.collection:a(r,Node)?t.virtual(r).collection:t.virtual(H(r)).collection;let[o,s,d]=n?[0,"before",r.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r)];return e[o][s](...r),e.collection=d,e},append:(e,...r)=>{if(!e.is.empty&&r.length){let n=e.length===1;for(let o of r){if(!o.isJQx&&F(o)){let s=o.trim(),v=!/^<(.+)[^>]+>$/m.test(s)?t.text(o):H(o);E(e,p=>p.append(n?v:I(v)))}O(o)&&E(e,s=>s.append(n?o:I(o))),o.isJQx&&!o.is.empty&&E(e,s=>o.collection.forEach(d=>s.append(n?d:I(d))))}}return e},appendTo:(e,r)=>(r.isJQx||(r=t(r)),r.append(e),e),attr:(e,r,n)=>{let o=e[0];if(!o)return e;if(!n&&F(r))return r=N(r),r==="class"?[...o?.classList].join(" "):o?.getAttribute(r);if(F(r)&&n)switch(r=N(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&Ce(o,r),e},before:ge,beforeMe:ge,clear:e=>E(e,ue),closest:(e,r)=>{let n=F(r)?e[0].closest(r):null;return n?t(n):e},computedStyle:(e,r)=>e.first()&&getComputedStyle(e.first())[r],css:(e,r,n)=>E(e,o=>Xe(o,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{if(e.collection.length>0){let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(s=>{s.removeAttribute&&s?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}return C.error("Duplicating an empty JQx instance is not possible"),e},each:(e,r)=>E(e,r),empty:e=>E(e,ue),find:(e,r)=>e.collection.length>0?[...e.first()?.querySelectorAll(r)]:[],find$:(e,r)=>e.collection.length>0?t(r,e):e,first:(e,r=!1)=>{if(e.collection.length>0)return r?e.single():e.collection[0]},first$:(e,r)=>e.single(r),getData:(e,r,n)=>e.first()&&e.first().dataset?.[r]||n,hasClass:(e,...r)=>{let n=e[0];return!n||!n.classList.length?!1:r.find(o=>n.classList.contains(o))&&!0||!1},hide:e=>E(e,r=>Z(r,{display:"none !important"})),html:(e,r,n)=>{if(r===void 0){let o=e.node;return o?.getHTML&&o.getHTML()||""}if(!e.isEmpty()){let o=H(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);if(!a(o,Comment))return E(e,d=>(n||(d.textContent=""),d.insertAdjacentHTML(t.at.end,o.getHTML())))}return e},htmlFor:(e,r,n="",o=!1)=>{if(r&&e.collection.length){if(!r||!F(n))return e;let s=e.find$(r);if(s.length<1)return e;let d=H(`<span>${n}</span>`);s.each(v=>{o||(v.textContent=""),v.insertAdjacentHTML(t.at.end,d?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,r)=>e.single(r),on:(e,r,...n)=>{if(e.collection.length&&a(r,String,Array)){if(!F(r)||n.length<1)return e;t.handle({type:r,node:e.node,handlers:n})}return e},once:(e,r,...n)=>{if(e.collection.length&&a(r,String,Array)){if(!F(r)||n.length<1)return e;t.handle({type:r,once:!0,node:e.node,handlers:n})}return e},prepend:(e,...r)=>{if(!e.is.empty&&r){let n=e.length===1;for(let o of r){if(F(o)){o=o.trim();let d=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):H(o);d=n?d:I(d),E(e,v=>v.prepend(d.cloneNode(!0)))}O(o)&&E(e,s=>s.prepend(n?o:I(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,s=>E(o,d=>s.prepend(n?d:I(d)))),o.collection.reverse())}}return e},prependTo:(e,r)=>(r.isJQx||(r=t.virtual(r)),r.prepend(e),e),prop:(e,r,n)=>{if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let o=a(r,Object)?r:{[r]:n};for(let[s,d]of Object.entries(o)){if(s=s.trim(),d&&!ce(s)||!d)return!1;if(s.toLowerCase()==="id")return e[0].id=d;E(e,p=>{if(s.startsWith("data"))return p.dataset[s.slice(s.indexOf("-")+1)]=d;p[s]=d})}return e},remove:(e,r)=>{C.log(`remove ${D(e.HTML.get(1),40)}${r?` /w selector ${r}`:""}`);let n=s=>s.remove(),o=()=>e.collection=e.collection.filter(s=>document.documentElement.contains(s));if(r){let s=e.find$(r);return s.is.empty||(E(s,n),o()),e}return E(e,n),o(),e},rmAttr:(e,...r)=>{for(let n of r)e.node.removeAttribute(n);return e},removeClass:(e,...r)=>E(e,n=>{if(n)for(let o of r)n.classList.remove(o)}),renderTo:(e,r=document.body,n=t.at.end)=>(e.first$().toDOM(r,n),e),replace:(e,r,n)=>{let o=e[0];return!r||!n||!a(n,HTMLElement)&&!n.isJQx?(console.error("JQx replace: invalid replacement value"),e):(n.isJQx&&(n=n[0]),a(n,NodeList)&&(n=n[0]),o&&r&&(r=a(r,String)?o.querySelectorAll(r):r.isJQx?r.collection:r,a(r,HTMLElement,NodeList,Array)&&a(n,HTMLElement)&&(a(r,HTMLElement)?[r]:[...r]).forEach(s=>s.replaceWith(n.cloneNode(!0)))),e)},replaceClass:(e,r,...n)=>E(e,o=>{o.classList.remove(r);for(let s of n)o.classList.add(s)}),replaceMe:(e,r)=>e.replaceWith(r),replaceWith:(e,r)=>(r=a(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e),setData:(e,r)=>E(e,n=>fe(n,r)),show:e=>E(e,r=>Z(r,{display:"revert-layer !important"})),single:(e,r)=>e.collection.length>0?a(r,String)?e.find$(r):a(r,Number)?t(e.collection[r]):t(e.collection[0]):e,style:(e,r,n)=>E(e,s=>{n&&a(r,String)&&(r={[r]:n||"none"}),Z(s,r)}),text:(e,r,n=!1)=>e.isEmpty()?e:a(r,String)?E(e,s=>s.textContent=n?s.textContent+r:r):e.first().textContent,toDOM:(e,r=document.body,n=T.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),B(e.collection,r,n),e),toggleClass:(e,r)=>E(e,n=>n.classList.toggle(r)),toNodeList:e=>[...e.collection].map(r=>document.importNode(r,!0)),trigger:(e,r,n=Event,o={})=>{if(e.collection.length){let s=new n(r,{...o,bubbles:o.bubbles??!0});for(let d of e.collection)d.dispatchEvent(s)}return e},val:(e,r)=>{let n=e[0];return!n||!a(n,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:r===void 0?n.value:(n.value=a(r,String)?r:"",e)}}}var He,Se,{isComment:on,isText:ln,isHtmlString:sn,isArrayOfHtmlElements:an,isArrayOfHtmlStrings:cn,ElemArray2HtmlString:un,addHandlerId:fn,cssRuleEdit:De,addFn:Xt}=Kt();function Kt(){return{...Ze(),addFn:function(t,e){return C.log(`JQx: added extension function [${t}]`),Se[t]=(r,...n)=>e(r,...n)}}}function q(t){return new Proxy(t,Object.freeze({get:(e,r)=>qt(e,r,t)}))}function qe(t,e){return(...r)=>a(t,Function)&&t(q(e),...r)}function qt(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in He:return qe(He[e],r)();case e in Se:return qe(Se[e],r);default:return t[e]}}function rt(t){let e=or(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function er(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?Y(e):e.toLowerCase(),P.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Ne(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),P.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,Ne(e,!1,t))}}}function et(...t){if(t.length===1){let e=String(t.shift().trim());t=e.startsWith("!")?[e.slice(1,-1)]:e.split(",").map(r=>r.trim())}for(let e of t.map(r=>r.startsWith("!")?r.slice(1,-1):r))De(e,{removeRule:1})}function tr(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(s=>n===s);let o=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let s of o.collection)n?r.insertAdjacentElement(n,s):r.append(s);return o}}function rr(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,s]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...s,enumerable:!1})}return e}function nr(t,e,r,n){return t=N(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(Q(te[t](...o)))},enumerable:!1,configurable:!0}}function Ne(t,e,r,n){t=t.toLowerCase();let o=nr(t,e,r,n);return n?{[n]:o,[Y(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function or(t){return rr(Object.entries(P.tagsRaw).reduce(ir(t),{}),fr(t))}function ir(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Ne(r,n,t)),e}}function lr(t){return function(e,r,...n){a(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function sr(t){return function(e){let{type:r,types:n,origin:o,selector:s,handler:d,handlers:v,node:p,name:w,capture:y,once:b,about:f}=e;d=v||d,r=n||r,s=o||s;let g=Te(r),u=w;d=a(d,Function)?[d]:d;let h={type:g,selector:s||o,capture:y,name:u,once:b,node:p,about:f};switch(!0){case(a(g,Array)&&g.length>0):for(let S of g)h.type=S,tt(d,h,t);break;default:return tt(d,h,t)}}}function tt(t,e,r){for(let n of t)e.name=U(e.name||n.name),r.listen({...e,handler:n})}function ar(t){return function(e,r){return r=F(r)&&r,e=F(e)&&e,r&&e&&t.listenerStore[e][r]}}function cr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:ie(t),enumerable:!1}),t.activePopup}function ur(t){let e=(p,w)=>De(p,w),r=p=>_({createWithId:p||`jqx${ye()}`}),n=(...p)=>{for(let w of p)De(w)},o=er(t),s=le(t),d=sr(s);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:d,capturedHandling:d,log:(...p)=>C.on.log(...p).off,handlerWrapper:s}}function fr(t){let{factoryExtensions:e,instanceExtensions:r}=Ke(t);He=e,Se=r;let{editCssRule:n,createStyle:o,editCssRules:s,allowProhibit:d,handle:v,capturedHandling:p,log:w,handlerWrapper:y}=ur(t),b=ar(t);return{log:w,editCssRules:s,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:M,logger:C,text:(f,g=!1)=>g?t.comment(f):document.createTextNode(f),node:(f,g=document)=>g.querySelector(f,g),nodes:(f,g=document)=>[...g.querySelectorAll(f,g)],get getNamedListener(){return b},get virtual(){return tr(t)},get allowTag(){return d.allow},get prohibitTag(){return d.prohibit},get removeCssRule(){return et},get removeCssRules(){return et},get delegate(){return lr(p)},get delegateCaptured(){return p},get handle(){return p},get listen(){return y.listen},get at(){return T},get setStyle(){return n},get fn(){return Xt},get lenient(){return P.allowUnknownHtmlTags},get IS(){return a},get Popup(){return cr(t)},get listenerStore(){return y.ListenerStore}}}var nt=rt(dr());function dr(){return function(e,r,n=T.BeforeEnd){if(e?.isJQx)return e;let o=a(r,HTMLBRElement);r=(!o&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(T).find(f=>n===f)?n:void 0;let s=X(e),d=!s&&be(e),v=d||s,p={collection:de(e)??[],isVirtual:o,isJQx:!0},w=K(p.collection),y=`JQx: input =&gt; ${d?`"${D(e.join(", "),70)}"`:!v&&w?`element collection [${D(p.collection.map(f=>`${a(f,Comment,Text)?"Comment|Text @":""} ${f?.outerHTML||f?.textContent}`).join(", "),70)}]`:`"${D(e,70)}"`}`;if(p.collection.length&&w)return C.log(y),o||p.collection.forEach(f=>{r.contains(f)||B([f],r,n)}),q(p);if(v){if([e].flat().forEach(f=>p.collection.push(H(f))),p.collection.length>0){let f=p.collection.filter(g=>g?.dataset?.jqxcreationerror);p.collection=p.collection.filter(g=>!g?.dataset?.jqxcreationerror),C.log(`${y}`),C.log(`JQx: created ${p.isVirtual?"VIRTUAL ":""}[${D(pe(p.collection).trim()||"sanitized: no elements remaining",70)}]`),p.isVirtual||B(p.collection,r,n)}return q(p)}let b=Ae(e,r,p);return C.log(`JQx: input => ${b}`),q(p)}}var mr=nt;return ct(gr);})();
package/Bundle/jqx.min.js CHANGED
@@ -1,15 +1,15 @@
1
- var{IS:a,maybe:te,$Wrap:or,xProxy:ir,isNothing:lr}=rt();function rt(){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 t=x(),[e,r]=[g(),O()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?p(i,d):"notTypes"in d?c(i,d):n(i,...[d.isTypes].flat())}let u=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?S(u,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:u,noShouldbe:d,compareTo:v,inputCTOR:A,isNaN:k,isInfinity:j,shouldBeFirstElementIsNothing:J}=h(i,...s);switch(s=s.length&&s[0],!0){case J:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case k:return d?"NaN":t({trial:B=>String(v)})===String(i);case j:return d?"Infinity":t({trial:B=>String(v)})===String(i);case u:return d?String(i):String(v)===String(i);case A===Boolean:return s?A===s:"Boolean";default:return m(i,s,d,f(i,A))}}function f(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let u=s.length<1,d=!u&&s[0],v=!u&&y(s[0]),A=i==null,k=!A&&Object.getPrototypeOf(i)?.constructor,j=t({trial:B=>String(i)})==="NaN",J=t({trial:B=>String(i)})==="Infinity";return{noInput:A,noShouldbe:u,compareTo:d,inputCTOR:k,isNaN:j,isInfinity:J,shouldBeFirstElementIsNothing:v}}function m(i,s,u,d){switch(!0){case(!u&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case t({trial:v=>String(s)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(s,String)):return String(s)===i[Symbol.toStringTag];default:return s?t({trial:v=>i instanceof s})||s===d||s===Object.getPrototypeOf(d)||`${s?.name}`===d?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||d?.name||String(d)}}function S(i,...s){return s.some(u=>n(i,u))}function y(i,s=!1){let u=i==null;return u=s?u||n(i,1/0)||n(i,NaN):u,u}function x(){let i=(s,u)=>s?.constructor===Function?s(u):void 0;return function({trial:s,whenError:u=()=>{}}={}){try{return i(s)}catch(d){return i(u,d)}}}function g(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...s){return n(i,...s)},is(...s){return n(i,...s)}})}}function p(i,{defaultValue:s,isTypes:u=[void 0],notTypes:d}={}){return u=u?.constructor!==Array?[u]:u,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...u)?i:s:c(i,{isTypes:u,notTypes:d})?i:s}function c(i,{isTypes:s=[void 0],notTypes:u=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,u=u?.constructor!==Array?[u]:u,n(i,...s)&&!n(i,...u)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...s){return n(i,...s)},enumerable:!1,configurable:!1}}))}function w(i){let s=String(Object.getPrototypeOf(i)?.constructor);return s.slice(s.indexOf("ion")+3,s.indexOf("(")).trim()}function F(i){let s=i.set;return i.set=(u,d,v)=>d===Symbol.proxy?u[d]=v:s(u,d,v),i}function O(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,u){for(let v of u)v.set&&(v=F(v));let d=new s(...u);return d[Symbol.proxy]=`Proxy (${w(u[0])})`,d}})}}}}var Ne=it(),W=nt(),V=ot();function nt(){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 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 Pe={html:"innerHTML",text:"textContent",class:"className"},re=lt();function lt(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case pt(n):return Me(e,n,r);default:return Me(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function Me(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?o=>mt(r):yt(e)}}),t[e]}function st(t,e,r){return e=e?.isJQx&&e.first()||e,te({trial:n=>gt(e)?t.append(e):Ie(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
2
- `,n)})}function at(t,e,...r){let n=ct(e,t);return r?.forEach(o=>st(n,o,t)),n}function ct(t,e){switch(t=Se(e)?dt(t):t?.isJQx?t.first():t,!0){case a(t,String):return U(e,Ie(t,e)?{html:t}:{text:t});case a(t,Node):return ft(e,t);default:return U(e,t)}}function ut(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in Pe&&(t[Pe[r]]=t[e],delete t[e])}),t}function ft(t,e){let r=U(t);return r.append(e),r}function U(t,e={}){e=Oe(e,{});let r=Object.entries(e.data??{}),n=Object.assign(Se(t)?new Comment(e?.text):document.createElement(t),ut(e));return r.length&&r.forEach(([o,l])=>n.dataset[o]=String(l)),n}function Oe(t,e){return e?a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:e}):a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function dt(t){return Oe(t)?t?.text??t?.textContent??"":String(t)}function mt(t){return U("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function Ie(t,e){return!Se(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function gt(t){return t?.constructor===Comment||t?.constructor===CharacterData}function Se(t){return t?.constructor===Comment||/comment/i.test(t)}function pt(t){return!a(U(t),HTMLUnknownElement)}function yt(t){return(e,...r)=>at(t,e,...r)}var{IS:ne,maybe:fr,$Wrap:dr,xProxy:mr,isNothing:gr}=bt();function bt(){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 t=x(),[e,r]=[g(),O()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?p(i,d):"notTypes"in d?c(i,d):n(i,...[d.isTypes].flat())}let u=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?S(u,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:u,noShouldbe:d,compareTo:v,inputCTOR:A,isNaN:k,isInfinity:j,shouldBeFirstElementIsNothing:J}=h(i,...s);switch(s=s.length&&s[0],!0){case J:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case k:return d?"NaN":t({trial:B=>String(v)})===String(i);case j:return d?"Infinity":t({trial:B=>String(v)})===String(i);case u:return d?String(i):String(v)===String(i);case A===Boolean:return s?A===s:"Boolean";default:return m(i,s,d,f(i,A))}}function f(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let u=s.length<1,d=!u&&s[0],v=!u&&y(s[0]),A=i==null,k=!A&&Object.getPrototypeOf(i)?.constructor,j=t({trial:B=>String(i)})==="NaN",J=t({trial:B=>String(i)})==="Infinity";return{noInput:A,noShouldbe:u,compareTo:d,inputCTOR:k,isNaN:j,isInfinity:J,shouldBeFirstElementIsNothing:v}}function m(i,s,u,d){switch(!0){case(!u&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case t({trial:v=>String(s)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(s,String)):return String(s)===i[Symbol.toStringTag];default:return s?t({trial:v=>i instanceof s})||s===d||s===Object.getPrototypeOf(d)||`${s?.name}`===d?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||d?.name||String(d)}}function S(i,...s){return s.some(u=>n(i,u))}function y(i,s=!1){let u=i==null;return u=s?u||n(i,1/0)||n(i,NaN):u,u}function x(){let i=(s,u)=>s?.constructor===Function?s(u):void 0;return function({trial:s,whenError:u=()=>{}}={}){try{return i(s)}catch(d){return i(u,d)}}}function g(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...s){return n(i,...s)},is(...s){return n(i,...s)}})}}function p(i,{defaultValue:s,isTypes:u=[void 0],notTypes:d}={}){return u=u?.constructor!==Array?[u]:u,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...u)?i:s:c(i,{isTypes:u,notTypes:d})?i:s}function c(i,{isTypes:s=[void 0],notTypes:u=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,u=u?.constructor!==Array?[u]:u,n(i,...s)&&!n(i,...u)}function b(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...s){return n(i,...s)},enumerable:!1,configurable:!1}}))}function w(i){let s=String(Object.getPrototypeOf(i)?.constructor);return s.slice(s.indexOf("ion")+3,s.indexOf("(")).trim()}function F(i){let s=i.set;return i.set=(u,d,v)=>d===Symbol.proxy?u[d]=v:s(u,d,v),i}function O(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,u){for(let v of u)v.set&&(v=F(v));let d=new s(...u);return d[Symbol.proxy]=`Proxy (${w(u[0])})`,d}})}}}}var _=ht;function ht({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:o,sheet:l,removeRules:f,consider:h,currentSheetID:m}=St({styleSheet:t,createWithId:e});function S(c,b){if(c&&b.removeProperties){Object.keys(b.removeProperties).forEach(w=>c.style.removeProperty(Re(w)));return}Object.entries(b).forEach(([w,F])=>{w=Re(w.trim()),F=F.trim();let O;if(/!important/.test(F)&&(F=F.slice(0,F.indexOf("!important")).trim(),O="important"),!CSS.supports(w,F))return console.error(`StylingFactory ${m} error: '${w}' with value '${F}' not supported (yet)`);ke(()=>c.style.setProperty(w,F,O),`StylingFactory ${m} (setRule4Selector) failed`)})}function y(c,b,w=l){if(c=c?.trim?.(),!ne(c,String)||!c.length||/[;,]$/g.test(c))return console.error(`StylingFactory ${m} (setRules): [${c||"[no selector given]"}] is not a valid selector`);if(b.removeRule)return f(c);let F=n(c,!0),O=F||w.cssRules[w.insertRule(`${c} {}`,w.cssRules.length||0)];return h(()=>S(O,b),c,F)}function x(c){let b=c.trim().split(/{/,2),w=b.shift().trim();if(!ne(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${m} (doParse): no (valid) selector could be extracted from rule ${xe(c)}`);let F=Tt(b.shift());return ke(()=>y(w,F),`StylingFactory ${m} (setRules) failed`)}function g(c){let b=r(c);return b.done?b.existing:x(c)}function p(c,b){return c.trim().startsWith("@media")?g(xt(c,b)):y(c,b)}return function(c,b={}){return o(c,b)&&(Object.keys(b).length?p(c,b):g(c))}}function St({styleSheet:t,createWithId:e}){let r="Note: The rule or some of its properties may not be supported by your browser (yet)",n=`for style#${e}`;t=e?o(e):t;function o(g){let p=document.querySelector(`#${g}`)?.sheet;if(p)return p;let c=Object.assign(document.createElement("style"),{id:g});return document.head.insertAdjacentElement("beforeend",c),c.sheet}function l(g){return console.error(`StylingFactory ${n} [rule: ${g}]
3
- => @charset, @namespace and @import are not supported here`),{done:!0}}function f(g,p){return[...t.rules].find(c=>p?je(c.selectorText||"",g):wt`${Et(g)}${[..."gim"]}`.test(c.cssText))}function h(g){return/^@charset|@import|namespace/i.test(g.trim())?l(g):g.match(/}/g)?.length>1?{existing:y(g,1),done:!0}:{done:!1}}function m(g){let p=[...t.cssRules].reduce((b,w,F)=>je(w.selectorText||"",g)&&b.concat(F)||b,[]),c=p.length;return p.forEach(b=>t.deleteRule(b)),c>0?console.info(`\u2714 Removed ${c} instance${c>1?"s":""} of selector ${g} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${g} does not exist in ${n.slice(4)}`)}function S(g,p){return g&&ne(g,String)&&g.trim().length>0&&ne(p,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function y(g){g=g.trim();let p=g.slice(0,g.indexOf("{")).trim(),c=!!f(p);try{return t.insertRule(`${g}`,t.cssRules.length),c}catch(b){return console.error(`StylingFactory ${n} (tryParse) ${b.name} Error:
4
- ${b.message}
5
- Rule: ${xe(g)}
6
- ${r}`),c}}function x(g,p,c){try{return g(),c}catch(b){return console.error(`StylingFactory ${n} (tryAddOrModify) ${b.name} Error:
7
- ${b.message}
8
- Rule: ${xe(p)}
9
- ${r}`),c}}return{sheet:t,removeRules:m,tryParseAtOrNestedRules:h,ruleExists:f,checkParams:S,tryParse:y,consider:x,currentSheetID:n}}function xt(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${vt(n)}`)}`}function xe(t){let e=(t||"NO RULE").trim().slice(0,50).replace(/\n/g,"\\n").replace(/\s{2,}/g," ");return t.length>e.length?`${e.trim()}...truncated`:e}function vt(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
10
- `)}function Et(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function wt(t,...e){let r=e.length&&Array.isArray(e.slice(-1))?e.pop().join(""):"";return new RegExp((e.length&&t.raw.reduce((n,o,l)=>n.concat(e[l-1]||"").concat(o),"")||t.raw.join("")).split(`
11
- `).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function Re(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function ke(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function Ft(t){return t.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,r)=>`${r}\\3b`).split(";").map(e=>e.trim()).join(`;
1
+ var{IS:a,maybe:ee,$Wrap:lr,xProxy:sr,isNothing:ar}=nt();function nt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),h();let t=b(),[e,r]=[f(),A()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(o,...l){if(t({trial:m=>"isTypes"in(l?.[0]??{})})){let m=l[0];return"defaultValue"in m?g(o,m):"notTypes"in m?u(o,m):n(o,...[m.isTypes].flat())}let c=typeof o=="symbol"?Symbol.isSymbol:o;return l.length>1?w(c,...l):s(o,...l)}function i(o){return o?.[Symbol.proxy]??n(o)}function s(o,...l){let{noInput:c,noShouldbe:m,compareTo:x,inputCTOR:$,isNaN:R,isInfinity:j,shouldBeFirstElementIsNothing:k}=v(o,...l);switch(l=l.length&&l[0],!0){case k:return String(o)===String(x);case(o?.[Symbol.proxy]&&m):return o[Symbol.proxy];case R:return m?"NaN":t({trial:J=>String(x)})===String(o);case j:return m?"Infinity":t({trial:J=>String(x)})===String(o);case c:return m?String(o):String(x)===String(o);case $===Boolean:return l?$===l:"Boolean";default:return p(o,l,m,d(o,$))}}function d(o,l){return o===0?Number:o===""?String:o?l:{name:String(o)}}function v(o,...l){let c=l.length<1,m=!c&&l[0],x=!c&&y(l[0]),$=o==null,R=!$&&Object.getPrototypeOf(o)?.constructor,j=t({trial:J=>String(o)})==="NaN",k=t({trial:J=>String(o)})==="Infinity";return{noInput:$,noShouldbe:c,compareTo:m,inputCTOR:R,isNaN:j,isInfinity:k,shouldBeFirstElementIsNothing:x}}function p(o,l,c,m){switch(!0){case(!c&&l===o||o?.[Symbol.proxy]&&l===Proxy):return!0;case t({trial:x=>String(l)})==="NaN":return String(o)==="NaN";case(o?.[Symbol.toStringTag]&&n(l,String)):return String(l)===o[Symbol.toStringTag];default:return l?t({trial:x=>o instanceof l})||l===m||l===Object.getPrototypeOf(m)||`${l?.name}`===m?.name:o?.[Symbol.toStringTag]&&`[object ${o?.[Symbol.toStringTag]}]`||m?.name||String(m)}}function w(o,...l){return l.some(c=>n(o,c))}function y(o,l=!1){let c=o==null;return c=l?c||n(o,1/0)||n(o,NaN):c,c}function b(){let o=(l,c)=>l?.constructor===Function?l(c):void 0;return function({trial:l,whenError:c=()=>{}}={}){try{return o(l)}catch(m){return o(c,m)}}}function f(){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 g(o,{defaultValue:l,isTypes:c=[void 0],notTypes:m}={}){return c=c?.constructor!==Array?[c]:c,m=m&&m?.constructor!==Array?[m]:[],m.length<1?n(o,...c)?o:l:u(o,{isTypes:c,notTypes:m})?o:l}function u(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 h(){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 S(o){let l=String(Object.getPrototypeOf(o)?.constructor);return l.slice(l.indexOf("ion")+3,l.indexOf("(")).trim()}function L(o){let l=o.set;return o.set=(c,m,x)=>m===Symbol.proxy?c[m]=x:l(c,m,x),o}function A(){let o=Proxy;return{native(){Proxy=o},custom(){Proxy=new o(o,{construct(l,c){for(let x of c)x.set&&(x=L(x));let m=new l(...c);return m[Symbol.proxy]=`Proxy (${S(c[0])})`,m}})}}}}var Ne=lt(),z=ot(),W=it();function ot(){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 it(){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 lt(){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 Pe={html:"innerHTML",text:"textContent",class:"className"},te=st();function st(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case yt(n):return Oe(e,n,r);default:return Oe(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function Oe(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?i=>gt(r):ht(e)}}),t[e]}function at(t,e,r){return e=e?.isJQx&&e.first()||e,ee({trial:n=>pt(e)?t.append(e):Ie(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
2
+ `,n)})}function ct(t,e,...r){let n=ut(e,t);return r?.forEach(i=>at(n,i,t)),n}function ut(t,e){switch(t=xe(e)?mt(t):t?.isJQx?t.first():t,!0){case a(t,String):return V(e,Ie(t,e)?{html:t}:{text:t});case a(t,Node):return dt(e,t);default:return V(e,t)}}function ft(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in Pe&&(t[Pe[r]]=t[e],delete t[e])}),t}function dt(t,e){let r=V(t);return r.append(e),r}function V(t,e={}){e=Me(e,{});let r=Object.entries(e.data??{}),n=Object.assign(xe(t)?new Comment(e?.text):document.createElement(t),ft(e));return r.length&&r.forEach(([i,s])=>n.dataset[i]=String(s)),n}function Me(t,e){return e?a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:e}):a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function mt(t){return Me(t)?t?.text??t?.textContent??"":String(t)}function gt(t){return V("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function Ie(t,e){return!xe(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function pt(t){return t?.constructor===Comment||t?.constructor===CharacterData}function xe(t){return t?.constructor===Comment||/comment/i.test(t)}function yt(t){return!a(V(t),HTMLUnknownElement)}function ht(t){return(e,...r)=>ct(t,e,...r)}var{IS:re,maybe:mr,$Wrap:gr,xProxy:pr,isNothing:yr}=bt();function bt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),h();let t=b(),[e,r]=[f(),A()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(o,...l){if(t({trial:m=>"isTypes"in(l?.[0]??{})})){let m=l[0];return"defaultValue"in m?g(o,m):"notTypes"in m?u(o,m):n(o,...[m.isTypes].flat())}let c=typeof o=="symbol"?Symbol.isSymbol:o;return l.length>1?w(c,...l):s(o,...l)}function i(o){return o?.[Symbol.proxy]??n(o)}function s(o,...l){let{noInput:c,noShouldbe:m,compareTo:x,inputCTOR:$,isNaN:R,isInfinity:j,shouldBeFirstElementIsNothing:k}=v(o,...l);switch(l=l.length&&l[0],!0){case k:return String(o)===String(x);case(o?.[Symbol.proxy]&&m):return o[Symbol.proxy];case R:return m?"NaN":t({trial:J=>String(x)})===String(o);case j:return m?"Infinity":t({trial:J=>String(x)})===String(o);case c:return m?String(o):String(x)===String(o);case $===Boolean:return l?$===l:"Boolean";default:return p(o,l,m,d(o,$))}}function d(o,l){return o===0?Number:o===""?String:o?l:{name:String(o)}}function v(o,...l){let c=l.length<1,m=!c&&l[0],x=!c&&y(l[0]),$=o==null,R=!$&&Object.getPrototypeOf(o)?.constructor,j=t({trial:J=>String(o)})==="NaN",k=t({trial:J=>String(o)})==="Infinity";return{noInput:$,noShouldbe:c,compareTo:m,inputCTOR:R,isNaN:j,isInfinity:k,shouldBeFirstElementIsNothing:x}}function p(o,l,c,m){switch(!0){case(!c&&l===o||o?.[Symbol.proxy]&&l===Proxy):return!0;case t({trial:x=>String(l)})==="NaN":return String(o)==="NaN";case(o?.[Symbol.toStringTag]&&n(l,String)):return String(l)===o[Symbol.toStringTag];default:return l?t({trial:x=>o instanceof l})||l===m||l===Object.getPrototypeOf(m)||`${l?.name}`===m?.name:o?.[Symbol.toStringTag]&&`[object ${o?.[Symbol.toStringTag]}]`||m?.name||String(m)}}function w(o,...l){return l.some(c=>n(o,c))}function y(o,l=!1){let c=o==null;return c=l?c||n(o,1/0)||n(o,NaN):c,c}function b(){let o=(l,c)=>l?.constructor===Function?l(c):void 0;return function({trial:l,whenError:c=()=>{}}={}){try{return o(l)}catch(m){return o(c,m)}}}function f(){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 g(o,{defaultValue:l,isTypes:c=[void 0],notTypes:m}={}){return c=c?.constructor!==Array?[c]:c,m=m&&m?.constructor!==Array?[m]:[],m.length<1?n(o,...c)?o:l:u(o,{isTypes:c,notTypes:m})?o:l}function u(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 h(){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 S(o){let l=String(Object.getPrototypeOf(o)?.constructor);return l.slice(l.indexOf("ion")+3,l.indexOf("(")).trim()}function L(o){let l=o.set;return o.set=(c,m,x)=>m===Symbol.proxy?c[m]=x:l(c,m,x),o}function A(){let o=Proxy;return{native(){Proxy=o},custom(){Proxy=new o(o,{construct(l,c){for(let x of c)x.set&&(x=L(x));let m=new l(...c);return m[Symbol.proxy]=`Proxy (${S(c[0])})`,m}})}}}}var _=St;function St({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:i,sheet:s,removeRules:d,consider:v,currentSheetID:p}=xt({styleSheet:t,createWithId:e});function w(u,h){if(u&&h.removeProperties){Object.keys(h.removeProperties).forEach(S=>u.style.removeProperty(Re(S)));return}Object.entries(h).forEach(([S,L])=>{S=Re(S.trim()),L=L.trim();let A;if(/!important/.test(L)&&(L=L.slice(0,L.indexOf("!important")).trim(),A="important"),!CSS.supports(S,L))return console.error(`StylingFactory ${p} error: '${S}' with value '${L}' not supported (yet)`);je(()=>u.style.setProperty(S,L,A),`StylingFactory ${p} (setRule4Selector) failed`)})}function y(u,h,S=s){if(u=u?.trim?.(),!re(u,String)||!u.length||/[;,]$/g.test(u))return console.error(`StylingFactory ${p} (setRules): [${u||"[no selector given]"}] is not a valid selector`);if(h.removeRule)return d(u);let L=n(u,!0),A=L||S.cssRules[S.insertRule(`${u} {}`,S.cssRules.length||0)];return v(()=>w(A,h),u,L)}function b(u){let h=u.trim().split(/{/,2),S=h.shift().trim();if(!re(S,String)||!S?.trim()?.length)return console.error(`StylingFactory ${p} (doParse): no (valid) selector could be extracted from rule ${ve(u)}`);let L=Tt(h.shift());return je(()=>y(S,L),`StylingFactory ${p} (setRules) failed`)}function f(u){let h=r(u);return h.done?h.existing:b(u)}function g(u,h){return u.trim().startsWith("@media")?f(vt(u,h)):y(u,h)}return function(u,h={}){return i(u,h)&&(Object.keys(h).length?g(u,h):f(u))}}function xt({styleSheet:t,createWithId:e}){let r="Note: The rule or some of its properties may not be supported by your browser (yet)",n=`for style#${e}`;t=e?i(e):t;function i(f){let g=document.querySelector(`#${f}`)?.sheet;if(g)return g;let u=Object.assign(document.createElement("style"),{id:f});return document.head.insertAdjacentElement("beforeend",u),u.sheet}function s(f){return console.error(`StylingFactory ${n} [rule: ${f}]
3
+ => @charset, @namespace and @import are not supported here`),{done:!0}}function d(f,g){return[...t.rules].find(u=>g?ke(u.selectorText||"",f):Lt`${wt(f)}${[..."gim"]}`.test(u.cssText))}function v(f){return/^@charset|@import|namespace/i.test(f.trim())?s(f):f.match(/}/g)?.length>1?{existing:y(f,1),done:!0}:{done:!1}}function p(f){let g=[...t.cssRules].reduce((h,S,L)=>ke(S.selectorText||"",f)&&h.concat(L)||h,[]),u=g.length;return g.forEach(h=>t.deleteRule(h)),u>0?console.info(`\u2714 Removed ${u} instance${u>1?"s":""} of selector ${f} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${f} does not exist in ${n.slice(4)}`)}function w(f,g){return f&&re(f,String)&&f.trim().length>0&&re(g,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function y(f){f=f.trim();let g=f.slice(0,f.indexOf("{")).trim(),u=!!d(g);try{return t.insertRule(`${f}`,t.cssRules.length),u}catch(h){return console.error(`StylingFactory ${n} (tryParse) ${h.name} Error:
4
+ ${h.message}
5
+ Rule: ${ve(f)}
6
+ ${r}`),u}}function b(f,g,u){try{return f(),u}catch(h){return console.error(`StylingFactory ${n} (tryAddOrModify) ${h.name} Error:
7
+ ${h.message}
8
+ Rule: ${ve(g)}
9
+ ${r}`),u}}return{sheet:t,removeRules:p,tryParseAtOrNestedRules:v,ruleExists:d,checkParams:w,tryParse:y,consider:b,currentSheetID:n}}function vt(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${Et(n)}`)}`}function ve(t){let e=(t||"NO RULE").trim().slice(0,50).replace(/\n/g,"\\n").replace(/\s{2,}/g," ");return t.length>e.length?`${e.trim()}...truncated`:e}function Et(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
10
+ `)}function wt(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function Lt(t,...e){let r=e.length&&Array.isArray(e.slice(-1))?e.pop().join(""):"";return new RegExp((e.length&&t.raw.reduce((n,i,s)=>n.concat(e[s-1]||"").concat(i),"")||t.raw.join("")).split(`
11
+ `).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function Re(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function je(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function Ft(t){return t.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,r)=>`${r}\\3b`).split(";").map(e=>e.trim()).join(`;
12
12
  `).replaceAll("\\3b",";").split(`
13
- `)}function Lt(t){return t.reduce((e,r)=>{let[n,o]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&o?{...e,[n]:o}:e},{})}function Tt(t){return Lt(Ft(t))}function je(t,e){return t?.replace("::",":")===e?.replace("::",":")}var ve=!1,Ct={on:()=>ve=!0,off:()=>ve=!1},P={tagsRaw:V,allowUnknownHtmlTags:Ct,isAllowed(t){if(ve)return!0;let e=a(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!V[e]},allowTag:t=>V[t.toLowerCase()]=!0,prohibitTag:t=>V[t.toLowerCase()]=!1};var At=!0,oe={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};function $t(t){if(At&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${I(n)} => ${o}`],[]).join("\\000A");L.error(`JQx: HTML creation error(s): ${e}`)}}function Dt(t){let e=t.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(e)&&!r.find(n=>n===e)||P.isAllowed(e)}function Q(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&Q(r),r?.attributes){let o=a(r,SVGElement)?W.svg:W.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let f=l.name.trim().toLowerCase(),h=l.value.trim().toLowerCase().replace(oe.whiteSpace,""),m=f==="href"?!oe.validURL.test(h):oe.notAllowedValues.test(h),S=f.startsWith("data")?!oe.data.test(f):!!o[f];if(m||S){let y=ie(l.value||"none",60);y+=y.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${y}`,r.removeAttribute(l.name)}})}if(!(Dt(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),l=ie(o,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),$t(e),t}function Ht(t){let e=document.createElement("div");return e.insertAdjacentHTML(T.end,t),e.childNodes.length?Q(e):void 0}function Nt(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function z(t=[],e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,t.reduce((n,o)=>{let l=M(o)&&Pt(o,e,r);return l?[...n,l]:n},[])}function Pt(t,e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?Nt(t,e,r):a(t,HTMLElement)?e.insertAdjacentElement(r,t):void 0}function $(t){if(a(t,Text,Comment))return t;let e=t?.trim(),r=e?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(o=>o.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(t.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(r);let n=Ht(t);return n.childNodes.length<1?$(`<span data-jqxcreationerror="1">${D(t,60)}</span>`):n.children[0]}function le(t){if(t.node("#jqxPopup"))return;t.logger.log("JQx: [JQx].Popup first call. Dialog element created."),t.dialog({id:"jqxPopup"},t.div({id:"jqxPopupContent"})).render,t.editCssRules(...Ne);let[e,r]=[t("#jqxPopupContent"),t.node("#jqxPopup")],n={};return t.handle({type:"click, keydown",handlers:y,capture:!0}),Object.freeze({show:o,remove:l,removeModal:S});function o(p){if(r.open)switch(!0){case f(p):return;default:return l(),setTimeout(()=>o(p),200)}n={...p};let{content:c}=n;return t.IS(c,String,HTMLElement)||c?.isJQx?h():!0}function l(){return n.modal?g(n.warnMessage):m()}function f(p){for(let[c,b]of Object.entries(n))if(b!==p[c])return!1;return!0}function h(){e.clear();let{content:p,modal:c,closeAfter:b}=n;c=t.IS(c,Boolean)?c:!1;let w=c?"":t.div({id:"closeHandleIcon"});e.append(w,t.IS(p,String)?t.div(p):p),r.showModal(),!c&&t.IS(b,Number)&&x(l,b)}function m(){if(r.close(n.returnValue),t.IS(n.callback,Function))return setTimeout(()=>n.callback(n.returnValue),200);n={}}function S({callback:p,value:c}={}){n.returnValue=c,n.modal=!1,n.callback=p||n.callback,l()}function y(p){if(!(Object.keys(n).length<1||!r.open))return p.key==="Escape"&&p.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(p.target.closest("#closeHandleIcon")||!p.target.closest("#jqxPopupContent"))&&l(),!0}function x(p,c){t.IS(p,Function)&&t.IS(c,Number)&&c>0&&(n.activeTimer=setTimeout(p,c*1e3))}function g(p){if(!t.IS(p,String,HTMLElement,Proxy))return;let c=e.find$(".warn");switch(!0){case c.is.empty:c=t.div({class:"warn"},p);default:e.append(c.addClass("active")),x(()=>e.find$(".warn").removeClass("active"),2)}}}var H={},Mt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],Je=t=>!!Mt.find(e=>e===t);function se(t){return function(o){let{eventType:l,selector:f,callback:h,name:m,capture:S,once:y,canRemove:x}=o;switch(!0){case(!C(l)||!t.IS(h,Function)):default:m=m||!/handlers$/.test(h.name)&&h.name||void 0,S=t.IS(S,Boolean)?S:!1,y=t.IS(y,Boolean)?y:!1,x=C(m,4)&&t.IS(x,Boolean)?x:y;let{handler:g,signal:p,remove:c}=e({selector:f,callback:h,canRemove:x,once:y,name:m,eventType:l});return n({eventType:l,handler:g,capture:S,once:y,signal:p,remove:c,name:m})}};function e(o){let{selector:l,callback:f,canRemove:h,name:m,eventType:S,once:y}=o,x=(h||y)&&new AbortController,g=r({once:y,abortcontroller:x,name:m,eventType:S}),p=l?{handler:c=>{let b=c.target?.closest?.(l);return b&&f(c,t(b),g)},remove:g}:{handler:c=>f(c,c.target,g),remove:g};return x&&(p.signal=x.signal,y)?{handler:(c,b)=>{p.handler(c,b),g()}}:p}function r(o){let{once:l,abortcontroller:f,name:h,eventType:m}=o;return h?f?function(){f.abort();let y=[...H[m].entries()].find(([x,g])=>g.name===h);H[m].delete(y[0]),t.logger.log(`JQx: Listener for event type [${m}] with name [${h}] was removed${l?" (once active, so handled once).":""}`)}:function(S){t.logger.error(`JQx: listener for event type [${m}] with name [${h}] is not marked as removable`)}:function(){t.logger.error("JQx: an anonymous listener can not be removed")}}function n(o){let{eventType:l,handler:f,capture:h,once:m,signal:S,remove:y,name:x}=o;if(H[l]||(H[l]=new Map),!(H[l].has(f)||[...H[l].values()].find(p=>(p.name||"")===x))){let p={capture:h||Je(l),once:m||!1};S&&(p.signal=S),document.addEventListener(l,f,p);let c={name:x,remove:y,capture:h||Je(l)};H[l].set(f,c)}}}var L=It(),T=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}})),Ot=[...Array(26)].map((t,e)=>String.fromCharCode(e+65)).concat([...Array(26)].map((t,e)=>String.fromCharCode(e+97))).concat([...Array(10)].map((t,e)=>`${e}`)),we=Object.freeze({get(t,e){return t[X(e)]||t[e]},enumerable:!1,configurable:!1});function ce(t){return t.startsWith("data")||W.html.find(e=>t.toLowerCase()===e)}function ue(t){return t&&(t.textContent="")}function G(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?G(t,e,r):e}function C(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function ie(t,e=120){return D(t,e).replace(/&lt;/g,"<")}function D(t,e=120){return`${t}`.trim().slice(0,e).replace(/>\s+</g,"><").replace(/</g,"&lt;").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(t.length>e?" &hellip;":"").trim()}function I(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function Be(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function It(){let t=!1,e=[],r={get on(){return t=!0,r},get off(){return t=!1,r},get backLog(){return e}};function n(...l){return e.unshift(...l.map(f=>`${Ee()} \u2A3B ${Be(f)}`)),console.error(e.slice(0,l.length).join(`
14
- `)),r}function o(...l){switch(e.unshift(...l.map(f=>`${Ee()} \u2714 ${Be(f)}`)),t){case!0:console.log(e.slice(0,l.length).join(`
15
- `));default:return r}}return Object.defineProperties(r,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}function Ee(){return(t=>`[${ae(t.getHours())}:${ae(t.getMinutes())}:${ae(t.getSeconds())}.${ae(t.getMilliseconds(),3)}]`)(new Date)}function Fe(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=N(r),r.startsWith("data"))return fe(t,n);a(n,String)&&ce(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function fe(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${N(r)}`,n)}function de(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:M(t)?[t]:q(t)?t:t.isJQx?t.collection:void 0:[]}function me(t,e){return t.andThen(e)}function ge(t,e){return t.andThen(e,!0)}function M(t){return a(t,Text,HTMLElement,Comment)}function Z(t,e){if(a(e,Object))for(let[r,n]of Object.entries(e)){let o;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),o="important"),t.style.setProperty(N(r),n,o)}}function R(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function Qe(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),o=[e.display,r.display].includes("none"),l=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,f=+r.opacity==0||+(e.opacity||1)==0;return!(l||f||o||n)}function ze(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function pe(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(Te(r)?`<!--${r.data}-->`:ye(r)?r.textContent:r.outerHTML),"")}function ae(t,e=2){return`${t}`.padStart(e,"0")}function We(t,e=0){return[t,e]=[Math.floor(t),Math.ceil(e)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(t-e+1)+e)}function Y(){return`_${Rt(Ot).slice(0,8).join("")}`}function Le(t){return t=a(t,String)&&/,/.test(t)?t.split(","):t,a(t,Array)?t.filter(e=>C(e)).map(e=>e.trim().toLowerCase()):a(t,String)&&t?.trim().toLowerCase()||""}function Ve(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function Rt(t){let e=t.length;for(;e--;){let r=We(e);[t[e],t[r]]=[t[r],t[e]]}return t}function X(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${kt(e)}`||e).join(""):t}function N(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function kt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function ye(t){return a(t,Comment,Text)}function Te(t){a(t,Comment)}function Ue(t){return a(t,Text)}function K(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function q(t){return a(t,Array)&&!t?.find(e=>!M(e))}function be(t){return a(t,Array)&&!t?.find(e=>!K(e))}function E(t,e){let r=t.collection.filter(n=>!ye(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Ce(t,e,r){let n=e!==document.body&&a(t,String)&&t.toLowerCase()!=="body"?e:document,o;try{r.collection=[...n.querySelectorAll(t)]}catch{o=`Invalid CSS querySelector. [${a(t,String)?t:"Nothing valid given!"}]`}let l=r.collection.length;return l<1?`CSS querySelector "${t}", output: nothing`:o??`CSS querySelector "${t}", output ${l} element${l>1?"s":""}`}function Ae(t){let e=t.data.get("hid")||`HID${Y()}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function _e(){return{isCommentOrTextNode:ye,isNode:M,isComment:Te,isText:Ue,isHtmlString:K,isArrayOfHtmlElements:q,isArrayOfHtmlStrings:be,ElemArray2HtmlString:pe,input2Collection:de,setCollectionFromCssSelector:Ce,addHandlerId:Ae,cssRuleEdit:_({createWithId:"JQxStylesheet"})}}function Ge(){let e=Object.freeze({notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return a(n,Node)?Object.freeze({get writable(){return ze(n)},get modal(){return Ve(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return Qe(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function Ze(t,e,r,n){r&&a(e,String)&&(e={[e]:r==="-"?"":r});let o;e.className&&(o=e.className,delete e.className),o=[...t.classList].find(f=>f.startsWith("JQxClass-")||o&&f===o)||o||`JQxClass-${Y().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}var jt=Ge();function Ye(t){return{factoryExtensions:Jt(t),instanceExtensions:Bt(t)}}function Jt(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},we)},set:(r={})=>{if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},get:(r,n)=>e.data.all[r]??n,add:(r={})=>{if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},remove:r=>(e[0]?.removeAttribute(`data-${N(r)}`),e)}),dimensions:e=>{if(e.is.empty)return{error:"[instance].dimensions: NO ELEMENTS"};let r=e[0],n=e.first()?.getBoundingClientRect().toJSON();return n.scrollTopDistance=G(r,0),n.scrollLeftDistance=G(r,0,!1),n},node:e=>e[0],HTML:e=>({get:(r,n)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=r?e.outerHtml:e.html();return n?I(o):o},set:(r,n=!1,o=!1)=>{r=r.isJQx?r.HTML.get(1):r;let l=a(r,String);return r=l&&o?I(r):r,l&&(r||"").trim().length&&e.html(r,n),e},replace:(r,n=!1)=>e.HTML.set(r,!1,n),append:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)),insert:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n))}),is:e=>jt(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let r=t(e[0]?.parentNode);return r.is.empty?e:r},render:e=>(!e.is.empty&&e.toDOM()||t.log("[JQx.render]: empty collection"),e),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:r=>e.style(r),inSheet:r=>e.css(r),valueOf:r=>e.is.empty?void 0:getComputedStyle(e[0])[N(r)],nwRule:r=>e.Style.byRule({rules:r}),byRule:({classes2Apply:r=[],rules:n=[]}={})=>{let l=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let f of r)e.addClass(f);return l?.startsWith(".")&&e.addClass(l.slice(1)),l?.startsWith("#")&&!e.attr("id")&&e.prop({id:l.slice(1)}),e}})}}function Bt(t){return{addClass:(e,...r)=>E(e,n=>n&&r.forEach(o=>n.classList.add(o))),after:me,afterMe:me,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return L.log(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${r}]`),e;r=r?.isJQx?r.collection:a(r,Node)?t.virtual(r).collection:t.virtual($(r)).collection;let[o,l,f]=n?[0,"before",r.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r)];return e[o][l](...r),e.collection=f,e},append:(e,...r)=>{if(!e.is.empty&&r.length){let n=e.length===1;for(let o of r){if(!o.isJQx&&C(o)){let l=o.trim(),h=!/^<(.+)[^>]+>$/m.test(l)?t.text(o):$(o);E(e,m=>m.append(n?h:R(h)))}M(o)&&E(e,l=>l.append(n?o:R(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(f=>l.append(n?f:R(f))))}}return e},appendTo:(e,r)=>(r.isJQx||(r=t(r)),r.append(e),e),attr:(e,r,n)=>{let o=e[0];if(!o)return e;if(!n&&C(r))return r=N(r),r==="class"?[...o?.classList].join(" "):o?.getAttribute(r);if(C(r)&&n)switch(r=N(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&Fe(o,r),e},before:ge,beforeMe:ge,clear:e=>E(e,ue),closest:(e,r)=>{let n=C(r)?e[0].closest(r):null;return n?t(n):e},computedStyle:(e,r)=>e.first()&&getComputedStyle(e.first())[r],css:(e,r,n)=>E(e,o=>Ze(o,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{if(e.collection.length>0){let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(l=>{l.removeAttribute&&l?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}return L.error("Duplicating an empty JQx instance is not possible"),e},each:(e,r)=>E(e,r),empty:e=>E(e,ue),find:(e,r)=>e.collection.length>0?[...e.first()?.querySelectorAll(r)]:[],find$:(e,r)=>e.collection.length>0?t(r,e):e,first:(e,r=!1)=>{if(e.collection.length>0)return r?e.single():e.collection[0]},first$:(e,r)=>e.single(r),getData:(e,r,n)=>e.first()&&e.first().dataset?.[r]||n,hasClass:(e,...r)=>{let n=e[0];return!n||!n.classList.length?!1:r.find(o=>n.classList.contains(o))&&!0||!1},hide:e=>E(e,r=>Z(r,{display:"none !important"})),html:(e,r,n)=>{if(r===void 0){let o=e.node;return o?.getHTML&&o.getHTML()||""}if(!e.isEmpty()){let o=$(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);if(!a(o,Comment))return E(e,f=>(n||(f.textContent=""),f.insertAdjacentHTML(t.at.end,o.getHTML())))}return e},htmlFor:(e,r,n="",o=!1)=>{if(r&&e.collection.length){if(!r||!C(n))return e;let l=e.find$(r);if(l.length<1)return e;let f=$(`<span>${n}</span>`);l.each(h=>{o||(h.textContent=""),h.insertAdjacentHTML(t.at.end,f?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,r)=>e.single(r),on:(e,r,...n)=>{if(e.collection.length&&a(r,String,Array)){if(r?.length<1||n.length<1)return e;let o=Ae(e);t.handle({type:r,selector:o,handlers:n})}return e},prepend:(e,...r)=>{if(!e.is.empty&&r){let n=e.length===1;for(let o of r){if(C(o)){o=o.trim();let f=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):$(o);f=n?f:R(f),E(e,h=>h.prepend(f.cloneNode(!0)))}M(o)&&E(e,l=>l.prepend(n?o:R(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,f=>l.prepend(n?f:R(f)))),o.collection.reverse())}}return e},prependTo:(e,r)=>(r.isJQx||(r=t.virtual(r)),r.prepend(e),e),prop:(e,r,n)=>{if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let o=a(r,Object)?r:{[r]:n};for(let[l,f]of Object.entries(o)){if(l=l.trim(),f&&!ce(l)||!f)return!1;if(l.toLowerCase()==="id")return e[0].id=f;E(e,m=>{if(l.startsWith("data"))return m.dataset[l.slice(l.indexOf("-")+1)]=f;m[l]=f})}return e},remove:(e,r)=>{L.log(`remove ${D(e.HTML.get(1),40)}${r?` /w selector ${r}`:""}`);let n=l=>l.remove(),o=()=>e.collection=e.collection.filter(l=>document.documentElement.contains(l));if(r){let l=e.find$(r);return l.is.empty||(E(l,n),o()),e}return E(e,n),o(),e},rmAttr:(e,...r)=>{for(let n of r)e.node.removeAttribute(n);return e},removeClass:(e,...r)=>E(e,n=>{if(n)for(let o of r)n.classList.remove(o)}),renderTo:(e,r=document.body,n=t.at.end)=>(e.first$().toDOM(r,n),e),replace:(e,r,n)=>{let o=e[0];return!r||!n||!a(n,HTMLElement)&&!n.isJQx?(console.error("JQx replace: invalid replacement value"),e):(n.isJQx&&(n=n[0]),a(n,NodeList)&&(n=n[0]),o&&r&&(r=a(r,String)?o.querySelectorAll(r):r.isJQx?r.collection:r,a(r,HTMLElement,NodeList,Array)&&a(n,HTMLElement)&&(a(r,HTMLElement)?[r]:[...r]).forEach(l=>l.replaceWith(n.cloneNode(!0)))),e)},replaceClass:(e,r,...n)=>E(e,o=>{o.classList.remove(r);for(let l of n)o.classList.add(l)}),replaceMe:(e,r)=>e.replaceWith(r),replaceWith:(e,r)=>(r=a(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e),setData:(e,r)=>E(e,n=>fe(n,r)),show:e=>E(e,r=>Z(r,{display:"revert-layer !important"})),single:(e,r)=>e.collection.length>0?a(r,String)?e.find$(r):a(r,Number)?t(e.collection[r]):t(e.collection[0]):e,style:(e,r,n)=>E(e,l=>{n&&a(r,String)&&(r={[r]:n||"none"}),Z(l,r)}),text:(e,r,n=!1)=>e.isEmpty()?e:a(r,String)?E(e,l=>l.textContent=n?l.textContent+r:r):e.first().textContent,toDOM:(e,r=document.body,n=T.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),z(e.collection,r,n),e),toggleClass:(e,r)=>E(e,n=>n.classList.toggle(r)),toNodeList:e=>[...e.collection].map(r=>document.importNode(r,!0)),trigger:(e,r,n=Event,o={})=>{if(e.collection.length){let l=new n(r,{...o,bubbles:o.bubbles??!0});for(let f of e.collection)f.dispatchEvent(l)}return e},val:(e,r)=>{let n=e[0];return!n||!a(n,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:r===void 0?n.value:(n.value=a(r,String)?r:"",e)}}}var $e,he,{isComment:Vr,isText:Ur,isHtmlString:_r,isArrayOfHtmlElements:Gr,isArrayOfHtmlStrings:Zr,ElemArray2HtmlString:Yr,addHandlerId:Xr,cssRuleEdit:De,addFn:Qt}=zt();function zt(){return{..._e(),addFn:function(t,e){return L.log(`JQx: added extension function [${t}]`),he[t]=(r,...n)=>e(r,...n)}}}function ee(t){return new Proxy(t,Object.freeze({get:(e,r)=>Wt(e,r,t)}))}function Xe(t,e){return(...r)=>a(t,Function)&&t(ee(e),...r)}function Wt(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in $e:return Xe($e[e],r)();case e in he:return Xe(he[e],r);default:return t[e]}}function et(t){let e=Zt(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function Vt(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?X(e):e.toLowerCase(),P.allowTag(e),a(t[e],Function)||Object.defineProperties(t,He(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),P.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,He(e,!1,t))}}}function Ke(...t){if(t.length===1){let e=String(t.shift().trim());t=e.startsWith("!")?[e.slice(1,-1)]:e.split(",").map(r=>r.trim())}for(let e of t.map(r=>r.startsWith("!")?r.slice(1,-1):r))De(e,{removeRule:1})}function Ut(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(l=>n===l);let o=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let l of o.collection)n?r.insertAdjacentElement(n,l):r.append(l);return o}}function _t(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,l]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...l,enumerable:!1})}return e}function Gt(t,e,r,n){return t=N(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(Q(re[t](...o)))},enumerable:!1,configurable:!0}}function He(t,e,r,n){t=t.toLowerCase();let o=Gt(t,e,r,n);return n?{[n]:o,[X(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function Zt(t){return _t(Object.entries(P.tagsRaw).reduce(Yt(t),{}),rr(t))}function Yt(t){return function(e,[r,n]){return n&&Object.defineProperties(e,He(r,n,t)),e}}function Xt(t){return function(e,r,...n){a(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function Kt(t){return function(e){let{type:r,origin:n,selector:o,handlers:l,name:f,capture:h,once:m,canRemove:S}=e,y=Le(r),x=f;l=a(l,Function)?[l]:l,S=a(S,Boolean)?S:!1;let g={eventType:y,selector:o||n,capture:h,name:x,once:m,canRemove:S};switch(!0){case(a(y,Array)&&y.length>0):for(let p of y)g.eventType=p,qe(l,g,t);break;default:return qe(l,g,t)}}}function qe(t,e,r){for(let n of t)r({...e,callback:n})}function qt(t,e){return e=C(e)&&e,t=C(t)&&t,e&&t&&[...H[t].values()].find(r=>(r.name||"")===e)}function er(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:le(t),enumerable:!1}),t.activePopup}function tr(t){let e=(m,S)=>De(m,S),r=m=>_({createWithId:m||`jqx${Y()}`}),n=(...m)=>{for(let S of m)De(S)},o=Vt(t),l=se(t),f=Kt(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:f,log:(...m)=>L.on.log(...m).off}}function rr(t){let{factoryExtensions:e,instanceExtensions:r}=Ye(t);$e=e,he=r;let{editCssRule:n,createStyle:o,editCssRules:l,allowProhibit:f,handle:h,capturedHandling:m,log:S}=tr(t);return{log:S,editCssRules:l,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:I,logger:L,text:(y,x=!1)=>x?t.comment(y):document.createTextNode(y),node:(y,x=document)=>x.querySelector(y,x),nodes:(y,x=document)=>[...x.querySelectorAll(y,x)],get getNamedListener(){return qt},get virtual(){return Ut(t)},get allowTag(){return f.allow},get prohibitTag(){return f.prohibit},get removeCssRule(){return Ke},get removeCssRules(){return Ke},get delegate(){return Xt(m)},get delegateCaptured(){return m},get handle(){return m},get at(){return T},get setStyle(){return n},get fn(){return Qt},get lenient(){return P.allowUnknownHtmlTags},get IS(){return a},get Popup(){return er(t)}}}var tt=et(nr());function nr(){return function(e,r,n=T.BeforeEnd){if(e?.isJQx)return e;let o=a(r,HTMLBRElement);r=(!o&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(T).find(g=>n===g)?n:void 0;let l=K(e),f=!l&&be(e),h=f||l,m={collection:de(e)??[],isVirtual:o,isJQx:!0},S=q(m.collection),y=`JQx: input =&gt; ${f?`"${D(e.join(", "),70)}"`:!h&&S?`element collection [${D(m.collection.map(g=>`${a(g,Comment,Text)?"Comment|Text @":""} ${g?.outerHTML||g?.textContent}`).join(", "),70)}]`:`"${D(e,70)}"`}`;if(m.collection.length&&S)return L.log(y),o||m.collection.forEach(g=>{r.contains(g)||z([g],r,n)}),ee(m);if(h){if([e].flat().forEach(g=>m.collection.push($(g))),m.collection.length>0){let g=m.collection.filter(p=>p?.dataset?.jqxcreationerror);m.collection=m.collection.filter(p=>!p?.dataset?.jqxcreationerror),L.log(`${y}`),L.log(`JQx: created ${m.isVirtual?"VIRTUAL ":""}[${D(pe(m.collection).trim()||"sanitized: no elements remaining",70)}]`),m.isVirtual||z(m.collection,r,n)}return ee(m)}let x=Ce(e,r,m);return L.log(`JQx: input => ${x}`),ee(m)}}var nn=tt;export{nn as default};
13
+ `)}function Ct(t){return t.reduce((e,r)=>{let[n,i]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&i?{...e,[n]:i}:e},{})}function Tt(t){return Ct(Ft(t))}function ke(t,e){return t?.replace("::",":")===e?.replace("::",":")}var Ee=!1,$t={on:()=>Ee=!0,off:()=>Ee=!1},P={tagsRaw:W,allowUnknownHtmlTags:$t,isAllowed(t){if(Ee)return!0;let e=a(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!W[e]},allowTag:t=>W[t.toLowerCase()]=!0,prohibitTag:t=>W[t.toLowerCase()]=!1};var At=!0,ne={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};function Ht(t){if(At&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,i])=>[...r,`${M(n)} => ${i}`],[]).join("\\000A");C.error(`JQx: HTML creation error(s): ${e}`)}}function Dt(t){let e=t.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(e)&&!r.find(n=>n===e)||P.isAllowed(e)}function Q(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&Q(r),r?.attributes){let i=a(r,SVGElement)?z.svg:z.html;[...(r??{attributes:[]}).attributes].forEach(s=>{let d=s.name.trim().toLowerCase(),v=s.value.trim().toLowerCase().replace(ne.whiteSpace,""),p=d==="href"?!ne.validURL.test(v):ne.notAllowedValues.test(v),w=d.startsWith("data")?!ne.data.test(d):!!i[d];if(p||w){let y=oe(s.value||"none",60);y+=y.length===60?"...":"",e.removed[`${s.name}`]=`attribute/property/value not allowed, removed. Value: ${y}`,r.removeAttribute(s.name)}})}if(!(Dt(r)||r.constructor===CharacterData||r.constructor===Comment)){let i=(r?.outerHTML||r?.textContent).trim(),s=oe(i,60)??"EMPTY";s+=s.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${s}`,r.remove()}}),Ht(e),t}function Nt(t){let e=document.createElement("div");return e.insertAdjacentHTML(T.end,t),e.childNodes.length?Q(e):void 0}function Pt(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function B(t=[],e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e.node:e||document.body,t.reduce((n,i)=>{let s=O(i)&&Ot(i,e,r);return s?[...n,s]:n},[])}function Ot(t,e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?Pt(t,e,r):a(t,HTMLElement)?e.insertAdjacentElement(r,t):void 0}function H(t){if(a(t,Text,Comment))return t;let e=t?.trim(),r=e?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(i=>i.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(t.replace(/<!--|-->$/g,""));if(r||!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(r);let n=Nt(t);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${D(t,60)}</span>`):n.children[0]}function ie(t){if(t.node("#jqxPopup"))return;t.logger.log("JQx: [JQx].Popup first call. Dialog element created."),t.dialog({id:"jqxPopup"},t.div({id:"jqxPopupContent"})).render,t.editCssRules(...Ne);let[e,r]=[t("#jqxPopupContent"),t.node("#jqxPopup")],n={};return t.handle({type:"click, keydown",handlers:y,name:"genericPopupCloseHandler",capture:!0,about:"A generic handler for JQx popups"}),Object.freeze({show:i,remove:s,removeModal:w});function i(g){if(r.open)switch(!0){case d(g):return;default:return s(),setTimeout(()=>i(g),200)}n={...g};let{content:u}=n;return t.IS(u,String,HTMLElement)||u?.isJQx?v():!0}function s(){return n.modal?f(n.warnMessage):p()}function d(g){for(let[u,h]of Object.entries(n))if(h!==g[u])return!1;return!0}function v(){e.clear();let{content:g,modal:u,closeAfter:h}=n;u=t.IS(u,Boolean)?u:!1;let S=u?"":t.div({id:"closeHandleIcon"});e.append(S,t.IS(g,String)?t.div(g):g),r.showModal(),!u&&t.IS(h,Number)&&b(s,h)}function p(){if(r.close(n.returnValue),t.IS(n.callback,Function))return setTimeout(()=>n.callback(n.returnValue),200);n={}}function w({callback:g,value:u}={}){n.returnValue=u,n.modal=!1,n.callback=g||n.callback,s()}function y({evt:g}){if(!(Object.keys(n).length<1||!r.open))return g.key==="Escape"&&g.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(g.target.closest("#closeHandleIcon")||!g.target.closest("#jqxPopupContent"))&&s(),!0}function b(g,u){t.IS(g,Function)&&t.IS(u,Number)&&u>0&&(n.activeTimer=setTimeout(g,u*1e3))}function f(g){if(!t.IS(g,String,HTMLElement,Proxy))return;let u=e.find$(".warn");switch(!0){case u.is.empty:u=t.div({class:"warn"},g);default:e.append(u.addClass("active")),b(()=>e.find$(".warn").removeClass("active"),2)}}}function le(t){let e={},r="anonymous_";function n(y){if(y){let{handler:b,capture:f,type:g}=y;document.addEventListener(g,b,{capture:f})}}function i(y){if(y){let{type:b,handler:f,capture:g}=y;document.removeEventListener(b,f,{capture:g})}}function s(y,b,f,g){return function(u){if(!F(b))return y({evt:u});let h=u.target.closest(b);if(h){let S=t(h);y({self:S,me:S,evt:u}),f&&p(u.type,g)}return!0}}function d(y){return e[y]=e[y]||{},e[y]}function v(y,b){return Object.entries(d(y)).find(([f])=>f===b)}function p(y,b){let f=v(y,b);f&&(i(f[1]),delete e[y][b],delete se[b],Object.keys(e[y]).length<1&&delete e[y],console.warn(`Removed listener [${b}] for event type [${y}].`))}function w(y){let{type:b,handler:f,name:g,capture:u,once:h,selector:S,node:L,about:A}=y;e[b]=e[b]||{};let o=U(g||f.name);if(L instanceof HTMLElement){let l=L.dataset.hid||o;L.dataset.hid=l,S=`[data-hid=${l}]`}switch(!0){case!e[b][o]:return e[b][o]={name:o,handler:s(f,S,h,o),capture:Je(b,u),once:!!h,type:b,selector:!!S&&S||!1,about:!!A&&A||!1,unListen(){p(b,o)}},e[b][o];default:return console.error(`The name [${o}] for [${b}] exists. Use unique (function) names.`)}}return{remove(...y){return p(...y)},listen:function(y){let{type:b,handler:f}=y;if(!F(b)||!a(f,Function))return;let g=w(y);if(g)return n(g),{type:b,name:g.name,unListen(){p(b,g.name)}}},get ListenerStore(){return Object.freeze({...e})}}}var C=Rt(),Mt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],T=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}})),It=[...Array(26)].map((t,e)=>String.fromCharCode(e+65)).concat([...Array(26)].map((t,e)=>String.fromCharCode(e+97))).concat([...Array(10)].map((t,e)=>`${e}`)),Le=Object.freeze({get(t,e){return t[Y(e)]||t[e]},enumerable:!1,configurable:!1}),se={};function U(t){return F(t)&&!!t&&!/^handler|handlers$/gi.test(t.trim())?t.trim():Be()}function Be(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return se[e]?Be():(se[e]=e,e)}function Je(t,e){return!!Mt.find(r=>r===t)||!!e}function ce(t){return t.startsWith("data")||z.html.find(e=>t.toLowerCase()===e)}function ue(t){return t&&(t.textContent="")}function G(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?G(t,e,r):e}function F(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function oe(t,e=120){return D(t,e).replace(/&lt;/g,"<")}function D(t,e=120){return`${t}`.trim().slice(0,e).replace(/>\s+</g,"><").replace(/</g,"&lt;").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(t.length>e?" &hellip;":"").trim()}function M(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function Qe(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function Rt(){let t=!1,e=[],r={get on(){return t=!0,r},get off(){return t=!1,r},get backLog(){return e}};function n(...s){return e.unshift(...s.map(d=>`${we()} \u2A3B ${Qe(d)}`)),console.error(e.slice(0,s.length).join(`
14
+ `)),r}function i(...s){switch(e.unshift(...s.map(d=>`${we()} \u2714 ${Qe(d)}`)),t){case!0:console.log(e.slice(0,s.length).join(`
15
+ `));default:return r}}return Object.defineProperties(r,{log:{value:i,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}function we(){return(t=>`[${ae(t.getHours())}:${ae(t.getMinutes())}:${ae(t.getSeconds())}.${ae(t.getMilliseconds(),3)}]`)(new Date)}function Fe(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=N(r),r.startsWith("data"))return fe(t,n);a(n,String)&&ce(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function fe(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${N(r)}`,n)}function de(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:O(t)?[t]:K(t)?t:t.isJQx?t.collection:void 0:[]}function me(t,e){return t.andThen(e)}function ge(t,e){return t.andThen(e,!0)}function O(t){return a(t,Text,HTMLElement,Comment)}function Z(t,e){if(a(e,Object))for(let[r,n]of Object.entries(e)){let i;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),i="important"),t.style.setProperty(N(r),n,i)}}function I(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function ze(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),i=[e.display,r.display].includes("none"),s=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,d=+r.opacity==0||+(e.opacity||1)==0;return!(s||d||i||n)}function We(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function pe(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(Te(r)?`<!--${r.data}-->`:he(r)?r.textContent:r.outerHTML),"")}function ae(t,e=2){return`${t}`.padStart(e,"0")}function Ve(t,e=0){return[t,e]=[Math.floor(t),Math.ceil(e)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(t-e+1)+e)}function ye(){return`_${jt(It).slice(0,8).join("")}`}function Ce(t){return t=a(t,String)&&/,/.test(t)?t.split(","):t,a(t,Array)?t.filter(e=>F(e)).map(e=>e.trim().toLowerCase()):a(t,String)&&t?.trim().toLowerCase()||""}function _e(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function jt(t){let e=t.length;for(;e--;){let r=Ve(e);[t[e],t[r]]=[t[r],t[e]]}return t}function Y(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${kt(e)}`||e).join(""):t}function N(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function kt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function he(t){return a(t,Comment,Text)}function Te(t){a(t,Comment)}function Ue(t){return a(t,Text)}function X(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function K(t){return a(t,Array)&&!t?.find(e=>!O(e))}function be(t){return a(t,Array)&&!t?.find(e=>!X(e))}function E(t,e){let r=t.collection.filter(n=>!he(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function $e(t,e,r){let n=e!==document.body&&a(t,String)&&t.toLowerCase()!=="body"?e:document,i;try{r.collection=[...n.querySelectorAll(t)]}catch{i=`Invalid CSS querySelector. [${a(t,String)?t:"Nothing valid given!"}]`}let s=r.collection.length;return s<1?`CSS querySelector "${t}", output: nothing`:i??`CSS querySelector "${t}", output ${s} element${s>1?"s":""}`}function Jt(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Ge(){return{isCommentOrTextNode:he,isNode:O,isComment:Te,isText:Ue,isHtmlString:X,isArrayOfHtmlElements:K,isArrayOfHtmlStrings:be,ElemArray2HtmlString:pe,input2Collection:de,setCollectionFromCssSelector:$e,addHandlerId:Jt,cssRuleEdit:_({createWithId:"JQxStylesheet"})}}function Ze(){let e=Object.freeze({notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return a(n,Node)?Object.freeze({get writable(){return We(n)},get modal(){return _e(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return ze(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function Ye(t,e,r,n){r&&a(e,String)&&(e={[e]:r==="-"?"":r});let i;e.className&&(i=e.className,delete e.className),i=[...t.classList].find(d=>d.startsWith("JQxClass-")||i&&d===i)||i||`JQxClass-${ye().slice(1)}`,n.editCssRule(`.${i}`,e),t.classList.add(i)}var Qt=Ze();function Xe(t){return{factoryExtensions:Bt(t),instanceExtensions:zt(t)}}function Bt(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Le)},set:(r={})=>{if(!e.is.empty&&a(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},get:(r,n)=>e.data.all[r]??n,add:(r={})=>{if(!e.is.empty&&a(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},remove:r=>(e[0]?.removeAttribute(`data-${N(r)}`),e)}),dimensions:e=>{if(e.is.empty)return{error:"[instance].dimensions: NO ELEMENTS"};let r=e[0],n=e.first()?.getBoundingClientRect().toJSON();return n.scrollTopDistance=G(r,0),n.scrollLeftDistance=G(r,0,!1),n},node:e=>e[0],HTML:e=>({get:(r,n)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let i=r?e.outerHtml:e.html();return n?M(i):i},set:(r,n=!1,i=!1)=>{r=r.isJQx?r.HTML.get(1):r;let s=a(r,String);return r=s&&i?M(r):r,s&&(r||"").trim().length&&e.html(r,n),e},replace:(r,n=!1)=>e.HTML.set(r,!1,n),append:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)),insert:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n))}),is:e=>Qt(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let r=t(e[0]?.parentNode);return r.is.empty?e:r},render:e=>(!e.is.empty&&e.toDOM()||t.log("[JQx.render]: empty collection"),e),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:r=>e.style(r),inSheet:r=>e.css(r),valueOf:r=>e.is.empty?void 0:getComputedStyle(e[0])[N(r)],nwRule:r=>e.Style.byRule({rules:r}),byRule:({classes2Apply:r=[],rules:n=[]}={})=>{let s=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let d of r)e.addClass(d);return s?.startsWith(".")&&e.addClass(s.slice(1)),s?.startsWith("#")&&!e.attr("id")&&e.prop({id:s.slice(1)}),e}})}}function zt(t){return{addClass:(e,...r)=>E(e,n=>n&&r.forEach(i=>n.classList.add(i))),after:me,afterMe:me,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return C.log(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${r}]`),e;r=r?.isJQx?r.collection:a(r,Node)?t.virtual(r).collection:t.virtual(H(r)).collection;let[i,s,d]=n?[0,"before",r.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r)];return e[i][s](...r),e.collection=d,e},append:(e,...r)=>{if(!e.is.empty&&r.length){let n=e.length===1;for(let i of r){if(!i.isJQx&&F(i)){let s=i.trim(),v=!/^<(.+)[^>]+>$/m.test(s)?t.text(i):H(i);E(e,p=>p.append(n?v:I(v)))}O(i)&&E(e,s=>s.append(n?i:I(i))),i.isJQx&&!i.is.empty&&E(e,s=>i.collection.forEach(d=>s.append(n?d:I(d))))}}return e},appendTo:(e,r)=>(r.isJQx||(r=t(r)),r.append(e),e),attr:(e,r,n)=>{let i=e[0];if(!i)return e;if(!n&&F(r))return r=N(r),r==="class"?[...i?.classList].join(" "):i?.getAttribute(r);if(F(r)&&n)switch(r=N(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&Fe(i,r),e},before:ge,beforeMe:ge,clear:e=>E(e,ue),closest:(e,r)=>{let n=F(r)?e[0].closest(r):null;return n?t(n):e},computedStyle:(e,r)=>e.first()&&getComputedStyle(e.first())[r],css:(e,r,n)=>E(e,i=>Ye(i,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{if(e.collection.length>0){let i=e.collection[0].cloneNode(!0);return i.childNodes.forEach(s=>{s.removeAttribute&&s?.removeAttribute("id")}),r?t(i).toDOM(n):t.virtual(i)}return C.error("Duplicating an empty JQx instance is not possible"),e},each:(e,r)=>E(e,r),empty:e=>E(e,ue),find:(e,r)=>e.collection.length>0?[...e.first()?.querySelectorAll(r)]:[],find$:(e,r)=>e.collection.length>0?t(r,e):e,first:(e,r=!1)=>{if(e.collection.length>0)return r?e.single():e.collection[0]},first$:(e,r)=>e.single(r),getData:(e,r,n)=>e.first()&&e.first().dataset?.[r]||n,hasClass:(e,...r)=>{let n=e[0];return!n||!n.classList.length?!1:r.find(i=>n.classList.contains(i))&&!0||!1},hide:e=>E(e,r=>Z(r,{display:"none !important"})),html:(e,r,n)=>{if(r===void 0){let i=e.node;return i?.getHTML&&i.getHTML()||""}if(!e.isEmpty()){let i=H(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);if(!a(i,Comment))return E(e,d=>(n||(d.textContent=""),d.insertAdjacentHTML(t.at.end,i.getHTML())))}return e},htmlFor:(e,r,n="",i=!1)=>{if(r&&e.collection.length){if(!r||!F(n))return e;let s=e.find$(r);if(s.length<1)return e;let d=H(`<span>${n}</span>`);s.each(v=>{i||(v.textContent=""),v.insertAdjacentHTML(t.at.end,d?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,r)=>e.single(r),on:(e,r,...n)=>{if(e.collection.length&&a(r,String,Array)){if(!F(r)||n.length<1)return e;t.handle({type:r,node:e.node,handlers:n})}return e},once:(e,r,...n)=>{if(e.collection.length&&a(r,String,Array)){if(!F(r)||n.length<1)return e;t.handle({type:r,once:!0,node:e.node,handlers:n})}return e},prepend:(e,...r)=>{if(!e.is.empty&&r){let n=e.length===1;for(let i of r){if(F(i)){i=i.trim();let d=!/^<(.+)[^>]+>$/m.test(i)?t.text(i):H(i);d=n?d:I(d),E(e,v=>v.prepend(d.cloneNode(!0)))}O(i)&&E(e,s=>s.prepend(n?i:I(i))),i.isJQx&&!i.is.empty&&(i.collection.length>1&&i.collection.reverse(),E(e,s=>E(i,d=>s.prepend(n?d:I(d)))),i.collection.reverse())}}return e},prependTo:(e,r)=>(r.isJQx||(r=t.virtual(r)),r.prepend(e),e),prop:(e,r,n)=>{if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let i=a(r,Object)?r:{[r]:n};for(let[s,d]of Object.entries(i)){if(s=s.trim(),d&&!ce(s)||!d)return!1;if(s.toLowerCase()==="id")return e[0].id=d;E(e,p=>{if(s.startsWith("data"))return p.dataset[s.slice(s.indexOf("-")+1)]=d;p[s]=d})}return e},remove:(e,r)=>{C.log(`remove ${D(e.HTML.get(1),40)}${r?` /w selector ${r}`:""}`);let n=s=>s.remove(),i=()=>e.collection=e.collection.filter(s=>document.documentElement.contains(s));if(r){let s=e.find$(r);return s.is.empty||(E(s,n),i()),e}return E(e,n),i(),e},rmAttr:(e,...r)=>{for(let n of r)e.node.removeAttribute(n);return e},removeClass:(e,...r)=>E(e,n=>{if(n)for(let i of r)n.classList.remove(i)}),renderTo:(e,r=document.body,n=t.at.end)=>(e.first$().toDOM(r,n),e),replace:(e,r,n)=>{let i=e[0];return!r||!n||!a(n,HTMLElement)&&!n.isJQx?(console.error("JQx replace: invalid replacement value"),e):(n.isJQx&&(n=n[0]),a(n,NodeList)&&(n=n[0]),i&&r&&(r=a(r,String)?i.querySelectorAll(r):r.isJQx?r.collection:r,a(r,HTMLElement,NodeList,Array)&&a(n,HTMLElement)&&(a(r,HTMLElement)?[r]:[...r]).forEach(s=>s.replaceWith(n.cloneNode(!0)))),e)},replaceClass:(e,r,...n)=>E(e,i=>{i.classList.remove(r);for(let s of n)i.classList.add(s)}),replaceMe:(e,r)=>e.replaceWith(r),replaceWith:(e,r)=>(r=a(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e),setData:(e,r)=>E(e,n=>fe(n,r)),show:e=>E(e,r=>Z(r,{display:"revert-layer !important"})),single:(e,r)=>e.collection.length>0?a(r,String)?e.find$(r):a(r,Number)?t(e.collection[r]):t(e.collection[0]):e,style:(e,r,n)=>E(e,s=>{n&&a(r,String)&&(r={[r]:n||"none"}),Z(s,r)}),text:(e,r,n=!1)=>e.isEmpty()?e:a(r,String)?E(e,s=>s.textContent=n?s.textContent+r:r):e.first().textContent,toDOM:(e,r=document.body,n=T.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),B(e.collection,r,n),e),toggleClass:(e,r)=>E(e,n=>n.classList.toggle(r)),toNodeList:e=>[...e.collection].map(r=>document.importNode(r,!0)),trigger:(e,r,n=Event,i={})=>{if(e.collection.length){let s=new n(r,{...i,bubbles:i.bubbles??!0});for(let d of e.collection)d.dispatchEvent(s)}return e},val:(e,r)=>{let n=e[0];return!n||!a(n,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:r===void 0?n.value:(n.value=a(r,String)?r:"",e)}}}var Ae,Se,{isComment:Gr,isText:Zr,isHtmlString:Yr,isArrayOfHtmlElements:Xr,isArrayOfHtmlStrings:Kr,ElemArray2HtmlString:qr,addHandlerId:en,cssRuleEdit:He,addFn:Wt}=Vt();function Vt(){return{...Ge(),addFn:function(t,e){return C.log(`JQx: added extension function [${t}]`),Se[t]=(r,...n)=>e(r,...n)}}}function q(t){return new Proxy(t,Object.freeze({get:(e,r)=>_t(e,r,t)}))}function Ke(t,e){return(...r)=>a(t,Function)&&t(q(e),...r)}function _t(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in Ae:return Ke(Ae[e],r)();case e in Se:return Ke(Se[e],r);default:return t[e]}}function tt(t){let e=Xt(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function Ut(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?Y(e):e.toLowerCase(),P.allowTag(e),a(t[e],Function)||Object.defineProperties(t,De(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),P.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,De(e,!1,t))}}}function qe(...t){if(t.length===1){let e=String(t.shift().trim());t=e.startsWith("!")?[e.slice(1,-1)]:e.split(",").map(r=>r.trim())}for(let e of t.map(r=>r.startsWith("!")?r.slice(1,-1):r))He(e,{removeRule:1})}function Gt(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(s=>n===s);let i=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let s of i.collection)n?r.insertAdjacentElement(n,s):r.append(s);return i}}function Zt(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[i,s]of Object.entries(n))!(i in e)&&Object.defineProperty(e,i,{...s,enumerable:!1})}return e}function Yt(t,e,r,n){return t=N(n||t.toLowerCase()),{get(){return(...i)=>e&&r.virtual(Q(te[t](...i)))},enumerable:!1,configurable:!0}}function De(t,e,r,n){t=t.toLowerCase();let i=Yt(t,e,r,n);return n?{[n]:i,[Y(n)]:i}:{[t]:i,[t.toUpperCase()]:i}}function Xt(t){return Zt(Object.entries(P.tagsRaw).reduce(Kt(t),{}),or(t))}function Kt(t){return function(e,[r,n]){return n&&Object.defineProperties(e,De(r,n,t)),e}}function qt(t){return function(e,r,...n){a(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function er(t){return function(e){let{type:r,types:n,origin:i,selector:s,handler:d,handlers:v,node:p,name:w,capture:y,once:b,about:f}=e;d=v||d,r=n||r,s=i||s;let g=Ce(r),u=w;d=a(d,Function)?[d]:d;let h={type:g,selector:s||i,capture:y,name:u,once:b,node:p,about:f};switch(!0){case(a(g,Array)&&g.length>0):for(let S of g)h.type=S,et(d,h,t);break;default:return et(d,h,t)}}}function et(t,e,r){for(let n of t)e.name=U(e.name||n.name),r.listen({...e,handler:n})}function tr(t){return function(e,r){return r=F(r)&&r,e=F(e)&&e,r&&e&&t.listenerStore[e][r]}}function rr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:ie(t),enumerable:!1}),t.activePopup}function nr(t){let e=(p,w)=>He(p,w),r=p=>_({createWithId:p||`jqx${ye()}`}),n=(...p)=>{for(let w of p)He(w)},i=Ut(t),s=le(t),d=er(s);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:i,handle:d,capturedHandling:d,log:(...p)=>C.on.log(...p).off,handlerWrapper:s}}function or(t){let{factoryExtensions:e,instanceExtensions:r}=Xe(t);Ae=e,Se=r;let{editCssRule:n,createStyle:i,editCssRules:s,allowProhibit:d,handle:v,capturedHandling:p,log:w,handlerWrapper:y}=nr(t),b=tr(t);return{log:w,editCssRules:s,createStyle:i,editStylesheet:i,editCssRule:n,escHtml:M,logger:C,text:(f,g=!1)=>g?t.comment(f):document.createTextNode(f),node:(f,g=document)=>g.querySelector(f,g),nodes:(f,g=document)=>[...g.querySelectorAll(f,g)],get getNamedListener(){return b},get virtual(){return Gt(t)},get allowTag(){return d.allow},get prohibitTag(){return d.prohibit},get removeCssRule(){return qe},get removeCssRules(){return qe},get delegate(){return qt(p)},get delegateCaptured(){return p},get handle(){return p},get listen(){return y.listen},get at(){return T},get setStyle(){return n},get fn(){return Wt},get lenient(){return P.allowUnknownHtmlTags},get IS(){return a},get Popup(){return rr(t)},get listenerStore(){return y.ListenerStore}}}var rt=tt(ir());function ir(){return function(e,r,n=T.BeforeEnd){if(e?.isJQx)return e;let i=a(r,HTMLBRElement);r=(!i&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(T).find(f=>n===f)?n:void 0;let s=X(e),d=!s&&be(e),v=d||s,p={collection:de(e)??[],isVirtual:i,isJQx:!0},w=K(p.collection),y=`JQx: input =&gt; ${d?`"${D(e.join(", "),70)}"`:!v&&w?`element collection [${D(p.collection.map(f=>`${a(f,Comment,Text)?"Comment|Text @":""} ${f?.outerHTML||f?.textContent}`).join(", "),70)}]`:`"${D(e,70)}"`}`;if(p.collection.length&&w)return C.log(y),i||p.collection.forEach(f=>{r.contains(f)||B([f],r,n)}),q(p);if(v){if([e].flat().forEach(f=>p.collection.push(H(f))),p.collection.length>0){let f=p.collection.filter(g=>g?.dataset?.jqxcreationerror);p.collection=p.collection.filter(g=>!g?.dataset?.jqxcreationerror),C.log(`${y}`),C.log(`JQx: created ${p.isVirtual?"VIRTUAL ":""}[${D(pe(p.collection).trim()||"sanitized: no elements remaining",70)}]`),p.isVirtual||B(p.collection,r,n)}return q(p)}let b=$e(e,r,p);return C.log(`JQx: input => ${b}`),q(p)}}var sn=rt;export{sn as default};
@@ -23,6 +23,7 @@ function characterDataElement2DOM(elem, root, position) {
23
23
 
24
24
  function inject2DOMTree( collection = [], root = document.body, position = insertPositions.BeforeEnd ) {
25
25
  position = position || insertPositions.BeforeEnd;
26
+ root = root?.isJQx ? root.node : root || document.body;
26
27
  return collection.reduce( (acc, elem) => {
27
28
  const created = isNode(elem) && element2DOM(elem, root, position);
28
29
  return created ? [...acc, created] : acc;
@@ -1,85 +1,114 @@
1
- import { isNonEmptyString } from "./Utilities.js";
2
- const handlerStore = {};
3
- const shouldCaptureEventTypes = [
4
- `load`, `unload`, `scroll`, `focus`, `blur`, `DOMNodeRemovedFromDocument`,
5
- `DOMNodeInsertedIntoDocument`, `loadstart`, `progress`, `error`, `abort`,
6
- `load`, `loadend`, `pointerenter`, `pointerleave`, `readystatechange`];
7
- const getCapture = eventType => !!(shouldCaptureEventTypes.find(t => t === eventType));
8
- export { handlerStore as listeners, HandleFactory as default };
1
+ import { IS, isNonEmptyString, getCaptureValue, getHandlerName, handlerIdCache } from "./Utilities.js";
9
2
 
10
- function HandleFactory(jqx) {
11
- return function(spec) {
12
- let {eventType, selector, callback, name, capture, once, canRemove} = spec;
3
+ export { HandlerFactory };
13
4
 
14
- switch(true) {
15
- case !isNonEmptyString(eventType) || !jqx.IS(callback, Function):
16
- default:
17
- name = name || (!/handlers$/.test(callback.name) && callback.name) || undefined;
18
- capture = jqx.IS(capture, Boolean) ? capture : false;
19
- once = jqx.IS(once, Boolean) ? once : false;
20
- canRemove = isNonEmptyString(name, 4) && jqx.IS(canRemove, Boolean) ? canRemove : once;
21
- const { handler, signal, remove } = wrapHandlerFunction({selector, callback, canRemove, once, name, eventType});
22
- return addAndStoreListener({eventType, handler, capture, once, signal, remove, name});
5
+ function HandlerFactory(jqx) {
6
+ const store = {};
7
+ const anon = `anonymous_`;
8
+
9
+ function setListener(listener) {
10
+ if (listener) {
11
+ const {handler, capture, type} = listener;
12
+ document.addEventListener(type, handler, {capture});
23
13
  }
24
- };
25
-
26
- function wrapHandlerFunction(spec) {
27
- const {selector, callback, canRemove, name, eventType, once} = spec;
28
- const abortcontroller = (canRemove || once) && new AbortController();
29
- const remove = removeHandlerFactory({once, abortcontroller, name, eventType});
30
- const listener = !selector
31
- ? { handler: evt => callback(evt, evt.target, remove), remove}
32
- : { handler: evt => {
33
- const target = evt.target?.closest?.(selector);
34
- return target && callback(evt, jqx(target), remove);
35
- },
36
- remove
37
- };
38
-
39
- if (abortcontroller) {
40
- listener.signal = abortcontroller.signal;
41
- if (once) {
42
- return {
43
- handler: (evt, me) => {
44
- listener.handler(evt, me);
45
- remove();
46
- }
14
+ }
15
+
16
+ function removeListener(listener) {
17
+ if (listener) {
18
+ const {type, handler, capture} = listener;
19
+ document.removeEventListener(type, handler, {capture});
20
+ }
21
+ }
22
+
23
+ function wrapFn4Selector(fn, selector, once, handlerName) {
24
+ return function(evt) {
25
+ if (!isNonEmptyString(selector)) {
26
+ return fn({evt});
27
+ }
28
+
29
+ const elemFound = evt.target.closest(selector);
30
+ if (elemFound) {
31
+ const me = jqx(elemFound);
32
+ fn({self: me, me, evt}); // self is legacy
33
+ // to avoid listener removal on capturing/bubbling,
34
+ // once is handled manually
35
+ if (once) { remove(evt.type, handlerName); }
47
36
  }
37
+ return true;
48
38
  }
49
- }
50
-
51
- return listener;
52
39
  }
53
-
54
- function removeHandlerFactory(spec) {
55
- const {once, abortcontroller, name, eventType} = spec;
56
- return !name
57
- ? function() { jqx.logger.error(`JQx: an anonymous listener can not be removed`); }
58
- : !abortcontroller
59
- ? function(evt) {
60
- jqx.logger.error(`JQx: listener for event type [${eventType}] with name [${
61
- name}] is not marked as removable`);
62
- }
63
- : function removeHandler() {
64
- abortcontroller.abort();
65
- const toRemove = [...handlerStore[eventType].entries()].find(([k, v]) => v.name === name);
66
- handlerStore[eventType].delete(toRemove[0]);
67
- jqx.logger.log(`JQx: Listener for event type [${eventType}] with name [${
68
- name}] was removed${once ? ` (once active, so handled once).` : ``}`);
69
- }
40
+
41
+ function storedEventType(eventType) {
42
+ store[eventType] = store[eventType] || {};
43
+ return store[eventType];
70
44
  }
71
-
72
- function addAndStoreListener(spec) {
73
- const {eventType, handler, capture, once, signal, remove, name} = spec;
74
- if (!handlerStore[eventType]) { handlerStore[eventType] = new Map(); }
75
- const delegateExists = handlerStore[eventType].has(handler) ||
76
- [...handlerStore[eventType].values()].find(h => (h.name || ``) === name);
77
- if (!delegateExists) {
78
- const opts = {capture: capture || getCapture(eventType), once: once || false};
79
- if (signal) { opts.signal = signal; }
80
- document.addEventListener(eventType, handler, opts);
81
- const stored = { name, remove, capture: capture || getCapture(eventType), }
82
- handlerStore[eventType].set(handler, stored);
45
+
46
+ function retrieve(eventType, name) {
47
+ return Object.entries(storedEventType(eventType))
48
+ .find( ([key, ]) => key === name );
49
+ }
50
+
51
+ function remove(eventType, name) {
52
+ const listener = retrieve(eventType, name)
53
+ if (listener) {
54
+ removeListener(listener[1]);
55
+ delete store[eventType][name];
56
+ delete handlerIdCache[name];
57
+
58
+ if (Object.keys(store[eventType]).length < 1) {
59
+ delete store[eventType];
60
+ }
61
+
62
+ console.warn(`Removed listener [${name}] for event type [${eventType}].`);
83
63
  }
84
64
  }
65
+
66
+ function storeHandler(spec) {
67
+ let { type, handler, name, capture, once, selector, node, about } = spec;
68
+ store[type] = store[type] || {};
69
+ let handlerName = getHandlerName(name || handler.name);
70
+
71
+ if (node instanceof HTMLElement) {
72
+ // Note: for multiple event types dataset.hid may be defined already
73
+ const handlerID = node.dataset.hid || handlerName;
74
+ node.dataset.hid = handlerID;
75
+ selector = `[data-hid=${handlerID}]`;
76
+ }
77
+
78
+ switch(true) {
79
+ case !store[type][handlerName]:
80
+ store[type][handlerName] = {
81
+ name: handlerName,
82
+ handler: wrapFn4Selector(handler, selector, once, handlerName),
83
+ capture: getCaptureValue(type, capture),
84
+ once: !!once,
85
+ type: type,
86
+ selector: !!selector && selector || false,
87
+ about: !!about && about || false,
88
+ unListen() { remove(type, handlerName); },
89
+ };
90
+ return store[type][handlerName];
91
+ default: return console.error(`The name [${handlerName}] for [${
92
+ type}] exists. Use unique (function) names.`);
93
+ }
94
+ }
95
+
96
+ return {
97
+ remove(...args) { return remove(...args); },
98
+ listen: function(spec) {
99
+ const { type, handler } = spec;
100
+ if ( !isNonEmptyString(type) || !IS(handler, Function) ) { return; }
101
+ const nwHandler = storeHandler(spec);
102
+
103
+ if (nwHandler) {
104
+ setListener(nwHandler);
105
+ return {
106
+ type,
107
+ name: nwHandler.name,
108
+ unListen() { remove(type, nwHandler.name); },
109
+ };
110
+ }
111
+ },
112
+ get ListenerStore() { return Object.freeze({...store}); }
113
+ };
85
114
  }
@@ -7,7 +7,12 @@ export default function($) {
7
7
  $.editCssRules(...styleRules);
8
8
  const [popupContent, popupNode] = [$(`#jqxPopupContent`), $.node(`#jqxPopup`)];
9
9
  let currentProps = {};
10
- $.handle( { type: `click, keydown`, handlers: genericPopupCloseHandler, capture: true } );
10
+ $.handle( {
11
+ type: `click, keydown`,
12
+ handlers: genericPopupCloseHandler,
13
+ name: `genericPopupCloseHandler`,
14
+ capture: true,
15
+ about: "A generic handler for JQx popups"} );
11
16
  return Object.freeze({show: initPopup, remove: initHidePopup, removeModal});
12
17
 
13
18
  function initPopup(props) {
@@ -65,7 +70,7 @@ export default function($) {
65
70
  initHidePopup();
66
71
  }
67
72
 
68
- function genericPopupCloseHandler(evt) {
73
+ function genericPopupCloseHandler({evt}) {
69
74
  if ( Object.keys(currentProps).length < 1 || !popupNode.open ) { return; }
70
75
 
71
76
  if (evt.key === `Escape`) {
@@ -4,10 +4,14 @@ import {default as tagFNFactory} from "./tinyDOM.js";
4
4
  import styleFactory from "./LifeCSS.js";
5
5
  import {createElementFromHtmlString, inject2DOMTree, cleanupHtml} from "./DOM.js";
6
6
  import PopupFactory from "./Popup.js";
7
- import { listeners, default as HandleFactory } from "./HandlerFactory.js";
7
+ import { HandlerFactory } from "./HandlerFactory.js";
8
8
  import tagLib from "./HTMLTags.js";
9
9
 
10
10
  const systemLog = systemLogFactory();
11
+ const allwaysCaptureEventTypes = [
12
+ `load`, `unload`, `scroll`, `focus`, `blur`, `DOMNodeRemovedFromDocument`,
13
+ `DOMNodeInsertedIntoDocument`, `loadstart`, `progress`, `error`, `abort`,
14
+ `load`, `loadend`, `pointerenter`, `pointerleave`, `readystatechange`];
11
15
  const insertPositions = Object.freeze(new Proxy({
12
16
  start: "afterbegin", afterbegin: "afterbegin",
13
17
  end: "beforeend", beforeend: "beforeend",
@@ -24,17 +28,39 @@ const datasetKeyProxy = Object.freeze({
24
28
  enumerable: false,
25
29
  configurable: false
26
30
  });
31
+ const handlerIdCache = {};
27
32
 
28
33
  export {
29
34
  after, applyStyle, assignAttrValues, ATTRS, before, checkProp, cleanupHtml, cloneAndDestroy,
30
35
  createElementFromHtmlString, datasetKeyProxy, inject2DOMTree, ElemArray2HtmlString, emptyElement,
31
- escHtml, findParentScrollDistance, HandleFactory, input2Collection, insertPositions, IS, isArrayOfHtmlElements,
36
+ escHtml, findParentScrollDistance, input2Collection, insertPositions, IS, isArrayOfHtmlElements,
32
37
  isArrayOfHtmlStrings, isComment, isCommentOrTextNode, isHtmlString, isModal, isNode, isNonEmptyString,
33
- isText, isVisible, isWritable, listeners, logTime, maybe, pad0, PopupFactory, randomNr, randomString,
38
+ isText, isVisible, isWritable, logTime, maybe, pad0, PopupFactory, randomNr, randomString,
34
39
  resolveEventTypeParameter, setData, styleFactory, systemLog, tagFNFactory, tagLib, toCamelcase,
35
- toDashedNotation, truncate2SingleStr, truncateHtmlStr, ucFirst,
40
+ toDashedNotation, truncate2SingleStr, truncateHtmlStr, ucFirst, HandlerFactory, getCaptureValue,
41
+ getHandlerName, handlerIdCache,
36
42
  };
37
43
 
44
+ function getHandlerName(name) {
45
+ const validName = isNonEmptyString(name) && !!name && !/^handler|handlers$/gi.test(name.trim())
46
+ return validName ? name.trim() : uniqueHandlerID();
47
+ }
48
+
49
+ function uniqueHandlerID(idCache) {
50
+ const anonID = `anonymous_${Math.random().toString(36).slice(2)}`;
51
+
52
+ if (!handlerIdCache[anonID]) {
53
+ handlerIdCache[anonID] = anonID;
54
+ return anonID;
55
+ }
56
+
57
+ return uniqueHandlerID();
58
+ }
59
+
60
+ function getCaptureValue(eventType, captureValue) {
61
+ return !!(allwaysCaptureEventTypes.find(t => t === eventType)) || !!captureValue;
62
+ }
63
+
38
64
  function checkProp(prop) {
39
65
  return prop.startsWith(`data`) || ATTRS.html.find(attr => prop.toLowerCase() === attr);
40
66
  }
@@ -0,0 +1,85 @@
1
+ import { isNonEmptyString } from "./Utilities.js";
2
+ const handlerStore = {};
3
+ const shouldCaptureEventTypes = [
4
+ `load`, `unload`, `scroll`, `focus`, `blur`, `DOMNodeRemovedFromDocument`,
5
+ `DOMNodeInsertedIntoDocument`, `loadstart`, `progress`, `error`, `abort`,
6
+ `load`, `loadend`, `pointerenter`, `pointerleave`, `readystatechange`];
7
+ const getCapture = eventType => !!(shouldCaptureEventTypes.find(t => t === eventType));
8
+ export { handlerStore as listeners, HandleFactory as default };
9
+
10
+ function HandleFactory(jqx) {
11
+ return function(spec) {
12
+ let {eventType, selector, callback, name, capture, once, canRemove} = spec;
13
+
14
+ switch(true) {
15
+ case !isNonEmptyString(eventType) || !jqx.IS(callback, Function):
16
+ default:
17
+ name = name || (!/handlers$/.test(callback.name) && callback.name) || undefined;
18
+ capture = jqx.IS(capture, Boolean) ? capture : false;
19
+ once = jqx.IS(once, Boolean) ? once : false;
20
+ canRemove = isNonEmptyString(name, 4) && jqx.IS(canRemove, Boolean) ? canRemove : once;
21
+ const { handler, signal, remove } = wrapHandlerFunction({selector, callback, canRemove, once, name, eventType});
22
+ return addAndStoreListener({eventType, handler, capture, once, signal, remove, name});
23
+ }
24
+ };
25
+
26
+ function wrapHandlerFunction(spec) {
27
+ const {selector, callback, canRemove, name, eventType, once} = spec;
28
+ const abortcontroller = (canRemove || once) && new AbortController();
29
+ const remove = removeHandlerFactory({once, abortcontroller, name, eventType});
30
+ const listener = !selector
31
+ ? { handler: evt => callback(evt, evt.target, remove), remove}
32
+ : { handler: evt => {
33
+ const target = evt.target?.closest?.(selector);
34
+ return target && callback(evt, jqx(target), remove);
35
+ },
36
+ remove
37
+ };
38
+
39
+ if (abortcontroller) {
40
+ listener.signal = abortcontroller.signal;
41
+ if (once) {
42
+ return {
43
+ handler: (evt, me) => {
44
+ listener.handler(evt, me);
45
+ remove();
46
+ }
47
+ }
48
+ }
49
+ }
50
+
51
+ return listener;
52
+ }
53
+
54
+ function removeHandlerFactory(spec) {
55
+ const {once, abortcontroller, name, eventType} = spec;
56
+ return !name
57
+ ? function() { jqx.logger.error(`JQx: an anonymous listener can not be removed`); }
58
+ : !abortcontroller
59
+ ? function(evt) {
60
+ jqx.logger.error(`JQx: listener for event type [${eventType}] with name [${
61
+ name}] is not marked as removable`);
62
+ }
63
+ : function removeHandler() {
64
+ abortcontroller.abort();
65
+ const toRemove = [...handlerStore[eventType].entries()].find(([k, v]) => v.name === name);
66
+ handlerStore[eventType].delete(toRemove[0]);
67
+ jqx.logger.log(`JQx: Listener for event type [${eventType}] with name [${
68
+ name}] was removed${once ? ` (once active, so handled once).` : ``}`);
69
+ }
70
+ }
71
+
72
+ function addAndStoreListener(spec) {
73
+ const {eventType, handler, capture, once, signal, remove, name} = spec;
74
+ if (!handlerStore[eventType]) { handlerStore[eventType] = new Map(); }
75
+ const delegateExists = handlerStore[eventType].has(handler) ||
76
+ [...handlerStore[eventType].values()].find(h => (h.name || ``) === name);
77
+ if (!delegateExists) {
78
+ const opts = {capture: capture || getCapture(eventType), once: once || false};
79
+ if (signal) { opts.signal = signal; }
80
+ document.addEventListener(eventType, handler, opts);
81
+ const stored = { name, remove, capture: capture || getCapture(eventType), }
82
+ handlerStore[eventType].set(handler, stored);
83
+ }
84
+ }
85
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jqx-es",
3
- "version": "1.2.9",
3
+ "version": "1.3.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "JQuery alike with a few twists",
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  randomString, toDashedNotation, IS, tagFNFactory as $T, styleFactory, toCamelcase, systemLog,
3
3
  escHtml, isNonEmptyString, resolveEventTypeParameter, selectedFactoryHelpers, insertPositions,
4
- cleanupHtml, PopupFactory, tagLib, listeners, HandleFactory,
4
+ cleanupHtml, PopupFactory, tagLib, HandlerFactory, getHandlerName,
5
5
  } from "./JQxUtilities.js";
6
6
  import allMethodsFactory from "./JQxInstanceMethods.js";
7
7
 
@@ -156,39 +156,48 @@ function delegateFactory(listen) {
156
156
  }
157
157
  }
158
158
 
159
- function delegateCaptureFactory(listen) {
159
+ /* region __WIP */
160
+ function delegateCaptureFactory(handlerWrapper) {
160
161
  return function(spec) {
161
- let {type, origin, selector, handlers, name, capture, once, canRemove} = spec;
162
+ let {type, types, origin, selector, handler, handlers, node, name, capture, once, about} = spec;
163
+ // <legacy>
164
+ handler = handlers || handler;
165
+ type = types || type;
166
+ selector = origin || selector;
167
+ // </legacy>
162
168
  const typesResolved = resolveEventTypeParameter(type);
163
169
  const specifiedName = name;
164
- handlers = IS(handlers, Function) ? [handlers] : handlers;
165
- canRemove = IS(canRemove, Boolean) ? canRemove : false;
170
+ handler = IS(handler, Function) ? [handler] : handler;
166
171
  const params = {
167
- eventType: typesResolved, selector: selector || origin, capture,
168
- name: specifiedName, once, canRemove };
169
-
172
+ type: typesResolved, selector: selector || origin, capture,
173
+ name: specifiedName, once, node, about };
174
+
170
175
  switch(true) {
171
176
  case IS(typesResolved, Array) && typesResolved.length > 0:
172
177
  for (const type of typesResolved) {
173
- params.eventType = type;
174
- assignListeners(handlers, params, listen);
178
+ params.type = type;
179
+ assignListeners(handler, params, handlerWrapper);
175
180
  }
176
181
  break;
177
- default: return assignListeners(handlers, params, listen);
182
+ default: return assignListeners(handler, params, handlerWrapper);
178
183
  }
179
184
  }
180
185
  }
181
186
 
182
- function assignListeners(handlers, params, listen) {
183
- for (const handler of handlers) {
184
- listen({...params, callback: handler});
187
+ function assignListeners(handlerFns, params, handlerWrapper) {
188
+ for (const handler of handlerFns) {
189
+ params.name = getHandlerName(params.name || handler.name);
190
+ handlerWrapper.listen({...params, handler});
185
191
  }
186
192
  }
193
+ /* endregion __WIP */
187
194
 
188
- function getNamedListener(type, name) {
189
- name = isNonEmptyString(name) && name;
190
- type = isNonEmptyString(type) && type;
191
- return name && type && [...listeners[type].values()].find(h => (h.name || ``) === name);
195
+ function getNamedListenerFactory(jqx) {
196
+ return function(type, name) {
197
+ name = isNonEmptyString(name) && name;
198
+ type = isNonEmptyString(type) && type;
199
+ return name && type && jqx.listenerStore[type][name];
200
+ };
192
201
  }
193
202
 
194
203
  function popupGetter(jqx) {
@@ -207,19 +216,21 @@ function getSelectedStaticMethods(jqx) {
207
216
  const createStyle = id => styleFactory({createWithId: id || `jqx${randomString()}`});
208
217
  const editCssRules = (...rules) => { for (const rule of rules) { cssRuleEdit(rule); } };
209
218
  const allowProhibit = allowances(jqx);
210
- const handle = HandleFactory(jqx);
211
- const capturedHandling = delegateCaptureFactory(handle);
219
+ const handlerWrapper = HandlerFactory(jqx);
220
+ const capturedHandling = delegateCaptureFactory(handlerWrapper);
212
221
  const log = (...line) => systemLog.on.log(...line).off;
213
- return {editCssRule, createStyle, editCssRules, allowProhibit, handle, capturedHandling,log};
222
+ return {
223
+ editCssRule, createStyle, editCssRules, allowProhibit, handle: capturedHandling, capturedHandling,
224
+ log, handlerWrapper};
214
225
  }
215
226
 
216
227
  function staticMethodsFactory(jqx) {
217
228
  const { factoryExtensions, instanceExtensions } = allMethodsFactory(jqx);
218
229
  instanceGetters = factoryExtensions;
219
230
  instanceMethods = instanceExtensions;
220
- const { editCssRule, createStyle, editCssRules, allowProhibit, handle, capturedHandling, log } =
231
+ const { editCssRule, createStyle, editCssRules, allowProhibit, handle, capturedHandling, log, handlerWrapper } =
221
232
  getSelectedStaticMethods(jqx);
222
-
233
+ const getNamedListener = getNamedListenerFactory(jqx);
223
234
  return {
224
235
  log,
225
236
  editCssRules,
@@ -240,11 +251,13 @@ function staticMethodsFactory(jqx) {
240
251
  get delegate() { return delegateFactory(capturedHandling); },
241
252
  get delegateCaptured() { return capturedHandling; } ,
242
253
  get handle() { return capturedHandling; },
254
+ get listen() { return handlerWrapper.listen; },
243
255
  get at() { return insertPositions; },
244
256
  get setStyle() { /*deprecated*/return editCssRule; },
245
257
  get fn() { return addFn; },
246
258
  get lenient() { return tagLib.allowUnknownHtmlTags; },
247
259
  get IS() { return IS; },
248
260
  get Popup() { return popupGetter(jqx); },
261
+ get listenerStore() { return handlerWrapper.ListenerStore; },
249
262
  };
250
263
  }
@@ -305,13 +305,20 @@ function instanceExtensionsFactory(jqx) {
305
305
  nth$: (instance, indexOrSelector) => instance.single(indexOrSelector),
306
306
  on: (instance, type, ...callback) => {
307
307
  if (instance.collection.length && IS(type, String, Array)) {
308
- if (type?.length < 1 || callback.length < 1) { return instance; }
309
- const cssSelector4Handler = addHandlerId(instance);
310
- jqx.handle({type, selector: cssSelector4Handler, handlers: callback});
308
+ if (!isNonEmptyString(type) || callback.length < 1) { return instance; }
309
+ jqx.handle({type, node: instance.node, handlers: callback});
311
310
  }
312
311
 
313
312
  return instance;
314
313
  },
314
+ once: (instance, type, ...callback) => {
315
+ if (instance.collection.length && IS(type, String, Array)) {
316
+ if (!isNonEmptyString(type) || callback.length < 1) { return instance; }
317
+ jqx.handle({type, once: true, node: instance.node, handlers: callback});
318
+ }
319
+
320
+ return instance;
321
+ },
315
322
  prepend: (instance, ...elems2Prepend) => {
316
323
  if (!instance.is.empty && elems2Prepend) {
317
324
  const shouldMove = instance.length === 1;
@@ -5,7 +5,7 @@ import {
5
5
  isNode, isNonEmptyString, isText, isVisible, isWritable, logTime, maybe, randomNr, randomString,
6
6
  resolveEventTypeParameter, setData, styleFactory, systemLog, tagFNFactory, toCamelcase, toDashedNotation,
7
7
  truncate2SingleStr, truncateHtmlStr, createElementFromHtmlString, inject2DOMTree, cleanupHtml,
8
- PopupFactory, tagLib, listeners, HandleFactory,
8
+ PopupFactory, tagLib, HandlerFactory, getHandlerName,
9
9
  } from "../Resource/Common/Utilities.js"
10
10
 
11
11
  export {
@@ -15,7 +15,7 @@ export {
15
15
  isHtmlString, isNode, isNonEmptyString, logTime, loop, maybe, randomNr, randomString, resolveEventTypeParameter,
16
16
  selectedFactoryHelpers, setCollectionFromCssSelector, setData, styleFactory, systemLog, tagFNFactory,
17
17
  toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr, createElementFromHtmlString, inject2DOMTree,
18
- cleanupHtml, PopupFactory, tagLib, HandleFactory, listeners
18
+ cleanupHtml, PopupFactory, tagLib, HandlerFactory, getHandlerName,
19
19
  };
20
20
 
21
21
  function loop(instance, callback) {
@@ -40,7 +40,7 @@ function setCollectionFromCssSelector(input, root, self) {
40
40
  }
41
41
 
42
42
  function addHandlerId(instance) {
43
- const handleId = instance.data.get(`hid`) || `HID${randomString()}`;
43
+ const handleId = `anonymous_${Math.random().toString(36).slice(2)}`;
44
44
  instance.data.add({hid: handleId});
45
45
  return `[data-hid="${handleId}"]`;
46
46
  }