jqx-es 1.2.1 → 1.2.3

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,16 +1,15 @@
1
- var JQx=(()=>{var re=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Ue=Object.prototype.hasOwnProperty;var Ge=(r,e)=>{for(var t in e)re(r,t,{get:e[t],enumerable:!0})},Ze=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of _e(e))!Ue.call(r,o)&&o!==t&&re(r,o,{get:()=>e[o],enumerable:!(n=Ve(e,o))||n.enumerable});return r};var Ye=r=>Ze(re({},"__esModule",{value:!0}),r);var cr={};Ge(cr,{default:()=>sr});var me=qe(),B=Xe(),z=Ke();function Xe(){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 Ke(){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 qe(){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 ne=!1,et={on:()=>ne=!0,off:()=>ne=!1},k={tagsRaw:z,allowUnknownHtmlTags:et,isAllowed(r){if(ne)return!0;let e=c(r,String)?r.toLowerCase():r?.nodeName.toLowerCase()||"none";return e==="#text"||!!z[e]},allowTag:r=>z[r.toLowerCase()]=!0,prohibitTag:r=>z[r.toLowerCase()]=!1};var tt=rt(),ge={html:"innerHTML",text:"textContent",class:"className"},oe=tt;function rt(){let r={get(e,t){let n=String(t)?.toLowerCase();switch(!0){case n in e:return e[n];case ft(n):return pe(e,n,t);default:return pe(e,n,t,!0)}},enumerable:!1,configurable:!1};return new Proxy({},r)}function pe(r,e,t,n=!1){return Object.defineProperty(r,e,{get(){return n?o=>ct(t):dt(e)}}),r[e]}function nt(r,e,t){return e=e?.isJQx&&e.first()||e,le({trial:n=>ut(e)?r.append(e):be(e)?r.insertAdjacentHTML("beforeend",e):r.append(e),whenError:n=>console.info(`${t} (for root ${r}) not created, reason
2
- `,n)})}function ot(r,e,...t){let n=it(e,r);return t?.forEach(o=>nt(n,o,r)),n}function it(r,e){switch(r=ie(e)?at(r):r?.isJQx?r.first():r,!0){case c(r,String):return V(e,be(r,e)?{html:r}:{text:r});case c(r,Node):return st(e,r);default:return V(e,r)}}function lt(r){return delete r.data,Object.keys(r).length<1||Object.keys(r).forEach(e=>{let t=e.toLowerCase();t in ge&&(r[ge[t]]=r[e],delete r[e])}),r}function st(r,e){let t=V(r);return t.append(e),t}function V(r,e={}){e=ye(e,{});let t=Object.entries(e.data??{}),n=Object.assign(ie(r)?new Comment(e?.text):document.createElement(r),lt(e));return t.length&&t.forEach(([o,l])=>n.dataset[o]=String(l)),n}function ye(r,e){return e?c(r,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:e}):c(r,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function at(r){return ye(r)?r?.text??r?.textContent??"":String(r)}function ct(r){return V("b",{style:"color:red",text:`'${r}' is not a valid HTML-tag`})}function be(r,e){return!ie(e)&&c(r,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(r)}function ut(r){return r?.constructor===Comment||r?.constructor===CharacterData}function ie(r){return r?.constructor===Comment||/comment/i.test(r)}function ft(r){return!c(V(r),HTMLUnknownElement)}function dt(r){return(e,...t)=>ot(r,e,...t)}var{IS:c,maybe:le,$Wrap:br,xProxy:hr,isNothing:Sr}=mt();function mt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),x();let r=m(),[e,t]=[u(),M()];return t.custom(),{IS:n,maybe:r,$Wrap:e,isNothing:h,xProxy:t};function n(i,...s){if(r({trial:p=>"isTypes"in(s?.[0]??{})})){let p=s[0];return"defaultValue"in p?g(i,p):"notTypes"in p?d(i,p):n(i,...[p.isTypes].flat())}let f=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?b(f,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:f,noShouldbe:p,compareTo:v,inputCTOR:L,isNaN:O,isInfinity:P,shouldBeFirstElementIsNothing:I}=S(i,...s);switch(s=s.length&&s[0],!0){case I:return String(i)===String(v);case(i?.[Symbol.proxy]&&p):return i[Symbol.proxy];case O:return p?"NaN":r({trial:R=>String(v)})===String(i);case P:return p?"Infinity":r({trial:R=>String(v)})===String(i);case f:return p?String(i):String(v)===String(i);case L===Boolean:return s?L===s:"Boolean";default:return y(i,s,p,a(i,L))}}function a(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function S(i,...s){let f=s.length<1,p=!f&&s[0],v=!f&&h(s[0]),L=i==null,O=!L&&Object.getPrototypeOf(i)?.constructor,P=r({trial:R=>String(i)})==="NaN",I=r({trial:R=>String(i)})==="Infinity";return{noInput:L,noShouldbe:f,compareTo:p,inputCTOR:O,isNaN:P,isInfinity:I,shouldBeFirstElementIsNothing:v}}function y(i,s,f,p){switch(!0){case(!f&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case r({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?r({trial:v=>i instanceof s})||s===p||s===Object.getPrototypeOf(p)||`${s?.name}`===p?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||p?.name||String(p)}}function b(i,...s){return s.some(f=>n(i,f))}function h(i,s=!1){let f=i==null;return f=s?f||n(i,1/0)||n(i,NaN):f,f}function m(){let i=(s,f)=>s?.constructor===Function?s(f):void 0;return function({trial:s,whenError:f=()=>{}}={}){try{return i(s)}catch(p){return i(f,p)}}}function u(){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 g(i,{defaultValue:s,isTypes:f=[void 0],notTypes:p}={}){return f=f?.constructor!==Array?[f]:f,p=p&&p?.constructor!==Array?[p]:[],p.length<1?n(i,...f)?i:s:d(i,{isTypes:f,notTypes:p})?i:s}function d(i,{isTypes:s=[void 0],notTypes:f=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,f=f?.constructor!==Array?[f]:f,n(i,...s)&&!n(i,...f)}function x(){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 C(i){let s=i.set;return i.set=(f,p,v)=>p===Symbol.proxy?f[p]=v:s(f,p,v),i}function M(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,f){for(let v of f)v.set&&(v=C(v));let p=new s(...f);return p[Symbol.proxy]=`Proxy (${w(f[0])})`,p}})}}}}var{IS:Y,maybe:vr,$Wrap:Er,xProxy:wr,isNothing:Cr}=gt();function gt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),x();let r=m(),[e,t]=[u(),M()];return t.custom(),{IS:n,maybe:r,$Wrap:e,isNothing:h,xProxy:t};function n(i,...s){if(r({trial:p=>"isTypes"in(s?.[0]??{})})){let p=s[0];return"defaultValue"in p?g(i,p):"notTypes"in p?d(i,p):n(i,...[p.isTypes].flat())}let f=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?b(f,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:f,noShouldbe:p,compareTo:v,inputCTOR:L,isNaN:O,isInfinity:P,shouldBeFirstElementIsNothing:I}=S(i,...s);switch(s=s.length&&s[0],!0){case I:return String(i)===String(v);case(i?.[Symbol.proxy]&&p):return i[Symbol.proxy];case O:return p?"NaN":r({trial:R=>String(v)})===String(i);case P:return p?"Infinity":r({trial:R=>String(v)})===String(i);case f:return p?String(i):String(v)===String(i);case L===Boolean:return s?L===s:"Boolean";default:return y(i,s,p,a(i,L))}}function a(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function S(i,...s){let f=s.length<1,p=!f&&s[0],v=!f&&h(s[0]),L=i==null,O=!L&&Object.getPrototypeOf(i)?.constructor,P=r({trial:R=>String(i)})==="NaN",I=r({trial:R=>String(i)})==="Infinity";return{noInput:L,noShouldbe:f,compareTo:p,inputCTOR:O,isNaN:P,isInfinity:I,shouldBeFirstElementIsNothing:v}}function y(i,s,f,p){switch(!0){case(!f&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case r({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?r({trial:v=>i instanceof s})||s===p||s===Object.getPrototypeOf(p)||`${s?.name}`===p?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||p?.name||String(p)}}function b(i,...s){return s.some(f=>n(i,f))}function h(i,s=!1){let f=i==null;return f=s?f||n(i,1/0)||n(i,NaN):f,f}function m(){let i=(s,f)=>s?.constructor===Function?s(f):void 0;return function({trial:s,whenError:f=()=>{}}={}){try{return i(s)}catch(p){return i(f,p)}}}function u(){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 g(i,{defaultValue:s,isTypes:f=[void 0],notTypes:p}={}){return f=f?.constructor!==Array?[f]:f,p=p&&p?.constructor!==Array?[p]:[],p.length<1?n(i,...f)?i:s:d(i,{isTypes:f,notTypes:p})?i:s}function d(i,{isTypes:s=[void 0],notTypes:f=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,f=f?.constructor!==Array?[f]:f,n(i,...s)&&!n(i,...f)}function x(){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 C(i){let s=i.set;return i.set=(f,p,v)=>p===Symbol.proxy?f[p]=v:s(f,p,v),i}function M(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,f){for(let v of f)v.set&&(v=C(v));let p=new s(...f);return p[Symbol.proxy]=`Proxy (${w(f[0])})`,p}})}}}}var X=pt;function pt({styleSheet:r,createWithId:e}={}){let{tryParseAtOrNestedRules:t,ruleExists:n,checkParams:o,sheet:l,removeRules:a,consider:S,currentSheetID:y}=yt({styleSheet:r,createWithId:e});function b(d,x){if(d&&x.removeProperties){Object.keys(x.removeProperties).forEach(w=>d.style.removeProperty(he(w)));return}Object.entries(x).forEach(([w,C])=>{w=he(w.trim()),C=C.trim();let M;if(/!important/.test(C)&&(C=C.slice(0,C.indexOf("!important")).trim(),M="important"),!CSS.supports(w,C))return console.error(`StylingFactory ${y} error: '${w}' with value '${C}' not supported (yet)`);Se(()=>d.style.setProperty(w,C,M),`StylingFactory ${y} (setRule4Selector) failed`)})}function h(d,x,w=l){if(d=d?.trim?.(),!Y(d,String)||!d.length||/[;,]$/g.test(d))return console.error(`StylingFactory ${y} (setRules): [${d||"[no selector given]"}] is not a valid selector`);if(x.removeRule)return a(d);let C=n(d,!0),M=C||w.cssRules[w.insertRule(`${d} {}`,w.cssRules.length||0)];return S(()=>b(M,x),d,C)}function m(d){let x=d.trim().split(/{/,2),w=x.shift().trim();if(!Y(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${y} (doParse): no (valid) selector could be extracted from rule ${se(d)}`);let C=wt(x.shift());return Se(()=>h(w,C),`StylingFactory ${y} (setRules) failed`)}function u(d){let x=t(d);return x.done?x.existing:m(d)}function g(d,x){return d.trim().startsWith("@media")?u(bt(d,x)):h(d,x)}return function(d,x={}){return o(d,x)&&(Object.keys(x).length?g(d,x):u(d))}}function yt({styleSheet:r,createWithId:e}){let t="Note: The rule or some of its properties may not be supported by your browser (yet)",n=`for style#${e}`;r=e?o(e):r;function o(u){let g=document.querySelector(`#${u}`)?.sheet;if(g)return g;let d=Object.assign(document.createElement("style"),{id:u});return document.head.insertAdjacentElement("beforeend",d),d.sheet}function l(u){return console.error(`StylingFactory ${n} [rule: ${u}]
3
- => @charset, @namespace and @import are not supported here`),{done:!0}}function a(u,g){return[...r.rules].find(d=>g?xe(d.selectorText||"",u):xt`${St(u)}${[..."gim"]}`.test(d.cssText))}function S(u){return/^@charset|@import|namespace/i.test(u.trim())?l(u):u.match(/}/g)?.length>1?{existing:h(u,1),done:!0}:{done:!1}}function y(u){let g=[...r.cssRules].reduce((x,w,C)=>xe(w.selectorText||"",u)&&x.concat(C)||x,[]),d=g.length;return g.forEach(x=>r.deleteRule(x)),d>0?console.info(`\u2714 Removed ${d} instance${d>1?"s":""} of selector ${u} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${u} does not exist in ${n.slice(4)}`)}function b(u,g){return u&&Y(u,String)&&u.trim().length>0&&Y(g,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function h(u){u=u.trim();let g=u.slice(0,u.indexOf("{")).trim(),d=!!a(g);try{return r.insertRule(`${u}`,r.cssRules.length),d}catch(x){return console.error(`StylingFactory ${n} (tryParse) ${x.name} Error:
4
- ${x.message}
5
- Rule: ${se(u)}
6
- ${t}`),d}}function m(u,g,d){try{return u(),d}catch(x){return console.error(`StylingFactory ${n} (tryAddOrModify) ${x.name} Error:
7
- ${x.message}
8
- Rule: ${se(g)}
9
- ${t}`),d}}return{sheet:r,removeRules:y,tryParseAtOrNestedRules:S,ruleExists:a,checkParams:b,tryParse:h,consider:m,currentSheetID:n}}function bt(r,e){return`${r.trim()} ${Object.entries(e).map(([t,n])=>`${t}: { ${ht(n)}`)}`}function se(r){let e=(r||"NO RULE").trim().slice(0,50).replace(/\n/g,"\\n").replace(/\s{2,}/g," ");return r.length>e.length?`${e.trim()}...truncated`:e}function ht(r){return Object.entries(r).map(([e,t])=>`${e}: ${t.trim()}`).join(`;
10
- `)}function St(r){return r.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function xt(r,...e){let t=e.length&&Array.isArray(e.slice(-1))?e.pop().join(""):"";return new RegExp((e.length&&r.raw.reduce((n,o,l)=>n.concat(e[l-1]||"").concat(o),"")||r.raw.join("")).split(`
11
- `).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),t)}function he(r){return r.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function Se(r,e){try{return r()}catch(t){console.error(`${e||"an error occured"}: ${t.message}`)}}function vt(r){return r.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,t)=>`${t}\\3b`).split(";").map(e=>e.trim()).join(`;
1
+ var JQx=(()=>{var oe=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Ze=Object.getOwnPropertyNames;var Ye=Object.prototype.hasOwnProperty;var Xe=(t,e)=>{for(var r in e)oe(t,r,{get:e[r],enumerable:!0})},Ke=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ze(e))!Ye.call(t,o)&&o!==r&&oe(t,o,{get:()=>e[o],enumerable:!(n=Ge(e,o))||n.enumerable});return t};var qe=t=>Ke(oe({},"__esModule",{value:!0}),t);var dr={};Xe(dr,{default:()=>ur});var ve=rt(),J=et(),W=tt();function et(){return{html:Object.freeze("accept,action,align,alt,autocapitalize,autocomplete,autopictureinpicture,autoplay,background,bgcolor,border,capture,cellpadding,cellspacing,checked,cite,class,clear,contenteditable,color,cols,colspan,controls,controlslist,coords,crossorigin,datetime,decoding,default,dir,disabled,disablepictureinpicture,disableremoteplayback,download,draggable,enctype,enterkeyhint,face,for,headers,height,hidden,high,href,hreflang,id,inputmode,integrity,is,ismap,kind,label,lang,list,loading,loop,low,max,maxlength,media,method,min,minlength,multiple,muted,name,nonce,noshade,novalidate,nowrap,open,optimum,pattern,placeholder,playsinline,poster,preload,pubdate,radiogroup,readonly,rel,required,rev,reversed,role,rows,rowspan,spellcheck,scope,selected,shape,size,sizes,span,srclang,start,src,srcset,step,style,summary,tabindex,target,title,translate,type,usemap,valign,value,width,xmlns,slot".split(",")),svg:Object.freeze("accent-height,accumulate,additive,alignment-baseline,ascent,attributename,attributetype,azimuth,basefrequency,baseline-shift,begin,bias,by,class,clip,clippathunits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,cx,cy,d,dx,dy,diffuseconstant,direction,display,divisor,dur,edgemode,elevation,end,fill,fill-opacity,fill-rule,filter,filterunits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,fx,fy,g1,g2,glyph-name,glyphref,gradientunits,gradienttransform,height,href,id,image-rendering,in,in2,k,k1,k2,k3,k4,kerning,keypoints,keysplines,keytimes,lang,lengthadjust,letter-spacing,kernelmatrix,kernelunitlength,lighting-color,local,marker-end,marker-mid,marker-start,markerheight,markerunits,markerwidth,maskcontentunits,maskunits,max,mask,media,method,mode,min,name,numoctaves,offset,operator,opacity,order,orient,orientation,origin,overflow,paint-order,path,pathlength,patterncontentunits,patterntransform,patternunits,points,preservealpha,preserveaspectratio,primitiveunits,r,rx,ry,radius,refx,refy,repeatcount,repeatdur,restart,result,rotate,scale,seed,shape-rendering,specularconstant,specularexponent,spreadmethod,startoffset,stddeviation,stitchtiles,stop-color,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke,stroke-width,style,surfacescale,systemlanguage,tabindex,targetx,targety,transform,text-anchor,text-decoration,text-rendering,textlength,type,u1,u2,unicode,values,viewbox,visibility,version,vert-adv-y,vert-origin-x,vert-origin-y,width,word-spacing,wrap,writing-mode,xchannelselector,ychannelselector,x,x1,x2,xmlns,y,y1,y2,z,zoomandpan".split(","))}}function tt(){return{a:!0,area:!0,audio:!1,br:!0,base:!0,body:!0,button:!0,canvas:!0,comment:!0,dl:!0,data:!0,datalist:!0,div:!0,em:!0,embed:!1,fieldset:!0,font:!0,footer:!0,form:!1,hr:!0,head:!0,header:!0,output:!0,iframe:!1,frameset:!1,img:!0,input:!0,li:!0,label:!0,legend:!0,link:!0,map:!0,mark:!0,menu:!0,media:!0,meta:!0,nav:!0,meter:!0,ol:!0,object:!1,optgroup:!0,option:!0,p:!0,param:!0,picture:!0,pre:!0,progress:!1,quote:!0,script:!1,select:!0,source:!0,span:!0,style:!0,caption:!0,td:!0,col:!0,table:!0,tr:!0,template:!1,textarea:!0,time:!0,title:!0,track:!0,details:!0,ul:!0,video:!0,del:!0,ins:!0,slot:!0,blockquote:!0,svg:!0,dialog:!0,summary:!0,main:!0,address:!0,colgroup:!0,tbody:!0,tfoot:!0,thead:!0,th:!0,dd:!0,dt:!0,figcaption:!0,figure:!0,i:!0,b:!0,code:!0,h1:!0,h2:!0,h3:!0,h4:!0,abbr:!0,bdo:!0,dfn:!0,kbd:!0,q:!0,rb:!0,rp:!0,rt:!0,ruby:!0,s:!0,strike:!0,samp:!0,small:!0,strong:!0,sup:!0,sub:!0,u:!0,var:!0,wbr:!0,nobr:!0,tt:!0,noscript:!0}}function rt(){return["::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 nt=ot(),Ee={html:"innerHTML",text:"textContent",class:"className"},ie=nt;function ot(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case mt(n):return we(e,n,r);default:return we(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function we(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?o=>ft(r):gt(e)}}),t[e]}function it(t,e,r){return e=e?.isJQx&&e.first()||e,se({trial:n=>dt(e)?t.append(e):Ce(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
2
+ `,n)})}function lt(t,e,...r){let n=st(e,t);return r?.forEach(o=>it(n,o,t)),n}function st(t,e){switch(t=le(e)?ut(t):t?.isJQx?t.first():t,!0){case a(t,String):return z(e,Ce(t,e)?{html:t}:{text:t});case a(t,Node):return ct(e,t);default:return z(e,t)}}function at(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in Ee&&(t[Ee[r]]=t[e],delete t[e])}),t}function ct(t,e){let r=z(t);return r.append(e),r}function z(t,e={}){e=Le(e,{});let r=Object.entries(e.data??{}),n=Object.assign(le(t)?new Comment(e?.text):document.createElement(t),at(e));return r.length&&r.forEach(([o,l])=>n.dataset[o]=String(l)),n}function Le(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 ut(t){return Le(t)?t?.text??t?.textContent??"":String(t)}function ft(t){return z("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function Ce(t,e){return!le(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function dt(t){return t?.constructor===Comment||t?.constructor===CharacterData}function le(t){return t?.constructor===Comment||/comment/i.test(t)}function mt(t){return!a(z(t),HTMLUnknownElement)}function gt(t){return(e,...r)=>lt(t,e,...r)}var{IS:a,maybe:se,$Wrap:br,xProxy:hr,isNothing:Sr}=pt();function pt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),S();let t=x(),[e,r]=[m(),M()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:b,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?g(i,d):"notTypes"in d?f(i,d):n(i,...[d.isTypes].flat())}let c=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?y(c,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:c,noShouldbe:d,compareTo:v,inputCTOR:T,isNaN:O,isInfinity:I,shouldBeFirstElementIsNothing:R}=h(i,...s);switch(s=s.length&&s[0],!0){case R:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case O:return d?"NaN":t({trial:k=>String(v)})===String(i);case I:return d?"Infinity":t({trial:k=>String(v)})===String(i);case c:return d?String(i):String(v)===String(i);case T===Boolean:return s?T===s:"Boolean";default:return p(i,s,d,u(i,T))}}function u(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let c=s.length<1,d=!c&&s[0],v=!c&&b(s[0]),T=i==null,O=!T&&Object.getPrototypeOf(i)?.constructor,I=t({trial:k=>String(i)})==="NaN",R=t({trial:k=>String(i)})==="Infinity";return{noInput:T,noShouldbe:c,compareTo:d,inputCTOR:O,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function p(i,s,c,d){switch(!0){case(!c&&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 y(i,...s){return s.some(c=>n(i,c))}function b(i,s=!1){let c=i==null;return c=s?c||n(i,1/0)||n(i,NaN):c,c}function x(){let i=(s,c)=>s?.constructor===Function?s(c):void 0;return function({trial:s,whenError:c=()=>{}}={}){try{return i(s)}catch(d){return i(c,d)}}}function m(){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 g(i,{defaultValue:s,isTypes:c=[void 0],notTypes:d}={}){return c=c?.constructor!==Array?[c]:c,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...c)?i:s:f(i,{isTypes:c,notTypes:d})?i:s}function f(i,{isTypes:s=[void 0],notTypes:c=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,c=c?.constructor!==Array?[c]:c,n(i,...s)&&!n(i,...c)}function S(){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 L(i){let s=i.set;return i.set=(c,d,v)=>d===Symbol.proxy?c[d]=v:s(c,d,v),i}function M(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,c){for(let v of c)v.set&&(v=L(v));let d=new s(...c);return d[Symbol.proxy]=`Proxy (${w(c[0])})`,d}})}}}}var{IS:Z,maybe:vr,$Wrap:Er,xProxy:wr,isNothing:Lr}=yt();function yt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),S();let t=x(),[e,r]=[m(),M()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:b,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?g(i,d):"notTypes"in d?f(i,d):n(i,...[d.isTypes].flat())}let c=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?y(c,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:c,noShouldbe:d,compareTo:v,inputCTOR:T,isNaN:O,isInfinity:I,shouldBeFirstElementIsNothing:R}=h(i,...s);switch(s=s.length&&s[0],!0){case R:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case O:return d?"NaN":t({trial:k=>String(v)})===String(i);case I:return d?"Infinity":t({trial:k=>String(v)})===String(i);case c:return d?String(i):String(v)===String(i);case T===Boolean:return s?T===s:"Boolean";default:return p(i,s,d,u(i,T))}}function u(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let c=s.length<1,d=!c&&s[0],v=!c&&b(s[0]),T=i==null,O=!T&&Object.getPrototypeOf(i)?.constructor,I=t({trial:k=>String(i)})==="NaN",R=t({trial:k=>String(i)})==="Infinity";return{noInput:T,noShouldbe:c,compareTo:d,inputCTOR:O,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function p(i,s,c,d){switch(!0){case(!c&&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 y(i,...s){return s.some(c=>n(i,c))}function b(i,s=!1){let c=i==null;return c=s?c||n(i,1/0)||n(i,NaN):c,c}function x(){let i=(s,c)=>s?.constructor===Function?s(c):void 0;return function({trial:s,whenError:c=()=>{}}={}){try{return i(s)}catch(d){return i(c,d)}}}function m(){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 g(i,{defaultValue:s,isTypes:c=[void 0],notTypes:d}={}){return c=c?.constructor!==Array?[c]:c,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...c)?i:s:f(i,{isTypes:c,notTypes:d})?i:s}function f(i,{isTypes:s=[void 0],notTypes:c=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,c=c?.constructor!==Array?[c]:c,n(i,...s)&&!n(i,...c)}function S(){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 L(i){let s=i.set;return i.set=(c,d,v)=>d===Symbol.proxy?c[d]=v:s(c,d,v),i}function M(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,c){for(let v of c)v.set&&(v=L(v));let d=new s(...c);return d[Symbol.proxy]=`Proxy (${w(c[0])})`,d}})}}}}var Y=bt;function bt({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:o,sheet:l,removeRules:u,consider:h,currentSheetID:p}=ht({styleSheet:t,createWithId:e});function y(f,S){if(f&&S.removeProperties){Object.keys(S.removeProperties).forEach(w=>f.style.removeProperty(Fe(w)));return}Object.entries(S).forEach(([w,L])=>{w=Fe(w.trim()),L=L.trim();let M;if(/!important/.test(L)&&(L=L.slice(0,L.indexOf("!important")).trim(),M="important"),!CSS.supports(w,L))return console.error(`StylingFactory ${p} error: '${w}' with value '${L}' not supported (yet)`);Te(()=>f.style.setProperty(w,L,M),`StylingFactory ${p} (setRule4Selector) failed`)})}function b(f,S,w=l){if(f=f?.trim?.(),!Z(f,String)||!f.length||/[;,]$/g.test(f))return console.error(`StylingFactory ${p} (setRules): [${f||"[no selector given]"}] is not a valid selector`);if(S.removeRule)return u(f);let L=n(f,!0),M=L||w.cssRules[w.insertRule(`${f} {}`,w.cssRules.length||0)];return h(()=>y(M,S),f,L)}function x(f){let S=f.trim().split(/{/,2),w=S.shift().trim();if(!Z(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${p} (doParse): no (valid) selector could be extracted from rule ${ae(f)}`);let L=Ct(S.shift());return Te(()=>b(w,L),`StylingFactory ${p} (setRules) failed`)}function m(f){let S=r(f);return S.done?S.existing:x(f)}function g(f,S){return f.trim().startsWith("@media")?m(St(f,S)):b(f,S)}return function(f,S={}){return o(f,S)&&(Object.keys(S).length?g(f,S):m(f))}}function ht({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(m){let g=document.querySelector(`#${m}`)?.sheet;if(g)return g;let f=Object.assign(document.createElement("style"),{id:m});return document.head.insertAdjacentElement("beforeend",f),f.sheet}function l(m){return console.error(`StylingFactory ${n} [rule: ${m}]
3
+ => @charset, @namespace and @import are not supported here`),{done:!0}}function u(m,g){return[...t.rules].find(f=>g?$e(f.selectorText||"",m):Et`${vt(m)}${[..."gim"]}`.test(f.cssText))}function h(m){return/^@charset|@import|namespace/i.test(m.trim())?l(m):m.match(/}/g)?.length>1?{existing:b(m,1),done:!0}:{done:!1}}function p(m){let g=[...t.cssRules].reduce((S,w,L)=>$e(w.selectorText||"",m)&&S.concat(L)||S,[]),f=g.length;return g.forEach(S=>t.deleteRule(S)),f>0?console.info(`\u2714 Removed ${f} instance${f>1?"s":""} of selector ${m} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${m} does not exist in ${n.slice(4)}`)}function y(m,g){return m&&Z(m,String)&&m.trim().length>0&&Z(g,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function b(m){m=m.trim();let g=m.slice(0,m.indexOf("{")).trim(),f=!!u(g);try{return t.insertRule(`${m}`,t.cssRules.length),f}catch(S){return console.error(`StylingFactory ${n} (tryParse) ${S.name} Error:
4
+ ${S.message}
5
+ Rule: ${ae(m)}
6
+ ${r}`),f}}function x(m,g,f){try{return m(),f}catch(S){return console.error(`StylingFactory ${n} (tryAddOrModify) ${S.name} Error:
7
+ ${S.message}
8
+ Rule: ${ae(g)}
9
+ ${r}`),f}}return{sheet:t,removeRules:p,tryParseAtOrNestedRules:h,ruleExists:u,checkParams:y,tryParse:b,consider:x,currentSheetID:n}}function St(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${xt(n)}`)}`}function ae(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 xt(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
10
+ `)}function vt(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function Et(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 Fe(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function Te(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function wt(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 Et(r){return r.reduce((e,t)=>{let[n,o]=[t.slice(0,t.indexOf(":")).trim(),t.slice(t.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&o?{...e,[n]:o}:e},{})}function wt(r){return Et(vt(r))}function xe(r,e){return r?.replace("::",":")===e?.replace("::",":")}var Ct=[...Array(26)].map((r,e)=>String.fromCharCode(e+65)).concat([...Array(26)].map((r,e)=>String.fromCharCode(e+97))).concat([...Array(10)].map((r,e)=>`${e}`)),T=$t();function K(r,e=2){return`${r}`.padStart(e,"0")}function Ft(r,e=0){return[r,e]=[Math.floor(r),Math.ceil(e)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(r-e+1)+e)}function F(r,e=1){return e=c(e,Number)&&e||1,c(r,String)&&r.length>=e}function we(r){return r=c(r,String)&&/,/.test(r)?r.split(","):r,c(r,Array)?r.filter(e=>F(e)).map(e=>e.trim().toLowerCase()):c(r,String)&&r?.trim().toLowerCase()||""}function Lt(r){let e=r.length;for(;e--;){let t=Ft(e);[r[e],r[t]]=[r[t],r[e]]}return r}function $(r,e=120){return`${r}`.trim().slice(0,e).replace(/>\s+</g,"><").replace(/</g,"&lt;").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(r.length>e?" &hellip;":"").trim()}function H(r){return r.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Tt([r,...e]){return`${r.toUpperCase()}${e.join("")}`}function _(r){return c(r,String)?r.toLowerCase().split("-").map((e,t)=>t&&`${Tt(e)}`||e).join(""):r}function U(){return`_${Lt(Ct).slice(0,8).join("")}`}function q(r,e=120){return $(r,e).replace(/&lt;/g,"<")}function ve(){return(r=>`[${K(r.getHours())}:${K(r.getMinutes())}:${K(r.getSeconds())}.${K(r.getMilliseconds(),3)}]`)(new Date)}function j(r){return r.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Ce(){let r=m=>c(m,Comment,Text),e=m=>c(m,Text,HTMLElement,Comment),t=m=>c(m,Comment),n=m=>c(m,Text),o=m=>c(m,String)&&/^<|>$/.test(`${m}`.trim()),l=m=>c(m,Array)&&!m?.find(u=>!o(u)),a=m=>c(m,Array)&&!m?.find(u=>!e(u));return{isCommentOrTextNode:r,isNode:e,isComment:t,isText:n,isHtmlString:o,isArrayOfHtmlElements:a,isArrayOfHtmlStrings:l,ElemArray2HtmlString:m=>m?.filter(u=>u).reduce((u,g)=>u.concat(t(g)?`<!--${g.data}-->`:r(g)?g.textContent:g.outerHTML),""),input2Collection:m=>m?c(m,Proxy)?[m.EL]:c(m,NodeList)?[...m]:e(m)?[m]:a(m)?m:m.isJQx?m.collection:void 0:[],setCollectionFromCssSelector:(m,u,g)=>{let d=u!==document.body&&c(m,String)&&m.toLowerCase()!=="body"?u:document,x;try{g.collection=[...d.querySelectorAll(m)]}catch{x=`Invalid CSS querySelector. [${c(m,String)?m:"Nothing valid given!"}]`}return x??`CSS querySelector "${m}", output ${g.collection.length} element(s)`},addHandlerId:m=>{let u=m.data.get("hid")||`HID${U()}`;return m.data.add({hid:u}),`[data-hid="${u}"]`}}}function Fe(){let r=function(l){if(!l)return;let a=l.style,S=getComputedStyle(l),y=[a.visibility,S.visibility].includes("hidden"),b=[a.display,S.display].includes("none"),h=l.offsetTop<0||l.offsetLeft+l.offsetWidth<0||l.offsetLeft>document.body.offsetWidth,m=+S.opacity==0||+(a.opacity||1)==0;return!(h||m||b||y)},t=function(l){return[...l.parentNode.querySelectorAll(":is(:read-write)")].find(a=>a===l)??!1},n=function(l){return[...l.parentNode.querySelectorAll(":is(:modal)")].find(a=>a===l)??!1},o={notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"};return l=>{let a=l.node;return c(a,Node)?{get writable(){return t(a)},get modal(){return n(a)},get inDOM(){return a.isConnected},get open(){return a.open??!1},get visible(){return r(a)},get disabled(){return a.hasAttribute("readonly")||a.hasAttribute("disabled")},get empty(){return l.collection.length<1},get virtual(){return l.isVirtual}}:o}}function Ee(r){return c(r,String)&&Object.assign(document.createElement("textarea"),{innerHTML:r}).textContent||r}function $t(){let r=!1,e=[],t={get on(){return r=!0,t},get off(){return r=!1,t},get backLog(){return e}};function n(...l){return e.unshift(...l.map(a=>`${ve()} \u2A3B ${Ee(a)}`)),console.error(e.slice(0,l.length).join(`
14
- `)),t}function o(...l){return e.unshift(...l.map(a=>`${ve()} \u2714 ${Ee(a)}`)),r&&console.log(e.slice(0,l.length).join(`
15
- `)),t}return Object.defineProperties(t,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(t)}var At=!0,ee={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},Ht=r=>{if(At&&Object.keys(r.removed).length){let e=Object.entries(r.removed).reduce((t,[n,o])=>[...t,`${j(n)} => ${o}`],[]).join("\\000A");T.error(`JQx HTML creation errors: ${e}`)}},Dt=function(r){let e=r.nodeName.toLowerCase(),t=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"];return/-/.test(e)&&!t.find(n=>n===e)||k.isAllowed(e)},G=r=>{let e={rawHTML:r?.parentElement?.getHTML()??"no html",removed:{}};return c(r,HTMLElement)&&[...r.childNodes].forEach(t=>{if(t?.children?.length&&G(t),t?.attributes){let o=c(t,SVGElement)?B.svg:B.html;[...(t??{attributes:[]}).attributes].forEach(l=>{let a=l.name.trim().toLowerCase(),S=l.value.trim().toLowerCase().replace(ee.whiteSpace,""),y=a==="href"?!ee.validURL.test(S):ee.notAllowedValues.test(S),b=a.startsWith("data")?!ee.data.test(a):!!o[a];if(y||b){let h=q(l.value||"none",60);h+=h.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${h}`,t.removeAttribute(l.name)}})}if(!(Dt(t)||t.constructor===CharacterData||t.constructor===Comment)){let o=(t?.outerHTML||t?.textContent).trim(),l=q(o,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${t.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,t.remove()}}),Ht(e),r};var A=new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(r,e){return r[String(e).toLowerCase()]??r[e]}}),Nt=r=>{let e=document.createElement("div");return e.insertAdjacentHTML(A.end,r),e.childNodes.length?G(e):void 0},Mt=(r,e,t)=>c(r,Comment)?e.insertAdjacentHTML(t,`<!--${r.data}-->`):e.insertAdjacentText(t,r.data),J=(r=[],e=document.body,t=A.BeforeEnd)=>r.reduce((n,o)=>{let l=Z(o)&&Ot(o,e,t);return l?[...n,l]:n},[]),Ot=(r,e=document.body,t=A.BeforeEnd)=>(e=e?.isJQx?e?.[0]:e,c(r,Comment,Text)?Mt(r,e,t):e.insertAdjacentElement(t,r)),D=r=>{if(c(r,Text,Comment))return r;let e=r?.trim(),t=e?.split(/<text>|<\/text>/i)??[];if(t?.length&&(t=t.length>1?t.filter(o=>o.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(r.replace(/<!--|-->$/g,""));if(t||!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(t);let n=Nt(r);return n.childNodes.length<1?D(`<span data-jqxcreationerror="1">${$(r,60)}</span>`):n.children[0]};var E=(r,e)=>{let t=r.collection.filter(n=>!Ne(n));for(let n=0;n<t.length;n+=1)e(t[n],n);return r},Pt=Fe(),It={get(r,e){return r[_(e)]||r[e]},enumerable:!1,configurable:!1};function Le(r){return r&&(r.textContent="")}function Q(r){let e=r.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),r.isConnected?r.remove():r=null,e}function Ae(r,e){if(r&&c(e,Object))for(let[t,n]of Object.entries(e))r.setAttribute(`data-${H(t)}`,n)}function Te(r,e){return r.andThen(e,!0)}function $e(r,e){return r.andThen(e)}function He(r){return r.startsWith("data")||B.html.find(e=>r.toLowerCase()===e)}function Rt(r,e,t,n){t&&c(e,String)&&(e={[e]:t==="-"?"":t});let o;e.className&&(o=e.className,delete e.className),o=[...r.classList].find(a=>a.startsWith("JQxClass-")||o&&a===o)||o||`JQxClass-${U().slice(1)}`,n.editCssRule(`.${o}`,e),r.classList.add(o)}function kt(r,e){if(r)for(let[t,n]of Object.entries(e)){if(t=H(t),t.startsWith("data"))return Ae(r,n);c(n,String)&&He(t)&&r.setAttribute(t,n.split(/[, ]/)?.join(" "))}}function ae(r,e){if(c(e,Object))for(let[t,n]of Object.entries(e)){let o;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),o="important"),r.style.setProperty(H(t),n,o)}}function jt(...r){debugLog.log("\u2757"+r.map(e=>String(e)).join(", "))}function ce(r,e=0,t=!0){return r=r?.parentElement,e+=r?r[t?"scrollTop":"scrollLeft"]:0,r?ce(r,e,t):e}function Bt(r){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},It)},set:(t={})=>{if(!e.is.empty&&c(t,Object))for(let[n,o]of Object.entries(t))e.setData({[n]:o});return e},get:(t,n)=>e.data.all[t]??n,add:(t={})=>{if(!e.is.empty&&c(t,Object))for(let[n,o]of Object.entries(t))e.setData({[n]:o});return e},remove:t=>(e[0]?.removeAttribute(`data-${H(t)}`),e)}),dimensions:e=>{if(e.is.empty)return{error:"[instance].dimensions: NO ELEMENTS"};let t=e[0],n=e.first()?.getBoundingClientRect().toJSON();return n.scrollTopDistance=ce(t,0),n.scrollLeftDistance=ce(t,0,!1),n},node:e=>e[0],HTML:e=>({get:(t,n)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=t?e.outerHtml:e.html();return n?j(o):o},set:(t,n=!1,o=!1)=>{t=t.isJQx?t.HTML.get(1):t;let l=c(t,String);return t=l&&o?j(t):t,l&&(t||"").trim().length&&e.html(t,n),e},replace:(t,n=!1)=>e.HTML.set(t,!1,n),append:(t,n=!1)=>(t=c(t,HTMLElement)?r(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t,!0,n)),insert:(t,n=!1)=>(t=c(t,HTMLElement)?r(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t+e.HTML.get(),!1,n))}),is:e=>Pt(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let t=r(e[0]?.parentNode);return t.is.empty?e:t},render:e=>(!e.is.empty&&e.toDOM()||r.log("[JQx.render]: empty collection"),e),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:t=>e.style(t),inSheet:t=>e.css(t),valueOf:t=>e.is.empty?void 0:getComputedStyle(e[0])[H(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:n=[]}={})=>{let l=c(n,String)&&!t.length?n.split("{")[0].trim():"";if(n=n&&c(n,String)?[n]:n,t=t&&c(t,String)?[t]:t,(n?.length||t?.length)&&(n?.length&&r.editCssRules(...n),t))for(let a of t)e.addClass(a);return l?.startsWith(".")&&e.addClass(l.slice(1)),l?.startsWith("#")&&!e.attr("id")&&e.prop({id:l.slice(1)}),e}})}}function Jt(r){return{addClass:(e,...t)=>E(e,n=>n&&t.forEach(o=>n.classList.add(o))),after:$e,afterMe:$e,andThen:(e,t,n=!1)=>{if(!t||!c(t,String,Node,Proxy))return jt(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:c(t,Node)?r.virtual(t).collection:r.virtual(D(t)).collection;let[o,l,a]=n?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[o][l](...t),e.collection=a,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let n=e.length===1;for(let o of t){if(!o.isJQx&&F(o)){let l=o.trim(),S=!/^<(.+)[^>]+>$/m.test(l)?r.text(o):D(o);E(e,y=>y.append(n?S:Q(S)))}Z(o)&&E(e,l=>l.append(n?o:Q(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(a=>l.append(n?a:Q(a))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=r(t)),t.append(e),e),attr:(e,t,n)=>{let o=e[0];if(!o)return e;if(!n&&F(t))return t=H(t),t==="class"?[...o?.classList].join(" "):o?.getAttribute(t);if(F(t)&&n)switch(t=H(t),!0){case t.startsWith("data-"):t={data:{[t.replace("data-","")]:n}};break;default:t={[t]:n}}return c(t,Object)&&!e.is.empty&&kt(o,t),e},before:Te,beforeMe:Te,clear:e=>E(e,Le),closest:(e,t)=>{let n=F(t)?e[0].closest(t):null;return n?r(n):e},computedStyle:(e,t)=>e.first()&&getComputedStyle(e.first())[t],css:(e,t,n)=>E(e,o=>Rt(o,t,n,r)),duplicate:(e,t=!1,n=document.body)=>{let o=e.toNodeList().map(a=>a.removeAttribute&&a.removeAttribute("id")||a),l=r.virtual(o);return t?l.toDOM(n):l},each:(e,t)=>E(e,t),empty:e=>E(e,Le),find:(e,t)=>e.collection.length>0?[...e.first()?.querySelectorAll(t)]:[],find$:(e,t)=>e.collection.length>0?r(t,e):e,first:(e,t=!1)=>{if(e.collection.length>0)return t?e.single():e.collection[0]},first$:(e,t)=>e.single(t),getData:(e,t,n)=>e.first()&&e.first().dataset?.[t]||n,hasClass:(e,...t)=>{let n=e[0];return!n||!n.classList.length?!1:t.find(o=>n.classList.contains(o))&&!0||!1},hide:e=>E(e,t=>ae(t,{display:"none !important"})),html:(e,t,n)=>{if(t===void 0){let o=e.node;return o?.getHTML&&o.getHTML()||""}if(!e.isEmpty()){let o=D(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!c(o,Comment))return E(e,a=>(n||(a.textContent=""),a.insertAdjacentHTML(r.at.end,o.getHTML())))}return e},htmlFor:(e,t,n="",o=!1)=>{if(t&&e.collection.length){if(!t||!F(n))return e;let l=e.find$(t);if(l.length<1)return e;let a=D(`<span>${n}</span>`);l.each(S=>{o||(S.textContent=""),S.insertAdjacentHTML(r.at.end,a?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...n)=>{if(e.collection.length&&c(t,String,Array)){if(t?.length<1||n.length<1)return e;let o=Me(e);r.handle({type:t,selector:o,handlers:n})}return e},prepend:(e,...t)=>{if(!e.is.empty&&t){let n=e.length===1;for(let o of t){if(F(o)){o=o.trim();let a=!/^<(.+)[^>]+>$/m.test(o)?r.text(o):D(o);a=n?a:Q(a),E(e,S=>S.prepend(a.cloneNode(!0)))}Z(o)&&E(e,l=>l.prepend(n?o:Q(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,a=>l.prepend(n?a:Q(a)))),o.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=r.virtual(t)),t.prepend(e),e),prop:(e,t,n)=>{if(c(t,String)&&!n)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let o=c(t,Object)?t:{[t]:n};for(let[l,a]of Object.entries(o)){if(l=l.trim(),a&&!He(l)||!a)return!1;if(l.toLowerCase()==="id")return e[0].id=a;E(e,y=>{if(l.startsWith("data"))return y.dataset[l.slice(l.indexOf("-")+1)]=a;y[l]=a})}return e},remove:(e,t)=>{T.log(`remove ${$(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let n=l=>l.remove(),o=()=>e.collection=e.collection.filter(l=>document.documentElement.contains(l));if(t){let l=e.find$(t);return l.is.empty||(E(l,n),o()),e}return E(e,n),o(),e},rmAttr:(e,...t)=>{for(let n of t)e.node.removeAttribute(n);return e},removeClass:(e,...t)=>E(e,n=>{if(n)for(let o of t)n.classList.remove(o)}),renderTo:(e,t=document.body,n=r.at.end)=>(e.toDOM(t,n),e),replace:(e,t,n)=>{let o=e[0];return!t||!n||!c(n,HTMLElement)&&!n.isJQx?(console.error("JQx replace: invalid replacement value"),e):(n.isJQx&&(n=n[0]),c(n,NodeList)&&(n=n[0]),o&&t&&(t=c(t,String)?o.querySelectorAll(t):t.isJQx?t.collection:t,c(t,HTMLElement,NodeList,Array)&&c(n,HTMLElement)&&(c(t,HTMLElement)?[t]:[...t]).forEach(l=>l.replaceWith(n.cloneNode(!0)))),e)},replaceClass:(e,t,...n)=>E(e,o=>{o.classList.remove(t);for(let l of n)o.classList.add(l)}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=c(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=r.virtual(t)),e),setData:(e,t)=>E(e,n=>Ae(n,t)),show:e=>E(e,t=>ae(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?c(t,String)?e.find$(t):c(t,Number)?r(e.collection[t]):r(e.collection[0]):e,style:(e,t,n)=>E(e,l=>{n&&c(t,String)&&(t={[t]:n||"none"}),ae(l,t)}),text:(e,t,n=!1)=>e.isEmpty()?e:c(t,String)?E(e,l=>l.textContent=n?l.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,n=A.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=J(e.collection,t,n),e),toggleClass:(e,t)=>E(e,n=>n.classList.toggle(t)),toNodeList:e=>[...e.collection].map(t=>document.importNode(t,!0)),trigger:(e,t,n=Event,o={})=>{if(e.collection.length){let l=new n(t,{...o,bubbles:o.bubbles??!0});for(let a of e.collection)a.dispatchEvent(l)}return e},val:(e,t)=>{let n=e[0];return!n||!c(n,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?n.value:(n.value=c(t,String)?t:"",e)}}}function De(r){return{factoryExtensions:Bt(r),instanceExtensions:Jt(r)}}function Oe(r){if(!r("#jqxPopup").isEmpty())return;r.dialog({id:"jqxPopup"},r.div({id:"jqxPopupContent"})).render,r.editCssRules(...me);let[e,t]=[r("#jqxPopupContent"),r.node("#jqxPopup")],n={};return r.handle({type:"click, keydown",handlers:b,capture:!0}),Object.freeze({show:o,removeModal:y});function o(u){if(t.open)return;n={...u};let{content:g}=n;return r.IS(g,String,HTMLElement)||g?.isJQx?a():!0}function l(){return n.modal?m(n.warnMessage):S()}function a(){e.clear();let{content:u,modal:g,closeAfter:d}=n;g=r.IS(g,Boolean)?g:!1;let x=g?"":r.div({id:"closeHandleIcon"});e.append(x,r.IS(u,String)?r.div(u):u),t.showModal(),!g&&r.IS(d,Number)&&h(l,d)}function S(){if(t.close(n.returnValue),r.IS(n.callback,Function))return n.callback(n.returnValue);n={}}function y({callback:u,value:g}={}){n.returnValue=g,n.modal=!1,n.callback=u||n.callback,l()}function b(u){if(!(Object.keys(n).length<1||!t.open))return u.key==="Escape"&&u.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(u.target.closest("#closeHandleIcon")||!u.target.closest("#jqxPopupContent"))&&l(),document.activeElement.blur()}function h(u,g){r.IS(u,Function)&&r.IS(g,Number)&&g>0&&(n.activeTimer=setTimeout(u,g*1e3))}function m(u){if(!r.IS(u,String,HTMLElement,Proxy))return;let g=e.find$(".warn");switch(!0){case g.is.empty:g=r.div({class:"warn"},u);default:e.append(g.addClass("active")),h(()=>e.find$(".warn").removeClass("active"),2)}}}var N={},Qt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],Pe=r=>!!Qt.find(e=>e===r);function Ie(r){return function(o){let{eventType:l,selector:a,callback:S,name:y,capture:b,once:h,canRemove:m}=o;switch(!0){case(!F(l)||!r.IS(S,Function)):default:y=y||!/handlers$/.test(S.name)&&S.name||void 0,b=r.IS(b,Boolean)?b:!1,h=r.IS(h,Boolean)?h:!1,m=F(y,4)&&r.IS(m,Boolean)?m:h;let{handler:u,signal:g,remove:d}=e({selector:a,callback:S,canRemove:m,once:h,name:y,eventType:l});return n({eventType:l,handler:u,capture:b,once:h,signal:g,remove:d,name:y})}};function e(o){let{selector:l,callback:a,canRemove:S,name:y,eventType:b,once:h}=o,m=(S||h)&&new AbortController,u=t({once:h,abortcontroller:m,name:y,eventType:b}),g=l?{handler:d=>{let x=d.target?.closest?.(l);return x&&a(d,r(x),u)},remove:u}:{handler:d=>a(d,d.target,u),remove:u};return m&&(g.signal=m.signal,h)?{handler:(d,x)=>{g.handler(d,x),u()}}:g}function t(o){let{once:l,abortcontroller:a,name:S,eventType:y}=o;return S?a?function(){a.abort();let h=[...N[y].entries()].find(([m,u])=>u.name===S);N[y].delete(h[0]),setTimeout(()=>r.logger.log(`Listener for event type [${y}] with name [${S}] was removed${l?" (once active, so handled once).":""}`),100)}:function(b){r.logger.error(`Listener for event type [${y}] with name [${S}] is not marked as removable`)}:function(){r.logger.error("An anonymous listener can not be removed")}}function n(o){let{eventType:l,handler:a,capture:S,once:y,signal:b,remove:h,name:m}=o;if(N[l]||(N[l]=new Map),!(N[l].has(a)||[...N[l].values()].find(g=>(g.name||"")===m))){let g={capture:S||Pe(l),once:y||!1};b&&(g.signal=b),document.addEventListener(l,a,g);let d={name:m,remove:h,capture:S||Pe(l)};N[l].set(a,d)}}}var ue,te,{isCommentOrTextNode:Ne,isNode:Z,isComment:en,isText:tn,isHtmlString:ke,isArrayOfHtmlElements:je,isArrayOfHtmlStrings:Be,ElemArray2HtmlString:Je,input2Collection:Qe,setCollectionFromCssSelector:We,addHandlerId:Me,cssRuleEdit:fe,addFn:Wt}=zt();function zt(){let r=X({createWithId:"JQxStylesheet"}),e=(t,n)=>te[t]=(o,...l)=>n(o,...l);return{...Ce(),cssRuleEdit:r,addFn:e}}function W(r){return new Proxy(r,{get:(e,t)=>Ut(e,t,r)})}function Vt(r,e){return(...t)=>c(r,Function)&&r(W(e),...t)}function _t(r,e){return(...t)=>c(r,Function)&&r(W(e),...t)}function Ut(r,e,t){switch(!0){case c(e,Symbol):return r;case c(+e,Number):return r.collection?.[e]||void 0;case e in ue:return _t(ue[e],t)();case e in te:return Vt(te[e],t);default:return r[e]}}function ze(r){let e=qt(r);for(let[t,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(r,t,n);return r}function Gt(r){return{allow:e=>{let t=/-/.test(e),n=t&&e;e=t?_(e):e.toLowerCase(),k.allowTag(e),c(r[e],Function)||Object.defineProperties(r,de(e,!0,r,n))},prohibit:e=>{e=e.toLowerCase(),k.prohibitTag(e),c(r[e],Function)&&Object.defineProperties(r,de(e,!1,r))}}}function Re(...r){if(r.length===1){let e=String(r.shift().trim());r=e.startsWith("!")?[e.slice(1,-1)]:e.split(",").map(t=>t.trim())}for(let e of r.map(t=>t.startsWith("!")?t.slice(1,-1):t))fe(e,{removeRule:1})}function Zt(r){return function(e,t,n){t=t?.isJQx?t?.[0]:t,n=n&&Object.values(A).find(l=>n===l)?n:void 0;let o=r(e,document.createElement("br"));if(t&&!c(t,HTMLBRElement))for(let l of o.collection)n?t.insertAdjacentElement(n,l):t.append(l);return o}}function Yt(...r){let e={};for(let t of r){let n=Object.getOwnPropertyDescriptors(t);for(let[o,l]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,l)}return e}function Xt(r){console.error(`JQx: "${r}" not allowed, not rendered`)}function Kt(r,e,t,n){return r=H(n||r.toLowerCase()),{get(){return(...o)=>e?t.virtual(G(oe[r](...o))):Xt(r)},enumerable:!1,configurable:!0}}function de(r,e,t,n){r=r.toLowerCase();let o=Kt(r,e,t,n);return n?{[n]:o,[_(n)]:o}:{[r]:o,[r.toUpperCase()]:o}}function qt(r){return Yt(Object.entries(k.tagsRaw).reduce(er(r),{}),lr(r))}function er(r){return function(e,[t,n]){return n&&Object.defineProperties(e,de(t,n,r)),e}}function tr(r){return function(e,t,...n){c(t,Function)&&(n.push(t),t=void 0),r({type:e,selector:t,handlers:n})}}function rr(r){return function(e){let{type:t,origin:n,selector:o,handlers:l,name:a,capture:S,once:y,canRemove:b}=e,h=we(t),m=a;if(!c(l,Function,Array))return;l=c(l,Function)?[l]:l,b=c(b,Boolean)?b:!1;let u={eventType:h,selector:o||n,capture:S,name:m,once:y,canRemove:b};switch(!0){case(c(h,Array)&&h.length>0):for(let d of h){u.eventType=d;for(let x of l)g(x)}return;default:for(let d of l)g(d)}function g(d){u.name=m,c(d,Function)&&r({...u,callback:d})}}}function nr(r,e){if(e=F(e)?e:void 0,r=F(r)?r:void 0,e&&r)return[...N[r].values()].find(t=>(t.name||"")===e)}function or(r){return r.activePopup||Object.defineProperty(r,"activePopup",{value:Oe(r),enumerable:!1}),r.activePopup}function ir(r){let e=(y,b)=>fe(y,b),t=y=>X({createWithId:y||`jqx${U()}`}),n=(...y)=>{for(let b of y)fe(b)},o=Gt(r),l=Ie(r),a=rr(l);return{editCssRule:e,createStyle:t,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:a,log:(...y)=>T.on.log(...y).off}}function lr(r){let{factoryExtensions:e,instanceExtensions:t}=De(r);ue=e,te=t;let{editCssRule:n,createStyle:o,editCssRules:l,allowProhibit:a,handle:S,capturedHandling:y,log:b}=ir(r);return{log:b,editCssRules:l,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:j,logger:T,text:(h,m=!1)=>m?r.comment(h):document.createTextNode(h),node:(h,m=document)=>m.querySelector(h,m),nodes:(h,m=document)=>[...m.querySelectorAll(h,m)],get getNamedListener(){return nr},get virtual(){return Zt(r)},get allowTag(){return a.allow},get prohibitTag(){return a.prohibit},get removeCssRule(){return Re},get removeCssRules(){return Re},get delegate(){return tr(y)},get delegateCaptured(){return y},get handle(){return y},get at(){return A},get setStyle(){return n},get fn(){return Wt},get lenient(){return k.allowUnknownHtmlTags},get IS(){return c},get Popup(){return or(r)}}}var sr=ze(ar());function ar(){return function(t,n,o=A.BeforeEnd){if(t?.isJQx)return t;let l=c(n,HTMLBRElement);n=(!l&&n&&n.isJQx?n[0]:n)||document.body,o=o&&Object.values(A).find(g=>o===g)?o:void 0;let a=ke(t),S=!a&&Be(t),y=S||a,b={collection:Qe(t)??[],isVirtual:l,isJQx:!0},h=je(b.collection),m=`input =&gt; ${S?`"${$(t.join(", "),70)}"`:!y&&h?`element collection [${$(b.collection.map(g=>`${c(g,Comment,Text)?"Comment|Text @":""} ${g?.outerHTML||g?.textContent}`).join(", "),70)}]`:`"${$(t,70)}"`}`;if(b.collection.length&&h)return T.log(m),l||b.collection.forEach(g=>{n.contains(g)||J([g],n,o)}),W(b);if(y){if([t].flat().forEach(g=>b.collection.push(D(g))),b.collection.length>0){let g=b.collection.filter(d=>d?.dataset?.jqxcreationerror);b.collection=b.collection.filter(d=>!d?.dataset?.jqxcreationerror),T.log(`${m}`),T.log(`*Created ${b.isVirtual?"VIRTUAL ":""}[${$(Je(b.collection)||"sanitized: no elements remaining",70)}]`),g.length&&T.error(`JQx: illegal html, not rendered: "${g.reduce((d,x)=>d.concat(`${x.textContent}
16
- `),"").trim()}"`),b.isVirtual||J(b.collection,n,o)}return W(b)}let u=We(t,n,b);return T.log(`input => ${u}`),W(b)}}return Ye(cr);})();
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 Ct(t){return Lt(wt(t))}function $e(t,e){return t?.replace("::",":")===e?.replace("::",":")}var Ft=[...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}`)),$=Pt(),He={get(t,e){return t[K(e)]||t[e]},enumerable:!1,configurable:!1},C=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]}});function X(t,e=2){return`${t}`.padStart(e,"0")}function Tt(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 F(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function Ne(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 $t(t){let e=t.length;for(;e--;){let r=Tt(e);[t[e],t[r]]=[t[r],t[e]]}return t}function A(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 D(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function At([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function K(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${At(e)}`||e).join(""):t}function V(){return`_${$t(Ft).slice(0,8).join("")}`}function ce(t,e=120){return A(t,e).replace(/&lt;/g,"<")}function Ae(){return(t=>`[${X(t.getHours())}:${X(t.getMinutes())}:${X(t.getSeconds())}.${X(t.getMilliseconds(),3)}]`)(new Date)}function j(t){return t.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function q(t){return a(t,Comment,Text)}function P(t){return a(t,Text,HTMLElement,Comment)}function Me(t){a(t,Comment)}function Dt(t){return a(t,Text)}function ee(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function te(t){return a(t,Array)&&!t?.find(e=>!P(e))}function ue(t){return a(t,Array)&&!t?.find(e=>!ee(e))}function fe(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(Me(r)?`<!--${r.data}-->`:q(r)?r.textContent:r.outerHTML),"")}function de(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:P(t)?[t]:te(t)?t:t.isJQx?t.collection:void 0:[]}function me(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 ge(t){let e=t.data.get("hid")||`HID${V()}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Pe(){return{isCommentOrTextNode:q,isNode:P,isComment:Me,isText:Dt,isHtmlString:ee,isArrayOfHtmlElements:te,isArrayOfHtmlStrings:ue,ElemArray2HtmlString:fe,input2Collection:de,setCollectionFromCssSelector:me,addHandlerId:ge}}function Ht(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,u=+r.opacity==0||+(e.opacity||1)==0;return!(l||u||o||n)}function Nt(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function Mt(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function Oe(){let e={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)?{get writable(){return Nt(n)},get modal(){return Mt(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return Ht(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}:e}}function De(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function Pt(){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(u=>`${Ae()} \u2A3B ${De(u)}`)),console.error(e.slice(0,l.length).join(`
14
+ `)),r}function o(...l){return e.unshift(...l.map(u=>`${Ae()} \u2714 ${De(u)}`)),t&&console.log(e.slice(0,l.length).join(`
15
+ `)),r}return Object.defineProperties(r,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}var pe=!1,Ot={on:()=>pe=!0,off:()=>pe=!1},B={tagsRaw:W,allowUnknownHtmlTags:Ot,isAllowed(t){if(pe)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,re={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,`${j(n)} => ${o}`],[]).join("\\000A");$.error(`JQx: HTML creation error(s): ${e}`)}}function kt(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)||B.isAllowed(e)}function U(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&U(r),r?.attributes){let o=a(r,SVGElement)?J.svg:J.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let u=l.name.trim().toLowerCase(),h=l.value.trim().toLowerCase().replace(re.whiteSpace,""),p=u==="href"?!re.validURL.test(h):re.notAllowedValues.test(h),y=u.startsWith("data")?!re.data.test(u):!!o[u];if(p||y){let b=ce(l.value||"none",60);b+=b.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${b}`,r.removeAttribute(l.name)}})}if(!(kt(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),l=ce(o,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),Rt(e),t}function jt(t){let e=document.createElement("div");return e.insertAdjacentHTML(C.end,t),e.childNodes.length?U(e):void 0}function Bt(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function _(t=[],e=document.body,r=C.BeforeEnd){r=r||C.BeforeEnd,t.reduce((n,o)=>{let l=P(o)&&Jt(o,e,r);return l?[...n,l]:n},[])}function Jt(t,e=document.body,r=C.BeforeEnd){return r=r||C.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?Bt(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=jt(t);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${A(t,60)}</span>`):n.children[0]}var Qt=Oe();function Ie(t){return t&&(t.textContent="")}function E(t,e){let r=t.collection.filter(n=>!q(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Q(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function je(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${D(r)}`,n)}function Re(t,e){return t.andThen(e,!0)}function ke(t,e){return t.andThen(e)}function Be(t){return t.startsWith("data")||J.html.find(e=>t.toLowerCase()===e)}function Wt(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(u=>u.startsWith("JQxClass-")||o&&u===o)||o||`JQxClass-${V().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}function zt(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=D(r),r.startsWith("data"))return je(t,n);a(n,String)&&Be(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function ye(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(D(r),n,o)}}function Vt(...t){debugLog.log("\u2757"+t.map(e=>String(e)).join(", "))}function be(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?be(t,e,r):e}function Ut(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},He)},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-${D(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=be(r,0),n.scrollLeftDistance=be(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?j(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?j(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=>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])[D(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 u of r)e.addClass(u);return l?.startsWith(".")&&e.addClass(l.slice(1)),l?.startsWith("#")&&!e.attr("id")&&e.prop({id:l.slice(1)}),e}})}}function _t(t){return{addClass:(e,...r)=>E(e,n=>n&&r.forEach(o=>n.classList.add(o))),after:ke,afterMe:ke,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return Vt(`[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,l,u]=n?[0,"before",r.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r)];return e[o][l](...r),e.collection=u,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 l=o.trim(),h=!/^<(.+)[^>]+>$/m.test(l)?t.text(o):H(o);E(e,p=>p.append(n?h:Q(h)))}P(o)&&E(e,l=>l.append(n?o:Q(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(u=>l.append(n?u:Q(u))))}}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=D(r),r==="class"?[...o?.classList].join(" "):o?.getAttribute(r);if(F(r)&&n)switch(r=D(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&zt(o,r),e},before:Re,beforeMe:Re,clear:e=>E(e,Ie),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=>Wt(o,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{let o=e.toNodeList().map(u=>u.removeAttribute&&u.removeAttribute("id")||u),l=t.virtual(o);return r?l.toDOM(n):l},each:(e,r)=>E(e,r),empty:e=>E(e,Ie),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=>ye(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,u=>(n||(u.textContent=""),u.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 l=e.find$(r);if(l.length<1)return e;let u=H(`<span>${n}</span>`);l.each(h=>{o||(h.textContent=""),h.insertAdjacentHTML(t.at.end,u?.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=ge(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(F(o)){o=o.trim();let u=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):H(o);u=n?u:Q(u),E(e,h=>h.prepend(u.cloneNode(!0)))}P(o)&&E(e,l=>l.prepend(n?o:Q(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,u=>l.prepend(n?u:Q(u)))),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,u]of Object.entries(o)){if(l=l.trim(),u&&!Be(l)||!u)return!1;if(l.toLowerCase()==="id")return e[0].id=u;E(e,p=>{if(l.startsWith("data"))return p.dataset[l.slice(l.indexOf("-")+1)]=u;p[l]=u})}return e},remove:(e,r)=>{$.log(`remove ${A(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=>je(n,r)),show:e=>E(e,r=>ye(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"}),ye(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=C.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=_(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 u of e.collection)u.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)}}}function Je(t){return{factoryExtensions:Ut(t),instanceExtensions:_t(t)}}function Qe(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(...ve);let[e,r]=[t("#jqxPopupContent"),t.node("#jqxPopup")],n={};return t.handle({type:"click, keydown",handlers:y,capture:!0}),Object.freeze({show:o,removeModal:p});function o(m){if(r.open)return;n={...m};let{content:g}=n;return t.IS(g,String,HTMLElement)||g?.isJQx?u():!0}function l(){return n.modal?x(n.warnMessage):h()}function u(){e.clear();let{content:m,modal:g,closeAfter:f}=n;g=t.IS(g,Boolean)?g:!1;let S=g?"":t.div({id:"closeHandleIcon"});e.append(S,t.IS(m,String)?t.div(m):m),r.showModal(),!g&&t.IS(f,Number)&&b(l,f)}function h(){if(r.close(n.returnValue),t.IS(n.callback,Function))return n.callback(n.returnValue);n={}}function p({callback:m,value:g}={}){n.returnValue=g,n.modal=!1,n.callback=m||n.callback,l()}function y(m){if(!(Object.keys(n).length<1||!r.open))return m.key==="Escape"&&m.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(m.target.closest("#closeHandleIcon")||!m.target.closest("#jqxPopupContent"))&&l(),document.activeElement.blur()}function b(m,g){t.IS(m,Function)&&t.IS(g,Number)&&g>0&&(n.activeTimer=setTimeout(m,g*1e3))}function x(m){if(!t.IS(m,String,HTMLElement,Proxy))return;let g=e.find$(".warn");switch(!0){case g.is.empty:g=t.div({class:"warn"},m);default:e.append(g.addClass("active")),b(()=>e.find$(".warn").removeClass("active"),2)}}}var N={},Gt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],We=t=>!!Gt.find(e=>e===t);function ze(t){return function(o){let{eventType:l,selector:u,callback:h,name:p,capture:y,once:b,canRemove:x}=o;switch(!0){case(!F(l)||!t.IS(h,Function)):default:p=p||!/handlers$/.test(h.name)&&h.name||void 0,y=t.IS(y,Boolean)?y:!1,b=t.IS(b,Boolean)?b:!1,x=F(p,4)&&t.IS(x,Boolean)?x:b;let{handler:m,signal:g,remove:f}=e({selector:u,callback:h,canRemove:x,once:b,name:p,eventType:l});return n({eventType:l,handler:m,capture:y,once:b,signal:g,remove:f,name:p})}};function e(o){let{selector:l,callback:u,canRemove:h,name:p,eventType:y,once:b}=o,x=(h||b)&&new AbortController,m=r({once:b,abortcontroller:x,name:p,eventType:y}),g=l?{handler:f=>{let S=f.target?.closest?.(l);return S&&u(f,t(S),m)},remove:m}:{handler:f=>u(f,f.target,m),remove:m};return x&&(g.signal=x.signal,b)?{handler:(f,S)=>{g.handler(f,S),m()}}:g}function r(o){let{once:l,abortcontroller:u,name:h,eventType:p}=o;return h?u?function(){u.abort();let b=[...N[p].entries()].find(([x,m])=>m.name===h);N[p].delete(b[0]),setTimeout(()=>t.logger.log(`Listener for event type [${p}] with name [${h}] was removed${l?" (once active, so handled once).":""}`),100)}:function(y){t.logger.error(`Listener for event type [${p}] with name [${h}] is not marked as removable`)}:function(){t.logger.error("An anonymous listener can not be removed")}}function n(o){let{eventType:l,handler:u,capture:h,once:p,signal:y,remove:b,name:x}=o;if(N[l]||(N[l]=new Map),!(N[l].has(u)||[...N[l].values()].find(g=>(g.name||"")===x))){let g={capture:h||We(l),once:p||!1};y&&(g.signal=y),document.addEventListener(l,u,g);let f={name:x,remove:b,capture:h||We(l)};N[l].set(u,f)}}}var he,ne,{isComment:tn,isText:rn,isHtmlString:nn,isArrayOfHtmlElements:on,isArrayOfHtmlStrings:ln,ElemArray2HtmlString:sn,addHandlerId:an,cssRuleEdit:Se,addFn:Zt}=Yt();function Yt(){let t=Y({createWithId:"JQxStylesheet"}),e=(r,n)=>ne[r]=(o,...l)=>n(o,...l);return{...Pe(),cssRuleEdit:t,addFn:e}}function G(t){return new Proxy(t,{get:(e,r)=>Xt(e,r,t)})}function Ve(t,e){return(...r)=>a(t,Function)&&t(G(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 he:return Ve(he[e],r)();case e in ne:return Ve(ne[e],r);default:return t[e]}}function _e(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?K(e):e.toLowerCase(),B.allowTag(e),a(t[e],Function)||Object.defineProperties(t,xe(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),B.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,xe(e,!1,t))}}}function Ue(...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))Se(e,{removeRule:1})}function qt(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(C).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)}return e}function tr(t,e,r,n){return t=D(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(U(ie[t](...o)))},enumerable:!1,configurable:!0}}function xe(t,e,r,n){t=t.toLowerCase();let o=tr(t,e,r,n);return n?{[n]:o,[K(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function rr(t){return er(Object.entries(B.tagsRaw).reduce(nr(t),{}),cr(t))}function nr(t){return function(e,[r,n]){return n&&Object.defineProperties(e,xe(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:u,capture:h,once:p,canRemove:y}=e,b=Ne(r),x=u;if(!a(l,Function,Array))return;l=a(l,Function)?[l]:l,y=a(y,Boolean)?y:!1;let m={eventType:b,selector:o||n,capture:h,name:x,once:p,canRemove:y};switch(!0){case(a(b,Array)&&b.length>0):for(let f of b){m.eventType=f;for(let S of l)g(S)}return;default:for(let f of l)g(f)}function g(f){m.name=x,a(f,Function)&&t({...m,callback:f})}}}function lr(t,e){return e=F(e)&&e,t=F(t)&&t,e&&t&&[...N[t].values()].find(r=>(r.name||"")===e)}function sr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:Qe(t),enumerable:!1}),t.activePopup}function ar(t){let e=(p,y)=>Se(p,y),r=p=>Y({createWithId:p||`jqx${V()}`}),n=(...p)=>{for(let y of p)Se(y)},o=Kt(t),l=ze(t),u=ir(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:u,log:(...p)=>$.on.log(...p).off}}function cr(t){let{factoryExtensions:e,instanceExtensions:r}=Je(t);he=e,ne=r;let{editCssRule:n,createStyle:o,editCssRules:l,allowProhibit:u,handle:h,capturedHandling:p,log:y}=ar(t);return{log:y,editCssRules:l,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:j,logger:$,text:(b,x=!1)=>x?t.comment(b):document.createTextNode(b),node:(b,x=document)=>x.querySelector(b,x),nodes:(b,x=document)=>[...x.querySelectorAll(b,x)],get getNamedListener(){return lr},get virtual(){return qt(t)},get allowTag(){return u.allow},get prohibitTag(){return u.prohibit},get removeCssRule(){return Ue},get removeCssRules(){return Ue},get delegate(){return or(p)},get delegateCaptured(){return p},get handle(){return p},get at(){return C},get setStyle(){return n},get fn(){return Zt},get lenient(){return B.allowUnknownHtmlTags},get IS(){return a},get Popup(){return sr(t)}}}var ur=_e(fr());function fr(){return function(r,n,o=C.BeforeEnd){if(r?.isJQx)return r;let l=a(n,HTMLBRElement);n=(!l&&n&&n.isJQx?n[0]:n)||document.body,o=o&&Object.values(C).find(g=>o===g)?o:void 0;let u=ee(r),h=!u&&ue(r),p=h||u,y={collection:de(r)??[],isVirtual:l,isJQx:!0},b=te(y.collection),x=`input =&gt; ${h?`"${A(r.join(", "),70)}"`:!p&&b?`element collection [${A(y.collection.map(g=>`${a(g,Comment,Text)?"Comment|Text @":""} ${g?.outerHTML||g?.textContent}`).join(", "),70)}]`:`"${A(r,70)}"`}`;if(y.collection.length&&b)return $.log(x),l||y.collection.forEach(g=>{n.contains(g)||_([g],n,o)}),G(y);if(p){if([r].flat().forEach(g=>y.collection.push(H(g))),y.collection.length>0){let g=y.collection.filter(f=>f?.dataset?.jqxcreationerror);y.collection=y.collection.filter(f=>!f?.dataset?.jqxcreationerror),$.log(`${x}`),$.log(`*Created ${y.isVirtual?"VIRTUAL ":""}[${A(fe(y.collection).trim()||"sanitized: no elements remaining",70)}]`),y.isVirtual||_(y.collection,n,o)}return G(y)}let m=me(r,n,y);return $.log(`input => ${m}`),G(y)}}return qe(dr);})();
package/Bundle/jqx.min.js CHANGED
@@ -1,16 +1,15 @@
1
- var de=_e(),B=ze(),z=Ve();function ze(){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 Ve(){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 _e(){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 re=!1,Ue={on:()=>re=!0,off:()=>re=!1},k={tagsRaw:z,allowUnknownHtmlTags:Ue,isAllowed(r){if(re)return!0;let e=c(r,String)?r.toLowerCase():r?.nodeName.toLowerCase()||"none";return e==="#text"||!!z[e]},allowTag:r=>z[r.toLowerCase()]=!0,prohibitTag:r=>z[r.toLowerCase()]=!1};var Ge=Ze(),me={html:"innerHTML",text:"textContent",class:"className"},ne=Ge;function Ze(){let r={get(e,t){let n=String(t)?.toLowerCase();switch(!0){case n in e:return e[n];case ot(n):return ge(e,n,t);default:return ge(e,n,t,!0)}},enumerable:!1,configurable:!1};return new Proxy({},r)}function ge(r,e,t,n=!1){return Object.defineProperty(r,e,{get(){return n?o=>rt(t):it(e)}}),r[e]}function Ye(r,e,t){return e=e?.isJQx&&e.first()||e,ie({trial:n=>nt(e)?r.append(e):ye(e)?r.insertAdjacentHTML("beforeend",e):r.append(e),whenError:n=>console.info(`${t} (for root ${r}) not created, reason
2
- `,n)})}function Xe(r,e,...t){let n=Ke(e,r);return t?.forEach(o=>Ye(n,o,r)),n}function Ke(r,e){switch(r=oe(e)?tt(r):r?.isJQx?r.first():r,!0){case c(r,String):return V(e,ye(r,e)?{html:r}:{text:r});case c(r,Node):return et(e,r);default:return V(e,r)}}function qe(r){return delete r.data,Object.keys(r).length<1||Object.keys(r).forEach(e=>{let t=e.toLowerCase();t in me&&(r[me[t]]=r[e],delete r[e])}),r}function et(r,e){let t=V(r);return t.append(e),t}function V(r,e={}){e=pe(e,{});let t=Object.entries(e.data??{}),n=Object.assign(oe(r)?new Comment(e?.text):document.createElement(r),qe(e));return t.length&&t.forEach(([o,l])=>n.dataset[o]=String(l)),n}function pe(r,e){return e?c(r,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:e}):c(r,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function tt(r){return pe(r)?r?.text??r?.textContent??"":String(r)}function rt(r){return V("b",{style:"color:red",text:`'${r}' is not a valid HTML-tag`})}function ye(r,e){return!oe(e)&&c(r,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(r)}function nt(r){return r?.constructor===Comment||r?.constructor===CharacterData}function oe(r){return r?.constructor===Comment||/comment/i.test(r)}function ot(r){return!c(V(r),HTMLUnknownElement)}function it(r){return(e,...t)=>Xe(r,e,...t)}var{IS:c,maybe:ie,$Wrap:sr,xProxy:ar,isNothing:cr}=lt();function lt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),x();let r=m(),[e,t]=[u(),M()];return t.custom(),{IS:n,maybe:r,$Wrap:e,isNothing:h,xProxy:t};function n(i,...s){if(r({trial:p=>"isTypes"in(s?.[0]??{})})){let p=s[0];return"defaultValue"in p?g(i,p):"notTypes"in p?d(i,p):n(i,...[p.isTypes].flat())}let f=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?b(f,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:f,noShouldbe:p,compareTo:v,inputCTOR:L,isNaN:O,isInfinity:P,shouldBeFirstElementIsNothing:I}=S(i,...s);switch(s=s.length&&s[0],!0){case I:return String(i)===String(v);case(i?.[Symbol.proxy]&&p):return i[Symbol.proxy];case O:return p?"NaN":r({trial:R=>String(v)})===String(i);case P:return p?"Infinity":r({trial:R=>String(v)})===String(i);case f:return p?String(i):String(v)===String(i);case L===Boolean:return s?L===s:"Boolean";default:return y(i,s,p,a(i,L))}}function a(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function S(i,...s){let f=s.length<1,p=!f&&s[0],v=!f&&h(s[0]),L=i==null,O=!L&&Object.getPrototypeOf(i)?.constructor,P=r({trial:R=>String(i)})==="NaN",I=r({trial:R=>String(i)})==="Infinity";return{noInput:L,noShouldbe:f,compareTo:p,inputCTOR:O,isNaN:P,isInfinity:I,shouldBeFirstElementIsNothing:v}}function y(i,s,f,p){switch(!0){case(!f&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case r({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?r({trial:v=>i instanceof s})||s===p||s===Object.getPrototypeOf(p)||`${s?.name}`===p?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||p?.name||String(p)}}function b(i,...s){return s.some(f=>n(i,f))}function h(i,s=!1){let f=i==null;return f=s?f||n(i,1/0)||n(i,NaN):f,f}function m(){let i=(s,f)=>s?.constructor===Function?s(f):void 0;return function({trial:s,whenError:f=()=>{}}={}){try{return i(s)}catch(p){return i(f,p)}}}function u(){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 g(i,{defaultValue:s,isTypes:f=[void 0],notTypes:p}={}){return f=f?.constructor!==Array?[f]:f,p=p&&p?.constructor!==Array?[p]:[],p.length<1?n(i,...f)?i:s:d(i,{isTypes:f,notTypes:p})?i:s}function d(i,{isTypes:s=[void 0],notTypes:f=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,f=f?.constructor!==Array?[f]:f,n(i,...s)&&!n(i,...f)}function x(){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 C(i){let s=i.set;return i.set=(f,p,v)=>p===Symbol.proxy?f[p]=v:s(f,p,v),i}function M(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,f){for(let v of f)v.set&&(v=C(v));let p=new s(...f);return p[Symbol.proxy]=`Proxy (${w(f[0])})`,p}})}}}}var{IS:Y,maybe:fr,$Wrap:dr,xProxy:mr,isNothing:gr}=st();function st(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),x();let r=m(),[e,t]=[u(),M()];return t.custom(),{IS:n,maybe:r,$Wrap:e,isNothing:h,xProxy:t};function n(i,...s){if(r({trial:p=>"isTypes"in(s?.[0]??{})})){let p=s[0];return"defaultValue"in p?g(i,p):"notTypes"in p?d(i,p):n(i,...[p.isTypes].flat())}let f=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?b(f,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:f,noShouldbe:p,compareTo:v,inputCTOR:L,isNaN:O,isInfinity:P,shouldBeFirstElementIsNothing:I}=S(i,...s);switch(s=s.length&&s[0],!0){case I:return String(i)===String(v);case(i?.[Symbol.proxy]&&p):return i[Symbol.proxy];case O:return p?"NaN":r({trial:R=>String(v)})===String(i);case P:return p?"Infinity":r({trial:R=>String(v)})===String(i);case f:return p?String(i):String(v)===String(i);case L===Boolean:return s?L===s:"Boolean";default:return y(i,s,p,a(i,L))}}function a(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function S(i,...s){let f=s.length<1,p=!f&&s[0],v=!f&&h(s[0]),L=i==null,O=!L&&Object.getPrototypeOf(i)?.constructor,P=r({trial:R=>String(i)})==="NaN",I=r({trial:R=>String(i)})==="Infinity";return{noInput:L,noShouldbe:f,compareTo:p,inputCTOR:O,isNaN:P,isInfinity:I,shouldBeFirstElementIsNothing:v}}function y(i,s,f,p){switch(!0){case(!f&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case r({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?r({trial:v=>i instanceof s})||s===p||s===Object.getPrototypeOf(p)||`${s?.name}`===p?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||p?.name||String(p)}}function b(i,...s){return s.some(f=>n(i,f))}function h(i,s=!1){let f=i==null;return f=s?f||n(i,1/0)||n(i,NaN):f,f}function m(){let i=(s,f)=>s?.constructor===Function?s(f):void 0;return function({trial:s,whenError:f=()=>{}}={}){try{return i(s)}catch(p){return i(f,p)}}}function u(){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 g(i,{defaultValue:s,isTypes:f=[void 0],notTypes:p}={}){return f=f?.constructor!==Array?[f]:f,p=p&&p?.constructor!==Array?[p]:[],p.length<1?n(i,...f)?i:s:d(i,{isTypes:f,notTypes:p})?i:s}function d(i,{isTypes:s=[void 0],notTypes:f=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,f=f?.constructor!==Array?[f]:f,n(i,...s)&&!n(i,...f)}function x(){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 C(i){let s=i.set;return i.set=(f,p,v)=>p===Symbol.proxy?f[p]=v:s(f,p,v),i}function M(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,f){for(let v of f)v.set&&(v=C(v));let p=new s(...f);return p[Symbol.proxy]=`Proxy (${w(f[0])})`,p}})}}}}var X=at;function at({styleSheet:r,createWithId:e}={}){let{tryParseAtOrNestedRules:t,ruleExists:n,checkParams:o,sheet:l,removeRules:a,consider:S,currentSheetID:y}=ct({styleSheet:r,createWithId:e});function b(d,x){if(d&&x.removeProperties){Object.keys(x.removeProperties).forEach(w=>d.style.removeProperty(be(w)));return}Object.entries(x).forEach(([w,C])=>{w=be(w.trim()),C=C.trim();let M;if(/!important/.test(C)&&(C=C.slice(0,C.indexOf("!important")).trim(),M="important"),!CSS.supports(w,C))return console.error(`StylingFactory ${y} error: '${w}' with value '${C}' not supported (yet)`);he(()=>d.style.setProperty(w,C,M),`StylingFactory ${y} (setRule4Selector) failed`)})}function h(d,x,w=l){if(d=d?.trim?.(),!Y(d,String)||!d.length||/[;,]$/g.test(d))return console.error(`StylingFactory ${y} (setRules): [${d||"[no selector given]"}] is not a valid selector`);if(x.removeRule)return a(d);let C=n(d,!0),M=C||w.cssRules[w.insertRule(`${d} {}`,w.cssRules.length||0)];return S(()=>b(M,x),d,C)}function m(d){let x=d.trim().split(/{/,2),w=x.shift().trim();if(!Y(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${y} (doParse): no (valid) selector could be extracted from rule ${le(d)}`);let C=yt(x.shift());return he(()=>h(w,C),`StylingFactory ${y} (setRules) failed`)}function u(d){let x=t(d);return x.done?x.existing:m(d)}function g(d,x){return d.trim().startsWith("@media")?u(ut(d,x)):h(d,x)}return function(d,x={}){return o(d,x)&&(Object.keys(x).length?g(d,x):u(d))}}function ct({styleSheet:r,createWithId:e}){let t="Note: The rule or some of its properties may not be supported by your browser (yet)",n=`for style#${e}`;r=e?o(e):r;function o(u){let g=document.querySelector(`#${u}`)?.sheet;if(g)return g;let d=Object.assign(document.createElement("style"),{id:u});return document.head.insertAdjacentElement("beforeend",d),d.sheet}function l(u){return console.error(`StylingFactory ${n} [rule: ${u}]
3
- => @charset, @namespace and @import are not supported here`),{done:!0}}function a(u,g){return[...r.rules].find(d=>g?Se(d.selectorText||"",u):mt`${dt(u)}${[..."gim"]}`.test(d.cssText))}function S(u){return/^@charset|@import|namespace/i.test(u.trim())?l(u):u.match(/}/g)?.length>1?{existing:h(u,1),done:!0}:{done:!1}}function y(u){let g=[...r.cssRules].reduce((x,w,C)=>Se(w.selectorText||"",u)&&x.concat(C)||x,[]),d=g.length;return g.forEach(x=>r.deleteRule(x)),d>0?console.info(`\u2714 Removed ${d} instance${d>1?"s":""} of selector ${u} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${u} does not exist in ${n.slice(4)}`)}function b(u,g){return u&&Y(u,String)&&u.trim().length>0&&Y(g,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function h(u){u=u.trim();let g=u.slice(0,u.indexOf("{")).trim(),d=!!a(g);try{return r.insertRule(`${u}`,r.cssRules.length),d}catch(x){return console.error(`StylingFactory ${n} (tryParse) ${x.name} Error:
4
- ${x.message}
5
- Rule: ${le(u)}
6
- ${t}`),d}}function m(u,g,d){try{return u(),d}catch(x){return console.error(`StylingFactory ${n} (tryAddOrModify) ${x.name} Error:
7
- ${x.message}
8
- Rule: ${le(g)}
9
- ${t}`),d}}return{sheet:r,removeRules:y,tryParseAtOrNestedRules:S,ruleExists:a,checkParams:b,tryParse:h,consider:m,currentSheetID:n}}function ut(r,e){return`${r.trim()} ${Object.entries(e).map(([t,n])=>`${t}: { ${ft(n)}`)}`}function le(r){let e=(r||"NO RULE").trim().slice(0,50).replace(/\n/g,"\\n").replace(/\s{2,}/g," ");return r.length>e.length?`${e.trim()}...truncated`:e}function ft(r){return Object.entries(r).map(([e,t])=>`${e}: ${t.trim()}`).join(`;
10
- `)}function dt(r){return r.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function mt(r,...e){let t=e.length&&Array.isArray(e.slice(-1))?e.pop().join(""):"";return new RegExp((e.length&&r.raw.reduce((n,o,l)=>n.concat(e[l-1]||"").concat(o),"")||r.raw.join("")).split(`
11
- `).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),t)}function be(r){return r.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function he(r,e){try{return r()}catch(t){console.error(`${e||"an error occured"}: ${t.message}`)}}function gt(r){return r.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,t)=>`${t}\\3b`).split(";").map(e=>e.trim()).join(`;
1
+ var xe=Ze(),J=_e(),W=Ge();function _e(){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 Ge(){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 Ze(){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 Ye=Xe(),ve={html:"innerHTML",text:"textContent",class:"className"},oe=Ye;function Xe(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case lt(n):return Ee(e,n,r);default:return Ee(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function Ee(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?o=>ot(r):st(e)}}),t[e]}function Ke(t,e,r){return e=e?.isJQx&&e.first()||e,le({trial:n=>it(e)?t.append(e):Le(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
2
+ `,n)})}function qe(t,e,...r){let n=et(e,t);return r?.forEach(o=>Ke(n,o,t)),n}function et(t,e){switch(t=ie(e)?nt(t):t?.isJQx?t.first():t,!0){case a(t,String):return z(e,Le(t,e)?{html:t}:{text:t});case a(t,Node):return rt(e,t);default:return z(e,t)}}function tt(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in ve&&(t[ve[r]]=t[e],delete t[e])}),t}function rt(t,e){let r=z(t);return r.append(e),r}function z(t,e={}){e=we(e,{});let r=Object.entries(e.data??{}),n=Object.assign(ie(t)?new Comment(e?.text):document.createElement(t),tt(e));return r.length&&r.forEach(([o,l])=>n.dataset[o]=String(l)),n}function we(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 nt(t){return we(t)?t?.text??t?.textContent??"":String(t)}function ot(t){return z("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function Le(t,e){return!ie(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function it(t){return t?.constructor===Comment||t?.constructor===CharacterData}function ie(t){return t?.constructor===Comment||/comment/i.test(t)}function lt(t){return!a(z(t),HTMLUnknownElement)}function st(t){return(e,...r)=>qe(t,e,...r)}var{IS:a,maybe:le,$Wrap:sr,xProxy:ar,isNothing:cr}=at();function at(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),S();let t=x(),[e,r]=[m(),M()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:b,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?g(i,d):"notTypes"in d?f(i,d):n(i,...[d.isTypes].flat())}let c=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?y(c,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:c,noShouldbe:d,compareTo:v,inputCTOR:T,isNaN:O,isInfinity:I,shouldBeFirstElementIsNothing:R}=h(i,...s);switch(s=s.length&&s[0],!0){case R:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case O:return d?"NaN":t({trial:k=>String(v)})===String(i);case I:return d?"Infinity":t({trial:k=>String(v)})===String(i);case c:return d?String(i):String(v)===String(i);case T===Boolean:return s?T===s:"Boolean";default:return p(i,s,d,u(i,T))}}function u(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let c=s.length<1,d=!c&&s[0],v=!c&&b(s[0]),T=i==null,O=!T&&Object.getPrototypeOf(i)?.constructor,I=t({trial:k=>String(i)})==="NaN",R=t({trial:k=>String(i)})==="Infinity";return{noInput:T,noShouldbe:c,compareTo:d,inputCTOR:O,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function p(i,s,c,d){switch(!0){case(!c&&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 y(i,...s){return s.some(c=>n(i,c))}function b(i,s=!1){let c=i==null;return c=s?c||n(i,1/0)||n(i,NaN):c,c}function x(){let i=(s,c)=>s?.constructor===Function?s(c):void 0;return function({trial:s,whenError:c=()=>{}}={}){try{return i(s)}catch(d){return i(c,d)}}}function m(){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 g(i,{defaultValue:s,isTypes:c=[void 0],notTypes:d}={}){return c=c?.constructor!==Array?[c]:c,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...c)?i:s:f(i,{isTypes:c,notTypes:d})?i:s}function f(i,{isTypes:s=[void 0],notTypes:c=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,c=c?.constructor!==Array?[c]:c,n(i,...s)&&!n(i,...c)}function S(){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 L(i){let s=i.set;return i.set=(c,d,v)=>d===Symbol.proxy?c[d]=v:s(c,d,v),i}function M(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,c){for(let v of c)v.set&&(v=L(v));let d=new s(...c);return d[Symbol.proxy]=`Proxy (${w(c[0])})`,d}})}}}}var{IS:Z,maybe:fr,$Wrap:dr,xProxy:mr,isNothing:gr}=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"),S();let t=x(),[e,r]=[m(),M()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:b,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?g(i,d):"notTypes"in d?f(i,d):n(i,...[d.isTypes].flat())}let c=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?y(c,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:c,noShouldbe:d,compareTo:v,inputCTOR:T,isNaN:O,isInfinity:I,shouldBeFirstElementIsNothing:R}=h(i,...s);switch(s=s.length&&s[0],!0){case R:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case O:return d?"NaN":t({trial:k=>String(v)})===String(i);case I:return d?"Infinity":t({trial:k=>String(v)})===String(i);case c:return d?String(i):String(v)===String(i);case T===Boolean:return s?T===s:"Boolean";default:return p(i,s,d,u(i,T))}}function u(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let c=s.length<1,d=!c&&s[0],v=!c&&b(s[0]),T=i==null,O=!T&&Object.getPrototypeOf(i)?.constructor,I=t({trial:k=>String(i)})==="NaN",R=t({trial:k=>String(i)})==="Infinity";return{noInput:T,noShouldbe:c,compareTo:d,inputCTOR:O,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function p(i,s,c,d){switch(!0){case(!c&&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 y(i,...s){return s.some(c=>n(i,c))}function b(i,s=!1){let c=i==null;return c=s?c||n(i,1/0)||n(i,NaN):c,c}function x(){let i=(s,c)=>s?.constructor===Function?s(c):void 0;return function({trial:s,whenError:c=()=>{}}={}){try{return i(s)}catch(d){return i(c,d)}}}function m(){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 g(i,{defaultValue:s,isTypes:c=[void 0],notTypes:d}={}){return c=c?.constructor!==Array?[c]:c,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...c)?i:s:f(i,{isTypes:c,notTypes:d})?i:s}function f(i,{isTypes:s=[void 0],notTypes:c=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,c=c?.constructor!==Array?[c]:c,n(i,...s)&&!n(i,...c)}function S(){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 L(i){let s=i.set;return i.set=(c,d,v)=>d===Symbol.proxy?c[d]=v:s(c,d,v),i}function M(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,c){for(let v of c)v.set&&(v=L(v));let d=new s(...c);return d[Symbol.proxy]=`Proxy (${w(c[0])})`,d}})}}}}var Y=ut;function ut({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:o,sheet:l,removeRules:u,consider:h,currentSheetID:p}=ft({styleSheet:t,createWithId:e});function y(f,S){if(f&&S.removeProperties){Object.keys(S.removeProperties).forEach(w=>f.style.removeProperty(Ce(w)));return}Object.entries(S).forEach(([w,L])=>{w=Ce(w.trim()),L=L.trim();let M;if(/!important/.test(L)&&(L=L.slice(0,L.indexOf("!important")).trim(),M="important"),!CSS.supports(w,L))return console.error(`StylingFactory ${p} error: '${w}' with value '${L}' not supported (yet)`);Fe(()=>f.style.setProperty(w,L,M),`StylingFactory ${p} (setRule4Selector) failed`)})}function b(f,S,w=l){if(f=f?.trim?.(),!Z(f,String)||!f.length||/[;,]$/g.test(f))return console.error(`StylingFactory ${p} (setRules): [${f||"[no selector given]"}] is not a valid selector`);if(S.removeRule)return u(f);let L=n(f,!0),M=L||w.cssRules[w.insertRule(`${f} {}`,w.cssRules.length||0)];return h(()=>y(M,S),f,L)}function x(f){let S=f.trim().split(/{/,2),w=S.shift().trim();if(!Z(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${p} (doParse): no (valid) selector could be extracted from rule ${se(f)}`);let L=ht(S.shift());return Fe(()=>b(w,L),`StylingFactory ${p} (setRules) failed`)}function m(f){let S=r(f);return S.done?S.existing:x(f)}function g(f,S){return f.trim().startsWith("@media")?m(dt(f,S)):b(f,S)}return function(f,S={}){return o(f,S)&&(Object.keys(S).length?g(f,S):m(f))}}function ft({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(m){let g=document.querySelector(`#${m}`)?.sheet;if(g)return g;let f=Object.assign(document.createElement("style"),{id:m});return document.head.insertAdjacentElement("beforeend",f),f.sheet}function l(m){return console.error(`StylingFactory ${n} [rule: ${m}]
3
+ => @charset, @namespace and @import are not supported here`),{done:!0}}function u(m,g){return[...t.rules].find(f=>g?Te(f.selectorText||"",m):pt`${gt(m)}${[..."gim"]}`.test(f.cssText))}function h(m){return/^@charset|@import|namespace/i.test(m.trim())?l(m):m.match(/}/g)?.length>1?{existing:b(m,1),done:!0}:{done:!1}}function p(m){let g=[...t.cssRules].reduce((S,w,L)=>Te(w.selectorText||"",m)&&S.concat(L)||S,[]),f=g.length;return g.forEach(S=>t.deleteRule(S)),f>0?console.info(`\u2714 Removed ${f} instance${f>1?"s":""} of selector ${m} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${m} does not exist in ${n.slice(4)}`)}function y(m,g){return m&&Z(m,String)&&m.trim().length>0&&Z(g,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function b(m){m=m.trim();let g=m.slice(0,m.indexOf("{")).trim(),f=!!u(g);try{return t.insertRule(`${m}`,t.cssRules.length),f}catch(S){return console.error(`StylingFactory ${n} (tryParse) ${S.name} Error:
4
+ ${S.message}
5
+ Rule: ${se(m)}
6
+ ${r}`),f}}function x(m,g,f){try{return m(),f}catch(S){return console.error(`StylingFactory ${n} (tryAddOrModify) ${S.name} Error:
7
+ ${S.message}
8
+ Rule: ${se(g)}
9
+ ${r}`),f}}return{sheet:t,removeRules:p,tryParseAtOrNestedRules:h,ruleExists:u,checkParams:y,tryParse:b,consider:x,currentSheetID:n}}function dt(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${mt(n)}`)}`}function se(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 mt(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
10
+ `)}function gt(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function pt(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 Ce(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function Fe(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function yt(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 pt(r){return r.reduce((e,t)=>{let[n,o]=[t.slice(0,t.indexOf(":")).trim(),t.slice(t.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&o?{...e,[n]:o}:e},{})}function yt(r){return pt(gt(r))}function Se(r,e){return r?.replace("::",":")===e?.replace("::",":")}var bt=[...Array(26)].map((r,e)=>String.fromCharCode(e+65)).concat([...Array(26)].map((r,e)=>String.fromCharCode(e+97))).concat([...Array(10)].map((r,e)=>`${e}`)),T=vt();function K(r,e=2){return`${r}`.padStart(e,"0")}function ht(r,e=0){return[r,e]=[Math.floor(r),Math.ceil(e)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(r-e+1)+e)}function F(r,e=1){return e=c(e,Number)&&e||1,c(r,String)&&r.length>=e}function Ee(r){return r=c(r,String)&&/,/.test(r)?r.split(","):r,c(r,Array)?r.filter(e=>F(e)).map(e=>e.trim().toLowerCase()):c(r,String)&&r?.trim().toLowerCase()||""}function St(r){let e=r.length;for(;e--;){let t=ht(e);[r[e],r[t]]=[r[t],r[e]]}return r}function $(r,e=120){return`${r}`.trim().slice(0,e).replace(/>\s+</g,"><").replace(/</g,"&lt;").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(r.length>e?" &hellip;":"").trim()}function H(r){return r.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function xt([r,...e]){return`${r.toUpperCase()}${e.join("")}`}function _(r){return c(r,String)?r.toLowerCase().split("-").map((e,t)=>t&&`${xt(e)}`||e).join(""):r}function U(){return`_${St(bt).slice(0,8).join("")}`}function q(r,e=120){return $(r,e).replace(/&lt;/g,"<")}function xe(){return(r=>`[${K(r.getHours())}:${K(r.getMinutes())}:${K(r.getSeconds())}.${K(r.getMilliseconds(),3)}]`)(new Date)}function j(r){return r.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function we(){let r=m=>c(m,Comment,Text),e=m=>c(m,Text,HTMLElement,Comment),t=m=>c(m,Comment),n=m=>c(m,Text),o=m=>c(m,String)&&/^<|>$/.test(`${m}`.trim()),l=m=>c(m,Array)&&!m?.find(u=>!o(u)),a=m=>c(m,Array)&&!m?.find(u=>!e(u));return{isCommentOrTextNode:r,isNode:e,isComment:t,isText:n,isHtmlString:o,isArrayOfHtmlElements:a,isArrayOfHtmlStrings:l,ElemArray2HtmlString:m=>m?.filter(u=>u).reduce((u,g)=>u.concat(t(g)?`<!--${g.data}-->`:r(g)?g.textContent:g.outerHTML),""),input2Collection:m=>m?c(m,Proxy)?[m.EL]:c(m,NodeList)?[...m]:e(m)?[m]:a(m)?m:m.isJQx?m.collection:void 0:[],setCollectionFromCssSelector:(m,u,g)=>{let d=u!==document.body&&c(m,String)&&m.toLowerCase()!=="body"?u:document,x;try{g.collection=[...d.querySelectorAll(m)]}catch{x=`Invalid CSS querySelector. [${c(m,String)?m:"Nothing valid given!"}]`}return x??`CSS querySelector "${m}", output ${g.collection.length} element(s)`},addHandlerId:m=>{let u=m.data.get("hid")||`HID${U()}`;return m.data.add({hid:u}),`[data-hid="${u}"]`}}}function Ce(){let r=function(l){if(!l)return;let a=l.style,S=getComputedStyle(l),y=[a.visibility,S.visibility].includes("hidden"),b=[a.display,S.display].includes("none"),h=l.offsetTop<0||l.offsetLeft+l.offsetWidth<0||l.offsetLeft>document.body.offsetWidth,m=+S.opacity==0||+(a.opacity||1)==0;return!(h||m||b||y)},t=function(l){return[...l.parentNode.querySelectorAll(":is(:read-write)")].find(a=>a===l)??!1},n=function(l){return[...l.parentNode.querySelectorAll(":is(:modal)")].find(a=>a===l)??!1},o={notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"};return l=>{let a=l.node;return c(a,Node)?{get writable(){return t(a)},get modal(){return n(a)},get inDOM(){return a.isConnected},get open(){return a.open??!1},get visible(){return r(a)},get disabled(){return a.hasAttribute("readonly")||a.hasAttribute("disabled")},get empty(){return l.collection.length<1},get virtual(){return l.isVirtual}}:o}}function ve(r){return c(r,String)&&Object.assign(document.createElement("textarea"),{innerHTML:r}).textContent||r}function vt(){let r=!1,e=[],t={get on(){return r=!0,t},get off(){return r=!1,t},get backLog(){return e}};function n(...l){return e.unshift(...l.map(a=>`${xe()} \u2A3B ${ve(a)}`)),console.error(e.slice(0,l.length).join(`
14
- `)),t}function o(...l){return e.unshift(...l.map(a=>`${xe()} \u2714 ${ve(a)}`)),r&&console.log(e.slice(0,l.length).join(`
15
- `)),t}return Object.defineProperties(t,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(t)}var Et=!0,ee={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},wt=r=>{if(Et&&Object.keys(r.removed).length){let e=Object.entries(r.removed).reduce((t,[n,o])=>[...t,`${j(n)} => ${o}`],[]).join("\\000A");T.error(`JQx HTML creation errors: ${e}`)}},Ct=function(r){let e=r.nodeName.toLowerCase(),t=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"];return/-/.test(e)&&!t.find(n=>n===e)||k.isAllowed(e)},G=r=>{let e={rawHTML:r?.parentElement?.getHTML()??"no html",removed:{}};return c(r,HTMLElement)&&[...r.childNodes].forEach(t=>{if(t?.children?.length&&G(t),t?.attributes){let o=c(t,SVGElement)?B.svg:B.html;[...(t??{attributes:[]}).attributes].forEach(l=>{let a=l.name.trim().toLowerCase(),S=l.value.trim().toLowerCase().replace(ee.whiteSpace,""),y=a==="href"?!ee.validURL.test(S):ee.notAllowedValues.test(S),b=a.startsWith("data")?!ee.data.test(a):!!o[a];if(y||b){let h=q(l.value||"none",60);h+=h.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${h}`,t.removeAttribute(l.name)}})}if(!(Ct(t)||t.constructor===CharacterData||t.constructor===Comment)){let o=(t?.outerHTML||t?.textContent).trim(),l=q(o,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${t.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,t.remove()}}),wt(e),r};var A=new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(r,e){return r[String(e).toLowerCase()]??r[e]}}),Ft=r=>{let e=document.createElement("div");return e.insertAdjacentHTML(A.end,r),e.childNodes.length?G(e):void 0},Lt=(r,e,t)=>c(r,Comment)?e.insertAdjacentHTML(t,`<!--${r.data}-->`):e.insertAdjacentText(t,r.data),J=(r=[],e=document.body,t=A.BeforeEnd)=>r.reduce((n,o)=>{let l=Z(o)&&Tt(o,e,t);return l?[...n,l]:n},[]),Tt=(r,e=document.body,t=A.BeforeEnd)=>(e=e?.isJQx?e?.[0]:e,c(r,Comment,Text)?Lt(r,e,t):e.insertAdjacentElement(t,r)),D=r=>{if(c(r,Text,Comment))return r;let e=r?.trim(),t=e?.split(/<text>|<\/text>/i)??[];if(t?.length&&(t=t.length>1?t.filter(o=>o.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(r.replace(/<!--|-->$/g,""));if(t||!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(t);let n=Ft(r);return n.childNodes.length<1?D(`<span data-jqxcreationerror="1">${$(r,60)}</span>`):n.children[0]};var E=(r,e)=>{let t=r.collection.filter(n=>!De(n));for(let n=0;n<t.length;n+=1)e(t[n],n);return r},$t=Ce(),At={get(r,e){return r[_(e)]||r[e]},enumerable:!1,configurable:!1};function Fe(r){return r&&(r.textContent="")}function Q(r){let e=r.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),r.isConnected?r.remove():r=null,e}function $e(r,e){if(r&&c(e,Object))for(let[t,n]of Object.entries(e))r.setAttribute(`data-${H(t)}`,n)}function Le(r,e){return r.andThen(e,!0)}function Te(r,e){return r.andThen(e)}function Ae(r){return r.startsWith("data")||B.html.find(e=>r.toLowerCase()===e)}function Ht(r,e,t,n){t&&c(e,String)&&(e={[e]:t==="-"?"":t});let o;e.className&&(o=e.className,delete e.className),o=[...r.classList].find(a=>a.startsWith("JQxClass-")||o&&a===o)||o||`JQxClass-${U().slice(1)}`,n.editCssRule(`.${o}`,e),r.classList.add(o)}function Dt(r,e){if(r)for(let[t,n]of Object.entries(e)){if(t=H(t),t.startsWith("data"))return $e(r,n);c(n,String)&&Ae(t)&&r.setAttribute(t,n.split(/[, ]/)?.join(" "))}}function se(r,e){if(c(e,Object))for(let[t,n]of Object.entries(e)){let o;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),o="important"),r.style.setProperty(H(t),n,o)}}function Nt(...r){debugLog.log("\u2757"+r.map(e=>String(e)).join(", "))}function ae(r,e=0,t=!0){return r=r?.parentElement,e+=r?r[t?"scrollTop":"scrollLeft"]:0,r?ae(r,e,t):e}function Mt(r){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},At)},set:(t={})=>{if(!e.is.empty&&c(t,Object))for(let[n,o]of Object.entries(t))e.setData({[n]:o});return e},get:(t,n)=>e.data.all[t]??n,add:(t={})=>{if(!e.is.empty&&c(t,Object))for(let[n,o]of Object.entries(t))e.setData({[n]:o});return e},remove:t=>(e[0]?.removeAttribute(`data-${H(t)}`),e)}),dimensions:e=>{if(e.is.empty)return{error:"[instance].dimensions: NO ELEMENTS"};let t=e[0],n=e.first()?.getBoundingClientRect().toJSON();return n.scrollTopDistance=ae(t,0),n.scrollLeftDistance=ae(t,0,!1),n},node:e=>e[0],HTML:e=>({get:(t,n)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=t?e.outerHtml:e.html();return n?j(o):o},set:(t,n=!1,o=!1)=>{t=t.isJQx?t.HTML.get(1):t;let l=c(t,String);return t=l&&o?j(t):t,l&&(t||"").trim().length&&e.html(t,n),e},replace:(t,n=!1)=>e.HTML.set(t,!1,n),append:(t,n=!1)=>(t=c(t,HTMLElement)?r(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t,!0,n)),insert:(t,n=!1)=>(t=c(t,HTMLElement)?r(t).HTML.get(1):t.isJQx?t.HTML.get(1):t,e.HTML.set(t+e.HTML.get(),!1,n))}),is:e=>$t(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let t=r(e[0]?.parentNode);return t.is.empty?e:t},render:e=>(!e.is.empty&&e.toDOM()||r.log("[JQx.render]: empty collection"),e),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:t=>e.style(t),inSheet:t=>e.css(t),valueOf:t=>e.is.empty?void 0:getComputedStyle(e[0])[H(t)],nwRule:t=>e.Style.byRule({rules:t}),byRule:({classes2Apply:t=[],rules:n=[]}={})=>{let l=c(n,String)&&!t.length?n.split("{")[0].trim():"";if(n=n&&c(n,String)?[n]:n,t=t&&c(t,String)?[t]:t,(n?.length||t?.length)&&(n?.length&&r.editCssRules(...n),t))for(let a of t)e.addClass(a);return l?.startsWith(".")&&e.addClass(l.slice(1)),l?.startsWith("#")&&!e.attr("id")&&e.prop({id:l.slice(1)}),e}})}}function Ot(r){return{addClass:(e,...t)=>E(e,n=>n&&t.forEach(o=>n.classList.add(o))),after:Te,afterMe:Te,andThen:(e,t,n=!1)=>{if(!t||!c(t,String,Node,Proxy))return Nt(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${t}]`),e;t=t?.isJQx?t.collection:c(t,Node)?r.virtual(t).collection:r.virtual(D(t)).collection;let[o,l,a]=n?[0,"before",t.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(t)];return e[o][l](...t),e.collection=a,e},append:(e,...t)=>{if(!e.is.empty&&t.length){let n=e.length===1;for(let o of t){if(!o.isJQx&&F(o)){let l=o.trim(),S=!/^<(.+)[^>]+>$/m.test(l)?r.text(o):D(o);E(e,y=>y.append(n?S:Q(S)))}Z(o)&&E(e,l=>l.append(n?o:Q(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(a=>l.append(n?a:Q(a))))}}return e},appendTo:(e,t)=>(t.isJQx||(t=r(t)),t.append(e),e),attr:(e,t,n)=>{let o=e[0];if(!o)return e;if(!n&&F(t))return t=H(t),t==="class"?[...o?.classList].join(" "):o?.getAttribute(t);if(F(t)&&n)switch(t=H(t),!0){case t.startsWith("data-"):t={data:{[t.replace("data-","")]:n}};break;default:t={[t]:n}}return c(t,Object)&&!e.is.empty&&Dt(o,t),e},before:Le,beforeMe:Le,clear:e=>E(e,Fe),closest:(e,t)=>{let n=F(t)?e[0].closest(t):null;return n?r(n):e},computedStyle:(e,t)=>e.first()&&getComputedStyle(e.first())[t],css:(e,t,n)=>E(e,o=>Ht(o,t,n,r)),duplicate:(e,t=!1,n=document.body)=>{let o=e.toNodeList().map(a=>a.removeAttribute&&a.removeAttribute("id")||a),l=r.virtual(o);return t?l.toDOM(n):l},each:(e,t)=>E(e,t),empty:e=>E(e,Fe),find:(e,t)=>e.collection.length>0?[...e.first()?.querySelectorAll(t)]:[],find$:(e,t)=>e.collection.length>0?r(t,e):e,first:(e,t=!1)=>{if(e.collection.length>0)return t?e.single():e.collection[0]},first$:(e,t)=>e.single(t),getData:(e,t,n)=>e.first()&&e.first().dataset?.[t]||n,hasClass:(e,...t)=>{let n=e[0];return!n||!n.classList.length?!1:t.find(o=>n.classList.contains(o))&&!0||!1},hide:e=>E(e,t=>se(t,{display:"none !important"})),html:(e,t,n)=>{if(t===void 0){let o=e.node;return o?.getHTML&&o.getHTML()||""}if(!e.isEmpty()){let o=D(`<div>${t.isJQx?t.HTML.get(!0):t}</div>`);if(!c(o,Comment))return E(e,a=>(n||(a.textContent=""),a.insertAdjacentHTML(r.at.end,o.getHTML())))}return e},htmlFor:(e,t,n="",o=!1)=>{if(t&&e.collection.length){if(!t||!F(n))return e;let l=e.find$(t);if(l.length<1)return e;let a=D(`<span>${n}</span>`);l.each(S=>{o||(S.textContent=""),S.insertAdjacentHTML(r.at.end,a?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,t)=>e.single(t),on:(e,t,...n)=>{if(e.collection.length&&c(t,String,Array)){if(t?.length<1||n.length<1)return e;let o=Ne(e);r.handle({type:t,selector:o,handlers:n})}return e},prepend:(e,...t)=>{if(!e.is.empty&&t){let n=e.length===1;for(let o of t){if(F(o)){o=o.trim();let a=!/^<(.+)[^>]+>$/m.test(o)?r.text(o):D(o);a=n?a:Q(a),E(e,S=>S.prepend(a.cloneNode(!0)))}Z(o)&&E(e,l=>l.prepend(n?o:Q(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,a=>l.prepend(n?a:Q(a)))),o.collection.reverse())}}return e},prependTo:(e,t)=>(t.isJQx||(t=r.virtual(t)),t.prepend(e),e),prop:(e,t,n)=>{if(c(t,String)&&!n)return t.startsWith("data")?e[0]?.dataset[t.slice(t.indexOf("-")+1)]:e[0]?.[t];let o=c(t,Object)?t:{[t]:n};for(let[l,a]of Object.entries(o)){if(l=l.trim(),a&&!Ae(l)||!a)return!1;if(l.toLowerCase()==="id")return e[0].id=a;E(e,y=>{if(l.startsWith("data"))return y.dataset[l.slice(l.indexOf("-")+1)]=a;y[l]=a})}return e},remove:(e,t)=>{T.log(`remove ${$(e.HTML.get(1),40)}${t?` /w selector ${t}`:""}`);let n=l=>l.remove(),o=()=>e.collection=e.collection.filter(l=>document.documentElement.contains(l));if(t){let l=e.find$(t);return l.is.empty||(E(l,n),o()),e}return E(e,n),o(),e},rmAttr:(e,...t)=>{for(let n of t)e.node.removeAttribute(n);return e},removeClass:(e,...t)=>E(e,n=>{if(n)for(let o of t)n.classList.remove(o)}),renderTo:(e,t=document.body,n=r.at.end)=>(e.toDOM(t,n),e),replace:(e,t,n)=>{let o=e[0];return!t||!n||!c(n,HTMLElement)&&!n.isJQx?(console.error("JQx replace: invalid replacement value"),e):(n.isJQx&&(n=n[0]),c(n,NodeList)&&(n=n[0]),o&&t&&(t=c(t,String)?o.querySelectorAll(t):t.isJQx?t.collection:t,c(t,HTMLElement,NodeList,Array)&&c(n,HTMLElement)&&(c(t,HTMLElement)?[t]:[...t]).forEach(l=>l.replaceWith(n.cloneNode(!0)))),e)},replaceClass:(e,t,...n)=>E(e,o=>{o.classList.remove(t);for(let l of n)o.classList.add(l)}),replaceMe:(e,t)=>e.replaceWith(t),replaceWith:(e,t)=>(t=c(t,Element)?t:t.isJQx?t[0]:void 0,t&&(e[0].replaceWith(t),e=r.virtual(t)),e),setData:(e,t)=>E(e,n=>$e(n,t)),show:e=>E(e,t=>se(t,{display:"revert-layer !important"})),single:(e,t)=>e.collection.length>0?c(t,String)?e.find$(t):c(t,Number)?r(e.collection[t]):r(e.collection[0]):e,style:(e,t,n)=>E(e,l=>{n&&c(t,String)&&(t={[t]:n||"none"}),se(l,t)}),text:(e,t,n=!1)=>e.isEmpty()?e:c(t,String)?E(e,l=>l.textContent=n?l.textContent+t:t):e.first().textContent,toDOM:(e,t=document.body,n=A.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=J(e.collection,t,n),e),toggleClass:(e,t)=>E(e,n=>n.classList.toggle(t)),toNodeList:e=>[...e.collection].map(t=>document.importNode(t,!0)),trigger:(e,t,n=Event,o={})=>{if(e.collection.length){let l=new n(t,{...o,bubbles:o.bubbles??!0});for(let a of e.collection)a.dispatchEvent(l)}return e},val:(e,t)=>{let n=e[0];return!n||!c(n,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:t===void 0?n.value:(n.value=c(t,String)?t:"",e)}}}function He(r){return{factoryExtensions:Mt(r),instanceExtensions:Ot(r)}}function Me(r){if(!r("#jqxPopup").isEmpty())return;r.dialog({id:"jqxPopup"},r.div({id:"jqxPopupContent"})).render,r.editCssRules(...de);let[e,t]=[r("#jqxPopupContent"),r.node("#jqxPopup")],n={};return r.handle({type:"click, keydown",handlers:b,capture:!0}),Object.freeze({show:o,removeModal:y});function o(u){if(t.open)return;n={...u};let{content:g}=n;return r.IS(g,String,HTMLElement)||g?.isJQx?a():!0}function l(){return n.modal?m(n.warnMessage):S()}function a(){e.clear();let{content:u,modal:g,closeAfter:d}=n;g=r.IS(g,Boolean)?g:!1;let x=g?"":r.div({id:"closeHandleIcon"});e.append(x,r.IS(u,String)?r.div(u):u),t.showModal(),!g&&r.IS(d,Number)&&h(l,d)}function S(){if(t.close(n.returnValue),r.IS(n.callback,Function))return n.callback(n.returnValue);n={}}function y({callback:u,value:g}={}){n.returnValue=g,n.modal=!1,n.callback=u||n.callback,l()}function b(u){if(!(Object.keys(n).length<1||!t.open))return u.key==="Escape"&&u.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(u.target.closest("#closeHandleIcon")||!u.target.closest("#jqxPopupContent"))&&l(),document.activeElement.blur()}function h(u,g){r.IS(u,Function)&&r.IS(g,Number)&&g>0&&(n.activeTimer=setTimeout(u,g*1e3))}function m(u){if(!r.IS(u,String,HTMLElement,Proxy))return;let g=e.find$(".warn");switch(!0){case g.is.empty:g=r.div({class:"warn"},u);default:e.append(g.addClass("active")),h(()=>e.find$(".warn").removeClass("active"),2)}}}var N={},Pt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],Oe=r=>!!Pt.find(e=>e===r);function Pe(r){return function(o){let{eventType:l,selector:a,callback:S,name:y,capture:b,once:h,canRemove:m}=o;switch(!0){case(!F(l)||!r.IS(S,Function)):default:y=y||!/handlers$/.test(S.name)&&S.name||void 0,b=r.IS(b,Boolean)?b:!1,h=r.IS(h,Boolean)?h:!1,m=F(y,4)&&r.IS(m,Boolean)?m:h;let{handler:u,signal:g,remove:d}=e({selector:a,callback:S,canRemove:m,once:h,name:y,eventType:l});return n({eventType:l,handler:u,capture:b,once:h,signal:g,remove:d,name:y})}};function e(o){let{selector:l,callback:a,canRemove:S,name:y,eventType:b,once:h}=o,m=(S||h)&&new AbortController,u=t({once:h,abortcontroller:m,name:y,eventType:b}),g=l?{handler:d=>{let x=d.target?.closest?.(l);return x&&a(d,r(x),u)},remove:u}:{handler:d=>a(d,d.target,u),remove:u};return m&&(g.signal=m.signal,h)?{handler:(d,x)=>{g.handler(d,x),u()}}:g}function t(o){let{once:l,abortcontroller:a,name:S,eventType:y}=o;return S?a?function(){a.abort();let h=[...N[y].entries()].find(([m,u])=>u.name===S);N[y].delete(h[0]),setTimeout(()=>r.logger.log(`Listener for event type [${y}] with name [${S}] was removed${l?" (once active, so handled once).":""}`),100)}:function(b){r.logger.error(`Listener for event type [${y}] with name [${S}] is not marked as removable`)}:function(){r.logger.error("An anonymous listener can not be removed")}}function n(o){let{eventType:l,handler:a,capture:S,once:y,signal:b,remove:h,name:m}=o;if(N[l]||(N[l]=new Map),!(N[l].has(a)||[...N[l].values()].find(g=>(g.name||"")===m))){let g={capture:S||Oe(l),once:y||!1};b&&(g.signal=b),document.addEventListener(l,a,g);let d={name:m,remove:h,capture:S||Oe(l)};N[l].set(a,d)}}}var ce,te,{isCommentOrTextNode:De,isNode:Z,isComment:zr,isText:Vr,isHtmlString:Re,isArrayOfHtmlElements:ke,isArrayOfHtmlStrings:je,ElemArray2HtmlString:Be,input2Collection:Je,setCollectionFromCssSelector:Qe,addHandlerId:Ne,cssRuleEdit:ue,addFn:It}=Rt();function Rt(){let r=X({createWithId:"JQxStylesheet"}),e=(t,n)=>te[t]=(o,...l)=>n(o,...l);return{...we(),cssRuleEdit:r,addFn:e}}function W(r){return new Proxy(r,{get:(e,t)=>Bt(e,t,r)})}function kt(r,e){return(...t)=>c(r,Function)&&r(W(e),...t)}function jt(r,e){return(...t)=>c(r,Function)&&r(W(e),...t)}function Bt(r,e,t){switch(!0){case c(e,Symbol):return r;case c(+e,Number):return r.collection?.[e]||void 0;case e in ce:return jt(ce[e],t)();case e in te:return kt(te[e],t);default:return r[e]}}function We(r){let e=_t(r);for(let[t,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(r,t,n);return r}function Jt(r){return{allow:e=>{let t=/-/.test(e),n=t&&e;e=t?_(e):e.toLowerCase(),k.allowTag(e),c(r[e],Function)||Object.defineProperties(r,fe(e,!0,r,n))},prohibit:e=>{e=e.toLowerCase(),k.prohibitTag(e),c(r[e],Function)&&Object.defineProperties(r,fe(e,!1,r))}}}function Ie(...r){if(r.length===1){let e=String(r.shift().trim());r=e.startsWith("!")?[e.slice(1,-1)]:e.split(",").map(t=>t.trim())}for(let e of r.map(t=>t.startsWith("!")?t.slice(1,-1):t))ue(e,{removeRule:1})}function Qt(r){return function(e,t,n){t=t?.isJQx?t?.[0]:t,n=n&&Object.values(A).find(l=>n===l)?n:void 0;let o=r(e,document.createElement("br"));if(t&&!c(t,HTMLBRElement))for(let l of o.collection)n?t.insertAdjacentElement(n,l):t.append(l);return o}}function Wt(...r){let e={};for(let t of r){let n=Object.getOwnPropertyDescriptors(t);for(let[o,l]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,l)}return e}function zt(r){console.error(`JQx: "${r}" not allowed, not rendered`)}function Vt(r,e,t,n){return r=H(n||r.toLowerCase()),{get(){return(...o)=>e?t.virtual(G(ne[r](...o))):zt(r)},enumerable:!1,configurable:!0}}function fe(r,e,t,n){r=r.toLowerCase();let o=Vt(r,e,t,n);return n?{[n]:o,[_(n)]:o}:{[r]:o,[r.toUpperCase()]:o}}function _t(r){return Wt(Object.entries(k.tagsRaw).reduce(Ut(r),{}),qt(r))}function Ut(r){return function(e,[t,n]){return n&&Object.defineProperties(e,fe(t,n,r)),e}}function Gt(r){return function(e,t,...n){c(t,Function)&&(n.push(t),t=void 0),r({type:e,selector:t,handlers:n})}}function Zt(r){return function(e){let{type:t,origin:n,selector:o,handlers:l,name:a,capture:S,once:y,canRemove:b}=e,h=Ee(t),m=a;if(!c(l,Function,Array))return;l=c(l,Function)?[l]:l,b=c(b,Boolean)?b:!1;let u={eventType:h,selector:o||n,capture:S,name:m,once:y,canRemove:b};switch(!0){case(c(h,Array)&&h.length>0):for(let d of h){u.eventType=d;for(let x of l)g(x)}return;default:for(let d of l)g(d)}function g(d){u.name=m,c(d,Function)&&r({...u,callback:d})}}}function Yt(r,e){if(e=F(e)?e:void 0,r=F(r)?r:void 0,e&&r)return[...N[r].values()].find(t=>(t.name||"")===e)}function Xt(r){return r.activePopup||Object.defineProperty(r,"activePopup",{value:Me(r),enumerable:!1}),r.activePopup}function Kt(r){let e=(y,b)=>ue(y,b),t=y=>X({createWithId:y||`jqx${U()}`}),n=(...y)=>{for(let b of y)ue(b)},o=Jt(r),l=Pe(r),a=Zt(l);return{editCssRule:e,createStyle:t,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:a,log:(...y)=>T.on.log(...y).off}}function qt(r){let{factoryExtensions:e,instanceExtensions:t}=He(r);ce=e,te=t;let{editCssRule:n,createStyle:o,editCssRules:l,allowProhibit:a,handle:S,capturedHandling:y,log:b}=Kt(r);return{log:b,editCssRules:l,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:j,logger:T,text:(h,m=!1)=>m?r.comment(h):document.createTextNode(h),node:(h,m=document)=>m.querySelector(h,m),nodes:(h,m=document)=>[...m.querySelectorAll(h,m)],get getNamedListener(){return Yt},get virtual(){return Qt(r)},get allowTag(){return a.allow},get prohibitTag(){return a.prohibit},get removeCssRule(){return Ie},get removeCssRules(){return Ie},get delegate(){return Gt(y)},get delegateCaptured(){return y},get handle(){return y},get at(){return A},get setStyle(){return n},get fn(){return It},get lenient(){return k.allowUnknownHtmlTags},get IS(){return c},get Popup(){return Xt(r)}}}var Zr=We(er());function er(){return function(t,n,o=A.BeforeEnd){if(t?.isJQx)return t;let l=c(n,HTMLBRElement);n=(!l&&n&&n.isJQx?n[0]:n)||document.body,o=o&&Object.values(A).find(g=>o===g)?o:void 0;let a=Re(t),S=!a&&je(t),y=S||a,b={collection:Je(t)??[],isVirtual:l,isJQx:!0},h=ke(b.collection),m=`input =&gt; ${S?`"${$(t.join(", "),70)}"`:!y&&h?`element collection [${$(b.collection.map(g=>`${c(g,Comment,Text)?"Comment|Text @":""} ${g?.outerHTML||g?.textContent}`).join(", "),70)}]`:`"${$(t,70)}"`}`;if(b.collection.length&&h)return T.log(m),l||b.collection.forEach(g=>{n.contains(g)||J([g],n,o)}),W(b);if(y){if([t].flat().forEach(g=>b.collection.push(D(g))),b.collection.length>0){let g=b.collection.filter(d=>d?.dataset?.jqxcreationerror);b.collection=b.collection.filter(d=>!d?.dataset?.jqxcreationerror),T.log(`${m}`),T.log(`*Created ${b.isVirtual?"VIRTUAL ":""}[${$(Be(b.collection)||"sanitized: no elements remaining",70)}]`),g.length&&T.error(`JQx: illegal html, not rendered: "${g.reduce((d,x)=>d.concat(`${x.textContent}
16
- `),"").trim()}"`),b.isVirtual||J(b.collection,n,o)}return W(b)}let u=Qe(t,n,b);return T.log(`input => ${u}`),W(b)}}export{Zr as default};
13
+ `)}function bt(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 ht(t){return bt(yt(t))}function Te(t,e){return t?.replace("::",":")===e?.replace("::",":")}var St=[...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}`)),$=Tt(),De={get(t,e){return t[K(e)]||t[e]},enumerable:!1,configurable:!1},C=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]}});function X(t,e=2){return`${t}`.padStart(e,"0")}function xt(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 F(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function He(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 vt(t){let e=t.length;for(;e--;){let r=xt(e);[t[e],t[r]]=[t[r],t[e]]}return t}function A(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 D(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Et([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function K(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Et(e)}`||e).join(""):t}function V(){return`_${vt(St).slice(0,8).join("")}`}function ae(t,e=120){return A(t,e).replace(/&lt;/g,"<")}function $e(){return(t=>`[${X(t.getHours())}:${X(t.getMinutes())}:${X(t.getSeconds())}.${X(t.getMilliseconds(),3)}]`)(new Date)}function j(t){return t.replace(/</g,"&lt;").replace(/>/g,"&gt;")}function q(t){return a(t,Comment,Text)}function P(t){return a(t,Text,HTMLElement,Comment)}function Ne(t){a(t,Comment)}function wt(t){return a(t,Text)}function ee(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function te(t){return a(t,Array)&&!t?.find(e=>!P(e))}function ce(t){return a(t,Array)&&!t?.find(e=>!ee(e))}function ue(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(Ne(r)?`<!--${r.data}-->`:q(r)?r.textContent:r.outerHTML),"")}function fe(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:P(t)?[t]:te(t)?t:t.isJQx?t.collection:void 0:[]}function de(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 me(t){let e=t.data.get("hid")||`HID${V()}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Me(){return{isCommentOrTextNode:q,isNode:P,isComment:Ne,isText:wt,isHtmlString:ee,isArrayOfHtmlElements:te,isArrayOfHtmlStrings:ce,ElemArray2HtmlString:ue,input2Collection:fe,setCollectionFromCssSelector:de,addHandlerId:me}}function Lt(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,u=+r.opacity==0||+(e.opacity||1)==0;return!(l||u||o||n)}function Ct(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function Ft(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function Pe(){let e={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)?{get writable(){return Ct(n)},get modal(){return Ft(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return Lt(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}:e}}function Ae(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function Tt(){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(u=>`${$e()} \u2A3B ${Ae(u)}`)),console.error(e.slice(0,l.length).join(`
14
+ `)),r}function o(...l){return e.unshift(...l.map(u=>`${$e()} \u2714 ${Ae(u)}`)),t&&console.log(e.slice(0,l.length).join(`
15
+ `)),r}return Object.defineProperties(r,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}var ge=!1,$t={on:()=>ge=!0,off:()=>ge=!1},B={tagsRaw:W,allowUnknownHtmlTags:$t,isAllowed(t){if(ge)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,re={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 Dt(t){if(At&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${j(n)} => ${o}`],[]).join("\\000A");$.error(`JQx: HTML creation error(s): ${e}`)}}function Ht(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)||B.isAllowed(e)}function U(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&U(r),r?.attributes){let o=a(r,SVGElement)?J.svg:J.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let u=l.name.trim().toLowerCase(),h=l.value.trim().toLowerCase().replace(re.whiteSpace,""),p=u==="href"?!re.validURL.test(h):re.notAllowedValues.test(h),y=u.startsWith("data")?!re.data.test(u):!!o[u];if(p||y){let b=ae(l.value||"none",60);b+=b.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${b}`,r.removeAttribute(l.name)}})}if(!(Ht(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),l=ae(o,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),Dt(e),t}function Nt(t){let e=document.createElement("div");return e.insertAdjacentHTML(C.end,t),e.childNodes.length?U(e):void 0}function Mt(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function _(t=[],e=document.body,r=C.BeforeEnd){r=r||C.BeforeEnd,t.reduce((n,o)=>{let l=P(o)&&Pt(o,e,r);return l?[...n,l]:n},[])}function Pt(t,e=document.body,r=C.BeforeEnd){return r=r||C.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?Mt(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=Nt(t);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${A(t,60)}</span>`):n.children[0]}var Ot=Pe();function Oe(t){return t&&(t.textContent="")}function E(t,e){let r=t.collection.filter(n=>!q(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Q(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function ke(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${D(r)}`,n)}function Ie(t,e){return t.andThen(e,!0)}function Re(t,e){return t.andThen(e)}function je(t){return t.startsWith("data")||J.html.find(e=>t.toLowerCase()===e)}function It(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(u=>u.startsWith("JQxClass-")||o&&u===o)||o||`JQxClass-${V().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}function Rt(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=D(r),r.startsWith("data"))return ke(t,n);a(n,String)&&je(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function pe(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(D(r),n,o)}}function kt(...t){debugLog.log("\u2757"+t.map(e=>String(e)).join(", "))}function ye(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?ye(t,e,r):e}function jt(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},De)},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-${D(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=ye(r,0),n.scrollLeftDistance=ye(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?j(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?j(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=>Ot(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])[D(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 u of r)e.addClass(u);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:Re,afterMe:Re,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return kt(`[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,l,u]=n?[0,"before",r.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r)];return e[o][l](...r),e.collection=u,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 l=o.trim(),h=!/^<(.+)[^>]+>$/m.test(l)?t.text(o):H(o);E(e,p=>p.append(n?h:Q(h)))}P(o)&&E(e,l=>l.append(n?o:Q(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(u=>l.append(n?u:Q(u))))}}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=D(r),r==="class"?[...o?.classList].join(" "):o?.getAttribute(r);if(F(r)&&n)switch(r=D(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&Rt(o,r),e},before:Ie,beforeMe:Ie,clear:e=>E(e,Oe),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=>It(o,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{let o=e.toNodeList().map(u=>u.removeAttribute&&u.removeAttribute("id")||u),l=t.virtual(o);return r?l.toDOM(n):l},each:(e,r)=>E(e,r),empty:e=>E(e,Oe),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=>pe(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,u=>(n||(u.textContent=""),u.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 l=e.find$(r);if(l.length<1)return e;let u=H(`<span>${n}</span>`);l.each(h=>{o||(h.textContent=""),h.insertAdjacentHTML(t.at.end,u?.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=me(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(F(o)){o=o.trim();let u=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):H(o);u=n?u:Q(u),E(e,h=>h.prepend(u.cloneNode(!0)))}P(o)&&E(e,l=>l.prepend(n?o:Q(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,u=>l.prepend(n?u:Q(u)))),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,u]of Object.entries(o)){if(l=l.trim(),u&&!je(l)||!u)return!1;if(l.toLowerCase()==="id")return e[0].id=u;E(e,p=>{if(l.startsWith("data"))return p.dataset[l.slice(l.indexOf("-")+1)]=u;p[l]=u})}return e},remove:(e,r)=>{$.log(`remove ${A(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=>ke(n,r)),show:e=>E(e,r=>pe(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"}),pe(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=C.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),e.collection=_(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 u of e.collection)u.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)}}}function Be(t){return{factoryExtensions:jt(t),instanceExtensions:Bt(t)}}function Je(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(...xe);let[e,r]=[t("#jqxPopupContent"),t.node("#jqxPopup")],n={};return t.handle({type:"click, keydown",handlers:y,capture:!0}),Object.freeze({show:o,removeModal:p});function o(m){if(r.open)return;n={...m};let{content:g}=n;return t.IS(g,String,HTMLElement)||g?.isJQx?u():!0}function l(){return n.modal?x(n.warnMessage):h()}function u(){e.clear();let{content:m,modal:g,closeAfter:f}=n;g=t.IS(g,Boolean)?g:!1;let S=g?"":t.div({id:"closeHandleIcon"});e.append(S,t.IS(m,String)?t.div(m):m),r.showModal(),!g&&t.IS(f,Number)&&b(l,f)}function h(){if(r.close(n.returnValue),t.IS(n.callback,Function))return n.callback(n.returnValue);n={}}function p({callback:m,value:g}={}){n.returnValue=g,n.modal=!1,n.callback=m||n.callback,l()}function y(m){if(!(Object.keys(n).length<1||!r.open))return m.key==="Escape"&&m.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(m.target.closest("#closeHandleIcon")||!m.target.closest("#jqxPopupContent"))&&l(),document.activeElement.blur()}function b(m,g){t.IS(m,Function)&&t.IS(g,Number)&&g>0&&(n.activeTimer=setTimeout(m,g*1e3))}function x(m){if(!t.IS(m,String,HTMLElement,Proxy))return;let g=e.find$(".warn");switch(!0){case g.is.empty:g=t.div({class:"warn"},m);default:e.append(g.addClass("active")),b(()=>e.find$(".warn").removeClass("active"),2)}}}var N={},Jt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],Qe=t=>!!Jt.find(e=>e===t);function We(t){return function(o){let{eventType:l,selector:u,callback:h,name:p,capture:y,once:b,canRemove:x}=o;switch(!0){case(!F(l)||!t.IS(h,Function)):default:p=p||!/handlers$/.test(h.name)&&h.name||void 0,y=t.IS(y,Boolean)?y:!1,b=t.IS(b,Boolean)?b:!1,x=F(p,4)&&t.IS(x,Boolean)?x:b;let{handler:m,signal:g,remove:f}=e({selector:u,callback:h,canRemove:x,once:b,name:p,eventType:l});return n({eventType:l,handler:m,capture:y,once:b,signal:g,remove:f,name:p})}};function e(o){let{selector:l,callback:u,canRemove:h,name:p,eventType:y,once:b}=o,x=(h||b)&&new AbortController,m=r({once:b,abortcontroller:x,name:p,eventType:y}),g=l?{handler:f=>{let S=f.target?.closest?.(l);return S&&u(f,t(S),m)},remove:m}:{handler:f=>u(f,f.target,m),remove:m};return x&&(g.signal=x.signal,b)?{handler:(f,S)=>{g.handler(f,S),m()}}:g}function r(o){let{once:l,abortcontroller:u,name:h,eventType:p}=o;return h?u?function(){u.abort();let b=[...N[p].entries()].find(([x,m])=>m.name===h);N[p].delete(b[0]),setTimeout(()=>t.logger.log(`Listener for event type [${p}] with name [${h}] was removed${l?" (once active, so handled once).":""}`),100)}:function(y){t.logger.error(`Listener for event type [${p}] with name [${h}] is not marked as removable`)}:function(){t.logger.error("An anonymous listener can not be removed")}}function n(o){let{eventType:l,handler:u,capture:h,once:p,signal:y,remove:b,name:x}=o;if(N[l]||(N[l]=new Map),!(N[l].has(u)||[...N[l].values()].find(g=>(g.name||"")===x))){let g={capture:h||Qe(l),once:p||!1};y&&(g.signal=y),document.addEventListener(l,u,g);let f={name:x,remove:b,capture:h||Qe(l)};N[l].set(u,f)}}}var be,ne,{isComment:Vr,isText:Ur,isHtmlString:_r,isArrayOfHtmlElements:Gr,isArrayOfHtmlStrings:Zr,ElemArray2HtmlString:Yr,addHandlerId:Xr,cssRuleEdit:he,addFn:Qt}=Wt();function Wt(){let t=Y({createWithId:"JQxStylesheet"}),e=(r,n)=>ne[r]=(o,...l)=>n(o,...l);return{...Me(),cssRuleEdit:t,addFn:e}}function G(t){return new Proxy(t,{get:(e,r)=>zt(e,r,t)})}function ze(t,e){return(...r)=>a(t,Function)&&t(G(e),...r)}function zt(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in be:return ze(be[e],r)();case e in ne:return ze(ne[e],r);default:return t[e]}}function Ue(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?K(e):e.toLowerCase(),B.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Se(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),B.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,Se(e,!1,t))}}}function Ve(...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 Ut(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(C).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)}return e}function Gt(t,e,r,n){return t=D(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(U(oe[t](...o)))},enumerable:!1,configurable:!0}}function Se(t,e,r,n){t=t.toLowerCase();let o=Gt(t,e,r,n);return n?{[n]:o,[K(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function Zt(t){return _t(Object.entries(B.tagsRaw).reduce(Yt(t),{}),rr(t))}function Yt(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Se(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:u,capture:h,once:p,canRemove:y}=e,b=He(r),x=u;if(!a(l,Function,Array))return;l=a(l,Function)?[l]:l,y=a(y,Boolean)?y:!1;let m={eventType:b,selector:o||n,capture:h,name:x,once:p,canRemove:y};switch(!0){case(a(b,Array)&&b.length>0):for(let f of b){m.eventType=f;for(let S of l)g(S)}return;default:for(let f of l)g(f)}function g(f){m.name=x,a(f,Function)&&t({...m,callback:f})}}}function qt(t,e){return e=F(e)&&e,t=F(t)&&t,e&&t&&[...N[t].values()].find(r=>(r.name||"")===e)}function er(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:Je(t),enumerable:!1}),t.activePopup}function tr(t){let e=(p,y)=>he(p,y),r=p=>Y({createWithId:p||`jqx${V()}`}),n=(...p)=>{for(let y of p)he(y)},o=Vt(t),l=We(t),u=Kt(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:u,log:(...p)=>$.on.log(...p).off}}function rr(t){let{factoryExtensions:e,instanceExtensions:r}=Be(t);be=e,ne=r;let{editCssRule:n,createStyle:o,editCssRules:l,allowProhibit:u,handle:h,capturedHandling:p,log:y}=tr(t);return{log:y,editCssRules:l,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:j,logger:$,text:(b,x=!1)=>x?t.comment(b):document.createTextNode(b),node:(b,x=document)=>x.querySelector(b,x),nodes:(b,x=document)=>[...x.querySelectorAll(b,x)],get getNamedListener(){return qt},get virtual(){return Ut(t)},get allowTag(){return u.allow},get prohibitTag(){return u.prohibit},get removeCssRule(){return Ve},get removeCssRules(){return Ve},get delegate(){return Xt(p)},get delegateCaptured(){return p},get handle(){return p},get at(){return C},get setStyle(){return n},get fn(){return Qt},get lenient(){return B.allowUnknownHtmlTags},get IS(){return a},get Popup(){return er(t)}}}var rn=Ue(nr());function nr(){return function(r,n,o=C.BeforeEnd){if(r?.isJQx)return r;let l=a(n,HTMLBRElement);n=(!l&&n&&n.isJQx?n[0]:n)||document.body,o=o&&Object.values(C).find(g=>o===g)?o:void 0;let u=ee(r),h=!u&&ce(r),p=h||u,y={collection:fe(r)??[],isVirtual:l,isJQx:!0},b=te(y.collection),x=`input =&gt; ${h?`"${A(r.join(", "),70)}"`:!p&&b?`element collection [${A(y.collection.map(g=>`${a(g,Comment,Text)?"Comment|Text @":""} ${g?.outerHTML||g?.textContent}`).join(", "),70)}]`:`"${A(r,70)}"`}`;if(y.collection.length&&b)return $.log(x),l||y.collection.forEach(g=>{n.contains(g)||_([g],n,o)}),G(y);if(p){if([r].flat().forEach(g=>y.collection.push(H(g))),y.collection.length>0){let g=y.collection.filter(f=>f?.dataset?.jqxcreationerror);y.collection=y.collection.filter(f=>!f?.dataset?.jqxcreationerror),$.log(`${x}`),$.log(`*Created ${y.isVirtual?"VIRTUAL ":""}[${A(ue(y.collection).trim()||"sanitized: no elements remaining",70)}]`),y.isVirtual||_(y.collection,n,o)}return G(y)}let m=de(r,n,y);return $.log(`input => ${m}`),G(y)}}export{rn as default};
package/index.js CHANGED
@@ -1,25 +1,15 @@
1
1
  /**
2
2
  This code is classfree object oriented. No this. No prototype. No class.
3
3
  Inspired by Douglas Crockford (see https://youtu.be/XFTOG895C7c?t=2562)
4
- 2025/05/31 overhaul ...
4
+ Last major overhaul: 2025/08/11
5
5
  */
6
6
 
7
+ import { proxify, addJQxStaticMethods } from "./src/JQxFactory.js";
8
+ import { inject2DOMTree, createElementFromHtmlString } from "./src/DOM.js";
7
9
  import {
8
- isHtmlString,
9
- isArrayOfHtmlStrings,
10
- isArrayOfHtmlElements,
11
- inject2DOMTree,
12
- ElemArray2HtmlString,
13
- input2Collection,
14
- setCollectionFromCssSelector,
15
- truncateHtmlStr,
16
- proxify,
17
- addJQxStaticMethods,
18
- createElementFromHtmlString,
19
- insertPositions,
20
- IS,
21
- } from "./src/JQxExtensionHelpers.js";
22
- import { systemLog, } from "./src/Utilities.js";
10
+ isHtmlString, truncateHtmlStr, isArrayOfHtmlStrings, isArrayOfHtmlElements,
11
+ ElemArray2HtmlString, input2Collection, setCollectionFromCssSelector,
12
+ IS, systemLog, insertPositions } from "./src/Utilities.js";
23
13
 
24
14
  export default addJQxStaticMethods(JQxFactory());
25
15
 
@@ -76,14 +66,9 @@ function JQxFactory() {
76
66
 
77
67
  systemLog.log(`${logStr}`);
78
68
  systemLog.log(`*Created ${instance.isVirtual ? `VIRTUAL ` : ``}[${
79
- truncateHtmlStr(ElemArray2HtmlString(instance.collection) ||
69
+ truncateHtmlStr(ElemArray2HtmlString(instance.collection).trim() ||
80
70
  "sanitized: no elements remaining", logLineLength)}]`);
81
71
 
82
- if (errors.length) {
83
- systemLog.error(`JQx: illegal html, not rendered: "${
84
- errors.reduce( (acc, el) => acc.concat(`${el.textContent}\n`), ``).trim()}"` );
85
- }
86
-
87
72
  if (!instance.isVirtual) {
88
73
  inject2DOMTree(instance.collection, root, position);
89
74
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jqx-es",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "The good parts of JQuery",
package/src/DOM.js CHANGED
@@ -2,53 +2,57 @@ import {
2
2
  cleanupHtml,
3
3
  getRestricted,
4
4
  ATTRS, } from "./DOMCleanup.js";
5
- import {truncateHtmlStr, IS, isNode} from "./JQxExtensionHelpers.js";
6
- const insertPositions = new Proxy({
7
- start: "afterbegin", afterbegin: "afterbegin",
8
- end: "beforeend", beforeend: "beforeend",
9
- before: "beforebegin", beforebegin: "beforebegin",
10
- after: "afterend", afterend: "afterend" }, {
11
- get(obj, key) { return obj[String(key).toLowerCase()] ?? obj[key]; }
12
- });
13
- const htmlToVirtualElement = htmlString => {
5
+ import {IS, insertPositions, isNode, truncateHtmlStr} from "./Utilities.js";
6
+
7
+ export {
8
+ getRestricted, createElementFromHtmlString, element2DOM,
9
+ cleanupHtml, inject2DOMTree, ATTRS
10
+ };
11
+
12
+ function htmlToVirtualElement(htmlString) {
14
13
  const placeholderNode = document.createElement("div");
15
14
  placeholderNode.insertAdjacentHTML(insertPositions.end, htmlString);
16
15
  return placeholderNode.childNodes.length
17
16
  ? cleanupHtml(placeholderNode)
18
17
  : undefined;
19
- };
20
- const characterDataElement2DOM = (elem, root, position) => {
18
+ }
19
+
20
+ function characterDataElement2DOM(elem, root, position) {
21
21
  if (IS(elem, Comment)) {
22
22
  return root.insertAdjacentHTML(position, `<!--${elem.data}-->`);
23
23
  }
24
24
  return root.insertAdjacentText(position, elem.data);
25
- };
26
- const inject2DOMTree = (
27
- collection = [],
28
- root = document.body,
29
- position = insertPositions.BeforeEnd ) =>
25
+ }
26
+
27
+ function inject2DOMTree( collection = [], root = document.body, position = insertPositions.BeforeEnd ) {
28
+ position = position || insertPositions.BeforeEnd;
30
29
  collection.reduce( (acc, elem) => {
31
30
  const created = isNode(elem) && element2DOM(elem, root, position);
32
31
  return created ? [...acc, created] : acc;
33
32
  }, []);
34
- const element2DOM = (elem, root = document.body, position = insertPositions.BeforeEnd) => {
33
+ }
34
+
35
+ function element2DOM(elem, root = document.body, position = insertPositions.BeforeEnd) {
36
+ position = position || insertPositions.BeforeEnd;
35
37
  root = root?.isJQx ? root?.[0] : root;
36
38
 
37
- return IS(elem, Comment, Text) ?
38
- characterDataElement2DOM(elem, root, position) : root.insertAdjacentElement(position, elem);
39
- };
40
- const createElementFromHtmlString = htmlStr => {
39
+ return IS(elem, Comment, Text)
40
+ ? characterDataElement2DOM(elem, root, position)
41
+ : IS(elem, HTMLElement) ? root.insertAdjacentElement(position, elem) : undefined;
42
+ }
43
+
44
+ function createElementFromHtmlString(htmlStr) {
41
45
  if (IS(htmlStr, Text, Comment)) {
42
46
  return htmlStr;
43
47
  }
44
-
48
+
45
49
  const testStr = htmlStr?.trim();
46
50
  let text = testStr?.split(/<text>|<\/text>/i) ?? [];
47
-
51
+
48
52
  if (text?.length) {
49
53
  text = text.length > 1 ? text.filter(v => v.length).shift() : undefined;
50
54
  }
51
-
55
+
52
56
  if (testStr.startsWith(`<!--`) && testStr.endsWith(`-->`)) {
53
57
  return document.createComment(htmlStr.replace(/<!--|-->$/g, ''));
54
58
  }
@@ -64,14 +68,4 @@ const createElementFromHtmlString = htmlStr => {
64
68
  }
65
69
 
66
70
  return nwElem.children[0];
67
- };
68
-
69
- export {
70
- getRestricted,
71
- createElementFromHtmlString,
72
- element2DOM,
73
- cleanupHtml,
74
- inject2DOMTree,
75
- insertPositions,
76
- ATTRS,
77
- };
71
+ }
package/src/DOMCleanup.js CHANGED
@@ -1,7 +1,6 @@
1
- import { truncate2SingleStr, IS/*, debugLog*/ } from "./JQxExtensionHelpers.js";
2
1
  import cleanupTagInfo from "./HTMLTags.js";
3
2
  import {ATTRS} from "./EmbedResources.js";
4
- import {escHtml, systemLog} from "./Utilities.js";
3
+ import {IS, truncate2SingleStr, escHtml, systemLog} from "./Utilities.js";
5
4
 
6
5
  let logElementCreationErrors2Console = true;
7
6
  const attrRegExpStore = {
@@ -10,22 +9,25 @@ const attrRegExpStore = {
10
9
  whiteSpace: /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,
11
10
  notAllowedValues: /^javascript|injected|noreferrer|alert|DataURL/gi
12
11
  };
13
- const logContingentErrors = elCreationInfo => {
12
+
13
+ function logContingentErrors(elCreationInfo) {
14
14
  if (logElementCreationErrors2Console && Object.keys(elCreationInfo.removed).length) {
15
15
  const msgs = Object.entries(elCreationInfo.removed)
16
16
  .reduce( (acc, [k, v]) => [...acc, `${escHtml(k)} => ${v}`], [])
17
17
  .join(`\\000A`);
18
- systemLog.error(`JQx HTML creation errors: ${msgs}`);
18
+ systemLog.error(`JQx: HTML creation error(s): ${msgs}`);
19
19
  }
20
- };
21
- const elementCheck = function(child) {
20
+ }
21
+
22
+ function elementCheck(child) {
22
23
  const name = child.nodeName.toLowerCase();
23
24
  const notAllowedCustomElementNames = [
24
25
  `annotation-xml`, `color-profile`, `font-face`, `font-face-src`,
25
26
  `font-face-uri`, `font-face-format`, `font-face-name`, `missing-glyph` ];
26
27
  return /-/.test(name) && !notAllowedCustomElementNames.find(v => v === name) || cleanupTagInfo.isAllowed(name);
27
- };
28
- const cleanupHtml = el2Clean => {
28
+ }
29
+
30
+ function cleanupHtml(el2Clean) {
29
31
  const elCreationInfo = {
30
32
  rawHTML: el2Clean?.parentElement?.getHTML() ?? `no html`,
31
33
  removed: { },
@@ -75,7 +77,7 @@ const cleanupHtml = el2Clean => {
75
77
  logContingentErrors(elCreationInfo);
76
78
 
77
79
  return el2Clean;
78
- };
80
+ }
79
81
  const emphasize = str => `***${str}***`;
80
82
  const getRestricted = emphasizeTag =>
81
83
  Object.entries(cleanupTagInfo)
@@ -83,6 +85,5 @@ const getRestricted = emphasizeTag =>
83
85
  !value.allowed &&
84
86
  [...acc, (emphasizeTag && key === emphasizeTag ? emphasize(key) : key)] ||
85
87
  acc, []);
86
- const logElementCreationErrors = onOff => logElementCreationErrors2Console = onOff;
87
88
 
88
- export { cleanupHtml, getRestricted, logElementCreationErrors, ATTRS};
89
+ export { cleanupHtml, getRestricted, ATTRS};
package/src/HTMLTags.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { allTags } from "./EmbedResources.js";
2
- import { IS } from "./JQxExtensionHelpers.js";
2
+ import { IS } from "./Utilities.js";
3
3
  let lenient = false;
4
4
  const allowUnknownHtmlTags = {
5
5
  on: () => lenient = true,
@@ -32,7 +32,8 @@ function HandleFactory(jqx) {
32
32
  : { handler: evt => {
33
33
  const target = evt.target?.closest?.(selector);
34
34
  return target && callback(evt, jqx(target), remove);
35
- }, remove
35
+ },
36
+ remove
36
37
  };
37
38
 
38
39
  if (abortcontroller) {
@@ -1,44 +1,33 @@
1
- import { createElementFromHtmlString, insertPositions, inject2DOMTree, cleanupHtml } from "./DOM.js";
1
+ import { cleanupHtml } from "./DOM.js";
2
2
  import allMethodsFactory from "./JQxMethods.js";
3
3
  import PopupFactory from "./Popup.js";
4
4
  import { listeners, default as HandleFactory } from "./HandlerFactory.js";
5
5
  import tagLib from "./HTMLTags.js";
6
6
  import {
7
- randomString, toDashedNotation, IS, truncateHtmlStr, tagFNFactory as $T,
8
- truncate2SingleStr, styleFactory, toCamelcase, systemLog, escHtml,
9
- isNonEmptyString, resolveEventTypeParameter, extensionHelpers,
7
+ randomString, toDashedNotation, IS, tagFNFactory as $T, styleFactory, toCamelcase, systemLog, escHtml,
8
+ isNonEmptyString, resolveEventTypeParameter, selectedExtensionHelpers, insertPositions,
10
9
  } from "./Utilities.js";
11
10
 
12
11
  let instanceGetters, instanceMethods;
13
12
  const {
14
- isCommentOrTextNode, isNode, isComment, isText, isHtmlString, isArrayOfHtmlElements,
15
- isArrayOfHtmlStrings, ElemArray2HtmlString, input2Collection, setCollectionFromCssSelector,
16
- addHandlerId, cssRuleEdit, addFn
17
- } = localHelpersFactory();
13
+ isComment, isText, isHtmlString, isArrayOfHtmlElements, isArrayOfHtmlStrings,
14
+ ElemArray2HtmlString, addHandlerId, cssRuleEdit, addFn
15
+ } = selectedUtilitiesFactory();
18
16
 
19
- // todo: clean this up
20
- export {
21
- addHandlerId, isHtmlString, isNode, isArrayOfHtmlStrings, isArrayOfHtmlElements, isCommentOrTextNode,
22
- inject2DOMTree, ElemArray2HtmlString, input2Collection, setCollectionFromCssSelector,
23
- truncateHtmlStr, truncate2SingleStr, proxify, addJQxStaticMethods, createElementFromHtmlString,
24
- insertPositions, IS, };
17
+ export { proxify, addJQxStaticMethods };
25
18
 
26
19
  /* region functions */
27
- function localHelpersFactory() {
20
+ function selectedUtilitiesFactory() {
28
21
  const cssRuleEdit = styleFactory({createWithId: `JQxStylesheet`});
29
22
  const addFn = (name, fn) => instanceMethods[name] = (self, ...params) => fn(self, ...params);
30
- return {...extensionHelpers(), ...{cssRuleEdit, addFn, }};
23
+ return { ...selectedExtensionHelpers(), ...{ cssRuleEdit, addFn } };
31
24
  }
32
25
 
33
26
  function proxify(instance) {
34
27
  return new Proxy( instance, { get: (obj, key) => proxyKeyFactory(obj, key, instance) } );
35
28
  }
36
29
 
37
- function wrapExtension(method, instance) {
38
- return (...args) => IS(method, Function) && method(proxify(instance), ...args);
39
- }
40
-
41
- function wrapGetter(method, instance) {
30
+ function wrap(method, instance) {
42
31
  return (...args) => IS(method, Function) && method(proxify(instance), ...args);
43
32
  }
44
33
 
@@ -46,8 +35,8 @@ function proxyKeyFactory(self, key, instance) {
46
35
  switch(true) {
47
36
  case IS(key, Symbol): return self;
48
37
  case IS(+key, Number): return self.collection?.[key] || undefined;
49
- case (key in instanceGetters): return wrapGetter(instanceGetters[key], instance)();
50
- case (key in instanceMethods): return wrapExtension(instanceMethods[key], instance);
38
+ case (key in instanceGetters): return wrap(instanceGetters[key], instance)();
39
+ case (key in instanceMethods): return wrap(instanceMethods[key], instance);
51
40
  default: return self[key];
52
41
  }
53
42
  }
@@ -101,7 +90,7 @@ function cssRemove(...rules) {
101
90
  function virtualFactory(jqx) {
102
91
  return function(html, root, position) {
103
92
  root = root?.isJQx ? root?.[0] : root;
104
- position = position && Object.values(insertPositions).find(pos => position === pos) ? position : undefined;
93
+ position = position && Object.values(insertPositions).find(pos => position === pos);
105
94
  const virtualElem = jqx(html, document.createElement(`br`));
106
95
  if (root && !IS(root, HTMLBRElement)) {
107
96
  for (const elem of virtualElem.collection) {
@@ -123,18 +112,12 @@ function combineObjectSources(...sources) {
123
112
  return result;
124
113
  }
125
114
 
126
- function tagNotAllowed(tagName) {
127
- console.error(`JQx: "${tagName}" not allowed, not rendered`);
128
- return undefined;
129
- }
130
-
131
115
  function tagGetterFactory(tagName, cando, jqx, webComponentTagName) {
132
116
  tagName = toDashedNotation(webComponentTagName || tagName.toLowerCase());
133
117
  return {
134
118
  get() {
135
- return (...args) => {
136
- if (!cando) { return tagNotAllowed(tagName) }
137
- return jqx.virtual(cleanupHtml($T[tagName](...args)));
119
+ return (...args) => {
120
+ return cando && jqx.virtual(cleanupHtml($T[tagName](...args)));
138
121
  }
139
122
  },
140
123
  enumerable: false,
@@ -165,7 +148,6 @@ function staticTagsLambda(jqx) {
165
148
 
166
149
  function delegateFactory(listen) {
167
150
  return function(type, selector, ...listeners) {
168
-
169
151
  if (IS(selector, Function)) {
170
152
  listeners.push(selector);
171
153
  selector = undefined;
@@ -184,7 +166,7 @@ function delegateCaptureFactory(listen) {
184
166
  handlers = IS(handlers, Function) ? [handlers] : handlers;
185
167
  canRemove = IS(canRemove, Boolean) ? canRemove : false;
186
168
  const params = { eventType: typesResolved, selector: selector || origin, capture,
187
- name: specifiedName, once, canRemove};
169
+ name: specifiedName, once, canRemove };
188
170
  switch(true) {
189
171
  case IS(typesResolved, Array) && typesResolved.length > 0:
190
172
  for (const type of typesResolved) {
@@ -203,11 +185,9 @@ function delegateCaptureFactory(listen) {
203
185
  }
204
186
 
205
187
  function getNamedListener(type, name) {
206
- name = isNonEmptyString(name) ? name : undefined;
207
- type = isNonEmptyString(type) ? type : undefined;
208
- if (name && type) {
209
- return [...listeners[type].values()].find(h => (h.name || ``) === name);
210
- }
188
+ name = isNonEmptyString(name) && name;
189
+ type = isNonEmptyString(type) && type;
190
+ return name && type && [...listeners[type].values()].find(h => (h.name || ``) === name);
211
191
  }
212
192
 
213
193
  function popupGetter(jqx) {
@@ -250,7 +230,6 @@ function staticMethodsFactory(jqx) {
250
230
  text: (str, isComment = false) => isComment ? jqx.comment(str) : document.createTextNode(str),
251
231
  node: (selector, root = document) => root.querySelector(selector, root),
252
232
  nodes: (selector, root = document) => [...root.querySelectorAll(selector, root)],
253
- //get logger() { return loggerFactory() },
254
233
  get getNamedListener() { return getNamedListener; },
255
234
  get virtual() { return virtualFactory(jqx); },
256
235
  get allowTag() { return allowProhibit.allow; },
package/src/JQxMethods.js CHANGED
@@ -1,42 +1,26 @@
1
- import {createElementFromHtmlString, insertPositions} from "./DOM.js";
2
- import {
3
- IS,
4
- addHandlerId,
5
- isNode,
6
- inject2DOMTree,
7
- isCommentOrTextNode,
8
- truncateHtmlStr,
9
- } from "./JQxExtensionHelpers.js";
1
+ import {createElementFromHtmlString, inject2DOMTree} from "./DOM.js";
10
2
  import {ATTRS} from "./EmbedResources.js";
11
3
  import {
12
- ExamineElementFeatureFactory,
13
- isNonEmptyString,
14
- toDashedNotation,
15
- toCamelcase,
16
- randomString,
17
- escHtml,
18
- systemLog,
4
+ IS, isNode, truncateHtmlStr, addHandlerId, ExamineElementFeatureFactory,
5
+ isNonEmptyString, toDashedNotation, randomString, escHtml, systemLog,
6
+ insertPositions, isCommentOrTextNode, datasetKeyProxy
19
7
  } from "./Utilities.js";
20
- const loop = (instance, callback) => {
21
- const cleanCollection = instance.collection.filter(el => !isCommentOrTextNode(el));
22
- for (let i = 0; i < cleanCollection.length; i += 1) {
23
- callback(cleanCollection[i], i);
24
- }
25
8
 
26
- return instance;
27
- };
28
9
  const isIt = ExamineElementFeatureFactory();
29
- const datasetKeyProxy = { get(obj, key) {
30
- return obj[toCamelcase(key)] || obj[key]; },
31
- enumerable: false,
32
- configurable: false
33
- };
34
10
 
35
11
  /* region functions */
36
12
  function emptyElement(el) {
37
13
  return el && (el.textContent = "");
38
14
  }
39
15
 
16
+ function loop(instance, callback) {
17
+ const cleanCollection = instance.collection.filter(el => !isCommentOrTextNode(el));
18
+ for (let i = 0; i < cleanCollection.length; i += 1) {
19
+ callback(cleanCollection[i], i);
20
+ }
21
+
22
+ return instance;
23
+ }
40
24
 
41
25
  function compareCI(key, compareTo) {
42
26
  return key.toLowerCase().trim() === compareTo.trim().toLowerCase();
@@ -510,7 +494,7 @@ function instanceExtensionsFactory(jqx) {
510
494
  removeClass: (instance, ...classNames) =>
511
495
  loop(instance, el => { if (el) { for (const cn of classNames) { el.classList.remove(cn); } } }),
512
496
  renderTo: (instance, root = document.body, at = jqx.at.end) => {
513
- instance.toDOM(root, at);
497
+ instance.first$().toDOM(root, at);
514
498
  return instance;
515
499
  },
516
500
  replace: (instance, oldChild, newChild) => {
package/src/Popup.js CHANGED
@@ -1,14 +1,13 @@
1
1
  import { popupStyling as styleRules } from "./EmbedResources.js";
2
2
 
3
3
  export default function($) {
4
- if (!$(`#jqxPopup`).isEmpty()) { return; }
5
-
4
+ if ($.node(`#jqxPopup`)) { return; }
5
+ $.logger.log(`JQx: [JQx].Popup first call. Dialog element created.`);
6
6
  $.dialog({id: `jqxPopup`}, $.div({ id: "jqxPopupContent" })).render;
7
7
  $.editCssRules(...styleRules);
8
8
  const [popupContent, popupNode] = [$(`#jqxPopupContent`), $.node(`#jqxPopup`)];
9
9
  let currentProps = {};
10
10
  $.handle( { type: `click, keydown`, handlers: genericPopupCloseHandler, capture: true } );
11
-
12
11
  return Object.freeze({show: initPopup, removeModal});
13
12
 
14
13
  function initPopup(props) {
package/src/Utilities.js CHANGED
@@ -7,6 +7,18 @@ const characters4RandomString = [...Array(26)]
7
7
  .concat([...Array(26)].map((x, i) => String.fromCharCode(i + 97)))
8
8
  .concat([...Array(10)].map((x, i) => `${i}`));
9
9
  const systemLog = systemLogFactory();
10
+ const datasetKeyProxy = {
11
+ get(obj, key) { return obj[toCamelcase(key)] || obj[key]; },
12
+ enumerable: false,
13
+ configurable: false
14
+ };
15
+ const insertPositions = new Proxy({
16
+ start: "afterbegin", afterbegin: "afterbegin",
17
+ end: "beforeend", beforeend: "beforeend",
18
+ before: "beforebegin", beforebegin: "beforebegin",
19
+ after: "afterend", afterend: "afterend" }, {
20
+ get(obj, key) { return obj[String(key).toLowerCase()] ?? obj[key]; }
21
+ });
10
22
 
11
23
  function pad0(nr, n=2) {
12
24
  return `${nr}`.padStart(n, `0`);
@@ -97,68 +109,100 @@ function escHtml(html) {
97
109
  return html.replace(/</g, `&lt;`).replace(/>/g, `&gt;`);
98
110
  }
99
111
 
100
- function extensionHelpers() {
101
- const isCommentOrTextNode = elem => IS(elem, Comment, Text);
102
- const isNode = input => IS(input, Text, HTMLElement, Comment);
103
- const isComment = input => IS(input, Comment);
104
- const isText = input => IS(input, Text);
105
- const isHtmlString = input => IS(input, String) && /^<|>$/.test(`${input}`.trim());
106
- const isArrayOfHtmlStrings = input => IS(input, Array) && !input?.find(s => !isHtmlString(s));
107
- const isArrayOfHtmlElements = input => IS(input, Array) && !input?.find(el => !isNode(el));
108
- const ElemArray2HtmlString = elems => elems?.filter(el => el).reduce((acc, el) =>
112
+ function isCommentOrTextNode(node) {
113
+ return IS(node, Comment, Text);
114
+ }
115
+
116
+ function isNode(input) {
117
+ return IS(input, Text, HTMLElement, Comment)
118
+ }
119
+
120
+ function isComment(input) {
121
+ IS(input, Comment);
122
+ }
123
+
124
+ function isText(input) {
125
+ return IS(input, Text);
126
+ }
127
+
128
+ function isHtmlString(input) {
129
+ return IS(input, String) && /^<|>$/.test(`${input}`.trim());
130
+ }
131
+
132
+ function isArrayOfHtmlElements(input) {
133
+ return IS(input, Array) && !input?.find(el => !isNode(el));
134
+ }
135
+
136
+ function isArrayOfHtmlStrings(input) {
137
+ return IS(input, Array) && !input?.find(s => !isHtmlString(s));
138
+ }
139
+
140
+ function ElemArray2HtmlString(elems) {
141
+ return elems?.filter(el => el).reduce((acc, el) =>
109
142
  acc.concat(isComment(el) ? `<!--${el.data}-->`
110
143
  : isCommentOrTextNode(el) ? el.textContent
111
144
  : el.outerHTML), ``);
112
- const input2Collection = input =>
113
- !input ? []
114
- : IS(input, Proxy) ? [input.EL]
115
- : IS(input, NodeList) ? [...input]
116
- : isNode(input) ? [input]
117
- : isArrayOfHtmlElements(input) ? input
118
- : input.isJQx ? input.collection : undefined;
119
- const setCollectionFromCssSelector = (input, root, self) => {
120
- const selectorRoot = root !== document.body && (IS(input, String) && input.toLowerCase() !== "body") ? root : document;
121
- let errorStr = undefined;
122
-
123
- try { self.collection = [...selectorRoot.querySelectorAll(input)]; }
124
- catch (err) { errorStr = `Invalid CSS querySelector. [${!IS(input, String) ? `Nothing valid given!` : input}]`; }
125
-
126
- return errorStr ?? `CSS querySelector "${input}", output ${self.collection.length} element(s)`;
127
- };
128
- const addHandlerId = instance => {
129
- const handleId = instance.data.get(`hid`) || `HID${randomString()}`;
130
- instance.data.add({hid: handleId});
131
- return `[data-hid="${handleId}"]`;
132
- };
145
+ }
133
146
 
147
+ function input2Collection(input) {
148
+ return !input ? []
149
+ : IS(input, Proxy) ? [input.EL]
150
+ : IS(input, NodeList) ? [...input]
151
+ : isNode(input) ? [input]
152
+ : isArrayOfHtmlElements(input) ? input
153
+ : input.isJQx ? input.collection : undefined;
154
+ }
155
+
156
+ function setCollectionFromCssSelector(input, root, self) {
157
+ const selectorRoot = root !== document.body && (IS(input, String) && input.toLowerCase() !== "body") ? root : document;
158
+ let errorStr = undefined;
159
+
160
+ try { self.collection = [...selectorRoot.querySelectorAll(input)]; }
161
+ catch (err) { errorStr = `Invalid CSS querySelector. [${!IS(input, String) ? `Nothing valid given!` : input}]`; }
162
+ const collectionLen = self.collection.length;
163
+ return collectionLen < 1
164
+ ? `CSS querySelector "${input}", output: nothing`
165
+ : errorStr ?? `CSS querySelector "${input}", output ${collectionLen} element${collectionLen > 1 ? `s` : ``}`;
166
+ }
167
+
168
+ function addHandlerId(instance) {
169
+ const handleId = instance.data.get(`hid`) || `HID${randomString()}`;
170
+ instance.data.add({hid: handleId});
171
+ return `[data-hid="${handleId}"]`;
172
+ }
173
+
174
+ function selectedExtensionHelpers() {
134
175
  return {
135
176
  isCommentOrTextNode, isNode, isComment, isText, isHtmlString, isArrayOfHtmlElements,
136
177
  isArrayOfHtmlStrings, ElemArray2HtmlString, input2Collection, setCollectionFromCssSelector,
137
178
  addHandlerId };
138
179
  }
139
180
 
140
- function ExamineElementFeatureFactory() {
141
- const isVisible = function(el) {
142
- if (!el) { return undefined; }
143
- const elStyle = el.style;
144
- const computedStyle = getComputedStyle(el);
145
- const invisible = [elStyle.visibility, computedStyle.visibility].includes("hidden");
146
- const noDisplay = [elStyle.display, computedStyle.display].includes("none");
147
- const offscreen = el.offsetTop < 0 || (el.offsetLeft + el.offsetWidth) < 0
148
- || el.offsetLeft > document.body.offsetWidth;
149
- const noOpacity = +computedStyle.opacity === 0 || +(elStyle.opacity || 1) === 0;
150
- return !(offscreen || noOpacity || noDisplay || invisible);
151
- };
152
- const notApplicable = `n/a`;
153
- const isWritable = function(elem) {
154
- return [...elem.parentNode.querySelectorAll(`:is(:read-write)`)]?.find(el => el === elem) ?? false;
155
- };
181
+ function isVisible(el) {
182
+ if (!el) { return undefined; }
183
+ const elStyle = el.style;
184
+ const computedStyle = getComputedStyle(el);
185
+ const invisible = [elStyle.visibility, computedStyle.visibility].includes("hidden");
186
+ const noDisplay = [elStyle.display, computedStyle.display].includes("none");
187
+ const offscreen = el.offsetTop < 0 || (el.offsetLeft + el.offsetWidth) < 0
188
+ || el.offsetLeft > document.body.offsetWidth;
189
+ const noOpacity = +computedStyle.opacity === 0 || +(elStyle.opacity || 1) === 0;
190
+ return !(offscreen || noOpacity || noDisplay || invisible);
191
+ }
156
192
 
157
- const isModal = function(elem) {
158
- return [...elem.parentNode.querySelectorAll(`:is(:modal)`)]?.find(el => el === elem) ?? false;
159
- };
193
+ function isWritable(elem) {
194
+ return [...elem.parentNode.querySelectorAll(`:is(:read-write)`)]?.find(el => el === elem) ?? false;
195
+ }
160
196
 
161
- const noElements = { notInDOM: true, writable: notApplicable, modal: notApplicable, empty: true, open: notApplicable, visible: notApplicable, };
197
+ function isModal(elem) {
198
+ return [...elem.parentNode.querySelectorAll(`:is(:modal)`)]?.find(el => el === elem) ?? false;
199
+ }
200
+
201
+ function ExamineElementFeatureFactory() {
202
+ const notApplicable = `n/a`;
203
+ const noElements = {
204
+ notInDOM: true, writable: notApplicable, modal: notApplicable, empty: true,
205
+ open: notApplicable, visible: notApplicable, };
162
206
 
163
207
  return self => {
164
208
  const firstElem = self.node;
@@ -228,10 +272,20 @@ function systemLogFactory() {
228
272
  }
229
273
 
230
274
  export {
275
+ addHandlerId,
231
276
  IS,
232
277
  maybe,
278
+ isCommentOrTextNode,
279
+ isHtmlString,
280
+ isArrayOfHtmlStrings,
281
+ isArrayOfHtmlElements,
282
+ ElemArray2HtmlString,
283
+ input2Collection,
284
+ setCollectionFromCssSelector,
285
+ isNode,
233
286
  randomString,
234
287
  isNonEmptyString,
288
+ insertPositions,
235
289
  toDashedNotation,
236
290
  toCamelcase,
237
291
  truncateHtmlStr,
@@ -244,6 +298,7 @@ export {
244
298
  styleFactory,
245
299
  tagFNFactory,
246
300
  resolveEventTypeParameter,
247
- extensionHelpers,
301
+ selectedExtensionHelpers,
248
302
  systemLog,
303
+ datasetKeyProxy,
249
304
  };