jqx-es 1.7.2 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Bundle/jqx.browser.min.js +12 -12
- package/Bundle/jqx.min.js +12 -12
- package/README.md +1 -1
- package/Resource/Common/Utilities.js +29 -7
- package/Resource/Common/tinyDOM.js +154 -59
- package/package.json +1 -1
- package/src/JQxCreatorFactory.js +4 -0
- package/src/JQxInstanceMethods.js +10 -26
- package/src/JQxUtilities.js +6 -6
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
var JQx=(()=>{var ge=Object.defineProperty;var st=Object.getOwnPropertyDescriptor;var at=Object.getOwnPropertyNames;var lt=Object.prototype.hasOwnProperty;var ut=(t,e)=>{for(var r in e)ge(t,r,{get:e[r],enumerable:!0})},ct=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of at(e))!lt.call(t,i)&&i!==r&&ge(t,i,{get:()=>e[i],enumerable:!(n=st(e,i))||n.enumerable});return t};var ft=t=>ct(ge({},"__esModule",{value:!0}),t);var wr={};ut(wr,{default:()=>vr});var{IS:u,maybe:A,$Wrap:Nr,isNothing:dt,xProxy:He,addSymbolicExtensions:Fr}=mt({useSymbolicExtensions:!1});function mt(t={}){let{useSymbolicExtensions:e}=t,{shouldbeIsSingleObject:r,ISOneOf:n,isExcept:i,verifyNothingness:a,xProxy:f,determineType:S,addSymbolicExtensions:y,maybe:x,$Wrap:d}=gt(b,e);return e&&y(),{IS:b,maybe:x,$Wrap:d,isNothing:a,xProxy:f,addSymbolicExtensions:y};function b(m,...h){let g=typeof m=="symbol"?Symbol.isSymbol:m;switch(!0){case!!x({trial:c=>"isTypes"in(h?.[0]??{})}):return r(m,h[0]);default:return h.length>1?n(g,...h):S(m,...h)}}}function gt(t,e){let{SymbolAndCustomProxyFactory:r,maybeFactory:n,WrapAnyFactory:i,verifyNothingness:a,determineType:f}=pt(t,b),{xProxy:S,addSymbolicExtensions:y}=r(t,b,e),[x,d]=[n(),i(t,b)];return Object.freeze({shouldbeIsSingleObject:m,ISOneOf:h,isExcept:c,verifyNothingness:a,xProxy:S,determineType:f,addSymbolicExtensions:y,maybe:x,$Wrap:d});function b(o){return o?.[Symbol.proxy]??t(o)}function m(o,s){switch(!0){case"defaultValue"in s:return g(o,s);case"notTypes"in s:return c(o,s);default:return t(o,...[s.isTypes].flat())}}function h(o,...s){return s.some(l=>t(o,l))}function g(o,{defaultValue:s,isTypes:l=[void 0],notTypes:p}={}){return l=l?.constructor!==Array?[l]:l,p=p&&p?.constructor!==Array?[p]:[],p.length<1?t(o,...l)?o:s:c(o,{isTypes:l,notTypes:p})?o:s}function c(o,{isTypes:s=[void 0],notTypes:l=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,l=l?.constructor!==Array?[l]:l,t(o,...s)&&!t(o,...l)}}function pt(){let t={IS:"toa.is",TYPE:"toa.type",IS_SYMBOL:"toa.isASymbol",PROXY:"toa.proxy"},e={NAN:"NaN",INFINITY:"Infinity",BOOLEAN:"Boolean",OBJECT:"Object",PROXY_PREFIX:"Proxy ("};return Object.freeze({SymbolAndCustomProxyFactory:n,maybeFactory:g,WrapAnyFactory:h,verifyNothingness:c,determineType:y});function r(o,s){Symbol.is||(Symbol.is=Symbol.for(t.IS),Symbol.type=Symbol.for(t.TYPE),Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return s(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...l){return o(this,...l)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(l){return s(l)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(l,...p){return o(l,...p)},enumerable:!1,configurable:!1}}))}function n(o,s,l){return Symbol.isSymbol||(Symbol.isSymbol=Symbol.for(t.IS_SYMBOL)),{xProxy:f(),addSymbolicExtensions:()=>r(o,s)}}function i(o){return(dt(o,!0)?{name:"unknown"}:Object.getPrototypeOf(o)?.constructor).name}function a(o,s){return Proxy=new o(o,{construct(l,p){let E=new l(...p);return Object.defineProperty(E,s,{value:`${e.PROXY_PREFIX}${i(p[0])})`}),E}}),Proxy}function f(){Symbol.proxy||(Symbol.proxy=Symbol.for(t.PROXY));let o=Proxy;return{native(){Proxy=o},custom(){Proxy=a(o,Symbol.proxy)}}}function S(o,...s){let l=s.length<1,p=o==null;return{noInput:p,noShouldbe:l,compareTo:!l&&s[0],inputCTOR:!p&&(o?.constructor||Object.getPrototypeOf(o)?.constructor),isNaN:Number.isNaN(o)||A({trial:E=>String(o)===e.NAN}),isInfinity:A({trial:E=>String(o)})===e.INFINITY,shouldBeFirstElementIsNothing:!l&&c(s[0])}}function y(o,...s){let{noInput:l,noShouldbe:p,compareTo:E,inputCTOR:C,isNaN:fe,isInfinity:de,shouldBeFirstElementIsNothing:me}=S(o,...s);switch(s=s.length&&s[0],!0){case me:return String(o)===String(E);case(o?.[Symbol.proxy]&&p):return o[Symbol.proxy];case fe:return p?e.NAN:String(E)===String(o);case de:return p?e.INFINITY:String(E)===String(o);case l:return p?String(o):String(E)===String(o);case C===Boolean:return p?e.BOOLEAN:C===s;default:return d(o,s,p,x(o,C))}}function x(o,s){switch(!0){case o===0:return Number;case o==="":return String;case!o:return{name:String(o)};default:return s}}function d(o,s,l,p){switch(!0){case(!l&&s===o||o?.[Symbol.proxy]&&s===Proxy):return!0;case String(s)===e.NAN:return String(o)===e.NAN;case(o?.[Symbol.toStringTag]&&typeof s=="string"):return String(s)===o[Symbol.toStringTag];default:return s?m(o,s,p):b(o,p)}}function b(o,s){return(o?.[Symbol.toStringTag]??o?.prototype?.[Symbol.toStringTag])||s?.name||String(s)}function m(o,s,l){return A({trial:p=>o instanceof s})||s===l||s===Object.getPrototypeOf(l)||`${s?.name}`===l?.name}function h(o,s){return function(l){let p={get value(){return l},is(...E){return o(l,...E)},get type(){return s(l)}};return Object[Symbol.type]&&Object.defineProperties(p,{[Symbol.type]:{get(){return s(l)}},[Symbol.is]:{value(...E){return o(l,...E)}}}),Object.freeze(p)}}function g(){let o=s=>{};return function({trial:s,whenError:l=o}={}){try{return s()}catch(p){return l(p)}}}function c(o,s=!1){let l=o==null;return l=s?l||u(o,1/0)||u(o,NaN):l,l}}var Me=ht(),D=yt(),j=bt();function yt(){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 bt(){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 ht(){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 Ie={html:"innerHTML",text:"textContent",class:"className"},V=St();function St(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case Ct(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?i=>Ft(r):At(e)}}),t[e]}function xt(t,e,r){return e=e?.isJQx&&e.first()||e,A({trial:n=>Tt(e)?t.append(e):je(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
|
|
2
|
-
`,n)})}function
|
|
3
|
-
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(m,h){return[...t.rules].find(g=>h?
|
|
1
|
+
var JQx=(()=>{var ye=Object.defineProperty;var ft=Object.getOwnPropertyDescriptor;var dt=Object.getOwnPropertyNames;var mt=Object.prototype.hasOwnProperty;var gt=(t,e)=>{for(var r in e)ye(t,r,{get:e[r],enumerable:!0})},pt=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of dt(e))!mt.call(t,i)&&i!==r&&ye(t,i,{get:()=>e[i],enumerable:!(n=ft(e,i))||n.enumerable});return t};var yt=t=>pt(ye({},"__esModule",{value:!0}),t);var Pr={};gt(Pr,{default:()=>Or});var{IS:u,maybe:$,$Wrap:Mr,isNothing:bt,xProxy:Me,addSymbolicExtensions:Ie}=ht({useSymbolicExtensions:!1});function ht(t={}){let{useSymbolicExtensions:e}=t,{shouldbeIsSingleObject:r,ISOneOf:n,isExcept:i,verifyNothingness:l,xProxy:f,determineType:S,addSymbolicExtensions:y,maybe:x,$Wrap:d}=St(b,e);return e&&y(),{IS:b,maybe:x,$Wrap:d,isNothing:l,xProxy:f,addSymbolicExtensions:y};function b(m,...h){let g=typeof m=="symbol"?Symbol.isSymbol:m;switch(!0){case!!x({trial:c=>"isTypes"in(h?.[0]??{})}):return r(m,h[0]);default:return h.length>1?n(g,...h):S(m,...h)}}}function St(t,e){let{SymbolAndCustomProxyFactory:r,maybeFactory:n,WrapAnyFactory:i,verifyNothingness:l,determineType:f}=xt(t,b),{xProxy:S,addSymbolicExtensions:y}=r(t,b,e),[x,d]=[n(),i(t,b)];return Object.freeze({shouldbeIsSingleObject:m,ISOneOf:h,isExcept:c,verifyNothingness:l,xProxy:S,determineType:f,addSymbolicExtensions:y,maybe:x,$Wrap:d});function b(o){return o?.[Symbol.proxy]??t(o)}function m(o,s){switch(!0){case"defaultValue"in s:return g(o,s);case"notTypes"in s:return c(o,s);default:return t(o,...[s.isTypes].flat())}}function h(o,...s){return s.some(a=>t(o,a))}function g(o,{defaultValue:s,isTypes:a=[void 0],notTypes:p}={}){return a=a?.constructor!==Array?[a]:a,p=p&&p?.constructor!==Array?[p]:[],p.length<1?t(o,...a)?o:s:c(o,{isTypes:a,notTypes:p})?o:s}function c(o,{isTypes:s=[void 0],notTypes:a=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,a=a?.constructor!==Array?[a]:a,t(o,...s)&&!t(o,...a)}}function xt(){let t={IS:"toa.is",TYPE:"toa.type",IS_SYMBOL:"toa.isASymbol",PROXY:"toa.proxy"},e={NAN:"NaN",INFINITY:"Infinity",BOOLEAN:"Boolean",OBJECT:"Object",PROXY_PREFIX:"Proxy ("};return Object.freeze({SymbolAndCustomProxyFactory:n,maybeFactory:g,WrapAnyFactory:h,verifyNothingness:c,determineType:y});function r(o,s){Symbol.is||(Symbol.is=Symbol.for(t.IS),Symbol.type=Symbol.for(t.TYPE),Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return s(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...a){return o(this,...a)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(a){return s(a)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(a,...p){return o(a,...p)},enumerable:!1,configurable:!1}}))}function n(o,s,a){return Symbol.isSymbol||(Symbol.isSymbol=Symbol.for(t.IS_SYMBOL)),{xProxy:f(),addSymbolicExtensions:()=>r(o,s)}}function i(o){return(bt(o,!0)?{name:"unknown"}:Object.getPrototypeOf(o)?.constructor).name}function l(o,s){return Proxy=new o(o,{construct(a,p){let E=new a(...p);return Object.defineProperty(E,s,{value:`${e.PROXY_PREFIX}${i(p[0])})`}),E}}),Proxy}function f(){Symbol.proxy||(Symbol.proxy=Symbol.for(t.PROXY));let o=Proxy;return{native(){Proxy=o},custom(){Proxy=l(o,Symbol.proxy)}}}function S(o,...s){let a=s.length<1,p=o==null;return{noInput:p,noShouldbe:a,compareTo:!a&&s[0],inputCTOR:!p&&(o?.constructor||Object.getPrototypeOf(o)?.constructor),isNaN:Number.isNaN(o)||$({trial:E=>String(o)===e.NAN}),isInfinity:$({trial:E=>String(o)})===e.INFINITY,shouldBeFirstElementIsNothing:!a&&c(s[0])}}function y(o,...s){let{noInput:a,noShouldbe:p,compareTo:E,inputCTOR:C,isNaN:me,isInfinity:ge,shouldBeFirstElementIsNothing:pe}=S(o,...s);switch(s=s.length&&s[0],!0){case pe:return String(o)===String(E);case(o?.[Symbol.proxy]&&p):return o[Symbol.proxy];case me:return p?e.NAN:String(E)===String(o);case ge:return p?e.INFINITY:String(E)===String(o);case a:return p?String(o):String(E)===String(o);case C===Boolean:return p?e.BOOLEAN:C===s;default:return d(o,s,p,x(o,C))}}function x(o,s){switch(!0){case o===0:return Number;case o==="":return String;case!o:return{name:String(o)};default:return s}}function d(o,s,a,p){switch(!0){case(!a&&s===o||o?.[Symbol.proxy]&&s===Proxy):return!0;case String(s)===e.NAN:return String(o)===e.NAN;case(o?.[Symbol.toStringTag]&&typeof s=="string"):return String(s)===o[Symbol.toStringTag];default:return s?m(o,s,p):b(o,p)}}function b(o,s){return(o?.[Symbol.toStringTag]??o?.prototype?.[Symbol.toStringTag])||s?.name||String(s)}function m(o,s,a){return $({trial:p=>o instanceof s})||s===a||s===Object.getPrototypeOf(a)||`${s?.name}`===a?.name}function h(o,s){return function(a){let p={get value(){return a},is(...E){return o(a,...E)},get type(){return s(a)}};return Object[Symbol.type]&&Object.defineProperties(p,{[Symbol.type]:{get(){return s(a)}},[Symbol.is]:{value(...E){return o(a,...E)}}}),Object.freeze(p)}}function g(){let o=s=>{};return function({trial:s,whenError:a=o}={}){try{return s()}catch(p){return a(p)}}}function c(o,s=!1){let a=o==null;return a=s?a||u(o,1/0)||u(o,NaN):a,a}}var De=wt(),R=Et(),J=vt();function Et(){return{html:Object.freeze("accept,action,align,alt,autocapitalize,autocomplete,autopictureinpicture,autoplay,background,bgcolor,border,capture,cellpadding,cellspacing,checked,cite,class,clear,contenteditable,color,cols,colspan,controls,controlslist,coords,crossorigin,datetime,decoding,default,dir,disabled,disablepictureinpicture,disableremoteplayback,download,draggable,enctype,enterkeyhint,face,for,headers,height,hidden,high,href,hreflang,id,inputmode,integrity,is,ismap,kind,label,lang,list,loading,loop,low,max,maxlength,media,method,min,minlength,multiple,muted,name,nonce,noshade,novalidate,nowrap,open,optimum,pattern,placeholder,playsinline,poster,preload,pubdate,radiogroup,readonly,rel,required,rev,reversed,role,rows,rowspan,spellcheck,scope,selected,shape,size,sizes,span,srclang,start,src,srcset,step,style,summary,tabindex,target,title,translate,type,usemap,valign,value,width,xmlns,slot".split(",")),svg:Object.freeze("accent-height,accumulate,additive,alignment-baseline,ascent,attributename,attributetype,azimuth,basefrequency,baseline-shift,begin,bias,by,class,clip,clippathunits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,cx,cy,d,dx,dy,diffuseconstant,direction,display,divisor,dur,edgemode,elevation,end,fill,fill-opacity,fill-rule,filter,filterunits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,fx,fy,g1,g2,glyph-name,glyphref,gradientunits,gradienttransform,height,href,id,image-rendering,in,in2,k,k1,k2,k3,k4,kerning,keypoints,keysplines,keytimes,lang,lengthadjust,letter-spacing,kernelmatrix,kernelunitlength,lighting-color,local,marker-end,marker-mid,marker-start,markerheight,markerunits,markerwidth,maskcontentunits,maskunits,max,mask,media,method,mode,min,name,numoctaves,offset,operator,opacity,order,orient,orientation,origin,overflow,paint-order,path,pathlength,patterncontentunits,patterntransform,patternunits,points,preservealpha,preserveaspectratio,primitiveunits,r,rx,ry,radius,refx,refy,repeatcount,repeatdur,restart,result,rotate,scale,seed,shape-rendering,specularconstant,specularexponent,spreadmethod,startoffset,stddeviation,stitchtiles,stop-color,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke,stroke-width,style,surfacescale,systemlanguage,tabindex,targetx,targety,transform,text-anchor,text-decoration,text-rendering,textlength,type,u1,u2,unicode,values,viewbox,visibility,version,vert-adv-y,vert-origin-x,vert-origin-y,width,word-spacing,wrap,writing-mode,xchannelselector,ychannelselector,x,x1,x2,xmlns,y,y1,y2,z,zoomandpan".split(","))}}function vt(){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 wt(){return["::backdrop{background-color:grey;opacity:0.2;}",`#jqxPopup{overflow:hidden;background-color:transparent;outline:none;border:none;inset:0;animation:fade-out 0.5s ease-out;&[open]{display:flex;align-items:center;justify-content:center;animation:fade-in 0.5s ease;}#jqxPopupContent{background-color:white;border:solid 1px #eee;box-shadow:1px 2px 8px #999;border-radius:4px;padding:12px;vertical-align:middle;max-height:40vh;max-width:50vw;overflow:auto;margin:0 auto;div:not(#closeHandleIcon){clear:both;}@media (width <= 640px){max-width:80vw;max-height:60vh;}#closeHandleIcon{cursor:pointer;width:24px;height:24px;display:inline;position:absolute;top:4px;right:4px;justify-content:right;background-image:url("data:image/svg+xml;utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20id%3D%22Layer_1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20128%20128%22%20style%3D%22enable-background%3Anew%200%200%20128%20128%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20x%3D%22-368%22%20y%3D%226%22%20style%3D%22display%3Anone%3Bfill%3A%23E0E0E0%3B%22%20width%3D%22866%22%20height%3D%221018%22%2F%3E%3Ccircle%20style%3D%22fill%3A%23FFFFFF%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Ccircle%20style%3D%22fill%3A%238CCFB9%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2239%22%2F%3E%3Ccircle%20style%3D%22fill%3Anone%3Bstroke%3A%23444B54%3Bstroke-width%3A6%3Bstroke-miterlimit%3A10%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Cpolyline%20style%3D%22fill%3Anone%3Bstroke%3A%23FFFFFF%3Bstroke-width%3A6%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%3B%22%20points%3D%2242%2C69%2055.55%2C81%20%20%2086%2C46%20%22%2F%3E%3C%2Fsvg%3E");@media (width <= 640px){background-image:none;position:relative;margin:-15px -15px 4px 0;float:right;vertical-align:middle;border:1px solid #AAA;padding:2px;border-radius:50%;width:12px;height:12px;font-size:12px;line-height:12px;font-weight:bold;text-align:center;&:after{content:'\\2714';color:green;}}}.warn{display:none;text-align:center;color:red;border-top:1px solid #999;margin-top:1em;padding-top:3px;animation:warn-fade-out 0.2s ease-out;}.warn.active{opacity:1;display:block;animation:warn-fade-in 0.2s ease-in;}}}`,"@keyframes fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1, 1);display:flex;}}","@keyframes fade-out{0%{opacity:1;transform:scale(1, 1);display:flex;}100%{opacity:0;transform:scale(0, 0);display:none;}}","@keyframes warn-fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1,1 );display:block;}}","@keyframes warn-fade-out{0%{opacity:1;transform:scale(1, 1);display:block;}100%{opacity:0;transform:scale(0, 0);display:none;}}"]}var Re={html:"innerHTML",text:"textContent",class:"className"},Q={},k={},ke=t=>{console.error(`tinyDOM error: "${t}" is not a valid HTML tag`)};Ie();var B=Lt();function Lt(){return Object.freeze(new Proxy(Q,Be()))}function Be(){return{get(t,e){let r=String(e);switch(!0){case r in t:return t[r];case Mt(r):return je({tag:r,key:e});default:return je({tag:r,key:e,isError:!0})}},set(t,e,r){return e==="setError"&&typeof r=="function"&&(ke=r),!0},enumerable:!1,configurable:!1}}function je({tag:t,key:e,custom:r,debug:n=!1,isError:i=!1}={}){let l=At();if(i)return Object.defineProperty(l,t,{get(){return f=>ke(e)??""}}),Je(l,t);if(t.includes("-")){let[f,S]=t.includes("-")?[t,jt(t)]:[Rt(t),t];k[f]=f,k[S]=f,r=S}return r&&Object.defineProperty(l,r,{get(){return Qe(t)}}),Object.defineProperty(l,t,{get(){return Qe(t)}}),Je(l,t)}function Je(t,e){return Q=Object.freeze(new Proxy(t,Be())),Q[Symbol.for.proxy]="Proxy (Object)",Q[e]}function At(){return Object.fromEntries(Object.entries(Object.getOwnPropertyDescriptors(Q)))}function Ft(t,e,r){return e=e?.isJQx&&e.node||e,$({trial:n=>ze(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} not created, reason
|
|
2
|
+
`,n)})}function Ct(t,e,...r){let n=Tt(e,t);return r?.forEach(i=>Ft(n,i,t)),n}function Tt(t,e){switch(t=be(e)?Ht(t):t?.isJQx?t.node:t,!0){case t?.[Symbol.is](String):return G(e,ze(t,e)?{html:t}:{text:t});case t?.[Symbol.is](Node):return $t(e,t);default:return G(e,t)}}function $t(t,e){let r=G(t);return r.append(e),r}function Nt(t){if(Object.keys(t).length<1)return{assignable:{},specials:[...Array(3)]};let e=Ot(t);return Object.keys(t).forEach(r=>{let n=r.toLowerCase();n in Re&&(t[Re[n]]=t[r])&&delete t[r]}),{assignable:t,specials:e}}function Ot(t){if(!t?.[Symbol.is](Object))return Array(3);let e=Object.entries(t.data??{}),r=Object.entries(t.attributes??{}),n=t.class?.split(/[ ,]/).map(i=>i.trim()).filter(i=>i.length>1);return delete t.data,delete t.attributes,delete t.class,[e,r,n]}function Pt(t,e){let[r,n,i]=t;r?.length&&r.forEach(([l,f])=>e.dataset[l]=f),n?.length&&n.forEach(([l,f])=>e.setAttribute(l,f)),i?.forEach(l=>e.classList.add(l))}function G(t,e){e=e||{};let{assignable:r,specials:n}=Nt(e),i=Object.assign(be(t)?new Comment:document.createElement(t),r);return Pt(n,i),i}function Ht(t){return t?.constructor===Comment?t?.textContent:String(t)}function ze(t,e){return!be(e)&&t?.[Symbol.is](String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function be(t){return/comment/i.test(t)}function Mt(t){return It(t)&&(t in k||!G(t)?.[Symbol.is](HTMLUnknownElement))}function It(t){return t=t.toLowerCase(),typeof t=="string"&&t.length>0&&/^[a-z]/.test(t)&&/^[a-z0-9-]+$/gi.test(t)}function Qe(t){return t=t in k?k[t]:t,(e,...r)=>Ct(t,e,...r)}function Dt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function Rt(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function jt(t){return t[Symbol.is](String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Dt(e)}`||e).join(""):t}var{IS:j,maybe:he,$Wrap:Jr,isNothing:Jt,xProxy:Qr,addSymbolicExtensions:kr}=Qt({useSymbolicExtensions:!1});function Qt(t={}){let{useSymbolicExtensions:e}=t,{shouldbeIsSingleObject:r,ISOneOf:n,isExcept:i,verifyNothingness:l,xProxy:f,determineType:S,addSymbolicExtensions:y,maybe:x,$Wrap:d}=kt(b,e);return e&&y(),{IS:b,maybe:x,$Wrap:d,isNothing:l,xProxy:f,addSymbolicExtensions:y};function b(m,...h){let g=typeof m=="symbol"?Symbol.isSymbol:m;switch(!0){case!!x({trial:c=>"isTypes"in(h?.[0]??{})}):return r(m,h[0]);default:return h.length>1?n(g,...h):S(m,...h)}}}function kt(t,e){let{SymbolAndCustomProxyFactory:r,maybeFactory:n,WrapAnyFactory:i,verifyNothingness:l,determineType:f}=Bt(t,b),{xProxy:S,addSymbolicExtensions:y}=r(t,b,e),[x,d]=[n(),i(t,b)];return Object.freeze({shouldbeIsSingleObject:m,ISOneOf:h,isExcept:c,verifyNothingness:l,xProxy:S,determineType:f,addSymbolicExtensions:y,maybe:x,$Wrap:d});function b(o){return o?.[Symbol.proxy]??t(o)}function m(o,s){switch(!0){case"defaultValue"in s:return g(o,s);case"notTypes"in s:return c(o,s);default:return t(o,...[s.isTypes].flat())}}function h(o,...s){return s.some(a=>t(o,a))}function g(o,{defaultValue:s,isTypes:a=[void 0],notTypes:p}={}){return a=a?.constructor!==Array?[a]:a,p=p&&p?.constructor!==Array?[p]:[],p.length<1?t(o,...a)?o:s:c(o,{isTypes:a,notTypes:p})?o:s}function c(o,{isTypes:s=[void 0],notTypes:a=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,a=a?.constructor!==Array?[a]:a,t(o,...s)&&!t(o,...a)}}function Bt(){let t={IS:"toa.is",TYPE:"toa.type",IS_SYMBOL:"toa.isASymbol",PROXY:"toa.proxy"},e={NAN:"NaN",INFINITY:"Infinity",BOOLEAN:"Boolean",OBJECT:"Object",PROXY_PREFIX:"Proxy ("};return Object.freeze({SymbolAndCustomProxyFactory:n,maybeFactory:g,WrapAnyFactory:h,verifyNothingness:c,determineType:y});function r(o,s){Symbol.is||(Symbol.is=Symbol.for(t.IS),Symbol.type=Symbol.for(t.TYPE),Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return s(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...a){return o(this,...a)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(a){return s(a)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(a,...p){return o(a,...p)},enumerable:!1,configurable:!1}}))}function n(o,s,a){return Symbol.isSymbol||(Symbol.isSymbol=Symbol.for(t.IS_SYMBOL)),{xProxy:f(),addSymbolicExtensions:()=>r(o,s)}}function i(o){return(Jt(o,!0)?{name:"unknown"}:Object.getPrototypeOf(o)?.constructor).name}function l(o,s){return Proxy=new o(o,{construct(a,p){let E=new a(...p);return Object.defineProperty(E,s,{value:`${e.PROXY_PREFIX}${i(p[0])})`}),E}}),Proxy}function f(){Symbol.proxy||(Symbol.proxy=Symbol.for(t.PROXY));let o=Proxy;return{native(){Proxy=o},custom(){Proxy=l(o,Symbol.proxy)}}}function S(o,...s){let a=s.length<1,p=o==null;return{noInput:p,noShouldbe:a,compareTo:!a&&s[0],inputCTOR:!p&&(o?.constructor||Object.getPrototypeOf(o)?.constructor),isNaN:Number.isNaN(o)||he({trial:E=>String(o)===e.NAN}),isInfinity:he({trial:E=>String(o)})===e.INFINITY,shouldBeFirstElementIsNothing:!a&&c(s[0])}}function y(o,...s){let{noInput:a,noShouldbe:p,compareTo:E,inputCTOR:C,isNaN:me,isInfinity:ge,shouldBeFirstElementIsNothing:pe}=S(o,...s);switch(s=s.length&&s[0],!0){case pe:return String(o)===String(E);case(o?.[Symbol.proxy]&&p):return o[Symbol.proxy];case me:return p?e.NAN:String(E)===String(o);case ge:return p?e.INFINITY:String(E)===String(o);case a:return p?String(o):String(E)===String(o);case C===Boolean:return p?e.BOOLEAN:C===s;default:return d(o,s,p,x(o,C))}}function x(o,s){switch(!0){case o===0:return Number;case o==="":return String;case!o:return{name:String(o)};default:return s}}function d(o,s,a,p){switch(!0){case(!a&&s===o||o?.[Symbol.proxy]&&s===Proxy):return!0;case String(s)===e.NAN:return String(o)===e.NAN;case(o?.[Symbol.toStringTag]&&typeof s=="string"):return String(s)===o[Symbol.toStringTag];default:return s?m(o,s,p):b(o,p)}}function b(o,s){return(o?.[Symbol.toStringTag]??o?.prototype?.[Symbol.toStringTag])||s?.name||String(s)}function m(o,s,a){return he({trial:p=>o instanceof s})||s===a||s===Object.getPrototypeOf(a)||`${s?.name}`===a?.name}function h(o,s){return function(a){let p={get value(){return a},is(...E){return o(a,...E)},get type(){return s(a)}};return Object[Symbol.type]&&Object.defineProperties(p,{[Symbol.type]:{get(){return s(a)}},[Symbol.is]:{value(...E){return o(a,...E)}}}),Object.freeze(p)}}function g(){let o=s=>{};return function({trial:s,whenError:a=o}={}){try{return s()}catch(p){return a(p)}}}function c(o,s=!1){let a=o==null;return a=s?a||j(o,1/0)||j(o,NaN):a,a}}var z=zt;function zt({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:i,sheet:l,removeRules:f,consider:S,currentSheetID:y}=Wt({styleSheet:t,createWithId:e});function x(g,c){if(g&&c.removeProperties){Object.keys(c.removeProperties).forEach(o=>g.style.removeProperty(We(o)));return}Object.entries(c).forEach(([o,s])=>{o=We(o.trim()),s=s.trim();let a;if(/!important/.test(s)&&(s=s.slice(0,s.indexOf("!important")).trim(),a="important"),!CSS.supports(o,s))return console.error(`StylingFactory ${y} error: '${o}' with value '${s}' not supported (yet)`);Ye(()=>g.style.setProperty(o,s,a),`StylingFactory ${y} (setRule4Selector) failed`)})}function d(g,c,o=l){if(g=g?.trim?.(),!j(g,String)||!g.length||/[;,]$/g.test(g))return console.error(`StylingFactory ${y} (setRules): [${g||"[no selector given]"}] is not a valid selector`);if(c.removeRule)return f(g);let s=n(g,!0),a=s||o.cssRules[o.insertRule(`${g} {}`,o.cssRules.length||0)];return S(()=>x(a,c),g,s)}function b(g){let c=g.trim().split(/{/,2),o=c.shift().trim();if(!j(o,String)||!o?.trim()?.length)return console.error(`StylingFactory ${y} (doParse): no (valid) selector could be extracted from rule ${Se(g)}`);let s=Zt(c.shift());return Ye(()=>d(o,s),`StylingFactory ${y} (setRules) failed`)}function m(g){let c=r(g);return c.done?c.existing:b(g)}function h(g,c){return g.trim().startsWith("@media")?m(Yt(g,c)):d(g,c)}return function(g,c={}){return i(g,c)&&(Object.keys(c).length?h(g,c):m(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?i(e):t;function i(m){let h=document.querySelector(`#${m}`)?.sheet;if(h)return h;let g=Object.assign(document.createElement("style"),{id:m});return document.head.insertAdjacentElement("beforeend",g),g.sheet}function l(m){return console.error(`StylingFactory ${n} [rule: ${m}]
|
|
3
|
+
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(m,h){return[...t.rules].find(g=>h?_e(g.selectorText||"",m):Ut`${Vt(m)}${[..."gim"]}`.test(g.cssText))}function S(m){return/^@charset|@import|namespace/i.test(m.trim())?l(m):m.match(/}/g)?.length>1?{existing:d(m,1),done:!0}:{done:!1}}function y(m){let h=[...t.cssRules].reduce((c,o,s)=>_e(o.selectorText||"",m)&&c.concat(s)||c,[]),g=h.length;return h.forEach(c=>t.deleteRule(c)),g>0?console.info(`\u2714 Removed ${g} instance${g>1?"s":""} of selector ${m} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${m} does not exist in ${n.slice(4)}`)}function x(m,h){return m&&j(m,String)&&m.trim().length>0&&j(h,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function d(m){m=m.trim();let h=m.slice(0,m.indexOf("{")).trim(),g=!!f(h);try{return t.insertRule(`${m}`,t.cssRules.length),g}catch(c){return console.error(`StylingFactory ${n} (tryParse) ${c.name} Error:
|
|
4
4
|
${c.message}
|
|
5
|
-
Rule: ${
|
|
5
|
+
Rule: ${Se(m)}
|
|
6
6
|
${r}`),g}}function b(m,h,g){try{return m(),g}catch(c){return console.error(`StylingFactory ${n} (tryAddOrModify) ${c.name} Error:
|
|
7
7
|
${c.message}
|
|
8
|
-
Rule: ${
|
|
9
|
-
${r}`),g}}return{sheet:t,removeRules:y,tryParseAtOrNestedRules:S,ruleExists:f,checkParams:x,tryParse:d,consider:b,currentSheetID:n}}function
|
|
10
|
-
`)}function
|
|
11
|
-
`).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function
|
|
8
|
+
Rule: ${Se(h)}
|
|
9
|
+
${r}`),g}}return{sheet:t,removeRules:y,tryParseAtOrNestedRules:S,ruleExists:f,checkParams:x,tryParse:d,consider:b,currentSheetID:n}}function Yt(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${_t(n)}`)}`}function Se(t){let e=(t||"NO RULE").trim().slice(0,50).replace(/\n/g,"\\n").replace(/\s{2,}/g," ");return t.length>e.length?`${e.trim()}...truncated`:e}function _t(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
|
|
10
|
+
`)}function Vt(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function Ut(t,...e){let r=e.length&&Array.isArray(e.slice(-1))?e.pop().join(""):"";return new RegExp((e.length&&t.raw.reduce((n,i,l)=>n.concat(e[l-1]||"").concat(i),"")||t.raw.join("")).split(`
|
|
11
|
+
`).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function We(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function Ye(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function Xt(t){return t.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,r)=>`${r}\\3b`).split(";").map(e=>e.trim()).join(`;
|
|
12
12
|
`).replaceAll("\\3b",";").split(`
|
|
13
|
-
`)}function
|
|
14
|
-
`)),n}function S(...x){return r.unshift(...x.map(d=>`${
|
|
15
|
-
`)),n}function y(...x){let d=x.map(b=>`${
|
|
16
|
-
`));default:return n}}return Object.defineProperties(n,{log:{value:y,enumerable:!1},error:{value:f,enumerable:!1},warn:{value:S,enumerable:!1}}),Object.freeze(n)}function te(){return(t=>`[${ee(t.getHours())}:${ee(t.getMinutes())}:${ee(t.getSeconds())}.${ee(t.getMilliseconds(),3)}]`)(new Date)}function Le(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=T(r),r.startsWith("data"))return oe(t,n);u(n,String)&&re(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function oe(t,e){if(t&&u(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${T(r)}`,n)}function ie(t){return t?u(t,Proxy)?[t.EL]:u(t,NodeList)?[...t]:P(t)?[t]:Y(t)?t:t.isJQx?t.collection:void 0:[]}function se(t,e){return t.andThen(e)}function Ne(t,e){return t.andThen(e,!0)}function P(t){return u(t,Text,HTMLElement,Comment)}function B(t,e){if(u(e,Object))for(let[r,n]of Object.entries(e)){let i;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),i="important"),t.style.setProperty(T(r),n,i)}}function H(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function ze(t){if(!u(t,HTMLElement))return;let e=t.style,r=getComputedStyle(t),n=!![e.visibility,r.visibility].includes("hidden"),i=!![e.display,r.display].includes("none"),a=!!t.hidden,f=parseInt(r.height)<1||parseInt(r.width)<1,S=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,y=+r.opacity==0||+(e.opacity||1)==0;return!(a||S||y||i||n||f)}function Ye(t){return t?.isConnected?!![...document.querySelectorAll(":is(:read-write)")].find(e=>e===t):!1}function _e(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(Ce(r)?`<!--${r.data}-->`:le(r)?r.textContent:r.outerHTML),"")}function ee(t,e=2){return`${t}`.padStart(e,"0")}function Ve(t,e=0){return[t,e]=[Math.floor(t),Math.ceil(e)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(t-e+1)+e)}function ae(){return`_${qt(Zt).slice(0,8).join("")}`}function Fe(t){return t=u(t,String)&&/,/.test(t)?t.split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):t,u(t,Array)?t:u(t,String)&&t?.trim().toLowerCase()||""}function Ue(t){return t?.isConnected?!![...document.querySelectorAll(":is(:modal)")].find(e=>e===t):!1}function Te(t,e){switch(t=String(t).trim(),!0){case/^(0|false|f)$/i.test(t):return!1;case/^(1|true|t)$/i.test(t):return!0;default:return e}}function qt(t){let e=t.length;for(;e--;){let r=Ve(e);[t[e],t[r]]=[t[r],t[e]]}return t}function W(t){return u(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${er(e)}`||e).join(""):t}function T(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function er([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function le(t){return u(t,Comment,Text)}function Ce(t){u(t,Comment)}function Xe(t){return u(t,Text)}function z(t){return u(t,String)&&/^<|>$/.test(`${t}`.trim())}function Y(t){return u(t,Array)&&!t?.find(e=>!P(e))}function ue(t){return u(t,Array)&&!t?.find(e=>!z(e))}function v(t,e){let r=t.collection.filter(n=>!le(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Ge(t){return t.node?u(t.node,Comment)?`<!--${t.node.textContent}-->`:t.HTML.get(1).split(">")[0]+">...":""}function Ae(t,e,r){let n=e!==document.body&&u(t,String)&&t.toLowerCase()!=="body"?e:document;try{r.collection=[...n.querySelectorAll(t)]}catch{w.warn(`JQx: Invalid CSS querySelector. [${u(t,String)?t:"Not a string!"}]`)}}function Ze(){return{isCommentOrTextNode:le,isNode:P,isComment:Ce,isText:Xe,isHtmlString:z,isArrayOfHtmlElements:Y,isArrayOfHtmlStrings:ue,ElemArray2HtmlString:_e,input2Collection:ie,setCollectionFromCssSelector:Ae,cssRuleEdit:Q({createWithId:"JQxStylesheet"})}}function Ke(){let e=Object.freeze({notInDOM:"n/a",writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return u(n,Node)?Object.freeze({get writable(){return Ye(n)},get modal(){return Ue(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return ze(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function qe(t,e,r,n){r&&u(e,String)&&(e={[e]:r==="-"?"":r});let i;e.className&&(i=e.className,delete e.className),i=[...t.classList].find(f=>f.startsWith("JQxClass-")||i&&f===i)||i||`JQxClass-${ae().slice(1)}`,n.editCssRule(`.${i}`,e),t.classList.add(i)}var tr=Ke();function et(t){return{factoryExtensions:rr(t),instanceExtensions:nr(t)}}function rr(t){return{data(e){return{get all(){return new Proxy(e[0]?.dataset??{},Ee)},set(r={}){if(!e.is.empty&&u(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},get(r,n){return e.data.all[r]??n},add(r={}){if(!e.is.empty&&u(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},remove(r){return e[0]?.removeAttribute(`data-${T(r)}`),e}}},dimensions(e){if(e.is.empty)return w.error("[JQx instance].dimensions called on empty instance"),{error:"[JQx instance].dimensions: NO ELEMENTS"};let{node:r}=e,n=r.getBoundingClientRect().toJSON();return n.scrollTopDistance=k(r,0),n.scrollLeftDistance=k(r,0,!1),n},node(e){return e[0]},HTML(e){return{get(r,n){if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let i=r?e.outerHtml:e.html();return n?O(i):i},set(r,n=!1,i=!1){r=r.isJQx?r.HTML.get(1):r;let a=u(r,String);return r=a&&i?O(r):r,a&&(r||"").trim().length&&e.html(r,n),e},replace(r,n=!1){return e.HTML.set(r,!1,n)},append(r,n=!1){return r=u(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)},insert(r,n=!1){return r=u(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){return tr(e)},length(e){return e.collection.length},outerHtml(e){return(e.first()||{outerHTML:void 0}).outerHTML},parent(e){let r=t(e[0]?.parentNode);return r.is.empty?e:r},render(e){switch(!0){case!e.is.empty:return e.toDOM();default:return t.logger.warn("[JQx.render]: empty collection"),e}},Style(e){return{get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline(r){return e.style(r)},inSheet(r){return e.css(r)},valueOf(r){return e.is.empty?void 0:getComputedStyle(e[0])[T(r)]},nwRule(r){return e.Style.byRule({rules:r})},byRule({classes2Apply:r=[],rules:n=[]}={}){let a=u(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&u(n,String)?[n]:n,r=r&&u(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let f of r)e.addClass(f);return a?.startsWith(".")&&e.addClass(a.slice(1)),a?.startsWith("#")&&!e.attr("id")&&e.prop({id:a.slice(1)}),e}}}}}function nr(t){return{addClass(e,...r){return v(e,n=>n&&r.forEach(i=>n.classList.add(i)))},after(e,r){return se(e,r)},afterMe(e,r){return se(e,r)},andThen(e,r,n=!1){if(!r||!u(r,String,Node,Proxy))return w.log("[JQx instance].[before(Me) | after(Me) | andThen]: invalid/-sufficient input."),e;r=r?.isJQx?r:u(r,Node)?t.virtual(r):t.virtual(F(r));let[i,a,f]=n?[0,"before",r.collection.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r.collection)];return e[i][a](...r.collection),e.collection=f,e},append(e,...r){if(e.is.empty||r.length<1)return e;let n=e.length===1;for(let i of r){if(!i.isJQx&&L(i)){let a=i.trim(),S=!/^<(.+)[^>]+>$/m.test(a)?t.text(i):F(i);v(e,y=>y.append(n?S:H(S)))}P(i)&&v(e,a=>a.append(n?i:H(i))),i.isJQx&&!i.is.empty&&v(e,a=>i.collection.forEach(f=>a.append(n?f:H(f))))}return e},appendTo(e,r){switch(r=typeof r=="string"?t(r):r,!0){case(!r?.isJQx&&!u(r,HTMLElement)||r?.collection?.length<1):return t.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).append(e),e}},attr(e,r,n){if(!e.node||u(e.node,Text,Comment))return e;if(!n&&L(r))return r=T(r),r==="class"?[...e.node.classList].join(" "):e.node.getAttribute(r);if(L(r)&&n)switch(r=T(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return u(r,Object)&&!e.is.empty&&Le(e.node,r),e},before(e,r){return e.andThen(r,!0)},beforeMe(e,r){return Ne(e,r)},clear(e){return v(e,ne)},closest(e,r){let n=L(r)?e.node?.closest(r):void 0;return n?t(n):e},computedStyle(e,r){let{node:n}=e;return n&&getComputedStyle(n)[r]},css(e,r,n){return v(e,i=>qe(i,r,n,t))},duplicate(e,r=!1,n=document.body){switch(!0){case e.is.empty:return w.error("Duplicating an empty JQx instance is not possible"),e;default:let i=e.collection[0].cloneNode(!0);return i.childNodes.forEach(a=>{a.removeAttribute&&a?.removeAttribute("id")}),r?t(i).toDOM(n):t.virtual(i)}},each(e,r){return v(e,r)},empty(e){return v(e,ne)},find(e,r){return e.collection.length>0?[...e.first()?.querySelectorAll(r)]:[]},find$(e,r){return e.collection.length>0?t(r,e):e},first(e,r=!1){return e.collection.length>0?r?e.single():e.collection[0]:void 0},first$(e,r){return e.single(r)},getData(e,r,n){return e.node?.dataset?.[r]||n},hasClass(e,...r){return e.is.empty||!e.node.classList.length?!1:r.find(n=>e.node.classList.contains(n))&&!0||!1},hide(e){return v(e,r=>B(r,{display:"none !important"}))},html(e,r,n){switch(!0){case(e.is.empty&&!L(r)):return"";case!L(r):return e.node?.getHTML()??"";default:let i=F(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);return v(e,f=>(f.textContent=n?f.textContent:"",f.insertAdjacentHTML(t.at.end,i.getHTML())))}},htmlFor(e,r,n="",i=!1){if(e.is.empty||!L(r)||!L(n))return e;let a=e.find$(r);if(a.length<1)return e;let f=F(`<span>${n}</span>`);return a.each(S=>{i||(S.textContent=""),S.insertAdjacentHTML(t.at.end,f?.getHTML())}),e},isEmpty(e){return!e.node},nth$(e,r){return e.single(r)},on(e,r,...n){switch(!0){case(e.is.empty||!u(r,String,Array)||!L(r)||n.length<1):return e;default:return t.handle({type:r,node:e.node,handler:n}),e}},once(e,r,...n){switch(!0){case(e.is.empty||!u(r,String,Array)||!L(r)||n.length<1):return e;default:return t.handle({type:r,once:!0,node:e.node,handler:n}),e}},prepend(e,...r){if(e.is.empty||!r)return;let n=e.length===1;for(let i of r){if(L(i)){i=i.trim();let f=!/^<(.+)[^>]+>$/m.test(i)?t.text(i):F(i);f=n?f:H(f),v(e,S=>S.prepend(f.cloneNode(!0)))}P(i)&&v(e,a=>a.prepend(n?i:H(i))),i.isJQx&&!i.is.empty&&(i.collection.length>1&&i.collection.reverse(),v(e,a=>v(i,f=>a.prepend(n?f:H(f)))),i.collection.reverse())}return e},prependTo(e,r){switch(r=typeof r=="string"?t(r):r,!0){case(!r?.isJQx&&!u(r,HTMLElement)||r?.collection?.length<1):return t.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).prepend(e),e}},prop(e,r,n){if(u(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let i=u(r,Object)?r:{[r]:n};for(let[a,f]of Object.entries(i)){if(a=a.trim(),f&&!re(a)||!f)return!1;if(a.toLowerCase()==="id")return e[0].id=f;v(e,y=>{if(a.startsWith("data"))return y.dataset[a.slice(a.indexOf("-")+1)]=f;y[a]=f})}return e},remove(e,r){let n=a=>a.remove(),i=()=>e.collection=e.collection.filter(a=>document.documentElement.contains(a));if(r){let a=e.find$(r);return a.is.empty||(v(a,n),i()),e}return v(e,n),i(),e},rmAttr(e,...r){for(let n of r)e.node.removeAttribute(n);return e},removeClass(e,...r){return v(e,n=>{if(n)for(let i of r)n.classList.remove(i)})},renderTo(e,r,n){return r=u(r,HTMLElement)||r.isJQx?r:document.body,n=u(n,String)&&t.at[n]?n:t.at.end,e.first$().toDOM(r,n),e},replace(e,r,n){let i=e.node;return!r||!u(n,HTMLElement)&&!n?.isJQx?(t.logger.error("JQx replace: invalid replacement value"),e):((n.isJQx||u(n,NodeList))&&(n=n[0]),i&&r&&(r=u(r,String)?i.querySelectorAll(r):r.isJQx?r.collection:r,u(r,HTMLElement,NodeList,Array)&&u(n,HTMLElement)&&(u(r,HTMLElement)?[r]:[...r]).forEach(a=>a.replaceWith(n.cloneNode(!0)))),e)},replaceClass(e,r,...n){return v(e,i=>{i.classList.remove(r);for(let a of n)i.classList.add(a)})},replaceMe(e,r){return e.replaceWith(r)},replaceWith(e,r){return r=u(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e},setData(e,r){return v(e,n=>oe(n,r))},show(e){return v(e,r=>B(r,{display:"revert-layer !important"}))},single(e,r){let n=e.collection.length>0;switch(r=r??0,!0){case(n&&u(r,String)):return e.find$(r);case(n&&u(r,Number)):return t(e.collection[r]);case n:return e.collection[0];default:return e}},style(e,r,n){return v(e,a=>{n&&u(r,String)&&(r={[r]:n||"none"}),B(a,r)})},text(e,r,n=!1){switch(!0){case e.isEmpty():return e;case!u(r,String):return e.node.textContent;default:return v(e,i=>i.textContent=n?i.textContent+r:r)}},toDOM(e,r=document.body,n=N.BeforeEnd){return e.isVirtual=!1,I(e.collection,r,n),e},toggleClass(e,r){return v(e,n=>n.classList.toggle(r))},toNodeList(e){return[...e.collection].map(r=>document.importNode(r,!0))},trigger(e,r,n,i){n=u(n,Function)?n:Event,i=u(i,Object)?{...i,bubbles:i.bubbles??!0}:{bubbles:!0};let a=new n(r,i);return e.is.empty||e.each(f=>f.dispatchEvent(a)),e},val(e,r){switch(!0){case(e.is.empty||!u(e.node,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)):return e;case!u(r,String):return e.node.value;default:return e.node.value=u(r,String)?r:"",e}}}}var $e,ce,{isComment:fn,isText:dn,isHtmlString:mn,isArrayOfHtmlElements:gn,isArrayOfHtmlStrings:pn,ElemArray2HtmlString:yn,cssRuleEdit:Pe,addFn:or}=ir();function ir(){return{...Ze(),addFn:sr}}function sr(t,e){return t=t?.trim(),!L(t)||!u(e,Function)?w.error("JQx.fn: method invalid parameter(s)"):(ce[t]=(r,...n)=>e(r,...n),w.log(`JQx: added extension function [${t}]`))}function ar(t){return function(e,r,n){if(e=e?.trim(),!L(e)||!u(r,Function))return t.error("JQx.staticFn: invalid parameter(s)");let i=n?{get(){return r()}}:{value(...a){return r(...a)}};try{Object.defineProperty(t,e,i)}catch{return t.warn(`JQx.staticFn: extension [${e}] already exists`)}return w.log(`JQx: added static extension function [${e}]`)}}function _(t){return new Proxy(t,Object.freeze({get:(e,r)=>lr(e,r,t)}))}function tt(t,e){return(...r)=>u(t,Function)&&t(_(e),...r)}function lr(t,e,r){switch(!0){case u(e,Symbol):return A({trial:()=>t[e],whenError:()=>t});case u(+e,Number):return t.collection?.[e]||void 0;case e in $e:return tt($e[e],r)();case e in ce:return tt(ce[e],r);default:return t[e]}}function ot(t){let e=mr(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function ur(t){return{allow(e){let r=/-/.test(e),n=r&&e;e=r?W(e):e.toLowerCase(),$.allowTag(e),Object.defineProperties(t,Oe(e,!0,t,n))},prohibit(e){e=e.toLowerCase(),$.prohibitTag(e),Object.defineProperties(t,Oe(e,!1,t))}}}function rt(...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))Pe(e,{removeRule:1})}function cr(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(N).find(a=>n===a);let i=t(e,document.createElement("br"));if(r&&!u(r,HTMLBRElement))for(let a of i.collection)n?r.insertAdjacentElement(n,a):r.append(a);return i}}function fr(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[i,a]of Object.entries(n))!(i in e)&&Object.defineProperty(e,i,{...a,enumerable:!1})}return e}function dr(t,e,r,n){return t=T(n||t.toLowerCase()),{get(){return(...i)=>{let a=e&&r.virtual(M(V[t](...i)))||void 0,S=!u(a?.node,Comment,Text,void 0)?we(a):"";return w.log(e?`JQx: created (virtual) instance from [JQx].${t} ${S}`:`JQx: ${t.toUpperCase()} is prohibited. Use [JQx].allowTag if necessary.`),a}},enumerable:!1,configurable:!0}}function Oe(t,e,r,n){t=t.toLowerCase();let i=dr(t,e,r,n);return n?{[n]:i,[W(n)]:i}:{[t]:i,[t.toUpperCase()]:i}}function mr(t){return fr(Object.entries($.tagsRaw).reduce(gr(t),{}),xr(t))}function gr(t){return function(e,[r,n]){return Object.defineProperties(e,Oe(r,n,t)),e}}function pr(t){return function(e,r,...n){u(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function yr(t){return function(e){let{type:r,types:n,origin:i,selector:a,handler:f,handlers:S,node:y,name:x,capture:d,once:b,about:m}=e;f=S||f,r=n||r,a=i||a;let h=Fe(r),g=x;f=u(f,Function)?[f]:f;let c={type:h,selector:a||i,capture:d,name:g,once:b,node:y,about:m};switch(!0){case(u(h,Array)&&h.length>0):for(let o of h)c.type=o,nt(f,c,t);break;default:return nt(f,c,t)}}}function nt(t,e,r){for(let n of t)r.listen({...e,handler:n})}function br(t){return function(e,r){return r=L(r)&&r,e=L(e)&&e,r&&e&&t.listenerStore[e][r]}}function hr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:Z(t),enumerable:!1}),t.activePopup}function Sr(t){let e=(d,b)=>Pe(d,b),r=function(d){return Q({createWithId:d||`jqx${ae()}`})},n=function(...d){for(let b of d)Pe(b)},i=ur(t),a=K(t),f=yr(a);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:i,handle:f,capturedHandling:f,log:(...d)=>w.on.log(...d).off,warn:(...d)=>w.on.warn(...d).off,error:(...d)=>w.on.error(...d).off,handlerWrapper:a}}function xr(t){let{factoryExtensions:e,instanceExtensions:r}=et(t);$e=e,ce=r;let{editCssRule:n,createStyle:i,editCssRules:a,allowProhibit:f,handle:S,capturedHandling:y,log:x,warn:d,error:b,handlerWrapper:m}=Sr(t),h=br(t),g=ar(t);return{log:x,warn:d,error:b,editCssRules:a,createStyle:i,editStylesheet:i,editCssRule:n,escHtml:O,logger:w,text(c,o=!1){return o?t.comment(c):document.createTextNode(c)},node(c,o=document){return o.querySelector(c,o)},nodes(c,o=document){return[...o.querySelectorAll(c,o)]},clearAllTimers:ve,get staticFn(){return function(c,o,s){return g(c,o,s)}},get toBool(){return Te},get getNamedListener(){return h},get virtual(){return cr(t)},get allowTag(){return f.allow},get prohibitTag(){return f.prohibit},get removeCssRule(){return rt},get removeCssRules(){return rt},get delegate(){return pr(y)},get delegateCaptured(){return y},get handle(){return y},get listen(){return m.listen},get at(){return N},get setStyle(){return n},get fn(){return or},get lenient(){return $.allowUnknownHtmlTags},get IS(){return u},get Popup(){return hr(t)},get listenerStore(){return m.ListenerStore}}}var it=ot(Er());function Er(){return function(e,r,n=N.BeforeEnd){if(e?.isJQx)return e;let i=u(r,HTMLBRElement);r=(!i&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(N).find(d=>n===d)?n:void 0;let a=z(e),S=!a&&ue(e)||a,y={collection:ie(e)??[],isVirtual:i,isJQx:!0},x=Y(y.collection);if(y.collection.length&&x)return i||y.collection.forEach(d=>{r.contains(d)||I([d],r,n)}),_(y);if(S){if([e].flat().forEach(d=>y.collection.push(F(d))),y.collection.length>0){let d=y.collection.filter(g=>g?.dataset?.jqxcreationerror);y.collection=y.collection.filter(g=>!g?.dataset?.jqxcreationerror);let m=y.collection.map(g=>`${String(g.constructor).split(/function|\(/)[1].trim()}`).length>1;y=_(y);let h=y.collection.length>0?Ge(y):"sanitized: no elements remaining";w.log(`JQx: created ${y.isVirtual?"(virtual)":""} instance from ${m?"array of ":""}HTML string${m?"s":""} ${h}`),y.isVirtual||I(y.collection,r,n)}return y}return Ae(e,r,y),_(y)}}var vr=it;return ft(wr);})();
|
|
13
|
+
`)}function Gt(t){return t.reduce((e,r)=>{let[n,i]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&i?{...e,[n]:i}:e},{})}function Zt(t){return Gt(Xt(t))}function _e(t,e){return t?.replace("::",":")===e?.replace("::",":")}var xe=!1,Kt={on:()=>xe=!0,off:()=>xe=!1},N={tagsRaw:J,allowUnknownHtmlTags:Kt,isAllowed(t){if(xe)return!0;let e=u(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!J[e]},allowTag:t=>J[t.toLowerCase()]=!0,prohibitTag:t=>J[t.toLowerCase()]=!1};var qt=!0,Z={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 er(t){if(qt&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,i])=>[...r,`${P(n)} => ${i}`],[]).join("\\000A");w.error(`JQx: HTML creation error(s): ${e}`)}}function tr(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)||N.isAllowed(e)}function M(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return u(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&M(r),r?.attributes){let i=u(r,SVGElement)?R.svg:R.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let f=l.name.trim().toLowerCase(),S=l.value.trim().toLowerCase().replace(Z.whiteSpace,""),y=f==="href"?!Z.validURL.test(S):Z.notAllowedValues.test(S),x=f.startsWith("data")?!Z.data.test(f):!!i[f];if(y||x){let d=K(l.value||"none",60);d+=d.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${d}`,r.removeAttribute(l.name)}})}if(!(tr(r)||r.constructor===CharacterData||r.constructor===Comment)){let i=(r?.outerHTML||r?.textContent).trim(),l=K(i,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),er(e),t}function rr(t){let e=document.createElement("div");return e.insertAdjacentHTML(A.end,t),e.childNodes.length?M(e):void 0}function nr(t,e,r){switch(!0){case u(t,Comment):return e.insertAdjacentHTML(r,`<!--${t.data}-->`);case u(t,Text):return e.insertAdjacentText(r,t.data||t.textContent);default:return}}function I(t=[],e=document.body,r=A.BeforeEnd){return r=r||A.BeforeEnd,e=e?.isJQx?e.node:e||document.body,t.reduce((n,i)=>{let l=O(i)&&or(i,e,r);return l?[...n,l]:n},[])}function or(t,e=document.body,r=A.BeforeEnd){return r=r||A.BeforeEnd,e=e?.isJQx?e?.[0]:e,u(t,Comment,Text)?nr(t,e,r):u(t,HTMLElement)?e.insertAdjacentElement(r,t):void 0}function T(t){if(u(t,Text,Comment))return t;let e=t?.trim(),r=e?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(i=>i.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(t.replace(/<!--|-->$/g,""));if(r||u(e,String)&&!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(r??e);let n=rr(t);return n.childNodes.length<1?T(`<span data-jqxcreationerror="1">${q(t,60)}</span>`):n.children[0]}function ee(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(...De);let e=[],[r,n]=[t("#jqxPopupContent"),t.node("#jqxPopup")],i={};return t.handle({type:"click, cancel",handlers:m,name:"genericPopupCloseHandler",capture:!0,about:"A generic handler for JQx popups"}),Object.freeze({show:l,remove:f,removeModal:b});function l(c){if(n.open)switch(!0){case S(c):return;default:return f(),setTimeout(()=>l(c),200)}i={...c};let{content:o}=i;return t.IS(o,String,HTMLElement)||o?.isJQx?y():!0}function f(){return i.modal?g(i.warnMessage):x()}function S(c){for(let[o,s]of Object.entries(i))if(s!==c[o])return!1;return!0}function y(){r.clear();let{content:c,modal:o,closeAfter:s}=i;o=t.IS(o,Boolean)?o:!1;let a=o?"":t.div({id:"closeHandleIcon"});r.append(a,t.IS(c,String)?t.div(c):c),n.showModal(),!o&&t.IS(s,Number)&&h(f,s)}function x(){if(n.close(i.returnValue),d(),t.IS(i.callback,Function))return e.push(setTimeout(()=>i.callback(i.returnValue),200));i={}}function d(){e.forEach(c=>clearTimeout(c)),e=[]}function b({callback:c,value:o}={}){i.returnValue=o,i.modal=!1,i.callback=c||i.callback,f()}function m({evt:c}){if(!(Object.keys(i).length<1||!n.open)&&(c.type==="cancel"&&i.modal&&c.preventDefault(),c.target.closest("#closeHandleIcon")||!c.target.closest("#jqxPopupContent")))return i.activeTimer&&clearTimeout(i.activeTimer),f()}function h(c,o){t.IS(c,Function)&&t.IS(o,Number)&&o>0&&(d(),e.push(setTimeout(c,o*1e3)))}function g(c){if(!t.IS(c,String,HTMLElement,Proxy))return;let o=r.find$(".warn");switch(!0){case o.is.empty:o=t.div({class:"warn"},c);default:r.append(o.addClass("active")),h(()=>r.find$(".warn").removeClass("active"),2)}}}function te(t){let e={},r="anonymous_";function n(d){if(d){let{handler:b,capture:m,type:h}=d;document.addEventListener(h,b,{capture:m})}}function i(d){if(d){let{type:b,handler:m,capture:h}=d;document.removeEventListener(b,m,{capture:h})}}function l(d,b,m,h){return function(g){if(!L(b))return d({evt:g});let c=g.target.closest(b);if(c){let o=t(c);d({self:o,me:o,evt:g}),m&&y(g.type,h)}return!0}}function f(d){return e[d]=e[d]||{},e[d]}function S(d,b){return Object.entries(f(d)).find(([m])=>m===b)}function y(d,b){let m=S(d,b);m&&(i(m[1]),delete e[d][b],delete re[b],w.warn(`Removed listener [${b}] for event type [${d}].`))}function x(d){let{type:b,handler:m,name:h,capture:g,once:c,selector:o,node:s,about:a}=d;e[b]=e[b]||{};let p=Ee(h||m.name),E=m;if(s instanceof HTMLElement){let C=s.dataset.hid||p;s.dataset.hid=C,o=`[data-hid=${C}]`}switch(!0){case!e[b][p]:return w.log(`JQx: created listener for event type ${b}, with handler name ${p}`),e[b][p]={name:p,handler:l(m,o,c,p),capture:Ve(b,g),once:!!c,type:b,initialHandler:E,selector:!!o&&o||!1,about:!!a&&a||!1,unListen(){y(b,p)}},e[b][p];default:return console.warn(`The listener [${p}] for [${b}] exists, it is not re-assigned.`)}}return{remove(...d){return y(...d)},listen:function(d){let{type:b,handler:m}=d;if(!L(b)||!u(m,Function))return;let h=x(d);if(h)return n(h),{type:b,name:h.name,unListen(){y(b,h.name)}}},get ListenerStore(){return Object.freeze({...e})}}}var w=lr(),ir=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],A=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]}})),sr=[...Array(26)].map((t,e)=>String.fromCharCode(e+65)).concat([...Array(26)].map((t,e)=>String.fromCharCode(e+97))).concat([...Array(10)].map((t,e)=>`${e}`)),we=Object.freeze({get(t,e){return t[_(e)]||t[e]},enumerable:!1,configurable:!1}),re={};Me.custom();function Le(){let t=setTimeout(()=>{});for(;t>=0;)clearTimeout(t--)}function Ee(t){return L(t)&&!/^handler|handlers$/gi.test(t.trim())?t.trim():Ue()}function Ae(t){let e=!!t.node&&!u(t,Text,Comment);switch(!0){case e:let r=t.node.dataset?Object.keys(t.node.dataset).map(l=>`[data-${l}]`):[],i=[t.attr("id")&&`#${t?.attr("id")}`||void 0,t.attr("class")&&t?.attr("class").split(" ").map(l=>`.${l}`).join(", ")||void 0,r.length>0&&r.join(", ")||void 0].filter(l=>!!l).join(", ")||[];return i.length?`(${i})`:"";default:return""}}function Ue(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return re[e]?Ue():(re[e]=e,e)}function Ve(t,e){return!!ir.find(r=>r===t)||!!e}function ie(t){return t.startsWith("data")||R.html.find(e=>t.toLowerCase()===e)}function se(t){return t&&(t.textContent="")}function W(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?W(t,e,r):e}function L(t,e=1){return e=u(e,Number)&&e||1,u(t,String)&&t.length>=e}function K(t,e=120){return q(t,e).replace(/</g,"<")}function q(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 P(t){switch(!0){case u(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function ve(t){return u(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function lr(){let[t,e]=[!1,!0],r=[],n={get on(){return t=!0,n},get off(){return t=!1,n},get disable(){return e=!0,n},get enable(){return e=!1,n},get backLog(){return r}};function i(){e=!0}function l(){e=!1}function f(...x){return r.unshift(...x.map(d=>`${oe()} \u2A3B ${ve(d)}`)),console.error(r.slice(0,x.length).join(`
|
|
14
|
+
`)),n}function S(...x){return r.unshift(...x.map(d=>`${oe()} \u26A0 ${ve(d)}`)),console.warn(r.slice(0,x.length).join(`
|
|
15
|
+
`)),n}function y(...x){let d=x.map(b=>`${oe()} \u2714 ${ve(b)}`);switch(!e&&r.unshift(...d),t){case!0:console.log(d.join(`
|
|
16
|
+
`));default:return n}}return Object.defineProperties(n,{log:{value:y,enumerable:!1},error:{value:f,enumerable:!1},warn:{value:S,enumerable:!1}}),Object.freeze(n)}function oe(){return(t=>`[${ne(t.getHours())}:${ne(t.getMinutes())}:${ne(t.getSeconds())}.${ne(t.getMilliseconds(),3)}]`)(new Date)}function Fe(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=F(r),r.startsWith("data"))return le(t,n);u(n,String)&&ie(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function le(t,e){if(t&&u(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${F(r)}`,n)}function ae(t){return t?u(t,Proxy)?[t.EL]:u(t,NodeList)?[...t]:O(t)?[t]:U(t)?t:t.isJQx?t.collection:void 0:[]}function D(t,e,r=!0,...n){if(t.is.empty)return w.log("[JQx instance].[before(Me) | after(Me) | andThen]: instance is empty."),t;if(n=n.map(l=>l.isJQx?l.node:u(l,String)?e(l).node??l:l),n.find(l=>!u(l,String,Element))){let l=r?"after":"before";return w.log(`[JQx instance].[${l}(Me)]: invalid/-sufficient input.`),t}return t.node[r?"after":"before"](...n),t}function O(t){return u(t,Text,HTMLElement,Comment)}function Y(t,e){if(u(e,Object))for(let[r,n]of Object.entries(e)){let i;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),i="important"),t.style.setProperty(F(r),n,i)}}function H(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function Xe(t){if(!u(t,HTMLElement))return;let e=t.style,r=getComputedStyle(t),n=!![e.visibility,r.visibility].includes("hidden"),i=!![e.display,r.display].includes("none"),l=!!t.hidden,f=parseInt(r.height)<1||parseInt(r.width)<1,S=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,y=+r.opacity==0||+(e.opacity||1)==0;return!(l||S||y||i||n||f)}function Ge(t){return t?.isConnected?!![...document.querySelectorAll(":is(:read-write)")].find(e=>e===t):!1}function Ze(t){return t?.filter(e=>e).reduce((e,r)=>e.concat($e(r)?`<!--${r.data}-->`:ce(r)?r.textContent:r.outerHTML),"")}function ne(t,e=2){return`${t}`.padStart(e,"0")}function Ke(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 ue(){return`_${ar(sr).slice(0,8).join("")}`}function Ce(t){return t=u(t,String)&&/,/.test(t)?t.split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):t,u(t,Array)?t:u(t,String)&&t?.trim().toLowerCase()||""}function qe(t){return t?.isConnected?!![...document.querySelectorAll(":is(:modal)")].find(e=>e===t):!1}function Te(t,e){switch(t=String(t).trim(),!0){case/^(0|false|f)$/i.test(t):return!1;case/^(1|true|t)$/i.test(t):return!0;default:return e}}function ar(t){let e=t.length;for(;e--;){let r=Ke(e);[t[e],t[r]]=[t[r],t[e]]}return t}function _(t){return u(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${ur(e)}`||e).join(""):t}function F(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function ur([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function ce(t){return u(t,Comment,Text)}function $e(t){u(t,Comment)}function et(t){return u(t,Text)}function V(t){return u(t,String)&&/^<|>$/.test(`${t}`.trim())}function U(t){return u(t,Array)&&!t?.find(e=>!O(e))}function fe(t){return u(t,Array)&&!t?.find(e=>!V(e))}function v(t,e){let r=t.collection.filter(n=>!ce(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function tt(t){return t.node?u(t.node,Comment)?`<!--${t.node.textContent}-->`:t.HTML.get(1).split(">")[0]+">...":""}function Ne(t,e,r){let n=e!==document.body&&u(t,String)&&t.toLowerCase()!=="body"?e:document;try{r.collection=[...n.querySelectorAll(t)]}catch{w.warn(`JQx: Invalid CSS querySelector. [${u(t,String)?t:"Not a string!"}]`)}}function rt(){return{isCommentOrTextNode:ce,isNode:O,isComment:$e,isText:et,isHtmlString:V,isArrayOfHtmlElements:U,isArrayOfHtmlStrings:fe,ElemArray2HtmlString:Ze,input2Collection:ae,setCollectionFromCssSelector:Ne,cssRuleEdit:z({createWithId:"JQxStylesheet"})}}function nt(){let e=Object.freeze({notInDOM:"n/a",writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return u(n,Node)?Object.freeze({get writable(){return Ge(n)},get modal(){return qe(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return Xe(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function ot(t,e,r,n){r&&u(e,String)&&(e={[e]:r==="-"?"":r});let i;e.className&&(i=e.className,delete e.className),i=[...t.classList].find(f=>f.startsWith("JQxClass-")||i&&f===i)||i||`JQxClass-${ue().slice(1)}`,n.editCssRule(`.${i}`,e),t.classList.add(i)}var cr=nt();function it(t){return{factoryExtensions:fr(t),instanceExtensions:dr(t)}}function fr(t){return{data(e){return{get all(){return new Proxy(e[0]?.dataset??{},we)},set(r={}){if(!e.is.empty&&u(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},get(r,n){return e.data.all[r]??n},add(r={}){if(!e.is.empty&&u(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},remove(r){return e[0]?.removeAttribute(`data-${F(r)}`),e}}},dimensions(e){if(e.is.empty)return w.error("[JQx instance].dimensions called on empty instance"),{error:"[JQx instance].dimensions: NO ELEMENTS"};let{node:r}=e,n=r.getBoundingClientRect().toJSON();return n.scrollTopDistance=W(r,0),n.scrollLeftDistance=W(r,0,!1),n},node(e){return e[0]},HTML(e){return{get(r,n){if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let i=r?e.outerHtml:e.html();return n?P(i):i},set(r,n=!1,i=!1){r=r.isJQx?r.HTML.get(1):r;let l=u(r,String);return r=l&&i?P(r):r,l&&(r||"").trim().length&&e.html(r,n),e},replace(r,n=!1){return e.HTML.set(r,!1,n)},append(r,n=!1){return r=u(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)},insert(r,n=!1){return r=u(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){return cr(e)},length(e){return e.collection.length},outerHtml(e){return(e.first()||{outerHTML:void 0}).outerHTML},parent(e){let r=t(e[0]?.parentNode);return r.is.empty?e:r},render(e){switch(!0){case!e.is.empty:return e.toDOM();default:return t.logger.warn("[JQx.render]: empty collection"),e}},Style(e){return{get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline(r){return e.style(r)},inSheet(r){return e.css(r)},valueOf(r){return e.is.empty?void 0:getComputedStyle(e[0])[F(r)]},nwRule(r){return e.Style.byRule({rules:r})},byRule({classes2Apply:r=[],rules:n=[]}={}){let l=u(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&u(n,String)?[n]:n,r=r&&u(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 dr(t){return{addClass(e,...r){return v(e,n=>n&&r.forEach(i=>n.classList.add(i)))},after(e,...r){return D(e,t,!0,...r)},afterMe(e,...r){return D(e,t,!0,...r)},andThen(e,...r){return D(e,t,!0,...r)},append(e,...r){if(e.is.empty||r.length<1)return e;let n=e.length===1;for(let i of r){if(!i.isJQx&&L(i)){let l=i.trim(),S=!/^<(.+)[^>]+>$/m.test(l)?t.text(i):T(i);v(e,y=>y.append(n?S:H(S)))}O(i)&&v(e,l=>l.append(n?i:H(i))),i.isJQx&&!i.is.empty&&v(e,l=>i.collection.forEach(f=>l.append(n?f:H(f))))}return e},appendTo(e,r){switch(r=typeof r=="string"?t(r):r,!0){case(!r?.isJQx&&!u(r,HTMLElement)||r?.collection?.length<1):return t.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).append(e),e}},attr(e,r,n){if(!e.node||u(e.node,Text,Comment))return e;if(!n&&L(r))return r=F(r),r==="class"?[...e.node.classList].join(" "):e.node.getAttribute(r);if(L(r)&&n)switch(r=F(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return u(r,Object)&&!e.is.empty&&Fe(e.node,r),e},before(e,...r){return D(e,t,!1,...r)},beforeMe(e,...r){D(e,t,!1,...r)},clear(e){return v(e,se)},closest(e,r){let n=L(r)?e.node?.closest(r):void 0;return n?t(n):e},computedStyle(e,r){let{node:n}=e;return n&&getComputedStyle(n)[r]},css(e,r,n){return v(e,i=>ot(i,r,n,t))},duplicate(e,r=!1,n=document.body){switch(!0){case e.is.empty:return w.error("Duplicating an empty JQx instance is not possible"),e;default:let i=e.collection[0].cloneNode(!0);return i.childNodes.forEach(l=>{l.removeAttribute&&l?.removeAttribute("id")}),r?t(i).toDOM(n):t.virtual(i)}},each(e,r){return v(e,r)},empty(e){return v(e,se)},find(e,r){return e.collection.length>0?[...e.first()?.querySelectorAll(r)]:[]},find$(e,r){return e.collection.length>0?t(r,e):e},first(e,r=!1){return e.collection.length>0?r?e.single():e.collection[0]:void 0},first$(e,r){return e.single(r)},getData(e,r,n){return e.node?.dataset?.[r]||n},hasClass(e,...r){return e.is.empty||!e.node.classList.length?!1:r.find(n=>e.node.classList.contains(n))&&!0||!1},hide(e){return v(e,r=>Y(r,{display:"none !important"}))},html(e,r,n){switch(!0){case(e.is.empty&&!L(r)):return"";case!L(r):return e.node?.getHTML()??"";default:let i=T(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);return v(e,f=>(f.textContent=n?f.textContent:"",f.insertAdjacentHTML(t.at.end,i.getHTML())))}},htmlFor(e,r,n="",i=!1){if(e.is.empty||!L(r)||!L(n))return e;let l=e.find$(r);if(l.length<1)return e;let f=T(`<span>${n}</span>`);return l.each(S=>{i||(S.textContent=""),S.insertAdjacentHTML(t.at.end,f?.getHTML())}),e},isEmpty(e){return!e.node},nth$(e,r){return e.single(r)},on(e,r,...n){switch(!0){case(e.is.empty||!u(r,String,Array)||!L(r)||n.length<1):return e;default:return t.handle({type:r,node:e.node,handler:n}),e}},once(e,r,...n){switch(!0){case(e.is.empty||!u(r,String,Array)||!L(r)||n.length<1):return e;default:return t.handle({type:r,once:!0,node:e.node,handler:n}),e}},prepend(e,...r){if(e.is.empty||!r)return;let n=e.length===1;for(let i of r){if(L(i)){i=i.trim();let f=!/^<(.+)[^>]+>$/m.test(i)?t.text(i):T(i);f=n?f:H(f),v(e,S=>S.prepend(f.cloneNode(!0)))}O(i)&&v(e,l=>l.prepend(n?i:H(i))),i.isJQx&&!i.is.empty&&(i.collection.length>1&&i.collection.reverse(),v(e,l=>v(i,f=>l.prepend(n?f:H(f)))),i.collection.reverse())}return e},prependTo(e,r){switch(r=typeof r=="string"?t(r):r,!0){case(!r?.isJQx&&!u(r,HTMLElement)||r?.collection?.length<1):return t.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).prepend(e),e}},prop(e,r,n){if(u(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let i=u(r,Object)?r:{[r]:n};for(let[l,f]of Object.entries(i)){if(l=l.trim(),f&&!ie(l)||!f)return!1;if(l.toLowerCase()==="id")return e[0].id=f;v(e,y=>{if(l.startsWith("data"))return y.dataset[l.slice(l.indexOf("-")+1)]=f;y[l]=f})}return e},remove(e,r){let n=l=>l.remove(),i=()=>e.collection=e.collection.filter(l=>document.documentElement.contains(l));if(r){let l=e.find$(r);return l.is.empty||(v(l,n),i()),e}return v(e,n),i(),e},rmAttr(e,...r){for(let n of r)e.node.removeAttribute(n);return e},removeClass(e,...r){return v(e,n=>{if(n)for(let i of r)n.classList.remove(i)})},renderTo(e,r,n){return r=u(r,HTMLElement)||r.isJQx?r:document.body,n=u(n,String)&&t.at[n]?n:t.at.end,e.first$().toDOM(r,n),e},replace(e,r,n){let i=e.node;return!r||!u(n,HTMLElement)&&!n?.isJQx?(t.logger.error("JQx replace: invalid replacement value"),e):((n.isJQx||u(n,NodeList))&&(n=n[0]),i&&r&&(r=u(r,String)?i.querySelectorAll(r):r.isJQx?r.collection:r,u(r,HTMLElement,NodeList,Array)&&u(n,HTMLElement)&&(u(r,HTMLElement)?[r]:[...r]).forEach(l=>l.replaceWith(n.cloneNode(!0)))),e)},replaceClass(e,r,...n){return v(e,i=>{i.classList.remove(r);for(let l of n)i.classList.add(l)})},replaceMe(e,r){return e.replaceWith(r)},replaceWith(e,r){return r=u(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e},setData(e,r){return v(e,n=>le(n,r))},show(e){return v(e,r=>Y(r,{display:"revert-layer !important"}))},single(e,r){let n=e.collection.length>0;switch(r=r??0,!0){case(n&&u(r,String)):return e.find$(r);case(n&&u(r,Number)):return t(e.collection[r]);case n:return e.collection[0];default:return e}},style(e,r,n){return v(e,l=>{n&&u(r,String)&&(r={[r]:n||"none"}),Y(l,r)})},text(e,r,n=!1){switch(!0){case e.isEmpty():return e;case!u(r,String):return e.node.textContent;default:return v(e,i=>i.textContent=n?i.textContent+r:r)}},toDOM(e,r=document.body,n=A.BeforeEnd){return e.isVirtual=!1,I(e.collection,r,n),e},toggleClass(e,r){return v(e,n=>n.classList.toggle(r))},toNodeList(e){return[...e.collection].map(r=>document.importNode(r,!0))},trigger(e,r,n,i){n=u(n,Function)?n:Event,i=u(i,Object)?{...i,bubbles:i.bubbles??!0}:{bubbles:!0};let l=new n(r,i);return e.is.empty||e.each(f=>f.dispatchEvent(l)),e},val(e,r){switch(!0){case(e.is.empty||!u(e.node,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)):return e;case!u(r,String):return e.node.value;default:return e.node.value=u(r,String)?r:"",e}}}}var Oe,de,{isComment:xn,isText:En,isHtmlString:vn,isArrayOfHtmlElements:wn,isArrayOfHtmlStrings:Ln,ElemArray2HtmlString:An,cssRuleEdit:Pe,addFn:mr}=gr();function gr(){return{...rt(),addFn:pr}}function pr(t,e){return t=t?.trim(),!L(t)||!u(e,Function)?w.error("JQx.fn: method invalid parameter(s)"):(de[t]=(r,...n)=>e(r,...n),w.log(`JQx: added extension function [${t}]`))}function yr(t){return function(e,r,n){if(e=e?.trim(),!L(e)||!u(r,Function))return t.error("JQx.staticFn: invalid parameter(s)");let i=n?{get(){return r()}}:{value(...l){return r(...l)}};try{Object.defineProperty(t,e,i)}catch{return t.warn(`JQx.staticFn: extension [${e}] already exists`)}return w.log(`JQx: added static extension function [${e}]`)}}function X(t){return new Proxy(t,Object.freeze({get:(e,r)=>br(e,r,t)}))}function st(t,e){return(...r)=>u(t,Function)&&t(X(e),...r)}function br(t,e,r){switch(!0){case u(e,Symbol):return $({trial:()=>t[e],whenError:()=>t});case u(+e,Number):return t.collection?.[e]||void 0;case e in Oe:return st(Oe[e],r)();case e in de:return st(de[e],r);default:return t[e]}}function ut(t){let e=vr(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function hr(t){return{allow(e){let r=/-/.test(e),n=r&&e;e=r?_(e):e.toLowerCase(),N.allowTag(e),Object.defineProperties(t,He(e,!0,t,n))},prohibit(e){e=e.toLowerCase(),N.prohibitTag(e),Object.defineProperties(t,He(e,!1,t))}}}function lt(...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))Pe(e,{removeRule:1})}function Sr(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(A).find(l=>n===l);let i=t(e,document.createElement("br"));if(r&&!u(r,HTMLBRElement))for(let l of i.collection)n?r.insertAdjacentElement(n,l):r.append(l);return i}}function xr(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[i,l]of Object.entries(n))!(i in e)&&Object.defineProperty(e,i,{...l,enumerable:!1})}return e}function Er(t,e,r,n){return t=F(n||t.toLowerCase()),{get(){return(...i)=>{let l=e&&r.virtual(M(B[t](...i)))||void 0,S=!u(l?.node,Comment,Text,void 0)?Ae(l):"";return w.log(e?`JQx: created (virtual) instance from [JQx].${t} ${S}`:`JQx: ${t.toUpperCase()} is prohibited. Use [JQx].allowTag if necessary.`),l}},enumerable:!1,configurable:!0}}function He(t,e,r,n){t=t.toLowerCase();let i=Er(t,e,r,n);return n?{[n]:i,[_(n)]:i}:{[t]:i,[t.toUpperCase()]:i}}function vr(t){return xr(Object.entries(N.tagsRaw).reduce(wr(t),{}),$r(t))}function wr(t){return function(e,[r,n]){return Object.defineProperties(e,He(r,n,t)),e}}function Lr(t){return function(e,r,...n){u(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function Ar(t){return function(e){let{type:r,types:n,origin:i,selector:l,handler:f,handlers:S,node:y,name:x,capture:d,once:b,about:m}=e;f=S||f,r=n||r,l=i||l;let h=Ce(r),g=x;f=u(f,Function)?[f]:f;let c={type:h,selector:l||i,capture:d,name:g,once:b,node:y,about:m};switch(!0){case(u(h,Array)&&h.length>0):for(let o of h)c.type=o,at(f,c,t);break;default:return at(f,c,t)}}}function at(t,e,r){for(let n of t)r.listen({...e,handler:n})}function Fr(t){return function(e,r){return r=L(r)&&r,e=L(e)&&e,r&&e&&t.listenerStore[e][r]}}function Cr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:ee(t),enumerable:!1}),t.activePopup}function Tr(t){let e=(d,b)=>Pe(d,b),r=function(d){return z({createWithId:d||`jqx${ue()}`})},n=function(...d){for(let b of d)Pe(b)},i=hr(t),l=te(t),f=Ar(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:i,handle:f,capturedHandling:f,log:(...d)=>w.on.log(...d).off,warn:(...d)=>w.on.warn(...d).off,error:(...d)=>w.on.error(...d).off,handlerWrapper:l}}function $r(t){let{factoryExtensions:e,instanceExtensions:r}=it(t);Oe=e,de=r;let{editCssRule:n,createStyle:i,editCssRules:l,allowProhibit:f,handle:S,capturedHandling:y,log:x,warn:d,error:b,handlerWrapper:m}=Tr(t),h=Fr(t),g=yr(t);return B.setError=c=>(b(`JQx direct element creation error: [${c}] is not a valid tag`),t.br()),{log:x,warn:d,error:b,editCssRules:l,createStyle:i,editStylesheet:i,editCssRule:n,escHtml:P,logger:w,text(c,o=!1){return o?t.comment(c):document.createTextNode(c)},node(c,o=document){return o.querySelector(c,o)},nodes(c,o=document){return[...o.querySelectorAll(c,o)]},clearAllTimers:Le,get staticFn(){return function(c,o,s){return g(c,o,s)}},get toBool(){return Te},get getNamedListener(){return h},get virtual(){return Sr(t)},get allowTag(){return f.allow},get prohibitTag(){return f.prohibit},get removeCssRule(){return lt},get removeCssRules(){return lt},get delegate(){return Lr(y)},get delegateCaptured(){return y},get handle(){return y},get listen(){return m.listen},get at(){return A},get setStyle(){return n},get fn(){return mr},get lenient(){return N.allowUnknownHtmlTags},get IS(){return u},get Popup(){return Cr(t)},get listenerStore(){return m.ListenerStore}}}var ct=ut(Nr());function Nr(){return function(e,r,n=A.BeforeEnd){if(e?.isJQx)return e;let i=u(r,HTMLBRElement);r=(!i&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(A).find(d=>n===d)?n:void 0;let l=V(e),S=!l&&fe(e)||l,y={collection:ae(e)??[],isVirtual:i,isJQx:!0},x=U(y.collection);if(y.collection.length&&x)return i||y.collection.forEach(d=>{r.contains(d)||I([d],r,n)}),X(y);if(S){if([e].flat().forEach(d=>y.collection.push(T(d))),y.collection.length>0){let d=y.collection.filter(g=>g?.dataset?.jqxcreationerror);y.collection=y.collection.filter(g=>!g?.dataset?.jqxcreationerror);let m=y.collection.map(g=>`${String(g.constructor).split(/function|\(/)[1].trim()}`).length>1;y=X(y);let h=y.collection.length>0?tt(y):"sanitized: no elements remaining";w.log(`JQx: created ${y.isVirtual?"(virtual)":""} instance from ${m?"array of ":""}HTML string${m?"s":""} ${h}`),y.isVirtual||I(y.collection,r,n)}return y}return Ne(e,r,y),X(y)}}var Or=ct;return yt(Pr);})();
|
package/Bundle/jqx.min.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
var{IS:u,maybe:A,$Wrap:pr,isNothing:it,xProxy:Oe,addSymbolicExtensions:yr}=st({useSymbolicExtensions:!1});function st(t={}){let{useSymbolicExtensions:e}=t,{shouldbeIsSingleObject:r,ISOneOf:n,isExcept:i,verifyNothingness:a,xProxy:f,determineType:S,addSymbolicExtensions:y,maybe:x,$Wrap:d}=at(b,e);return e&&y(),{IS:b,maybe:x,$Wrap:d,isNothing:a,xProxy:f,addSymbolicExtensions:y};function b(m,...h){let g=typeof m=="symbol"?Symbol.isSymbol:m;switch(!0){case!!x({trial:c=>"isTypes"in(h?.[0]??{})}):return r(m,h[0]);default:return h.length>1?n(g,...h):S(m,...h)}}}function at(t,e){let{SymbolAndCustomProxyFactory:r,maybeFactory:n,WrapAnyFactory:i,verifyNothingness:a,determineType:f}=lt(t,b),{xProxy:S,addSymbolicExtensions:y}=r(t,b,e),[x,d]=[n(),i(t,b)];return Object.freeze({shouldbeIsSingleObject:m,ISOneOf:h,isExcept:c,verifyNothingness:a,xProxy:S,determineType:f,addSymbolicExtensions:y,maybe:x,$Wrap:d});function b(o){return o?.[Symbol.proxy]??t(o)}function m(o,s){switch(!0){case"defaultValue"in s:return g(o,s);case"notTypes"in s:return c(o,s);default:return t(o,...[s.isTypes].flat())}}function h(o,...s){return s.some(l=>t(o,l))}function g(o,{defaultValue:s,isTypes:l=[void 0],notTypes:p}={}){return l=l?.constructor!==Array?[l]:l,p=p&&p?.constructor!==Array?[p]:[],p.length<1?t(o,...l)?o:s:c(o,{isTypes:l,notTypes:p})?o:s}function c(o,{isTypes:s=[void 0],notTypes:l=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,l=l?.constructor!==Array?[l]:l,t(o,...s)&&!t(o,...l)}}function lt(){let t={IS:"toa.is",TYPE:"toa.type",IS_SYMBOL:"toa.isASymbol",PROXY:"toa.proxy"},e={NAN:"NaN",INFINITY:"Infinity",BOOLEAN:"Boolean",OBJECT:"Object",PROXY_PREFIX:"Proxy ("};return Object.freeze({SymbolAndCustomProxyFactory:n,maybeFactory:g,WrapAnyFactory:h,verifyNothingness:c,determineType:y});function r(o,s){Symbol.is||(Symbol.is=Symbol.for(t.IS),Symbol.type=Symbol.for(t.TYPE),Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return s(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...l){return o(this,...l)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(l){return s(l)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(l,...p){return o(l,...p)},enumerable:!1,configurable:!1}}))}function n(o,s,l){return Symbol.isSymbol||(Symbol.isSymbol=Symbol.for(t.IS_SYMBOL)),{xProxy:f(),addSymbolicExtensions:()=>r(o,s)}}function i(o){return(it(o,!0)?{name:"unknown"}:Object.getPrototypeOf(o)?.constructor).name}function a(o,s){return Proxy=new o(o,{construct(l,p){let E=new l(...p);return Object.defineProperty(E,s,{value:`${e.PROXY_PREFIX}${i(p[0])})`}),E}}),Proxy}function f(){Symbol.proxy||(Symbol.proxy=Symbol.for(t.PROXY));let o=Proxy;return{native(){Proxy=o},custom(){Proxy=a(o,Symbol.proxy)}}}function S(o,...s){let l=s.length<1,p=o==null;return{noInput:p,noShouldbe:l,compareTo:!l&&s[0],inputCTOR:!p&&(o?.constructor||Object.getPrototypeOf(o)?.constructor),isNaN:Number.isNaN(o)||A({trial:E=>String(o)===e.NAN}),isInfinity:A({trial:E=>String(o)})===e.INFINITY,shouldBeFirstElementIsNothing:!l&&c(s[0])}}function y(o,...s){let{noInput:l,noShouldbe:p,compareTo:E,inputCTOR:C,isNaN:fe,isInfinity:de,shouldBeFirstElementIsNothing:me}=S(o,...s);switch(s=s.length&&s[0],!0){case me:return String(o)===String(E);case(o?.[Symbol.proxy]&&p):return o[Symbol.proxy];case fe:return p?e.NAN:String(E)===String(o);case de:return p?e.INFINITY:String(E)===String(o);case l:return p?String(o):String(E)===String(o);case C===Boolean:return p?e.BOOLEAN:C===s;default:return d(o,s,p,x(o,C))}}function x(o,s){switch(!0){case o===0:return Number;case o==="":return String;case!o:return{name:String(o)};default:return s}}function d(o,s,l,p){switch(!0){case(!l&&s===o||o?.[Symbol.proxy]&&s===Proxy):return!0;case String(s)===e.NAN:return String(o)===e.NAN;case(o?.[Symbol.toStringTag]&&typeof s=="string"):return String(s)===o[Symbol.toStringTag];default:return s?m(o,s,p):b(o,p)}}function b(o,s){return(o?.[Symbol.toStringTag]??o?.prototype?.[Symbol.toStringTag])||s?.name||String(s)}function m(o,s,l){return A({trial:p=>o instanceof s})||s===l||s===Object.getPrototypeOf(l)||`${s?.name}`===l?.name}function h(o,s){return function(l){let p={get value(){return l},is(...E){return o(l,...E)},get type(){return s(l)}};return Object[Symbol.type]&&Object.defineProperties(p,{[Symbol.type]:{get(){return s(l)}},[Symbol.is]:{value(...E){return o(l,...E)}}}),Object.freeze(p)}}function g(){let o=s=>{};return function({trial:s,whenError:l=o}={}){try{return s()}catch(p){return l(p)}}}function c(o,s=!1){let l=o==null;return l=s?l||u(o,1/0)||u(o,NaN):l,l}}var He=ft(),D=ut(),j=ct();function ut(){return{html:Object.freeze("accept,action,align,alt,autocapitalize,autocomplete,autopictureinpicture,autoplay,background,bgcolor,border,capture,cellpadding,cellspacing,checked,cite,class,clear,contenteditable,color,cols,colspan,controls,controlslist,coords,crossorigin,datetime,decoding,default,dir,disabled,disablepictureinpicture,disableremoteplayback,download,draggable,enctype,enterkeyhint,face,for,headers,height,hidden,high,href,hreflang,id,inputmode,integrity,is,ismap,kind,label,lang,list,loading,loop,low,max,maxlength,media,method,min,minlength,multiple,muted,name,nonce,noshade,novalidate,nowrap,open,optimum,pattern,placeholder,playsinline,poster,preload,pubdate,radiogroup,readonly,rel,required,rev,reversed,role,rows,rowspan,spellcheck,scope,selected,shape,size,sizes,span,srclang,start,src,srcset,step,style,summary,tabindex,target,title,translate,type,usemap,valign,value,width,xmlns,slot".split(",")),svg:Object.freeze("accent-height,accumulate,additive,alignment-baseline,ascent,attributename,attributetype,azimuth,basefrequency,baseline-shift,begin,bias,by,class,clip,clippathunits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,cx,cy,d,dx,dy,diffuseconstant,direction,display,divisor,dur,edgemode,elevation,end,fill,fill-opacity,fill-rule,filter,filterunits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,fx,fy,g1,g2,glyph-name,glyphref,gradientunits,gradienttransform,height,href,id,image-rendering,in,in2,k,k1,k2,k3,k4,kerning,keypoints,keysplines,keytimes,lang,lengthadjust,letter-spacing,kernelmatrix,kernelunitlength,lighting-color,local,marker-end,marker-mid,marker-start,markerheight,markerunits,markerwidth,maskcontentunits,maskunits,max,mask,media,method,mode,min,name,numoctaves,offset,operator,opacity,order,orient,orientation,origin,overflow,paint-order,path,pathlength,patterncontentunits,patterntransform,patternunits,points,preservealpha,preserveaspectratio,primitiveunits,r,rx,ry,radius,refx,refy,repeatcount,repeatdur,restart,result,rotate,scale,seed,shape-rendering,specularconstant,specularexponent,spreadmethod,startoffset,stddeviation,stitchtiles,stop-color,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke,stroke-width,style,surfacescale,systemlanguage,tabindex,targetx,targety,transform,text-anchor,text-decoration,text-rendering,textlength,type,u1,u2,unicode,values,viewbox,visibility,version,vert-adv-y,vert-origin-x,vert-origin-y,width,word-spacing,wrap,writing-mode,xchannelselector,ychannelselector,x,x1,x2,xmlns,y,y1,y2,z,zoomandpan".split(","))}}function ct(){return{a:!0,area:!0,audio:!1,br:!0,base:!0,body:!0,button:!0,canvas:!0,comment:!0,dl:!0,data:!0,datalist:!0,div:!0,em:!0,embed:!1,fieldset:!0,font:!0,footer:!0,form:!1,hr:!0,head:!0,header:!0,output:!0,iframe:!1,frameset:!1,img:!0,input:!0,li:!0,label:!0,legend:!0,link:!0,map:!0,mark:!0,menu:!0,media:!0,meta:!0,nav:!0,meter:!0,ol:!0,object:!1,optgroup:!0,option:!0,p:!0,param:!0,picture:!0,pre:!0,progress:!1,quote:!0,script:!1,select:!0,source:!0,span:!0,style:!0,caption:!0,td:!0,col:!0,table:!0,tr:!0,template:!1,textarea:!0,time:!0,title:!0,track:!0,details:!0,ul:!0,video:!0,del:!0,ins:!0,slot:!0,blockquote:!0,svg:!0,dialog:!0,summary:!0,main:!0,address:!0,colgroup:!0,tbody:!0,tfoot:!0,thead:!0,th:!0,dd:!0,dt:!0,figcaption:!0,figure:!0,i:!0,b:!0,code:!0,h1:!0,h2:!0,h3:!0,h4:!0,abbr:!0,bdo:!0,dfn:!0,kbd:!0,q:!0,rb:!0,rp:!0,rt:!0,ruby:!0,s:!0,strike:!0,samp:!0,small:!0,strong:!0,sup:!0,sub:!0,u:!0,var:!0,wbr:!0,nobr:!0,tt:!0,noscript:!0}}function ft(){return["::backdrop{background-color:grey;opacity:0.2;}",`#jqxPopup{overflow:hidden;background-color:transparent;outline:none;border:none;inset:0;animation:fade-out 0.5s ease-out;&[open]{display:flex;align-items:center;justify-content:center;animation:fade-in 0.5s ease;}#jqxPopupContent{background-color:white;border:solid 1px #eee;box-shadow:1px 2px 8px #999;border-radius:4px;padding:12px;vertical-align:middle;max-height:40vh;max-width:50vw;overflow:auto;margin:0 auto;div:not(#closeHandleIcon){clear:both;}@media (width <= 640px){max-width:80vw;max-height:60vh;}#closeHandleIcon{cursor:pointer;width:24px;height:24px;display:inline;position:absolute;top:4px;right:4px;justify-content:right;background-image:url("data:image/svg+xml;utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20version%3D%221.1%22%20id%3D%22Layer_1%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20128%20128%22%20style%3D%22enable-background%3Anew%200%200%20128%20128%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20x%3D%22-368%22%20y%3D%226%22%20style%3D%22display%3Anone%3Bfill%3A%23E0E0E0%3B%22%20width%3D%22866%22%20height%3D%221018%22%2F%3E%3Ccircle%20style%3D%22fill%3A%23FFFFFF%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Ccircle%20style%3D%22fill%3A%238CCFB9%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2239%22%2F%3E%3Ccircle%20style%3D%22fill%3Anone%3Bstroke%3A%23444B54%3Bstroke-width%3A6%3Bstroke-miterlimit%3A10%3B%22%20cx%3D%2264%22%20cy%3D%2264%22%20r%3D%2248%22%2F%3E%3Cpolyline%20style%3D%22fill%3Anone%3Bstroke%3A%23FFFFFF%3Bstroke-width%3A6%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%3B%22%20points%3D%2242%2C69%2055.55%2C81%20%20%2086%2C46%20%22%2F%3E%3C%2Fsvg%3E");@media (width <= 640px){background-image:none;position:relative;margin:-15px -15px 4px 0;float:right;vertical-align:middle;border:1px solid #AAA;padding:2px;border-radius:50%;width:12px;height:12px;font-size:12px;line-height:12px;font-weight:bold;text-align:center;&:after{content:'\\2714';color:green;}}}.warn{display:none;text-align:center;color:red;border-top:1px solid #999;margin-top:1em;padding-top:3px;animation:warn-fade-out 0.2s ease-out;}.warn.active{opacity:1;display:block;animation:warn-fade-in 0.2s ease-in;}}}`,"@keyframes fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1, 1);display:flex;}}","@keyframes fade-out{0%{opacity:1;transform:scale(1, 1);display:flex;}100%{opacity:0;transform:scale(0, 0);display:none;}}","@keyframes warn-fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1,1 );display:block;}}","@keyframes warn-fade-out{0%{opacity:1;transform:scale(1, 1);display:block;}100%{opacity:0;transform:scale(0, 0);display:none;}}"]}var Me={html:"innerHTML",text:"textContent",class:"className"},V=dt();function dt(){let t={get(e,r){let n=String(r)?.toLowerCase();switch(!0){case n in e:return e[n];case Et(n):return Ie(e,n,r);default:return Ie(e,n,r,!0)}},enumerable:!1,configurable:!1};return new Proxy({},t)}function Ie(t,e,r,n=!1){return Object.defineProperty(t,e,{get(){return n?i=>St(r):vt(e)}}),t[e]}function mt(t,e,r){return e=e?.isJQx&&e.first()||e,A({trial:n=>xt(e)?t.append(e):Re(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} (for root ${t}) not created, reason
|
|
2
|
-
`,n)})}function
|
|
3
|
-
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(m,h){return[...t.rules].find(g=>h?
|
|
1
|
+
var{IS:u,maybe:$,$Wrap:Lr,isNothing:ct,xProxy:He,addSymbolicExtensions:Me}=ft({useSymbolicExtensions:!1});function ft(t={}){let{useSymbolicExtensions:e}=t,{shouldbeIsSingleObject:r,ISOneOf:n,isExcept:i,verifyNothingness:l,xProxy:f,determineType:S,addSymbolicExtensions:y,maybe:x,$Wrap:d}=dt(b,e);return e&&y(),{IS:b,maybe:x,$Wrap:d,isNothing:l,xProxy:f,addSymbolicExtensions:y};function b(m,...h){let g=typeof m=="symbol"?Symbol.isSymbol:m;switch(!0){case!!x({trial:c=>"isTypes"in(h?.[0]??{})}):return r(m,h[0]);default:return h.length>1?n(g,...h):S(m,...h)}}}function dt(t,e){let{SymbolAndCustomProxyFactory:r,maybeFactory:n,WrapAnyFactory:i,verifyNothingness:l,determineType:f}=mt(t,b),{xProxy:S,addSymbolicExtensions:y}=r(t,b,e),[x,d]=[n(),i(t,b)];return Object.freeze({shouldbeIsSingleObject:m,ISOneOf:h,isExcept:c,verifyNothingness:l,xProxy:S,determineType:f,addSymbolicExtensions:y,maybe:x,$Wrap:d});function b(o){return o?.[Symbol.proxy]??t(o)}function m(o,s){switch(!0){case"defaultValue"in s:return g(o,s);case"notTypes"in s:return c(o,s);default:return t(o,...[s.isTypes].flat())}}function h(o,...s){return s.some(a=>t(o,a))}function g(o,{defaultValue:s,isTypes:a=[void 0],notTypes:p}={}){return a=a?.constructor!==Array?[a]:a,p=p&&p?.constructor!==Array?[p]:[],p.length<1?t(o,...a)?o:s:c(o,{isTypes:a,notTypes:p})?o:s}function c(o,{isTypes:s=[void 0],notTypes:a=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,a=a?.constructor!==Array?[a]:a,t(o,...s)&&!t(o,...a)}}function mt(){let t={IS:"toa.is",TYPE:"toa.type",IS_SYMBOL:"toa.isASymbol",PROXY:"toa.proxy"},e={NAN:"NaN",INFINITY:"Infinity",BOOLEAN:"Boolean",OBJECT:"Object",PROXY_PREFIX:"Proxy ("};return Object.freeze({SymbolAndCustomProxyFactory:n,maybeFactory:g,WrapAnyFactory:h,verifyNothingness:c,determineType:y});function r(o,s){Symbol.is||(Symbol.is=Symbol.for(t.IS),Symbol.type=Symbol.for(t.TYPE),Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return s(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...a){return o(this,...a)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(a){return s(a)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(a,...p){return o(a,...p)},enumerable:!1,configurable:!1}}))}function n(o,s,a){return Symbol.isSymbol||(Symbol.isSymbol=Symbol.for(t.IS_SYMBOL)),{xProxy:f(),addSymbolicExtensions:()=>r(o,s)}}function i(o){return(ct(o,!0)?{name:"unknown"}:Object.getPrototypeOf(o)?.constructor).name}function l(o,s){return Proxy=new o(o,{construct(a,p){let E=new a(...p);return Object.defineProperty(E,s,{value:`${e.PROXY_PREFIX}${i(p[0])})`}),E}}),Proxy}function f(){Symbol.proxy||(Symbol.proxy=Symbol.for(t.PROXY));let o=Proxy;return{native(){Proxy=o},custom(){Proxy=l(o,Symbol.proxy)}}}function S(o,...s){let a=s.length<1,p=o==null;return{noInput:p,noShouldbe:a,compareTo:!a&&s[0],inputCTOR:!p&&(o?.constructor||Object.getPrototypeOf(o)?.constructor),isNaN:Number.isNaN(o)||$({trial:E=>String(o)===e.NAN}),isInfinity:$({trial:E=>String(o)})===e.INFINITY,shouldBeFirstElementIsNothing:!a&&c(s[0])}}function y(o,...s){let{noInput:a,noShouldbe:p,compareTo:E,inputCTOR:C,isNaN:me,isInfinity:ge,shouldBeFirstElementIsNothing:pe}=S(o,...s);switch(s=s.length&&s[0],!0){case pe:return String(o)===String(E);case(o?.[Symbol.proxy]&&p):return o[Symbol.proxy];case me:return p?e.NAN:String(E)===String(o);case ge:return p?e.INFINITY:String(E)===String(o);case a:return p?String(o):String(E)===String(o);case C===Boolean:return p?e.BOOLEAN:C===s;default:return d(o,s,p,x(o,C))}}function x(o,s){switch(!0){case o===0:return Number;case o==="":return String;case!o:return{name:String(o)};default:return s}}function d(o,s,a,p){switch(!0){case(!a&&s===o||o?.[Symbol.proxy]&&s===Proxy):return!0;case String(s)===e.NAN:return String(o)===e.NAN;case(o?.[Symbol.toStringTag]&&typeof s=="string"):return String(s)===o[Symbol.toStringTag];default:return s?m(o,s,p):b(o,p)}}function b(o,s){return(o?.[Symbol.toStringTag]??o?.prototype?.[Symbol.toStringTag])||s?.name||String(s)}function m(o,s,a){return $({trial:p=>o instanceof s})||s===a||s===Object.getPrototypeOf(a)||`${s?.name}`===a?.name}function h(o,s){return function(a){let p={get value(){return a},is(...E){return o(a,...E)},get type(){return s(a)}};return Object[Symbol.type]&&Object.defineProperties(p,{[Symbol.type]:{get(){return s(a)}},[Symbol.is]:{value(...E){return o(a,...E)}}}),Object.freeze(p)}}function g(){let o=s=>{};return function({trial:s,whenError:a=o}={}){try{return s()}catch(p){return a(p)}}}function c(o,s=!1){let a=o==null;return a=s?a||u(o,1/0)||u(o,NaN):a,a}}var Ie=yt(),R=gt(),J=pt();function gt(){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 pt(){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 yt(){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 De={html:"innerHTML",text:"textContent",class:"className"},Q={},k={},Qe=t=>{console.error(`tinyDOM error: "${t}" is not a valid HTML tag`)};Me();var B=bt();function bt(){return Object.freeze(new Proxy(Q,ke()))}function ke(){return{get(t,e){let r=String(e);switch(!0){case r in t:return t[r];case Ct(r):return Re({tag:r,key:e});default:return Re({tag:r,key:e,isError:!0})}},set(t,e,r){return e==="setError"&&typeof r=="function"&&(Qe=r),!0},enumerable:!1,configurable:!1}}function Re({tag:t,key:e,custom:r,debug:n=!1,isError:i=!1}={}){let l=ht();if(i)return Object.defineProperty(l,t,{get(){return f=>Qe(e)??""}}),je(l,t);if(t.includes("-")){let[f,S]=t.includes("-")?[t,Ot(t)]:[Nt(t),t];k[f]=f,k[S]=f,r=S}return r&&Object.defineProperty(l,r,{get(){return Je(t)}}),Object.defineProperty(l,t,{get(){return Je(t)}}),je(l,t)}function je(t,e){return Q=Object.freeze(new Proxy(t,ke())),Q[Symbol.for.proxy]="Proxy (Object)",Q[e]}function ht(){return Object.fromEntries(Object.entries(Object.getOwnPropertyDescriptors(Q)))}function St(t,e,r){return e=e?.isJQx&&e.node||e,$({trial:n=>Be(e)?t.insertAdjacentHTML("beforeend",e):t.append(e),whenError:n=>console.info(`${r} not created, reason
|
|
2
|
+
`,n)})}function xt(t,e,...r){let n=Et(e,t);return r?.forEach(i=>St(n,i,t)),n}function Et(t,e){switch(t=ye(e)?Ft(t):t?.isJQx?t.node:t,!0){case t?.[Symbol.is](String):return G(e,Be(t,e)?{html:t}:{text:t});case t?.[Symbol.is](Node):return vt(e,t);default:return G(e,t)}}function vt(t,e){let r=G(t);return r.append(e),r}function wt(t){if(Object.keys(t).length<1)return{assignable:{},specials:[...Array(3)]};let e=Lt(t);return Object.keys(t).forEach(r=>{let n=r.toLowerCase();n in De&&(t[De[n]]=t[r])&&delete t[r]}),{assignable:t,specials:e}}function Lt(t){if(!t?.[Symbol.is](Object))return Array(3);let e=Object.entries(t.data??{}),r=Object.entries(t.attributes??{}),n=t.class?.split(/[ ,]/).map(i=>i.trim()).filter(i=>i.length>1);return delete t.data,delete t.attributes,delete t.class,[e,r,n]}function At(t,e){let[r,n,i]=t;r?.length&&r.forEach(([l,f])=>e.dataset[l]=f),n?.length&&n.forEach(([l,f])=>e.setAttribute(l,f)),i?.forEach(l=>e.classList.add(l))}function G(t,e){e=e||{};let{assignable:r,specials:n}=wt(e),i=Object.assign(ye(t)?new Comment:document.createElement(t),r);return At(n,i),i}function Ft(t){return t?.constructor===Comment?t?.textContent:String(t)}function Be(t,e){return!ye(e)&&t?.[Symbol.is](String)&&/<.*>|&[#|0-9a-z]+[^;];/i.test(t)}function ye(t){return/comment/i.test(t)}function Ct(t){return Tt(t)&&(t in k||!G(t)?.[Symbol.is](HTMLUnknownElement))}function Tt(t){return t=t.toLowerCase(),typeof t=="string"&&t.length>0&&/^[a-z]/.test(t)&&/^[a-z0-9-]+$/gi.test(t)}function Je(t){return t=t in k?k[t]:t,(e,...r)=>xt(t,e,...r)}function $t([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function Nt(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Ot(t){return t[Symbol.is](String)?t.toLowerCase().split("-").map((e,r)=>r&&`${$t(e)}`||e).join(""):t}var{IS:j,maybe:be,$Wrap:$r,isNothing:Pt,xProxy:Nr,addSymbolicExtensions:Or}=Ht({useSymbolicExtensions:!1});function Ht(t={}){let{useSymbolicExtensions:e}=t,{shouldbeIsSingleObject:r,ISOneOf:n,isExcept:i,verifyNothingness:l,xProxy:f,determineType:S,addSymbolicExtensions:y,maybe:x,$Wrap:d}=Mt(b,e);return e&&y(),{IS:b,maybe:x,$Wrap:d,isNothing:l,xProxy:f,addSymbolicExtensions:y};function b(m,...h){let g=typeof m=="symbol"?Symbol.isSymbol:m;switch(!0){case!!x({trial:c=>"isTypes"in(h?.[0]??{})}):return r(m,h[0]);default:return h.length>1?n(g,...h):S(m,...h)}}}function Mt(t,e){let{SymbolAndCustomProxyFactory:r,maybeFactory:n,WrapAnyFactory:i,verifyNothingness:l,determineType:f}=It(t,b),{xProxy:S,addSymbolicExtensions:y}=r(t,b,e),[x,d]=[n(),i(t,b)];return Object.freeze({shouldbeIsSingleObject:m,ISOneOf:h,isExcept:c,verifyNothingness:l,xProxy:S,determineType:f,addSymbolicExtensions:y,maybe:x,$Wrap:d});function b(o){return o?.[Symbol.proxy]??t(o)}function m(o,s){switch(!0){case"defaultValue"in s:return g(o,s);case"notTypes"in s:return c(o,s);default:return t(o,...[s.isTypes].flat())}}function h(o,...s){return s.some(a=>t(o,a))}function g(o,{defaultValue:s,isTypes:a=[void 0],notTypes:p}={}){return a=a?.constructor!==Array?[a]:a,p=p&&p?.constructor!==Array?[p]:[],p.length<1?t(o,...a)?o:s:c(o,{isTypes:a,notTypes:p})?o:s}function c(o,{isTypes:s=[void 0],notTypes:a=[void 0]}={}){return s=s?.constructor!==Array?[s]:s,a=a?.constructor!==Array?[a]:a,t(o,...s)&&!t(o,...a)}}function It(){let t={IS:"toa.is",TYPE:"toa.type",IS_SYMBOL:"toa.isASymbol",PROXY:"toa.proxy"},e={NAN:"NaN",INFINITY:"Infinity",BOOLEAN:"Boolean",OBJECT:"Object",PROXY_PREFIX:"Proxy ("};return Object.freeze({SymbolAndCustomProxyFactory:n,maybeFactory:g,WrapAnyFactory:h,verifyNothingness:c,determineType:y});function r(o,s){Symbol.is||(Symbol.is=Symbol.for(t.IS),Symbol.type=Symbol.for(t.TYPE),Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return s(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...a){return o(this,...a)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(a){return s(a)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(a,...p){return o(a,...p)},enumerable:!1,configurable:!1}}))}function n(o,s,a){return Symbol.isSymbol||(Symbol.isSymbol=Symbol.for(t.IS_SYMBOL)),{xProxy:f(),addSymbolicExtensions:()=>r(o,s)}}function i(o){return(Pt(o,!0)?{name:"unknown"}:Object.getPrototypeOf(o)?.constructor).name}function l(o,s){return Proxy=new o(o,{construct(a,p){let E=new a(...p);return Object.defineProperty(E,s,{value:`${e.PROXY_PREFIX}${i(p[0])})`}),E}}),Proxy}function f(){Symbol.proxy||(Symbol.proxy=Symbol.for(t.PROXY));let o=Proxy;return{native(){Proxy=o},custom(){Proxy=l(o,Symbol.proxy)}}}function S(o,...s){let a=s.length<1,p=o==null;return{noInput:p,noShouldbe:a,compareTo:!a&&s[0],inputCTOR:!p&&(o?.constructor||Object.getPrototypeOf(o)?.constructor),isNaN:Number.isNaN(o)||be({trial:E=>String(o)===e.NAN}),isInfinity:be({trial:E=>String(o)})===e.INFINITY,shouldBeFirstElementIsNothing:!a&&c(s[0])}}function y(o,...s){let{noInput:a,noShouldbe:p,compareTo:E,inputCTOR:C,isNaN:me,isInfinity:ge,shouldBeFirstElementIsNothing:pe}=S(o,...s);switch(s=s.length&&s[0],!0){case pe:return String(o)===String(E);case(o?.[Symbol.proxy]&&p):return o[Symbol.proxy];case me:return p?e.NAN:String(E)===String(o);case ge:return p?e.INFINITY:String(E)===String(o);case a:return p?String(o):String(E)===String(o);case C===Boolean:return p?e.BOOLEAN:C===s;default:return d(o,s,p,x(o,C))}}function x(o,s){switch(!0){case o===0:return Number;case o==="":return String;case!o:return{name:String(o)};default:return s}}function d(o,s,a,p){switch(!0){case(!a&&s===o||o?.[Symbol.proxy]&&s===Proxy):return!0;case String(s)===e.NAN:return String(o)===e.NAN;case(o?.[Symbol.toStringTag]&&typeof s=="string"):return String(s)===o[Symbol.toStringTag];default:return s?m(o,s,p):b(o,p)}}function b(o,s){return(o?.[Symbol.toStringTag]??o?.prototype?.[Symbol.toStringTag])||s?.name||String(s)}function m(o,s,a){return be({trial:p=>o instanceof s})||s===a||s===Object.getPrototypeOf(a)||`${s?.name}`===a?.name}function h(o,s){return function(a){let p={get value(){return a},is(...E){return o(a,...E)},get type(){return s(a)}};return Object[Symbol.type]&&Object.defineProperties(p,{[Symbol.type]:{get(){return s(a)}},[Symbol.is]:{value(...E){return o(a,...E)}}}),Object.freeze(p)}}function g(){let o=s=>{};return function({trial:s,whenError:a=o}={}){try{return s()}catch(p){return a(p)}}}function c(o,s=!1){let a=o==null;return a=s?a||j(o,1/0)||j(o,NaN):a,a}}var z=Dt;function Dt({styleSheet:t,createWithId:e}={}){let{tryParseAtOrNestedRules:r,ruleExists:n,checkParams:i,sheet:l,removeRules:f,consider:S,currentSheetID:y}=Rt({styleSheet:t,createWithId:e});function x(g,c){if(g&&c.removeProperties){Object.keys(c.removeProperties).forEach(o=>g.style.removeProperty(ze(o)));return}Object.entries(c).forEach(([o,s])=>{o=ze(o.trim()),s=s.trim();let a;if(/!important/.test(s)&&(s=s.slice(0,s.indexOf("!important")).trim(),a="important"),!CSS.supports(o,s))return console.error(`StylingFactory ${y} error: '${o}' with value '${s}' not supported (yet)`);We(()=>g.style.setProperty(o,s,a),`StylingFactory ${y} (setRule4Selector) failed`)})}function d(g,c,o=l){if(g=g?.trim?.(),!j(g,String)||!g.length||/[;,]$/g.test(g))return console.error(`StylingFactory ${y} (setRules): [${g||"[no selector given]"}] is not a valid selector`);if(c.removeRule)return f(g);let s=n(g,!0),a=s||o.cssRules[o.insertRule(`${g} {}`,o.cssRules.length||0)];return S(()=>x(a,c),g,s)}function b(g){let c=g.trim().split(/{/,2),o=c.shift().trim();if(!j(o,String)||!o?.trim()?.length)return console.error(`StylingFactory ${y} (doParse): no (valid) selector could be extracted from rule ${he(g)}`);let s=Wt(c.shift());return We(()=>d(o,s),`StylingFactory ${y} (setRules) failed`)}function m(g){let c=r(g);return c.done?c.existing:b(g)}function h(g,c){return g.trim().startsWith("@media")?m(jt(g,c)):d(g,c)}return function(g,c={}){return i(g,c)&&(Object.keys(c).length?h(g,c):m(g))}}function Rt({styleSheet:t,createWithId:e}){let r="Note: The rule or some of its properties may not be supported by your browser (yet)",n=`for style#${e}`;t=e?i(e):t;function i(m){let h=document.querySelector(`#${m}`)?.sheet;if(h)return h;let g=Object.assign(document.createElement("style"),{id:m});return document.head.insertAdjacentElement("beforeend",g),g.sheet}function l(m){return console.error(`StylingFactory ${n} [rule: ${m}]
|
|
3
|
+
=> @charset, @namespace and @import are not supported here`),{done:!0}}function f(m,h){return[...t.rules].find(g=>h?Ye(g.selectorText||"",m):kt`${Qt(m)}${[..."gim"]}`.test(g.cssText))}function S(m){return/^@charset|@import|namespace/i.test(m.trim())?l(m):m.match(/}/g)?.length>1?{existing:d(m,1),done:!0}:{done:!1}}function y(m){let h=[...t.cssRules].reduce((c,o,s)=>Ye(o.selectorText||"",m)&&c.concat(s)||c,[]),g=h.length;return h.forEach(c=>t.deleteRule(c)),g>0?console.info(`\u2714 Removed ${g} instance${g>1?"s":""} of selector ${m} from ${n.slice(4)}`):console.info(`\u2714 Remove rule: selector ${m} does not exist in ${n.slice(4)}`)}function x(m,h){return m&&j(m,String)&&m.trim().length>0&&j(h,Object)||(console.error(`StylingFactory ${n} called with invalid parameters`),!1)}function d(m){m=m.trim();let h=m.slice(0,m.indexOf("{")).trim(),g=!!f(h);try{return t.insertRule(`${m}`,t.cssRules.length),g}catch(c){return console.error(`StylingFactory ${n} (tryParse) ${c.name} Error:
|
|
4
4
|
${c.message}
|
|
5
|
-
Rule: ${
|
|
5
|
+
Rule: ${he(m)}
|
|
6
6
|
${r}`),g}}function b(m,h,g){try{return m(),g}catch(c){return console.error(`StylingFactory ${n} (tryAddOrModify) ${c.name} Error:
|
|
7
7
|
${c.message}
|
|
8
|
-
Rule: ${
|
|
9
|
-
${r}`),g}}return{sheet:t,removeRules:y,tryParseAtOrNestedRules:S,ruleExists:f,checkParams:x,tryParse:d,consider:b,currentSheetID:n}}function
|
|
10
|
-
`)}function
|
|
11
|
-
`).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function
|
|
8
|
+
Rule: ${he(h)}
|
|
9
|
+
${r}`),g}}return{sheet:t,removeRules:y,tryParseAtOrNestedRules:S,ruleExists:f,checkParams:x,tryParse:d,consider:b,currentSheetID:n}}function jt(t,e){return`${t.trim()} ${Object.entries(e).map(([r,n])=>`${r}: { ${Jt(n)}`)}`}function he(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 Jt(t){return Object.entries(t).map(([e,r])=>`${e}: ${r.trim()}`).join(`;
|
|
10
|
+
`)}function Qt(t){return t.replace(/([*\[\]()-+{}.$?\\])/g,e=>`\\${e}`)}function kt(t,...e){let r=e.length&&Array.isArray(e.slice(-1))?e.pop().join(""):"";return new RegExp((e.length&&t.raw.reduce((n,i,l)=>n.concat(e[l-1]||"").concat(i),"")||t.raw.join("")).split(`
|
|
11
|
+
`).map(n=>n.replace(/\s|\/\/.*$/g,"").trim().replace(/(@s!)/g," ")).join(""),r)}function ze(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/[^--]^-|-$/,"")}function We(t,e){try{return t()}catch(r){console.error(`${e||"an error occured"}: ${r.message}`)}}function Bt(t){return t.replace(/\/\*.+?\*\//gm,"").replace(/[}{\r\n]/g,"").replace(/(data:.+?);/g,(e,r)=>`${r}\\3b`).split(";").map(e=>e.trim()).join(`;
|
|
12
12
|
`).replaceAll("\\3b",";").split(`
|
|
13
|
-
`)}function
|
|
14
|
-
`)),n}function S(...x){return r.unshift(...x.map(d=>`${
|
|
15
|
-
`)),n}function y(...x){let d=x.map(b=>`${
|
|
16
|
-
`));default:return n}}return Object.defineProperties(n,{log:{value:y,enumerable:!1},error:{value:f,enumerable:!1},warn:{value:S,enumerable:!1}}),Object.freeze(n)}function te(){return(t=>`[${ee(t.getHours())}:${ee(t.getMinutes())}:${ee(t.getSeconds())}.${ee(t.getMilliseconds(),3)}]`)(new Date)}function we(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=T(r),r.startsWith("data"))return oe(t,n);u(n,String)&&re(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function oe(t,e){if(t&&u(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${T(r)}`,n)}function ie(t){return t?u(t,Proxy)?[t.EL]:u(t,NodeList)?[...t]:P(t)?[t]:Y(t)?t:t.isJQx?t.collection:void 0:[]}function se(t,e){return t.andThen(e)}function Le(t,e){return t.andThen(e,!0)}function P(t){return u(t,Text,HTMLElement,Comment)}function B(t,e){if(u(e,Object))for(let[r,n]of Object.entries(e)){let i;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),i="important"),t.style.setProperty(T(r),n,i)}}function H(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function We(t){if(!u(t,HTMLElement))return;let e=t.style,r=getComputedStyle(t),n=!![e.visibility,r.visibility].includes("hidden"),i=!![e.display,r.display].includes("none"),a=!!t.hidden,f=parseInt(r.height)<1||parseInt(r.width)<1,S=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,y=+r.opacity==0||+(e.opacity||1)==0;return!(a||S||y||i||n||f)}function ze(t){return t?.isConnected?!![...document.querySelectorAll(":is(:read-write)")].find(e=>e===t):!1}function Ye(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(Te(r)?`<!--${r.data}-->`:le(r)?r.textContent:r.outerHTML),"")}function ee(t,e=2){return`${t}`.padStart(e,"0")}function _e(t,e=0){return[t,e]=[Math.floor(t),Math.ceil(e)],Math.floor([...crypto.getRandomValues(new Uint32Array(1))].shift()/2**32*(t-e+1)+e)}function ae(){return`_${_t(zt).slice(0,8).join("")}`}function Ne(t){return t=u(t,String)&&/,/.test(t)?t.split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):t,u(t,Array)?t:u(t,String)&&t?.trim().toLowerCase()||""}function Ve(t){return t?.isConnected?!![...document.querySelectorAll(":is(:modal)")].find(e=>e===t):!1}function Fe(t,e){switch(t=String(t).trim(),!0){case/^(0|false|f)$/i.test(t):return!1;case/^(1|true|t)$/i.test(t):return!0;default:return e}}function _t(t){let e=t.length;for(;e--;){let r=_e(e);[t[e],t[r]]=[t[r],t[e]]}return t}function W(t){return u(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Vt(e)}`||e).join(""):t}function T(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Vt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function le(t){return u(t,Comment,Text)}function Te(t){u(t,Comment)}function Ue(t){return u(t,Text)}function z(t){return u(t,String)&&/^<|>$/.test(`${t}`.trim())}function Y(t){return u(t,Array)&&!t?.find(e=>!P(e))}function ue(t){return u(t,Array)&&!t?.find(e=>!z(e))}function v(t,e){let r=t.collection.filter(n=>!le(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Xe(t){return t.node?u(t.node,Comment)?`<!--${t.node.textContent}-->`:t.HTML.get(1).split(">")[0]+">...":""}function Ce(t,e,r){let n=e!==document.body&&u(t,String)&&t.toLowerCase()!=="body"?e:document;try{r.collection=[...n.querySelectorAll(t)]}catch{w.warn(`JQx: Invalid CSS querySelector. [${u(t,String)?t:"Not a string!"}]`)}}function Ge(){return{isCommentOrTextNode:le,isNode:P,isComment:Te,isText:Ue,isHtmlString:z,isArrayOfHtmlElements:Y,isArrayOfHtmlStrings:ue,ElemArray2HtmlString:Ye,input2Collection:ie,setCollectionFromCssSelector:Ce,cssRuleEdit:Q({createWithId:"JQxStylesheet"})}}function Ze(){let e=Object.freeze({notInDOM:"n/a",writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return u(n,Node)?Object.freeze({get writable(){return ze(n)},get modal(){return Ve(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return We(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function Ke(t,e,r,n){r&&u(e,String)&&(e={[e]:r==="-"?"":r});let i;e.className&&(i=e.className,delete e.className),i=[...t.classList].find(f=>f.startsWith("JQxClass-")||i&&f===i)||i||`JQxClass-${ae().slice(1)}`,n.editCssRule(`.${i}`,e),t.classList.add(i)}var Ut=Ze();function qe(t){return{factoryExtensions:Xt(t),instanceExtensions:Gt(t)}}function Xt(t){return{data(e){return{get all(){return new Proxy(e[0]?.dataset??{},xe)},set(r={}){if(!e.is.empty&&u(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},get(r,n){return e.data.all[r]??n},add(r={}){if(!e.is.empty&&u(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},remove(r){return e[0]?.removeAttribute(`data-${T(r)}`),e}}},dimensions(e){if(e.is.empty)return w.error("[JQx instance].dimensions called on empty instance"),{error:"[JQx instance].dimensions: NO ELEMENTS"};let{node:r}=e,n=r.getBoundingClientRect().toJSON();return n.scrollTopDistance=k(r,0),n.scrollLeftDistance=k(r,0,!1),n},node(e){return e[0]},HTML(e){return{get(r,n){if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let i=r?e.outerHtml:e.html();return n?O(i):i},set(r,n=!1,i=!1){r=r.isJQx?r.HTML.get(1):r;let a=u(r,String);return r=a&&i?O(r):r,a&&(r||"").trim().length&&e.html(r,n),e},replace(r,n=!1){return e.HTML.set(r,!1,n)},append(r,n=!1){return r=u(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)},insert(r,n=!1){return r=u(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){return Ut(e)},length(e){return e.collection.length},outerHtml(e){return(e.first()||{outerHTML:void 0}).outerHTML},parent(e){let r=t(e[0]?.parentNode);return r.is.empty?e:r},render(e){switch(!0){case!e.is.empty:return e.toDOM();default:return t.logger.warn("[JQx.render]: empty collection"),e}},Style(e){return{get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline(r){return e.style(r)},inSheet(r){return e.css(r)},valueOf(r){return e.is.empty?void 0:getComputedStyle(e[0])[T(r)]},nwRule(r){return e.Style.byRule({rules:r})},byRule({classes2Apply:r=[],rules:n=[]}={}){let a=u(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&u(n,String)?[n]:n,r=r&&u(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let f of r)e.addClass(f);return a?.startsWith(".")&&e.addClass(a.slice(1)),a?.startsWith("#")&&!e.attr("id")&&e.prop({id:a.slice(1)}),e}}}}}function Gt(t){return{addClass(e,...r){return v(e,n=>n&&r.forEach(i=>n.classList.add(i)))},after(e,r){return se(e,r)},afterMe(e,r){return se(e,r)},andThen(e,r,n=!1){if(!r||!u(r,String,Node,Proxy))return w.log("[JQx instance].[before(Me) | after(Me) | andThen]: invalid/-sufficient input."),e;r=r?.isJQx?r:u(r,Node)?t.virtual(r):t.virtual(F(r));let[i,a,f]=n?[0,"before",r.collection.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r.collection)];return e[i][a](...r.collection),e.collection=f,e},append(e,...r){if(e.is.empty||r.length<1)return e;let n=e.length===1;for(let i of r){if(!i.isJQx&&L(i)){let a=i.trim(),S=!/^<(.+)[^>]+>$/m.test(a)?t.text(i):F(i);v(e,y=>y.append(n?S:H(S)))}P(i)&&v(e,a=>a.append(n?i:H(i))),i.isJQx&&!i.is.empty&&v(e,a=>i.collection.forEach(f=>a.append(n?f:H(f))))}return e},appendTo(e,r){switch(r=typeof r=="string"?t(r):r,!0){case(!r?.isJQx&&!u(r,HTMLElement)||r?.collection?.length<1):return t.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).append(e),e}},attr(e,r,n){if(!e.node||u(e.node,Text,Comment))return e;if(!n&&L(r))return r=T(r),r==="class"?[...e.node.classList].join(" "):e.node.getAttribute(r);if(L(r)&&n)switch(r=T(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return u(r,Object)&&!e.is.empty&&we(e.node,r),e},before(e,r){return e.andThen(r,!0)},beforeMe(e,r){return Le(e,r)},clear(e){return v(e,ne)},closest(e,r){let n=L(r)?e.node?.closest(r):void 0;return n?t(n):e},computedStyle(e,r){let{node:n}=e;return n&&getComputedStyle(n)[r]},css(e,r,n){return v(e,i=>Ke(i,r,n,t))},duplicate(e,r=!1,n=document.body){switch(!0){case e.is.empty:return w.error("Duplicating an empty JQx instance is not possible"),e;default:let i=e.collection[0].cloneNode(!0);return i.childNodes.forEach(a=>{a.removeAttribute&&a?.removeAttribute("id")}),r?t(i).toDOM(n):t.virtual(i)}},each(e,r){return v(e,r)},empty(e){return v(e,ne)},find(e,r){return e.collection.length>0?[...e.first()?.querySelectorAll(r)]:[]},find$(e,r){return e.collection.length>0?t(r,e):e},first(e,r=!1){return e.collection.length>0?r?e.single():e.collection[0]:void 0},first$(e,r){return e.single(r)},getData(e,r,n){return e.node?.dataset?.[r]||n},hasClass(e,...r){return e.is.empty||!e.node.classList.length?!1:r.find(n=>e.node.classList.contains(n))&&!0||!1},hide(e){return v(e,r=>B(r,{display:"none !important"}))},html(e,r,n){switch(!0){case(e.is.empty&&!L(r)):return"";case!L(r):return e.node?.getHTML()??"";default:let i=F(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);return v(e,f=>(f.textContent=n?f.textContent:"",f.insertAdjacentHTML(t.at.end,i.getHTML())))}},htmlFor(e,r,n="",i=!1){if(e.is.empty||!L(r)||!L(n))return e;let a=e.find$(r);if(a.length<1)return e;let f=F(`<span>${n}</span>`);return a.each(S=>{i||(S.textContent=""),S.insertAdjacentHTML(t.at.end,f?.getHTML())}),e},isEmpty(e){return!e.node},nth$(e,r){return e.single(r)},on(e,r,...n){switch(!0){case(e.is.empty||!u(r,String,Array)||!L(r)||n.length<1):return e;default:return t.handle({type:r,node:e.node,handler:n}),e}},once(e,r,...n){switch(!0){case(e.is.empty||!u(r,String,Array)||!L(r)||n.length<1):return e;default:return t.handle({type:r,once:!0,node:e.node,handler:n}),e}},prepend(e,...r){if(e.is.empty||!r)return;let n=e.length===1;for(let i of r){if(L(i)){i=i.trim();let f=!/^<(.+)[^>]+>$/m.test(i)?t.text(i):F(i);f=n?f:H(f),v(e,S=>S.prepend(f.cloneNode(!0)))}P(i)&&v(e,a=>a.prepend(n?i:H(i))),i.isJQx&&!i.is.empty&&(i.collection.length>1&&i.collection.reverse(),v(e,a=>v(i,f=>a.prepend(n?f:H(f)))),i.collection.reverse())}return e},prependTo(e,r){switch(r=typeof r=="string"?t(r):r,!0){case(!r?.isJQx&&!u(r,HTMLElement)||r?.collection?.length<1):return t.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).prepend(e),e}},prop(e,r,n){if(u(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let i=u(r,Object)?r:{[r]:n};for(let[a,f]of Object.entries(i)){if(a=a.trim(),f&&!re(a)||!f)return!1;if(a.toLowerCase()==="id")return e[0].id=f;v(e,y=>{if(a.startsWith("data"))return y.dataset[a.slice(a.indexOf("-")+1)]=f;y[a]=f})}return e},remove(e,r){let n=a=>a.remove(),i=()=>e.collection=e.collection.filter(a=>document.documentElement.contains(a));if(r){let a=e.find$(r);return a.is.empty||(v(a,n),i()),e}return v(e,n),i(),e},rmAttr(e,...r){for(let n of r)e.node.removeAttribute(n);return e},removeClass(e,...r){return v(e,n=>{if(n)for(let i of r)n.classList.remove(i)})},renderTo(e,r,n){return r=u(r,HTMLElement)||r.isJQx?r:document.body,n=u(n,String)&&t.at[n]?n:t.at.end,e.first$().toDOM(r,n),e},replace(e,r,n){let i=e.node;return!r||!u(n,HTMLElement)&&!n?.isJQx?(t.logger.error("JQx replace: invalid replacement value"),e):((n.isJQx||u(n,NodeList))&&(n=n[0]),i&&r&&(r=u(r,String)?i.querySelectorAll(r):r.isJQx?r.collection:r,u(r,HTMLElement,NodeList,Array)&&u(n,HTMLElement)&&(u(r,HTMLElement)?[r]:[...r]).forEach(a=>a.replaceWith(n.cloneNode(!0)))),e)},replaceClass(e,r,...n){return v(e,i=>{i.classList.remove(r);for(let a of n)i.classList.add(a)})},replaceMe(e,r){return e.replaceWith(r)},replaceWith(e,r){return r=u(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e},setData(e,r){return v(e,n=>oe(n,r))},show(e){return v(e,r=>B(r,{display:"revert-layer !important"}))},single(e,r){let n=e.collection.length>0;switch(r=r??0,!0){case(n&&u(r,String)):return e.find$(r);case(n&&u(r,Number)):return t(e.collection[r]);case n:return e.collection[0];default:return e}},style(e,r,n){return v(e,a=>{n&&u(r,String)&&(r={[r]:n||"none"}),B(a,r)})},text(e,r,n=!1){switch(!0){case e.isEmpty():return e;case!u(r,String):return e.node.textContent;default:return v(e,i=>i.textContent=n?i.textContent+r:r)}},toDOM(e,r=document.body,n=N.BeforeEnd){return e.isVirtual=!1,I(e.collection,r,n),e},toggleClass(e,r){return v(e,n=>n.classList.toggle(r))},toNodeList(e){return[...e.collection].map(r=>document.importNode(r,!0))},trigger(e,r,n,i){n=u(n,Function)?n:Event,i=u(i,Object)?{...i,bubbles:i.bubbles??!0}:{bubbles:!0};let a=new n(r,i);return e.is.empty||e.each(f=>f.dispatchEvent(a)),e},val(e,r){switch(!0){case(e.is.empty||!u(e.node,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)):return e;case!u(r,String):return e.node.value;default:return e.node.value=u(r,String)?r:"",e}}}}var Ae,ce,{isComment:en,isText:tn,isHtmlString:rn,isArrayOfHtmlElements:nn,isArrayOfHtmlStrings:on,ElemArray2HtmlString:sn,cssRuleEdit:$e,addFn:Zt}=Kt();function Kt(){return{...Ge(),addFn:qt}}function qt(t,e){return t=t?.trim(),!L(t)||!u(e,Function)?w.error("JQx.fn: method invalid parameter(s)"):(ce[t]=(r,...n)=>e(r,...n),w.log(`JQx: added extension function [${t}]`))}function er(t){return function(e,r,n){if(e=e?.trim(),!L(e)||!u(r,Function))return t.error("JQx.staticFn: invalid parameter(s)");let i=n?{get(){return r()}}:{value(...a){return r(...a)}};try{Object.defineProperty(t,e,i)}catch{return t.warn(`JQx.staticFn: extension [${e}] already exists`)}return w.log(`JQx: added static extension function [${e}]`)}}function _(t){return new Proxy(t,Object.freeze({get:(e,r)=>tr(e,r,t)}))}function et(t,e){return(...r)=>u(t,Function)&&t(_(e),...r)}function tr(t,e,r){switch(!0){case u(e,Symbol):return A({trial:()=>t[e],whenError:()=>t});case u(+e,Number):return t.collection?.[e]||void 0;case e in Ae:return et(Ae[e],r)();case e in ce:return et(ce[e],r);default:return t[e]}}function nt(t){let e=sr(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function rr(t){return{allow(e){let r=/-/.test(e),n=r&&e;e=r?W(e):e.toLowerCase(),$.allowTag(e),Object.defineProperties(t,Pe(e,!0,t,n))},prohibit(e){e=e.toLowerCase(),$.prohibitTag(e),Object.defineProperties(t,Pe(e,!1,t))}}}function tt(...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))$e(e,{removeRule:1})}function nr(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(N).find(a=>n===a);let i=t(e,document.createElement("br"));if(r&&!u(r,HTMLBRElement))for(let a of i.collection)n?r.insertAdjacentElement(n,a):r.append(a);return i}}function or(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[i,a]of Object.entries(n))!(i in e)&&Object.defineProperty(e,i,{...a,enumerable:!1})}return e}function ir(t,e,r,n){return t=T(n||t.toLowerCase()),{get(){return(...i)=>{let a=e&&r.virtual(M(V[t](...i)))||void 0,S=!u(a?.node,Comment,Text,void 0)?ve(a):"";return w.log(e?`JQx: created (virtual) instance from [JQx].${t} ${S}`:`JQx: ${t.toUpperCase()} is prohibited. Use [JQx].allowTag if necessary.`),a}},enumerable:!1,configurable:!0}}function Pe(t,e,r,n){t=t.toLowerCase();let i=ir(t,e,r,n);return n?{[n]:i,[W(n)]:i}:{[t]:i,[t.toUpperCase()]:i}}function sr(t){return or(Object.entries($.tagsRaw).reduce(ar(t),{}),mr(t))}function ar(t){return function(e,[r,n]){return Object.defineProperties(e,Pe(r,n,t)),e}}function lr(t){return function(e,r,...n){u(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function ur(t){return function(e){let{type:r,types:n,origin:i,selector:a,handler:f,handlers:S,node:y,name:x,capture:d,once:b,about:m}=e;f=S||f,r=n||r,a=i||a;let h=Ne(r),g=x;f=u(f,Function)?[f]:f;let c={type:h,selector:a||i,capture:d,name:g,once:b,node:y,about:m};switch(!0){case(u(h,Array)&&h.length>0):for(let o of h)c.type=o,rt(f,c,t);break;default:return rt(f,c,t)}}}function rt(t,e,r){for(let n of t)r.listen({...e,handler:n})}function cr(t){return function(e,r){return r=L(r)&&r,e=L(e)&&e,r&&e&&t.listenerStore[e][r]}}function fr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:Z(t),enumerable:!1}),t.activePopup}function dr(t){let e=(d,b)=>$e(d,b),r=function(d){return Q({createWithId:d||`jqx${ae()}`})},n=function(...d){for(let b of d)$e(b)},i=rr(t),a=K(t),f=ur(a);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:i,handle:f,capturedHandling:f,log:(...d)=>w.on.log(...d).off,warn:(...d)=>w.on.warn(...d).off,error:(...d)=>w.on.error(...d).off,handlerWrapper:a}}function mr(t){let{factoryExtensions:e,instanceExtensions:r}=qe(t);Ae=e,ce=r;let{editCssRule:n,createStyle:i,editCssRules:a,allowProhibit:f,handle:S,capturedHandling:y,log:x,warn:d,error:b,handlerWrapper:m}=dr(t),h=cr(t),g=er(t);return{log:x,warn:d,error:b,editCssRules:a,createStyle:i,editStylesheet:i,editCssRule:n,escHtml:O,logger:w,text(c,o=!1){return o?t.comment(c):document.createTextNode(c)},node(c,o=document){return o.querySelector(c,o)},nodes(c,o=document){return[...o.querySelectorAll(c,o)]},clearAllTimers:Ee,get staticFn(){return function(c,o,s){return g(c,o,s)}},get toBool(){return Fe},get getNamedListener(){return h},get virtual(){return nr(t)},get allowTag(){return f.allow},get prohibitTag(){return f.prohibit},get removeCssRule(){return tt},get removeCssRules(){return tt},get delegate(){return lr(y)},get delegateCaptured(){return y},get handle(){return y},get listen(){return m.listen},get at(){return N},get setStyle(){return n},get fn(){return Zt},get lenient(){return $.allowUnknownHtmlTags},get IS(){return u},get Popup(){return fr(t)},get listenerStore(){return m.ListenerStore}}}var ot=nt(gr());function gr(){return function(e,r,n=N.BeforeEnd){if(e?.isJQx)return e;let i=u(r,HTMLBRElement);r=(!i&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(N).find(d=>n===d)?n:void 0;let a=z(e),S=!a&&ue(e)||a,y={collection:ie(e)??[],isVirtual:i,isJQx:!0},x=Y(y.collection);if(y.collection.length&&x)return i||y.collection.forEach(d=>{r.contains(d)||I([d],r,n)}),_(y);if(S){if([e].flat().forEach(d=>y.collection.push(F(d))),y.collection.length>0){let d=y.collection.filter(g=>g?.dataset?.jqxcreationerror);y.collection=y.collection.filter(g=>!g?.dataset?.jqxcreationerror);let m=y.collection.map(g=>`${String(g.constructor).split(/function|\(/)[1].trim()}`).length>1;y=_(y);let h=y.collection.length>0?Xe(y):"sanitized: no elements remaining";w.log(`JQx: created ${y.isVirtual?"(virtual)":""} instance from ${m?"array of ":""}HTML string${m?"s":""} ${h}`),y.isVirtual||I(y.collection,r,n)}return y}return Ce(e,r,y),_(y)}}var dn=ot;export{dn as default};
|
|
13
|
+
`)}function zt(t){return t.reduce((e,r)=>{let[n,i]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&i?{...e,[n]:i}:e},{})}function Wt(t){return zt(Bt(t))}function Ye(t,e){return t?.replace("::",":")===e?.replace("::",":")}var Se=!1,Yt={on:()=>Se=!0,off:()=>Se=!1},N={tagsRaw:J,allowUnknownHtmlTags:Yt,isAllowed(t){if(Se)return!0;let e=u(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!J[e]},allowTag:t=>J[t.toLowerCase()]=!0,prohibitTag:t=>J[t.toLowerCase()]=!1};var _t=!0,Z={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 Vt(t){if(_t&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,i])=>[...r,`${P(n)} => ${i}`],[]).join("\\000A");w.error(`JQx: HTML creation error(s): ${e}`)}}function Ut(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)||N.isAllowed(e)}function M(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return u(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&M(r),r?.attributes){let i=u(r,SVGElement)?R.svg:R.html;[...(r??{attributes:[]}).attributes].forEach(l=>{let f=l.name.trim().toLowerCase(),S=l.value.trim().toLowerCase().replace(Z.whiteSpace,""),y=f==="href"?!Z.validURL.test(S):Z.notAllowedValues.test(S),x=f.startsWith("data")?!Z.data.test(f):!!i[f];if(y||x){let d=K(l.value||"none",60);d+=d.length===60?"...":"",e.removed[`${l.name}`]=`attribute/property/value not allowed, removed. Value: ${d}`,r.removeAttribute(l.name)}})}if(!(Ut(r)||r.constructor===CharacterData||r.constructor===Comment)){let i=(r?.outerHTML||r?.textContent).trim(),l=K(i,60)??"EMPTY";l+=l.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${l}`,r.remove()}}),Vt(e),t}function Xt(t){let e=document.createElement("div");return e.insertAdjacentHTML(A.end,t),e.childNodes.length?M(e):void 0}function Gt(t,e,r){switch(!0){case u(t,Comment):return e.insertAdjacentHTML(r,`<!--${t.data}-->`);case u(t,Text):return e.insertAdjacentText(r,t.data||t.textContent);default:return}}function I(t=[],e=document.body,r=A.BeforeEnd){return r=r||A.BeforeEnd,e=e?.isJQx?e.node:e||document.body,t.reduce((n,i)=>{let l=O(i)&&Zt(i,e,r);return l?[...n,l]:n},[])}function Zt(t,e=document.body,r=A.BeforeEnd){return r=r||A.BeforeEnd,e=e?.isJQx?e?.[0]:e,u(t,Comment,Text)?Gt(t,e,r):u(t,HTMLElement)?e.insertAdjacentElement(r,t):void 0}function T(t){if(u(t,Text,Comment))return t;let e=t?.trim(),r=e?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(i=>i.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(t.replace(/<!--|-->$/g,""));if(r||u(e,String)&&!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(r??e);let n=Xt(t);return n.childNodes.length<1?T(`<span data-jqxcreationerror="1">${q(t,60)}</span>`):n.children[0]}function ee(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(...Ie);let e=[],[r,n]=[t("#jqxPopupContent"),t.node("#jqxPopup")],i={};return t.handle({type:"click, cancel",handlers:m,name:"genericPopupCloseHandler",capture:!0,about:"A generic handler for JQx popups"}),Object.freeze({show:l,remove:f,removeModal:b});function l(c){if(n.open)switch(!0){case S(c):return;default:return f(),setTimeout(()=>l(c),200)}i={...c};let{content:o}=i;return t.IS(o,String,HTMLElement)||o?.isJQx?y():!0}function f(){return i.modal?g(i.warnMessage):x()}function S(c){for(let[o,s]of Object.entries(i))if(s!==c[o])return!1;return!0}function y(){r.clear();let{content:c,modal:o,closeAfter:s}=i;o=t.IS(o,Boolean)?o:!1;let a=o?"":t.div({id:"closeHandleIcon"});r.append(a,t.IS(c,String)?t.div(c):c),n.showModal(),!o&&t.IS(s,Number)&&h(f,s)}function x(){if(n.close(i.returnValue),d(),t.IS(i.callback,Function))return e.push(setTimeout(()=>i.callback(i.returnValue),200));i={}}function d(){e.forEach(c=>clearTimeout(c)),e=[]}function b({callback:c,value:o}={}){i.returnValue=o,i.modal=!1,i.callback=c||i.callback,f()}function m({evt:c}){if(!(Object.keys(i).length<1||!n.open)&&(c.type==="cancel"&&i.modal&&c.preventDefault(),c.target.closest("#closeHandleIcon")||!c.target.closest("#jqxPopupContent")))return i.activeTimer&&clearTimeout(i.activeTimer),f()}function h(c,o){t.IS(c,Function)&&t.IS(o,Number)&&o>0&&(d(),e.push(setTimeout(c,o*1e3)))}function g(c){if(!t.IS(c,String,HTMLElement,Proxy))return;let o=r.find$(".warn");switch(!0){case o.is.empty:o=t.div({class:"warn"},c);default:r.append(o.addClass("active")),h(()=>r.find$(".warn").removeClass("active"),2)}}}function te(t){let e={},r="anonymous_";function n(d){if(d){let{handler:b,capture:m,type:h}=d;document.addEventListener(h,b,{capture:m})}}function i(d){if(d){let{type:b,handler:m,capture:h}=d;document.removeEventListener(b,m,{capture:h})}}function l(d,b,m,h){return function(g){if(!L(b))return d({evt:g});let c=g.target.closest(b);if(c){let o=t(c);d({self:o,me:o,evt:g}),m&&y(g.type,h)}return!0}}function f(d){return e[d]=e[d]||{},e[d]}function S(d,b){return Object.entries(f(d)).find(([m])=>m===b)}function y(d,b){let m=S(d,b);m&&(i(m[1]),delete e[d][b],delete re[b],w.warn(`Removed listener [${b}] for event type [${d}].`))}function x(d){let{type:b,handler:m,name:h,capture:g,once:c,selector:o,node:s,about:a}=d;e[b]=e[b]||{};let p=xe(h||m.name),E=m;if(s instanceof HTMLElement){let C=s.dataset.hid||p;s.dataset.hid=C,o=`[data-hid=${C}]`}switch(!0){case!e[b][p]:return w.log(`JQx: created listener for event type ${b}, with handler name ${p}`),e[b][p]={name:p,handler:l(m,o,c,p),capture:_e(b,g),once:!!c,type:b,initialHandler:E,selector:!!o&&o||!1,about:!!a&&a||!1,unListen(){y(b,p)}},e[b][p];default:return console.warn(`The listener [${p}] for [${b}] exists, it is not re-assigned.`)}}return{remove(...d){return y(...d)},listen:function(d){let{type:b,handler:m}=d;if(!L(b)||!u(m,Function))return;let h=x(d);if(h)return n(h),{type:b,name:h.name,unListen(){y(b,h.name)}}},get ListenerStore(){return Object.freeze({...e})}}}var w=er(),Kt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],A=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}})),qt=[...Array(26)].map((t,e)=>String.fromCharCode(e+65)).concat([...Array(26)].map((t,e)=>String.fromCharCode(e+97))).concat([...Array(10)].map((t,e)=>`${e}`)),ve=Object.freeze({get(t,e){return t[_(e)]||t[e]},enumerable:!1,configurable:!1}),re={};He.custom();function we(){let t=setTimeout(()=>{});for(;t>=0;)clearTimeout(t--)}function xe(t){return L(t)&&!/^handler|handlers$/gi.test(t.trim())?t.trim():Ve()}function Le(t){let e=!!t.node&&!u(t,Text,Comment);switch(!0){case e:let r=t.node.dataset?Object.keys(t.node.dataset).map(l=>`[data-${l}]`):[],i=[t.attr("id")&&`#${t?.attr("id")}`||void 0,t.attr("class")&&t?.attr("class").split(" ").map(l=>`.${l}`).join(", ")||void 0,r.length>0&&r.join(", ")||void 0].filter(l=>!!l).join(", ")||[];return i.length?`(${i})`:"";default:return""}}function Ve(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return re[e]?Ve():(re[e]=e,e)}function _e(t,e){return!!Kt.find(r=>r===t)||!!e}function ie(t){return t.startsWith("data")||R.html.find(e=>t.toLowerCase()===e)}function se(t){return t&&(t.textContent="")}function W(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?W(t,e,r):e}function L(t,e=1){return e=u(e,Number)&&e||1,u(t,String)&&t.length>=e}function K(t,e=120){return q(t,e).replace(/</g,"<")}function q(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 P(t){switch(!0){case u(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function Ee(t){return u(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function er(){let[t,e]=[!1,!0],r=[],n={get on(){return t=!0,n},get off(){return t=!1,n},get disable(){return e=!0,n},get enable(){return e=!1,n},get backLog(){return r}};function i(){e=!0}function l(){e=!1}function f(...x){return r.unshift(...x.map(d=>`${oe()} \u2A3B ${Ee(d)}`)),console.error(r.slice(0,x.length).join(`
|
|
14
|
+
`)),n}function S(...x){return r.unshift(...x.map(d=>`${oe()} \u26A0 ${Ee(d)}`)),console.warn(r.slice(0,x.length).join(`
|
|
15
|
+
`)),n}function y(...x){let d=x.map(b=>`${oe()} \u2714 ${Ee(b)}`);switch(!e&&r.unshift(...d),t){case!0:console.log(d.join(`
|
|
16
|
+
`));default:return n}}return Object.defineProperties(n,{log:{value:y,enumerable:!1},error:{value:f,enumerable:!1},warn:{value:S,enumerable:!1}}),Object.freeze(n)}function oe(){return(t=>`[${ne(t.getHours())}:${ne(t.getMinutes())}:${ne(t.getSeconds())}.${ne(t.getMilliseconds(),3)}]`)(new Date)}function Ae(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=F(r),r.startsWith("data"))return le(t,n);u(n,String)&&ie(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function le(t,e){if(t&&u(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${F(r)}`,n)}function ae(t){return t?u(t,Proxy)?[t.EL]:u(t,NodeList)?[...t]:O(t)?[t]:U(t)?t:t.isJQx?t.collection:void 0:[]}function D(t,e,r=!0,...n){if(t.is.empty)return w.log("[JQx instance].[before(Me) | after(Me) | andThen]: instance is empty."),t;if(n=n.map(l=>l.isJQx?l.node:u(l,String)?e(l).node??l:l),n.find(l=>!u(l,String,Element))){let l=r?"after":"before";return w.log(`[JQx instance].[${l}(Me)]: invalid/-sufficient input.`),t}return t.node[r?"after":"before"](...n),t}function O(t){return u(t,Text,HTMLElement,Comment)}function Y(t,e){if(u(e,Object))for(let[r,n]of Object.entries(e)){let i;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),i="important"),t.style.setProperty(F(r),n,i)}}function H(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function Ue(t){if(!u(t,HTMLElement))return;let e=t.style,r=getComputedStyle(t),n=!![e.visibility,r.visibility].includes("hidden"),i=!![e.display,r.display].includes("none"),l=!!t.hidden,f=parseInt(r.height)<1||parseInt(r.width)<1,S=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,y=+r.opacity==0||+(e.opacity||1)==0;return!(l||S||y||i||n||f)}function Xe(t){return t?.isConnected?!![...document.querySelectorAll(":is(:read-write)")].find(e=>e===t):!1}function Ge(t){return t?.filter(e=>e).reduce((e,r)=>e.concat(Te(r)?`<!--${r.data}-->`:ce(r)?r.textContent:r.outerHTML),"")}function ne(t,e=2){return`${t}`.padStart(e,"0")}function Ze(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 ue(){return`_${tr(qt).slice(0,8).join("")}`}function Fe(t){return t=u(t,String)&&/,/.test(t)?t.split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):t,u(t,Array)?t:u(t,String)&&t?.trim().toLowerCase()||""}function Ke(t){return t?.isConnected?!![...document.querySelectorAll(":is(:modal)")].find(e=>e===t):!1}function Ce(t,e){switch(t=String(t).trim(),!0){case/^(0|false|f)$/i.test(t):return!1;case/^(1|true|t)$/i.test(t):return!0;default:return e}}function tr(t){let e=t.length;for(;e--;){let r=Ze(e);[t[e],t[r]]=[t[r],t[e]]}return t}function _(t){return u(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${rr(e)}`||e).join(""):t}function F(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function rr([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function ce(t){return u(t,Comment,Text)}function Te(t){u(t,Comment)}function qe(t){return u(t,Text)}function V(t){return u(t,String)&&/^<|>$/.test(`${t}`.trim())}function U(t){return u(t,Array)&&!t?.find(e=>!O(e))}function fe(t){return u(t,Array)&&!t?.find(e=>!V(e))}function v(t,e){let r=t.collection.filter(n=>!ce(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function et(t){return t.node?u(t.node,Comment)?`<!--${t.node.textContent}-->`:t.HTML.get(1).split(">")[0]+">...":""}function $e(t,e,r){let n=e!==document.body&&u(t,String)&&t.toLowerCase()!=="body"?e:document;try{r.collection=[...n.querySelectorAll(t)]}catch{w.warn(`JQx: Invalid CSS querySelector. [${u(t,String)?t:"Not a string!"}]`)}}function tt(){return{isCommentOrTextNode:ce,isNode:O,isComment:Te,isText:qe,isHtmlString:V,isArrayOfHtmlElements:U,isArrayOfHtmlStrings:fe,ElemArray2HtmlString:Ge,input2Collection:ae,setCollectionFromCssSelector:$e,cssRuleEdit:z({createWithId:"JQxStylesheet"})}}function rt(){let e=Object.freeze({notInDOM:"n/a",writable:"n/a",modal:"n/a",empty:!0,open:"n/a",visible:"n/a"});return r=>{let n=r.node;return u(n,Node)?Object.freeze({get writable(){return Xe(n)},get modal(){return Ke(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return Ue(n)},get disabled(){return n.hasAttribute("readonly")||n.hasAttribute("disabled")},get empty(){return r.collection.length<1},get virtual(){return r.isVirtual}}):e}}function nt(t,e,r,n){r&&u(e,String)&&(e={[e]:r==="-"?"":r});let i;e.className&&(i=e.className,delete e.className),i=[...t.classList].find(f=>f.startsWith("JQxClass-")||i&&f===i)||i||`JQxClass-${ue().slice(1)}`,n.editCssRule(`.${i}`,e),t.classList.add(i)}var nr=rt();function ot(t){return{factoryExtensions:or(t),instanceExtensions:ir(t)}}function or(t){return{data(e){return{get all(){return new Proxy(e[0]?.dataset??{},ve)},set(r={}){if(!e.is.empty&&u(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},get(r,n){return e.data.all[r]??n},add(r={}){if(!e.is.empty&&u(r,Object))for(let[n,i]of Object.entries(r))e.setData({[n]:i});return e},remove(r){return e[0]?.removeAttribute(`data-${F(r)}`),e}}},dimensions(e){if(e.is.empty)return w.error("[JQx instance].dimensions called on empty instance"),{error:"[JQx instance].dimensions: NO ELEMENTS"};let{node:r}=e,n=r.getBoundingClientRect().toJSON();return n.scrollTopDistance=W(r,0),n.scrollLeftDistance=W(r,0,!1),n},node(e){return e[0]},HTML(e){return{get(r,n){if(e.is.empty)return"NO ELEMENTS IN COLLECTION";let i=r?e.outerHtml:e.html();return n?P(i):i},set(r,n=!1,i=!1){r=r.isJQx?r.HTML.get(1):r;let l=u(r,String);return r=l&&i?P(r):r,l&&(r||"").trim().length&&e.html(r,n),e},replace(r,n=!1){return e.HTML.set(r,!1,n)},append(r,n=!1){return r=u(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)},insert(r,n=!1){return r=u(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){return nr(e)},length(e){return e.collection.length},outerHtml(e){return(e.first()||{outerHTML:void 0}).outerHTML},parent(e){let r=t(e[0]?.parentNode);return r.is.empty?e:r},render(e){switch(!0){case!e.is.empty:return e.toDOM();default:return t.logger.warn("[JQx.render]: empty collection"),e}},Style(e){return{get computed(){return e.is.empty?{}:getComputedStyle(e[0])},inline(r){return e.style(r)},inSheet(r){return e.css(r)},valueOf(r){return e.is.empty?void 0:getComputedStyle(e[0])[F(r)]},nwRule(r){return e.Style.byRule({rules:r})},byRule({classes2Apply:r=[],rules:n=[]}={}){let l=u(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&u(n,String)?[n]:n,r=r&&u(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 ir(t){return{addClass(e,...r){return v(e,n=>n&&r.forEach(i=>n.classList.add(i)))},after(e,...r){return D(e,t,!0,...r)},afterMe(e,...r){return D(e,t,!0,...r)},andThen(e,...r){return D(e,t,!0,...r)},append(e,...r){if(e.is.empty||r.length<1)return e;let n=e.length===1;for(let i of r){if(!i.isJQx&&L(i)){let l=i.trim(),S=!/^<(.+)[^>]+>$/m.test(l)?t.text(i):T(i);v(e,y=>y.append(n?S:H(S)))}O(i)&&v(e,l=>l.append(n?i:H(i))),i.isJQx&&!i.is.empty&&v(e,l=>i.collection.forEach(f=>l.append(n?f:H(f))))}return e},appendTo(e,r){switch(r=typeof r=="string"?t(r):r,!0){case(!r?.isJQx&&!u(r,HTMLElement)||r?.collection?.length<1):return t.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).append(e),e}},attr(e,r,n){if(!e.node||u(e.node,Text,Comment))return e;if(!n&&L(r))return r=F(r),r==="class"?[...e.node.classList].join(" "):e.node.getAttribute(r);if(L(r)&&n)switch(r=F(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return u(r,Object)&&!e.is.empty&&Ae(e.node,r),e},before(e,...r){return D(e,t,!1,...r)},beforeMe(e,...r){D(e,t,!1,...r)},clear(e){return v(e,se)},closest(e,r){let n=L(r)?e.node?.closest(r):void 0;return n?t(n):e},computedStyle(e,r){let{node:n}=e;return n&&getComputedStyle(n)[r]},css(e,r,n){return v(e,i=>nt(i,r,n,t))},duplicate(e,r=!1,n=document.body){switch(!0){case e.is.empty:return w.error("Duplicating an empty JQx instance is not possible"),e;default:let i=e.collection[0].cloneNode(!0);return i.childNodes.forEach(l=>{l.removeAttribute&&l?.removeAttribute("id")}),r?t(i).toDOM(n):t.virtual(i)}},each(e,r){return v(e,r)},empty(e){return v(e,se)},find(e,r){return e.collection.length>0?[...e.first()?.querySelectorAll(r)]:[]},find$(e,r){return e.collection.length>0?t(r,e):e},first(e,r=!1){return e.collection.length>0?r?e.single():e.collection[0]:void 0},first$(e,r){return e.single(r)},getData(e,r,n){return e.node?.dataset?.[r]||n},hasClass(e,...r){return e.is.empty||!e.node.classList.length?!1:r.find(n=>e.node.classList.contains(n))&&!0||!1},hide(e){return v(e,r=>Y(r,{display:"none !important"}))},html(e,r,n){switch(!0){case(e.is.empty&&!L(r)):return"";case!L(r):return e.node?.getHTML()??"";default:let i=T(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);return v(e,f=>(f.textContent=n?f.textContent:"",f.insertAdjacentHTML(t.at.end,i.getHTML())))}},htmlFor(e,r,n="",i=!1){if(e.is.empty||!L(r)||!L(n))return e;let l=e.find$(r);if(l.length<1)return e;let f=T(`<span>${n}</span>`);return l.each(S=>{i||(S.textContent=""),S.insertAdjacentHTML(t.at.end,f?.getHTML())}),e},isEmpty(e){return!e.node},nth$(e,r){return e.single(r)},on(e,r,...n){switch(!0){case(e.is.empty||!u(r,String,Array)||!L(r)||n.length<1):return e;default:return t.handle({type:r,node:e.node,handler:n}),e}},once(e,r,...n){switch(!0){case(e.is.empty||!u(r,String,Array)||!L(r)||n.length<1):return e;default:return t.handle({type:r,once:!0,node:e.node,handler:n}),e}},prepend(e,...r){if(e.is.empty||!r)return;let n=e.length===1;for(let i of r){if(L(i)){i=i.trim();let f=!/^<(.+)[^>]+>$/m.test(i)?t.text(i):T(i);f=n?f:H(f),v(e,S=>S.prepend(f.cloneNode(!0)))}O(i)&&v(e,l=>l.prepend(n?i:H(i))),i.isJQx&&!i.is.empty&&(i.collection.length>1&&i.collection.reverse(),v(e,l=>v(i,f=>l.prepend(n?f:H(f)))),i.collection.reverse())}return e},prependTo(e,r){switch(r=typeof r=="string"?t(r):r,!0){case(!r?.isJQx&&!u(r,HTMLElement)||r?.collection?.length<1):return t.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).prepend(e),e}},prop(e,r,n){if(u(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let i=u(r,Object)?r:{[r]:n};for(let[l,f]of Object.entries(i)){if(l=l.trim(),f&&!ie(l)||!f)return!1;if(l.toLowerCase()==="id")return e[0].id=f;v(e,y=>{if(l.startsWith("data"))return y.dataset[l.slice(l.indexOf("-")+1)]=f;y[l]=f})}return e},remove(e,r){let n=l=>l.remove(),i=()=>e.collection=e.collection.filter(l=>document.documentElement.contains(l));if(r){let l=e.find$(r);return l.is.empty||(v(l,n),i()),e}return v(e,n),i(),e},rmAttr(e,...r){for(let n of r)e.node.removeAttribute(n);return e},removeClass(e,...r){return v(e,n=>{if(n)for(let i of r)n.classList.remove(i)})},renderTo(e,r,n){return r=u(r,HTMLElement)||r.isJQx?r:document.body,n=u(n,String)&&t.at[n]?n:t.at.end,e.first$().toDOM(r,n),e},replace(e,r,n){let i=e.node;return!r||!u(n,HTMLElement)&&!n?.isJQx?(t.logger.error("JQx replace: invalid replacement value"),e):((n.isJQx||u(n,NodeList))&&(n=n[0]),i&&r&&(r=u(r,String)?i.querySelectorAll(r):r.isJQx?r.collection:r,u(r,HTMLElement,NodeList,Array)&&u(n,HTMLElement)&&(u(r,HTMLElement)?[r]:[...r]).forEach(l=>l.replaceWith(n.cloneNode(!0)))),e)},replaceClass(e,r,...n){return v(e,i=>{i.classList.remove(r);for(let l of n)i.classList.add(l)})},replaceMe(e,r){return e.replaceWith(r)},replaceWith(e,r){return r=u(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e},setData(e,r){return v(e,n=>le(n,r))},show(e){return v(e,r=>Y(r,{display:"revert-layer !important"}))},single(e,r){let n=e.collection.length>0;switch(r=r??0,!0){case(n&&u(r,String)):return e.find$(r);case(n&&u(r,Number)):return t(e.collection[r]);case n:return e.collection[0];default:return e}},style(e,r,n){return v(e,l=>{n&&u(r,String)&&(r={[r]:n||"none"}),Y(l,r)})},text(e,r,n=!1){switch(!0){case e.isEmpty():return e;case!u(r,String):return e.node.textContent;default:return v(e,i=>i.textContent=n?i.textContent+r:r)}},toDOM(e,r=document.body,n=A.BeforeEnd){return e.isVirtual=!1,I(e.collection,r,n),e},toggleClass(e,r){return v(e,n=>n.classList.toggle(r))},toNodeList(e){return[...e.collection].map(r=>document.importNode(r,!0))},trigger(e,r,n,i){n=u(n,Function)?n:Event,i=u(i,Object)?{...i,bubbles:i.bubbles??!0}:{bubbles:!0};let l=new n(r,i);return e.is.empty||e.each(f=>f.dispatchEvent(l)),e},val(e,r){switch(!0){case(e.is.empty||!u(e.node,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)):return e;case!u(r,String):return e.node.value;default:return e.node.value=u(r,String)?r:"",e}}}}var Ne,de,{isComment:cn,isText:fn,isHtmlString:dn,isArrayOfHtmlElements:mn,isArrayOfHtmlStrings:gn,ElemArray2HtmlString:pn,cssRuleEdit:Oe,addFn:sr}=lr();function lr(){return{...tt(),addFn:ar}}function ar(t,e){return t=t?.trim(),!L(t)||!u(e,Function)?w.error("JQx.fn: method invalid parameter(s)"):(de[t]=(r,...n)=>e(r,...n),w.log(`JQx: added extension function [${t}]`))}function ur(t){return function(e,r,n){if(e=e?.trim(),!L(e)||!u(r,Function))return t.error("JQx.staticFn: invalid parameter(s)");let i=n?{get(){return r()}}:{value(...l){return r(...l)}};try{Object.defineProperty(t,e,i)}catch{return t.warn(`JQx.staticFn: extension [${e}] already exists`)}return w.log(`JQx: added static extension function [${e}]`)}}function X(t){return new Proxy(t,Object.freeze({get:(e,r)=>cr(e,r,t)}))}function it(t,e){return(...r)=>u(t,Function)&&t(X(e),...r)}function cr(t,e,r){switch(!0){case u(e,Symbol):return $({trial:()=>t[e],whenError:()=>t});case u(+e,Number):return t.collection?.[e]||void 0;case e in Ne:return it(Ne[e],r)();case e in de:return it(de[e],r);default:return t[e]}}function at(t){let e=pr(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function fr(t){return{allow(e){let r=/-/.test(e),n=r&&e;e=r?_(e):e.toLowerCase(),N.allowTag(e),Object.defineProperties(t,Pe(e,!0,t,n))},prohibit(e){e=e.toLowerCase(),N.prohibitTag(e),Object.defineProperties(t,Pe(e,!1,t))}}}function st(...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))Oe(e,{removeRule:1})}function dr(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(A).find(l=>n===l);let i=t(e,document.createElement("br"));if(r&&!u(r,HTMLBRElement))for(let l of i.collection)n?r.insertAdjacentElement(n,l):r.append(l);return i}}function mr(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[i,l]of Object.entries(n))!(i in e)&&Object.defineProperty(e,i,{...l,enumerable:!1})}return e}function gr(t,e,r,n){return t=F(n||t.toLowerCase()),{get(){return(...i)=>{let l=e&&r.virtual(M(B[t](...i)))||void 0,S=!u(l?.node,Comment,Text,void 0)?Le(l):"";return w.log(e?`JQx: created (virtual) instance from [JQx].${t} ${S}`:`JQx: ${t.toUpperCase()} is prohibited. Use [JQx].allowTag if necessary.`),l}},enumerable:!1,configurable:!0}}function Pe(t,e,r,n){t=t.toLowerCase();let i=gr(t,e,r,n);return n?{[n]:i,[_(n)]:i}:{[t]:i,[t.toUpperCase()]:i}}function pr(t){return mr(Object.entries(N.tagsRaw).reduce(yr(t),{}),vr(t))}function yr(t){return function(e,[r,n]){return Object.defineProperties(e,Pe(r,n,t)),e}}function br(t){return function(e,r,...n){u(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function hr(t){return function(e){let{type:r,types:n,origin:i,selector:l,handler:f,handlers:S,node:y,name:x,capture:d,once:b,about:m}=e;f=S||f,r=n||r,l=i||l;let h=Fe(r),g=x;f=u(f,Function)?[f]:f;let c={type:h,selector:l||i,capture:d,name:g,once:b,node:y,about:m};switch(!0){case(u(h,Array)&&h.length>0):for(let o of h)c.type=o,lt(f,c,t);break;default:return lt(f,c,t)}}}function lt(t,e,r){for(let n of t)r.listen({...e,handler:n})}function Sr(t){return function(e,r){return r=L(r)&&r,e=L(e)&&e,r&&e&&t.listenerStore[e][r]}}function xr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:ee(t),enumerable:!1}),t.activePopup}function Er(t){let e=(d,b)=>Oe(d,b),r=function(d){return z({createWithId:d||`jqx${ue()}`})},n=function(...d){for(let b of d)Oe(b)},i=fr(t),l=te(t),f=hr(l);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:i,handle:f,capturedHandling:f,log:(...d)=>w.on.log(...d).off,warn:(...d)=>w.on.warn(...d).off,error:(...d)=>w.on.error(...d).off,handlerWrapper:l}}function vr(t){let{factoryExtensions:e,instanceExtensions:r}=ot(t);Ne=e,de=r;let{editCssRule:n,createStyle:i,editCssRules:l,allowProhibit:f,handle:S,capturedHandling:y,log:x,warn:d,error:b,handlerWrapper:m}=Er(t),h=Sr(t),g=ur(t);return B.setError=c=>(b(`JQx direct element creation error: [${c}] is not a valid tag`),t.br()),{log:x,warn:d,error:b,editCssRules:l,createStyle:i,editStylesheet:i,editCssRule:n,escHtml:P,logger:w,text(c,o=!1){return o?t.comment(c):document.createTextNode(c)},node(c,o=document){return o.querySelector(c,o)},nodes(c,o=document){return[...o.querySelectorAll(c,o)]},clearAllTimers:we,get staticFn(){return function(c,o,s){return g(c,o,s)}},get toBool(){return Ce},get getNamedListener(){return h},get virtual(){return dr(t)},get allowTag(){return f.allow},get prohibitTag(){return f.prohibit},get removeCssRule(){return st},get removeCssRules(){return st},get delegate(){return br(y)},get delegateCaptured(){return y},get handle(){return y},get listen(){return m.listen},get at(){return A},get setStyle(){return n},get fn(){return sr},get lenient(){return N.allowUnknownHtmlTags},get IS(){return u},get Popup(){return xr(t)},get listenerStore(){return m.ListenerStore}}}var ut=at(wr());function wr(){return function(e,r,n=A.BeforeEnd){if(e?.isJQx)return e;let i=u(r,HTMLBRElement);r=(!i&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(A).find(d=>n===d)?n:void 0;let l=V(e),S=!l&&fe(e)||l,y={collection:ae(e)??[],isVirtual:i,isJQx:!0},x=U(y.collection);if(y.collection.length&&x)return i||y.collection.forEach(d=>{r.contains(d)||I([d],r,n)}),X(y);if(S){if([e].flat().forEach(d=>y.collection.push(T(d))),y.collection.length>0){let d=y.collection.filter(g=>g?.dataset?.jqxcreationerror);y.collection=y.collection.filter(g=>!g?.dataset?.jqxcreationerror);let m=y.collection.map(g=>`${String(g.constructor).split(/function|\(/)[1].trim()}`).length>1;y=X(y);let h=y.collection.length>0?et(y):"sanitized: no elements remaining";w.log(`JQx: created ${y.isVirtual?"(virtual)":""} instance from ${m?"array of ":""}HTML string${m?"s":""} ${h}`),y.isVirtual||I(y.collection,r,n)}return y}return $e(e,r,y),X(y)}}var En=ut;export{En as default};
|
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ Bundlephobia is a lost case
|
|
|
12
12
|
> signature`[handler]({evt, [me|self]})`. If you use `[JQx].delegate` or
|
|
13
13
|
> `[JQx instance].on` in your code, please review.
|
|
14
14
|
>
|
|
15
|
-
> See
|
|
15
|
+
> See [documentation](https://kooiinc.codeberg.page/JQx/Resource/Docs/?navTo=static_handle) for the new `handle` functionality.
|
|
16
16
|
|
|
17
17
|
# JQx
|
|
18
18
|
|
|
@@ -31,13 +31,13 @@ const handlerIdCache = {};
|
|
|
31
31
|
xProxy.custom();
|
|
32
32
|
|
|
33
33
|
export {
|
|
34
|
-
after, applyStyle, assignAttrValues, ATTRS,
|
|
35
|
-
convert2Bool, createElementFromHtmlString, datasetKeyProxy, ElemArray2HtmlString, emptyElement,
|
|
36
|
-
findParentScrollDistance, getAttributesForLogging, getCaptureValue, getHandlerName, HandlerFactory,
|
|
37
|
-
inject2DOMTree, input2Collection, insertPositions, IS, isArrayOfHtmlElements, isArrayOfHtmlStrings,
|
|
38
|
-
isCommentOrTextNode, isHtmlString, isModal, isNode, isNonEmptyString, isText, isVisible, isWritable,
|
|
39
|
-
pad0,PopupFactory, randomNr, randomString, resolveEventTypeParameter, setData, styleFactory,
|
|
40
|
-
tagFNFactory, tagLib, toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr, ucFirst,
|
|
34
|
+
after, applyStyle, assignAttrValues, ATTRS, beforeOrAfter, checkProp, cleanupHtml, clearAllTimers,
|
|
35
|
+
cloneAndDestroy, convert2Bool, createElementFromHtmlString, datasetKeyProxy, ElemArray2HtmlString, emptyElement,
|
|
36
|
+
escHtml, findParentScrollDistance, getAttributesForLogging, getCaptureValue, getHandlerName, HandlerFactory,
|
|
37
|
+
handlerIdCache, inject2DOMTree, input2Collection, insertPositions, IS, isArrayOfHtmlElements, isArrayOfHtmlStrings,
|
|
38
|
+
isComment, isCommentOrTextNode, isHtmlString, isModal, isNode, isNonEmptyString, isText, isVisible, isWritable,
|
|
39
|
+
logTime, maybe, pad0,PopupFactory, randomNr, randomString, resolveEventTypeParameter, setData, styleFactory,
|
|
40
|
+
systemLog, tagFNFactory, tagLib, toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr, ucFirst,
|
|
41
41
|
};
|
|
42
42
|
|
|
43
43
|
function clearAllTimers() {
|
|
@@ -222,10 +222,32 @@ function input2Collection(input) {
|
|
|
222
222
|
: input.isJQx ? input.collection : undefined;
|
|
223
223
|
}
|
|
224
224
|
|
|
225
|
+
|
|
226
|
+
|
|
225
227
|
function after(instance, elem2AddAfter) {
|
|
226
228
|
return instance.andThen(elem2AddAfter);
|
|
227
229
|
}
|
|
228
230
|
|
|
231
|
+
function beforeOrAfter(instance, jqx, after = true, ...toAdd) {
|
|
232
|
+
if (instance.is.empty) {
|
|
233
|
+
systemLog.log(`[JQx instance].[before(Me) | after(Me) | andThen]: instance is empty.`, );
|
|
234
|
+
return instance;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
toAdd = toAdd.map(elem => elem.isJQx ? elem.node : IS(elem, String) ? jqx(elem).node ?? elem : elem );
|
|
238
|
+
const noCando = toAdd.find(elem => !IS(elem, String, Element));
|
|
239
|
+
|
|
240
|
+
if (noCando) {
|
|
241
|
+
const bOrA = after ? `after` : `before`;
|
|
242
|
+
systemLog.log(`[JQx instance].[${bOrA}(Me)]: invalid/-sufficient input.`, );
|
|
243
|
+
return instance;
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
instance.node[after ? `after` : `before`](...toAdd);
|
|
247
|
+
|
|
248
|
+
return instance;
|
|
249
|
+
}
|
|
250
|
+
|
|
229
251
|
function before(instance, elem2AddBefore) {
|
|
230
252
|
return instance.andThen(elem2AddBefore, true);
|
|
231
253
|
}
|
|
@@ -1,38 +1,87 @@
|
|
|
1
|
-
|
|
2
|
-
import { IS, maybe } from "./Utilities.js";
|
|
1
|
+
import { maybe, addSymbolicExtensions } from "./TypeofAnything.js";
|
|
3
2
|
const converts = { html: `innerHTML`, text: `textContent`, class: `className` };
|
|
3
|
+
let elementFunctionCollection = {};
|
|
4
|
+
const customElementRegistry = {};
|
|
5
|
+
let tagFunctionError = tag => {
|
|
6
|
+
console.error(`tinyDOM error: "${tag}" is not a valid HTML tag`);
|
|
7
|
+
return undefined;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
addSymbolicExtensions();
|
|
4
11
|
|
|
5
12
|
export default tinyDOM();
|
|
6
13
|
|
|
7
14
|
function tinyDOM() {
|
|
8
|
-
|
|
9
|
-
|
|
15
|
+
return Object.freeze(new Proxy(elementFunctionCollection, getProxy()));
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function getProxy() {
|
|
19
|
+
return {
|
|
20
|
+
get(tagFns, key) {
|
|
21
|
+
const tag = String(key);
|
|
22
|
+
|
|
10
23
|
switch(true) {
|
|
11
|
-
case tag in
|
|
12
|
-
case validateTag(tag): return createTagFunctionProperty(
|
|
13
|
-
default: return createTagFunctionProperty(
|
|
24
|
+
case tag in tagFns: return tagFns[tag];
|
|
25
|
+
case validateTag(tag): return createTagFunctionProperty({tag, key});
|
|
26
|
+
default: return createTagFunctionProperty({tag, key, isError: true});
|
|
14
27
|
}
|
|
15
|
-
},
|
|
28
|
+
},
|
|
29
|
+
set(tagFns, key, value) {
|
|
30
|
+
if (key === `setError` && typeof value === 'function') { tagFunctionError = value; }
|
|
31
|
+
return true;
|
|
32
|
+
},
|
|
33
|
+
enumerable: false, configurable: false
|
|
16
34
|
};
|
|
17
|
-
return new Proxy({}, tinyDOMProxyGetter);
|
|
18
35
|
}
|
|
19
36
|
|
|
20
|
-
function createTagFunctionProperty(
|
|
21
|
-
|
|
22
|
-
|
|
37
|
+
function createTagFunctionProperty({tag, key, custom, debug = false, isError = false} = {}) {
|
|
38
|
+
let unfrozenElementFunctionCollection = cloneExact();
|
|
39
|
+
|
|
40
|
+
if (isError) {
|
|
41
|
+
Object.defineProperty(unfrozenElementFunctionCollection, tag, {
|
|
42
|
+
get() { return _ => tagFunctionError(key) ?? ``; }
|
|
43
|
+
} );
|
|
44
|
+
|
|
45
|
+
return reFreeze(unfrozenElementFunctionCollection, tag);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (tag.includes(`-`)) {
|
|
49
|
+
const [dashed, camel] = tag.includes(`-`) ? [tag, toCamelcase(tag)] : [toDashedNotation(tag), tag];
|
|
50
|
+
customElementRegistry[dashed] = dashed;
|
|
51
|
+
customElementRegistry[camel] = dashed;
|
|
52
|
+
custom = camel;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
if (!!custom) {
|
|
56
|
+
Object.defineProperty(unfrozenElementFunctionCollection, custom, {
|
|
57
|
+
get() { return tag2FN(tag); }
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Object.defineProperty(unfrozenElementFunctionCollection, tag, {
|
|
62
|
+
get() { return tag2FN(tag); }
|
|
63
|
+
} );
|
|
64
|
+
|
|
65
|
+
return reFreeze(unfrozenElementFunctionCollection, tag);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function reFreeze(unfrozenCollection, tag) {
|
|
69
|
+
elementFunctionCollection = Object.freeze(new Proxy(unfrozenCollection, getProxy()));
|
|
70
|
+
elementFunctionCollection[Symbol.for.proxy] = `Proxy (Object)`;
|
|
71
|
+
return elementFunctionCollection[tag];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function cloneExact() {
|
|
75
|
+
return Object.fromEntries(
|
|
76
|
+
Object.entries(Object.getOwnPropertyDescriptors(elementFunctionCollection))
|
|
77
|
+
);
|
|
23
78
|
}
|
|
24
79
|
|
|
25
80
|
function processNext(root, next, tagName) {
|
|
26
|
-
next = next?.isJQx && next.
|
|
27
|
-
|
|
81
|
+
next = next?.isJQx && next.node || next;
|
|
28
82
|
return maybe({
|
|
29
|
-
trial: _ =>
|
|
30
|
-
|
|
31
|
-
? root.append(next)
|
|
32
|
-
: containsHTML(next)
|
|
33
|
-
? root.insertAdjacentHTML(`beforeend`, next) : root.append(next)
|
|
34
|
-
},
|
|
35
|
-
whenError: err => console.info(`${tagName} (for root ${root}) not created, reason\n`, err)
|
|
83
|
+
trial: _ => containsHTML(next) ? root.insertAdjacentHTML(`beforeend`, next) : root.append(next),
|
|
84
|
+
whenError: err => console.info(`${tagName} not created, reason\n`, err)
|
|
36
85
|
});
|
|
37
86
|
}
|
|
38
87
|
|
|
@@ -43,61 +92,107 @@ function tagFN(tagName, initial, ...nested) {
|
|
|
43
92
|
}
|
|
44
93
|
|
|
45
94
|
function retrieveElementFromInitial(initial, tag) {
|
|
46
|
-
initial = isComment(tag) ? cleanupComment(initial) : initial?.isJQx ? initial.
|
|
95
|
+
initial = isComment(tag) ? cleanupComment(initial) : initial?.isJQx ? initial.node : initial;
|
|
47
96
|
|
|
48
97
|
switch(true) {
|
|
49
|
-
case
|
|
50
|
-
case
|
|
98
|
+
case initial?.[Symbol.is](String): return createElement(tag, containsHTML(initial, tag) ? {html: initial} : {text: initial});
|
|
99
|
+
case initial?.[Symbol.is](Node): return createElementAndAppend(tag, initial);
|
|
51
100
|
default: return createElement(tag, initial);
|
|
52
101
|
}
|
|
53
102
|
}
|
|
54
103
|
|
|
55
|
-
function cleanupProps(props) {
|
|
56
|
-
delete props.data;
|
|
57
|
-
if (Object.keys(props).length < 1) {
|
|
58
|
-
return props;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
Object.keys(props).forEach(key => {
|
|
62
|
-
const keyLowercase = key.toLowerCase();
|
|
63
|
-
|
|
64
|
-
if (keyLowercase in converts) {
|
|
65
|
-
props[converts[keyLowercase]] = props[key];
|
|
66
|
-
delete props[key];
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
return props;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
104
|
function createElementAndAppend(tag, element2Append) {
|
|
74
105
|
const elem = createElement(tag);
|
|
75
106
|
elem.append(element2Append);
|
|
76
107
|
return elem;
|
|
77
108
|
}
|
|
78
109
|
|
|
79
|
-
function
|
|
80
|
-
|
|
110
|
+
function cleanupProps(props) {
|
|
111
|
+
if ( Object.keys(props).length < 1 ) { return {assignable: {}, specials: [...Array(3)] }; }
|
|
112
|
+
|
|
113
|
+
const specials = retrieveSpecialProps(props);
|
|
114
|
+
Object.keys(props).forEach( key => {
|
|
115
|
+
const keyCI = key.toLowerCase();
|
|
116
|
+
keyCI in converts && (props[converts[keyCI]] = props[key]) && delete props[key]; } );
|
|
117
|
+
|
|
118
|
+
return { assignable: props, specials };
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function retrieveSpecialProps(props) {
|
|
122
|
+
if (!props?.[Symbol.is](Object)) { return Array(3); }
|
|
81
123
|
|
|
82
124
|
const data = Object.entries(props.data ?? {});
|
|
125
|
+
const attributes = Object.entries(props.attributes ?? {});
|
|
126
|
+
const classList = props.class?.split(/[ ,]/).map(v => v.trim()).filter(v => v.length > 1);
|
|
127
|
+
delete props.data;
|
|
128
|
+
delete props.attributes;
|
|
129
|
+
delete props.class;
|
|
130
|
+
|
|
131
|
+
return [data, attributes, classList];
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function assignSpecialProps(specialProps, element) {
|
|
135
|
+
const [data, attributes, classList] = specialProps;
|
|
136
|
+
|
|
137
|
+
data?.length && data.forEach(([key, value]) => element.dataset[key] = value);
|
|
138
|
+
attributes?.length && attributes.forEach( ([key, value]) => element.setAttribute(key, value) );
|
|
139
|
+
classList?.forEach( value => element.classList.add(value));
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function createElement(tagName, props) {
|
|
143
|
+
props = props || {};
|
|
144
|
+
const {assignable, specials} = cleanupProps(props);
|
|
83
145
|
const elem = Object.assign(
|
|
84
|
-
isComment(tagName) ? new Comment(
|
|
85
|
-
|
|
86
|
-
|
|
146
|
+
isComment(tagName) ? new Comment() : document.createElement(tagName),
|
|
147
|
+
assignable
|
|
148
|
+
);
|
|
149
|
+
assignSpecialProps(specials, elem);
|
|
150
|
+
|
|
87
151
|
return elem;
|
|
88
152
|
}
|
|
89
153
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
154
|
+
|
|
155
|
+
function cleanupComment(initial) {
|
|
156
|
+
return initial?.constructor === Comment ? initial?.textContent : String(initial);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
function containsHTML(str, tag) {
|
|
160
|
+
return !isComment(tag) && str?.[Symbol.is](String) && /<.*>|&[#|0-9a-z]+[^;];/i.test(str);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
function isComment(tag) { return /comment/i.test(tag); }
|
|
164
|
+
|
|
165
|
+
function validateTag(name) {
|
|
166
|
+
return validateElementTagName(name) &&
|
|
167
|
+
(name in customElementRegistry ||
|
|
168
|
+
!createElement(name)?.[Symbol.is](HTMLUnknownElement));
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
function validateElementTagName(tagName) {
|
|
172
|
+
tagName = tagName.toLowerCase();
|
|
173
|
+
|
|
174
|
+
return typeof tagName === `string` &&
|
|
175
|
+
tagName.length > 0 &&
|
|
176
|
+
/^[a-z]/.test(tagName) &&
|
|
177
|
+
/^[a-z0-9-]+$/gi.test(tagName);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function tag2FN(tagName) {
|
|
181
|
+
tagName = tagName in customElementRegistry ? customElementRegistry[tagName] : tagName;
|
|
182
|
+
return (initial, ...args) => tagFN(tagName, initial, ...args);
|
|
94
183
|
}
|
|
95
184
|
|
|
96
|
-
function
|
|
97
|
-
|
|
98
|
-
function
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
function
|
|
103
|
-
|
|
185
|
+
function ucFirst([first, ...theRest]) { return `${first.toUpperCase()}${theRest.join(``)}`; }
|
|
186
|
+
|
|
187
|
+
function toDashedNotation(str2Convert) {
|
|
188
|
+
return str2Convert.replace(/[A-Z]/g, a => `-${a.toLowerCase()}`).replace(/^-|-$/, ``);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
function toCamelcase(str2Convert) {
|
|
192
|
+
return str2Convert[Symbol.is](String)
|
|
193
|
+
? str2Convert.toLowerCase()
|
|
194
|
+
.split(`-`)
|
|
195
|
+
.map( (str, i) => i && `${ucFirst(str)}` || str)
|
|
196
|
+
.join(``)
|
|
197
|
+
: str2Convert;
|
|
198
|
+
}
|
package/package.json
CHANGED
package/src/JQxCreatorFactory.js
CHANGED
|
@@ -260,6 +260,10 @@ function staticMethodsFactory(jqx) {
|
|
|
260
260
|
capturedHandling, log, warn, error, handlerWrapper } = getSelectedStaticMethods(jqx);
|
|
261
261
|
const getNamedListener = getNamedListenerFactory(jqx);
|
|
262
262
|
const staticFN = staticFNMethodFactory(jqx);
|
|
263
|
+
$T.setError = key => {
|
|
264
|
+
error(`JQx direct element creation error: [${key}] is not a valid tag`);
|
|
265
|
+
return jqx.br();
|
|
266
|
+
}
|
|
263
267
|
return {
|
|
264
268
|
log,
|
|
265
269
|
warn,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
-
IS, isNode, ExamineElementFeatureFactory,
|
|
2
|
+
IS, isNode, ExamineElementFeatureFactory, beforeOrAfter,
|
|
3
3
|
isNonEmptyString, toDashedNotation, escHtml, systemLog, insertPositions,
|
|
4
|
-
datasetKeyProxy, loop, cloneAndDestroy, setData,
|
|
4
|
+
datasetKeyProxy, loop, cloneAndDestroy, setData,
|
|
5
5
|
findParentScrollDistance, emptyElement, checkProp, css, assignAttrValues,
|
|
6
6
|
applyStyle, createElementFromHtmlString, inject2DOMTree,
|
|
7
7
|
} from "./JQxUtilities.js";
|
|
@@ -154,27 +154,9 @@ function instanceExtensionsFactory(jqx) {
|
|
|
154
154
|
addClass(instance, ...classNames) {
|
|
155
155
|
return loop(instance, el => el && classNames.forEach(cn => el.classList.add(cn)));
|
|
156
156
|
},
|
|
157
|
-
after(instance,
|
|
158
|
-
afterMe(instance,
|
|
159
|
-
andThen(instance,
|
|
160
|
-
if (!elem2Add || !IS(elem2Add, String, Node, Proxy)) {
|
|
161
|
-
systemLog.log(`[JQx instance].[before(Me) | after(Me) | andThen]: invalid/-sufficient input.`, );
|
|
162
|
-
return instance;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
elem2Add = elem2Add?.isJQx
|
|
166
|
-
? elem2Add
|
|
167
|
-
: IS(elem2Add, Node)
|
|
168
|
-
? jqx.virtual(elem2Add)
|
|
169
|
-
: jqx.virtual(createElementFromHtmlString(elem2Add));
|
|
170
|
-
const [index, method, reCollected] = before
|
|
171
|
-
? [0, `before`, elem2Add.collection.concat(instance.collection)]
|
|
172
|
-
: [instance.collection.length - 1, `after`, instance.collection.concat(elem2Add.collection)];
|
|
173
|
-
|
|
174
|
-
instance[index][method](...elem2Add.collection);
|
|
175
|
-
instance.collection = reCollected;
|
|
176
|
-
return instance;
|
|
177
|
-
},
|
|
157
|
+
after(instance, ...elems) { return beforeOrAfter(instance, jqx, true, ...elems); },
|
|
158
|
+
afterMe(instance, ...elems) { return beforeOrAfter(instance, jqx, true, ...elems); },
|
|
159
|
+
andThen(instance, ...elems) { return beforeOrAfter(instance, jqx, true, ...elems); },
|
|
178
160
|
append(instance, ...elems2Append) {
|
|
179
161
|
if (instance.is.empty || elems2Append.length < 1) { return instance;}
|
|
180
162
|
const shouldMove = instance.length === 1;
|
|
@@ -240,10 +222,12 @@ function instanceExtensionsFactory(jqx) {
|
|
|
240
222
|
|
|
241
223
|
return instance;
|
|
242
224
|
},
|
|
243
|
-
before(instance,
|
|
244
|
-
return instance
|
|
225
|
+
before(instance, ...elems) {
|
|
226
|
+
return beforeOrAfter(instance, jqx, false, ...elems);
|
|
227
|
+
},
|
|
228
|
+
beforeMe(instance, ...elems) {
|
|
229
|
+
beforeOrAfter(instance, jqx, false, ...elems)
|
|
245
230
|
},
|
|
246
|
-
beforeMe(instance, elem) { return beforeFn(instance, elem); },
|
|
247
231
|
clear(instance) { return loop(instance, emptyElement); },
|
|
248
232
|
closest(instance, selector) {
|
|
249
233
|
const theClosest = isNonEmptyString(selector) ? instance.node?.closest(selector) : undefined;
|
package/src/JQxUtilities.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
|
-
after, applyStyle, assignAttrValues,
|
|
3
|
-
createElementFromHtmlString, datasetKeyProxy, ElemArray2HtmlString, emptyElement, escHtml,
|
|
4
|
-
getAttributesForLogging, getHandlerName, HandlerFactory, inject2DOMTree, input2Collection,
|
|
5
|
-
isArrayOfHtmlElements, isArrayOfHtmlStrings, isComment, isCommentOrTextNode, isHtmlString, isModal,
|
|
6
|
-
isNonEmptyString, isText, isVisible, isWritable, logTime, maybe, PopupFactory, randomNr, randomString,
|
|
2
|
+
after, applyStyle, assignAttrValues, beforeOrAfter, checkProp, cleanupHtml, clearAllTimers, cloneAndDestroy,
|
|
3
|
+
convert2Bool, createElementFromHtmlString, datasetKeyProxy, ElemArray2HtmlString, emptyElement, escHtml,
|
|
4
|
+
findParentScrollDistance, getAttributesForLogging, getHandlerName, HandlerFactory, inject2DOMTree, input2Collection,
|
|
5
|
+
insertPositions, IS,isArrayOfHtmlElements, isArrayOfHtmlStrings, isComment, isCommentOrTextNode, isHtmlString, isModal,
|
|
6
|
+
isNode, isNonEmptyString, isText, isVisible, isWritable, logTime, maybe, PopupFactory, randomNr, randomString,
|
|
7
7
|
resolveEventTypeParameter, setData, styleFactory, systemLog, tagFNFactory, tagLib, toCamelcase, toDashedNotation,
|
|
8
8
|
truncate2SingleStr, truncateHtmlStr,
|
|
9
9
|
} from "../Resource/Common/Utilities.js"
|
|
10
10
|
|
|
11
11
|
export {
|
|
12
|
-
after, applyStyle, assignAttrValues,
|
|
12
|
+
after, applyStyle, assignAttrValues, beforeOrAfter, checkProp, cleanupHtml, clearAllTimers, cloneAndDestroy,
|
|
13
13
|
convert2Bool, createElementFromHtmlString, css, datasetKeyProxy, ElemArray2HtmlString, emptyElement, escHtml,
|
|
14
14
|
ExamineElementFeatureFactory, findParentScrollDistance, getAttributesForLogging, getHandlerName, getNodeContentForLog,
|
|
15
15
|
HandlerFactory, inject2DOMTree, input2Collection, insertPositions, IS, isArrayOfHtmlElements, isArrayOfHtmlStrings,
|