jqx-es 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -13,4 +13,4 @@ ${r}`),g}}return{sheet:t,removeRules:p,tryParseAtOrNestedRules:x,ruleExists:c,ch
|
|
|
13
13
|
`)}function It(t){return t.reduce((e,r)=>{let[n,o]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&o?{...e,[n]:o}:e},{})}function Rt(t){return It(Ot(t))}function We(t,e){return t?.replace("::",":")===e?.replace("::",":")}var Le=!1,jt={on:()=>Le=!0,off:()=>Le=!1},P={tagsRaw:V,allowUnknownHtmlTags:jt,isAllowed(t){if(Le)return!0;let e=a(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!V[e]},allowTag:t=>V[t.toLowerCase()]=!0,prohibitTag:t=>V[t.toLowerCase()]=!1};var kt=!0,ne={data:/data-[\-\w.\p{L}]/ui,validURL:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,whiteSpace:/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,notAllowedValues:/^javascript|injected|noreferrer|alert|DataURL/gi};function Jt(t){if(kt&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${I(n)} => ${o}`],[]).join("\\000A");F.error(`JQx: HTML creation error(s): ${e}`)}}function Qt(t){let e=t.nodeName.toLowerCase(),r=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"];return/-/.test(e)&&!r.find(n=>n===e)||P.isAllowed(e)}function B(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&B(r),r?.attributes){let o=a(r,SVGElement)?W.svg:W.html;[...(r??{attributes:[]}).attributes].forEach(s=>{let c=s.name.trim().toLowerCase(),x=s.value.trim().toLowerCase().replace(ne.whiteSpace,""),p=c==="href"?!ne.validURL.test(x):ne.notAllowedValues.test(x),L=c.startsWith("data")?!ne.data.test(c):!!o[c];if(p||L){let y=oe(s.value||"none",60);y+=y.length===60?"...":"",e.removed[`${s.name}`]=`attribute/property/value not allowed, removed. Value: ${y}`,r.removeAttribute(s.name)}})}if(!(Qt(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),s=oe(o,60)??"EMPTY";s+=s.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${s}`,r.remove()}}),Jt(e),t}function Bt(t){let e=document.createElement("div");return e.insertAdjacentHTML(T.end,t),e.childNodes.length?B(e):void 0}function zt(t,e,r){switch(!0){case a(t,Comment):return e.insertAdjacentHTML(r,`<!--${t.data}-->`);case a(t,Text):return e.insertAdjacentText(r,t.data||t.textContent);default:return}}function z(t=[],e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e.node:e||document.body,t.reduce((n,o)=>{let s=O(o)&&Wt(o,e,r);return s?[...n,s]:n},[])}function Wt(t,e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?zt(t,e,r):a(t,HTMLElement)?e.insertAdjacentElement(r,t):void 0}function D(t){if(a(t,Text,Comment))return t;let e=t?.trim(),r=e?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(o=>o.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(t.replace(/<!--|-->$/g,""));if(r||a(e,String)&&!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(r??e);let n=Bt(t);return n.childNodes.length<1?D(`<span data-jqxcreationerror="1">${N(t,60)}</span>`):n.children[0]}function ie(t){if(t.node("#jqxPopup"))return;t.logger.log("JQx: [JQx].Popup first call. Dialog element created."),t.dialog({id:"jqxPopup"},t.div({id:"jqxPopupContent"})).render,t.editCssRules(...Re);let e=[],[r,n]=[t("#jqxPopupContent"),t.node("#jqxPopup")],o={};return t.handle({type:"click, keydown",handlers:f,capture:!0,about:"A generic handler for JQx popups"}),Object.freeze({show:s,remove:c,removeModal:S});function s(m){if(n.open)switch(!0){case x(m):return;default:return c(),setTimeout(()=>s(m),200)}o={...m};let{content:b}=o;return t.IS(b,String,HTMLElement)||b?.isJQx?p():!0}function c(){return o.modal?g(o.warnMessage):L()}function x(m){for(let[b,w]of Object.entries(o))if(w!==m[b])return!1;return!0}function p(){r.clear();let{content:m,modal:b,closeAfter:w}=o;b=t.IS(b,Boolean)?b:!1;let A=b?"":t.div({id:"closeHandleIcon"});r.append(A,t.IS(m,String)?t.div(m):m),n.showModal(),!b&&t.IS(w,Number)&&h(c,w)}function L(){if(n.close(o.returnValue),y(),t.IS(o.callback,Function))return e.push(setTimeout(()=>o.callback(o.returnValue),200));o={}}function y(){e.forEach(m=>clearTimeout(m)),e=[]}function S({callback:m,value:b}={}){o.returnValue=b,o.modal=!1,o.callback=m||o.callback,c()}function f({evt:m}){if(!(Object.keys(o).length<1||!n.open))return m.key==="Escape"&&m.preventDefault(),o.activeTimer&&clearTimeout(o.activeTimer),(m.target.closest("#closeHandleIcon")||!m.target.closest("#jqxPopupContent"))&&c(),!0}function h(m,b){t.IS(m,Function)&&t.IS(b,Number)&&b>0&&(y(),e.push(setTimeout(m,b*1e3)))}function g(m){if(!t.IS(m,String,HTMLElement,Proxy))return;let b=r.find$(".warn");switch(!0){case b.is.empty:b=t.div({class:"warn"},m);default:r.append(b.addClass("active")),h(()=>r.find$(".warn").removeClass("active"),2)}}}function le(t){let e={},r="anonymous_";function n(y){if(y){let{handler:S,capture:f,type:h}=y;document.addEventListener(h,S,{capture:f})}}function o(y){if(y){let{type:S,handler:f,capture:h}=y;document.removeEventListener(S,f,{capture:h})}}function s(y,S,f,h){return function(g){if(!C(S))return y({evt:g});let m=g.target.closest(S);if(m){let b=t(m);y({self:b,me:b,evt:g}),f&&p(g.type,h)}return!0}}function c(y){return e[y]=e[y]||{},e[y]}function x(y,S){return Object.entries(c(y)).find(([f])=>f===S)}function p(y,S){let f=x(y,S);f&&(o(f[1]),delete e[y][S],delete se[S],console.warn(`Removed listener [${S}] for event type [${y}].`))}function L(y){let{type:S,handler:f,name:h,capture:g,once:m,selector:b,node:w,about:A}=y;e[S]=e[S]||{};let i=Ce(h||f.name),l=f;if(w instanceof HTMLElement){let u=w.dataset.hid||i;w.dataset.hid=u,b=`[data-hid=${u}]`}switch(!0){case!e[S][i]:return e[S][i]={name:i,handler:s(f,b,m,i),capture:Ve(S,g),once:!!m,type:S,initialHandler:l,selector:!!b&&b||!1,about:!!A&&A||!1,unListen(){p(S,i)}},e[S][i];default:return console.warn(`The listener [${i}] for [${S}] exists, it is not re-assigned.`)}}return{remove(...y){return p(...y)},listen:function(y){let{type:S,handler:f}=y;if(!C(S)||!a(f,Function))return;let h=L(y);if(h)return n(h),{type:S,name:h.name,unListen(){p(S,h.name)}}},get ListenerStore(){return Object.freeze({...e})}}}var F=Ut(),Vt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],T=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}})),_t=[...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}`)),Te=Object.freeze({get(t,e){return t[Y(e)]||t[e]},enumerable:!1,configurable:!1}),se={};function $e(){let t=setTimeout(()=>{});for(;t>=0;)clearTimeout(t--)}function Ce(t){return C(t)&&!/^handler|handlers$/gi.test(t.trim())?t.trim():_e()}function _e(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return se[e]?_e():(se[e]=e,e)}function Ve(t,e){return!!Vt.find(r=>r===t)||!!e}function ue(t){return t.startsWith("data")||W.html.find(e=>t.toLowerCase()===e)}function fe(t){return t&&(t.textContent="")}function G(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?G(t,e,r):e}function C(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function oe(t,e=120){return N(t,e).replace(/</g,"<")}function N(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 I(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function Fe(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function Ut(){let t=!1,e=[],r={get on(){return t=!0,r},get off(){return t=!1,r},get backLog(){return e}};function n(...c){return e.unshift(...c.map(x=>`${ce()} \u2A3B ${Fe(x)}`)),console.error(e.slice(0,c.length).join(`
|
|
14
14
|
`)),r}function o(...c){return e.unshift(...c.map(x=>`${ce()} \u26A0 ${Fe(x)}`)),console.warn(e.slice(0,c.length).join(`
|
|
15
15
|
`)),r}function s(...c){switch(e.unshift(...c.map(x=>`${ce()} \u2714 ${Fe(x)}`)),t){case!0:console.log(e.slice(0,c.length).join(`
|
|
16
|
-
`));default:return r}}return Object.defineProperties(r,{log:{value:s,enumerable:!1},error:{value:n,enumerable:!1},warn:{value:o,enumerable:!1}}),Object.freeze(r)}function ce(){return(t=>`[${ae(t.getHours())}:${ae(t.getMinutes())}:${ae(t.getSeconds())}.${ae(t.getMilliseconds(),3)}]`)(new Date)}function Ae(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=M(r),r.startsWith("data"))return de(t,n);a(n,String)&&ue(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function de(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${M(r)}`,n)}function me(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:O(t)?[t]:K(t)?t:t.isJQx?t.collection:void 0:[]}function ge(t,e){return t.andThen(e)}function pe(t,e){return t.andThen(e,!0)}function O(t){return a(t,Text,HTMLElement,Comment)}function Z(t,e){if(a(e,Object))for(let[r,n]of Object.entries(e)){let o;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),o="important"),t.style.setProperty(M(r),n,o)}}function R(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function Ue(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),o=[e.display,r.display].includes("none"),s=t.hidden,c=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,x=+r.opacity==0||+(e.opacity||1)==0;return!(s||c||x||o||n)}function Ge(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(Ne(r)?`<!--${r.data}-->`:be(r)?r.textContent:r.outerHTML),"")}function ae(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 he(){return`_${Gt(_t).slice(0,8).join("")}`}function He(t){return t=a(t,String)&&/,/.test(t)?t.split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):t,a(t,Array)?t:a(t,String)&&t?.trim().toLowerCase()||""}function Ye(t){return t?.isConnected?!![...document.querySelectorAll(":is(:modal)")].find(e=>e===t):!1}function De(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 Gt(t){let e=t.length;for(;e--;){let r=Ze(e);[t[e],t[r]]=[t[r],t[e]]}return t}function Y(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Zt(e)}`||e).join(""):t}function M(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Zt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function be(t){return a(t,Comment,Text)}function Ne(t){a(t,Comment)}function Xe(t){return a(t,Text)}function X(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function K(t){return a(t,Array)&&!t?.find(e=>!O(e))}function Se(t){return a(t,Array)&&!t?.find(e=>!X(e))}function E(t,e){let r=t.collection.filter(n=>!be(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Me(t,e,r){let n=e!==document.body&&a(t,String)&&t.toLowerCase()!=="body"?e:document,o;try{r.collection=[...n.querySelectorAll(t)]}catch{o=`Invalid CSS querySelector. [${a(t,String)?t:"Nothing valid given!"}]`}let s=r.collection.length;return s<1?`CSS querySelector "${t}", output: nothing`:o??`CSS querySelector "${t}", output ${s} element${s>1?"s":""}`}function Yt(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Ke(){return{isCommentOrTextNode:be,isNode:O,isComment:Ne,isText:Xe,isHtmlString:X,isArrayOfHtmlElements:K,isArrayOfHtmlStrings:Se,ElemArray2HtmlString:ye,input2Collection:me,setCollectionFromCssSelector:Me,addHandlerId:Yt,cssRuleEdit:U({createWithId:"JQxStylesheet"})}}function qe(){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 a(n,Node)?Object.freeze({get writable(){return Ge(n)},get modal(){return Ye(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 et(t,e,r,n){r&&a(e,String)&&(e={[e]:r==="-"?"":r});let o;e.className&&(o=e.className,delete e.className),o=[...t.classList].find(c=>c.startsWith("JQxClass-")||o&&c===o)||o||`JQxClass-${he().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}var Xt=qe();function tt(t){return{factoryExtensions:Kt(t),instanceExtensions:qt(t)}}function Kt(t){return{data(e){return{get all(){return new Proxy(e[0]?.dataset??{},Te)},set(r={}){if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},get(r,n){return e.data.all[r]??n},add(r={}){if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},remove(r){return e[0]?.removeAttribute(`data-${M(r)}`),e}}},dimensions(e){if(e.is.empty)return F.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=G(r,0),n.scrollLeftDistance=G(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 o=r?e.outerHtml:e.html();return n?I(o):o},set(r,n=!1,o=!1){r=r.isJQx?r.HTML.get(1):r;let s=a(r,String);return r=s&&o?I(r):r,s&&(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=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)},insert(r,n=!1){return r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n)}}},is(e){return Xt(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])[M(r)]},nwRule(r){return e.Style.byRule({rules:r})},byRule({classes2Apply:r=[],rules:n=[]}={}){let s=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let c of r)e.addClass(c);return s?.startsWith(".")&&e.addClass(s.slice(1)),s?.startsWith("#")&&!e.attr("id")&&e.prop({id:s.slice(1)}),e}}}}}function qt(t){return{addClass(e,...r){return E(e,n=>n&&r.forEach(o=>n.classList.add(o)))},after:ge,afterMe:ge,andThen(e,r,n=!1){if(!r||!a(r,String,Node,Proxy))return F.log("[JQx instance].[before(Me) | after(Me) | andThen]: invalid/-sufficient input."),e;r=r?.isJQx?r:a(r,Node)?t.virtual(r):t.virtual(D(r));let[o,s,c]=n?[0,"before",r.collection.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r.collection)];return e[o][s](...r.collection),e.collection=c,e},append(e,...r){if(e.is.empty||r.length<1)return e;let n=e.length===1;for(let o of r){if(!o.isJQx&&C(o)){let s=o.trim(),x=!/^<(.+)[^>]+>$/m.test(s)?t.text(o):D(o);E(e,p=>p.append(n?x:R(x)))}O(o)&&E(e,s=>s.append(n?o:R(o))),o.isJQx&&!o.is.empty&&E(e,s=>o.collection.forEach(c=>s.append(n?c:R(c))))}return e},appendTo(e,r){switch(!0){case(!r.isJQx&&!a(r,HTMLElement)):return $.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).append(e),e}},attr(e,r,n){if(!e.node)return e;if(!n&&C(r))return r=M(r),r==="class"?[...e.node.classList].join(" "):e.node.getAttribute(r);if(C(r)&&n)switch(r=M(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&Ae(e.node,r),e},before:pe,beforeMe:pe,clear(e){return E(e,fe)},closest(e,r){let n=C(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 E(e,o=>et(o,r,n,t))},duplicate(e,r=!1,n=document.body){switch(!0){case e.is.empty:return F.error("Duplicating an empty JQx instance is not possible"),e;default:let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(s=>{s.removeAttribute&&s?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}},each(e,r){return E(e,r)},empty(e){return E(e,fe)},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 E(e,r=>Z(r,{display:"none !important"}))},html(e,r,n){switch(!0){case(e.is.empty&&!C(r)):return"";case!C(r):return e.node?.getHTML??"";default:let o=D(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);return E(e,c=>(c.textContent=n?c.textContent:"",c.insertAdjacentHTML(t.at.end,o.getHTML())))}},htmlFor(e,r,n="",o=!1){if(e.is.empty||!C(r)||!C(n))return e;let s=e.find$(r);if(s.length<1)return e;let c=D(`<span>${n}</span>`);return s.each(x=>{o||(x.textContent=""),x.insertAdjacentHTML(t.at.end,c?.getHTML())}),e},isEmpty(e){return!e.node},nth$(e,r){return e.single(r)},on(e,r,...n){switch(!0){case(e.is.empty||!a(r,String,Array)||!C(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||!a(r,String,Array)||!C(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 o of r){if(C(o)){o=o.trim();let c=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):D(o);c=n?c:R(c),E(e,x=>x.prepend(c.cloneNode(!0)))}O(o)&&E(e,s=>s.prepend(n?o:R(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,s=>E(o,c=>s.prepend(n?c:R(c)))),o.collection.reverse())}return e},prependTo(e,r){return r.isJQx||(r=t.virtual(r)),r.prepend(e),e},prop(e,r,n){if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let o=a(r,Object)?r:{[r]:n};for(let[s,c]of Object.entries(o)){if(s=s.trim(),c&&!ue(s)||!c)return!1;if(s.toLowerCase()==="id")return e[0].id=c;E(e,p=>{if(s.startsWith("data"))return p.dataset[s.slice(s.indexOf("-")+1)]=c;p[s]=c})}return e},remove(e,r){F.log(`remove ${N(e.HTML.get(1),40)}${r?` /w selector ${r}`:""}`);let n=s=>s.remove(),o=()=>e.collection=e.collection.filter(s=>document.documentElement.contains(s));if(r){let s=e.find$(r);return s.is.empty||(E(s,n),o()),e}return E(e,n),o(),e},rmAttr(e,...r){for(let n of r)e.node.removeAttribute(n);return e},removeClass(e,...r){return E(e,n=>{if(n)for(let o of r)n.classList.remove(o)})},renderTo(e,r,n){return r=a(r,HTMLElement)||r.isJQx?r:document.body,n=a(n,String)&&t.at[n]?n:t.at.end,e.first$().toDOM(r,n),e},replace(e,r,n){let o=e.node;return!r||!a(n,HTMLElement)&&!n?.isJQx?(t.logger.error("JQx replace: invalid replacement value"),e):((n.isJQx||a(n,NodeList))&&(n=n[0]),o&&r&&(r=a(r,String)?o.querySelectorAll(r):r.isJQx?r.collection:r,a(r,HTMLElement,NodeList,Array)&&a(n,HTMLElement)&&(a(r,HTMLElement)?[r]:[...r]).forEach(s=>s.replaceWith(n.cloneNode(!0)))),e)},replaceClass(e,r,...n){return E(e,o=>{o.classList.remove(r);for(let s of n)o.classList.add(s)})},replaceMe(e,r){return e.replaceWith(r)},replaceWith(e,r){return r=a(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e},setData(e,r){return E(e,n=>de(n,r))},show(e){return E(e,r=>Z(r,{display:"revert-layer !important"}))},single(e,r){let n=e.collection.length>0;switch(r=r??0,!0){case(n&&a(r,String)):return e.find$(r);case(n&&a(r,Number)):return t(e.collection[r]);case n:return e.collection[0];default:return e}},style(e,r,n){return E(e,s=>{n&&a(r,String)&&(r={[r]:n||"none"}),Z(s,r)})},text(e,r,n=!1){switch(!0){case e.isEmpty():return e;case!a(r,String):return e.node.textContent;default:return E(e,o=>o.textContent=n?o.textContent+r:r)}},toDOM(e,r=document.body,n=T.BeforeEnd){return e.isVirtual=!1,z(e.collection,r,n),e},toggleClass(e,r){return E(e,n=>n.classList.toggle(r))},toNodeList(e){return[...e.collection].map(r=>document.importNode(r,!0))},trigger(e,r,n,o){if(n=/Event\]$/.test(a(n))?n:Event,o=a(o,Object)?{...o,bubbles:o.bubbles??!0}:{bubbles:!0},!e.is.empty){let s=new n(r,o);e.each(c=>c.dispatchEvent(s))}return e},val(e,r){switch(!0){case(e.is.empty||!a(e.node,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)):return e;case!a(r,String):return e.node.value;default:return e.node.value=a(r,String)?r:"",e}}}}var Pe,xe,{isComment:sn,isText:an,isHtmlString:cn,isArrayOfHtmlElements:un,isArrayOfHtmlStrings:fn,ElemArray2HtmlString:dn,addHandlerId:mn,cssRuleEdit:Oe,addFn:er}=tr();function tr(){return{...Ke(),addFn:function(t,e){return F.log(`JQx: added extension function [${t}]`),xe[t]=(r,...n)=>e(r,...n)}}}function q(t){return new Proxy(t,Object.freeze({get:(e,r)=>rr(e,r,t)}))}function rt(t,e){return(...r)=>a(t,Function)&&t(q(e),...r)}function rr(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in Pe:return rt(Pe[e],r)();case e in xe:return rt(xe[e],r);default:return t[e]}}function it(t){let e=sr(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function nr(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?Y(e):e.toLowerCase(),P.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Ie(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),P.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,Ie(e,!1,t))}}}function nt(...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 or(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(s=>n===s);let o=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let s of o.collection)n?r.insertAdjacentElement(n,s):r.append(s);return o}}function ir(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,s]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...s,enumerable:!1})}return e}function lr(t,e,r,n){return t=M(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(B(te[t](...o)))},enumerable:!1,configurable:!0}}function Ie(t,e,r,n){t=t.toLowerCase();let o=lr(t,e,r,n);return n?{[n]:o,[Y(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function sr(t){return ir(Object.entries(P.tagsRaw).reduce(ar(t),{}),gr(t))}function ar(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Ie(r,n,t)),e}}function cr(t){return function(e,r,...n){a(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:o,selector:s,handler:c,handlers:x,node:p,name:L,capture:y,once:S,about:f}=e;c=x||c,r=n||r,s=o||s;let h=He(r),g=L;c=a(c,Function)?[c]:c;let m={type:h,selector:s||o,capture:y,name:g,once:S,node:p,about:f};switch(!0){case(a(h,Array)&&h.length>0):for(let b of h)m.type=b,ot(c,m,t);break;default:return ot(c,m,t)}}}function ot(t,e,r){for(let n of t)r.listen({...e,handler:n})}function fr(t){return function(e,r){return r=C(r)&&r,e=C(e)&&e,r&&e&&t.listenerStore[e][r]}}function dr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:ie(t),enumerable:!1}),t.activePopup}function mr(t){let e=(p,L)=>Oe(p,L),r=p=>U({createWithId:p||`jqx${he()}`}),n=(...p)=>{for(let L of p)Oe(L)},o=nr(t),s=le(t),c=ur(s);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:c,capturedHandling:c,log:(...p)=>F.on.log(...p).off,handlerWrapper:s}}function gr(t){let{factoryExtensions:e,instanceExtensions:r}=tt(t);Pe=e,xe=r;let{editCssRule:n,createStyle:o,editCssRules:s,allowProhibit:c,handle:x,capturedHandling:p,log:L,handlerWrapper:y}=mr(t),S=fr(t);return{log:L,editCssRules:s,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:I,logger:F,text:(f,h=!1)=>h?t.comment(f):document.createTextNode(f),node:(f,h=document)=>h.querySelector(f,h),nodes:(f,h=document)=>[...h.querySelectorAll(f,h)],clearAllTimers:$e,get toBool(){return De},get getNamedListener(){return S},get virtual(){return or(t)},get allowTag(){return c.allow},get prohibitTag(){return c.prohibit},get removeCssRule(){return nt},get removeCssRules(){return nt},get delegate(){return cr(p)},get delegateCaptured(){return p},get handle(){return p},get listen(){return y.listen},get at(){return T},get setStyle(){return n},get fn(){return er},get lenient(){return P.allowUnknownHtmlTags},get IS(){return a},get Popup(){return dr(t)},get listenerStore(){return y.ListenerStore}}}var lt=it(pr());function pr(){return function(e,r,n=T.BeforeEnd){if(e?.isJQx)return e;let o=a(r,HTMLBRElement);r=(!o&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(T).find(f=>n===f)?n:void 0;let s=X(e),c=!s&&Se(e),x=c||s,p={collection:me(e)??[],isVirtual:o,isJQx:!0},L=K(p.collection),y=`JQx: input => ${c?`"${N(e.join(", "),70)}"`:!x&&L?`element collection [${N(p.collection.map(f=>`${a(f,Comment,Text)?"Comment|Text @":""} ${f?.outerHTML||f?.textContent}`).join(", "),70)}]`:`"${N(e,70)}"`}`;if(p.collection.length&&L)return F.log(y),o||p.collection.forEach(f=>{r.contains(f)||z([f],r,n)}),q(p);if(x){if([e].flat().forEach(f=>p.collection.push(D(f))),p.collection.length>0){let f=p.collection.filter(h=>h?.dataset?.jqxcreationerror);p.collection=p.collection.filter(h=>!h?.dataset?.jqxcreationerror),F.log(`${y}`),F.log(`JQx: created ${p.isVirtual?"VIRTUAL ":""}[${N(ye(p.collection).trim()||"sanitized: no elements remaining",70)}]`),p.isVirtual||z(p.collection,r,n)}return q(p)}let S=Me(e,r,p);return F.log(`JQx: input => ${S}`),q(p)}}var yr=lt;return dt(hr);})();
|
|
16
|
+
`));default:return r}}return Object.defineProperties(r,{log:{value:s,enumerable:!1},error:{value:n,enumerable:!1},warn:{value:o,enumerable:!1}}),Object.freeze(r)}function ce(){return(t=>`[${ae(t.getHours())}:${ae(t.getMinutes())}:${ae(t.getSeconds())}.${ae(t.getMilliseconds(),3)}]`)(new Date)}function Ae(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=M(r),r.startsWith("data"))return de(t,n);a(n,String)&&ue(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function de(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${M(r)}`,n)}function me(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:O(t)?[t]:K(t)?t:t.isJQx?t.collection:void 0:[]}function ge(t,e){return t.andThen(e)}function pe(t,e){return t.andThen(e,!0)}function O(t){return a(t,Text,HTMLElement,Comment)}function Z(t,e){if(a(e,Object))for(let[r,n]of Object.entries(e)){let o;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),o="important"),t.style.setProperty(M(r),n,o)}}function R(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function Ue(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),o=[e.display,r.display].includes("none"),s=t.hidden,c=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,x=+r.opacity==0||+(e.opacity||1)==0;return!(s||c||x||o||n)}function Ge(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(Ne(r)?`<!--${r.data}-->`:be(r)?r.textContent:r.outerHTML),"")}function ae(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 he(){return`_${Gt(_t).slice(0,8).join("")}`}function He(t){return t=a(t,String)&&/,/.test(t)?t.split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):t,a(t,Array)?t:a(t,String)&&t?.trim().toLowerCase()||""}function Ye(t){return t?.isConnected?!![...document.querySelectorAll(":is(:modal)")].find(e=>e===t):!1}function De(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 Gt(t){let e=t.length;for(;e--;){let r=Ze(e);[t[e],t[r]]=[t[r],t[e]]}return t}function Y(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Zt(e)}`||e).join(""):t}function M(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Zt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function be(t){return a(t,Comment,Text)}function Ne(t){a(t,Comment)}function Xe(t){return a(t,Text)}function X(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function K(t){return a(t,Array)&&!t?.find(e=>!O(e))}function Se(t){return a(t,Array)&&!t?.find(e=>!X(e))}function E(t,e){let r=t.collection.filter(n=>!be(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Me(t,e,r){let n=e!==document.body&&a(t,String)&&t.toLowerCase()!=="body"?e:document,o;try{r.collection=[...n.querySelectorAll(t)]}catch{o=`Invalid CSS querySelector. [${a(t,String)?t:"Nothing valid given!"}]`}let s=r.collection.length;return s<1?`CSS querySelector "${t}", output: nothing`:o??`CSS querySelector "${t}", output ${s} element${s>1?"s":""}`}function Yt(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Ke(){return{isCommentOrTextNode:be,isNode:O,isComment:Ne,isText:Xe,isHtmlString:X,isArrayOfHtmlElements:K,isArrayOfHtmlStrings:Se,ElemArray2HtmlString:ye,input2Collection:me,setCollectionFromCssSelector:Me,addHandlerId:Yt,cssRuleEdit:U({createWithId:"JQxStylesheet"})}}function qe(){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 a(n,Node)?Object.freeze({get writable(){return Ge(n)},get modal(){return Ye(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 et(t,e,r,n){r&&a(e,String)&&(e={[e]:r==="-"?"":r});let o;e.className&&(o=e.className,delete e.className),o=[...t.classList].find(c=>c.startsWith("JQxClass-")||o&&c===o)||o||`JQxClass-${he().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}var Xt=qe();function tt(t){return{factoryExtensions:Kt(t),instanceExtensions:qt(t)}}function Kt(t){return{data(e){return{get all(){return new Proxy(e[0]?.dataset??{},Te)},set(r={}){if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},get(r,n){return e.data.all[r]??n},add(r={}){if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},remove(r){return e[0]?.removeAttribute(`data-${M(r)}`),e}}},dimensions(e){if(e.is.empty)return F.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=G(r,0),n.scrollLeftDistance=G(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 o=r?e.outerHtml:e.html();return n?I(o):o},set(r,n=!1,o=!1){r=r.isJQx?r.HTML.get(1):r;let s=a(r,String);return r=s&&o?I(r):r,s&&(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=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)},insert(r,n=!1){return r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n)}}},is(e){return Xt(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])[M(r)]},nwRule(r){return e.Style.byRule({rules:r})},byRule({classes2Apply:r=[],rules:n=[]}={}){let s=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let c of r)e.addClass(c);return s?.startsWith(".")&&e.addClass(s.slice(1)),s?.startsWith("#")&&!e.attr("id")&&e.prop({id:s.slice(1)}),e}}}}}function qt(t){return{addClass(e,...r){return E(e,n=>n&&r.forEach(o=>n.classList.add(o)))},after:ge,afterMe:ge,andThen(e,r,n=!1){if(!r||!a(r,String,Node,Proxy))return F.log("[JQx instance].[before(Me) | after(Me) | andThen]: invalid/-sufficient input."),e;r=r?.isJQx?r:a(r,Node)?t.virtual(r):t.virtual(D(r));let[o,s,c]=n?[0,"before",r.collection.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r.collection)];return e[o][s](...r.collection),e.collection=c,e},append(e,...r){if(e.is.empty||r.length<1)return e;let n=e.length===1;for(let o of r){if(!o.isJQx&&C(o)){let s=o.trim(),x=!/^<(.+)[^>]+>$/m.test(s)?t.text(o):D(o);E(e,p=>p.append(n?x:R(x)))}O(o)&&E(e,s=>s.append(n?o:R(o))),o.isJQx&&!o.is.empty&&E(e,s=>o.collection.forEach(c=>s.append(n?c:R(c))))}return e},appendTo(e,r){switch(!0){case(!r.isJQx&&!a(r,HTMLElement)):return $.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).append(e),e}},attr(e,r,n){if(!e.node)return e;if(!n&&C(r))return r=M(r),r==="class"?[...e.node.classList].join(" "):e.node.getAttribute(r);if(C(r)&&n)switch(r=M(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&Ae(e.node,r),e},before:pe,beforeMe:pe,clear(e){return E(e,fe)},closest(e,r){let n=C(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 E(e,o=>et(o,r,n,t))},duplicate(e,r=!1,n=document.body){switch(!0){case e.is.empty:return F.error("Duplicating an empty JQx instance is not possible"),e;default:let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(s=>{s.removeAttribute&&s?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}},each(e,r){return E(e,r)},empty(e){return E(e,fe)},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 E(e,r=>Z(r,{display:"none !important"}))},html(e,r,n){switch(!0){case(e.is.empty&&!C(r)):return"";case!C(r):return e.node?.getHTML()??"";default:let o=D(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);return E(e,c=>(c.textContent=n?c.textContent:"",c.insertAdjacentHTML(t.at.end,o.getHTML())))}},htmlFor(e,r,n="",o=!1){if(e.is.empty||!C(r)||!C(n))return e;let s=e.find$(r);if(s.length<1)return e;let c=D(`<span>${n}</span>`);return s.each(x=>{o||(x.textContent=""),x.insertAdjacentHTML(t.at.end,c?.getHTML())}),e},isEmpty(e){return!e.node},nth$(e,r){return e.single(r)},on(e,r,...n){switch(!0){case(e.is.empty||!a(r,String,Array)||!C(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||!a(r,String,Array)||!C(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 o of r){if(C(o)){o=o.trim();let c=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):D(o);c=n?c:R(c),E(e,x=>x.prepend(c.cloneNode(!0)))}O(o)&&E(e,s=>s.prepend(n?o:R(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,s=>E(o,c=>s.prepend(n?c:R(c)))),o.collection.reverse())}return e},prependTo(e,r){return r.isJQx||(r=t.virtual(r)),r.prepend(e),e},prop(e,r,n){if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let o=a(r,Object)?r:{[r]:n};for(let[s,c]of Object.entries(o)){if(s=s.trim(),c&&!ue(s)||!c)return!1;if(s.toLowerCase()==="id")return e[0].id=c;E(e,p=>{if(s.startsWith("data"))return p.dataset[s.slice(s.indexOf("-")+1)]=c;p[s]=c})}return e},remove(e,r){F.log(`remove ${N(e.HTML.get(1),40)}${r?` /w selector ${r}`:""}`);let n=s=>s.remove(),o=()=>e.collection=e.collection.filter(s=>document.documentElement.contains(s));if(r){let s=e.find$(r);return s.is.empty||(E(s,n),o()),e}return E(e,n),o(),e},rmAttr(e,...r){for(let n of r)e.node.removeAttribute(n);return e},removeClass(e,...r){return E(e,n=>{if(n)for(let o of r)n.classList.remove(o)})},renderTo(e,r,n){return r=a(r,HTMLElement)||r.isJQx?r:document.body,n=a(n,String)&&t.at[n]?n:t.at.end,e.first$().toDOM(r,n),e},replace(e,r,n){let o=e.node;return!r||!a(n,HTMLElement)&&!n?.isJQx?(t.logger.error("JQx replace: invalid replacement value"),e):((n.isJQx||a(n,NodeList))&&(n=n[0]),o&&r&&(r=a(r,String)?o.querySelectorAll(r):r.isJQx?r.collection:r,a(r,HTMLElement,NodeList,Array)&&a(n,HTMLElement)&&(a(r,HTMLElement)?[r]:[...r]).forEach(s=>s.replaceWith(n.cloneNode(!0)))),e)},replaceClass(e,r,...n){return E(e,o=>{o.classList.remove(r);for(let s of n)o.classList.add(s)})},replaceMe(e,r){return e.replaceWith(r)},replaceWith(e,r){return r=a(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e},setData(e,r){return E(e,n=>de(n,r))},show(e){return E(e,r=>Z(r,{display:"revert-layer !important"}))},single(e,r){let n=e.collection.length>0;switch(r=r??0,!0){case(n&&a(r,String)):return e.find$(r);case(n&&a(r,Number)):return t(e.collection[r]);case n:return e.collection[0];default:return e}},style(e,r,n){return E(e,s=>{n&&a(r,String)&&(r={[r]:n||"none"}),Z(s,r)})},text(e,r,n=!1){switch(!0){case e.isEmpty():return e;case!a(r,String):return e.node.textContent;default:return E(e,o=>o.textContent=n?o.textContent+r:r)}},toDOM(e,r=document.body,n=T.BeforeEnd){return e.isVirtual=!1,z(e.collection,r,n),e},toggleClass(e,r){return E(e,n=>n.classList.toggle(r))},toNodeList(e){return[...e.collection].map(r=>document.importNode(r,!0))},trigger(e,r,n,o){if(n=/Event\]$/.test(a(n))?n:Event,o=a(o,Object)?{...o,bubbles:o.bubbles??!0}:{bubbles:!0},!e.is.empty){let s=new n(r,o);e.each(c=>c.dispatchEvent(s))}return e},val(e,r){switch(!0){case(e.is.empty||!a(e.node,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)):return e;case!a(r,String):return e.node.value;default:return e.node.value=a(r,String)?r:"",e}}}}var Pe,xe,{isComment:sn,isText:an,isHtmlString:cn,isArrayOfHtmlElements:un,isArrayOfHtmlStrings:fn,ElemArray2HtmlString:dn,addHandlerId:mn,cssRuleEdit:Oe,addFn:er}=tr();function tr(){return{...Ke(),addFn:function(t,e){return F.log(`JQx: added extension function [${t}]`),xe[t]=(r,...n)=>e(r,...n)}}}function q(t){return new Proxy(t,Object.freeze({get:(e,r)=>rr(e,r,t)}))}function rt(t,e){return(...r)=>a(t,Function)&&t(q(e),...r)}function rr(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in Pe:return rt(Pe[e],r)();case e in xe:return rt(xe[e],r);default:return t[e]}}function it(t){let e=sr(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function nr(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?Y(e):e.toLowerCase(),P.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Ie(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),P.prohibitTag(e),a(t[e],Function)&&Object.defineProperties(t,Ie(e,!1,t))}}}function nt(...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 or(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(s=>n===s);let o=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let s of o.collection)n?r.insertAdjacentElement(n,s):r.append(s);return o}}function ir(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,s]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...s,enumerable:!1})}return e}function lr(t,e,r,n){return t=M(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(B(te[t](...o)))},enumerable:!1,configurable:!0}}function Ie(t,e,r,n){t=t.toLowerCase();let o=lr(t,e,r,n);return n?{[n]:o,[Y(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function sr(t){return ir(Object.entries(P.tagsRaw).reduce(ar(t),{}),gr(t))}function ar(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Ie(r,n,t)),e}}function cr(t){return function(e,r,...n){a(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:o,selector:s,handler:c,handlers:x,node:p,name:L,capture:y,once:S,about:f}=e;c=x||c,r=n||r,s=o||s;let h=He(r),g=L;c=a(c,Function)?[c]:c;let m={type:h,selector:s||o,capture:y,name:g,once:S,node:p,about:f};switch(!0){case(a(h,Array)&&h.length>0):for(let b of h)m.type=b,ot(c,m,t);break;default:return ot(c,m,t)}}}function ot(t,e,r){for(let n of t)r.listen({...e,handler:n})}function fr(t){return function(e,r){return r=C(r)&&r,e=C(e)&&e,r&&e&&t.listenerStore[e][r]}}function dr(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:ie(t),enumerable:!1}),t.activePopup}function mr(t){let e=(p,L)=>Oe(p,L),r=p=>U({createWithId:p||`jqx${he()}`}),n=(...p)=>{for(let L of p)Oe(L)},o=nr(t),s=le(t),c=ur(s);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:c,capturedHandling:c,log:(...p)=>F.on.log(...p).off,handlerWrapper:s}}function gr(t){let{factoryExtensions:e,instanceExtensions:r}=tt(t);Pe=e,xe=r;let{editCssRule:n,createStyle:o,editCssRules:s,allowProhibit:c,handle:x,capturedHandling:p,log:L,handlerWrapper:y}=mr(t),S=fr(t);return{log:L,editCssRules:s,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:I,logger:F,text:(f,h=!1)=>h?t.comment(f):document.createTextNode(f),node:(f,h=document)=>h.querySelector(f,h),nodes:(f,h=document)=>[...h.querySelectorAll(f,h)],clearAllTimers:$e,get toBool(){return De},get getNamedListener(){return S},get virtual(){return or(t)},get allowTag(){return c.allow},get prohibitTag(){return c.prohibit},get removeCssRule(){return nt},get removeCssRules(){return nt},get delegate(){return cr(p)},get delegateCaptured(){return p},get handle(){return p},get listen(){return y.listen},get at(){return T},get setStyle(){return n},get fn(){return er},get lenient(){return P.allowUnknownHtmlTags},get IS(){return a},get Popup(){return dr(t)},get listenerStore(){return y.ListenerStore}}}var lt=it(pr());function pr(){return function(e,r,n=T.BeforeEnd){if(e?.isJQx)return e;let o=a(r,HTMLBRElement);r=(!o&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(T).find(f=>n===f)?n:void 0;let s=X(e),c=!s&&Se(e),x=c||s,p={collection:me(e)??[],isVirtual:o,isJQx:!0},L=K(p.collection),y=`JQx: input => ${c?`"${N(e.join(", "),70)}"`:!x&&L?`element collection [${N(p.collection.map(f=>`${a(f,Comment,Text)?"Comment|Text @":""} ${f?.outerHTML||f?.textContent}`).join(", "),70)}]`:`"${N(e,70)}"`}`;if(p.collection.length&&L)return F.log(y),o||p.collection.forEach(f=>{r.contains(f)||z([f],r,n)}),q(p);if(x){if([e].flat().forEach(f=>p.collection.push(D(f))),p.collection.length>0){let f=p.collection.filter(h=>h?.dataset?.jqxcreationerror);p.collection=p.collection.filter(h=>!h?.dataset?.jqxcreationerror),F.log(`${y}`),F.log(`JQx: created ${p.isVirtual?"VIRTUAL ":""}[${N(ye(p.collection).trim()||"sanitized: no elements remaining",70)}]`),p.isVirtual||z(p.collection,r,n)}return q(p)}let S=Me(e,r,p);return F.log(`JQx: input => ${S}`),q(p)}}var yr=lt;return dt(hr);})();
|
package/Bundle/jqx.min.js
CHANGED
|
@@ -13,4 +13,4 @@ ${r}`),g}}return{sheet:t,removeRules:p,tryParseAtOrNestedRules:x,ruleExists:c,ch
|
|
|
13
13
|
`)}function At(t){return t.reduce((e,r)=>{let[n,o]=[r.slice(0,r.indexOf(":")).trim(),r.slice(r.indexOf(":")+1).trim().replace(/;$|;.+(?=\/*).+\/$/,"")];return n&&o?{...e,[n]:o}:e},{})}function Ht(t){return At($t(t))}function ze(t,e){return t?.replace("::",":")===e?.replace("::",":")}var Ee=!1,Dt={on:()=>Ee=!0,off:()=>Ee=!1},P={tagsRaw:V,allowUnknownHtmlTags:Dt,isAllowed(t){if(Ee)return!0;let e=a(t,String)?t.toLowerCase():t?.nodeName.toLowerCase()||"none";return e==="#text"||!!V[e]},allowTag:t=>V[t.toLowerCase()]=!0,prohibitTag:t=>V[t.toLowerCase()]=!1};var Nt=!0,ne={data:/data-[\-\w.\p{L}]/ui,validURL:/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,whiteSpace:/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g,notAllowedValues:/^javascript|injected|noreferrer|alert|DataURL/gi};function Mt(t){if(Nt&&Object.keys(t.removed).length){let e=Object.entries(t.removed).reduce((r,[n,o])=>[...r,`${I(n)} => ${o}`],[]).join("\\000A");F.error(`JQx: HTML creation error(s): ${e}`)}}function Pt(t){let e=t.nodeName.toLowerCase(),r=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"];return/-/.test(e)&&!r.find(n=>n===e)||P.isAllowed(e)}function B(t){let e={rawHTML:t?.parentElement?.getHTML()??"no html",removed:{}};return a(t,HTMLElement)&&[...t.childNodes].forEach(r=>{if(r?.children?.length&&B(r),r?.attributes){let o=a(r,SVGElement)?W.svg:W.html;[...(r??{attributes:[]}).attributes].forEach(s=>{let c=s.name.trim().toLowerCase(),x=s.value.trim().toLowerCase().replace(ne.whiteSpace,""),p=c==="href"?!ne.validURL.test(x):ne.notAllowedValues.test(x),L=c.startsWith("data")?!ne.data.test(c):!!o[c];if(p||L){let y=oe(s.value||"none",60);y+=y.length===60?"...":"",e.removed[`${s.name}`]=`attribute/property/value not allowed, removed. Value: ${y}`,r.removeAttribute(s.name)}})}if(!(Pt(r)||r.constructor===CharacterData||r.constructor===Comment)){let o=(r?.outerHTML||r?.textContent).trim(),s=oe(o,60)??"EMPTY";s+=s.length===60?"...":"",e.removed[`<${r.nodeName?.toLowerCase()}>`]=`not allowed, not rendered. Value: ${s}`,r.remove()}}),Mt(e),t}function Ot(t){let e=document.createElement("div");return e.insertAdjacentHTML(T.end,t),e.childNodes.length?B(e):void 0}function It(t,e,r){switch(!0){case a(t,Comment):return e.insertAdjacentHTML(r,`<!--${t.data}-->`);case a(t,Text):return e.insertAdjacentText(r,t.data||t.textContent);default:return}}function z(t=[],e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e.node:e||document.body,t.reduce((n,o)=>{let s=O(o)&&Rt(o,e,r);return s?[...n,s]:n},[])}function Rt(t,e=document.body,r=T.BeforeEnd){return r=r||T.BeforeEnd,e=e?.isJQx?e?.[0]:e,a(t,Comment,Text)?It(t,e,r):a(t,HTMLElement)?e.insertAdjacentElement(r,t):void 0}function D(t){if(a(t,Text,Comment))return t;let e=t?.trim(),r=e?.split(/<text>|<\/text>/i)??[];if(r?.length&&(r=r.length>1?r.filter(o=>o.length).shift():void 0),e.startsWith("<!--")&&e.endsWith("-->"))return document.createComment(t.replace(/<!--|-->$/g,""));if(r||a(e,String)&&!/^<(.+)[^>]+>/m.test(e))return document.createTextNode(r??e);let n=Ot(t);return n.childNodes.length<1?D(`<span data-jqxcreationerror="1">${N(t,60)}</span>`):n.children[0]}function ie(t){if(t.node("#jqxPopup"))return;t.logger.log("JQx: [JQx].Popup first call. Dialog element created."),t.dialog({id:"jqxPopup"},t.div({id:"jqxPopupContent"})).render,t.editCssRules(...Ie);let e=[],[r,n]=[t("#jqxPopupContent"),t.node("#jqxPopup")],o={};return t.handle({type:"click, keydown",handlers:f,capture:!0,about:"A generic handler for JQx popups"}),Object.freeze({show:s,remove:c,removeModal:S});function s(m){if(n.open)switch(!0){case x(m):return;default:return c(),setTimeout(()=>s(m),200)}o={...m};let{content:b}=o;return t.IS(b,String,HTMLElement)||b?.isJQx?p():!0}function c(){return o.modal?g(o.warnMessage):L()}function x(m){for(let[b,w]of Object.entries(o))if(w!==m[b])return!1;return!0}function p(){r.clear();let{content:m,modal:b,closeAfter:w}=o;b=t.IS(b,Boolean)?b:!1;let A=b?"":t.div({id:"closeHandleIcon"});r.append(A,t.IS(m,String)?t.div(m):m),n.showModal(),!b&&t.IS(w,Number)&&h(c,w)}function L(){if(n.close(o.returnValue),y(),t.IS(o.callback,Function))return e.push(setTimeout(()=>o.callback(o.returnValue),200));o={}}function y(){e.forEach(m=>clearTimeout(m)),e=[]}function S({callback:m,value:b}={}){o.returnValue=b,o.modal=!1,o.callback=m||o.callback,c()}function f({evt:m}){if(!(Object.keys(o).length<1||!n.open))return m.key==="Escape"&&m.preventDefault(),o.activeTimer&&clearTimeout(o.activeTimer),(m.target.closest("#closeHandleIcon")||!m.target.closest("#jqxPopupContent"))&&c(),!0}function h(m,b){t.IS(m,Function)&&t.IS(b,Number)&&b>0&&(y(),e.push(setTimeout(m,b*1e3)))}function g(m){if(!t.IS(m,String,HTMLElement,Proxy))return;let b=r.find$(".warn");switch(!0){case b.is.empty:b=t.div({class:"warn"},m);default:r.append(b.addClass("active")),h(()=>r.find$(".warn").removeClass("active"),2)}}}function le(t){let e={},r="anonymous_";function n(y){if(y){let{handler:S,capture:f,type:h}=y;document.addEventListener(h,S,{capture:f})}}function o(y){if(y){let{type:S,handler:f,capture:h}=y;document.removeEventListener(S,f,{capture:h})}}function s(y,S,f,h){return function(g){if(!C(S))return y({evt:g});let m=g.target.closest(S);if(m){let b=t(m);y({self:b,me:b,evt:g}),f&&p(g.type,h)}return!0}}function c(y){return e[y]=e[y]||{},e[y]}function x(y,S){return Object.entries(c(y)).find(([f])=>f===S)}function p(y,S){let f=x(y,S);f&&(o(f[1]),delete e[y][S],delete se[S],console.warn(`Removed listener [${S}] for event type [${y}].`))}function L(y){let{type:S,handler:f,name:h,capture:g,once:m,selector:b,node:w,about:A}=y;e[S]=e[S]||{};let i=Le(h||f.name),l=f;if(w instanceof HTMLElement){let u=w.dataset.hid||i;w.dataset.hid=u,b=`[data-hid=${u}]`}switch(!0){case!e[S][i]:return e[S][i]={name:i,handler:s(f,b,m,i),capture:We(S,g),once:!!m,type:S,initialHandler:l,selector:!!b&&b||!1,about:!!A&&A||!1,unListen(){p(S,i)}},e[S][i];default:return console.warn(`The listener [${i}] for [${S}] exists, it is not re-assigned.`)}}return{remove(...y){return p(...y)},listen:function(y){let{type:S,handler:f}=y;if(!C(S)||!a(f,Function))return;let h=L(y);if(h)return n(h),{type:S,name:h.name,unListen(){p(S,h.name)}}},get ListenerStore(){return Object.freeze({...e})}}}var F=Jt(),jt=["load","unload","scroll","focus","blur","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","loadstart","progress","error","abort","load","loadend","pointerenter","pointerleave","readystatechange"],T=Object.freeze(new Proxy({start:"afterbegin",afterbegin:"afterbegin",end:"beforeend",beforeend:"beforeend",before:"beforebegin",beforebegin:"beforebegin",after:"afterend",afterend:"afterend"},{get(t,e){return t[String(e).toLowerCase()]??t[e]}})),kt=[...Array(26)].map((t,e)=>String.fromCharCode(e+65)).concat([...Array(26)].map((t,e)=>String.fromCharCode(e+97))).concat([...Array(10)].map((t,e)=>`${e}`)),Fe=Object.freeze({get(t,e){return t[Y(e)]||t[e]},enumerable:!1,configurable:!1}),se={};function Te(){let t=setTimeout(()=>{});for(;t>=0;)clearTimeout(t--)}function Le(t){return C(t)&&!/^handler|handlers$/gi.test(t.trim())?t.trim():Ve()}function Ve(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return se[e]?Ve():(se[e]=e,e)}function We(t,e){return!!jt.find(r=>r===t)||!!e}function ue(t){return t.startsWith("data")||W.html.find(e=>t.toLowerCase()===e)}function fe(t){return t&&(t.textContent="")}function G(t,e=0,r=!0){return t=t?.parentElement,e+=t?t[r?"scrollTop":"scrollLeft"]:0,t?G(t,e,r):e}function C(t,e=1){return e=a(e,Number)&&e||1,a(t,String)&&t.length>=e}function oe(t,e=120){return N(t,e).replace(/</g,"<")}function N(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 I(t){switch(!0){case a(t,String):let e=document.createElement("div");return e.append(t),e.innerHTML;default:return t}}function Ce(t){return a(t,String)&&Object.assign(document.createElement("textarea"),{innerHTML:t}).textContent||t}function Jt(){let t=!1,e=[],r={get on(){return t=!0,r},get off(){return t=!1,r},get backLog(){return e}};function n(...c){return e.unshift(...c.map(x=>`${ce()} \u2A3B ${Ce(x)}`)),console.error(e.slice(0,c.length).join(`
|
|
14
14
|
`)),r}function o(...c){return e.unshift(...c.map(x=>`${ce()} \u26A0 ${Ce(x)}`)),console.warn(e.slice(0,c.length).join(`
|
|
15
15
|
`)),r}function s(...c){switch(e.unshift(...c.map(x=>`${ce()} \u2714 ${Ce(x)}`)),t){case!0:console.log(e.slice(0,c.length).join(`
|
|
16
|
-
`));default:return r}}return Object.defineProperties(r,{log:{value:s,enumerable:!1},error:{value:n,enumerable:!1},warn:{value:o,enumerable:!1}}),Object.freeze(r)}function ce(){return(t=>`[${ae(t.getHours())}:${ae(t.getMinutes())}:${ae(t.getSeconds())}.${ae(t.getMilliseconds(),3)}]`)(new Date)}function $e(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=M(r),r.startsWith("data"))return de(t,n);a(n,String)&&ue(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function de(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${M(r)}`,n)}function me(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:O(t)?[t]:K(t)?t:t.isJQx?t.collection:void 0:[]}function ge(t,e){return t.andThen(e)}function pe(t,e){return t.andThen(e,!0)}function O(t){return a(t,Text,HTMLElement,Comment)}function Z(t,e){if(a(e,Object))for(let[r,n]of Object.entries(e)){let o;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),o="important"),t.style.setProperty(M(r),n,o)}}function R(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function _e(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),o=[e.display,r.display].includes("none"),s=t.hidden,c=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,x=+r.opacity==0||+(e.opacity||1)==0;return!(s||c||x||o||n)}function Ue(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(De(r)?`<!--${r.data}-->`:be(r)?r.textContent:r.outerHTML),"")}function ae(t,e=2){return`${t}`.padStart(e,"0")}function Ge(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 he(){return`_${Qt(kt).slice(0,8).join("")}`}function Ae(t){return t=a(t,String)&&/,/.test(t)?t.split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):t,a(t,Array)?t:a(t,String)&&t?.trim().toLowerCase()||""}function Ze(t){return t?.isConnected?!![...document.querySelectorAll(":is(:modal)")].find(e=>e===t):!1}function He(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=Ge(e);[t[e],t[r]]=[t[r],t[e]]}return t}function Y(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Bt(e)}`||e).join(""):t}function M(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Bt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function be(t){return a(t,Comment,Text)}function De(t){a(t,Comment)}function Ye(t){return a(t,Text)}function X(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function K(t){return a(t,Array)&&!t?.find(e=>!O(e))}function Se(t){return a(t,Array)&&!t?.find(e=>!X(e))}function E(t,e){let r=t.collection.filter(n=>!be(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Ne(t,e,r){let n=e!==document.body&&a(t,String)&&t.toLowerCase()!=="body"?e:document,o;try{r.collection=[...n.querySelectorAll(t)]}catch{o=`Invalid CSS querySelector. [${a(t,String)?t:"Nothing valid given!"}]`}let s=r.collection.length;return s<1?`CSS querySelector "${t}", output: nothing`:o??`CSS querySelector "${t}", output ${s} element${s>1?"s":""}`}function zt(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Xe(){return{isCommentOrTextNode:be,isNode:O,isComment:De,isText:Ye,isHtmlString:X,isArrayOfHtmlElements:K,isArrayOfHtmlStrings:Se,ElemArray2HtmlString:ye,input2Collection:me,setCollectionFromCssSelector:Ne,addHandlerId:zt,cssRuleEdit:U({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 a(n,Node)?Object.freeze({get writable(){return Ue(n)},get modal(){return Ze(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return _e(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&&a(e,String)&&(e={[e]:r==="-"?"":r});let o;e.className&&(o=e.className,delete e.className),o=[...t.classList].find(c=>c.startsWith("JQxClass-")||o&&c===o)||o||`JQxClass-${he().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}var Wt=Ke();function et(t){return{factoryExtensions:Vt(t),instanceExtensions:_t(t)}}function Vt(t){return{data(e){return{get all(){return new Proxy(e[0]?.dataset??{},Fe)},set(r={}){if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},get(r,n){return e.data.all[r]??n},add(r={}){if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},remove(r){return e[0]?.removeAttribute(`data-${M(r)}`),e}}},dimensions(e){if(e.is.empty)return F.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=G(r,0),n.scrollLeftDistance=G(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 o=r?e.outerHtml:e.html();return n?I(o):o},set(r,n=!1,o=!1){r=r.isJQx?r.HTML.get(1):r;let s=a(r,String);return r=s&&o?I(r):r,s&&(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=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)},insert(r,n=!1){return r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n)}}},is(e){return Wt(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])[M(r)]},nwRule(r){return e.Style.byRule({rules:r})},byRule({classes2Apply:r=[],rules:n=[]}={}){let s=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let c of r)e.addClass(c);return s?.startsWith(".")&&e.addClass(s.slice(1)),s?.startsWith("#")&&!e.attr("id")&&e.prop({id:s.slice(1)}),e}}}}}function _t(t){return{addClass(e,...r){return E(e,n=>n&&r.forEach(o=>n.classList.add(o)))},after:ge,afterMe:ge,andThen(e,r,n=!1){if(!r||!a(r,String,Node,Proxy))return F.log("[JQx instance].[before(Me) | after(Me) | andThen]: invalid/-sufficient input."),e;r=r?.isJQx?r:a(r,Node)?t.virtual(r):t.virtual(D(r));let[o,s,c]=n?[0,"before",r.collection.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r.collection)];return e[o][s](...r.collection),e.collection=c,e},append(e,...r){if(e.is.empty||r.length<1)return e;let n=e.length===1;for(let o of r){if(!o.isJQx&&C(o)){let s=o.trim(),x=!/^<(.+)[^>]+>$/m.test(s)?t.text(o):D(o);E(e,p=>p.append(n?x:R(x)))}O(o)&&E(e,s=>s.append(n?o:R(o))),o.isJQx&&!o.is.empty&&E(e,s=>o.collection.forEach(c=>s.append(n?c:R(c))))}return e},appendTo(e,r){switch(!0){case(!r.isJQx&&!a(r,HTMLElement)):return $.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).append(e),e}},attr(e,r,n){if(!e.node)return e;if(!n&&C(r))return r=M(r),r==="class"?[...e.node.classList].join(" "):e.node.getAttribute(r);if(C(r)&&n)switch(r=M(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&$e(e.node,r),e},before:pe,beforeMe:pe,clear(e){return E(e,fe)},closest(e,r){let n=C(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 E(e,o=>qe(o,r,n,t))},duplicate(e,r=!1,n=document.body){switch(!0){case e.is.empty:return F.error("Duplicating an empty JQx instance is not possible"),e;default:let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(s=>{s.removeAttribute&&s?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}},each(e,r){return E(e,r)},empty(e){return E(e,fe)},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 E(e,r=>Z(r,{display:"none !important"}))},html(e,r,n){switch(!0){case(e.is.empty&&!C(r)):return"";case!C(r):return e.node?.getHTML??"";default:let o=D(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);return E(e,c=>(c.textContent=n?c.textContent:"",c.insertAdjacentHTML(t.at.end,o.getHTML())))}},htmlFor(e,r,n="",o=!1){if(e.is.empty||!C(r)||!C(n))return e;let s=e.find$(r);if(s.length<1)return e;let c=D(`<span>${n}</span>`);return s.each(x=>{o||(x.textContent=""),x.insertAdjacentHTML(t.at.end,c?.getHTML())}),e},isEmpty(e){return!e.node},nth$(e,r){return e.single(r)},on(e,r,...n){switch(!0){case(e.is.empty||!a(r,String,Array)||!C(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||!a(r,String,Array)||!C(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 o of r){if(C(o)){o=o.trim();let c=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):D(o);c=n?c:R(c),E(e,x=>x.prepend(c.cloneNode(!0)))}O(o)&&E(e,s=>s.prepend(n?o:R(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,s=>E(o,c=>s.prepend(n?c:R(c)))),o.collection.reverse())}return e},prependTo(e,r){return r.isJQx||(r=t.virtual(r)),r.prepend(e),e},prop(e,r,n){if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let o=a(r,Object)?r:{[r]:n};for(let[s,c]of Object.entries(o)){if(s=s.trim(),c&&!ue(s)||!c)return!1;if(s.toLowerCase()==="id")return e[0].id=c;E(e,p=>{if(s.startsWith("data"))return p.dataset[s.slice(s.indexOf("-")+1)]=c;p[s]=c})}return e},remove(e,r){F.log(`remove ${N(e.HTML.get(1),40)}${r?` /w selector ${r}`:""}`);let n=s=>s.remove(),o=()=>e.collection=e.collection.filter(s=>document.documentElement.contains(s));if(r){let s=e.find$(r);return s.is.empty||(E(s,n),o()),e}return E(e,n),o(),e},rmAttr(e,...r){for(let n of r)e.node.removeAttribute(n);return e},removeClass(e,...r){return E(e,n=>{if(n)for(let o of r)n.classList.remove(o)})},renderTo(e,r,n){return r=a(r,HTMLElement)||r.isJQx?r:document.body,n=a(n,String)&&t.at[n]?n:t.at.end,e.first$().toDOM(r,n),e},replace(e,r,n){let o=e.node;return!r||!a(n,HTMLElement)&&!n?.isJQx?(t.logger.error("JQx replace: invalid replacement value"),e):((n.isJQx||a(n,NodeList))&&(n=n[0]),o&&r&&(r=a(r,String)?o.querySelectorAll(r):r.isJQx?r.collection:r,a(r,HTMLElement,NodeList,Array)&&a(n,HTMLElement)&&(a(r,HTMLElement)?[r]:[...r]).forEach(s=>s.replaceWith(n.cloneNode(!0)))),e)},replaceClass(e,r,...n){return E(e,o=>{o.classList.remove(r);for(let s of n)o.classList.add(s)})},replaceMe(e,r){return e.replaceWith(r)},replaceWith(e,r){return r=a(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e},setData(e,r){return E(e,n=>de(n,r))},show(e){return E(e,r=>Z(r,{display:"revert-layer !important"}))},single(e,r){let n=e.collection.length>0;switch(r=r??0,!0){case(n&&a(r,String)):return e.find$(r);case(n&&a(r,Number)):return t(e.collection[r]);case n:return e.collection[0];default:return e}},style(e,r,n){return E(e,s=>{n&&a(r,String)&&(r={[r]:n||"none"}),Z(s,r)})},text(e,r,n=!1){switch(!0){case e.isEmpty():return e;case!a(r,String):return e.node.textContent;default:return E(e,o=>o.textContent=n?o.textContent+r:r)}},toDOM(e,r=document.body,n=T.BeforeEnd){return e.isVirtual=!1,z(e.collection,r,n),e},toggleClass(e,r){return E(e,n=>n.classList.toggle(r))},toNodeList(e){return[...e.collection].map(r=>document.importNode(r,!0))},trigger(e,r,n,o){if(n=/Event\]$/.test(a(n))?n:Event,o=a(o,Object)?{...o,bubbles:o.bubbles??!0}:{bubbles:!0},!e.is.empty){let s=new n(r,o);e.each(c=>c.dispatchEvent(s))}return e},val(e,r){switch(!0){case(e.is.empty||!a(e.node,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)):return e;case!a(r,String):return e.node.value;default:return e.node.value=a(r,String)?r:"",e}}}}var Me,xe,{isComment:Yr,isText:Xr,isHtmlString:Kr,isArrayOfHtmlElements:qr,isArrayOfHtmlStrings:en,ElemArray2HtmlString:tn,addHandlerId:rn,cssRuleEdit:Pe,addFn:Ut}=Gt();function Gt(){return{...Xe(),addFn:function(t,e){return F.log(`JQx: added extension function [${t}]`),xe[t]=(r,...n)=>e(r,...n)}}}function q(t){return new Proxy(t,Object.freeze({get:(e,r)=>Zt(e,r,t)}))}function tt(t,e){return(...r)=>a(t,Function)&&t(q(e),...r)}function Zt(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in Me:return tt(Me[e],r)();case e in xe:return tt(xe[e],r);default:return t[e]}}function ot(t){let e=er(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function Yt(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?Y(e):e.toLowerCase(),P.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Oe(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),P.prohibitTag(e),a(t[e],Function)&&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 Xt(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(s=>n===s);let o=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let s of o.collection)n?r.insertAdjacentElement(n,s):r.append(s);return o}}function Kt(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,s]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...s,enumerable:!1})}return e}function qt(t,e,r,n){return t=M(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(B(te[t](...o)))},enumerable:!1,configurable:!0}}function Oe(t,e,r,n){t=t.toLowerCase();let o=qt(t,e,r,n);return n?{[n]:o,[Y(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function er(t){return Kt(Object.entries(P.tagsRaw).reduce(tr(t),{}),sr(t))}function tr(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Oe(r,n,t)),e}}function rr(t){return function(e,r,...n){a(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function nr(t){return function(e){let{type:r,types:n,origin:o,selector:s,handler:c,handlers:x,node:p,name:L,capture:y,once:S,about:f}=e;c=x||c,r=n||r,s=o||s;let h=Ae(r),g=L;c=a(c,Function)?[c]:c;let m={type:h,selector:s||o,capture:y,name:g,once:S,node:p,about:f};switch(!0){case(a(h,Array)&&h.length>0):for(let b of h)m.type=b,nt(c,m,t);break;default:return nt(c,m,t)}}}function nt(t,e,r){for(let n of t)r.listen({...e,handler:n})}function or(t){return function(e,r){return r=C(r)&&r,e=C(e)&&e,r&&e&&t.listenerStore[e][r]}}function ir(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:ie(t),enumerable:!1}),t.activePopup}function lr(t){let e=(p,L)=>Pe(p,L),r=p=>U({createWithId:p||`jqx${he()}`}),n=(...p)=>{for(let L of p)Pe(L)},o=Yt(t),s=le(t),c=nr(s);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:c,capturedHandling:c,log:(...p)=>F.on.log(...p).off,handlerWrapper:s}}function sr(t){let{factoryExtensions:e,instanceExtensions:r}=et(t);Me=e,xe=r;let{editCssRule:n,createStyle:o,editCssRules:s,allowProhibit:c,handle:x,capturedHandling:p,log:L,handlerWrapper:y}=lr(t),S=or(t);return{log:L,editCssRules:s,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:I,logger:F,text:(f,h=!1)=>h?t.comment(f):document.createTextNode(f),node:(f,h=document)=>h.querySelector(f,h),nodes:(f,h=document)=>[...h.querySelectorAll(f,h)],clearAllTimers:Te,get toBool(){return He},get getNamedListener(){return S},get virtual(){return Xt(t)},get allowTag(){return c.allow},get prohibitTag(){return c.prohibit},get removeCssRule(){return rt},get removeCssRules(){return rt},get delegate(){return rr(p)},get delegateCaptured(){return p},get handle(){return p},get listen(){return y.listen},get at(){return T},get setStyle(){return n},get fn(){return Ut},get lenient(){return P.allowUnknownHtmlTags},get IS(){return a},get Popup(){return ir(t)},get listenerStore(){return y.ListenerStore}}}var it=ot(ar());function ar(){return function(e,r,n=T.BeforeEnd){if(e?.isJQx)return e;let o=a(r,HTMLBRElement);r=(!o&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(T).find(f=>n===f)?n:void 0;let s=X(e),c=!s&&Se(e),x=c||s,p={collection:me(e)??[],isVirtual:o,isJQx:!0},L=K(p.collection),y=`JQx: input => ${c?`"${N(e.join(", "),70)}"`:!x&&L?`element collection [${N(p.collection.map(f=>`${a(f,Comment,Text)?"Comment|Text @":""} ${f?.outerHTML||f?.textContent}`).join(", "),70)}]`:`"${N(e,70)}"`}`;if(p.collection.length&&L)return F.log(y),o||p.collection.forEach(f=>{r.contains(f)||z([f],r,n)}),q(p);if(x){if([e].flat().forEach(f=>p.collection.push(D(f))),p.collection.length>0){let f=p.collection.filter(h=>h?.dataset?.jqxcreationerror);p.collection=p.collection.filter(h=>!h?.dataset?.jqxcreationerror),F.log(`${y}`),F.log(`JQx: created ${p.isVirtual?"VIRTUAL ":""}[${N(ye(p.collection).trim()||"sanitized: no elements remaining",70)}]`),p.isVirtual||z(p.collection,r,n)}return q(p)}let S=Ne(e,r,p);return F.log(`JQx: input => ${S}`),q(p)}}var cn=it;export{cn as default};
|
|
16
|
+
`));default:return r}}return Object.defineProperties(r,{log:{value:s,enumerable:!1},error:{value:n,enumerable:!1},warn:{value:o,enumerable:!1}}),Object.freeze(r)}function ce(){return(t=>`[${ae(t.getHours())}:${ae(t.getMinutes())}:${ae(t.getSeconds())}.${ae(t.getMilliseconds(),3)}]`)(new Date)}function $e(t,e){if(t)for(let[r,n]of Object.entries(e)){if(r=M(r),r.startsWith("data"))return de(t,n);a(n,String)&&ue(r)&&t.setAttribute(r,n.split(/[, ]/)?.join(" "))}}function de(t,e){if(t&&a(e,Object))for(let[r,n]of Object.entries(e))t.setAttribute(`data-${M(r)}`,n)}function me(t){return t?a(t,Proxy)?[t.EL]:a(t,NodeList)?[...t]:O(t)?[t]:K(t)?t:t.isJQx?t.collection:void 0:[]}function ge(t,e){return t.andThen(e)}function pe(t,e){return t.andThen(e,!0)}function O(t){return a(t,Text,HTMLElement,Comment)}function Z(t,e){if(a(e,Object))for(let[r,n]of Object.entries(e)){let o;/!important/i.test(n)&&(n=n.slice(0,n.indexOf("!")).trim(),o="important"),t.style.setProperty(M(r),n,o)}}function R(t){let e=t.cloneNode(!0);return e.removeAttribute&&e.removeAttribute("id"),t.isConnected?t.remove():t=null,e}function _e(t){if(!t)return;let e=t.style,r=getComputedStyle(t),n=[e.visibility,r.visibility].includes("hidden"),o=[e.display,r.display].includes("none"),s=t.hidden,c=t.offsetTop<0||t.offsetLeft+t.offsetWidth<0||t.offsetLeft>document.body.offsetWidth,x=+r.opacity==0||+(e.opacity||1)==0;return!(s||c||x||o||n)}function Ue(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(De(r)?`<!--${r.data}-->`:be(r)?r.textContent:r.outerHTML),"")}function ae(t,e=2){return`${t}`.padStart(e,"0")}function Ge(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 he(){return`_${Qt(kt).slice(0,8).join("")}`}function Ae(t){return t=a(t,String)&&/,/.test(t)?t.split(",").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):t,a(t,Array)?t:a(t,String)&&t?.trim().toLowerCase()||""}function Ze(t){return t?.isConnected?!![...document.querySelectorAll(":is(:modal)")].find(e=>e===t):!1}function He(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=Ge(e);[t[e],t[r]]=[t[r],t[e]]}return t}function Y(t){return a(t,String)?t.toLowerCase().split("-").map((e,r)=>r&&`${Bt(e)}`||e).join(""):t}function M(t){return t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`).replace(/^-|-$/,"")}function Bt([t,...e]){return`${t.toUpperCase()}${e.join("")}`}function be(t){return a(t,Comment,Text)}function De(t){a(t,Comment)}function Ye(t){return a(t,Text)}function X(t){return a(t,String)&&/^<|>$/.test(`${t}`.trim())}function K(t){return a(t,Array)&&!t?.find(e=>!O(e))}function Se(t){return a(t,Array)&&!t?.find(e=>!X(e))}function E(t,e){let r=t.collection.filter(n=>!be(n));for(let n=0;n<r.length;n+=1)e(r[n],n);return t}function Ne(t,e,r){let n=e!==document.body&&a(t,String)&&t.toLowerCase()!=="body"?e:document,o;try{r.collection=[...n.querySelectorAll(t)]}catch{o=`Invalid CSS querySelector. [${a(t,String)?t:"Nothing valid given!"}]`}let s=r.collection.length;return s<1?`CSS querySelector "${t}", output: nothing`:o??`CSS querySelector "${t}", output ${s} element${s>1?"s":""}`}function zt(t){let e=`anonymous_${Math.random().toString(36).slice(2)}`;return t.data.add({hid:e}),`[data-hid="${e}"]`}function Xe(){return{isCommentOrTextNode:be,isNode:O,isComment:De,isText:Ye,isHtmlString:X,isArrayOfHtmlElements:K,isArrayOfHtmlStrings:Se,ElemArray2HtmlString:ye,input2Collection:me,setCollectionFromCssSelector:Ne,addHandlerId:zt,cssRuleEdit:U({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 a(n,Node)?Object.freeze({get writable(){return Ue(n)},get modal(){return Ze(n)},get inDOM(){return n.isConnected},get open(){return n.open??!1},get visible(){return _e(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&&a(e,String)&&(e={[e]:r==="-"?"":r});let o;e.className&&(o=e.className,delete e.className),o=[...t.classList].find(c=>c.startsWith("JQxClass-")||o&&c===o)||o||`JQxClass-${he().slice(1)}`,n.editCssRule(`.${o}`,e),t.classList.add(o)}var Wt=Ke();function et(t){return{factoryExtensions:Vt(t),instanceExtensions:_t(t)}}function Vt(t){return{data(e){return{get all(){return new Proxy(e[0]?.dataset??{},Fe)},set(r={}){if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},get(r,n){return e.data.all[r]??n},add(r={}){if(!e.is.empty&&a(r,Object))for(let[n,o]of Object.entries(r))e.setData({[n]:o});return e},remove(r){return e[0]?.removeAttribute(`data-${M(r)}`),e}}},dimensions(e){if(e.is.empty)return F.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=G(r,0),n.scrollLeftDistance=G(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 o=r?e.outerHtml:e.html();return n?I(o):o},set(r,n=!1,o=!1){r=r.isJQx?r.HTML.get(1):r;let s=a(r,String);return r=s&&o?I(r):r,s&&(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=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r,!0,n)},insert(r,n=!1){return r=a(r,HTMLElement)?t(r).HTML.get(1):r.isJQx?r.HTML.get(1):r,e.HTML.set(r+e.HTML.get(),!1,n)}}},is(e){return Wt(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])[M(r)]},nwRule(r){return e.Style.byRule({rules:r})},byRule({classes2Apply:r=[],rules:n=[]}={}){let s=a(n,String)&&!r.length?n.split("{")[0].trim():"";if(n=n&&a(n,String)?[n]:n,r=r&&a(r,String)?[r]:r,(n?.length||r?.length)&&(n?.length&&t.editCssRules(...n),r))for(let c of r)e.addClass(c);return s?.startsWith(".")&&e.addClass(s.slice(1)),s?.startsWith("#")&&!e.attr("id")&&e.prop({id:s.slice(1)}),e}}}}}function _t(t){return{addClass(e,...r){return E(e,n=>n&&r.forEach(o=>n.classList.add(o)))},after:ge,afterMe:ge,andThen(e,r,n=!1){if(!r||!a(r,String,Node,Proxy))return F.log("[JQx instance].[before(Me) | after(Me) | andThen]: invalid/-sufficient input."),e;r=r?.isJQx?r:a(r,Node)?t.virtual(r):t.virtual(D(r));let[o,s,c]=n?[0,"before",r.collection.concat(e.collection)]:[e.collection.length-1,"after",e.collection.concat(r.collection)];return e[o][s](...r.collection),e.collection=c,e},append(e,...r){if(e.is.empty||r.length<1)return e;let n=e.length===1;for(let o of r){if(!o.isJQx&&C(o)){let s=o.trim(),x=!/^<(.+)[^>]+>$/m.test(s)?t.text(o):D(o);E(e,p=>p.append(n?x:R(x)))}O(o)&&E(e,s=>s.append(n?o:R(o))),o.isJQx&&!o.is.empty&&E(e,s=>o.collection.forEach(c=>s.append(n?c:R(c))))}return e},appendTo(e,r){switch(!0){case(!r.isJQx&&!a(r,HTMLElement)):return $.warn("[JQx instance].appendTo: invalid input"),e;default:return(r.isJQx?r:t(r)).append(e),e}},attr(e,r,n){if(!e.node)return e;if(!n&&C(r))return r=M(r),r==="class"?[...e.node.classList].join(" "):e.node.getAttribute(r);if(C(r)&&n)switch(r=M(r),!0){case r.startsWith("data-"):r={data:{[r.replace("data-","")]:n}};break;default:r={[r]:n}}return a(r,Object)&&!e.is.empty&&$e(e.node,r),e},before:pe,beforeMe:pe,clear(e){return E(e,fe)},closest(e,r){let n=C(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 E(e,o=>qe(o,r,n,t))},duplicate(e,r=!1,n=document.body){switch(!0){case e.is.empty:return F.error("Duplicating an empty JQx instance is not possible"),e;default:let o=e.collection[0].cloneNode(!0);return o.childNodes.forEach(s=>{s.removeAttribute&&s?.removeAttribute("id")}),r?t(o).toDOM(n):t.virtual(o)}},each(e,r){return E(e,r)},empty(e){return E(e,fe)},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 E(e,r=>Z(r,{display:"none !important"}))},html(e,r,n){switch(!0){case(e.is.empty&&!C(r)):return"";case!C(r):return e.node?.getHTML()??"";default:let o=D(`<div>${r.isJQx?r.HTML.get(!0):r}</div>`);return E(e,c=>(c.textContent=n?c.textContent:"",c.insertAdjacentHTML(t.at.end,o.getHTML())))}},htmlFor(e,r,n="",o=!1){if(e.is.empty||!C(r)||!C(n))return e;let s=e.find$(r);if(s.length<1)return e;let c=D(`<span>${n}</span>`);return s.each(x=>{o||(x.textContent=""),x.insertAdjacentHTML(t.at.end,c?.getHTML())}),e},isEmpty(e){return!e.node},nth$(e,r){return e.single(r)},on(e,r,...n){switch(!0){case(e.is.empty||!a(r,String,Array)||!C(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||!a(r,String,Array)||!C(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 o of r){if(C(o)){o=o.trim();let c=!/^<(.+)[^>]+>$/m.test(o)?t.text(o):D(o);c=n?c:R(c),E(e,x=>x.prepend(c.cloneNode(!0)))}O(o)&&E(e,s=>s.prepend(n?o:R(o))),o.isJQx&&!o.is.empty&&(o.collection.length>1&&o.collection.reverse(),E(e,s=>E(o,c=>s.prepend(n?c:R(c)))),o.collection.reverse())}return e},prependTo(e,r){return r.isJQx||(r=t.virtual(r)),r.prepend(e),e},prop(e,r,n){if(a(r,String)&&!n)return r.startsWith("data")?e[0]?.dataset[r.slice(r.indexOf("-")+1)]:e[0]?.[r];let o=a(r,Object)?r:{[r]:n};for(let[s,c]of Object.entries(o)){if(s=s.trim(),c&&!ue(s)||!c)return!1;if(s.toLowerCase()==="id")return e[0].id=c;E(e,p=>{if(s.startsWith("data"))return p.dataset[s.slice(s.indexOf("-")+1)]=c;p[s]=c})}return e},remove(e,r){F.log(`remove ${N(e.HTML.get(1),40)}${r?` /w selector ${r}`:""}`);let n=s=>s.remove(),o=()=>e.collection=e.collection.filter(s=>document.documentElement.contains(s));if(r){let s=e.find$(r);return s.is.empty||(E(s,n),o()),e}return E(e,n),o(),e},rmAttr(e,...r){for(let n of r)e.node.removeAttribute(n);return e},removeClass(e,...r){return E(e,n=>{if(n)for(let o of r)n.classList.remove(o)})},renderTo(e,r,n){return r=a(r,HTMLElement)||r.isJQx?r:document.body,n=a(n,String)&&t.at[n]?n:t.at.end,e.first$().toDOM(r,n),e},replace(e,r,n){let o=e.node;return!r||!a(n,HTMLElement)&&!n?.isJQx?(t.logger.error("JQx replace: invalid replacement value"),e):((n.isJQx||a(n,NodeList))&&(n=n[0]),o&&r&&(r=a(r,String)?o.querySelectorAll(r):r.isJQx?r.collection:r,a(r,HTMLElement,NodeList,Array)&&a(n,HTMLElement)&&(a(r,HTMLElement)?[r]:[...r]).forEach(s=>s.replaceWith(n.cloneNode(!0)))),e)},replaceClass(e,r,...n){return E(e,o=>{o.classList.remove(r);for(let s of n)o.classList.add(s)})},replaceMe(e,r){return e.replaceWith(r)},replaceWith(e,r){return r=a(r,Element)?r:r.isJQx?r[0]:void 0,r&&(e[0].replaceWith(r),e=t.virtual(r)),e},setData(e,r){return E(e,n=>de(n,r))},show(e){return E(e,r=>Z(r,{display:"revert-layer !important"}))},single(e,r){let n=e.collection.length>0;switch(r=r??0,!0){case(n&&a(r,String)):return e.find$(r);case(n&&a(r,Number)):return t(e.collection[r]);case n:return e.collection[0];default:return e}},style(e,r,n){return E(e,s=>{n&&a(r,String)&&(r={[r]:n||"none"}),Z(s,r)})},text(e,r,n=!1){switch(!0){case e.isEmpty():return e;case!a(r,String):return e.node.textContent;default:return E(e,o=>o.textContent=n?o.textContent+r:r)}},toDOM(e,r=document.body,n=T.BeforeEnd){return e.isVirtual=!1,z(e.collection,r,n),e},toggleClass(e,r){return E(e,n=>n.classList.toggle(r))},toNodeList(e){return[...e.collection].map(r=>document.importNode(r,!0))},trigger(e,r,n,o){if(n=/Event\]$/.test(a(n))?n:Event,o=a(o,Object)?{...o,bubbles:o.bubbles??!0}:{bubbles:!0},!e.is.empty){let s=new n(r,o);e.each(c=>c.dispatchEvent(s))}return e},val(e,r){switch(!0){case(e.is.empty||!a(e.node,HTMLInputElement,HTMLSelectElement,HTMLTextAreaElement)):return e;case!a(r,String):return e.node.value;default:return e.node.value=a(r,String)?r:"",e}}}}var Me,xe,{isComment:Yr,isText:Xr,isHtmlString:Kr,isArrayOfHtmlElements:qr,isArrayOfHtmlStrings:en,ElemArray2HtmlString:tn,addHandlerId:rn,cssRuleEdit:Pe,addFn:Ut}=Gt();function Gt(){return{...Xe(),addFn:function(t,e){return F.log(`JQx: added extension function [${t}]`),xe[t]=(r,...n)=>e(r,...n)}}}function q(t){return new Proxy(t,Object.freeze({get:(e,r)=>Zt(e,r,t)}))}function tt(t,e){return(...r)=>a(t,Function)&&t(q(e),...r)}function Zt(t,e,r){switch(!0){case a(e,Symbol):return t;case a(+e,Number):return t.collection?.[e]||void 0;case e in Me:return tt(Me[e],r)();case e in xe:return tt(xe[e],r);default:return t[e]}}function ot(t){let e=er(t);for(let[r,n]of Object.entries(Object.getOwnPropertyDescriptors(e)))Object.defineProperty(t,r,n);return t}function Yt(t){return{allow:e=>{let r=/-/.test(e),n=r&&e;e=r?Y(e):e.toLowerCase(),P.allowTag(e),a(t[e],Function)||Object.defineProperties(t,Oe(e,!0,t,n))},prohibit:e=>{e=e.toLowerCase(),P.prohibitTag(e),a(t[e],Function)&&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 Xt(t){return function(e,r,n){r=r?.isJQx?r?.[0]:r,n=n&&Object.values(T).find(s=>n===s);let o=t(e,document.createElement("br"));if(r&&!a(r,HTMLBRElement))for(let s of o.collection)n?r.insertAdjacentElement(n,s):r.append(s);return o}}function Kt(...t){let e={};for(let r of t){let n=Object.getOwnPropertyDescriptors(r);for(let[o,s]of Object.entries(n))!(o in e)&&Object.defineProperty(e,o,{...s,enumerable:!1})}return e}function qt(t,e,r,n){return t=M(n||t.toLowerCase()),{get(){return(...o)=>e&&r.virtual(B(te[t](...o)))},enumerable:!1,configurable:!0}}function Oe(t,e,r,n){t=t.toLowerCase();let o=qt(t,e,r,n);return n?{[n]:o,[Y(n)]:o}:{[t]:o,[t.toUpperCase()]:o}}function er(t){return Kt(Object.entries(P.tagsRaw).reduce(tr(t),{}),sr(t))}function tr(t){return function(e,[r,n]){return n&&Object.defineProperties(e,Oe(r,n,t)),e}}function rr(t){return function(e,r,...n){a(r,Function)&&(n.push(r),r=void 0),t({type:e,selector:r,handlers:n})}}function nr(t){return function(e){let{type:r,types:n,origin:o,selector:s,handler:c,handlers:x,node:p,name:L,capture:y,once:S,about:f}=e;c=x||c,r=n||r,s=o||s;let h=Ae(r),g=L;c=a(c,Function)?[c]:c;let m={type:h,selector:s||o,capture:y,name:g,once:S,node:p,about:f};switch(!0){case(a(h,Array)&&h.length>0):for(let b of h)m.type=b,nt(c,m,t);break;default:return nt(c,m,t)}}}function nt(t,e,r){for(let n of t)r.listen({...e,handler:n})}function or(t){return function(e,r){return r=C(r)&&r,e=C(e)&&e,r&&e&&t.listenerStore[e][r]}}function ir(t){return t.activePopup||Object.defineProperty(t,"activePopup",{value:ie(t),enumerable:!1}),t.activePopup}function lr(t){let e=(p,L)=>Pe(p,L),r=p=>U({createWithId:p||`jqx${he()}`}),n=(...p)=>{for(let L of p)Pe(L)},o=Yt(t),s=le(t),c=nr(s);return{editCssRule:e,createStyle:r,editCssRules:n,allowProhibit:o,handle:c,capturedHandling:c,log:(...p)=>F.on.log(...p).off,handlerWrapper:s}}function sr(t){let{factoryExtensions:e,instanceExtensions:r}=et(t);Me=e,xe=r;let{editCssRule:n,createStyle:o,editCssRules:s,allowProhibit:c,handle:x,capturedHandling:p,log:L,handlerWrapper:y}=lr(t),S=or(t);return{log:L,editCssRules:s,createStyle:o,editStylesheet:o,editCssRule:n,escHtml:I,logger:F,text:(f,h=!1)=>h?t.comment(f):document.createTextNode(f),node:(f,h=document)=>h.querySelector(f,h),nodes:(f,h=document)=>[...h.querySelectorAll(f,h)],clearAllTimers:Te,get toBool(){return He},get getNamedListener(){return S},get virtual(){return Xt(t)},get allowTag(){return c.allow},get prohibitTag(){return c.prohibit},get removeCssRule(){return rt},get removeCssRules(){return rt},get delegate(){return rr(p)},get delegateCaptured(){return p},get handle(){return p},get listen(){return y.listen},get at(){return T},get setStyle(){return n},get fn(){return Ut},get lenient(){return P.allowUnknownHtmlTags},get IS(){return a},get Popup(){return ir(t)},get listenerStore(){return y.ListenerStore}}}var it=ot(ar());function ar(){return function(e,r,n=T.BeforeEnd){if(e?.isJQx)return e;let o=a(r,HTMLBRElement);r=(!o&&r&&r.isJQx?r[0]:r)||document.body,n=n&&Object.values(T).find(f=>n===f)?n:void 0;let s=X(e),c=!s&&Se(e),x=c||s,p={collection:me(e)??[],isVirtual:o,isJQx:!0},L=K(p.collection),y=`JQx: input => ${c?`"${N(e.join(", "),70)}"`:!x&&L?`element collection [${N(p.collection.map(f=>`${a(f,Comment,Text)?"Comment|Text @":""} ${f?.outerHTML||f?.textContent}`).join(", "),70)}]`:`"${N(e,70)}"`}`;if(p.collection.length&&L)return F.log(y),o||p.collection.forEach(f=>{r.contains(f)||z([f],r,n)}),q(p);if(x){if([e].flat().forEach(f=>p.collection.push(D(f))),p.collection.length>0){let f=p.collection.filter(h=>h?.dataset?.jqxcreationerror);p.collection=p.collection.filter(h=>!h?.dataset?.jqxcreationerror),F.log(`${y}`),F.log(`JQx: created ${p.isVirtual?"VIRTUAL ":""}[${N(ye(p.collection).trim()||"sanitized: no elements remaining",70)}]`),p.isVirtual||z(p.collection,r,n)}return q(p)}let S=Ne(e,r,p);return F.log(`JQx: input => ${S}`),q(p)}}var cn=it;export{cn as default};
|
package/package.json
CHANGED
|
@@ -293,7 +293,7 @@ function instanceExtensionsFactory(jqx) {
|
|
|
293
293
|
html(instance, htmlValue, append) {
|
|
294
294
|
switch(true) {
|
|
295
295
|
case instance.is.empty && !isNonEmptyString(htmlValue): return "";
|
|
296
|
-
case !isNonEmptyString(htmlValue): return instance.node?.getHTML ?? ``;
|
|
296
|
+
case !isNonEmptyString(htmlValue): return instance.node?.getHTML() ?? ``;
|
|
297
297
|
default:
|
|
298
298
|
const nwElement = createElementFromHtmlString(
|
|
299
299
|
`<div>${htmlValue.isJQx ? htmlValue.HTML.get(true) : htmlValue}</div>` );
|