jqx-es 1.2.6 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Bundle/jqx.browser.min.js +14 -14
- package/Bundle/jqx.min.js +14 -14
- package/{src → Resource/Common}/Popup.js +1 -1
- package/Resource/Common/Utilities.js +96 -0
- package/{src → Resource/Common}/tinyDOM.js +1 -2
- package/index.js +2 -79
- package/package.json +1 -1
- package/src/JQxConstructorFactory.js +78 -0
- package/src/{JQxFactory.js → JQxCreatorFactory.js} +7 -7
- package/src/{JQxMethods.js → JQxInstanceMethods.js} +5 -4
- package/src/{Utilities.js → JQxUtilities.js} +5 -87
- /package/{src → Resource/Common}/DOM.js +0 -0
- /package/{src → Resource/Common}/DOMCleanup.js +0 -0
- /package/{src → Resource/Common}/EmbedResources.js +0 -0
- /package/{src → Resource/Common}/HTMLTags.js +0 -0
- /package/{src → Resource/Common}/HandlerFactory.js +0 -0
- /package/{src → Resource/Common}/LifeCSS.js +0 -0
- /package/{src → Resource/Common}/TypeofAnything.js +0 -0
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var JQx=(()=>{var ie=Object.defineProperty;var Xe=Object.getOwnPropertyDescriptor;var Ke=Object.getOwnPropertyNames;var qe=Object.prototype.hasOwnProperty;var et=(t,e)=>{for(var r in e)ie(t,r,{get:e[r],enumerable:!0})},tt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ke(e))!qe.call(t,o)&&o!==r&&ie(t,o,{get:()=>e[o],enumerable:!(n=Xe(e,o))||n.enumerable});return t};var rt=t=>tt(ie({},"__esModule",{value:!0}),t);var dr={};et(dr,{default:()=>ur});var Te=it(),Q=nt(),z=ot();function nt(){return{html:Object.freeze("accept,action,align,alt,autocapitalize,autocomplete,autopictureinpicture,autoplay,background,bgcolor,border,capture,cellpadding,cellspacing,checked,cite,class,clear,contenteditable,color,cols,colspan,controls,controlslist,coords,crossorigin,datetime,decoding,default,dir,disabled,disablepictureinpicture,disableremoteplayback,download,draggable,enctype,enterkeyhint,face,for,headers,height,hidden,high,href,hreflang,id,inputmode,integrity,is,ismap,kind,label,lang,list,loading,loop,low,max,maxlength,media,method,min,minlength,multiple,muted,name,nonce,noshade,novalidate,nowrap,open,optimum,pattern,placeholder,playsinline,poster,preload,pubdate,radiogroup,readonly,rel,required,rev,reversed,role,rows,rowspan,spellcheck,scope,selected,shape,size,sizes,span,srclang,start,src,srcset,step,style,summary,tabindex,target,title,translate,type,usemap,valign,value,width,xmlns,slot".split(",")),svg:Object.freeze("accent-height,accumulate,additive,alignment-baseline,ascent,attributename,attributetype,azimuth,basefrequency,baseline-shift,begin,bias,by,class,clip,clippathunits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,cx,cy,d,dx,dy,diffuseconstant,direction,display,divisor,dur,edgemode,elevation,end,fill,fill-opacity,fill-rule,filter,filterunits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,fx,fy,g1,g2,glyph-name,glyphref,gradientunits,gradienttransform,height,href,id,image-rendering,in,in2,k,k1,k2,k3,k4,kerning,keypoints,keysplines,keytimes,lang,lengthadjust,letter-spacing,kernelmatrix,kernelunitlength,lighting-color,local,marker-end,marker-mid,marker-start,markerheight,markerunits,markerwidth,maskcontentunits,maskunits,max,mask,media,method,mode,min,name,numoctaves,offset,operator,opacity,order,orient,orientation,origin,overflow,paint-order,path,pathlength,patterncontentunits,patterntransform,patternunits,points,preservealpha,preserveaspectratio,primitiveunits,r,rx,ry,radius,refx,refy,repeatcount,repeatdur,restart,result,rotate,scale,seed,shape-rendering,specularconstant,specularexponent,spreadmethod,startoffset,stddeviation,stitchtiles,stop-color,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke,stroke-width,style,surfacescale,systemlanguage,tabindex,targetx,targety,transform,text-anchor,text-decoration,text-rendering,textlength,type,u1,u2,unicode,values,viewbox,visibility,version,vert-adv-y,vert-origin-x,vert-origin-y,width,word-spacing,wrap,writing-mode,xchannelselector,ychannelselector,x,x1,x2,xmlns,y,y1,y2,z,zoomandpan".split(","))}}function ot(){return{a:!0,area:!0,audio:!1,br:!0,base:!0,body:!0,button:!0,canvas:!0,comment:!0,dl:!0,data:!0,datalist:!0,div:!0,em:!0,embed:!1,fieldset:!0,font:!0,footer:!0,form:!1,hr:!0,head:!0,header:!0,output:!0,iframe:!1,frameset:!1,img:!0,input:!0,li:!0,label:!0,legend:!0,link:!0,map:!0,mark:!0,menu:!0,media:!0,meta:!0,nav:!0,meter:!0,ol:!0,object:!1,optgroup:!0,option:!0,p:!0,param:!0,picture:!0,pre:!0,progress:!1,quote:!0,script:!1,select:!0,source:!0,span:!0,style:!0,caption:!0,td:!0,col:!0,table:!0,tr:!0,template:!1,textarea:!0,time:!0,title:!0,track:!0,details:!0,ul:!0,video:!0,del:!0,ins:!0,slot:!0,blockquote:!0,svg:!0,dialog:!0,summary:!0,main:!0,address:!0,colgroup:!0,tbody:!0,tfoot:!0,thead:!0,th:!0,dd:!0,dt:!0,figcaption:!0,figure:!0,i:!0,b:!0,code:!0,h1:!0,h2:!0,h3:!0,h4:!0,abbr:!0,bdo:!0,dfn:!0,kbd:!0,q:!0,rb:!0,rp:!0,rt:!0,ruby:!0,s:!0,strike:!0,samp:!0,small:!0,strong:!0,sup:!0,sub:!0,u:!0,var:!0,wbr:!0,nobr:!0,tt:!0,noscript:!0}}function it(){return["::backdrop{background-color:grey;opacity:0.2;}",`#jqxPopup{overflow:hidden;background-color:transparent;outline:none;border:none;inset:0;animation:fade-out 0.5s ease-out;&[open]{display:flex;align-items:center;justify-content:center;animation:fade-in 0.5s ease;}#jqxPopupContent{background-color:white;border:solid 1px #eee;box-shadow:1px 2px 8px #999;border-radius:4px;padding:12px;vertical-align:middle;max-height:40vh;max-width:50vw;overflow:auto;margin:0 auto;div:not(#closeHandleIcon){clear:both;}@media (width <= 640px){max-width:80vw;max-height:60vh;}#closeHandleIcon{cursor:pointer;width:24px;height:24px;display:inline;position:absolute;top:4px;right:4px;justify-content:right;background-image:url("data:image/svg+xml;utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20id%3D%22Layer_1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20128%20128%22%20style%3D%22enable-background%3Anew%200%200%20128%20128%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20x%3D%22-368%22%20y%3D%226%22%20style%3D%22display%3Anone%3Bfill%3A%23E0E0E0%3B%22%20width%3D%22866%22%20height%3D%221018%22%2F%3E%3Ccircle%20style%3D%22fill%3A%23FFFFFF%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Ccircle%20style%3D%22fill%3A%238CCFB9%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2239%22%2F%3E%3Ccircle%20style%3D%22fill%3Anone%3Bstroke%3A%23444B54%3Bstroke-width%3A6%3Bstroke-miterlimit%3A10%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Cpolyline%20style%3D%22fill%3Anone%3Bstroke%3A%23FFFFFF%3Bstroke-width%3A6%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%3B%22%20points%3D%2242%2C69%2055.55%2C81%20%20%2086%2C46%20%22%2F%3E%3C%2Fsvg%3E");@media (width <= 640px){background-image:none;position:relative;margin:-15px -15px 4px 0;float:right;vertical-align:middle;border:1px solid #AAA;padding:2px;border-radius:50%;width:12px;height:12px;font-size:12px;line-height:12px;font-weight:bold;text-align:center;&:after{content:'\\2714';color:green;}}}.warn{display:none;text-align:center;color:red;border-top:1px solid #999;margin-top:1em;padding-top:3px;animation:warn-fade-out 0.2s ease-out;}.warn.active{opacity:1;display:block;animation:warn-fade-in 0.2s ease-in;}}}`,"@keyframes fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1, 1);display:flex;}}","@keyframes fade-out{0%{opacity:1;transform:scale(1, 1);display:flex;}100%{opacity:0;transform:scale(0, 0);display:none;}}","@keyframes warn-fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1,1 );display:block;}}","@keyframes warn-fade-out{0%{opacity:1;transform:scale(1, 1);display:block;}100%{opacity:0;transform:scale(0, 0);display:none;}}"]}var lt=st(),Ce={html:"innerHTML",text:"textContent",class:"className"},le=lt;function st(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case yt(n):return $e(e,n,r);default:return $e(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function $e(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?o=>gt(r):bt(e)}}),t[e]}function at(t,e,r){return e=e?.isJQx&&e.first()||e,ae({trial:n=>pt(e)?t.append(e):De(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
|
|
2
|
-
`,n)})}function ct(t,e,...r){let n=ut(e,t);return r?.forEach(o=>at(n,o,t)),n}function ut(t,e){switch(t=se(e)?mt(t):t?.isJQx?t.first():t,!0){case a(t,String):return W(e,De(t,e)?{html:t}:{text:t});case a(t,Node):return dt(e,t);default:return W(e,t)}}function ft(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in Ce&&(t[Ce[r]]=t[e],delete t[e])}),t}function dt(t,e){let r=W(t);return r.append(e),r}function W(t,e={}){e=Ae(e,{});let r=Object.entries(e.data??{}),n=Object.assign(se(t)?new Comment(e?.text):document.createElement(t),ft(e));return r.length&&r.forEach(([o,l])=>n.dataset[o]=String(l)),n}function Ae(t,e){return e?a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy],defaultValue:e}):a(t,{isTypes:Object,notTypes:[Array,null,NaN,Proxy]})}function mt(t){return Ae(t)?t?.text??t?.textContent??"":String(t)}function gt(t){return W("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function De(t,e){return!se(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function pt(t){return t?.constructor===Comment||t?.constructor===CharacterData}function se(t){return t?.constructor===Comment||/comment/i.test(t)}function yt(t){return!a(W(t),HTMLUnknownElement)}function bt(t){return(e,...r)=>ct(t,e,...r)}var{IS:a,maybe:ae,$Wrap:br,xProxy:hr,isNothing:Sr}=ht();function ht(){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]=[d(),M()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:b,xProxy:r};function n(i,...s){if(t({trial:f=>"isTypes"in(s?.[0]??{})})){let f=s[0];return"defaultValue"in f?g(i,f):"notTypes"in f?m(i,f):n(i,...[f.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:f,compareTo:v,inputCTOR:$,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]&&f):return i[Symbol.proxy];case O:return f?"NaN":t({trial:k=>String(v)})===String(i);case I:return f?"Infinity":t({trial:k=>String(v)})===String(i);case c:return f?String(i):String(v)===String(i);case $===Boolean:return s?$===s:"Boolean";default:return p(i,s,f,u(i,$))}}function u(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let c=s.length<1,f=!c&&s[0],v=!c&&b(s[0]),$=i==null,O=!$&&Object.getPrototypeOf(i)?.constructor,I=t({trial:k=>String(i)})==="NaN",R=t({trial:k=>String(i)})==="Infinity";return{noInput:$,noShouldbe:c,compareTo:f,inputCTOR:O,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function p(i,s,c,f){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===f||s===Object.getPrototypeOf(f)||`${s?.name}`===f?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||f?.name||String(f)}}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(f){return i(c,f)}}}function d(){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:f}={}){return c=c?.constructor!==Array?[c]:c,f=f&&f?.constructor!==Array?[f]:[],f.length<1?n(i,...c)?i:s:m(i,{isTypes:c,notTypes:f})?i:s}function m(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,f,v)=>f===Symbol.proxy?c[f]=v:s(c,f,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 f=new s(...c);return f[Symbol.proxy]=`Proxy (${w(c[0])})`,f}})}}}}var{IS:G,maybe:vr,$Wrap:Er,xProxy:wr,isNothing:Lr}=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"),S();let t=x(),[e,r]=[d(),M()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:b,xProxy:r};function n(i,...s){if(t({trial:f=>"isTypes"in(s?.[0]??{})})){let f=s[0];return"defaultValue"in f?g(i,f):"notTypes"in f?m(i,f):n(i,...[f.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:f,compareTo:v,inputCTOR:$,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]&&f):return i[Symbol.proxy];case O:return f?"NaN":t({trial:k=>String(v)})===String(i);case I:return f?"Infinity":t({trial:k=>String(v)})===String(i);case c:return f?String(i):String(v)===String(i);case $===Boolean:return s?$===s:"Boolean";default:return p(i,s,f,u(i,$))}}function u(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let c=s.length<1,f=!c&&s[0],v=!c&&b(s[0]),$=i==null,O=!$&&Object.getPrototypeOf(i)?.constructor,I=t({trial:k=>String(i)})==="NaN",R=t({trial:k=>String(i)})==="Infinity";return{noInput:$,noShouldbe:c,compareTo:f,inputCTOR:O,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function p(i,s,c,f){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===f||s===Object.getPrototypeOf(f)||`${s?.name}`===f?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||f?.name||String(f)}}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(f){return i(c,f)}}}function d(){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:f}={}){return c=c?.constructor!==Array?[c]:c,f=f&&f?.constructor!==Array?[f]:[],f.length<1?n(i,...c)?i:s:m(i,{isTypes:c,notTypes:f})?i:s}function m(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,f,v)=>f===Symbol.proxy?c[f]=v:s(c,f,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 f=new s(...c);return f[Symbol.proxy]=`Proxy (${w(c[0])})`,f}})}}}}var Z=xt;function xt({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:o,sheet:l,removeRules:u,consider:h,currentSheetID:p}=vt({styleSheet:t,createWithId:e});function y(m,S){if(m&&S.removeProperties){Object.keys(S.removeProperties).forEach(w=>m.style.removeProperty(He(w)));return}Object.entries(S).forEach(([w,L])=>{w=He(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)`);Ne(()=>m.style.setProperty(w,L,M),`StylingFactory ${p} (setRule4Selector) failed`)})}function b(m,S,w=l){if(m=m?.trim?.(),!G(m,String)||!m.length||/[;,]$/g.test(m))return console.error(`StylingFactory ${p} (setRules): [${m||"[no selector given]"}] is not a valid selector`);if(S.removeRule)return u(m);let L=n(m,!0),M=L||w.cssRules[w.insertRule(`${m} {}`,w.cssRules.length||0)];return h(()=>y(M,S),m,L)}function x(m){let S=m.trim().split(/{/,2),w=S.shift().trim();if(!G(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${p} (doParse): no (valid) selector could be extracted from rule ${ce(m)}`);let L=$t(S.shift());return Ne(()=>b(w,L),`StylingFactory ${p} (setRules) failed`)}function d(m){let S=r(m);return S.done?S.existing:x(m)}function g(m,S){return m.trim().startsWith("@media")?d(Et(m,S)):b(m,S)}return function(m,S={}){return o(m,S)&&(Object.keys(S).length?g(m,S):d(m))}}function vt({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(d){let g=document.querySelector(`#${d}`)?.sheet;if(g)return g;let m=Object.assign(document.createElement("style"),{id:d});return document.head.insertAdjacentElement("beforeend",m),m.sheet}function l(d){return console.error(`StylingFactory ${n} [rule: ${d}]
|
|
3
|
-
|
|
4
|
-
${S.
|
|
5
|
-
|
|
6
|
-
${
|
|
7
|
-
${
|
|
8
|
-
|
|
9
|
-
${
|
|
10
|
-
|
|
11
|
-
`)
|
|
1
|
+
var JQx=(()=>{var ae=Object.defineProperty;var qe=Object.getOwnPropertyDescriptor;var et=Object.getOwnPropertyNames;var tt=Object.prototype.hasOwnProperty;var rt=(t,e)=>{for(var r in e)ae(t,r,{get:e[r],enumerable:!0})},nt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of et(e))!tt.call(t,o)&&o!==r&&ae(t,o,{get:()=>e[o],enumerable:!(n=qe(e,o))||n.enumerable});return t};var ot=t=>nt(ae({},"__esModule",{value:!0}),t);var mr={};rt(mr,{default:()=>dr});var $e=st(),Q=it(),W=lt();function it(){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 lt(){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 st(){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{IS:a,maybe:Z,$Wrap:yr,xProxy:br,isNothing:hr}=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"),h();let t=x(),[e,r]=[c(),P()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?p(i,d):"notTypes"in d?g(i,d):n(i,...[d.isTypes].flat())}let u=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?S(u,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:u,noShouldbe:d,compareTo:v,inputCTOR:T,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:k}=b(i,...s);switch(s=s.length&&s[0],!0){case k:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case I:return d?"NaN":t({trial:j=>String(v)})===String(i);case R:return d?"Infinity":t({trial:j=>String(v)})===String(i);case u:return d?String(i):String(v)===String(i);case T===Boolean:return s?T===s:"Boolean";default:return m(i,s,d,f(i,T))}}function f(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function b(i,...s){let u=s.length<1,d=!u&&s[0],v=!u&&y(s[0]),T=i==null,I=!T&&Object.getPrototypeOf(i)?.constructor,R=t({trial:j=>String(i)})==="NaN",k=t({trial:j=>String(i)})==="Infinity";return{noInput:T,noShouldbe:u,compareTo:d,inputCTOR:I,isNaN:R,isInfinity:k,shouldBeFirstElementIsNothing:v}}function m(i,s,u,d){switch(!0){case(!u&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case t({trial:v=>String(s)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(s,String)):return String(s)===i[Symbol.toStringTag];default:return s?t({trial:v=>i instanceof s})||s===d||s===Object.getPrototypeOf(d)||`${s?.name}`===d?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||d?.name||String(d)}}function S(i,...s){return s.some(u=>n(i,u))}function y(i,s=!1){let u=i==null;return u=s?u||n(i,1/0)||n(i,NaN):u,u}function x(){let i=(s,u)=>s?.constructor===Function?s(u):void 0;return function({trial:s,whenError:u=()=>{}}={}){try{return i(s)}catch(d){return i(u,d)}}}function c(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...s){return n(i,...s)},is(...s){return n(i,...s)}})}}function p(i,{defaultValue:s,isTypes:u=[void 0],notTypes:d}={}){return u=u?.constructor!==Array?[u]:u,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...u)?i:s:g(i,{isTypes:u,notTypes:d})?i:s}function g(i,{isTypes:s=[void 0],notTypes:u=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,u=u?.constructor!==Array?[u]:u,n(i,...s)&&!n(i,...u)}function h(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...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=(u,d,v)=>d===Symbol.proxy?u[d]=v:s(u,d,v),i}function P(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,u){for(let v of u)v.set&&(v=L(v));let d=new s(...u);return d[Symbol.proxy]=`Proxy (${w(u[0])})`,d}})}}}}var F=ct(),z=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}}));function C(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function X(t,e=120){return $(t,e).replace(/</g,"<")}function $(t,e=120){return`${t}`.trim().slice(0,e).replace(/>\s+</g,"><").replace(/</g,"<").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(t.length>e?" …":"").trim()}function M(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function Ae(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function ct(){let t=!1,e=[],r={get on(){return t=!0,r},get off(){return t=!1,r},get backLog(){return e}};function n(...l){return e.unshift(...l.map(f=>`${ce()} \u2A3B ${Ae(f)}`)),console.error(e.slice(0,l.length).join(`
|
|
2
|
+
`)),r}function o(...l){switch(e.unshift(...l.map(f=>`${ce()} \u2714 ${Ae(f)}`)),t){case!0:console.log(e.slice(0,l.length).join(`
|
|
3
|
+
`));default:return r}}return Object.defineProperties(r,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}function ce(){return(t=>`[${Y(t.getHours())}:${Y(t.getMinutes())}:${Y(t.getSeconds())}.${Y(t.getMilliseconds(),3)}]`)(new Date)}function D(t){return a(t,Text,HTMLElement,Comment)}function Y(t,e=2){return`${t}`.padStart(e,"0")}var ue=!1,ut={on:()=>ue=!0,off:()=>ue=!1},J={tagsRaw:W,allowUnknownHtmlTags:ut,isAllowed(t){if(ue)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 ft=!0,K={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(ft&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${M(n)} => ${o}`],[]).join("\\000A");F.error(`JQx: HTML creation error(s): ${e}`)}}function mt(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)||J.isAllowed(e)}function V(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&V(r),r?.attributes){let o=a(r,SVGElement)?Q.svg:Q.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let f=l.name.trim().toLowerCase(),b=l.value.trim().toLowerCase().replace(K.whiteSpace,""),m=f==="href"?!K.validURL.test(b):K.notAllowedValues.test(b),S=f.startsWith("data")?!K.data.test(f):!!o[f];if(m||S){let y=X(l.value||"none",60);y+=y.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${y}`,r.removeAttribute(l.name)}})}if(!(mt(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),l=X(o,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),dt(e),t}function gt(t){let e=document.createElement("div");return e.insertAdjacentHTML(z.end,t),e.childNodes.length?V(e):void 0}function pt(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function U(t=[],e=document.body,r=z.BeforeEnd){return r=r||z.BeforeEnd,t.reduce((n,o)=>{let l=D(o)&&yt(o,e,r);return l?[...n,l]:n},[])}function yt(t,e=document.body,r=z.BeforeEnd){return r=r||z.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?pt(t,e,r):a(t,HTMLElement)?e.insertAdjacentElement(r,t):void 0}function H(t){if(a(t,Text,Comment))return t;let e=t?.trim(),r=e?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(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=gt(t);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${$(t,60)}</span>`):n.children[0]}var De={html:"innerHTML",text:"textContent",class:"className"},fe=bt();function bt(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case Ct(n):return He(e,n,r);default:return He(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function He(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?o=>Lt(r):Tt(e)}}),t[e]}function ht(t,e,r){return e=e?.isJQx&&e.first()||e,Z({trial:n=>Ft(e)?t.append(e):Pe(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
|
|
4
|
+
`,n)})}function St(t,e,...r){let n=xt(e,t);return r?.forEach(o=>ht(n,o,t)),n}function xt(t,e){switch(t=de(e)?wt(t):t?.isJQx?t.first():t,!0){case a(t,String):return _(e,Pe(t,e)?{html:t}:{text:t});case a(t,Node):return Et(e,t);default:return _(e,t)}}function vt(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in De&&(t[De[r]]=t[e],delete t[e])}),t}function Et(t,e){let r=_(t);return r.append(e),r}function _(t,e={}){e=Ne(e,{});let r=Object.entries(e.data??{}),n=Object.assign(de(t)?new Comment(e?.text):document.createElement(t),vt(e));return r.length&&r.forEach(([o,l])=>n.dataset[o]=String(l)),n}function Ne(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 wt(t){return Ne(t)?t?.text??t?.textContent??"":String(t)}function Lt(t){return _("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function Pe(t,e){return!de(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function Ft(t){return t?.constructor===Comment||t?.constructor===CharacterData}function de(t){return t?.constructor===Comment||/comment/i.test(t)}function Ct(t){return!a(_(t),HTMLUnknownElement)}function Tt(t){return(e,...r)=>St(t,e,...r)}var{IS:q,maybe:Or,$Wrap:Ir,xProxy:Rr,isNothing:kr}=$t();function $t(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),h();let t=x(),[e,r]=[c(),P()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?p(i,d):"notTypes"in d?g(i,d):n(i,...[d.isTypes].flat())}let u=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?S(u,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:u,noShouldbe:d,compareTo:v,inputCTOR:T,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:k}=b(i,...s);switch(s=s.length&&s[0],!0){case k:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case I:return d?"NaN":t({trial:j=>String(v)})===String(i);case R:return d?"Infinity":t({trial:j=>String(v)})===String(i);case u:return d?String(i):String(v)===String(i);case T===Boolean:return s?T===s:"Boolean";default:return m(i,s,d,f(i,T))}}function f(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function b(i,...s){let u=s.length<1,d=!u&&s[0],v=!u&&y(s[0]),T=i==null,I=!T&&Object.getPrototypeOf(i)?.constructor,R=t({trial:j=>String(i)})==="NaN",k=t({trial:j=>String(i)})==="Infinity";return{noInput:T,noShouldbe:u,compareTo:d,inputCTOR:I,isNaN:R,isInfinity:k,shouldBeFirstElementIsNothing:v}}function m(i,s,u,d){switch(!0){case(!u&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case t({trial:v=>String(s)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(s,String)):return String(s)===i[Symbol.toStringTag];default:return s?t({trial:v=>i instanceof s})||s===d||s===Object.getPrototypeOf(d)||`${s?.name}`===d?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||d?.name||String(d)}}function S(i,...s){return s.some(u=>n(i,u))}function y(i,s=!1){let u=i==null;return u=s?u||n(i,1/0)||n(i,NaN):u,u}function x(){let i=(s,u)=>s?.constructor===Function?s(u):void 0;return function({trial:s,whenError:u=()=>{}}={}){try{return i(s)}catch(d){return i(u,d)}}}function c(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...s){return n(i,...s)},is(...s){return n(i,...s)}})}}function p(i,{defaultValue:s,isTypes:u=[void 0],notTypes:d}={}){return u=u?.constructor!==Array?[u]:u,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...u)?i:s:g(i,{isTypes:u,notTypes:d})?i:s}function g(i,{isTypes:s=[void 0],notTypes:u=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,u=u?.constructor!==Array?[u]:u,n(i,...s)&&!n(i,...u)}function h(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...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=(u,d,v)=>d===Symbol.proxy?u[d]=v:s(u,d,v),i}function P(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,u){for(let v of u)v.set&&(v=L(v));let d=new s(...u);return d[Symbol.proxy]=`Proxy (${w(u[0])})`,d}})}}}}var ee=At;function At({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:o,sheet:l,removeRules:f,consider:b,currentSheetID:m}=Dt({styleSheet:t,createWithId:e});function S(g,h){if(g&&h.removeProperties){Object.keys(h.removeProperties).forEach(w=>g.style.removeProperty(Me(w)));return}Object.entries(h).forEach(([w,L])=>{w=Me(w.trim()),L=L.trim();let P;if(/!important/.test(L)&&(L=L.slice(0,L.indexOf("!important")).trim(),P="important"),!CSS.supports(w,L))return console.error(`StylingFactory ${m} error: '${w}' with value '${L}' not supported (yet)`);Oe(()=>g.style.setProperty(w,L,P),`StylingFactory ${m} (setRule4Selector) failed`)})}function y(g,h,w=l){if(g=g?.trim?.(),!q(g,String)||!g.length||/[;,]$/g.test(g))return console.error(`StylingFactory ${m} (setRules): [${g||"[no selector given]"}] is not a valid selector`);if(h.removeRule)return f(g);let L=n(g,!0),P=L||w.cssRules[w.insertRule(`${g} {}`,w.cssRules.length||0)];return b(()=>S(P,h),g,L)}function x(g){let h=g.trim().split(/{/,2),w=h.shift().trim();if(!q(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${m} (doParse): no (valid) selector could be extracted from rule ${me(g)}`);let L=Rt(h.shift());return Oe(()=>y(w,L),`StylingFactory ${m} (setRules) failed`)}function c(g){let h=r(g);return h.done?h.existing:x(g)}function p(g,h){return g.trim().startsWith("@media")?c(Ht(g,h)):y(g,h)}return function(g,h={}){return o(g,h)&&(Object.keys(h).length?p(g,h):c(g))}}function Dt({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(c){let p=document.querySelector(`#${c}`)?.sheet;if(p)return p;let g=Object.assign(document.createElement("style"),{id:c});return document.head.insertAdjacentElement("beforeend",g),g.sheet}function l(c){return console.error(`StylingFactory ${n} [rule: ${c}]
|
|
5
|
+
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(c,p){return[...t.rules].find(g=>p?Ie(g.selectorText||"",c):Mt`${Pt(c)}${[..."gim"]}`.test(g.cssText))}function b(c){return/^@charset|@import|namespace/i.test(c.trim())?l(c):c.match(/}/g)?.length>1?{existing:y(c,1),done:!0}:{done:!1}}function m(c){let p=[...t.cssRules].reduce((h,w,L)=>Ie(w.selectorText||"",c)&&h.concat(L)||h,[]),g=p.length;return p.forEach(h=>t.deleteRule(h)),g>0?console.info(`\u2714 Removed ${g} instance${g>1?"s":""} of selector ${c} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${c} does not exist in ${n.slice(4)}`)}function S(c,p){return c&&q(c,String)&&c.trim().length>0&&q(p,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function y(c){c=c.trim();let p=c.slice(0,c.indexOf("{")).trim(),g=!!f(p);try{return t.insertRule(`${c}`,t.cssRules.length),g}catch(h){return console.error(`StylingFactory ${n} (tryParse) ${h.name} Error:
|
|
6
|
+
${h.message}
|
|
7
|
+
Rule: ${me(c)}
|
|
8
|
+
${r}`),g}}function x(c,p,g){try{return c(),g}catch(h){return console.error(`StylingFactory ${n} (tryAddOrModify) ${h.name} Error:
|
|
9
|
+
${h.message}
|
|
10
|
+
Rule: ${me(p)}
|
|
11
|
+
${r}`),g}}return{sheet:t,removeRules:m,tryParseAtOrNestedRules:b,ruleExists:f,checkParams:S,tryParse:y,consider:x,currentSheetID:n}}function Ht(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${Nt(n)}`)}`}function me(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 Nt(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
|
|
12
|
+
`)}function Pt(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function Mt(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(`
|
|
13
|
+
`).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function Me(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function Oe(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function Ot(t){return t.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,r)=>`${r}\\3b`).split(";").map(e=>e.trim()).join(`;
|
|
12
14
|
`).replaceAll("\\3b",";").split(`
|
|
13
|
-
`)}function Ct(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 $t(t){return Ct(Tt(t))}function Me(t,e){return t?.replace("::",":")===e?.replace("::",":")}var At=[...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}`)),F=Rt(),Ie=Object.freeze({get(t,e){return t[X(e)]||t[e]},enumerable:!1,configurable:!1}),T=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}}));function Y(t,e=2){return`${t}`.padStart(e,"0")}function Dt(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 C(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function Re(t){return t=a(t,String)&&/,/.test(t)?t.split(","):t,a(t,Array)?t.filter(e=>C(e)).map(e=>e.trim().toLowerCase()):a(t,String)&&t?.trim().toLowerCase()||""}function E(t,e){let r=t.collection.filter(n=>!fe(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Ht(t){let e=t.length;for(;e--;){let r=Dt(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,"<").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(t.length>e?" …":"").trim()}function D(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Nt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function X(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Nt(e)}`||e).join(""):t}function K(){return`_${Ht(At).slice(0,8).join("")}`}function ue(t,e=120){return A(t,e).replace(/</g,"<")}function Pe(){return(t=>`[${Y(t.getHours())}:${Y(t.getMinutes())}:${Y(t.getSeconds())}.${Y(t.getMilliseconds(),3)}]`)(new Date)}function j(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function fe(t){return a(t,Comment,Text)}function P(t){return a(t,Text,HTMLElement,Comment)}function ke(t){a(t,Comment)}function Mt(t){return a(t,Text)}function q(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function ee(t){return a(t,Array)&&!t?.find(e=>!P(e))}function de(t){return a(t,Array)&&!t?.find(e=>!q(e))}function me(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(ke(r)?`<!--${r.data}-->`:fe(r)?r.textContent:r.outerHTML),"")}function ge(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:P(t)?[t]:ee(t)?t:t.isJQx?t.collection:void 0:[]}function pe(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 ye(t){let e=t.data.get("hid")||`HID${K()}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function je(){return{isCommentOrTextNode:fe,isNode:P,isComment:ke,isText:Mt,isHtmlString:q,isArrayOfHtmlElements:ee,isArrayOfHtmlStrings:de,ElemArray2HtmlString:me,input2Collection:ge,setCollectionFromCssSelector:pe,addHandlerId:ye,cssRuleEdit:Z({createWithId:"JQxStylesheet"})}}function Pt(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 Ot(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function It(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function Je(){let e=Object.freeze({notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return a(n,Node)?Object.freeze({get writable(){return Ot(n)},get modal(){return It(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return Pt(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function Oe(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function Rt(){let t=!1,e=[],r={get on(){return t=!0,r},get off(){return t=!1,r},get backLog(){return e}};function n(...l){return e.unshift(...l.map(u=>`${Pe()} \u2A3B ${Oe(u)}`)),console.error(e.slice(0,l.length).join(`
|
|
14
|
-
`)),r}function o(...l){switch(e.unshift(...l.map(u=>`${Pe()} \u2714 ${Oe(u)}`)),t){case!0:console.log(e.slice(0,l.length).join(`
|
|
15
|
-
`));default:return r}}return Object.defineProperties(r,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}function J(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function be(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${D(r)}`,n)}function he(t,e){return t.andThen(e,!0)}function Se(t,e){return t.andThen(e)}function te(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?te(t,e,r):e}function xe(t){return t&&(t.textContent="")}function ve(t){return t.startsWith("data")||Q.html.find(e=>t.toLowerCase()===e)}function Be(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-${K().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}function Qe(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=D(r),r.startsWith("data"))return be(t,n);a(n,String)&&ve(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function re(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)}}var Ee=!1,kt={on:()=>Ee=!0,off:()=>Ee=!1},B={tagsRaw:z,allowUnknownHtmlTags:kt,isAllowed(t){if(Ee)return!0;let e=a(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!z[e]},allowTag:t=>z[t.toLowerCase()]=!0,prohibitTag:t=>z[t.toLowerCase()]=!1};var jt=!0,ne={data:/data-[\-\w.\p{L}]/ui,validURL:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,whiteSpace:/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,notAllowedValues:/^javascript|injected|noreferrer|alert|DataURL/gi};function Jt(t){if(jt&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${j(n)} => ${o}`],[]).join("\\000A");F.error(`JQx: HTML creation error(s): ${e}`)}}function Bt(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 V(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&V(r),r?.attributes){let o=a(r,SVGElement)?Q.svg:Q.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let u=l.name.trim().toLowerCase(),h=l.value.trim().toLowerCase().replace(ne.whiteSpace,""),p=u==="href"?!ne.validURL.test(h):ne.notAllowedValues.test(h),y=u.startsWith("data")?!ne.data.test(u):!!o[u];if(p||y){let b=ue(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(!(Bt(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),l=ue(o,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),Jt(e),t}function Qt(t){let e=document.createElement("div");return e.insertAdjacentHTML(T.end,t),e.childNodes.length?V(e):void 0}function zt(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function U(t=[],e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,t.reduce((n,o)=>{let l=P(o)&&Wt(o,e,r);return l?[...n,l]:n},[])}function Wt(t,e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?zt(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=Qt(t);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${A(t,60)}</span>`):n.children[0]}var Vt=Je();function Ut(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Ie)},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=te(r,0),n.scrollLeftDistance=te(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=>Vt(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:Se,afterMe:Se,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return F.log(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${r}]`),e;r=r?.isJQx?r.collection:a(r,Node)?t.virtual(r).collection:t.virtual(H(r)).collection;let[o,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&&C(o)){let l=o.trim(),h=!/^<(.+)[^>]+>$/m.test(l)?t.text(o):H(o);E(e,p=>p.append(n?h:J(h)))}P(o)&&E(e,l=>l.append(n?o:J(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(u=>l.append(n?u:J(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&&C(r))return r=D(r),r==="class"?[...o?.classList].join(" "):o?.getAttribute(r);if(C(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&&Qe(o,r),e},before:he,beforeMe:he,clear:e=>E(e,xe),closest:(e,r)=>{let n=C(r)?e[0].closest(r):null;return n?t(n):e},computedStyle:(e,r)=>e.first()&&getComputedStyle(e.first())[r],css:(e,r,n)=>E(e,o=>Be(o,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{if(e.collection.length>0){let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(l=>{l.removeAttribute&&l?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}return F.error("Duplicating an empty JQx instance is not possible"),e},each:(e,r)=>E(e,r),empty:e=>E(e,xe),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=>re(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||!C(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=ye(e);t.handle({type:r,selector:o,handlers:n})}return e},prepend:(e,...r)=>{if(!e.is.empty&&r){let n=e.length===1;for(let o of r){if(C(o)){o=o.trim();let u=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):H(o);u=n?u:J(u),E(e,h=>h.prepend(u.cloneNode(!0)))}P(o)&&E(e,l=>l.prepend(n?o:J(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,u=>l.prepend(n?u:J(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&&!ve(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)=>{F.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=>be(n,r)),show:e=>E(e,r=>re(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"}),re(l,r)}),text:(e,r,n=!1)=>e.isEmpty()?e:a(r,String)?E(e,l=>l.textContent=n?l.textContent+r:r):e.first().textContent,toDOM:(e,r=document.body,n=T.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),U(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 ze(t){return{factoryExtensions:Ut(t),instanceExtensions:_t(t)}}function We(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(...Te);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(d){if(r.open)return;n={...d};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:d,modal:g,closeAfter:m}=n;g=t.IS(g,Boolean)?g:!1;let S=g?"":t.div({id:"closeHandleIcon"});e.append(S,t.IS(d,String)?t.div(d):d),r.showModal(),!g&&t.IS(m,Number)&&b(l,m)}function h(){if(r.close(n.returnValue),t.IS(n.callback,Function))return n.callback(n.returnValue);n={}}function p({callback:d,value:g}={}){n.returnValue=g,n.modal=!1,n.callback=d||n.callback,l()}function y(d){if(!(Object.keys(n).length<1||!r.open))return d.key==="Escape"&&d.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(d.target.closest("#closeHandleIcon")||!d.target.closest("#jqxPopupContent"))&&l(),!0}function b(d,g){t.IS(d,Function)&&t.IS(g,Number)&&g>0&&(n.activeTimer=setTimeout(d,g*1e3))}function x(d){if(!t.IS(d,String,HTMLElement,Proxy))return;let g=e.find$(".warn");switch(!0){case g.is.empty:g=t.div({class:"warn"},d);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"],Ve=t=>!!Gt.find(e=>e===t);function Ue(t){return function(o){let{eventType:l,selector:u,callback:h,name:p,capture:y,once:b,canRemove:x}=o;switch(!0){case(!C(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=C(p,4)&&t.IS(x,Boolean)?x:b;let{handler:d,signal:g,remove:m}=e({selector:u,callback:h,canRemove:x,once:b,name:p,eventType:l});return n({eventType:l,handler:d,capture:y,once:b,signal:g,remove:m,name:p})}};function e(o){let{selector:l,callback:u,canRemove:h,name:p,eventType:y,once:b}=o,x=(h||b)&&new AbortController,d=r({once:b,abortcontroller:x,name:p,eventType:y}),g=l?{handler:m=>{let S=m.target?.closest?.(l);return S&&u(m,t(S),d)},remove:d}:{handler:m=>u(m,m.target,d),remove:d};return x&&(g.signal=x.signal,b)?{handler:(m,S)=>{g.handler(m,S),d()}}: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,d])=>d.name===h);N[p].delete(b[0]),t.logger.log(`JQx: Listener for event type [${p}] with name [${h}] was removed${l?" (once active, so handled once).":""}`)}:function(y){t.logger.error(`JQx: listener for event type [${p}] with name [${h}] is not marked as removable`)}:function(){t.logger.error("JQx: an anonymous listener can not be removed")}}function n(o){let{eventType:l,handler: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||Ve(l),once:p||!1};y&&(g.signal=y),document.addEventListener(l,u,g);let m={name:x,remove:b,capture:h||Ve(l)};N[l].set(u,m)}}}var we,oe,{isComment:tn,isText:rn,isHtmlString:nn,isArrayOfHtmlElements:on,isArrayOfHtmlStrings:ln,ElemArray2HtmlString:sn,addHandlerId:an,cssRuleEdit:Le,addFn:Zt}=Yt();function Yt(){return{...je(),addFn(t,e){return F.log(`JQx: added extension function [${t}]`),oe[t]=(r,...n)=>e(r,...n)}}}function _(t){return new Proxy(t,Object.freeze({get:(e,r)=>Xt(e,r,t)}))}function _e(t,e){return(...r)=>a(t,Function)&&t(_(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 we:return _e(we[e],r)();case e in oe:return _e(oe[e],r);default:return t[e]}}function Ye(t){let e=rr(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function Kt(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?X(e):e.toLowerCase(),B.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Fe(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),B.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,Fe(e,!1,t))}}}function Ge(...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))Le(e,{removeRule:1})}function qt(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(l=>n===l);let o=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let l of o.collection)n?r.insertAdjacentElement(n,l):r.append(l);return o}}function er(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,l]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...l,enumerable:!1})}return e}function tr(t,e,r,n){return t=D(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(V(le[t](...o)))},enumerable:!1,configurable:!0}}function Fe(t,e,r,n){t=t.toLowerCase();let o=tr(t,e,r,n);return n?{[n]:o,[X(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function rr(t){return er(Object.entries(B.tagsRaw).reduce(nr(t),{}),cr(t))}function nr(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Fe(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=Re(r),x=u;l=a(l,Function)?[l]:l,y=a(y,Boolean)?y:!1;let d={eventType:b,selector:o||n,capture:h,name:x,once:p,canRemove:y};switch(!0){case(a(b,Array)&&b.length>0):for(let g of b)d.eventType=g,Ze(l,d,t);break;default:return Ze(l,d,t)}}}function Ze(t,e,r){for(let n of t)r({...e,callback:n})}function lr(t,e){return e=C(e)&&e,t=C(t)&&t,e&&t&&[...N[t].values()].find(r=>(r.name||"")===e)}function sr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:We(t),enumerable:!1}),t.activePopup}function ar(t){let e=(p,y)=>Le(p,y),r=p=>Z({createWithId:p||`jqx${K()}`}),n=(...p)=>{for(let y of p)Le(y)},o=Kt(t),l=Ue(t),u=ir(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:u,log:(...p)=>F.on.log(...p).off}}function cr(t){let{factoryExtensions:e,instanceExtensions:r}=ze(t);we=e,oe=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:F,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 Ge},get removeCssRules(){return Ge},get delegate(){return or(p)},get delegateCaptured(){return p},get handle(){return p},get at(){return T},get setStyle(){return n},get fn(){return Zt},get lenient(){return B.allowUnknownHtmlTags},get IS(){return a},get Popup(){return sr(t)}}}var ur=Ye(fr());function fr(){return function(r,n,o=T.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(T).find(g=>o===g)?o:void 0;let u=q(r),h=!u&&de(r),p=h||u,y={collection:ge(r)??[],isVirtual:l,isJQx:!0},b=ee(y.collection),x=`JQx: input => ${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 F.log(x),l||y.collection.forEach(g=>{n.contains(g)||U([g],n,o)}),_(y);if(p){if([r].flat().forEach(g=>y.collection.push(H(g))),y.collection.length>0){let g=y.collection.filter(m=>m?.dataset?.jqxcreationerror);y.collection=y.collection.filter(m=>!m?.dataset?.jqxcreationerror),F.log(`${x}`),F.log(`JQx: created ${y.isVirtual?"VIRTUAL ":""}[${A(me(y.collection).trim()||"sanitized: no elements remaining",70)}]`),y.isVirtual||U(y.collection,n,o)}return _(y)}let d=pe(r,n,y);return F.log(`JQx: input => ${d}`),_(y)}}return rt(dr);})();
|
|
15
|
+
`)}function It(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 Rt(t){return It(Ot(t))}function Ie(t,e){return t?.replace("::",":")===e?.replace("::",":")}var kt=[...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}`)),Re=Object.freeze({get(t,e){return t[te(e)]||t[e]},enumerable:!1,configurable:!1}),O=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}}));function jt(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 ke(t){return t=a(t,String)&&/,/.test(t)?t.split(","):t,a(t,Array)?t.filter(e=>C(e)).map(e=>e.trim().toLowerCase()):a(t,String)&&t?.trim().toLowerCase()||""}function E(t,e){let r=t.collection.filter(n=>!ge(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Jt(t){let e=t.length;for(;e--;){let r=jt(e);[t[e],t[r]]=[t[r],t[e]]}return t}function A(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Bt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function te(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Bt(e)}`||e).join(""):t}function re(){return`_${Jt(kt).slice(0,8).join("")}`}function ge(t){return a(t,Comment,Text)}function je(t){a(t,Comment)}function Qt(t){return a(t,Text)}function ne(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function oe(t){return a(t,Array)&&!t?.find(e=>!D(e))}function pe(t){return a(t,Array)&&!t?.find(e=>!ne(e))}function ye(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(je(r)?`<!--${r.data}-->`:ge(r)?r.textContent:r.outerHTML),"")}function be(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:D(t)?[t]:oe(t)?t:t.isJQx?t.collection:void 0:[]}function he(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 Se(t){let e=t.data.get("hid")||`HID${re()}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Je(){return{isCommentOrTextNode:ge,isNode:D,isComment:je,isText:Qt,isHtmlString:ne,isArrayOfHtmlElements:oe,isArrayOfHtmlStrings:pe,ElemArray2HtmlString:ye,input2Collection:be,setCollectionFromCssSelector:he,addHandlerId:Se,cssRuleEdit:ee({createWithId:"JQxStylesheet"})}}function zt(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),o=[e.display,r.display].includes("none"),l=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,f=+r.opacity==0||+(e.opacity||1)==0;return!(l||f||o||n)}function Wt(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function Vt(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function Be(){let e=Object.freeze({notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return a(n,Node)?Object.freeze({get writable(){return Wt(n)},get modal(){return Vt(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return zt(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function B(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function xe(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${A(r)}`,n)}function ve(t,e){return t.andThen(e,!0)}function Ee(t,e){return t.andThen(e)}function ie(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?ie(t,e,r):e}function we(t){return t&&(t.textContent="")}function Le(t){return t.startsWith("data")||Q.html.find(e=>t.toLowerCase()===e)}function Qe(t,e,r,n){r&&a(e,String)&&(e={[e]:r==="-"?"":r});let o;e.className&&(o=e.className,delete e.className),o=[...t.classList].find(f=>f.startsWith("JQxClass-")||o&&f===o)||o||`JQxClass-${re().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}function ze(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=A(r),r.startsWith("data"))return xe(t,n);a(n,String)&&Le(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function le(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(A(r),n,o)}}var Ut=Be();function _t(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Re)},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-${A(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=ie(r,0),n.scrollLeftDistance=ie(r,0,!1),n},node:e=>e[0],HTML:e=>({get:(r,n)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=r?e.outerHtml:e.html();return n?M(o):o},set:(r,n=!1,o=!1)=>{r=r.isJQx?r.HTML.get(1):r;let l=a(r,String);return r=l&&o?M(r):r,l&&(r||"").trim().length&&e.html(r,n),e},replace:(r,n=!1)=>e.HTML.set(r,!1,n),append:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)),insert:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n))}),is:e=>Ut(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let r=t(e[0]?.parentNode);return r.is.empty?e:r},render:e=>(!e.is.empty&&e.toDOM()||t.log("[JQx.render]: empty collection"),e),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:r=>e.style(r),inSheet:r=>e.css(r),valueOf:r=>e.is.empty?void 0:getComputedStyle(e[0])[A(r)],nwRule:r=>e.Style.byRule({rules:r}),byRule:({classes2Apply:r=[],rules:n=[]}={})=>{let l=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let f of r)e.addClass(f);return l?.startsWith(".")&&e.addClass(l.slice(1)),l?.startsWith("#")&&!e.attr("id")&&e.prop({id:l.slice(1)}),e}})}}function Gt(t){return{addClass:(e,...r)=>E(e,n=>n&&r.forEach(o=>n.classList.add(o))),after:Ee,afterMe:Ee,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return F.log(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${r}]`),e;r=r?.isJQx?r.collection:a(r,Node)?t.virtual(r).collection:t.virtual(H(r)).collection;let[o,l,f]=n?[0,"before",r.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r)];return e[o][l](...r),e.collection=f,e},append:(e,...r)=>{if(!e.is.empty&&r.length){let n=e.length===1;for(let o of r){if(!o.isJQx&&C(o)){let l=o.trim(),b=!/^<(.+)[^>]+>$/m.test(l)?t.text(o):H(o);E(e,m=>m.append(n?b:B(b)))}D(o)&&E(e,l=>l.append(n?o:B(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(f=>l.append(n?f:B(f))))}}return e},appendTo:(e,r)=>(r.isJQx||(r=t(r)),r.append(e),e),attr:(e,r,n)=>{let o=e[0];if(!o)return e;if(!n&&C(r))return r=A(r),r==="class"?[...o?.classList].join(" "):o?.getAttribute(r);if(C(r)&&n)switch(r=A(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&ze(o,r),e},before:ve,beforeMe:ve,clear:e=>E(e,we),closest:(e,r)=>{let n=C(r)?e[0].closest(r):null;return n?t(n):e},computedStyle:(e,r)=>e.first()&&getComputedStyle(e.first())[r],css:(e,r,n)=>E(e,o=>Qe(o,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{if(e.collection.length>0){let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(l=>{l.removeAttribute&&l?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}return F.error("Duplicating an empty JQx instance is not possible"),e},each:(e,r)=>E(e,r),empty:e=>E(e,we),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=>le(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,f=>(n||(f.textContent=""),f.insertAdjacentHTML(t.at.end,o.getHTML())))}return e},htmlFor:(e,r,n="",o=!1)=>{if(r&&e.collection.length){if(!r||!C(n))return e;let l=e.find$(r);if(l.length<1)return e;let f=H(`<span>${n}</span>`);l.each(b=>{o||(b.textContent=""),b.insertAdjacentHTML(t.at.end,f?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,r)=>e.single(r),on:(e,r,...n)=>{if(e.collection.length&&a(r,String,Array)){if(r?.length<1||n.length<1)return e;let o=Se(e);t.handle({type:r,selector:o,handlers:n})}return e},prepend:(e,...r)=>{if(!e.is.empty&&r){let n=e.length===1;for(let o of r){if(C(o)){o=o.trim();let f=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):H(o);f=n?f:B(f),E(e,b=>b.prepend(f.cloneNode(!0)))}D(o)&&E(e,l=>l.prepend(n?o:B(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,f=>l.prepend(n?f:B(f)))),o.collection.reverse())}}return e},prependTo:(e,r)=>(r.isJQx||(r=t.virtual(r)),r.prepend(e),e),prop:(e,r,n)=>{if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let o=a(r,Object)?r:{[r]:n};for(let[l,f]of Object.entries(o)){if(l=l.trim(),f&&!Le(l)||!f)return!1;if(l.toLowerCase()==="id")return e[0].id=f;E(e,m=>{if(l.startsWith("data"))return m.dataset[l.slice(l.indexOf("-")+1)]=f;m[l]=f})}return e},remove:(e,r)=>{F.log(`remove ${$(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=>xe(n,r)),show:e=>E(e,r=>le(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"}),le(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=O.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),U(e.collection,r,n),e),toggleClass:(e,r)=>E(e,n=>n.classList.toggle(r)),toNodeList:e=>[...e.collection].map(r=>document.importNode(r,!0)),trigger:(e,r,n=Event,o={})=>{if(e.collection.length){let l=new n(r,{...o,bubbles:o.bubbles??!0});for(let f of e.collection)f.dispatchEvent(l)}return e},val:(e,r)=>{let n=e[0];return!n||!a(n,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:r===void 0?n.value:(n.value=a(r,String)?r:"",e)}}}function We(t){return{factoryExtensions:_t(t),instanceExtensions:Gt(t)}}function Ve(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(...$e);let[e,r]=[t("#jqxPopupContent"),t.node("#jqxPopup")],n={};return t.handle({type:"click, keydown",handlers:S,capture:!0}),Object.freeze({show:o,removeModal:m});function o(c){if(r.open)return;n={...c};let{content:p}=n;return t.IS(p,String,HTMLElement)||p?.isJQx?f():!0}function l(){return n.modal?x(n.warnMessage):b()}function f(){e.clear();let{content:c,modal:p,closeAfter:g}=n;p=t.IS(p,Boolean)?p:!1;let h=p?"":t.div({id:"closeHandleIcon"});e.append(h,t.IS(c,String)?t.div(c):c),r.showModal(),!p&&t.IS(g,Number)&&y(l,g)}function b(){if(r.close(n.returnValue),t.IS(n.callback,Function))return n.callback(n.returnValue);n={}}function m({callback:c,value:p}={}){n.returnValue=p,n.modal=!1,n.callback=c||n.callback,l()}function S(c){if(!(Object.keys(n).length<1||!r.open))return c.key==="Escape"&&c.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(c.target.closest("#closeHandleIcon")||!c.target.closest("#jqxPopupContent"))&&l(),!0}function y(c,p){t.IS(c,Function)&&t.IS(p,Number)&&p>0&&(n.activeTimer=setTimeout(c,p*1e3))}function x(c){if(!t.IS(c,String,HTMLElement,Proxy))return;let p=e.find$(".warn");switch(!0){case p.is.empty:p=t.div({class:"warn"},c);default:e.append(p.addClass("active")),y(()=>e.find$(".warn").removeClass("active"),2)}}}var N={},Zt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],Ue=t=>!!Zt.find(e=>e===t);function _e(t){return function(o){let{eventType:l,selector:f,callback:b,name:m,capture:S,once:y,canRemove:x}=o;switch(!0){case(!C(l)||!t.IS(b,Function)):default:m=m||!/handlers$/.test(b.name)&&b.name||void 0,S=t.IS(S,Boolean)?S:!1,y=t.IS(y,Boolean)?y:!1,x=C(m,4)&&t.IS(x,Boolean)?x:y;let{handler:c,signal:p,remove:g}=e({selector:f,callback:b,canRemove:x,once:y,name:m,eventType:l});return n({eventType:l,handler:c,capture:S,once:y,signal:p,remove:g,name:m})}};function e(o){let{selector:l,callback:f,canRemove:b,name:m,eventType:S,once:y}=o,x=(b||y)&&new AbortController,c=r({once:y,abortcontroller:x,name:m,eventType:S}),p=l?{handler:g=>{let h=g.target?.closest?.(l);return h&&f(g,t(h),c)},remove:c}:{handler:g=>f(g,g.target,c),remove:c};return x&&(p.signal=x.signal,y)?{handler:(g,h)=>{p.handler(g,h),c()}}:p}function r(o){let{once:l,abortcontroller:f,name:b,eventType:m}=o;return b?f?function(){f.abort();let y=[...N[m].entries()].find(([x,c])=>c.name===b);N[m].delete(y[0]),t.logger.log(`JQx: Listener for event type [${m}] with name [${b}] was removed${l?" (once active, so handled once).":""}`)}:function(S){t.logger.error(`JQx: listener for event type [${m}] with name [${b}] is not marked as removable`)}:function(){t.logger.error("JQx: an anonymous listener can not be removed")}}function n(o){let{eventType:l,handler:f,capture:b,once:m,signal:S,remove:y,name:x}=o;if(N[l]||(N[l]=new Map),!(N[l].has(f)||[...N[l].values()].find(p=>(p.name||"")===x))){let p={capture:b||Ue(l),once:m||!1};S&&(p.signal=S),document.addEventListener(l,f,p);let g={name:x,remove:y,capture:b||Ue(l)};N[l].set(f,g)}}}var Fe,se,{isComment:on,isText:ln,isHtmlString:sn,isArrayOfHtmlElements:an,isArrayOfHtmlStrings:cn,ElemArray2HtmlString:un,addHandlerId:fn,cssRuleEdit:Ce,addFn:Yt}=Xt();function Xt(){return{...Je(),addFn:function(t,e){return F.log(`JQx: added extension function [${t}]`),se[t]=(r,...n)=>e(r,...n)}}}function G(t){return new Proxy(t,Object.freeze({get:(e,r)=>Kt(e,r,t)}))}function Ge(t,e){return(...r)=>a(t,Function)&&t(G(e),...r)}function Kt(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in Fe:return Ge(Fe[e],r)();case e in se:return Ge(se[e],r);default:return t[e]}}function Xe(t){let e=nr(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function qt(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?te(e):e.toLowerCase(),J.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Te(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),J.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,Te(e,!1,t))}}}function Ze(...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))Ce(e,{removeRule:1})}function er(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(O).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 tr(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,l]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...l,enumerable:!1})}return e}function rr(t,e,r,n){return t=A(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(V(fe[t](...o)))},enumerable:!1,configurable:!0}}function Te(t,e,r,n){t=t.toLowerCase();let o=rr(t,e,r,n);return n?{[n]:o,[te(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function nr(t){return tr(Object.entries(J.tagsRaw).reduce(or(t),{}),ur(t))}function or(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Te(r,n,t)),e}}function ir(t){return function(e,r,...n){a(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function lr(t){return function(e){let{type:r,origin:n,selector:o,handlers:l,name:f,capture:b,once:m,canRemove:S}=e,y=ke(r),x=f;l=a(l,Function)?[l]:l,S=a(S,Boolean)?S:!1;let c={eventType:y,selector:o||n,capture:b,name:x,once:m,canRemove:S};switch(!0){case(a(y,Array)&&y.length>0):for(let p of y)c.eventType=p,Ye(l,c,t);break;default:return Ye(l,c,t)}}}function Ye(t,e,r){for(let n of t)r({...e,callback:n})}function sr(t,e){return e=C(e)&&e,t=C(t)&&t,e&&t&&[...N[t].values()].find(r=>(r.name||"")===e)}function ar(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:Ve(t),enumerable:!1}),t.activePopup}function cr(t){let e=(m,S)=>Ce(m,S),r=m=>ee({createWithId:m||`jqx${re()}`}),n=(...m)=>{for(let S of m)Ce(S)},o=qt(t),l=_e(t),f=lr(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:f,log:(...m)=>F.on.log(...m).off}}function ur(t){let{factoryExtensions:e,instanceExtensions:r}=We(t);Fe=e,se=r;let{editCssRule:n,createStyle:o,editCssRules:l,allowProhibit:f,handle:b,capturedHandling:m,log:S}=cr(t);return{log:S,editCssRules:l,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:M,logger:F,text:(y,x=!1)=>x?t.comment(y):document.createTextNode(y),node:(y,x=document)=>x.querySelector(y,x),nodes:(y,x=document)=>[...x.querySelectorAll(y,x)],get getNamedListener(){return sr},get virtual(){return er(t)},get allowTag(){return f.allow},get prohibitTag(){return f.prohibit},get removeCssRule(){return Ze},get removeCssRules(){return Ze},get delegate(){return ir(m)},get delegateCaptured(){return m},get handle(){return m},get at(){return O},get setStyle(){return n},get fn(){return Yt},get lenient(){return J.allowUnknownHtmlTags},get IS(){return a},get Popup(){return ar(t)}}}var Ke=Xe(fr());function fr(){return function(e,r,n=O.BeforeEnd){if(e?.isJQx)return e;let o=a(r,HTMLBRElement);r=(!o&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(O).find(c=>n===c)?n:void 0;let l=ne(e),f=!l&&pe(e),b=f||l,m={collection:be(e)??[],isVirtual:o,isJQx:!0},S=oe(m.collection),y=`JQx: input => ${f?`"${$(e.join(", "),70)}"`:!b&&S?`element collection [${$(m.collection.map(c=>`${a(c,Comment,Text)?"Comment|Text @":""} ${c?.outerHTML||c?.textContent}`).join(", "),70)}]`:`"${$(e,70)}"`}`;if(m.collection.length&&S)return F.log(y),o||m.collection.forEach(c=>{r.contains(c)||U([c],r,n)}),G(m);if(b){if([e].flat().forEach(c=>m.collection.push(H(c))),m.collection.length>0){let c=m.collection.filter(p=>p?.dataset?.jqxcreationerror);m.collection=m.collection.filter(p=>!p?.dataset?.jqxcreationerror),F.log(`${y}`),F.log(`JQx: created ${m.isVirtual?"VIRTUAL ":""}[${$(ye(m.collection).trim()||"sanitized: no elements remaining",70)}]`),m.isVirtual||U(m.collection,r,n)}return G(m)}let x=he(e,r,m);return F.log(`JQx: input => ${x}`),G(m)}}var dr=Ke;return ot(mr);})();
|
package/Bundle/jqx.min.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
var Fe=Ke(),Q=Ye(),z=Xe();function Ye(){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 Xe(){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 Ke(){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 qe=et(),Te={html:"innerHTML",text:"textContent",class:"className"},ie=qe;function et(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case ct(n):return Ce(e,n,r);default:return Ce(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function Ce(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?o=>st(r):ut(e)}}),t[e]}function tt(t,e,r){return e=e?.isJQx&&e.first()||e,se({trial:n=>at(e)?t.append(e):Ae(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
|
|
2
|
-
`,n)})}function rt(t,e,...r){let n=nt(e,t);return r?.forEach(o=>tt(n,o,t)),n}function nt(t,e){switch(t=le(e)?lt(t):t?.isJQx?t.first():t,!0){case a(t,String):return W(e,Ae(t,e)?{html:t}:{text:t});case a(t,Node):return it(e,t);default:return W(e,t)}}function ot(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in Te&&(t[Te[r]]=t[e],delete t[e])}),t}function it(t,e){let r=W(t);return r.append(e),r}function W(t,e={}){e=$e(e,{});let r=Object.entries(e.data??{}),n=Object.assign(le(t)?new Comment(e?.text):document.createElement(t),ot(e));return r.length&&r.forEach(([o,l])=>n.dataset[o]=String(l)),n}function $e(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 lt(t){return $e(t)?t?.text??t?.textContent??"":String(t)}function st(t){return W("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function Ae(t,e){return!le(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function at(t){return t?.constructor===Comment||t?.constructor===CharacterData}function le(t){return t?.constructor===Comment||/comment/i.test(t)}function ct(t){return!a(W(t),HTMLUnknownElement)}function ut(t){return(e,...r)=>rt(t,e,...r)}var{IS:a,maybe:se,$Wrap:sr,xProxy:ar,isNothing:cr}=ft();function ft(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),S();let t=x(),[e,r]=[d(),M()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:b,xProxy:r};function n(i,...s){if(t({trial:f=>"isTypes"in(s?.[0]??{})})){let f=s[0];return"defaultValue"in f?g(i,f):"notTypes"in f?m(i,f):n(i,...[f.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:f,compareTo:v,inputCTOR:$,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]&&f):return i[Symbol.proxy];case O:return f?"NaN":t({trial:k=>String(v)})===String(i);case I:return f?"Infinity":t({trial:k=>String(v)})===String(i);case c:return f?String(i):String(v)===String(i);case $===Boolean:return s?$===s:"Boolean";default:return p(i,s,f,u(i,$))}}function u(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let c=s.length<1,f=!c&&s[0],v=!c&&b(s[0]),$=i==null,O=!$&&Object.getPrototypeOf(i)?.constructor,I=t({trial:k=>String(i)})==="NaN",R=t({trial:k=>String(i)})==="Infinity";return{noInput:$,noShouldbe:c,compareTo:f,inputCTOR:O,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function p(i,s,c,f){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===f||s===Object.getPrototypeOf(f)||`${s?.name}`===f?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||f?.name||String(f)}}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(f){return i(c,f)}}}function d(){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:f}={}){return c=c?.constructor!==Array?[c]:c,f=f&&f?.constructor!==Array?[f]:[],f.length<1?n(i,...c)?i:s:m(i,{isTypes:c,notTypes:f})?i:s}function m(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,f,v)=>f===Symbol.proxy?c[f]=v:s(c,f,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 f=new s(...c);return f[Symbol.proxy]=`Proxy (${w(c[0])})`,f}})}}}}var{IS:G,maybe:fr,$Wrap:dr,xProxy:mr,isNothing:gr}=dt();function dt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),S();let t=x(),[e,r]=[d(),M()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:b,xProxy:r};function n(i,...s){if(t({trial:f=>"isTypes"in(s?.[0]??{})})){let f=s[0];return"defaultValue"in f?g(i,f):"notTypes"in f?m(i,f):n(i,...[f.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:f,compareTo:v,inputCTOR:$,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]&&f):return i[Symbol.proxy];case O:return f?"NaN":t({trial:k=>String(v)})===String(i);case I:return f?"Infinity":t({trial:k=>String(v)})===String(i);case c:return f?String(i):String(v)===String(i);case $===Boolean:return s?$===s:"Boolean";default:return p(i,s,f,u(i,$))}}function u(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function h(i,...s){let c=s.length<1,f=!c&&s[0],v=!c&&b(s[0]),$=i==null,O=!$&&Object.getPrototypeOf(i)?.constructor,I=t({trial:k=>String(i)})==="NaN",R=t({trial:k=>String(i)})==="Infinity";return{noInput:$,noShouldbe:c,compareTo:f,inputCTOR:O,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:v}}function p(i,s,c,f){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===f||s===Object.getPrototypeOf(f)||`${s?.name}`===f?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||f?.name||String(f)}}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(f){return i(c,f)}}}function d(){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:f}={}){return c=c?.constructor!==Array?[c]:c,f=f&&f?.constructor!==Array?[f]:[],f.length<1?n(i,...c)?i:s:m(i,{isTypes:c,notTypes:f})?i:s}function m(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,f,v)=>f===Symbol.proxy?c[f]=v:s(c,f,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 f=new s(...c);return f[Symbol.proxy]=`Proxy (${w(c[0])})`,f}})}}}}var Z=mt;function mt({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:o,sheet:l,removeRules:u,consider:h,currentSheetID:p}=gt({styleSheet:t,createWithId:e});function y(m,S){if(m&&S.removeProperties){Object.keys(S.removeProperties).forEach(w=>m.style.removeProperty(De(w)));return}Object.entries(S).forEach(([w,L])=>{w=De(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)`);He(()=>m.style.setProperty(w,L,M),`StylingFactory ${p} (setRule4Selector) failed`)})}function b(m,S,w=l){if(m=m?.trim?.(),!G(m,String)||!m.length||/[;,]$/g.test(m))return console.error(`StylingFactory ${p} (setRules): [${m||"[no selector given]"}] is not a valid selector`);if(S.removeRule)return u(m);let L=n(m,!0),M=L||w.cssRules[w.insertRule(`${m} {}`,w.cssRules.length||0)];return h(()=>y(M,S),m,L)}function x(m){let S=m.trim().split(/{/,2),w=S.shift().trim();if(!G(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${p} (doParse): no (valid) selector could be extracted from rule ${ae(m)}`);let L=vt(S.shift());return He(()=>b(w,L),`StylingFactory ${p} (setRules) failed`)}function d(m){let S=r(m);return S.done?S.existing:x(m)}function g(m,S){return m.trim().startsWith("@media")?d(pt(m,S)):b(m,S)}return function(m,S={}){return o(m,S)&&(Object.keys(S).length?g(m,S):d(m))}}function gt({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(d){let g=document.querySelector(`#${d}`)?.sheet;if(g)return g;let m=Object.assign(document.createElement("style"),{id:d});return document.head.insertAdjacentElement("beforeend",m),m.sheet}function l(d){return console.error(`StylingFactory ${n} [rule: ${d}]
|
|
3
|
-
|
|
4
|
-
${S.
|
|
5
|
-
|
|
6
|
-
${
|
|
7
|
-
${
|
|
8
|
-
|
|
9
|
-
${
|
|
10
|
-
|
|
11
|
-
`)
|
|
1
|
+
var Te=et(),Q=Ke(),W=qe();function Ke(){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 qe(){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 et(){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{IS:a,maybe:Z,$Wrap:lr,xProxy:sr,isNothing:ar}=tt();function tt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),h();let t=x(),[e,r]=[c(),P()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?p(i,d):"notTypes"in d?g(i,d):n(i,...[d.isTypes].flat())}let u=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?S(u,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:u,noShouldbe:d,compareTo:v,inputCTOR:T,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:k}=b(i,...s);switch(s=s.length&&s[0],!0){case k:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case I:return d?"NaN":t({trial:j=>String(v)})===String(i);case R:return d?"Infinity":t({trial:j=>String(v)})===String(i);case u:return d?String(i):String(v)===String(i);case T===Boolean:return s?T===s:"Boolean";default:return m(i,s,d,f(i,T))}}function f(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function b(i,...s){let u=s.length<1,d=!u&&s[0],v=!u&&y(s[0]),T=i==null,I=!T&&Object.getPrototypeOf(i)?.constructor,R=t({trial:j=>String(i)})==="NaN",k=t({trial:j=>String(i)})==="Infinity";return{noInput:T,noShouldbe:u,compareTo:d,inputCTOR:I,isNaN:R,isInfinity:k,shouldBeFirstElementIsNothing:v}}function m(i,s,u,d){switch(!0){case(!u&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case t({trial:v=>String(s)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(s,String)):return String(s)===i[Symbol.toStringTag];default:return s?t({trial:v=>i instanceof s})||s===d||s===Object.getPrototypeOf(d)||`${s?.name}`===d?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||d?.name||String(d)}}function S(i,...s){return s.some(u=>n(i,u))}function y(i,s=!1){let u=i==null;return u=s?u||n(i,1/0)||n(i,NaN):u,u}function x(){let i=(s,u)=>s?.constructor===Function?s(u):void 0;return function({trial:s,whenError:u=()=>{}}={}){try{return i(s)}catch(d){return i(u,d)}}}function c(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...s){return n(i,...s)},is(...s){return n(i,...s)}})}}function p(i,{defaultValue:s,isTypes:u=[void 0],notTypes:d}={}){return u=u?.constructor!==Array?[u]:u,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...u)?i:s:g(i,{isTypes:u,notTypes:d})?i:s}function g(i,{isTypes:s=[void 0],notTypes:u=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,u=u?.constructor!==Array?[u]:u,n(i,...s)&&!n(i,...u)}function h(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...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=(u,d,v)=>d===Symbol.proxy?u[d]=v:s(u,d,v),i}function P(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,u){for(let v of u)v.set&&(v=L(v));let d=new s(...u);return d[Symbol.proxy]=`Proxy (${w(u[0])})`,d}})}}}}var F=rt(),z=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}}));function C(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function X(t,e=120){return $(t,e).replace(/</g,"<")}function $(t,e=120){return`${t}`.trim().slice(0,e).replace(/>\s+</g,"><").replace(/</g,"<").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(t.length>e?" …":"").trim()}function M(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function $e(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function rt(){let t=!1,e=[],r={get on(){return t=!0,r},get off(){return t=!1,r},get backLog(){return e}};function n(...l){return e.unshift(...l.map(f=>`${ae()} \u2A3B ${$e(f)}`)),console.error(e.slice(0,l.length).join(`
|
|
2
|
+
`)),r}function o(...l){switch(e.unshift(...l.map(f=>`${ae()} \u2714 ${$e(f)}`)),t){case!0:console.log(e.slice(0,l.length).join(`
|
|
3
|
+
`));default:return r}}return Object.defineProperties(r,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}function ae(){return(t=>`[${Y(t.getHours())}:${Y(t.getMinutes())}:${Y(t.getSeconds())}.${Y(t.getMilliseconds(),3)}]`)(new Date)}function D(t){return a(t,Text,HTMLElement,Comment)}function Y(t,e=2){return`${t}`.padStart(e,"0")}var ce=!1,nt={on:()=>ce=!0,off:()=>ce=!1},J={tagsRaw:W,allowUnknownHtmlTags:nt,isAllowed(t){if(ce)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 ot=!0,K={data:/data-[\-\w.\p{L}]/ui,validURL:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,whiteSpace:/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,notAllowedValues:/^javascript|injected|noreferrer|alert|DataURL/gi};function it(t){if(ot&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${M(n)} => ${o}`],[]).join("\\000A");F.error(`JQx: HTML creation error(s): ${e}`)}}function lt(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)||J.isAllowed(e)}function V(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&V(r),r?.attributes){let o=a(r,SVGElement)?Q.svg:Q.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let f=l.name.trim().toLowerCase(),b=l.value.trim().toLowerCase().replace(K.whiteSpace,""),m=f==="href"?!K.validURL.test(b):K.notAllowedValues.test(b),S=f.startsWith("data")?!K.data.test(f):!!o[f];if(m||S){let y=X(l.value||"none",60);y+=y.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${y}`,r.removeAttribute(l.name)}})}if(!(lt(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),l=X(o,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),it(e),t}function st(t){let e=document.createElement("div");return e.insertAdjacentHTML(z.end,t),e.childNodes.length?V(e):void 0}function at(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function U(t=[],e=document.body,r=z.BeforeEnd){return r=r||z.BeforeEnd,t.reduce((n,o)=>{let l=D(o)&&ct(o,e,r);return l?[...n,l]:n},[])}function ct(t,e=document.body,r=z.BeforeEnd){return r=r||z.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?at(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=st(t);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${$(t,60)}</span>`):n.children[0]}var Ae={html:"innerHTML",text:"textContent",class:"className"},ue=ut();function ut(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case St(n):return De(e,n,r);default:return De(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function De(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?o=>bt(r):xt(e)}}),t[e]}function ft(t,e,r){return e=e?.isJQx&&e.first()||e,Z({trial:n=>ht(e)?t.append(e):Ne(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
|
|
4
|
+
`,n)})}function dt(t,e,...r){let n=mt(e,t);return r?.forEach(o=>ft(n,o,t)),n}function mt(t,e){switch(t=fe(e)?yt(t):t?.isJQx?t.first():t,!0){case a(t,String):return _(e,Ne(t,e)?{html:t}:{text:t});case a(t,Node):return pt(e,t);default:return _(e,t)}}function gt(t){return delete t.data,Object.keys(t).length<1||Object.keys(t).forEach(e=>{let r=e.toLowerCase();r in Ae&&(t[Ae[r]]=t[e],delete t[e])}),t}function pt(t,e){let r=_(t);return r.append(e),r}function _(t,e={}){e=He(e,{});let r=Object.entries(e.data??{}),n=Object.assign(fe(t)?new Comment(e?.text):document.createElement(t),gt(e));return r.length&&r.forEach(([o,l])=>n.dataset[o]=String(l)),n}function He(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 yt(t){return He(t)?t?.text??t?.textContent??"":String(t)}function bt(t){return _("b",{style:"color:red",text:`'${t}' is not a valid HTML-tag`})}function Ne(t,e){return!fe(e)&&a(t,String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function ht(t){return t?.constructor===Comment||t?.constructor===CharacterData}function fe(t){return t?.constructor===Comment||/comment/i.test(t)}function St(t){return!a(_(t),HTMLUnknownElement)}function xt(t){return(e,...r)=>dt(t,e,...r)}var{IS:q,maybe:Fr,$Wrap:Cr,xProxy:Tr,isNothing:$r}=vt();function vt(){Symbol.proxy=Symbol.for("toa.proxy"),Symbol.is=Symbol.for("toa.is"),Symbol.type=Symbol.for("toa.type"),Symbol.isSymbol=Symbol.for("toa.isASymbol"),h();let t=x(),[e,r]=[c(),P()];return r.custom(),{IS:n,maybe:t,$Wrap:e,isNothing:y,xProxy:r};function n(i,...s){if(t({trial:d=>"isTypes"in(s?.[0]??{})})){let d=s[0];return"defaultValue"in d?p(i,d):"notTypes"in d?g(i,d):n(i,...[d.isTypes].flat())}let u=typeof i=="symbol"?Symbol.isSymbol:i;return s.length>1?S(u,...s):l(i,...s)}function o(i){return i?.[Symbol.proxy]??n(i)}function l(i,...s){let{noInput:u,noShouldbe:d,compareTo:v,inputCTOR:T,isNaN:I,isInfinity:R,shouldBeFirstElementIsNothing:k}=b(i,...s);switch(s=s.length&&s[0],!0){case k:return String(i)===String(v);case(i?.[Symbol.proxy]&&d):return i[Symbol.proxy];case I:return d?"NaN":t({trial:j=>String(v)})===String(i);case R:return d?"Infinity":t({trial:j=>String(v)})===String(i);case u:return d?String(i):String(v)===String(i);case T===Boolean:return s?T===s:"Boolean";default:return m(i,s,d,f(i,T))}}function f(i,s){return i===0?Number:i===""?String:i?s:{name:String(i)}}function b(i,...s){let u=s.length<1,d=!u&&s[0],v=!u&&y(s[0]),T=i==null,I=!T&&Object.getPrototypeOf(i)?.constructor,R=t({trial:j=>String(i)})==="NaN",k=t({trial:j=>String(i)})==="Infinity";return{noInput:T,noShouldbe:u,compareTo:d,inputCTOR:I,isNaN:R,isInfinity:k,shouldBeFirstElementIsNothing:v}}function m(i,s,u,d){switch(!0){case(!u&&s===i||i?.[Symbol.proxy]&&s===Proxy):return!0;case t({trial:v=>String(s)})==="NaN":return String(i)==="NaN";case(i?.[Symbol.toStringTag]&&n(s,String)):return String(s)===i[Symbol.toStringTag];default:return s?t({trial:v=>i instanceof s})||s===d||s===Object.getPrototypeOf(d)||`${s?.name}`===d?.name:i?.[Symbol.toStringTag]&&`[object ${i?.[Symbol.toStringTag]}]`||d?.name||String(d)}}function S(i,...s){return s.some(u=>n(i,u))}function y(i,s=!1){let u=i==null;return u=s?u||n(i,1/0)||n(i,NaN):u,u}function x(){let i=(s,u)=>s?.constructor===Function?s(u):void 0;return function({trial:s,whenError:u=()=>{}}={}){try{return i(s)}catch(d){return i(u,d)}}}function c(){return function(i){return Object.freeze({get value(){return i},get[Symbol.type](){return o(i)},get type(){return o(i)},[Symbol.is](...s){return n(i,...s)},is(...s){return n(i,...s)}})}}function p(i,{defaultValue:s,isTypes:u=[void 0],notTypes:d}={}){return u=u?.constructor!==Array?[u]:u,d=d&&d?.constructor!==Array?[d]:[],d.length<1?n(i,...u)?i:s:g(i,{isTypes:u,notTypes:d})?i:s}function g(i,{isTypes:s=[void 0],notTypes:u=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,u=u?.constructor!==Array?[u]:u,n(i,...s)&&!n(i,...u)}function h(){Object.getOwnPropertyDescriptors(Object.prototype)[Symbol.is]||(Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return o(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...i){return n(this,...i)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(i){return o(i)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(i,...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=(u,d,v)=>d===Symbol.proxy?u[d]=v:s(u,d,v),i}function P(){let i=Proxy;return{native(){Proxy=i},custom(){Proxy=new i(i,{construct(s,u){for(let v of u)v.set&&(v=L(v));let d=new s(...u);return d[Symbol.proxy]=`Proxy (${w(u[0])})`,d}})}}}}var ee=Et;function Et({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:o,sheet:l,removeRules:f,consider:b,currentSheetID:m}=wt({styleSheet:t,createWithId:e});function S(g,h){if(g&&h.removeProperties){Object.keys(h.removeProperties).forEach(w=>g.style.removeProperty(Pe(w)));return}Object.entries(h).forEach(([w,L])=>{w=Pe(w.trim()),L=L.trim();let P;if(/!important/.test(L)&&(L=L.slice(0,L.indexOf("!important")).trim(),P="important"),!CSS.supports(w,L))return console.error(`StylingFactory ${m} error: '${w}' with value '${L}' not supported (yet)`);Me(()=>g.style.setProperty(w,L,P),`StylingFactory ${m} (setRule4Selector) failed`)})}function y(g,h,w=l){if(g=g?.trim?.(),!q(g,String)||!g.length||/[;,]$/g.test(g))return console.error(`StylingFactory ${m} (setRules): [${g||"[no selector given]"}] is not a valid selector`);if(h.removeRule)return f(g);let L=n(g,!0),P=L||w.cssRules[w.insertRule(`${g} {}`,w.cssRules.length||0)];return b(()=>S(P,h),g,L)}function x(g){let h=g.trim().split(/{/,2),w=h.shift().trim();if(!q(w,String)||!w?.trim()?.length)return console.error(`StylingFactory ${m} (doParse): no (valid) selector could be extracted from rule ${de(g)}`);let L=Dt(h.shift());return Me(()=>y(w,L),`StylingFactory ${m} (setRules) failed`)}function c(g){let h=r(g);return h.done?h.existing:x(g)}function p(g,h){return g.trim().startsWith("@media")?c(Lt(g,h)):y(g,h)}return function(g,h={}){return o(g,h)&&(Object.keys(h).length?p(g,h):c(g))}}function wt({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(c){let p=document.querySelector(`#${c}`)?.sheet;if(p)return p;let g=Object.assign(document.createElement("style"),{id:c});return document.head.insertAdjacentElement("beforeend",g),g.sheet}function l(c){return console.error(`StylingFactory ${n} [rule: ${c}]
|
|
5
|
+
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(c,p){return[...t.rules].find(g=>p?Oe(g.selectorText||"",c):Tt`${Ct(c)}${[..."gim"]}`.test(g.cssText))}function b(c){return/^@charset|@import|namespace/i.test(c.trim())?l(c):c.match(/}/g)?.length>1?{existing:y(c,1),done:!0}:{done:!1}}function m(c){let p=[...t.cssRules].reduce((h,w,L)=>Oe(w.selectorText||"",c)&&h.concat(L)||h,[]),g=p.length;return p.forEach(h=>t.deleteRule(h)),g>0?console.info(`\u2714 Removed ${g} instance${g>1?"s":""} of selector ${c} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${c} does not exist in ${n.slice(4)}`)}function S(c,p){return c&&q(c,String)&&c.trim().length>0&&q(p,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function y(c){c=c.trim();let p=c.slice(0,c.indexOf("{")).trim(),g=!!f(p);try{return t.insertRule(`${c}`,t.cssRules.length),g}catch(h){return console.error(`StylingFactory ${n} (tryParse) ${h.name} Error:
|
|
6
|
+
${h.message}
|
|
7
|
+
Rule: ${de(c)}
|
|
8
|
+
${r}`),g}}function x(c,p,g){try{return c(),g}catch(h){return console.error(`StylingFactory ${n} (tryAddOrModify) ${h.name} Error:
|
|
9
|
+
${h.message}
|
|
10
|
+
Rule: ${de(p)}
|
|
11
|
+
${r}`),g}}return{sheet:t,removeRules:m,tryParseAtOrNestedRules:b,ruleExists:f,checkParams:S,tryParse:y,consider:x,currentSheetID:n}}function Lt(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${Ft(n)}`)}`}function de(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 Ft(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
|
|
12
|
+
`)}function Ct(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function Tt(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(`
|
|
13
|
+
`).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function Pe(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function Me(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function $t(t){return t.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,r)=>`${r}\\3b`).split(";").map(e=>e.trim()).join(`;
|
|
12
14
|
`).replaceAll("\\3b",";").split(`
|
|
13
|
-
`)}function xt(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 vt(t){return xt(St(t))}function Ne(t,e){return t?.replace("::",":")===e?.replace("::",":")}var Et=[...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}`)),F=Dt(),Oe=Object.freeze({get(t,e){return t[X(e)]||t[e]},enumerable:!1,configurable:!1}),T=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}}));function Y(t,e=2){return`${t}`.padStart(e,"0")}function wt(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 C(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function Ie(t){return t=a(t,String)&&/,/.test(t)?t.split(","):t,a(t,Array)?t.filter(e=>C(e)).map(e=>e.trim().toLowerCase()):a(t,String)&&t?.trim().toLowerCase()||""}function E(t,e){let r=t.collection.filter(n=>!ue(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Lt(t){let e=t.length;for(;e--;){let r=wt(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,"<").replace(/\s{2,}/g," ").replace(/\n/g,"\\n")+(t.length>e?" …":"").trim()}function D(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Ft([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function X(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Ft(e)}`||e).join(""):t}function K(){return`_${Lt(Et).slice(0,8).join("")}`}function ce(t,e=120){return A(t,e).replace(/</g,"<")}function Me(){return(t=>`[${Y(t.getHours())}:${Y(t.getMinutes())}:${Y(t.getSeconds())}.${Y(t.getMilliseconds(),3)}]`)(new Date)}function j(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function ue(t){return a(t,Comment,Text)}function P(t){return a(t,Text,HTMLElement,Comment)}function Re(t){a(t,Comment)}function Tt(t){return a(t,Text)}function q(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function ee(t){return a(t,Array)&&!t?.find(e=>!P(e))}function fe(t){return a(t,Array)&&!t?.find(e=>!q(e))}function de(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(Re(r)?`<!--${r.data}-->`:ue(r)?r.textContent:r.outerHTML),"")}function me(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:P(t)?[t]:ee(t)?t:t.isJQx?t.collection:void 0:[]}function ge(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 pe(t){let e=t.data.get("hid")||`HID${K()}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function ke(){return{isCommentOrTextNode:ue,isNode:P,isComment:Re,isText:Tt,isHtmlString:q,isArrayOfHtmlElements:ee,isArrayOfHtmlStrings:fe,ElemArray2HtmlString:de,input2Collection:me,setCollectionFromCssSelector:ge,addHandlerId:pe,cssRuleEdit:Z({createWithId:"JQxStylesheet"})}}function Ct(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 $t(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function At(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function je(){let e=Object.freeze({notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return a(n,Node)?Object.freeze({get writable(){return $t(n)},get modal(){return At(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return Ct(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function Pe(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function Dt(){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=>`${Me()} \u2A3B ${Pe(u)}`)),console.error(e.slice(0,l.length).join(`
|
|
14
|
-
`)),r}function o(...l){switch(e.unshift(...l.map(u=>`${Me()} \u2714 ${Pe(u)}`)),t){case!0:console.log(e.slice(0,l.length).join(`
|
|
15
|
-
`));default:return r}}return Object.defineProperties(r,{log:{value:o,enumerable:!1},error:{value:n,enumerable:!1}}),Object.freeze(r)}function J(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function ye(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${D(r)}`,n)}function be(t,e){return t.andThen(e,!0)}function he(t,e){return t.andThen(e)}function te(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?te(t,e,r):e}function Se(t){return t&&(t.textContent="")}function xe(t){return t.startsWith("data")||Q.html.find(e=>t.toLowerCase()===e)}function Je(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-${K().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}function Be(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=D(r),r.startsWith("data"))return ye(t,n);a(n,String)&&xe(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function re(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)}}var ve=!1,Ht={on:()=>ve=!0,off:()=>ve=!1},B={tagsRaw:z,allowUnknownHtmlTags:Ht,isAllowed(t){if(ve)return!0;let e=a(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!z[e]},allowTag:t=>z[t.toLowerCase()]=!0,prohibitTag:t=>z[t.toLowerCase()]=!1};var Nt=!0,ne={data:/data-[\-\w.\p{L}]/ui,validURL:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,whiteSpace:/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,notAllowedValues:/^javascript|injected|noreferrer|alert|DataURL/gi};function Mt(t){if(Nt&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${j(n)} => ${o}`],[]).join("\\000A");F.error(`JQx: HTML creation error(s): ${e}`)}}function Pt(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 V(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&V(r),r?.attributes){let o=a(r,SVGElement)?Q.svg:Q.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let u=l.name.trim().toLowerCase(),h=l.value.trim().toLowerCase().replace(ne.whiteSpace,""),p=u==="href"?!ne.validURL.test(h):ne.notAllowedValues.test(h),y=u.startsWith("data")?!ne.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(!(Pt(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()}}),Mt(e),t}function Ot(t){let e=document.createElement("div");return e.insertAdjacentHTML(T.end,t),e.childNodes.length?V(e):void 0}function It(t,e,r){return a(t,Comment)?e.insertAdjacentHTML(r,`<!--${t.data}-->`):e.insertAdjacentText(r,t.data)}function U(t=[],e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,t.reduce((n,o)=>{let l=P(o)&&Rt(o,e,r);return l?[...n,l]:n},[])}function Rt(t,e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?It(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=Ot(t);return n.childNodes.length<1?H(`<span data-jqxcreationerror="1">${A(t,60)}</span>`):n.children[0]}var kt=je();function jt(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Oe)},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=te(r,0),n.scrollLeftDistance=te(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=>kt(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 Jt(t){return{addClass:(e,...r)=>E(e,n=>n&&r.forEach(o=>n.classList.add(o))),after:he,afterMe:he,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return F.log(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${r}]`),e;r=r?.isJQx?r.collection:a(r,Node)?t.virtual(r).collection:t.virtual(H(r)).collection;let[o,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&&C(o)){let l=o.trim(),h=!/^<(.+)[^>]+>$/m.test(l)?t.text(o):H(o);E(e,p=>p.append(n?h:J(h)))}P(o)&&E(e,l=>l.append(n?o:J(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(u=>l.append(n?u:J(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&&C(r))return r=D(r),r==="class"?[...o?.classList].join(" "):o?.getAttribute(r);if(C(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&&Be(o,r),e},before:be,beforeMe:be,clear:e=>E(e,Se),closest:(e,r)=>{let n=C(r)?e[0].closest(r):null;return n?t(n):e},computedStyle:(e,r)=>e.first()&&getComputedStyle(e.first())[r],css:(e,r,n)=>E(e,o=>Je(o,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{if(e.collection.length>0){let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(l=>{l.removeAttribute&&l?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}return F.error("Duplicating an empty JQx instance is not possible"),e},each:(e,r)=>E(e,r),empty:e=>E(e,Se),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=>re(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||!C(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=pe(e);t.handle({type:r,selector:o,handlers:n})}return e},prepend:(e,...r)=>{if(!e.is.empty&&r){let n=e.length===1;for(let o of r){if(C(o)){o=o.trim();let u=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):H(o);u=n?u:J(u),E(e,h=>h.prepend(u.cloneNode(!0)))}P(o)&&E(e,l=>l.prepend(n?o:J(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,u=>l.prepend(n?u:J(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&&!xe(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)=>{F.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=>ye(n,r)),show:e=>E(e,r=>re(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"}),re(l,r)}),text:(e,r,n=!1)=>e.isEmpty()?e:a(r,String)?E(e,l=>l.textContent=n?l.textContent+r:r):e.first().textContent,toDOM:(e,r=document.body,n=T.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),U(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 Qe(t){return{factoryExtensions:jt(t),instanceExtensions:Jt(t)}}function ze(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(...Fe);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(d){if(r.open)return;n={...d};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:d,modal:g,closeAfter:m}=n;g=t.IS(g,Boolean)?g:!1;let S=g?"":t.div({id:"closeHandleIcon"});e.append(S,t.IS(d,String)?t.div(d):d),r.showModal(),!g&&t.IS(m,Number)&&b(l,m)}function h(){if(r.close(n.returnValue),t.IS(n.callback,Function))return n.callback(n.returnValue);n={}}function p({callback:d,value:g}={}){n.returnValue=g,n.modal=!1,n.callback=d||n.callback,l()}function y(d){if(!(Object.keys(n).length<1||!r.open))return d.key==="Escape"&&d.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(d.target.closest("#closeHandleIcon")||!d.target.closest("#jqxPopupContent"))&&l(),!0}function b(d,g){t.IS(d,Function)&&t.IS(g,Number)&&g>0&&(n.activeTimer=setTimeout(d,g*1e3))}function x(d){if(!t.IS(d,String,HTMLElement,Proxy))return;let g=e.find$(".warn");switch(!0){case g.is.empty:g=t.div({class:"warn"},d);default:e.append(g.addClass("active")),b(()=>e.find$(".warn").removeClass("active"),2)}}}var N={},Bt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],We=t=>!!Bt.find(e=>e===t);function Ve(t){return function(o){let{eventType:l,selector:u,callback:h,name:p,capture:y,once:b,canRemove:x}=o;switch(!0){case(!C(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=C(p,4)&&t.IS(x,Boolean)?x:b;let{handler:d,signal:g,remove:m}=e({selector:u,callback:h,canRemove:x,once:b,name:p,eventType:l});return n({eventType:l,handler:d,capture:y,once:b,signal:g,remove:m,name:p})}};function e(o){let{selector:l,callback:u,canRemove:h,name:p,eventType:y,once:b}=o,x=(h||b)&&new AbortController,d=r({once:b,abortcontroller:x,name:p,eventType:y}),g=l?{handler:m=>{let S=m.target?.closest?.(l);return S&&u(m,t(S),d)},remove:d}:{handler:m=>u(m,m.target,d),remove:d};return x&&(g.signal=x.signal,b)?{handler:(m,S)=>{g.handler(m,S),d()}}: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,d])=>d.name===h);N[p].delete(b[0]),t.logger.log(`JQx: Listener for event type [${p}] with name [${h}] was removed${l?" (once active, so handled once).":""}`)}:function(y){t.logger.error(`JQx: listener for event type [${p}] with name [${h}] is not marked as removable`)}:function(){t.logger.error("JQx: an anonymous listener can not be removed")}}function n(o){let{eventType:l,handler: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 m={name:x,remove:b,capture:h||We(l)};N[l].set(u,m)}}}var Ee,oe,{isComment:Vr,isText:Ur,isHtmlString:_r,isArrayOfHtmlElements:Gr,isArrayOfHtmlStrings:Zr,ElemArray2HtmlString:Yr,addHandlerId:Xr,cssRuleEdit:we,addFn:Qt}=zt();function zt(){return{...ke(),addFn(t,e){return F.log(`JQx: added extension function [${t}]`),oe[t]=(r,...n)=>e(r,...n)}}}function _(t){return new Proxy(t,Object.freeze({get:(e,r)=>Wt(e,r,t)}))}function Ue(t,e){return(...r)=>a(t,Function)&&t(_(e),...r)}function Wt(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in Ee:return Ue(Ee[e],r)();case e in oe:return Ue(oe[e],r);default:return t[e]}}function Ze(t){let e=Zt(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function Vt(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?X(e):e.toLowerCase(),B.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Le(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),B.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,Le(e,!1,t))}}}function _e(...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))we(e,{removeRule:1})}function Ut(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(l=>n===l);let o=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let l of o.collection)n?r.insertAdjacentElement(n,l):r.append(l);return o}}function _t(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,l]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...l,enumerable:!1})}return e}function Gt(t,e,r,n){return t=D(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(V(ie[t](...o)))},enumerable:!1,configurable:!0}}function Le(t,e,r,n){t=t.toLowerCase();let o=Gt(t,e,r,n);return n?{[n]:o,[X(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function Zt(t){return _t(Object.entries(B.tagsRaw).reduce(Yt(t),{}),rr(t))}function Yt(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Le(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=Ie(r),x=u;l=a(l,Function)?[l]:l,y=a(y,Boolean)?y:!1;let d={eventType:b,selector:o||n,capture:h,name:x,once:p,canRemove:y};switch(!0){case(a(b,Array)&&b.length>0):for(let g of b)d.eventType=g,Ge(l,d,t);break;default:return Ge(l,d,t)}}}function Ge(t,e,r){for(let n of t)r({...e,callback:n})}function qt(t,e){return e=C(e)&&e,t=C(t)&&t,e&&t&&[...N[t].values()].find(r=>(r.name||"")===e)}function er(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:ze(t),enumerable:!1}),t.activePopup}function tr(t){let e=(p,y)=>we(p,y),r=p=>Z({createWithId:p||`jqx${K()}`}),n=(...p)=>{for(let y of p)we(y)},o=Vt(t),l=Ve(t),u=Kt(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:u,log:(...p)=>F.on.log(...p).off}}function rr(t){let{factoryExtensions:e,instanceExtensions:r}=Qe(t);Ee=e,oe=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:F,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 _e},get removeCssRules(){return _e},get delegate(){return Xt(p)},get delegateCaptured(){return p},get handle(){return p},get at(){return T},get setStyle(){return n},get fn(){return Qt},get lenient(){return B.allowUnknownHtmlTags},get IS(){return a},get Popup(){return er(t)}}}var rn=Ze(nr());function nr(){return function(r,n,o=T.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(T).find(g=>o===g)?o:void 0;let u=q(r),h=!u&&fe(r),p=h||u,y={collection:me(r)??[],isVirtual:l,isJQx:!0},b=ee(y.collection),x=`JQx: input => ${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 F.log(x),l||y.collection.forEach(g=>{n.contains(g)||U([g],n,o)}),_(y);if(p){if([r].flat().forEach(g=>y.collection.push(H(g))),y.collection.length>0){let g=y.collection.filter(m=>m?.dataset?.jqxcreationerror);y.collection=y.collection.filter(m=>!m?.dataset?.jqxcreationerror),F.log(`${x}`),F.log(`JQx: created ${y.isVirtual?"VIRTUAL ":""}[${A(de(y.collection).trim()||"sanitized: no elements remaining",70)}]`),y.isVirtual||U(y.collection,n,o)}return _(y)}let d=ge(r,n,y);return F.log(`JQx: input => ${d}`),_(y)}}export{rn as default};
|
|
15
|
+
`)}function At(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 Dt(t){return At($t(t))}function Oe(t,e){return t?.replace("::",":")===e?.replace("::",":")}var Ht=[...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}`)),Ie=Object.freeze({get(t,e){return t[te(e)]||t[e]},enumerable:!1,configurable:!1}),O=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}}));function Nt(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 Re(t){return t=a(t,String)&&/,/.test(t)?t.split(","):t,a(t,Array)?t.filter(e=>C(e)).map(e=>e.trim().toLowerCase()):a(t,String)&&t?.trim().toLowerCase()||""}function E(t,e){let r=t.collection.filter(n=>!me(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Pt(t){let e=t.length;for(;e--;){let r=Nt(e);[t[e],t[r]]=[t[r],t[e]]}return t}function A(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Mt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function te(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Mt(e)}`||e).join(""):t}function re(){return`_${Pt(Ht).slice(0,8).join("")}`}function me(t){return a(t,Comment,Text)}function ke(t){a(t,Comment)}function Ot(t){return a(t,Text)}function ne(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function oe(t){return a(t,Array)&&!t?.find(e=>!D(e))}function ge(t){return a(t,Array)&&!t?.find(e=>!ne(e))}function pe(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(ke(r)?`<!--${r.data}-->`:me(r)?r.textContent:r.outerHTML),"")}function ye(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:D(t)?[t]:oe(t)?t:t.isJQx?t.collection:void 0:[]}function be(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 he(t){let e=t.data.get("hid")||`HID${re()}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function je(){return{isCommentOrTextNode:me,isNode:D,isComment:ke,isText:Ot,isHtmlString:ne,isArrayOfHtmlElements:oe,isArrayOfHtmlStrings:ge,ElemArray2HtmlString:pe,input2Collection:ye,setCollectionFromCssSelector:be,addHandlerId:he,cssRuleEdit:ee({createWithId:"JQxStylesheet"})}}function It(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),o=[e.display,r.display].includes("none"),l=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,f=+r.opacity==0||+(e.opacity||1)==0;return!(l||f||o||n)}function Rt(t){return[...t.parentNode.querySelectorAll(":is(:read-write)")].find(e=>e===t)??!1}function kt(t){return[...t.parentNode.querySelectorAll(":is(:modal)")].find(e=>e===t)??!1}function Je(){let e=Object.freeze({notInDOM:!0,writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return a(n,Node)?Object.freeze({get writable(){return Rt(n)},get modal(){return kt(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return It(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function B(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function Se(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${A(r)}`,n)}function xe(t,e){return t.andThen(e,!0)}function ve(t,e){return t.andThen(e)}function ie(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?ie(t,e,r):e}function Ee(t){return t&&(t.textContent="")}function we(t){return t.startsWith("data")||Q.html.find(e=>t.toLowerCase()===e)}function Be(t,e,r,n){r&&a(e,String)&&(e={[e]:r==="-"?"":r});let o;e.className&&(o=e.className,delete e.className),o=[...t.classList].find(f=>f.startsWith("JQxClass-")||o&&f===o)||o||`JQxClass-${re().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}function Qe(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=A(r),r.startsWith("data"))return Se(t,n);a(n,String)&&we(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function le(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(A(r),n,o)}}var jt=Je();function Jt(t){return{data:e=>({get all(){return new Proxy(e[0]?.dataset??{},Ie)},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-${A(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=ie(r,0),n.scrollLeftDistance=ie(r,0,!1),n},node:e=>e[0],HTML:e=>({get:(r,n)=>{if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let o=r?e.outerHtml:e.html();return n?M(o):o},set:(r,n=!1,o=!1)=>{r=r.isJQx?r.HTML.get(1):r;let l=a(r,String);return r=l&&o?M(r):r,l&&(r||"").trim().length&&e.html(r,n),e},replace:(r,n=!1)=>e.HTML.set(r,!1,n),append:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)),insert:(r,n=!1)=>(r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n))}),is:e=>jt(e),length:e=>e.collection.length,outerHtml:e=>(e.first()||{outerHTML:void 0}).outerHTML,parent:e=>{let r=t(e[0]?.parentNode);return r.is.empty?e:r},render:e=>(!e.is.empty&&e.toDOM()||t.log("[JQx.render]: empty collection"),e),Style:e=>({get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline:r=>e.style(r),inSheet:r=>e.css(r),valueOf:r=>e.is.empty?void 0:getComputedStyle(e[0])[A(r)],nwRule:r=>e.Style.byRule({rules:r}),byRule:({classes2Apply:r=[],rules:n=[]}={})=>{let l=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let f of r)e.addClass(f);return l?.startsWith(".")&&e.addClass(l.slice(1)),l?.startsWith("#")&&!e.attr("id")&&e.prop({id:l.slice(1)}),e}})}}function Bt(t){return{addClass:(e,...r)=>E(e,n=>n&&r.forEach(o=>n.classList.add(o))),after:ve,afterMe:ve,andThen:(e,r,n=!1)=>{if(!r||!a(r,String,Node,Proxy))return F.log(`[JQx instance].[beforeMe | afterMe | andThen]: insufficient input [${r}]`),e;r=r?.isJQx?r.collection:a(r,Node)?t.virtual(r).collection:t.virtual(H(r)).collection;let[o,l,f]=n?[0,"before",r.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r)];return e[o][l](...r),e.collection=f,e},append:(e,...r)=>{if(!e.is.empty&&r.length){let n=e.length===1;for(let o of r){if(!o.isJQx&&C(o)){let l=o.trim(),b=!/^<(.+)[^>]+>$/m.test(l)?t.text(o):H(o);E(e,m=>m.append(n?b:B(b)))}D(o)&&E(e,l=>l.append(n?o:B(o))),o.isJQx&&!o.is.empty&&E(e,l=>o.collection.forEach(f=>l.append(n?f:B(f))))}}return e},appendTo:(e,r)=>(r.isJQx||(r=t(r)),r.append(e),e),attr:(e,r,n)=>{let o=e[0];if(!o)return e;if(!n&&C(r))return r=A(r),r==="class"?[...o?.classList].join(" "):o?.getAttribute(r);if(C(r)&&n)switch(r=A(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&Qe(o,r),e},before:xe,beforeMe:xe,clear:e=>E(e,Ee),closest:(e,r)=>{let n=C(r)?e[0].closest(r):null;return n?t(n):e},computedStyle:(e,r)=>e.first()&&getComputedStyle(e.first())[r],css:(e,r,n)=>E(e,o=>Be(o,r,n,t)),duplicate:(e,r=!1,n=document.body)=>{if(e.collection.length>0){let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(l=>{l.removeAttribute&&l?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}return F.error("Duplicating an empty JQx instance is not possible"),e},each:(e,r)=>E(e,r),empty:e=>E(e,Ee),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=>le(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,f=>(n||(f.textContent=""),f.insertAdjacentHTML(t.at.end,o.getHTML())))}return e},htmlFor:(e,r,n="",o=!1)=>{if(r&&e.collection.length){if(!r||!C(n))return e;let l=e.find$(r);if(l.length<1)return e;let f=H(`<span>${n}</span>`);l.each(b=>{o||(b.textContent=""),b.insertAdjacentHTML(t.at.end,f?.getHTML())})}return e},isEmpty:e=>e.collection.length<1,nth$:(e,r)=>e.single(r),on:(e,r,...n)=>{if(e.collection.length&&a(r,String,Array)){if(r?.length<1||n.length<1)return e;let o=he(e);t.handle({type:r,selector:o,handlers:n})}return e},prepend:(e,...r)=>{if(!e.is.empty&&r){let n=e.length===1;for(let o of r){if(C(o)){o=o.trim();let f=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):H(o);f=n?f:B(f),E(e,b=>b.prepend(f.cloneNode(!0)))}D(o)&&E(e,l=>l.prepend(n?o:B(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,l=>E(o,f=>l.prepend(n?f:B(f)))),o.collection.reverse())}}return e},prependTo:(e,r)=>(r.isJQx||(r=t.virtual(r)),r.prepend(e),e),prop:(e,r,n)=>{if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let o=a(r,Object)?r:{[r]:n};for(let[l,f]of Object.entries(o)){if(l=l.trim(),f&&!we(l)||!f)return!1;if(l.toLowerCase()==="id")return e[0].id=f;E(e,m=>{if(l.startsWith("data"))return m.dataset[l.slice(l.indexOf("-")+1)]=f;m[l]=f})}return e},remove:(e,r)=>{F.log(`remove ${$(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=>Se(n,r)),show:e=>E(e,r=>le(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"}),le(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=O.BeforeEnd)=>(e.isVirtual&&(e.isVirtual=!1),U(e.collection,r,n),e),toggleClass:(e,r)=>E(e,n=>n.classList.toggle(r)),toNodeList:e=>[...e.collection].map(r=>document.importNode(r,!0)),trigger:(e,r,n=Event,o={})=>{if(e.collection.length){let l=new n(r,{...o,bubbles:o.bubbles??!0});for(let f of e.collection)f.dispatchEvent(l)}return e},val:(e,r)=>{let n=e[0];return!n||!a(n,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)?e:r===void 0?n.value:(n.value=a(r,String)?r:"",e)}}}function ze(t){return{factoryExtensions:Jt(t),instanceExtensions:Bt(t)}}function We(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(...Te);let[e,r]=[t("#jqxPopupContent"),t.node("#jqxPopup")],n={};return t.handle({type:"click, keydown",handlers:S,capture:!0}),Object.freeze({show:o,removeModal:m});function o(c){if(r.open)return;n={...c};let{content:p}=n;return t.IS(p,String,HTMLElement)||p?.isJQx?f():!0}function l(){return n.modal?x(n.warnMessage):b()}function f(){e.clear();let{content:c,modal:p,closeAfter:g}=n;p=t.IS(p,Boolean)?p:!1;let h=p?"":t.div({id:"closeHandleIcon"});e.append(h,t.IS(c,String)?t.div(c):c),r.showModal(),!p&&t.IS(g,Number)&&y(l,g)}function b(){if(r.close(n.returnValue),t.IS(n.callback,Function))return n.callback(n.returnValue);n={}}function m({callback:c,value:p}={}){n.returnValue=p,n.modal=!1,n.callback=c||n.callback,l()}function S(c){if(!(Object.keys(n).length<1||!r.open))return c.key==="Escape"&&c.preventDefault(),n.activeTimer&&clearTimeout(n.activeTimer),(c.target.closest("#closeHandleIcon")||!c.target.closest("#jqxPopupContent"))&&l(),!0}function y(c,p){t.IS(c,Function)&&t.IS(p,Number)&&p>0&&(n.activeTimer=setTimeout(c,p*1e3))}function x(c){if(!t.IS(c,String,HTMLElement,Proxy))return;let p=e.find$(".warn");switch(!0){case p.is.empty:p=t.div({class:"warn"},c);default:e.append(p.addClass("active")),y(()=>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"],Ve=t=>!!Qt.find(e=>e===t);function Ue(t){return function(o){let{eventType:l,selector:f,callback:b,name:m,capture:S,once:y,canRemove:x}=o;switch(!0){case(!C(l)||!t.IS(b,Function)):default:m=m||!/handlers$/.test(b.name)&&b.name||void 0,S=t.IS(S,Boolean)?S:!1,y=t.IS(y,Boolean)?y:!1,x=C(m,4)&&t.IS(x,Boolean)?x:y;let{handler:c,signal:p,remove:g}=e({selector:f,callback:b,canRemove:x,once:y,name:m,eventType:l});return n({eventType:l,handler:c,capture:S,once:y,signal:p,remove:g,name:m})}};function e(o){let{selector:l,callback:f,canRemove:b,name:m,eventType:S,once:y}=o,x=(b||y)&&new AbortController,c=r({once:y,abortcontroller:x,name:m,eventType:S}),p=l?{handler:g=>{let h=g.target?.closest?.(l);return h&&f(g,t(h),c)},remove:c}:{handler:g=>f(g,g.target,c),remove:c};return x&&(p.signal=x.signal,y)?{handler:(g,h)=>{p.handler(g,h),c()}}:p}function r(o){let{once:l,abortcontroller:f,name:b,eventType:m}=o;return b?f?function(){f.abort();let y=[...N[m].entries()].find(([x,c])=>c.name===b);N[m].delete(y[0]),t.logger.log(`JQx: Listener for event type [${m}] with name [${b}] was removed${l?" (once active, so handled once).":""}`)}:function(S){t.logger.error(`JQx: listener for event type [${m}] with name [${b}] is not marked as removable`)}:function(){t.logger.error("JQx: an anonymous listener can not be removed")}}function n(o){let{eventType:l,handler:f,capture:b,once:m,signal:S,remove:y,name:x}=o;if(N[l]||(N[l]=new Map),!(N[l].has(f)||[...N[l].values()].find(p=>(p.name||"")===x))){let p={capture:b||Ve(l),once:m||!1};S&&(p.signal=S),document.addEventListener(l,f,p);let g={name:x,remove:y,capture:b||Ve(l)};N[l].set(f,g)}}}var Le,se,{isComment:Gr,isText:Zr,isHtmlString:Yr,isArrayOfHtmlElements:Xr,isArrayOfHtmlStrings:Kr,ElemArray2HtmlString:qr,addHandlerId:en,cssRuleEdit:Fe,addFn:zt}=Wt();function Wt(){return{...je(),addFn:function(t,e){return F.log(`JQx: added extension function [${t}]`),se[t]=(r,...n)=>e(r,...n)}}}function G(t){return new Proxy(t,Object.freeze({get:(e,r)=>Vt(e,r,t)}))}function _e(t,e){return(...r)=>a(t,Function)&&t(G(e),...r)}function Vt(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in Le:return _e(Le[e],r)();case e in se:return _e(se[e],r);default:return t[e]}}function Ye(t){let e=Yt(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function Ut(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?te(e):e.toLowerCase(),J.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Ce(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),J.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,Ce(e,!1,t))}}}function Ge(...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))Fe(e,{removeRule:1})}function _t(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(O).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 Gt(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,l]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...l,enumerable:!1})}return e}function Zt(t,e,r,n){return t=A(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(V(ue[t](...o)))},enumerable:!1,configurable:!0}}function Ce(t,e,r,n){t=t.toLowerCase();let o=Zt(t,e,r,n);return n?{[n]:o,[te(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function Yt(t){return Gt(Object.entries(J.tagsRaw).reduce(Xt(t),{}),nr(t))}function Xt(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Ce(r,n,t)),e}}function Kt(t){return function(e,r,...n){a(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function qt(t){return function(e){let{type:r,origin:n,selector:o,handlers:l,name:f,capture:b,once:m,canRemove:S}=e,y=Re(r),x=f;l=a(l,Function)?[l]:l,S=a(S,Boolean)?S:!1;let c={eventType:y,selector:o||n,capture:b,name:x,once:m,canRemove:S};switch(!0){case(a(y,Array)&&y.length>0):for(let p of y)c.eventType=p,Ze(l,c,t);break;default:return Ze(l,c,t)}}}function Ze(t,e,r){for(let n of t)r({...e,callback:n})}function er(t,e){return e=C(e)&&e,t=C(t)&&t,e&&t&&[...N[t].values()].find(r=>(r.name||"")===e)}function tr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:We(t),enumerable:!1}),t.activePopup}function rr(t){let e=(m,S)=>Fe(m,S),r=m=>ee({createWithId:m||`jqx${re()}`}),n=(...m)=>{for(let S of m)Fe(S)},o=Ut(t),l=Ue(t),f=qt(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:l,capturedHandling:f,log:(...m)=>F.on.log(...m).off}}function nr(t){let{factoryExtensions:e,instanceExtensions:r}=ze(t);Le=e,se=r;let{editCssRule:n,createStyle:o,editCssRules:l,allowProhibit:f,handle:b,capturedHandling:m,log:S}=rr(t);return{log:S,editCssRules:l,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:M,logger:F,text:(y,x=!1)=>x?t.comment(y):document.createTextNode(y),node:(y,x=document)=>x.querySelector(y,x),nodes:(y,x=document)=>[...x.querySelectorAll(y,x)],get getNamedListener(){return er},get virtual(){return _t(t)},get allowTag(){return f.allow},get prohibitTag(){return f.prohibit},get removeCssRule(){return Ge},get removeCssRules(){return Ge},get delegate(){return Kt(m)},get delegateCaptured(){return m},get handle(){return m},get at(){return O},get setStyle(){return n},get fn(){return zt},get lenient(){return J.allowUnknownHtmlTags},get IS(){return a},get Popup(){return tr(t)}}}var Xe=Ye(or());function or(){return function(e,r,n=O.BeforeEnd){if(e?.isJQx)return e;let o=a(r,HTMLBRElement);r=(!o&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(O).find(c=>n===c)?n:void 0;let l=ne(e),f=!l&&ge(e),b=f||l,m={collection:ye(e)??[],isVirtual:o,isJQx:!0},S=oe(m.collection),y=`JQx: input => ${f?`"${$(e.join(", "),70)}"`:!b&&S?`element collection [${$(m.collection.map(c=>`${a(c,Comment,Text)?"Comment|Text @":""} ${c?.outerHTML||c?.textContent}`).join(", "),70)}]`:`"${$(e,70)}"`}`;if(m.collection.length&&S)return F.log(y),o||m.collection.forEach(c=>{r.contains(c)||U([c],r,n)}),G(m);if(b){if([e].flat().forEach(c=>m.collection.push(H(c))),m.collection.length>0){let c=m.collection.filter(p=>p?.dataset?.jqxcreationerror);m.collection=m.collection.filter(p=>!p?.dataset?.jqxcreationerror),F.log(`${y}`),F.log(`JQx: created ${m.isVirtual?"VIRTUAL ":""}[${$(pe(m.collection).trim()||"sanitized: no elements remaining",70)}]`),m.isVirtual||U(m.collection,r,n)}return G(m)}let x=be(e,r,m);return F.log(`JQx: input => ${x}`),G(m)}}var an=Xe;export{an as default};
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { default as IS, maybe } from "./TypeofAnything.js";
|
|
2
|
+
|
|
3
|
+
const systemLog = systemLogFactory();
|
|
4
|
+
const insertPositions = Object.freeze(new Proxy({
|
|
5
|
+
start: "afterbegin", afterbegin: "afterbegin",
|
|
6
|
+
end: "beforeend", beforeend: "beforeend",
|
|
7
|
+
before: "beforebegin", beforebegin: "beforebegin",
|
|
8
|
+
after: "afterend", afterend: "afterend" }, {
|
|
9
|
+
get(obj, key) { return obj[String(key).toLowerCase()] ?? obj[key]; }
|
|
10
|
+
}));
|
|
11
|
+
|
|
12
|
+
export {IS, maybe, isNonEmptyString, truncate2SingleStr, logTime, escHtml,
|
|
13
|
+
systemLog, insertPositions, truncateHtmlStr, isNode, pad0 };
|
|
14
|
+
|
|
15
|
+
function isNonEmptyString(str, minlen = 1) {
|
|
16
|
+
minlen = IS(minlen, Number) && minlen || 1;
|
|
17
|
+
return IS(str, String) && str.length >= minlen;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function truncate2SingleStr(str, maxLength = 120) {
|
|
21
|
+
return truncateHtmlStr(str, maxLength).replace(/</g, `<`);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function truncateHtmlStr(str, maxLength = 120) {
|
|
25
|
+
return `${str}`
|
|
26
|
+
.trim()
|
|
27
|
+
.slice(0, maxLength)
|
|
28
|
+
.replace(/>\s+</g, `><`)
|
|
29
|
+
.replace(/</g, `<`)
|
|
30
|
+
.replace(/\s{2,}/g, ` `)
|
|
31
|
+
.replace(/\n/g, `\\n`) + (str.length > maxLength ? ` …` : ``).trim();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function escHtml(html) {
|
|
35
|
+
switch(true) {
|
|
36
|
+
case IS(html, String):
|
|
37
|
+
const tmpDiv = document.createElement("div");
|
|
38
|
+
tmpDiv.append(html);
|
|
39
|
+
return tmpDiv.innerHTML;
|
|
40
|
+
default: return html;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* private */
|
|
45
|
+
function decodeForConsole(something) {
|
|
46
|
+
return IS(something, String) &&
|
|
47
|
+
Object.assign(
|
|
48
|
+
document.createElement(`textarea`),
|
|
49
|
+
{innerHTML: something}).textContent || something;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function systemLogFactory() {
|
|
53
|
+
let on = false;
|
|
54
|
+
const backLog = [];
|
|
55
|
+
const systemLogger = {
|
|
56
|
+
get on() { on = true; return systemLogger; },
|
|
57
|
+
get off() { on = false; return systemLogger; },
|
|
58
|
+
get backLog() { return backLog; },
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
function error(...args) {
|
|
62
|
+
backLog.unshift(...args.map(arg => `${logTime()} ⨻ ${decodeForConsole(arg)}`));
|
|
63
|
+
console.error(backLog.slice(0, args.length).join(`\n`));
|
|
64
|
+
return systemLogger;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
function log(...args) {
|
|
68
|
+
backLog.unshift(...args.map(arg => `${logTime()} ✔ ${decodeForConsole(arg)}`));
|
|
69
|
+
switch(on) {
|
|
70
|
+
case true: console.log(backLog.slice(0, args.length).join(`\n`));
|
|
71
|
+
default: return systemLogger;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
Object.defineProperties(systemLogger, {
|
|
76
|
+
log: {value: log, enumerable: false},
|
|
77
|
+
error: {value: error, enumerable: false},
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
return Object.freeze(systemLogger);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function logTime() {
|
|
84
|
+
return ((d) =>
|
|
85
|
+
`[${pad0(d.getHours())}:${pad0(d.getMinutes())}:${
|
|
86
|
+
pad0(d.getSeconds())}.${pad0(d.getMilliseconds(), 3)}]`)(new Date());
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function isNode(input) {
|
|
90
|
+
return IS(input, Text, HTMLElement, Comment)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* private */
|
|
94
|
+
function pad0(nr, n=2) {
|
|
95
|
+
return `${nr}`.padStart(n, `0`);
|
|
96
|
+
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
// JQx adapted from https://github.com/KooiInc/tinyDOM
|
|
2
2
|
import { IS, maybe } from "./Utilities.js";
|
|
3
|
-
const defaultTinyDOM = tinyDOM();
|
|
4
3
|
const converts = { html: `innerHTML`, text: `textContent`, class: `className` };
|
|
5
4
|
|
|
6
|
-
export default
|
|
5
|
+
export default tinyDOM();
|
|
7
6
|
|
|
8
7
|
function tinyDOM() {
|
|
9
8
|
const tinyDOMProxyGetter = { get(obj, key) {
|
package/index.js
CHANGED
|
@@ -2,82 +2,5 @@
|
|
|
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
4
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { inject2DOMTree, createElementFromHtmlString } from "./src/DOM.js";
|
|
8
|
-
import {
|
|
9
|
-
isHtmlString, truncateHtmlStr, isArrayOfHtmlStrings, isArrayOfHtmlElements,
|
|
10
|
-
ElemArray2HtmlString, input2Collection, setCollectionFromCssSelector,
|
|
11
|
-
IS, systemLog, insertPositions } from "./src/Utilities.js";
|
|
12
|
-
|
|
13
|
-
export default addJQxStaticMethods(JQxFactory());
|
|
14
|
-
|
|
15
|
-
function JQxFactory() {
|
|
16
|
-
const logLineLength = 70;
|
|
17
|
-
|
|
18
|
-
return function JQx(input, root, position = insertPositions.BeforeEnd) {
|
|
19
|
-
if (input?.isJQx) { return input; }
|
|
20
|
-
const isVirtual = IS(root, HTMLBRElement);
|
|
21
|
-
root = (!isVirtual && root && root.isJQx ? root[0] : root) || document.body;
|
|
22
|
-
position = position && Object.values(insertPositions).find(pos => position === pos) ? position : undefined;
|
|
23
|
-
const isRawHtml = isHtmlString(input);
|
|
24
|
-
const isRawHtmlArray = !isRawHtml && isArrayOfHtmlStrings(input);
|
|
25
|
-
const shouldCreateElements = isRawHtmlArray || isRawHtml;
|
|
26
|
-
|
|
27
|
-
let instance = {
|
|
28
|
-
collection: input2Collection(input) ?? [],
|
|
29
|
-
isVirtual,
|
|
30
|
-
isJQx: true,
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
const isRawElemCollection = isArrayOfHtmlElements(instance.collection);
|
|
34
|
-
|
|
35
|
-
const logStr = `JQx: input => ${
|
|
36
|
-
isRawHtmlArray
|
|
37
|
-
? `"${truncateHtmlStr(input.join(`, `), logLineLength)}"`
|
|
38
|
-
: !shouldCreateElements && isRawElemCollection ? `element collection [${
|
|
39
|
-
truncateHtmlStr( instance.collection.map(el => `${
|
|
40
|
-
IS(el, Comment, Text) ? `Comment|Text @` : ``} ${
|
|
41
|
-
el?.outerHTML || el?.textContent}`).join(`, `), logLineLength)}]`
|
|
42
|
-
: `"${truncateHtmlStr(input, logLineLength)}"`}`;
|
|
43
|
-
|
|
44
|
-
if (instance.collection.length && isRawElemCollection) {
|
|
45
|
-
systemLog.log(logStr);
|
|
46
|
-
|
|
47
|
-
if (!isVirtual) {
|
|
48
|
-
instance.collection.forEach(el => {
|
|
49
|
-
if (!root.contains(el)) {
|
|
50
|
-
inject2DOMTree([el], root, position);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
return proxify(instance);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (shouldCreateElements) {
|
|
59
|
-
[input].flat().forEach(htmlStringOrComment =>
|
|
60
|
-
instance.collection.push(createElementFromHtmlString(htmlStringOrComment)));
|
|
61
|
-
|
|
62
|
-
if (instance.collection.length > 0) {
|
|
63
|
-
const errors = instance.collection.filter( el => el?.dataset?.jqxcreationerror );
|
|
64
|
-
instance.collection = instance.collection.filter(el => !el?.dataset?.jqxcreationerror);
|
|
65
|
-
|
|
66
|
-
systemLog.log(`${logStr}`);
|
|
67
|
-
systemLog.log(`JQx: created ${instance.isVirtual ? `VIRTUAL ` : ``}[${
|
|
68
|
-
truncateHtmlStr(ElemArray2HtmlString(instance.collection).trim() ||
|
|
69
|
-
"sanitized: no elements remaining", logLineLength)}]`);
|
|
70
|
-
|
|
71
|
-
if (!instance.isVirtual) {
|
|
72
|
-
inject2DOMTree(instance.collection, root, position);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return proxify(instance);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
const forLog = setCollectionFromCssSelector(input, root, instance);
|
|
80
|
-
systemLog.log(`JQx: input => ${forLog}`);
|
|
81
|
-
return proxify(instance);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
5
|
+
import JQx from "./src/JQxConstructorFactory.js";
|
|
6
|
+
export default JQx;
|
package/package.json
CHANGED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { proxify, addJQxStaticMethods } from "./JQxCreatorFactory.js";
|
|
2
|
+
import { inject2DOMTree, createElementFromHtmlString } from "../Resource/Common/DOM.js";
|
|
3
|
+
import {
|
|
4
|
+
isHtmlString, truncateHtmlStr, isArrayOfHtmlStrings, isArrayOfHtmlElements,
|
|
5
|
+
ElemArray2HtmlString, input2Collection, setCollectionFromCssSelector,
|
|
6
|
+
IS, systemLog, insertPositions } from "./JQxUtilities.js";
|
|
7
|
+
|
|
8
|
+
export default addJQxStaticMethods(JQxMainFactory());
|
|
9
|
+
|
|
10
|
+
function JQxMainFactory() {
|
|
11
|
+
const logLineLength = 70;
|
|
12
|
+
|
|
13
|
+
return function(input, root, position = insertPositions.BeforeEnd) {
|
|
14
|
+
if (input?.isJQx) { return input; }
|
|
15
|
+
const isVirtual = IS(root, HTMLBRElement);
|
|
16
|
+
root = (!isVirtual && root && root.isJQx ? root[0] : root) || document.body;
|
|
17
|
+
position = position && Object.values(insertPositions).find(pos => position === pos) ? position : undefined;
|
|
18
|
+
const isRawHtml = isHtmlString(input);
|
|
19
|
+
const isRawHtmlArray = !isRawHtml && isArrayOfHtmlStrings(input);
|
|
20
|
+
const shouldCreateElements = isRawHtmlArray || isRawHtml;
|
|
21
|
+
|
|
22
|
+
let instance = {
|
|
23
|
+
collection: input2Collection(input) ?? [],
|
|
24
|
+
isVirtual,
|
|
25
|
+
isJQx: true,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const isRawElemCollection = isArrayOfHtmlElements(instance.collection);
|
|
29
|
+
|
|
30
|
+
const logStr = `JQx: input => ${
|
|
31
|
+
isRawHtmlArray
|
|
32
|
+
? `"${truncateHtmlStr(input.join(`, `), logLineLength)}"`
|
|
33
|
+
: !shouldCreateElements && isRawElemCollection ? `element collection [${
|
|
34
|
+
truncateHtmlStr( instance.collection.map(el => `${
|
|
35
|
+
IS(el, Comment, Text) ? `Comment|Text @` : ``} ${
|
|
36
|
+
el?.outerHTML || el?.textContent}`).join(`, `), logLineLength)}]`
|
|
37
|
+
: `"${truncateHtmlStr(input, logLineLength)}"`}`;
|
|
38
|
+
|
|
39
|
+
if (instance.collection.length && isRawElemCollection) {
|
|
40
|
+
systemLog.log(logStr);
|
|
41
|
+
|
|
42
|
+
if (!isVirtual) {
|
|
43
|
+
instance.collection.forEach(el => {
|
|
44
|
+
if (!root.contains(el)) {
|
|
45
|
+
inject2DOMTree([el], root, position);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return proxify(instance);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (shouldCreateElements) {
|
|
54
|
+
[input].flat().forEach(htmlStringOrComment =>
|
|
55
|
+
instance.collection.push(createElementFromHtmlString(htmlStringOrComment)));
|
|
56
|
+
|
|
57
|
+
if (instance.collection.length > 0) {
|
|
58
|
+
const errors = instance.collection.filter( el => el?.dataset?.jqxcreationerror );
|
|
59
|
+
instance.collection = instance.collection.filter(el => !el?.dataset?.jqxcreationerror);
|
|
60
|
+
|
|
61
|
+
systemLog.log(`${logStr}`);
|
|
62
|
+
systemLog.log(`JQx: created ${instance.isVirtual ? `VIRTUAL ` : ``}[${
|
|
63
|
+
truncateHtmlStr(ElemArray2HtmlString(instance.collection).trim() ||
|
|
64
|
+
"sanitized: no elements remaining", logLineLength)}]`);
|
|
65
|
+
|
|
66
|
+
if (!instance.isVirtual) {
|
|
67
|
+
inject2DOMTree(instance.collection, root, position);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return proxify(instance);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const forLog = setCollectionFromCssSelector(input, root, instance);
|
|
75
|
+
systemLog.log(`JQx: input => ${forLog}`);
|
|
76
|
+
return proxify(instance);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { cleanupHtml } from "
|
|
2
|
-
import allMethodsFactory from "./
|
|
3
|
-
import PopupFactory from "
|
|
4
|
-
import { listeners, default as HandleFactory } from "
|
|
5
|
-
import tagLib from "
|
|
1
|
+
import { cleanupHtml } from "../Resource/Common/DOM.js";
|
|
2
|
+
import allMethodsFactory from "./JQxInstanceMethods.js";
|
|
3
|
+
import PopupFactory from "../Resource/Common/Popup.js";
|
|
4
|
+
import { listeners, default as HandleFactory } from "../Resource/Common/HandlerFactory.js";
|
|
5
|
+
import tagLib from "../Resource/Common/HTMLTags.js";
|
|
6
6
|
import {
|
|
7
7
|
randomString, toDashedNotation, IS, tagFNFactory as $T, styleFactory, toCamelcase, systemLog, escHtml,
|
|
8
8
|
isNonEmptyString, resolveEventTypeParameter, selectedFactoryHelpers, insertPositions
|
|
9
|
-
} from "./
|
|
9
|
+
} from "./JQxUtilities.js";
|
|
10
10
|
|
|
11
11
|
let instanceGetters, instanceMethods;
|
|
12
12
|
const {
|
|
@@ -19,7 +19,7 @@ export { proxify, addJQxStaticMethods };
|
|
|
19
19
|
function selectedUtilitiesFactory() {
|
|
20
20
|
return {
|
|
21
21
|
...selectedFactoryHelpers(),
|
|
22
|
-
addFn(name, extensionMethod) {
|
|
22
|
+
addFn: function(name, extensionMethod) {
|
|
23
23
|
systemLog.log(`JQx: added extension function [${name}]`);
|
|
24
24
|
return instanceMethods[name] = (self, ...params) => extensionMethod(self, ...params);
|
|
25
25
|
} };
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {createElementFromHtmlString, inject2DOMTree} from "
|
|
1
|
+
import {createElementFromHtmlString, inject2DOMTree} from "../Resource/Common/DOM.js";
|
|
2
2
|
import {
|
|
3
3
|
IS, isNode, truncateHtmlStr, addHandlerId, ExamineElementFeatureFactory,
|
|
4
4
|
isNonEmptyString, toDashedNotation, escHtml, systemLog, insertPositions,
|
|
5
|
-
datasetKeyProxy, loop, cloneAndDestroy, setData, before, after,
|
|
6
|
-
emptyElement, checkProp, css, assignAttrValues,
|
|
7
|
-
|
|
5
|
+
datasetKeyProxy, loop, cloneAndDestroy, setData, before, after,
|
|
6
|
+
findParentScrollDistance, emptyElement, checkProp, css, assignAttrValues,
|
|
7
|
+
applyStyle,
|
|
8
|
+
} from "./JQxUtilities.js";
|
|
8
9
|
|
|
9
10
|
const instanceIs = ExamineElementFeatureFactory();
|
|
10
11
|
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import {default as tagFNFactory} from "
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
1
|
+
import {default as tagFNFactory} from "../Resource/Common/tinyDOM.js";
|
|
2
|
+
import styleFactory from "../Resource/Common/LifeCSS.js";
|
|
3
|
+
import {ATTRS} from "../Resource/Common/EmbedResources.js";
|
|
4
|
+
import {escHtml, IS, isNode, isNonEmptyString, logTime, maybe,
|
|
5
|
+
truncate2SingleStr, truncateHtmlStr, systemLog } from "../Resource/Common/Utilities.js"
|
|
6
6
|
const characters4RandomString = [...Array(26)]
|
|
7
7
|
.map((x, i) => String.fromCharCode(i + 65))
|
|
8
8
|
.concat([...Array(26)].map((x, i) => String.fromCharCode(i + 97)))
|
|
9
9
|
.concat([...Array(10)].map((x, i) => `${i}`));
|
|
10
|
-
const systemLog = systemLogFactory();
|
|
11
10
|
const datasetKeyProxy = Object.freeze({
|
|
12
11
|
get(obj, key) { return obj[toCamelcase(key)] || obj[key]; },
|
|
13
12
|
enumerable: false,
|
|
@@ -30,20 +29,11 @@ export {
|
|
|
30
29
|
toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr,
|
|
31
30
|
};
|
|
32
31
|
|
|
33
|
-
function pad0(nr, n=2) {
|
|
34
|
-
return `${nr}`.padStart(n, `0`);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
32
|
function randomNr(max, min = 0) {
|
|
38
33
|
[max, min] = [Math.floor(max), Math.ceil(min)];
|
|
39
34
|
return Math.floor( ([...crypto.getRandomValues(new Uint32Array(1))].shift() / 2 ** 32 ) * (max - min + 1) + min );
|
|
40
35
|
}
|
|
41
36
|
|
|
42
|
-
function isNonEmptyString(str, minlen = 1) {
|
|
43
|
-
minlen = IS(minlen, Number) && minlen || 1;
|
|
44
|
-
return IS(str, String) && str.length >= minlen;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
37
|
function resolveEventTypeParameter (maybeTypes) {
|
|
48
38
|
maybeTypes = IS(maybeTypes, String) && /,/.test(maybeTypes) ? maybeTypes.split(`,`) : maybeTypes;
|
|
49
39
|
return IS(maybeTypes, Array)
|
|
@@ -69,16 +59,6 @@ function shuffle(array) {
|
|
|
69
59
|
return array;
|
|
70
60
|
}
|
|
71
61
|
|
|
72
|
-
function truncateHtmlStr(str, maxLength = 120) {
|
|
73
|
-
return `${str}`
|
|
74
|
-
.trim()
|
|
75
|
-
.slice(0, maxLength)
|
|
76
|
-
.replace(/>\s+</g, `><`)
|
|
77
|
-
.replace(/</g, `<`)
|
|
78
|
-
.replace(/\s{2,}/g, ` `)
|
|
79
|
-
.replace(/\n/g, `\\n`) + (str.length > maxLength ? ` …` : ``).trim();
|
|
80
|
-
}
|
|
81
|
-
|
|
82
62
|
function toDashedNotation(str2Convert) {
|
|
83
63
|
return str2Convert.replace(/[A-Z]/g, a => `-${a.toLowerCase()}`).replace(/^-|-$/, ``);
|
|
84
64
|
}
|
|
@@ -100,34 +80,10 @@ function randomString() {
|
|
|
100
80
|
return `_${shuffle(characters4RandomString).slice(0, 8).join(``)}`;
|
|
101
81
|
}
|
|
102
82
|
|
|
103
|
-
function truncate2SingleStr(str, maxLength = 120) {
|
|
104
|
-
return truncateHtmlStr(str, maxLength).replace(/</g, `<`);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
function logTime() {
|
|
108
|
-
return ((d) =>
|
|
109
|
-
`[${pad0(d.getHours())}:${pad0(d.getMinutes())}:${
|
|
110
|
-
pad0(d.getSeconds())}.${pad0(d.getMilliseconds(), 3)}]`)(new Date());
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function escHtml(html) {
|
|
114
|
-
switch(true) {
|
|
115
|
-
case IS(html, String):
|
|
116
|
-
const tmpDiv = document.createElement("div");
|
|
117
|
-
tmpDiv.append(html);
|
|
118
|
-
return tmpDiv.innerHTML;
|
|
119
|
-
default: return html;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
83
|
function isCommentOrTextNode(node) {
|
|
124
84
|
return IS(node, Comment, Text);
|
|
125
85
|
}
|
|
126
86
|
|
|
127
|
-
function isNode(input) {
|
|
128
|
-
return IS(input, Text, HTMLElement, Comment)
|
|
129
|
-
}
|
|
130
|
-
|
|
131
87
|
function isComment(input) {
|
|
132
88
|
IS(input, Comment);
|
|
133
89
|
}
|
|
@@ -249,44 +205,6 @@ function ExamineElementFeatureFactory() {
|
|
|
249
205
|
};
|
|
250
206
|
}
|
|
251
207
|
|
|
252
|
-
function decodeForConsole(something) {
|
|
253
|
-
return IS(something, String) &&
|
|
254
|
-
Object.assign(
|
|
255
|
-
document.createElement(`textarea`),
|
|
256
|
-
{innerHTML: something}).textContent || something;
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
function systemLogFactory() {
|
|
260
|
-
let on = false;
|
|
261
|
-
const backLog = [];
|
|
262
|
-
const systemLogger = {
|
|
263
|
-
get on() { on = true; return systemLogger; },
|
|
264
|
-
get off() { on = false; return systemLogger; },
|
|
265
|
-
get backLog() { return backLog; },
|
|
266
|
-
};
|
|
267
|
-
|
|
268
|
-
function error(...args) {
|
|
269
|
-
backLog.unshift(...args.map(arg => `${logTime()} ⨻ ${decodeForConsole(arg)}`));
|
|
270
|
-
console.error(backLog.slice(0, args.length).join(`\n`));
|
|
271
|
-
return systemLogger;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
function log(...args) {
|
|
275
|
-
backLog.unshift(...args.map(arg => `${logTime()} ✔ ${decodeForConsole(arg)}`));
|
|
276
|
-
switch(on) {
|
|
277
|
-
case true: console.log(backLog.slice(0, args.length).join(`\n`));
|
|
278
|
-
default: return systemLogger;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
Object.defineProperties(systemLogger, {
|
|
283
|
-
log: {value: log, enumerable: false},
|
|
284
|
-
error: {value: error, enumerable: false},
|
|
285
|
-
});
|
|
286
|
-
|
|
287
|
-
return Object.freeze(systemLogger);
|
|
288
|
-
}
|
|
289
|
-
|
|
290
208
|
function cloneAndDestroy(elem) {
|
|
291
209
|
const cloned = elem.cloneNode(true)
|
|
292
210
|
cloned.removeAttribute && cloned.removeAttribute(`id`);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|