dynamic-html-helpers 1.5.6 → 1.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Bundle/htmlhelpers.min.js +15 -15
- package/Bundle/htmlhelpers.min.js.map +3 -3
- package/Bundle/htmlhelpers.script.js +746 -742
- package/Bundle/htmlhelpers.script.js.map +3 -3
- package/Resource/Externals/jqx.min.js +15 -15
- package/Resource/Externals/jqx.min.js.map +3 -3
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../index.js", "../Resource/Resource/Common/TypeofAnything.js", "../Resource/Resource/Common/EmbedResources.js", "../Resource/Resource/Common/tinyDOM.js", "../Resource/Resource/Common/LifeCSS.js", "../Resource/Resource/Common/HTMLTags.js", "../Resource/Resource/Common/DOMCleanup.js", "../Resource/Resource/Common/DOM.js", "../Resource/Resource/Common/Popup.js", "../Resource/Resource/Common/HandlerFactory.js", "../Resource/Resource/Common/Utilities.js", "../Resource/src/JQxUtilities.js", "../Resource/src/JQxInstanceMethods.js", "../Resource/src/JQxCreatorFactory.js", "../Resource/src/JQxConstructorFactory.js", "../Resource/index.js", "../Resource/Externals/ticktock.min.js", "../Resource/Externals/REHelper.js", "../Resource/Externals/splat.min.js"],
|
|
4
|
-
"sourcesContent": ["import $ from \"./Resource/Externals/jqx.min.js\";\r\nimport $D from \"./Resource/Externals/ticktock.min.js\";\r\nimport regexhelper from \"./Resource/Externals/REHelper.js\";\r\n\r\nimport {\r\n default as interpolate,\r\n interpolateClear,\r\n addSymbolicStringExtensions } from \"./Resource/Externals/splat.min.js\";\r\nsetDefaultStyling();\r\nfixSBLinks2TopProblem();\r\nconst splatModule = {interpolate, interpolateClear, addSymbolicStringExtensions};\r\nexport { $, logFactory, regexhelper, $D, splatModule };\r\n\r\nfunction fixSBLinks2TopProblem() {\r\n // fix for stackblitz rewriting hrefs with target _top (see README)\r\n /stackblitz/i.test(location.href) &&\r\n console.info(`\u2714 Stackblitz rewrites links to _top. The 'stackblitzhelpers' module fixed it.`);\r\n document.addEventListener(`click`, evt => {\r\n if (evt.target.href) {\r\n const ref = evt.target;\r\n if (ref.dataset.top || ref.classList.contains(`internalLink`) || ref.target === `_top`) {\r\n return top.location.href = ref.href;\r\n }\r\n }\r\n return true;\r\n });\r\n}\r\n\r\nfunction logFactory(formatJSON = true) {\r\n const logContainer = $(`<ul id=\"log2screen\">`).first();\r\n \r\n function logItem(top = false) {\r\n const where2PutIt = top ? $.at.start : $.at.end;\r\n return content => {\r\n if (content?.isJQx) {\r\n return $.li(\r\n content.data.get(`header`) ? {class: `head`} : ``, content\r\n ).renderTo(logContainer, where2PutIt);\r\n }\r\n \r\n content = !$.IS(content, String, Number, Symbol) ? tryJSON(content, formatJSON) : String(content);\r\n const isHead = content.startsWith(`!!`);\r\n content = isHead ? content.slice(2) : content;\r\n $.li(isHead ? {class: `head`} : ``, content)\r\n .renderTo(logContainer, where2PutIt);\r\n };\r\n }\r\n const [logLamda, logTopLambda] = [logItem(), logItem(true)];\r\n \r\n return {\r\n log: (...txt) => txt.forEach( logLamda ),\r\n logTop: (...txt) => txt.forEach( logTopLambda ),\r\n };\r\n}\r\n\r\nfunction tryJSON(content, formatted) {\r\n try { return formatted ? `<pre>${JSON.stringify(content, null, 2)}</pre>` : JSON.stringify(content); }\r\n catch(err) {return `Some [Object object] can not be converted to JSON`}\r\n}\r\n\r\nfunction setDefaultStyling() {\r\n $.editCssRules(`li::marker{vertical-align:top;}`,`code{color:green;background-color:#eee;padding:2px;font-family:monospace;}`,`code.codeblock{display:block;padding:6px;border:1px solid #999;margin:0.5rem 0;background-color:#eee;white-space:pre-wrap;}`,`h3{marginTop:1.5rem;}`,`.thickBorder{border:5px solid green;borderWidth:5px;padding:0.5rem;display:inline-block;}`,`a.ExternalLink{text-decoration:none;color:rgb(0,0,238);background-color:#EEE;padding:3px;font-weight:bold;}`,`.cmmt{color:#888;}`,`.hidden{display:none;}`,`.attention{color:red; font-size:1.2em; font-weight:bold;}`,`#log2screen li{listStyle:'\\\\2713';paddingLeft:6px;margin:0.5rem 0 0 -1.2rem;font-family:monospace}`,`#log2screen li.head{list-style-type:none;font-weight:bold;margin-top:0.8rem;margin-bottom:-0.2rem;font-family:revert;}`,`.err{fontStyle:italic; color:red; }`,`a{text-decoration:none; font-weight:bold;}`,`a:hover{text-decoration:underline;}`,`a[target]:before,a.internalLink:before,a.externalLink:before{color:rgba(0,0,238,0.7);font-size:1.1rem;padding-right:2px;vertical-align:baseline;}`,`a[target=\"_blank\"]:before,a.externalLink:before{content:'\\\\2197';}`,`a[data-top]:before,a.internalLink:before,a[target=\"_top\"]:before{content:'\\\\21BA';}`);\r\n}\r\n", "const { IS, isOnly, maybe, $Wrap, isNothing, addSymbolicExtensions, detectableProxy } =\r\n TOAFactory({useSymbolicExtensions: false});\r\n\r\nexport { IS as default, maybe, isOnly, $Wrap, detectableProxy as proxyWrapper, isNothing, addSymbolicExtensions };\r\n\r\nfunction TOAFactory(specs = {}) {\r\n const { useSymbolicExtensions } = specs;\r\n const isJust = typeCheckFactory();\r\n const { shouldbeIsSingleObject, ISOneOf, isExcept, verifyNothingness, determineType,\r\n addSymbolicExtensions, maybe, $Wrap, detectableProxy } = TOAHelpers(IS, useSymbolicExtensions);\r\n \r\n if (!!useSymbolicExtensions) { addSymbolicExtensions(); }\r\n \r\n return {IS, isOnly, maybe, $Wrap, isNothing: verifyNothingness, addSymbolicExtensions, detectableProxy};\r\n \r\n function IS(anything, ...shouldBe) {\r\n const unChained = Object.getOwnPropertySymbols(anything || {})?.some(v => v === Symbol.justME) && shouldBe.length > 0;\r\n const single = anything?.[Symbol.justME];\r\n const input = unChained ? single : typeof anything === `symbol` ? Symbol.isSymbol : anything;\r\n switch(true) {\r\n case unChained: return isJust(single, ...shouldBe);\r\n case !!maybe({trial: _ => `isTypes` in (shouldBe?.[0] ?? {})}):\r\n return shouldbeIsSingleObject(anything, shouldBe[0]);\r\n default: return shouldBe.length > 1 ? ISOneOf(input, ...shouldBe) : determineType(anything, ...shouldBe);\r\n }\r\n }\r\n \r\n function isOnly(anything, ...shouldBe) {\r\n return IS({[Symbol.justME]: anything}, ...shouldBe);\r\n }\r\n}\r\n\r\nfunction TOAHelpers(IS, useSymbolicExtensions) {\r\n const { SymbolAndCustomProxyFactory, maybeFactory, WrapAnyFactory,\r\n verifyNothingness, determineType, detectableProxy } = AUXHelperFactory(IS, typeOf);\r\n const {addSymbolicExtensions} = SymbolAndCustomProxyFactory(IS, typeOf, useSymbolicExtensions);\r\n const [maybe, $Wrap] = [maybeFactory(), WrapAnyFactory(IS, typeOf)];\r\n \r\n return Object.freeze({\r\n shouldbeIsSingleObject, ISOneOf, isExcept, verifyNothingness,\r\n determineType, detectableProxy, addSymbolicExtensions, maybe, $Wrap });\r\n \r\n function typeOf(anything) {\r\n return anything?.[Symbol.proxy] || IS(anything);\r\n }\r\n \r\n function shouldbeIsSingleObject(anything, isTypeObj) {\r\n switch(true) {\r\n case `defaultValue` in isTypeObj: return isOrDefault(anything, isTypeObj);\r\n case `notTypes` in isTypeObj: return isExcept(anything, isTypeObj);\r\n default: return IS(anything, ...[isTypeObj.isTypes].flat());\r\n }\r\n }\r\n \r\n function ISOneOf(obj, ...params) {\r\n return params.some(param => IS(obj, param));\r\n }\r\n \r\n function isOrDefault(input, {defaultValue, isTypes = [undefined], notTypes} = {}) {\r\n isTypes = isTypes?.constructor !== Array ? [isTypes] : isTypes;\r\n notTypes = notTypes && notTypes?.constructor !== Array ? [notTypes] : [];\r\n return notTypes.length < 1\r\n ? IS(input, ...isTypes) ? input : defaultValue\r\n : isExcept(input, {isTypes, notTypes}) ? input : defaultValue;\r\n }\r\n \r\n function isExcept(input, {isTypes = [undefined], notTypes = [undefined]} = {}) {\r\n isTypes = isTypes?.constructor !== Array ? [isTypes] : isTypes;\r\n notTypes = notTypes?.constructor !== Array ? [notTypes] : notTypes;\r\n return IS(input, ...isTypes) && !IS(input, ...notTypes);\r\n }\r\n}\r\n\r\nfunction AUXHelperFactory() {\r\n const SYMBOL_KEYS = {\r\n IS: 'toa.is',\r\n TYPE: 'toa.type',\r\n IS_SYMBOL: 'toa.isASymbol',\r\n PROXY: 'toa.proxyFor',\r\n TARGET: 'toa.target',\r\n };\r\n \r\n const TYPE_STRINGS = {\r\n NAN: 'NaN',\r\n INFINITY: 'Infinity',\r\n BOOLEAN: 'Boolean',\r\n OBJECT: 'Object',\r\n PROXY_PREFIX: 'Proxy for',\r\n JUSTME: 'justME',\r\n \r\n };\r\n const detectableProxy = detectableProxyFactory();\r\n \r\n return Object.freeze({\r\n SymbolAndCustomProxyFactory: addSymbolsFactory, maybeFactory, WrapAnyFactory,\r\n verifyNothingness, determineType, detectableProxy,\r\n }\r\n );\r\n \r\n function detectableProxyFactory() {\r\n const trapped = type => ({\r\n get(target, key) {\r\n return key === Symbol.proxy\r\n ? `Proxy for ${type}`\r\n : key === Symbol.target\r\n ? target : Reflect.get(target, key);\r\n },\r\n has(target, key) { return key === Symbol.proxy ? true : key in target; }\r\n });\r\n \r\n function wrapProxy(proxy2Wrap) {\r\n const type = proxy2Wrap.name || proxy2Wrap.constructor.name;\r\n return new Proxy( proxy2Wrap, trapped(type) );\r\n }\r\n \r\n function createDetectableProxy(target, traps) {\r\n traps = IS(traps, Object) ? traps : {};\r\n return wrapProxy(new Proxy(target, traps));\r\n }\r\n \r\n return {\r\n wrap: wrapProxy,\r\n create: createDetectableProxy\r\n };\r\n }\r\n \r\n function addSymbols2Anything(IS, typeOf) {\r\n if (!Symbol.is) {\r\n Symbol.is = Symbol.for(SYMBOL_KEYS.IS);\r\n Symbol.type = Symbol.for(SYMBOL_KEYS.TYPE);\r\n \r\n Object.defineProperties(Object.prototype, {\r\n [Symbol.type]: { get() { return typeOf(this); }, enumerable: false, configurable: true },\r\n [Symbol.is]: { value: function (...args) { return IS(this, ...args); }, enumerable: false, configurable: false },\r\n });\r\n Object.defineProperties(Object, {\r\n [Symbol.type]: { value(obj) { return typeOf(obj); }, enumerable: false, configurable: false },\r\n [Symbol.is]: { value: function (obj, ...args) { return IS(obj, ...args); }, enumerable: false, configurable: false },\r\n });\r\n }\r\n }\r\n \r\n function addSymbolsFactory(IS, typeOf, useSymbolicExtension) {\r\n if (!Symbol.isSymbol) {\r\n Symbol.isSymbol = Symbol.for(SYMBOL_KEYS.IS_SYMBOL);\r\n Symbol.proxy = Symbol.for(SYMBOL_KEYS.PROXY);\r\n Symbol.target = Symbol.for(SYMBOL_KEYS.target);\r\n Symbol.justME = Symbol.for(SYMBOL_KEYS.JUSTME);\r\n }\r\n return {addSymbolicExtensions: () => addSymbols2Anything(IS, typeOf)};\r\n }\r\n \r\n function constructor2String(obj) {\r\n const ctor = !isNothing(obj, true) ? Object.getPrototypeOf(obj)?.constructor : {name: `unknown`};\r\n return ctor.name;\r\n }\r\n \r\n function processInput(input, ...shouldBe) {\r\n const noShouldbe = shouldBe.length < 1;\r\n const noInput = input === undefined || input === null;\r\n \r\n return {\r\n noInput,\r\n noShouldbe,\r\n compareTo: !noShouldbe && shouldBe[0],\r\n inputCTOR: !noInput && (input?.constructor || Object.getPrototypeOf(input)?.constructor),\r\n isNaN: Number.isNaN(input) || maybe({trial: _ => String(input) === TYPE_STRINGS.NAN}),\r\n isInfinity: maybe({trial: _ => String(input)}) === TYPE_STRINGS.INFINITY,\r\n shouldBeFirstElementIsNothing: !noShouldbe && verifyNothingness(shouldBe[0])\r\n };\r\n }\r\n \r\n function determineType(input, ...shouldBe) {\r\n let { noInput, noShouldbe, compareTo, inputCTOR, isNaN, isInfinity, shouldBeFirstElementIsNothing } =\r\n processInput(input, ...shouldBe);\r\n shouldBe = shouldBe.length && shouldBe[0];\r\n \r\n switch (true) {\r\n case shouldBeFirstElementIsNothing: return String(input) === String(compareTo);\r\n case input?.[Symbol.proxy] && noShouldbe: return input[Symbol.proxy];\r\n case input?.[Symbol.proxy] && typeof shouldBe === `string`:\r\n return input[Symbol.proxy].toLowerCase() === shouldBe.toLowerCase();\r\n case isNaN: return noShouldbe ? TYPE_STRINGS.NAN : String(compareTo) === String(input);\r\n case isInfinity: return noShouldbe ? TYPE_STRINGS.INFINITY : String(compareTo) === String(input);\r\n case noInput: return noShouldbe ? String(input) : String(compareTo) === String(input);\r\n case inputCTOR === Boolean: return noShouldbe ? TYPE_STRINGS.BOOLEAN : inputCTOR === shouldBe;\r\n default: return getResult(input, shouldBe, noShouldbe, finalInputResolver(input, inputCTOR));\r\n }\r\n }\r\n \r\n function finalInputResolver(input, inputCTOR) {\r\n switch(true) {\r\n case input === 0: return Number;\r\n case input === ``: return String;\r\n case !input: return {name: String(input)};\r\n default: return inputCTOR;\r\n }\r\n }\r\n \r\n function getResult(input, compareWith, noShouldbe, maybeResult) {\r\n switch (true) {\r\n case (!noShouldbe && compareWith === input) || (input?.[Symbol.proxy] && compareWith === Proxy):\r\n return true;\r\n case String(compareWith) === TYPE_STRINGS.NAN:\r\n return String(input) === TYPE_STRINGS.NAN;\r\n case input?.[Symbol.toStringTag] && typeof compareWith === `string`:\r\n return String(compareWith) === input[Symbol.toStringTag];\r\n default:\r\n return compareWith ?\r\n resultWithComparison(input, compareWith, maybeResult) : resultWithoutComparison(input, maybeResult);\r\n }\r\n }\r\n \r\n function resultWithoutComparison(input, maybeResult) {\r\n const toStringTag = input?.[Symbol.toStringTag] ?? input?.prototype?.[Symbol.toStringTag];\r\n return toStringTag || maybeResult?.name || String(maybeResult);\r\n }\r\n \r\n function resultWithComparison(input, compareWith, maybeResult) {\r\n return maybe({trial: _ =>\r\n input instanceof compareWith}) ||\r\n compareWith === maybeResult ||\r\n compareWith === Object.getPrototypeOf(maybeResult) ||\r\n `${compareWith?.name}` === maybeResult?.name;\r\n }\r\n \r\n function WrapAnyFactory(IS, typeOf) {\r\n return function (someObj) {\r\n const wrapper = {\r\n get value() { return someObj; },\r\n is(...args) { return IS(someObj, ...args); },\r\n get type() { return typeOf(someObj); },\r\n };\r\n \r\n if (Object[Symbol.type]) {\r\n Object.defineProperties(wrapper, {\r\n [Symbol.type]: { get() { return typeOf(someObj);} },\r\n [Symbol.is]: { value(...args) { return IS(someObj, ...args); }}\r\n });\r\n }\r\n return Object.freeze(wrapper);\r\n }\r\n }\r\n \r\n function maybeFactory() {\r\n const errFn = err => undefined;\r\n return function({trial, whenError = errFn } = {}) {\r\n try { return trial(); } catch (err) { return whenError(err); }\r\n };\r\n }\r\n \r\n function verifyNothingness(maybeNothing, all = false) {\r\n let nada = maybeNothing === null || maybeNothing === undefined;\r\n nada = all ? nada || IS(maybeNothing, Infinity) || IS(maybeNothing, NaN) : nada;\r\n return nada;\r\n }\r\n}\r\n\r\nfunction typeCheckFactory() {\r\n const collate = new Intl.Collator(`en`, {sensitivity: 'base'});\r\n const nameOf = type2Check => {\r\n return typeof type2Check?.constructor === `function`\r\n ? type2Check?.name || type2Check?.constructor?.name\r\n : typeof type2Check === `string` ? type2Check : typeof type2Check;\r\n };\r\n const isNothing = obj => [null, undefined, Infinity, NaN].some(v => v === obj);\r\n \r\n function checkSingleType(obj, type2Check) {\r\n if (\r\n type2Check !== obj &&\r\n ( isNothing(obj) || type2Check === Number && (Number.isNaN(obj) || !Number.isFinite(obj)) )\r\n ) { return false; }\r\n const [objName, typeName] = [nameOf(obj), nameOf(type2Check)];\r\n \r\n return obj?.[Symbol.proxy] === type2Check ||\r\n type2Check === obj?.name ||\r\n 0 === collate.compare(objName, typeName) ||\r\n 0 === collate.compare(obj.constructor?.name, type2Check?.name) ||\r\n obj.constructor?.name === type2Check ||\r\n objName === type2Check ||\r\n 0 === collate.compare( Object.prototype.toString.call(obj), `[object ${typeName}]` );\r\n }\r\n \r\n return function checkType(obj, ...type2Check) {\r\n if (Array.isArray(type2Check) && type2Check.length > 1) {\r\n for (const chkType of type2Check) {\r\n if (checkSingleType(obj, chkType)) { return true; }\r\n }\r\n \r\n return false;\r\n }\r\n \r\n return checkSingleType(obj, type2Check?.[0]);\r\n }\r\n}\r\n", "let popupStyling = getPopupStyling();\r\nconst ATTRS = getAttrs();\r\nconst allTags = getPermissions();\r\nexport {popupStyling, ATTRS, allTags};\r\n\r\nfunction getAttrs() {\r\n return {\r\n 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`\r\n .split(`,`)),\r\n 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`\r\n .split(`,`)),\r\n };\r\n}\r\n\r\nfunction getPermissions() {\r\n return {a:true,area:true,audio:false,br:true,base:true,body:true,button:true,canvas:true,comment:true,dl:true,data:true,datalist:true,div:true,em:true, embed:false,fieldset:true,font:true,footer:true,form:false,hr:true,head:true,header:true,output:true,iframe:false,frameset:false,img:true,input:true,li:true,label:true,legend:true,link:true,map:true,mark:true,menu:true,media:true,meta:true,nav:true,meter:true,ol:true,object:false,optgroup:true,option:true,p:true,param:true,picture:true,pre:true,progress:false,quote:true,script:false,select:true,source:true,span:true,style:true,caption:true,td:true,col:true,table:true,tr:true,template:false,textarea:true,time:true,title:true,track:true,details:true,ul:true,video:true,del:true,ins:true,slot:true,blockquote:true,svg:true,dialog:true,summary:true,main:true,address:true,colgroup:true,tbody:true,tfoot:true,thead:true,th:true,dd:true,dt:true,figcaption:true,figure:true,i:true,b:true,code:true,h1:true,h2:true,h3:true,h4:true,abbr:true,bdo:true,dfn:true,kbd:true,q:true,rb:true,rp:true,rt:true,ruby:true,s:true,strike:true,samp:true,small:true,strong:true,sup:true,sub:true,u:true,var:true,wbr:true,nobr:true,tt:true,noscript:true};\r\n}\r\n\r\nfunction getPopupStyling() {\r\n return [\r\n \"::backdrop{background-color:grey;opacity:0.2;}\",\r\n \"#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;}}}\",\r\n \"@keyframes fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1, 1);display:flex;}}\",\r\n \"@keyframes fade-out{0%{opacity:1;transform:scale(1, 1);display:flex;}100%{opacity:0;transform:scale(0, 0);display:none;}}\",\r\n \"@keyframes warn-fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1,1 );display:block;}}\",\r\n \"@keyframes warn-fade-out{0%{opacity:1;transform:scale(1, 1);display:block;}100%{opacity:0;transform:scale(0, 0);display:none;}}\"\r\n ];\r\n}\r\n", "// Standalone available @ https://www.npmjs.com/package/tinydom-es\n// Src/helpers.js\nvar checkType = typeCheckFactory();\nvar maybe = maybeFactory();\nvar converts = { html: `innerHTML`, text: `textContent`, class: `className` };\nfunction typeCheckFactory() {\n const collate = new Intl.Collator(`en`, { sensitivity: \"base\" });\n const nameOf = (type2Check) => {\n return typeof type2Check?.constructor === `function` ? type2Check?.name || type2Check?.constructor?.name : typeof type2Check === `string` ? type2Check : typeof type2Check;\n };\n const isNothing = (obj) => [null, void 0, Infinity, NaN].some((v) => v === obj);\n function checkSingleType(obj, type2Check) {\n switch (true) {\n case (type2Check !== obj && (isNothing(obj) || type2Check === Number && (Number.isNaN(obj) || !Number.isFinite(obj)))):\n return false;\n default:\n const [objName, typeName] = [nameOf(obj), nameOf(type2Check)];\n return obj?.[Symbol.proxy] === type2Check || type2Check === obj?.name || 0 === collate.compare(objName, typeName) || 0 === collate.compare(obj.constructor?.name, type2Check?.name) || obj.constructor?.name === type2Check || objName === type2Check || 0 === collate.compare(Object.prototype.toString.call(obj), `[object ${typeName}]`);\n }\n }\n return function checkType2(obj, ...type2Check) {\n if (Array.isArray(type2Check) && type2Check.length > 1) {\n for (const chkType of type2Check) {\n if (checkSingleType(obj, chkType)) {\n return true;\n }\n }\n return false;\n }\n return checkSingleType(obj, type2Check?.[0]);\n };\n}\nfunction ucFirst([first, ...theRest]) {\n return `${first.toUpperCase()}${theRest.join(``)}`;\n}\nfunction toDashedNotation(str2Convert) {\n return str2Convert.replace(/[A-Z]/g, (a) => `-${a.toLowerCase()}`).replace(/^-|-$/, ``);\n}\nfunction toCamelcase(str2Convert) {\n return checkType(str2Convert, String) ? str2Convert.toLowerCase().split(`-`).map((str, i) => i && `${ucFirst(str)}` || str).join(``) : str2Convert;\n}\nfunction maybeFactory() {\n const errFn = (err) => void 0;\n return function({ trial, whenError = errFn } = {}) {\n try {\n return trial();\n } catch (err) {\n return whenError(err);\n }\n };\n}\nfunction cloneExact(elementFunctionCollection2) {\n return Object.fromEntries(\n Object.entries(Object.getOwnPropertyDescriptors(elementFunctionCollection2))\n );\n}\nfunction cleanupProps(props) {\n if (Object.keys(props).length < 1) {\n return { assignable: {}, specials: [...Array(3)] };\n }\n const specials = retrieveSpecialProps(props);\n Object.keys(props).forEach((key) => {\n const keyCI = key.toLowerCase();\n keyCI in converts && (props[converts[keyCI]] = props[key]) && delete props[key];\n });\n return { assignable: props, specials };\n}\nfunction retrieveSpecialProps(props) {\n props = checkType(props, Object) && props || void 0;\n if (!props) {\n return Array(3);\n }\n const data = Object.entries(props.data ?? {});\n const attributes = Object.entries(props.attributes ?? {});\n const classList = props.class?.split(/[ ,]/).map((v) => v.trim()).filter((v) => v.length > 1);\n delete props.data;\n delete props.attributes;\n delete props.class;\n return [data, attributes, classList];\n}\nfunction cleanupComment(initial) {\n return initial?.constructor === Comment ? initial?.textContent : String(initial);\n}\nfunction isComment(tag) {\n return /comment/i.test(tag);\n}\nfunction containsHTML(str, tag) {\n return !isComment(tag) && checkType(str, String) && /<.*>|&[#|0-9a-z]+[^;];/i.test(str);\n}\nfunction validateElementTagName(tagName) {\n tagName = tagName.toLowerCase();\n return typeof tagName === `string` && tagName.length > 0 && /^[a-z]/.test(tagName) && /^[a-z0-9-]+$/gi.test(tagName);\n}\nfunction validateTag(name, customElementRegistry2, createElement2) {\n return validateElementTagName(name) && (name in customElementRegistry2 || !checkType(createElement2(name), HTMLUnknownElement));\n}\n\n// Src/tinyDOM.js\nvar elementFunctionCollection = Object.create(null, {});\nvar customElementRegistry = Object.create(null, {});\nvar tagFunctionError = (tag) => {\n console.error(`tinyDOM error: \"${tag}\" is not a valid HTML tag`);\n return void 0;\n};\nvar tinyDOM_default = tinyDOM();\nfunction tinyDOM() {\n return Object.seal(new Proxy(elementFunctionCollection, proxyTraps()));\n}\nfunction proxyTraps() {\n return {\n get(tagFns, key) {\n const tag = String(key);\n switch (true) {\n case tag in tagFns:\n return tagFns[tag];\n case validateTag(tag, customElementRegistry, createElement):\n return createTagFunctionProperty({ tag, key });\n default:\n return createTagFunctionProperty({ tag, key, isError: true });\n }\n },\n set(tagFns, key, value) {\n if (key === `setError` && typeof value === \"function\") {\n tagFunctionError = value;\n }\n return true;\n },\n enumerable: false,\n configurable: false\n };\n}\nfunction createTagFunctionProperty({ tag, key, custom, debug = false, isError = false } = {}) {\n let unsealedElementFunctionCollection = cloneExact(elementFunctionCollection);\n if (isError) {\n Object.defineProperty(unsealedElementFunctionCollection, tag, {\n get() {\n return (_) => tagFunctionError(key) ?? ``;\n }\n });\n return reSeal(unsealedElementFunctionCollection, tag);\n }\n if (tag.includes(`-`)) {\n const [dashed, camel] = tag.includes(`-`) ? [tag, toCamelcase(tag)] : [toDashedNotation(tag), tag];\n customElementRegistry[dashed] = dashed;\n customElementRegistry[camel] = dashed;\n custom = camel;\n }\n if (!!custom) {\n Object.defineProperty(unsealedElementFunctionCollection, custom, {\n get() {\n return tag2FN(tag);\n }\n });\n }\n Object.defineProperty(unsealedElementFunctionCollection, tag, {\n get() {\n return tag2FN(tag);\n }\n });\n return reSeal(unsealedElementFunctionCollection, tag);\n}\nfunction reSeal(unsealedCollection, tag) {\n elementFunctionCollection = Object.seal(new Proxy(unsealedCollection, proxyTraps()));\n return elementFunctionCollection[tag];\n}\nfunction processNext(root, next, tagName) {\n next = next?.isJQx && next.node || (checkType(next, Number) ? String(next) : next);\n return maybe({\n trial: (_) => containsHTML(next) ? root.insertAdjacentHTML(`beforeend`, next) : root.append(next),\n whenError: (err) => console.info(`${tagName} not created, reason\n`, err)\n });\n}\nfunction tagFN(tagName, initial, ...nested) {\n const elem = retrieveElementFromInitial(initial, tagName);\n nested?.forEach((arg) => processNext(elem, arg, tagName));\n return elem;\n}\nfunction retrieveElementFromInitial(initial, tag) {\n initial = isComment(tag) ? cleanupComment(initial) : initial?.isJQx ? initial.node : initial;\n switch (true) {\n case checkType(initial, String):\n return createElement(tag, containsHTML(initial, tag) ? { html: initial } : { text: initial });\n case initial instanceof Node:\n return createElementAndAppend(tag, initial);\n default:\n return createElement(tag, initial);\n }\n}\nfunction createElementAndAppend(tag, element2Append) {\n const elem = createElement(tag);\n elem.append(element2Append);\n return elem;\n}\nfunction assignSpecialProps(specialProps, element) {\n const [data, attributes, classList] = specialProps;\n data?.length && data.forEach(([key, value]) => element.dataset[key] = value);\n attributes?.length && attributes.forEach(([key, value]) => element.setAttribute(key, value));\n classList?.forEach((value) => element.classList.add(value));\n}\nfunction createElement(tagName, props) {\n props = props || {};\n const { assignable, specials } = cleanupProps(props);\n const elem = Object.assign(\n isComment(tagName) ? new Comment() : document.createElement(tagName),\n assignable\n );\n assignSpecialProps(specials, elem);\n return elem;\n}\nfunction tag2FN(tagName) {\n tagName = customElementRegistry[tagName] ?? tagName;\n return (initial, ...args) => tagFN(tagName, initial, ...args);\n}\nexport {\n tinyDOM_default as default\n};\n", "import {default as IS} from \"./TypeofAnything.js\";\r\nexport default LifeStyleFactory;\r\n\r\n/* region factory */\r\nfunction LifeStyleFactory({styleSheet, createWithId} = {}) {\r\n const { tryParseAtOrNestedRules, ruleExists, checkParams,\r\n sheet, removeRules, consider, currentSheetID } = sheetHelpers({styleSheet, createWithId});\r\n\r\n function setRules4Selector(rule, properties) {\r\n if (rule && properties.removeProperties) {\r\n Object.keys(properties.removeProperties)\r\n .forEach( prop => rule.style.removeProperty(toDashedNotation(prop)) );\r\n return;\r\n }\r\n\r\n Object.entries(properties)\r\n .forEach( ([prop, value]) => {\r\n prop = toDashedNotation(prop.trim());\r\n value = value.trim();\r\n\r\n let priority;\r\n\r\n if (/!important/.test(value)) {\r\n value = value.slice(0, value.indexOf(`!important`)).trim();\r\n priority = `important`;\r\n }\r\n\r\n if (!CSS.supports(prop, value)) {\r\n return console.error(`StylingFactory ${currentSheetID} error: '${\r\n prop}' with value '${value}' not supported (yet)`);\r\n }\r\n\r\n tryAndCatch( () => rule.style.setProperty(prop, value, priority),\r\n `StylingFactory ${currentSheetID} (setRule4Selector) failed`);\r\n });\r\n }\r\n\r\n function setRules(selector, styleRules, sheetOrMediaRules = sheet) {\r\n selector = selector?.trim?.();\r\n if (!IS(selector, String) || !selector.length || /[;,]$/g.test(selector)) {\r\n return console.error(`StylingFactory ${currentSheetID} (setRules): [${\r\n selector || `[no selector given]` }] is not a valid selector`);\r\n }\r\n\r\n if (styleRules.removeRule) {\r\n return removeRules(selector);\r\n }\r\n\r\n const exists = ruleExists(selector, true);\r\n const rule4Selector = exists\r\n || sheetOrMediaRules.cssRules[sheetOrMediaRules.insertRule(`${selector} {}`, sheetOrMediaRules.cssRules.length || 0)];\r\n\r\n return consider( () => setRules4Selector(rule4Selector, styleRules), selector, exists );\r\n }\r\n\r\n function doParse(cssDeclarationString) {\r\n const rule = cssDeclarationString.trim().split(/{/, 2);\r\n const selector = rule.shift().trim();\r\n\r\n if (!IS(selector, String) || !selector?.trim()?.length) {\r\n return console.error(`StylingFactory ${currentSheetID} (doParse): no (valid) selector could be extracted from rule ${\r\n shortenRule(cssDeclarationString)}`);\r\n }\r\n\r\n const cssRules = cssRuleFromText(rule.shift());\r\n\r\n return tryAndCatch( () => setRules(selector, cssRules), `StylingFactory ${currentSheetID} (setRules) failed` );\r\n }\r\n\r\n function styleFromString(cssDeclarationString) {\r\n const checkAts = tryParseAtOrNestedRules(cssDeclarationString);\r\n return checkAts.done ? checkAts.existing : doParse(cssDeclarationString);\r\n }\r\n\r\n function styleFromObject(selector, rulesObj) {\r\n if (selector.trim().startsWith(`@media`)) {\r\n return styleFromString(atMedia2String(selector, rulesObj));\r\n }\r\n return setRules(selector, rulesObj);\r\n }\r\n\r\n return function(cssBlockOrSelector, rulesObj = {}) {\r\n const checksOk = checkParams(cssBlockOrSelector, rulesObj);\r\n\r\n return checksOk && (\r\n Object.keys(rulesObj).length ?\r\n styleFromObject(cssBlockOrSelector, rulesObj) :\r\n styleFromString(cssBlockOrSelector) );\r\n };\r\n}\r\n/* endregion factory */\r\n\r\n/* region helpers */\r\nfunction sheetHelpers({styleSheet, createWithId}) {\r\n const notification = `Note: The rule or some of its properties may not be supported by your browser (yet)`;\r\n const currentSheetID = `for style#${createWithId}`;\r\n styleSheet = createWithId ? retrieveOrCreateSheet(createWithId) : styleSheet;\r\n\r\n function retrieveOrCreateSheet(id) {\r\n const existingSheet = document.querySelector(`#${id}`)?.sheet;\r\n\r\n if (existingSheet) { return existingSheet; }\r\n\r\n const newSheet = Object.assign(document.createElement(`style`), { id });\r\n document.head.insertAdjacentElement(`beforeend`, newSheet);\r\n return newSheet.sheet;\r\n }\r\n\r\n function notSupported(rule) {\r\n console.error(`StylingFactory ${currentSheetID} [rule: ${rule}]\r\n => @charset, @namespace and @import are not supported here`);\r\n return {done: true};\r\n }\r\n\r\n function ruleExists(ruleFragOrSelector, isSelector) {\r\n return [...styleSheet.rules].find( r =>\r\n isSelector ?\r\n compareSelectors((r.selectorText || ``), ruleFragOrSelector) :\r\n createRE`${escape4RegExp(ruleFragOrSelector)}${[...`gim`]}`.test(r.cssText));\r\n }\r\n\r\n function tryParseAtOrNestedRules(cssDeclarationString) {\r\n if (/^@charset|@import|namespace/i.test(cssDeclarationString.trim())) {\r\n return notSupported(cssDeclarationString);\r\n }\r\n\r\n if (cssDeclarationString.match(/}/g)?.length > 1) {\r\n return {existing: tryParse(cssDeclarationString, 1), done: true}\r\n }\r\n\r\n return { done: false };\r\n }\r\n\r\n function removeRules(selector) {\r\n const rulesAt = [...styleSheet.cssRules].reduce( (acc, v, i) =>\r\n compareSelectors(v.selectorText || ``, selector) && acc.concat(i) || acc, [] );\r\n const len = rulesAt.length;\r\n rulesAt.forEach(idx => styleSheet.deleteRule(idx));\r\n\r\n return len > 0\r\n ? console.info(`\u2714 Removed ${len} instance${len > 1 ? `s` : ``} of selector ${\r\n selector} from ${currentSheetID.slice(4)}`)\r\n : console.info(`\u2714 Remove rule: selector ${selector} does not exist in ${\r\n currentSheetID.slice(4)}`);\r\n }\r\n\r\n function checkParams(cssBlockOrSelector, rulesObj) {\r\n return cssBlockOrSelector\r\n && IS(cssBlockOrSelector, String)\r\n && cssBlockOrSelector.trim().length > 0\r\n && IS(rulesObj, Object) ||\r\n (console.error(`StylingFactory ${currentSheetID} called with invalid parameters`), false);\r\n }\r\n\r\n function tryParse(cssDeclarationString) {\r\n cssDeclarationString = cssDeclarationString.trim();\r\n const rule = cssDeclarationString.slice(0, cssDeclarationString.indexOf(`{`)).trim();\r\n const exists = !!ruleExists(rule);\r\n\r\n try {\r\n return (styleSheet.insertRule(`${cssDeclarationString}`, styleSheet.cssRules.length), exists);\r\n } catch(err) {\r\n return (console.error(`StylingFactory ${currentSheetID} (tryParse) ${err.name} Error:\\n${\r\n err.message}\\nRule: ${\r\n shortenRule(cssDeclarationString)}\\n${\r\n notification}`),\r\n exists);\r\n }\r\n }\r\n\r\n function consider(fn, rule, existing) {\r\n try {\r\n return (fn(), existing);\r\n } catch(err) {\r\n return (\r\n console.error(`StylingFactory ${currentSheetID} (tryAddOrModify) ${err.name} Error:\\n${\r\n err.message}\\nRule: ${shortenRule(rule)}\\n${notification}`),\r\n existing\r\n );\r\n }\r\n }\r\n\r\n return {\r\n sheet: styleSheet, removeRules, tryParseAtOrNestedRules,\r\n ruleExists, checkParams, tryParse, consider,\r\n currentSheetID };\r\n}\r\n/* endregion helpers */\r\n\r\n/* region globalOrShared */\r\nfunction atMedia2String(selector, rulesObj) {\r\n return `${selector.trim()} ${\r\n Object.entries(rulesObj).map( ( [ selectr, rule] ) =>\r\n `${selectr}: { ${stringifyMediaRule(rule) }` ) }`;\r\n}\r\n\r\nfunction shortenRule(rule) {\r\n const shortRule = (rule || `NO RULE`).trim().slice(0, 50).replace(/\\n/g, `\\\\n`).replace(/\\s{2,}/g, ` `);\r\n return rule.length > shortRule.length ? `${shortRule.trim()}...truncated` : shortRule;\r\n}\r\n\r\nfunction stringifyMediaRule(mediaObj) {\r\n return Object.entries(mediaObj)\r\n .map( ([key, value]) => `${key}: ${value.trim()}`).join(`;\\n`);\r\n}\r\n\r\nfunction escape4RegExp(str) {\r\n return str.replace(/([*\\[\\]()-+{}.$?\\\\])/g, a => `\\\\${a}`);\r\n}\r\n\r\nfunction createRE(regexStr, ...args) {\r\n const flags = args.length && Array.isArray(args.slice(-1)) ? args.pop().join(``) : ``;\r\n\r\n return new RegExp(\r\n (args.length &&\r\n regexStr.raw.reduce( (a, v, i ) => a.concat(args[i-1] || ``).concat(v), ``) ||\r\n regexStr.raw.join(``))\r\n .split(`\\n`)\r\n .map( line => line.replace(/\\s|\\/\\/.*$/g, ``).trim().replace(/(@s!)/g, ` `) )\r\n .join(``), flags);\r\n}\r\n\r\nfunction toDashedNotation(str2Convert) {\r\n return str2Convert.replace(/[A-Z]/g, a => `-${a.toLowerCase()}`).replace(/[^--]^-|-$/, ``);\r\n}\r\n\r\nfunction tryAndCatch(fn, msg) {\r\n try { return fn(); }\r\n catch(err) { console.error( `${msg || `an error occured`}: ${err.message}` ); }\r\n}\r\n\r\nfunction prepareCssRuleFromText(rule) {\r\n return rule\r\n .replace(/\\/\\*.+?\\*\\//gm, ``)\r\n .replace(/[}{\\r\\n]/g, ``)\r\n .replace(/(data:.+?);/g, (_,b) => `${b}\\\\3b`)\r\n .split(`;`)\r\n .map(l => l.trim())\r\n .join(`;\\n`)\r\n .replaceAll(`\\\\3b`, `;`)\r\n .split(`\\n`);\r\n}\r\n\r\nfunction toRuleObject(preparedRule) {\r\n return preparedRule\r\n .reduce( (acc, v) => {\r\n const [key, value] = [\r\n v.slice(0, v.indexOf(`:`)).trim(),\r\n v.slice(v.indexOf(`:`) + 1).trim().replace(/;$|;.+(?=\\/*).+\\/$/, ``)];\r\n return key && value ? {...acc, [key]: value} : acc; }, {} );\r\n}\r\n\r\nfunction cssRuleFromText(rule) {\r\n return toRuleObject(prepareCssRuleFromText(rule));\r\n}\r\n\r\nfunction compareSelectors(s1, s2) {\r\n return s1?.replace(`::`, `:`) === s2?.replace(`::`, `:`);\r\n}\r\n/* endregion globalOrShared */\r\n", "import { allTags } from \"./EmbedResources.js\";\r\nimport { IS } from \"./Utilities.js\";\r\nlet lenient = false;\r\nconst allowUnknownHtmlTags = {\r\n on: () => lenient = true,\r\n off: () => lenient = false,\r\n};\r\nexport default {\r\n tagsRaw: allTags,\r\n allowUnknownHtmlTags,\r\n isAllowed(elem) {\r\n if (lenient) { return true; }\r\n const nodeName = IS(elem, String) ? elem.toLowerCase() : elem?.nodeName.toLowerCase() || `none`;\r\n return nodeName === `#text` || !!allTags[nodeName];\r\n },\r\n allowTag: tag2Allow => allTags[tag2Allow.toLowerCase()] = true,\r\n prohibitTag: tag2Prohibit => allTags[tag2Prohibit.toLowerCase()] = false,\r\n};\r\n", "import cleanupTagInfo from \"./HTMLTags.js\";\r\nimport {ATTRS, IS, truncate2SingleStr, escHtml, systemLog} from \"./Utilities.js\";\r\n\r\nlet logElementCreationErrors2Console = true;\r\nconst attrRegExpStore = {\r\n data: /data-[\\-\\w.\\p{L}]/ui, // data-* minimal 1 character after dash\r\n validURL: /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i,\r\n whiteSpace: /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g,\r\n notAllowedValues: /^javascript|injected|noreferrer|alert|DataURL/gi\r\n};\r\n\r\nfunction logContingentErrors(elCreationInfo) {\r\n if (logElementCreationErrors2Console && Object.keys(elCreationInfo.removed).length) {\r\n const msgs = Object.entries(elCreationInfo.removed)\r\n .reduce( (acc, [k, v]) => [...acc, `${escHtml(k)} => ${v}`], [])\r\n .join(`\\\\000A`);\r\n systemLog.error(`JQx: HTML creation error(s): ${msgs}`);\r\n }\r\n}\r\n\r\nfunction elementCheck(child) {\r\n const name = child.nodeName.toLowerCase();\r\n const notAllowedCustomElementNames = [\r\n `annotation-xml`, `color-profile`, `font-face`, `font-face-src`,\r\n `font-face-uri`, `font-face-format`, `font-face-name`, `missing-glyph` ];\r\n return /-/.test(name) && !notAllowedCustomElementNames.find(v => v === name) || cleanupTagInfo.isAllowed(name);\r\n}\r\n\r\nfunction cleanupHtml(el2Clean) {\r\n const elCreationInfo = {\r\n rawHTML: el2Clean?.parentElement?.getHTML() ?? `no html`,\r\n removed: { },\r\n }\r\n\r\n if (IS(el2Clean, HTMLElement)) {\r\n [...el2Clean.childNodes].forEach(child => {\r\n if (child?.children?.length) {\r\n cleanupHtml(child);\r\n }\r\n if (child?.attributes) {\r\n const attrStore = IS(child, SVGElement) ? ATTRS.svg : ATTRS.html;\r\n\r\n [...(child ?? {attributes: []}).attributes]\r\n .forEach(attr => {\r\n const name = attr.name.trim().toLowerCase();\r\n const value = attr.value.trim().toLowerCase().replace(attrRegExpStore.whiteSpace, ``);\r\n const evilValue = name === \"href\"\r\n ? !attrRegExpStore.validURL.test(value)\r\n : attrRegExpStore.notAllowedValues.test(value);\r\n const evilAttrib = name.startsWith(`data`) ? !attrRegExpStore.data.test(name) : !!attrStore[name];\r\n\r\n if (evilValue || evilAttrib) {\r\n let val = truncate2SingleStr(attr.value || `none`, 60);\r\n val += val.length === 60 ? `...` : ``;\r\n elCreationInfo.removed[`${attr.name}`] = `attribute/property/value not allowed, removed. Value: ${\r\n val}`;\r\n child.removeAttribute(attr.name);\r\n }\r\n });\r\n }\r\n\r\n const allowed = elementCheck(child) ||\r\n child.constructor === CharacterData ||\r\n child.constructor === Comment;\r\n\r\n if (!allowed) {\r\n const tag = (child?.outerHTML || child?.textContent).trim();\r\n let tagValue = truncate2SingleStr(tag, 60) ?? `EMPTY`;\r\n tagValue += tagValue.length === 60 ? `...` : ``;\r\n elCreationInfo.removed[`<${child.nodeName?.toLowerCase()}>`] = `not allowed, not rendered. Value: ${\r\n tagValue}`;\r\n child.remove();\r\n }\r\n });\r\n }\r\n logContingentErrors(elCreationInfo);\r\n\r\n return el2Clean;\r\n}\r\nconst emphasize = str => `***${str}***`;\r\nconst getRestricted = emphasizeTag =>\r\n Object.entries(cleanupTagInfo)\r\n .reduce((acc, [key, value]) =>\r\n !value.allowed &&\r\n [...acc, (emphasizeTag && key === emphasizeTag ? emphasize(key) : key)] ||\r\n acc, []);\r\n\r\nexport { cleanupHtml, getRestricted, ATTRS};\r\n", "import { cleanupHtml, getRestricted, } from \"./DOMCleanup.js\";\r\nimport {ATTRS, IS, insertPositions, isNode, truncateHtmlStr} from \"./Utilities.js\";\r\n\r\nexport {\r\n getRestricted, createElementFromHtmlString, element2DOM,\r\n cleanupHtml, inject2DOMTree, ATTRS\r\n};\r\n\r\nfunction htmlToVirtualElement(htmlString) {\r\n const placeholderNode = document.createElement(\"div\");\r\n placeholderNode.insertAdjacentHTML(insertPositions.end, htmlString);\r\n return placeholderNode.childNodes.length\r\n ? cleanupHtml(placeholderNode)\r\n : undefined;\r\n}\r\n\r\nfunction characterDataElement2DOM(elem, root, position) {\r\n switch(true) {\r\n case IS(elem, Comment): return root.insertAdjacentHTML(position, `<!--${elem.data}-->`);\r\n case IS(elem, Text): return root.insertAdjacentText(position, elem.data || elem.textContent);\r\n default: return;\r\n }\r\n}\r\n\r\nfunction inject2DOMTree( collection = [], root = document.body, position = insertPositions.BeforeEnd ) {\r\n position = position || insertPositions.BeforeEnd;\r\n root = root?.isJQx ? root.node : root || document.body;\r\n return collection.reduce( (acc, elem) => {\r\n const created = isNode(elem) && element2DOM(elem, root, position);\r\n return created ? [...acc, created] : acc;\r\n }, []);\r\n}\r\n\r\nfunction element2DOM(elem, root = document.body, position = insertPositions.BeforeEnd) {\r\n position = position || insertPositions.BeforeEnd;\r\n root = root?.isJQx ? root?.[0] : root;\r\n\r\n return IS(elem, Comment, Text)\r\n ? characterDataElement2DOM(elem, root, position)\r\n : IS(elem, HTMLElement) ? root.insertAdjacentElement(position, elem) : undefined;\r\n}\r\n\r\nfunction createElementFromHtmlString(htmlStrOrText) {\r\n if (IS(htmlStrOrText, Text, Comment)) {\r\n return htmlStrOrText;\r\n }\r\n \r\n const testStr = htmlStrOrText?.trim();\r\n let text = testStr?.split(/<text>|<\\/text>/i) ?? [];\r\n\r\n if (text?.length) {\r\n text = text.length > 1 ? text.filter(v => v.length).shift() : undefined;\r\n }\r\n\r\n if (testStr.startsWith(`<!--`) && testStr.endsWith(`-->`)) {\r\n return document.createComment(htmlStrOrText.replace(/<!--|-->$/g, ''));\r\n }\r\n \r\n if (!!text || (IS(testStr, String) && !/^<(.+)[^>]+>/m.test(testStr))) {\r\n return document.createTextNode(text ?? testStr);\r\n }\r\n\r\n const nwElem = htmlToVirtualElement(htmlStrOrText);\r\n\r\n if (nwElem.childNodes.length < 1) {\r\n return createElementFromHtmlString(`<span data-jqxcreationerror=\"1\">${truncateHtmlStr(htmlStrOrText, 60)}</span>`);\r\n }\r\n\r\n return nwElem.children[0];\r\n}\r\n", "import { popupStyling as styleRules } from \"./EmbedResources.js\";\r\n\r\nexport default function($) {\r\n if ($.node(`#jqxPopup`)) { return; }\r\n $.logger.log(`JQx: [JQx].Popup first call. Dialog element created.`);\r\n $.dialog({id: `jqxPopup`}, $.div({ id: \"jqxPopupContent\" })).render;\r\n $.editCssRules(...styleRules);\r\n let timers = [];\r\n const [popupContent, popupNode] = [$(`#jqxPopupContent`), $.node(`#jqxPopup`)];\r\n let currentProps = {};\r\n $.handle( {\r\n type: `click, cancel`,\r\n handlers: genericPopupCloseHandler,\r\n name: \"genericPopupCloseHandler\",\r\n capture: true,\r\n about: \"A generic handler for JQx popups\"} );\r\n return Object.freeze({show: initPopup, remove: initHidePopup, removeModal});\r\n\r\n function initPopup(props) {\r\n if (popupNode.open) {\r\n switch(true) {\r\n case isCurrent(props): return;\r\n default:\r\n initHidePopup();\r\n return setTimeout(() => initPopup(props), 200);\r\n }\r\n }\r\n \r\n currentProps = {...props};\r\n let {content} = currentProps;\r\n return !($.IS(content, String, HTMLElement) || content?.isJQx) ? true : showPopup();\r\n }\r\n\r\n function initHidePopup() {\r\n if (currentProps.modal) {\r\n return failModalClose(currentProps.warnMessage);\r\n }\r\n\r\n return hidePopup();\r\n }\r\n \r\n function isCurrent(props) {\r\n for (const [key, value] of Object.entries(currentProps)) {\r\n if (value !== props[key]) { return false; }\r\n }\r\n return true;\r\n }\r\n \r\n function showPopup() {\r\n popupContent.clear();\r\n let {content, modal, closeAfter} = currentProps;\r\n modal = $.IS(modal, Boolean) ? modal : false;\r\n const closerIcon = modal ? \"\" : $.div({ id: \"closeHandleIcon\"});\r\n popupContent.append(closerIcon, $.IS(content, String) ? $.div(content) : content);\r\n popupNode.showModal();\r\n if (!modal && $.IS(closeAfter, Number)) { createTimer(initHidePopup, closeAfter); }\r\n }\r\n\r\n function hidePopup() {\r\n popupNode.close(currentProps.returnValue);\r\n clearTimers();\r\n if ($.IS(currentProps.callback, Function)) {\r\n return timers.push(setTimeout(() => currentProps.callback(currentProps.returnValue), 200));\r\n }\r\n currentProps = {};\r\n }\r\n \r\n function clearTimers() {\r\n timers.forEach(timer => clearTimeout(timer));\r\n timers = [];\r\n }\r\n\r\n function removeModal({callback, value} = {}) {\r\n currentProps.returnValue = value;\r\n currentProps.modal = false;\r\n currentProps.callback = callback || currentProps.callback;\r\n initHidePopup();\r\n }\r\n\r\n function genericPopupCloseHandler({evt}) {\r\n if ( Object.keys(currentProps).length < 1 || !popupNode.open ) { return; }\r\n \r\n if (evt.type === `cancel` && currentProps.modal) { evt.preventDefault(); }\r\n \r\n if (evt.target.closest(`#closeHandleIcon`) || !evt.target.closest(`#jqxPopupContent`)) {\r\n currentProps.activeTimer && clearTimeout(currentProps.activeTimer);\r\n return initHidePopup();\r\n }\r\n }\r\n\r\n function createTimer(callback, seconds) {\r\n if ($.IS(callback, Function) && $.IS(seconds, Number) && seconds > 0) {\r\n clearTimers();\r\n timers.push(setTimeout(callback, seconds * 1000));\r\n }\r\n }\r\n\r\n function failModalClose(warnMessage) {\r\n if (!$.IS(warnMessage, String, HTMLElement) && !warnMessage.isJQx) { return; }\r\n let modalWarningBox = popupContent.find$(`.warn`);\r\n // note: fall through is intentional.\r\n switch(true) {\r\n case modalWarningBox.is.empty: modalWarningBox = $.div({class: `warn`}, warnMessage);\r\n default: popupContent.append(modalWarningBox.addClass(`active`));\r\n createTimer(() => popupContent.find$(`.warn`).removeClass(`active`), 2);\r\n }\r\n }\r\n}\r\n", "import {IS, isNonEmptyString, getCaptureValue, getHandlerName, handlerIdCache, systemLog} from \"./Utilities.js\";\r\n\r\nexport { HandlerFactory };\r\n\r\nfunction HandlerFactory(jqx) {\r\n const store = {};\r\n const anon = `anonymous_`;\r\n \r\n function setListener(listener) {\r\n if (listener) {\r\n const {handler, capture, type} = listener;\r\n document.addEventListener(type, handler, {capture});\r\n }\r\n }\r\n \r\n function removeListener(listener) {\r\n if (listener) {\r\n const {type, handler, capture} = listener;\r\n document.removeEventListener(type, handler, {capture});\r\n }\r\n }\r\n \r\n function wrapFn4Selector(fn, selector, once, handlerName) {\r\n return function(evt) {\r\n if (!isNonEmptyString(selector)) {\r\n return fn({evt});\r\n }\r\n \r\n const elemFound = evt.target.closest(selector);\r\n if (elemFound) {\r\n const me = jqx(elemFound);\r\n fn({self: me, me, evt}); // self is legacy\r\n // to avoid listener removal on capturing/bubbling,\r\n // once is handled manually\r\n if (once) { remove(evt.type, handlerName); }\r\n }\r\n return true;\r\n }\r\n }\r\n \r\n function storedEventType(eventType) {\r\n store[eventType] = store[eventType] || {};\r\n return store[eventType];\r\n }\r\n \r\n function retrieve(eventType, name) {\r\n return Object.entries(storedEventType(eventType))\r\n .find( ([key, ]) => key === name );\r\n }\r\n \r\n function remove(eventType, name) {\r\n const listener = retrieve(eventType, name);\r\n if (listener) {\r\n removeListener(listener[1]);\r\n delete store[eventType][name];\r\n delete handlerIdCache[name];\r\n \r\n systemLog.warn(`Removed listener [${name}] for event type [${eventType}].`);\r\n }\r\n }\r\n \r\n function storeHandler(spec) {\r\n let { type, handler, name, capture, once, selector, node, about } = spec;\r\n store[type] = store[type] || {};\r\n const handlerName = getHandlerName(name || handler.name);\r\n const initialHandler = handler;\r\n if (node instanceof HTMLElement) {\r\n // Note: for multiple event types dataset.hid may be defined already\r\n const handlerID = node.dataset.hid || handlerName;\r\n node.dataset.hid = handlerID;\r\n selector = `[data-hid=${handlerID}]`;\r\n }\r\n \r\n switch(true) {\r\n case !store[type][handlerName]:\r\n systemLog.log(`JQx: created listener for event type ${type}, with handler name ${handlerName}`);\r\n store[type][handlerName] = {\r\n name: handlerName,\r\n handler: wrapFn4Selector(handler, selector, once, handlerName),\r\n capture: getCaptureValue(type, capture),\r\n once: !!once,\r\n type: type,\r\n initialHandler,\r\n selector: !!selector && selector || false,\r\n about: !!about && about || false,\r\n unListen() { remove(type, handlerName); },\r\n };\r\n return store[type][handlerName];\r\n default: return console.warn(`The listener [${handlerName}] for [${\r\n type}] exists, it is not re-assigned.`);\r\n }\r\n }\r\n // todo: maybe enable a custom unListen handler\r\n return {\r\n remove(...args) { return remove(...args); },\r\n listen: function(spec) {\r\n const { type, handler } = spec;\r\n if ( !isNonEmptyString(type) || !IS(handler, Function) ) { return; }\r\n const nwHandler = storeHandler(spec);\r\n \r\n if (nwHandler) {\r\n setListener(nwHandler);\r\n return {\r\n type,\r\n name: nwHandler.name,\r\n unListen() { remove(type, nwHandler.name); },\r\n };\r\n }\r\n },\r\n get ListenerStore() { return Object.freeze({...store}); }\r\n };\r\n}\r\n", "import {default as IS, maybe, proxyWrapper, addSymbolicExtensions} from \"./TypeofAnything.js\";\r\nimport {ATTRS} from \"./EmbedResources.js\";\r\nimport {default as tagFNFactory} from \"./tinyDOM.js\";\r\nimport styleFactory from \"./LifeCSS.js\";\r\nimport {createElementFromHtmlString, inject2DOMTree, cleanupHtml} from \"./DOM.js\";\r\nimport PopupFactory from \"./Popup.js\";\r\nimport { HandlerFactory } from \"./HandlerFactory.js\";\r\nimport tagLib from \"./HTMLTags.js\";\r\naddSymbolicExtensions();\r\nconst systemLog = systemLogFactory();\r\nconst allwaysCaptureEventTypes = [\r\n `load`, `unload`, `scroll`, `focus`, `blur`, `DOMNodeRemovedFromDocument`,\r\n `DOMNodeInsertedIntoDocument`, `loadstart`, `progress`, `error`, `abort`,\r\n `load`, `loadend`, `pointerenter`, `pointerleave`, `readystatechange`];\r\nconst insertPositions = Object.freeze(new Proxy({\r\n start: \"afterbegin\", afterbegin: \"afterbegin\",\r\n end: \"beforeend\", beforeend: \"beforeend\",\r\n before: \"beforebegin\", beforebegin: \"beforebegin\",\r\n after: \"afterend\", afterend: \"afterend\" }, {\r\n get(obj, key) { return obj[String(key).toLowerCase()] ?? obj[key]; }\r\n}));\r\nconst characters4RandomString = [...Array(26)]\r\n .map((x, i) => String.fromCharCode(i + 65))\r\n .concat([...Array(26)].map((x, i) => String.fromCharCode(i + 97)))\r\n .concat([...Array(10)].map((x, i) => `${i}`));\r\nconst datasetKeyProxy = Object.freeze({\r\n get(obj, key) { return obj[toCamelcase(key)] || obj[key]; },\r\n enumerable: false,\r\n configurable: false\r\n});\r\nconst handlerIdCache = {};\r\n\r\nexport {\r\n after, applyStyle, assignAttrValues, ATTRS, beforeOrAfter, checkProp, cleanupHtml, clearAllTimers,\r\n cloneAndDestroy, convert2Bool, createElementFromHtmlString, datasetKeyProxy, ElemArray2HtmlString, emptyElement,\r\n escHtml, findParentScrollDistance, getAttributesForLogging, getCaptureValue, getHandlerName, HandlerFactory,\r\n handlerIdCache, inject2DOMTree, input2Collection, insertPositions, IS, isArrayOfHtmlElements, isArrayOfHtmlStrings,\r\n isComment, isCommentOrTextNode, isHtmlString, isModal, isNode, isNonEmptyString, isText, isVisible, isWritable,\r\n logTime, maybe, pad0,PopupFactory, proxyWrapper, randomNr, randomString, resolveEventTypeParameter, setData,\r\n styleFactory, systemLog, tagFNFactory, tagLib, toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr,\r\n ucFirst,\r\n};\r\n\r\nfunction clearAllTimers() {\r\n let id = setTimeout(() => {});\r\n while (id >= 0) { clearTimeout(id--); }\r\n}\r\n\r\nfunction getHandlerName(name) {\r\n const validName = isNonEmptyString(name) && !/^handler|handlers$/gi.test(name.trim())\r\n return validName ? name.trim() : uniqueHandlerID();\r\n}\r\n\r\nfunction getAttributesForLogging(instance) {\r\n const isElem = !!instance.node && !IS(instance, Text, Comment);\r\n switch(true) {\r\n case isElem:\r\n const dataset = instance.node.dataset ? Object.keys(instance.node.dataset)\r\n .map(v => `[data-${v}]`) : [];\r\n const relevantAttrs = [\r\n instance.attr(`id`) && `#${instance?.attr(`id`)}` || undefined,\r\n instance.attr(`class`) && instance?.attr(`class`).split(` `).map(v => `.${v}`).join(', ') || undefined,\r\n dataset.length > 0 && dataset.join(`, `) || undefined,\r\n ];\r\n const attrs = relevantAttrs.filter(v => !!v).join(`, `) || [];\r\n return attrs.length ? `(${attrs})` : ``;\r\n default: return ``;\r\n }\r\n}\r\n\r\nfunction uniqueHandlerID(idCache) {\r\n const anonID = `anonymous_${Math.random().toString(36).slice(2)}`;\r\n \r\n if (!handlerIdCache[anonID]) {\r\n handlerIdCache[anonID] = anonID;\r\n return anonID;\r\n }\r\n \r\n return uniqueHandlerID();\r\n}\r\n\r\nfunction getCaptureValue(eventType, captureValue) {\r\n return !!(allwaysCaptureEventTypes.find(t => t === eventType)) || !!captureValue;\r\n}\r\n\r\nfunction checkProp(prop) {\r\n return prop.startsWith(`data`) || ATTRS.html.find(attr => prop.toLowerCase() === attr);\r\n}\r\n\r\nfunction emptyElement(el) {\r\n return el && (el.textContent = \"\");\r\n}\r\n\r\nfunction findParentScrollDistance(node, distance = 0, top = true) {\r\n node = node?.parentElement;\r\n const what = top ? `scrollTop` : `scrollLeft`;\r\n distance += node ? node[what] : 0;\r\n return !node ? distance : findParentScrollDistance(node, distance, top);\r\n}\r\n\r\nfunction isNonEmptyString(str, minlen = 1) {\r\n minlen = IS(minlen, Number) && minlen || 1;\r\n return IS(str, String) && str.length >= minlen;\r\n}\r\n\r\nfunction truncate2SingleStr(str, maxLength = 120) {\r\n return truncateHtmlStr(str, maxLength).replace(/</g, `<`);\r\n}\r\n\r\nfunction truncateHtmlStr(str, maxLength = 120) {\r\n return `${str}`\r\n .trim()\r\n .slice(0, maxLength)\r\n .replace(/>\\s+</g, `><`)\r\n .replace(/</g, `<`)\r\n .replace(/\\s{2,}/g, ` `)\r\n .replace(/\\n/g, `\\\\n`) + (str.length > maxLength ? ` …` : ``).trim();\r\n}\r\n\r\nfunction escHtml(html) {\r\n switch(true) {\r\n case IS(html, String):\r\n const tmpDiv = document.createElement(\"div\");\r\n tmpDiv.append(html);\r\n return tmpDiv.innerHTML;\r\n default: return html;\r\n }\r\n}\r\n\r\n/* private */\r\nfunction decodeForConsole(something) {\r\n return IS(something, String) &&\r\n Object.assign(\r\n document.createElement(`textarea`),\r\n {innerHTML: something}).textContent || something;\r\n}\r\n\r\nfunction systemLogFactory() {\r\n let [on, disabled] = [false, true];\r\n \r\n const backLog = [];\r\n const systemLogger = {\r\n get on() { on = true; return systemLogger; },\r\n get off() { on = false; return systemLogger; },\r\n get disable() { disabled = true; return systemLogger; },\r\n get enable() { disabled = false; return systemLogger; },\r\n get backLog() { return backLog; },\r\n };\r\n \r\n function disable() {\r\n disabled = true;\r\n }\r\n \r\n function enable() {\r\n disabled = false;\r\n }\r\n \r\n function error(...args) {\r\n backLog.unshift(...args.map(arg => `${logTime()} \u2A3B ${decodeForConsole(arg)}`));\r\n console.error(backLog.slice(0, args.length).join(`\\n`));\r\n return systemLogger;\r\n }\r\n \r\n function warn(...args) {\r\n backLog.unshift(...args.map(arg => `${logTime()} \u26A0 ${decodeForConsole(arg)}`));\r\n console.warn(backLog.slice(0, args.length).join(`\\n`));\r\n return systemLogger;\r\n }\r\n \r\n function log(...args) {\r\n const entryTxt = args.map(arg => `${logTime()} \u2714 ${decodeForConsole(arg)}`);\r\n !disabled && backLog.unshift(...entryTxt);\r\n switch(on) {\r\n case true: console.log(entryTxt.join(`\\n`));\r\n default: return systemLogger;\r\n }\r\n }\r\n \r\n Object.defineProperties(systemLogger, {\r\n log: {value: log, enumerable: false},\r\n error: {value: error, enumerable: false},\r\n warn: {value: warn, enumerable: false},\r\n });\r\n \r\n return Object.freeze(systemLogger);\r\n}\r\n\r\nfunction logTime() {\r\n return ((d) =>\r\n `[${pad0(d.getHours())}:${pad0(d.getMinutes())}:${\r\n pad0(d.getSeconds())}.${pad0(d.getMilliseconds(), 3)}]`)(new Date());\r\n}\r\n\r\nfunction assignAttrValues(el, keyValuePairs) {\r\n if (el) {\r\n for (let [key, value] of Object.entries(keyValuePairs)) {\r\n key = toDashedNotation(key);\r\n if (key.startsWith(`data`)) {\r\n return setData(el, value);\r\n }\r\n \r\n if (IS(value, String) && checkProp(key)) {\r\n el.setAttribute(key, value.split(/[, ]/)?.join(` `));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction setData(el, keyValuePairs) {\r\n if (el && IS(keyValuePairs, Object)) {\r\n for (const [key, value] of Object.entries(keyValuePairs)) {\r\n el.setAttribute(`data-${toDashedNotation(key)}`, value);\r\n }\r\n }\r\n}\r\n\r\nfunction input2Collection(input) {\r\n return !input ? []\r\n : input.EL ? [input.EL]\r\n : IS(input, NodeList) ? [...input]\r\n : isNode(input) ? [input]\r\n : isArrayOfHtmlElements(input) ? input\r\n : input.isJQx ? input.collection : undefined;\r\n}\r\n\r\n\r\n\r\nfunction after(instance, elem2AddAfter) {\r\n return instance.andThen(elem2AddAfter);\r\n}\r\n\r\nfunction beforeOrAfter(instance, jqx, after = true, ...toAdd) {\r\n if (instance.is.empty) {\r\n systemLog.log(`[JQx instance].[before(Me) | after(Me) | andThen]: instance is empty.`, );\r\n return instance;\r\n }\r\n \r\n toAdd = toAdd.map(elem => elem.isJQx ? elem.node : IS(elem, String) ? jqx(elem).node ?? elem : elem );\r\n const noCando = toAdd.find(elem => !IS(elem, String, Element));\r\n \r\n if (noCando) {\r\n const bOrA = after ? `after` : `before`;\r\n systemLog.log(`[JQx instance].[${bOrA}(Me)]: invalid/-sufficient input.`, );\r\n return instance;\r\n }\r\n \r\n instance.node[after ? `after` : `before`](...toAdd);\r\n \r\n return instance;\r\n}\r\n\r\nfunction before(instance, elem2AddBefore) {\r\n return instance.andThen(elem2AddBefore, true);\r\n}\r\n\r\nfunction isNode(input) {\r\n return IS(input, Text, HTMLElement, Comment)\r\n}\r\n\r\nfunction applyStyle(el, rules) {\r\n if (IS(rules, Object)) {\r\n for (let [key, value] of Object.entries(rules)) {\r\n let priority;\r\n if (/!important/i.test(value)) {\r\n value = value.slice(0, value.indexOf(`!`)).trim();\r\n priority = 'important';\r\n }\r\n \r\n el.style.setProperty(toDashedNotation(key), value, priority)\r\n }\r\n }\r\n}\r\n\r\nfunction cloneAndDestroy(elem) {\r\n const cloned = elem.cloneNode(true)\r\n cloned.removeAttribute && cloned.removeAttribute(`id`);\r\n elem.isConnected ? elem.remove() : elem = null;\r\n return cloned;\r\n}\r\n\r\n\r\nfunction isVisible(el) {\r\n if (!IS(el, HTMLElement)) { return undefined; }\r\n const elStyle = el.style;\r\n const computedStyle = getComputedStyle(el);\r\n const invisible = !![elStyle.visibility, computedStyle.visibility].includes(\"hidden\");\r\n const noDisplay = !![elStyle.display, computedStyle.display].includes(\"none\");\r\n const hidden = !!el.hidden;\r\n const zeroHeightOrWidth = parseInt(computedStyle.height) < 1 || parseInt(computedStyle.width) < 1;\r\n const offscreen = el.offsetTop < 0 || (el.offsetLeft + el.offsetWidth) < 0\r\n || el.offsetLeft > document.body.offsetWidth;\r\n const noOpacity = +computedStyle.opacity === 0 || +(elStyle.opacity || 1) === 0;\r\n return !(hidden || offscreen || noOpacity || noDisplay || invisible || zeroHeightOrWidth);\r\n}\r\n\r\nfunction isWritable(elem) {\r\n if (elem?.isConnected) {\r\n return !![...document.querySelectorAll(`:is(:read-write)`)]\r\n .find(el => el === elem);\r\n }\r\n \r\n return false;\r\n}\r\n\r\nfunction ElemArray2HtmlString(elems) {\r\n return elems?.filter(el => el).reduce((acc, el) =>\r\n acc.concat(isComment(el) ? `<!--${el.data}-->`\r\n : isCommentOrTextNode(el) ? el.textContent\r\n : el.outerHTML), ``);\r\n}\r\n\r\n/* private */\r\nfunction pad0(nr, n=2) {\r\n return `${nr}`.padStart(n, `0`);\r\n}\r\n\r\nfunction randomNr(max, min = 0) {\r\n [max, min] = [Math.floor(max), Math.ceil(min)];\r\n return Math.floor( ([...crypto.getRandomValues(new Uint32Array(1))].shift() / 2 ** 32 ) * (max - min + 1) + min );\r\n}\r\n\r\nfunction randomString() {\r\n return `_${shuffle(characters4RandomString).slice(0, 8).join(``)}`;\r\n}\r\n\r\nfunction resolveEventTypeParameter (maybeTypes) {\r\n maybeTypes = IS(maybeTypes, String) && /,/.test(maybeTypes)\r\n ? maybeTypes\r\n .split(`,`)\r\n .map(t => t.trim().toLowerCase())\r\n .filter( t => t.length > 0)\r\n : maybeTypes;\r\n return IS(maybeTypes, Array)\r\n ? maybeTypes\r\n : IS(maybeTypes, String) && maybeTypes?.trim().toLowerCase() || ``;\r\n}\r\n\r\nfunction isModal(elem) {\r\n if (elem?.isConnected) {\r\n return !![...document.querySelectorAll(`:is(:modal)`)]\r\n .find(el => el === elem) ? true : false;\r\n }\r\n \r\n return false;\r\n}\r\n\r\nfunction convert2Bool(value, defaultValue) {\r\n // Valid input values: 0|false|f|1|true|t (case insensitive)\r\n value = String(value).trim();\r\n switch (true) {\r\n case /^(0|false|f)$/i.test(value):\r\n return false;\r\n case /^(1|true|t)$/i.test(value):\r\n return true;\r\n default:\r\n return defaultValue;\r\n }\r\n}\r\n\r\n/* private */\r\nfunction shuffle(array) {\r\n let i = array.length;\r\n while (i--) {\r\n const ri = randomNr(i);\r\n [array[i], array[ri]] = [array[ri], array[i]];\r\n }\r\n return array;\r\n}\r\n\r\nfunction toCamelcase(str2Convert) {\r\n return IS(str2Convert, String)\r\n ? str2Convert.toLowerCase()\r\n .split(`-`)\r\n .map( (str, i) => i && `${ucFirst(str)}` || str)\r\n .join(``)\r\n : str2Convert;\r\n}\r\n\r\nfunction toDashedNotation(str2Convert) {\r\n return str2Convert.replace(/[A-Z]/g, a => `-${a.toLowerCase()}`).replace(/^-|-$/, ``);\r\n}\r\n\r\nfunction ucFirst([first, ...theRest]) {\r\n return `${first.toUpperCase()}${theRest.join(``)}`;\r\n}\r\n\r\nfunction isCommentOrTextNode(node) {\r\n return IS(node, Comment, Text);\r\n}\r\n\r\nfunction isComment(input) {\r\n IS(input, Comment);\r\n}\r\n\r\nfunction isText(input) {\r\n return IS(input, Text);\r\n}\r\n\r\nfunction isHtmlString(input) {\r\n return IS(input, String) && /^<|>$/.test(`${input}`.trim());\r\n}\r\n\r\nfunction isArrayOfHtmlElements(input) {\r\n return IS(input, Array) && !input?.find(el => !isNode(el));\r\n}\r\n\r\nfunction isArrayOfHtmlStrings(input) {\r\n return IS(input, Array) && !input?.find(s => !isHtmlString(s));\r\n}\r\n", "import {\r\n after, applyStyle, assignAttrValues, beforeOrAfter, checkProp, cleanupHtml, clearAllTimers, cloneAndDestroy,\r\n convert2Bool, createElementFromHtmlString, datasetKeyProxy, ElemArray2HtmlString, emptyElement, escHtml,\r\n findParentScrollDistance, getAttributesForLogging, getHandlerName, HandlerFactory, inject2DOMTree, input2Collection,\r\n insertPositions, IS,isArrayOfHtmlElements, isArrayOfHtmlStrings, isComment, isCommentOrTextNode, isHtmlString, isModal,\r\n isNode, isNonEmptyString, isText, isVisible, isWritable, logTime, maybe, PopupFactory, proxyWrapper,\r\n randomNr, randomString, resolveEventTypeParameter, setData, styleFactory, systemLog, tagFNFactory, tagLib,\r\n toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr,\r\n} from \"../Resource/Common/Utilities.js\"\r\n\r\nexport {\r\n after, applyStyle, assignAttrValues, beforeOrAfter, checkProp, cleanupHtml, clearAllTimers, cloneAndDestroy,\r\n convert2Bool, createElementFromHtmlString, css, datasetKeyProxy, ElemArray2HtmlString, emptyElement, escHtml,\r\n ExamineElementFeatureFactory, findParentScrollDistance, getAttributesForLogging, getHandlerName, getNodeContentForLog,\r\n HandlerFactory, inject2DOMTree, input2Collection, insertPositions, IS, isArrayOfHtmlElements, isArrayOfHtmlStrings,\r\n isCommentOrTextNode, isHtmlString, isNode, isNonEmptyString, logTime, loop, maybe, PopupFactory, proxyWrapper,\r\n randomNr, randomString, resolveEventTypeParameter, selectedFactoryHelpers, setCollectionFromCssSelector, setData,\r\n styleFactory, systemLog, tagFNFactory, tagLib, toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr,\r\n};\r\n\r\nfunction loop(instance, callback) {\r\n const cleanCollection = instance.collection.filter(el => !isCommentOrTextNode(el));\r\n for (let i = 0; i < cleanCollection.length; i += 1) {\r\n callback(cleanCollection[i], i);\r\n }\r\n\r\n return instance;\r\n}\r\n\r\nfunction getNodeContentForLog(instance) {\r\n if (instance.node) {\r\n return IS(instance.node, Comment)\r\n ? `<!--${instance.node.textContent}-->`\r\n : instance.HTML.get(1).split(`>`)[0] + `>...`\r\n }\r\n return ``;\r\n}\r\n\r\nfunction setCollectionFromCssSelector(input, root, self) {\r\n const selectorRoot = root !== document.body && (IS(input, String) && input.toLowerCase() !== \"body\") ? root : document;\r\n if (!IS(input, String) || input.trim().length < 1) { return; }\r\n try { self.collection = [...selectorRoot.querySelectorAll(input)]; }\r\n catch (err) { systemLog.warn(`JQx: Invalid CSS querySelector. [${!IS(input, String) ? `Not a string!` : input}]`); }\r\n}\r\n\r\nfunction selectedFactoryHelpers() {\r\n return {\r\n isCommentOrTextNode, isNode, isComment, isText, isHtmlString, isArrayOfHtmlElements,\r\n isArrayOfHtmlStrings, ElemArray2HtmlString, input2Collection, setCollectionFromCssSelector,\r\n cssRuleEdit: styleFactory({createWithId: `JQxStylesheet`}) };\r\n}\r\n\r\nfunction ExamineElementFeatureFactory() {\r\n const notApplicable = `n/a`;\r\n const noElements = Object.freeze({\r\n notInDOM: notApplicable, writable: notApplicable, modal: notApplicable, empty: true,\r\n open: notApplicable, visible: notApplicable, });\r\n\r\n return self => {\r\n const firstElem = self.node;\r\n\r\n return IS(firstElem, Node)\r\n ? Object.freeze({\r\n get writable() {\r\n return isWritable(firstElem);\r\n },\r\n get modal() {\r\n return isModal(firstElem);\r\n },\r\n get inDOM() {\r\n return firstElem.isConnected;\r\n },\r\n get open() {\r\n return firstElem.open ?? false;\r\n },\r\n get visible() {\r\n return isVisible(firstElem);\r\n },\r\n get disabled() {\r\n return firstElem.hasAttribute(\"readonly\") || firstElem.hasAttribute(\"disabled\");\r\n },\r\n get empty() {\r\n return self.collection.length < 1;\r\n },\r\n get virtual() {\r\n return self.isVirtual;\r\n }\r\n })\r\n : noElements;\r\n };\r\n}\r\n\r\nfunction css(el, keyOrKvPairs, value, jqx) {\r\n if (value && IS(keyOrKvPairs, String)) {\r\n keyOrKvPairs = {[keyOrKvPairs]: value === \"-\" ? \"\" : value};\r\n }\r\n\r\n let nwClass = undefined;\r\n\r\n if (keyOrKvPairs.className) {\r\n nwClass = keyOrKvPairs.className;\r\n delete keyOrKvPairs.className;\r\n }\r\n\r\n const classExists = ([...el.classList].find(c => c.startsWith(`JQxClass-`) || nwClass && c === nwClass));\r\n nwClass = classExists || nwClass || `JQxClass-${randomString().slice(1)}`;\r\n jqx.editCssRule(`.${nwClass}`, keyOrKvPairs);\r\n el.classList.add(nwClass);\r\n}\r\n", "import {\r\n IS, isNode, ExamineElementFeatureFactory, beforeOrAfter,\r\n isNonEmptyString, toDashedNotation, escHtml, systemLog, insertPositions,\r\n datasetKeyProxy, loop, cloneAndDestroy, setData,\r\n findParentScrollDistance, emptyElement, checkProp, css, assignAttrValues,\r\n applyStyle, createElementFromHtmlString, inject2DOMTree,\r\n} from \"./JQxUtilities.js\";\r\n\r\nconst instanceIs = ExamineElementFeatureFactory();\r\n\r\nexport default function(jqx) {\r\n return {\r\n factoryExtensions: factoryExtensionsFactory(jqx),\r\n instanceExtensions: instanceExtensionsFactory(jqx),\r\n }\r\n};\r\n\r\nfunction factoryExtensionsFactory(jqx) {\r\n return {\r\n data(instance) {\r\n return {\r\n get all() {\r\n return new Proxy(instance[0]?.dataset ?? {}, datasetKeyProxy);\r\n },\r\n set(valuesObj = {}) {\r\n if (!instance.is.empty && IS(valuesObj, Object)) {\r\n for (const [key, value] of Object.entries(valuesObj)) {\r\n instance.setData({[key]: value});\r\n }\r\n }\r\n return instance;\r\n },\r\n get(key, whenUndefined) {\r\n return instance.data.all[key] ?? whenUndefined;\r\n },\r\n add(valuesObj = {}) {\r\n if (!instance.is.empty && IS(valuesObj, Object)) {\r\n for (const [key, value] of Object.entries(valuesObj)) {\r\n instance.setData({[key]: value});\r\n }\r\n }\r\n return instance;\r\n },\r\n remove(key) {\r\n instance[0]?.removeAttribute(`data-${toDashedNotation(key)}`);\r\n return instance;\r\n },\r\n };\r\n },\r\n dimensions(instance) {\r\n if (instance.is.empty) {\r\n systemLog.error(`[JQx instance].dimensions called on empty instance`);\r\n return { error: `[JQx instance].dimensions: NO ELEMENTS` };\r\n }\r\n let {node} = instance;\r\n const boundingRect = node.getBoundingClientRect().toJSON();\r\n boundingRect.scrollTopDistance = findParentScrollDistance(node, 0);\r\n boundingRect.scrollLeftDistance = findParentScrollDistance(node, 0, false);\r\n return boundingRect;\r\n },\r\n node(instance) { return instance[0]; },\r\n HTML(instance) {\r\n return {\r\n get(outer, escaped) {\r\n if (instance.is.empty) {\r\n return `NO ELEMENTS IN COLLECTION`;\r\n }\r\n const html = outer ? instance.outerHtml : instance.html();\r\n return escaped ? escHtml(html) : html;\r\n },\r\n set(content, append = false, escape = false) {\r\n content = content.isJQx ? content.HTML.get(1) : content;\r\n const isString = IS(content, String);\r\n content = isString && escape ? escHtml(content) : content;\r\n if (isString && (content || ``).trim().length) { instance.html(content, append); }\r\n return instance;\r\n },\r\n replace(content, escape = false) {\r\n return instance.HTML.set(content, false, escape);\r\n },\r\n append(content, escape = false) {\r\n content = IS(content, HTMLElement)\r\n ? jqx(content).HTML.get(1) : content.isJQx ? content.HTML.get(1) : content;\r\n return instance.HTML.set(content, true, escape);\r\n },\r\n insert(content, escape = false) {\r\n content = IS(content, HTMLElement)\r\n ? jqx(content).HTML.get(1) : content.isJQx ? content.HTML.get(1) : content;\r\n return instance.HTML.set(content + instance.HTML.get(), false, escape);\r\n },\r\n };\r\n },\r\n is(instance) { return instanceIs(instance); },\r\n length(instance) { return instance.collection.length; },\r\n outerHtml(instance) { return (instance.first() || {outerHTML: undefined}).outerHTML; },\r\n parent(instance) {\r\n const maybeParent = jqx(instance[0]?.parentNode);\r\n return !maybeParent.is.empty ? maybeParent : instance;\r\n },\r\n render(instance) {\r\n switch(true) {\r\n case !instance.is.empty: return instance.toDOM();\r\n default:\r\n jqx.logger.warn(`[JQx.render]: empty collection`);\r\n return instance;\r\n }\r\n },\r\n Style(instance) {\r\n return {\r\n get computed() { return !instance.is.empty ? getComputedStyle(instance[0]) : {}; },\r\n inline(styleObj) {\r\n return instance.style(styleObj);\r\n },\r\n inSheet(styleObj) {\r\n return instance.css(styleObj)\r\n },\r\n valueOf(key) {\r\n return !instance.is.empty ? getComputedStyle(instance[0])[toDashedNotation(key)] : undefined;\r\n },\r\n nwRule(rule) {\r\n return instance.Style.byRule({rules: rule})\r\n },\r\n byRule({classes2Apply = [], rules = []} = {}) {\r\n const isSingleRule = IS(rules, String);\r\n const addClassNameOrID = isSingleRule && !classes2Apply.length ? rules.split(`{`)[0].trim() : ``;\r\n rules = rules && IS(rules, String) ? [rules] : rules;\r\n classes2Apply = classes2Apply && IS(classes2Apply, String) ? [classes2Apply] : classes2Apply;\r\n \r\n if (rules?.length || classes2Apply?.length) {\r\n rules?.length && jqx.editCssRules(...rules);\r\n \r\n if (classes2Apply) {\r\n for(const selector of classes2Apply) { instance.addClass(selector); }\r\n }\r\n }\r\n \r\n if (addClassNameOrID?.startsWith(`.`)) {\r\n instance.addClass(addClassNameOrID.slice(1));\r\n }\r\n \r\n if (addClassNameOrID?.startsWith(`#`) && !instance.attr(`id`)) {\r\n instance.prop({id: addClassNameOrID.slice(1)});\r\n }\r\n \r\n return instance;\r\n },\r\n };\r\n }\r\n }\r\n}\r\n\r\nfunction instanceExtensionsFactory(jqx) {\r\n return {\r\n addClass(instance, ...classNames) {\r\n return loop(instance, el => el && classNames.forEach(cn => el.classList.add(cn)));\r\n },\r\n after(instance, ...elems) { return beforeOrAfter(instance, jqx, true, ...elems); },\r\n afterMe(instance, ...elems) { return beforeOrAfter(instance, jqx, true, ...elems); },\r\n andThen(instance, ...elems) { return beforeOrAfter(instance, jqx, true, ...elems); },\r\n append(instance, ...elems2Append) {\r\n if (instance.is.empty || elems2Append.length < 1) { return instance;}\r\n const shouldMove = instance.length === 1;\r\n for (let elem2Append of elems2Append) {\r\n if (!elem2Append.isJQx && isNonEmptyString(elem2Append)) {\r\n const elem2Append4Test = elem2Append.trim();\r\n const isPlainString = !/^<(.+)[^>]+>$/m.test(elem2Append4Test);\r\n let toAppend = isPlainString ? jqx.text(elem2Append) : createElementFromHtmlString(elem2Append);\r\n loop(instance, el => el.append(shouldMove ? toAppend : cloneAndDestroy(toAppend)));\r\n }\r\n\r\n if (isNode(elem2Append)) {\r\n loop(instance, el => el.append(shouldMove ? elem2Append : cloneAndDestroy(elem2Append)));\r\n }\r\n\r\n if (elem2Append.isJQx && !elem2Append.is.empty) {\r\n loop(instance, el =>\r\n elem2Append.collection.forEach(elem =>\r\n el.append(shouldMove ? elem : cloneAndDestroy(elem)))\r\n );\r\n }\r\n }\r\n return instance;\r\n },\r\n appendTo(instance, appendTo) {\r\n appendTo = typeof appendTo === `string` ? jqx(appendTo) : appendTo;\r\n switch(true) {\r\n case !appendTo?.isJQx && !IS(appendTo, HTMLElement) || appendTo?.collection?.length < 1:\r\n jqx.warn(`[JQx instance].appendTo: invalid input`);\r\n return instance;\r\n default:\r\n (!appendTo.isJQx ? jqx(appendTo) : appendTo).append(instance);\r\n return instance;\r\n }\r\n },\r\n attr(instance, keyOrObj, value) {\r\n if (!instance.node || IS(instance.node, Text, Comment)) { return instance }\r\n\r\n if (!value && isNonEmptyString(keyOrObj)) {\r\n keyOrObj = toDashedNotation(keyOrObj);\r\n\r\n if (keyOrObj === `class`) {\r\n return [...instance.node.classList]?.join(` `);\r\n }\r\n \r\n return instance.node.getAttribute(keyOrObj);\r\n }\r\n\r\n if (isNonEmptyString(keyOrObj) && value) {\r\n keyOrObj = toDashedNotation(keyOrObj);\r\n\r\n switch(true) {\r\n case keyOrObj.startsWith(`data-`):\r\n keyOrObj = { data: {[keyOrObj.replace(`data-`, ``)]: value } };\r\n break;\r\n default: keyOrObj = { [keyOrObj]: value };\r\n }\r\n }\r\n\r\n if (IS(keyOrObj, Object) && !instance.is.empty) {\r\n assignAttrValues(instance.node, keyOrObj);\r\n }\r\n\r\n return instance;\r\n },\r\n before(instance, ...elems) {\r\n return beforeOrAfter(instance, jqx, false, ...elems);\r\n },\r\n beforeMe(instance, ...elems) {\r\n beforeOrAfter(instance, jqx, false, ...elems)\r\n },\r\n clear(instance) { return loop(instance, emptyElement); },\r\n closest(instance, selector) {\r\n const theClosest = isNonEmptyString(selector) ? instance.node?.closest(selector) : undefined;\r\n return theClosest ? jqx(theClosest) : instance;\r\n },\r\n computedStyle(instance, property) {\r\n const {node} = instance;\r\n return node && getComputedStyle(node)[property];\r\n },\r\n css(instance, keyOrKvPairs, value) {\r\n return loop(instance, el => css(el, keyOrKvPairs, value, jqx));\r\n },\r\n duplicate(instance, toDOM = false, root = document.body) {\r\n switch(true) {\r\n case instance.is.empty:\r\n systemLog.error(`Duplicating an empty JQx instance is not possible`)\r\n return instance;\r\n default:\r\n const clone = instance.collection[0].cloneNode(true);\r\n clone.childNodes.forEach((node) => { node.removeAttribute && node?.removeAttribute(`id`) });\r\n return toDOM ? jqx(clone).toDOM(root) : jqx.virtual(clone);\r\n }\r\n },\r\n each(instance, cb) { return loop(instance, cb); },\r\n empty(instance) { return loop(instance, emptyElement); },\r\n find(instance, selector) {\r\n return instance.collection.length > 0 ? [...instance.first()?.querySelectorAll(selector)] : [];\r\n },\r\n find$(instance, selector) {\r\n return instance.collection.length > 0 ? jqx(selector, instance) : instance;\r\n },\r\n first(instance, asJQxInstance = false) {\r\n return instance.collection.length > 0\r\n ? asJQxInstance ? instance.single() : instance.collection[0]\r\n : undefined;\r\n },\r\n first$(instance, indexOrSelector) {\r\n return instance.single(indexOrSelector);\r\n },\r\n getData(instance, dataAttribute, valueWhenFalsy) {\r\n return instance.node?.dataset?.[dataAttribute] || valueWhenFalsy;\r\n },\r\n hasClass(instance, ...classNames) {\r\n return instance.is.empty || !instance.node.classList.length\r\n ? false\r\n : classNames.find(cn => instance.node.classList.contains(cn)) && true || false;\r\n },\r\n hide(instance) { return loop(instance, el => applyStyle(el, {display: `none !important`})); },\r\n html(instance, htmlValue, append) {\r\n switch(true) {\r\n case instance.is.empty && !isNonEmptyString(htmlValue): return \"\";\r\n case !isNonEmptyString(htmlValue): return instance.node?.getHTML() ?? ``;\r\n default:\r\n const nwElement = createElementFromHtmlString(\r\n `<div>${htmlValue.isJQx ? htmlValue.HTML.get(true) : htmlValue}</div>` );\r\n const cb = el => {\r\n el.textContent = !append ? `` : el.textContent;\r\n return el.insertAdjacentHTML(jqx.at.end, nwElement.getHTML());\r\n }\r\n return loop(instance, cb);\r\n }\r\n },\r\n htmlFor(instance, forSelector, htmlString = \"\", append = false) {\r\n if (instance.is.empty || !isNonEmptyString(forSelector) || !isNonEmptyString(htmlString)) { return instance; }\r\n const el2Change = instance.find$(forSelector);\r\n if (el2Change.length < 1) { return instance; }\r\n const nwElement = createElementFromHtmlString(`<span>${htmlString}</span>`);\r\n el2Change.each(el => {\r\n if (!append) { el.textContent = ``; }\r\n el.insertAdjacentHTML(jqx.at.end, nwElement?.getHTML());\r\n });\r\n\r\n return instance;\r\n },\r\n isEmpty(instance) { return !!!instance.node; },\r\n nth$(instance, indexOrSelector) { return instance.single(indexOrSelector); },\r\n on(instance, type, ...callback) {\r\n switch(true) {\r\n case instance.is.empty || !IS(type, String, Array) || !isNonEmptyString(type) || callback.length < 1:\r\n return instance;\r\n default: jqx.handle({type, node: instance.node, handler: callback});\r\n return instance;\r\n }\r\n },\r\n once(instance, type, ...callback) {\r\n switch(true) {\r\n case instance.is.empty || !IS(type, String, Array) || !isNonEmptyString(type) || callback.length < 1:\r\n return instance;\r\n default:\r\n jqx.handle({type, once: true, node: instance.node, handler: callback});\r\n return instance\r\n }\r\n },\r\n prepend(instance, ...elems2Prepend) {\r\n if (instance.is.empty || !elems2Prepend) { return; }\r\n const shouldMove = instance.length === 1;\r\n\r\n for (let elem2Prepend of elems2Prepend) {\r\n if (isNonEmptyString(elem2Prepend)) {\r\n elem2Prepend = elem2Prepend.trim();\r\n const isPlainString = !/^<(.+)[^>]+>$/m.test(elem2Prepend);\r\n let toPrepend = isPlainString ? jqx.text(elem2Prepend) : createElementFromHtmlString(elem2Prepend);\r\n toPrepend = shouldMove ? toPrepend : cloneAndDestroy(toPrepend);\r\n loop(instance, el => el.prepend(toPrepend.cloneNode(true)));\r\n }\r\n\r\n if (isNode(elem2Prepend)) {\r\n loop(instance, el => el.prepend(shouldMove ? elem2Prepend : cloneAndDestroy(elem2Prepend)));\r\n }\r\n\r\n if (elem2Prepend.isJQx && !elem2Prepend.is.empty) {\r\n elem2Prepend.collection.length > 1 && elem2Prepend.collection.reverse();\r\n loop(instance, el => loop( elem2Prepend, elem => el.prepend(shouldMove ? elem : cloneAndDestroy(elem)) ) );\r\n elem2Prepend.collection.reverse();\r\n }\r\n }\r\n \r\n return instance;\r\n },\r\n prependTo(instance, prependTo) {\r\n prependTo = typeof prependTo === `string` ? jqx(prependTo) : prependTo;\r\n switch(true) {\r\n case !prependTo?.isJQx && !IS(prependTo, HTMLElement) || prependTo?.collection?.length < 1:\r\n jqx.warn(`[JQx instance].appendTo: invalid input`);\r\n return instance;\r\n default:\r\n (!prependTo.isJQx ? jqx(prependTo) : prependTo).prepend(instance);\r\n return instance;\r\n }\r\n },\r\n prop(instance, nameOrProperties, value) {\r\n if (IS(nameOrProperties, String) && !value) {\r\n return nameOrProperties.startsWith(`data`)\r\n ? instance[0]?.dataset[nameOrProperties.slice(nameOrProperties.indexOf(`-`)+1)]\r\n : instance[0]?.[nameOrProperties];\r\n }\r\n\r\n const props = !IS(nameOrProperties, Object) ? { [nameOrProperties]: value } : nameOrProperties;\r\n for (let [propName, propValue] of Object.entries(props)) {\r\n propName = propName.trim();\r\n\r\n if (propValue && !checkProp(propName) || !propValue) {\r\n return false;\r\n }\r\n\r\n const isId = propName.toLowerCase() === `id`;\r\n\r\n if (isId) { return instance[0].id = propValue; }\r\n\r\n loop(instance, el => {\r\n if (propName.startsWith(`data`)) {\r\n return el.dataset[propName.slice(propName.indexOf(`-`)+1)] = propValue;\r\n }\r\n\r\n el[propName] = propValue;\r\n });\r\n }\r\n\r\n return instance;\r\n },\r\n remove(instance, selector) {\r\n const remover = el => el.remove();\r\n const removeFromCollection = () =>\r\n instance.collection = instance.collection.filter(el => document.documentElement.contains(el));\r\n\r\n if (selector) {\r\n const selectedElements = instance.find$(selector);\r\n if (!selectedElements.is.empty) {\r\n loop(selectedElements, remover);\r\n removeFromCollection();\r\n }\r\n return instance;\r\n }\r\n loop(instance, remover);\r\n removeFromCollection();\r\n return instance;\r\n },\r\n rmAttr(instance, ...attrNames) {\r\n for (const attr of attrNames) { instance.node.removeAttribute(attr); }\r\n return instance;\r\n },\r\n removeClass(instance, ...classNames) {\r\n return loop(instance, el => { if (el) { for (const cn of classNames) { el.classList.remove(cn); } } });\r\n },\r\n renderTo(instance, root, position) {\r\n root = IS(root, HTMLElement) || root.isJQx ? root : document.body;\r\n position = IS(position, String) && jqx.at[position] ? position : jqx.at.end;\r\n instance.first$().toDOM(root, position);\r\n return instance;\r\n },\r\n replace(instance, oldChild, newChild) {\r\n const firstElem = instance.node;\r\n\r\n if (!oldChild || (!IS(newChild, HTMLElement) && !newChild?.isJQx)) {\r\n jqx.logger.error(`JQx replace: invalid replacement value`);\r\n return instance;\r\n }\r\n\r\n if (newChild.isJQx || IS(newChild, NodeList)) {\r\n newChild = newChild[0];\r\n }\r\n\r\n if (firstElem && oldChild) {\r\n oldChild = IS(oldChild, String)\r\n ? firstElem.querySelectorAll(oldChild)\r\n : oldChild.isJQx\r\n ? oldChild.collection\r\n : oldChild;\r\n\r\n if (IS(oldChild, HTMLElement, NodeList, Array) && IS(newChild, HTMLElement)) {\r\n (IS(oldChild, HTMLElement) ? [oldChild] : [...oldChild])\r\n .forEach(chld => chld.replaceWith(newChild.cloneNode(true)));\r\n }\r\n }\r\n\r\n return instance;\r\n },\r\n replaceClass(instance, className, ...nwClassNames) {\r\n return loop( instance, el => {\r\n el.classList.remove(className);\r\n for (const name of nwClassNames) { el.classList.add(name); }\r\n } )\r\n },\r\n replaceMe(instance, newChild) {\r\n /*NODOC*/ return instance.replaceWith(newChild);\r\n },\r\n replaceWith(instance, newChild) {\r\n newChild = IS(newChild, Element) ? newChild : newChild.isJQx ? newChild[0] : undefined;\r\n\r\n if (newChild) {\r\n instance[0].replaceWith(newChild);\r\n instance = jqx.virtual(newChild);\r\n }\r\n\r\n return instance;\r\n },\r\n setData(instance, spec) {\r\n return loop(instance, el => setData(el, spec));\r\n },\r\n show(instance) {\r\n return loop(instance, el => applyStyle(el, {display: `revert-layer !important`}));\r\n },\r\n single(instance, indexOrSelector) {\r\n const hasNodes = instance.collection.length > 0;\r\n indexOrSelector = indexOrSelector ?? 0;\r\n \r\n switch(true) {\r\n case hasNodes && IS(indexOrSelector, String):\r\n return instance.find$(indexOrSelector);\r\n case hasNodes && IS(indexOrSelector, Number):\r\n return jqx(instance.collection[indexOrSelector]);\r\n case hasNodes: return instance.collection[0];\r\n default: return instance;\r\n }\r\n },\r\n style(instance, keyOrKvPairs, value) {\r\n const loopCollectionLambda = el => {\r\n if (value && IS(keyOrKvPairs, String)) {\r\n keyOrKvPairs = { [keyOrKvPairs]: value || `none` };\r\n }\r\n applyStyle(el, keyOrKvPairs);\r\n };\r\n return loop(instance, loopCollectionLambda);\r\n },\r\n text(instance, textValue, append = false) {\r\n switch(true) {\r\n case instance.isEmpty(): return instance;\r\n case !IS(textValue, String): return instance.node.textContent;\r\n default: return loop(instance, el => el.textContent = append ? el.textContent + textValue : textValue);\r\n }\r\n },\r\n toDOM(instance, root = document.body, position = insertPositions.BeforeEnd) {\r\n instance.isVirtual = false;\r\n inject2DOMTree(instance.collection, root, position);\r\n return instance;\r\n },\r\n toggleClass(instance, className) {\r\n return loop(instance, el => el.classList.toggle(className));\r\n },\r\n toNodeList(instance) {\r\n return [...instance.collection].map(el => document.importNode(el, true));\r\n },\r\n trigger(instance, evtType, SpecifiedEvent, options) {\r\n SpecifiedEvent = IS(SpecifiedEvent, Function) ? SpecifiedEvent : Event;\r\n options = IS(options, Object) ? { ...options, bubbles: options.bubbles??true} : {bubbles: true};\r\n const evObj = new SpecifiedEvent( evtType, options );\r\n \r\n if (!instance.is.empty) {\r\n instance.each(el => el.dispatchEvent(evObj));\r\n }\r\n \r\n return instance;\r\n },\r\n val(instance, newValue) {\r\n switch(true) {\r\n case instance.is.empty || !IS(instance.node, HTMLInputElement, HTMLSelectElement, HTMLTextAreaElement):\r\n return instance;\r\n case !IS(newValue, String):\r\n return instance.node.value;\r\n default:\r\n instance.node.value = !IS(newValue, String) ? \"\" : newValue;\r\n return instance;\r\n }\r\n },\r\n };\r\n}\r\n", "import {\r\n cleanupHtml,\r\n clearAllTimers,\r\n convert2Bool,\r\n escHtml,\r\n getAttributesForLogging,\r\n HandlerFactory,\r\n insertPositions,\r\n IS,\r\n isNonEmptyString,\r\n maybe,\r\n PopupFactory,\r\n proxyWrapper,\r\n randomString,\r\n resolveEventTypeParameter,\r\n selectedFactoryHelpers,\r\n styleFactory,\r\n systemLog,\r\n tagFNFactory as $T,\r\n tagLib,\r\n toCamelcase,\r\n toDashedNotation,\r\n} from \"./JQxUtilities.js\";\r\nimport allMethodsFactory from \"./JQxInstanceMethods.js\";\r\n\r\nlet instanceGetters, instanceMethods;\r\nconst {\r\n isComment, isText, isHtmlString, isArrayOfHtmlElements, isArrayOfHtmlStrings,\r\n ElemArray2HtmlString, cssRuleEdit, addFn\r\n} = selectedUtilitiesFactory();\r\n\r\nexport { proxify, addJQxStaticMethods };\r\n\r\nfunction selectedUtilitiesFactory() {\r\n return {\r\n ...selectedFactoryHelpers(),\r\n addFn: addFnMethod };\r\n}\r\n\r\nfunction addFnMethod(name, extensionMethod) {\r\n name = name?.trim();\r\n \r\n if (!isNonEmptyString(name) || !IS(extensionMethod, Function) ) {\r\n return systemLog.error(\"JQx.fn: method invalid parameter(s)\");\r\n }\r\n \r\n instanceMethods[name] = (self, ...params) => extensionMethod(self, ...params);\r\n return systemLog.log(`JQx: added extension function [${name}]`);\r\n}\r\n\r\nfunction staticFNMethodFactory(jqx) {\r\n return function(name, extensionMethod, isGetter){\r\n name = name?.trim();\r\n if (!isNonEmptyString(name) || !IS(extensionMethod, Function) ) {\r\n return jqx.error(\"JQx.staticFn: invalid parameter(s)\");\r\n }\r\n const ext = isGetter\r\n ? { get() { return extensionMethod(); } }\r\n : { value(...args) { return extensionMethod(...args); } };\r\n \r\n try { Object.defineProperty(jqx, name, ext); }\r\n catch(err) {\r\n return jqx.warn(`JQx.staticFn: extension [${name}] already exists`);\r\n }\r\n \r\n return systemLog.log(`JQx: added static extension function [${name}]`);\r\n }\r\n}\r\n\r\nfunction proxify(instance) {\r\n return new Proxy(\r\n instance, { get: (target, key) => proxyTrapFactory(target, key, instance) }\r\n );\r\n}\r\n\r\nfunction maybeReProxify(method, instance, isGetter = false) {\r\n instance = !!instance[Symbol.proxy] ? instance : proxify(instance);\r\n const returnValue = function(...args) { return method(instance, ...args); }\r\n return isGetter ? returnValue() : returnValue;\r\n}\r\n\r\nfunction proxyReporter(instance) {\r\n return `Proxy for JQx${instance.collection.length < 1 ? ` (empty)` : ``} instance`;\r\n}\r\n\r\nfunction proxyTrapFactory(JQxtarget, key, instance) {\r\n switch(true) {\r\n case key === Symbol.proxy: return proxyReporter(instance);\r\n case typeof key === `symbol`: return maybe({trial: () => JQxtarget[key], whenError: () => JQxtarget });\r\n case !Number.isNaN(+key) && typeof +key === `number`: return JQxtarget.collection?.[key] || undefined;\r\n case (instanceGetters.hasOwnProperty(key)): return maybeReProxify(instanceGetters[key], instance, true);\r\n case (instanceMethods.hasOwnProperty(key)): return maybeReProxify(instanceMethods[key], instance);\r\n default: return Reflect.get(JQxtarget, key);\r\n }\r\n}\r\n\r\nfunction addJQxStaticMethods(jqx) {\r\n const staticMethods = defaultStaticMethodsFactory(jqx);\r\n\r\n for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(staticMethods))) {\r\n Object.defineProperty(jqx, key, descriptor);\r\n }\r\n\r\n return jqx;\r\n}\r\n\r\nfunction allowances(jqx) {\r\n return {\r\n allow(tagName) {\r\n const isWebComponent = /-/.test(tagName);\r\n const webComponentTagName = isWebComponent && tagName;\r\n tagName = isWebComponent ? toCamelcase(tagName) : tagName.toLowerCase();\r\n tagLib.allowTag(tagName);\r\n Object.defineProperties( jqx, addGetters(tagName, true, jqx, webComponentTagName) );\r\n },\r\n prohibit(tagName) {\r\n tagName = tagName.toLowerCase();\r\n tagLib.prohibitTag(tagName);\r\n Object.defineProperties( jqx, addGetters(tagName, false, jqx) );\r\n }\r\n }\r\n}\r\n\r\nfunction cssRemove(...rules) {\r\n if (rules.length === 1) {\r\n const ruleStr = String(rules.shift().trim());\r\n rules = !ruleStr.startsWith(`!`)\r\n ? ruleStr.split(`,`).map(v => v.trim())\r\n : [ruleStr.slice(1, -1)];\r\n }\r\n\r\n for (const rule of rules.map(rule => rule.startsWith(`!`) ? rule.slice(1, -1) : rule)) {\r\n cssRuleEdit(rule, {removeRule: 1});\r\n }\r\n}\r\n\r\nfunction virtualFactory(jqx) {\r\n return function(html, root, position) {\r\n root = root?.isJQx ? root?.[0] : root;\r\n position = position && Object.values(insertPositions).find(pos => position === pos);\r\n const virtualElem = jqx(html, document.createElement(`br`));\r\n if (root && !IS(root, HTMLBRElement)) {\r\n for (const elem of virtualElem.collection) {\r\n position ? root.insertAdjacentElement(position, elem) : root.append(elem);\r\n }\r\n }\r\n return virtualElem;\r\n }\r\n}\r\n\r\nfunction combineObjectSources(...sources) {\r\n const result = {};\r\n for (const source of sources) {\r\n const descriptors = Object.getOwnPropertyDescriptors(source);\r\n for (const [key, descriptor] of Object.entries(descriptors)) {\r\n !(key in result) && Object.defineProperty(result, key, {...descriptor, enumerable: false});\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nfunction tagGetterFactory(tagName, cando, jqx, webComponentTagName) {\r\n tagName = toDashedNotation(webComponentTagName || tagName.toLowerCase());\r\n return {\r\n get() {\r\n return (...args) => {\r\n const instance = cando && jqx.virtual(cleanupHtml($T[tagName](...args))) || undefined;\r\n const isElem = !IS(instance?.node, Comment, Text, undefined);\r\n let reportIdOrClass = isElem ? getAttributesForLogging(instance) : ``;\r\n \r\n systemLog.log( cando\r\n ? `JQx: created (virtual) instance from [JQx].${tagName} ${reportIdOrClass}`\r\n : `JQx: ${tagName.toUpperCase()} is prohibited. Use [JQx].allowTag if necessary.`);\r\n return instance;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true,\r\n }\r\n}\r\n\r\nfunction addGetters(tag, cando, jqx, webComponentTagName) {\r\n tag = tag.toLowerCase();\r\n const jqxGetterForThisTag = tagGetterFactory(tag, cando, jqx, webComponentTagName);\r\n return webComponentTagName\r\n ? { [webComponentTagName]: jqxGetterForThisTag, [toCamelcase(webComponentTagName)]: jqxGetterForThisTag, }\r\n : { [tag]: jqxGetterForThisTag, [tag.toUpperCase()]: jqxGetterForThisTag, };\r\n}\r\n\r\nfunction defaultStaticMethodsFactory(jqx) {\r\n return combineObjectSources(\r\n Object.entries(tagLib.tagsRaw).reduce(staticTagsLambda(jqx), {}),\r\n staticMethodsFactory(jqx));\r\n}\r\n\r\nfunction staticTagsLambda(jqx) {\r\n return function(acc, [tag, cando]) {\r\n Object.defineProperties( acc, addGetters(tag, cando, jqx) );\r\n return acc;\r\n }\r\n}\r\n\r\nfunction delegateFactory(listen) {\r\n return function(type, selector, ...listeners) {\r\n if (IS(selector, Function)) {\r\n listeners.push(selector);\r\n selector = undefined;\r\n }\r\n\r\n listen({type, selector: selector, handlers: listeners});\r\n }\r\n}\r\n\r\nfunction delegateCaptureFactory(handlerWrapper) {\r\n return function(spec) {\r\n let {type, types, origin, selector, handler, handlers, node, name, capture, once, about} = spec;\r\n // <legacy>\r\n handler = handlers || handler;\r\n type = types || type;\r\n selector = origin || selector;\r\n // </legacy>\r\n const typesResolved = resolveEventTypeParameter(type);\r\n const specifiedName = name;\r\n handler = IS(handler, Function) ? [handler] : handler;\r\n const params = {\r\n type: typesResolved, selector: selector || origin, capture,\r\n name: specifiedName, once, node, about };\r\n \r\n switch(true) {\r\n case IS(typesResolved, Array) && typesResolved.length > 0:\r\n for (const type of typesResolved) {\r\n params.type = type;\r\n assignListeners(handler, params, handlerWrapper);\r\n }\r\n break;\r\n default: return assignListeners(handler, params, handlerWrapper);\r\n }\r\n }\r\n}\r\n\r\nfunction assignListeners(handlerFns, params, handlerWrapper) {\r\n for (const handler of handlerFns) {\r\n handlerWrapper.listen({...params, handler});\r\n }\r\n}\r\n\r\nfunction getNamedListenerFactory(jqx) {\r\n return function(type, name) {\r\n name = isNonEmptyString(name) && name;\r\n type = isNonEmptyString(type) && type;\r\n return name && type && jqx.listenerStore[type][name];\r\n };\r\n}\r\n\r\nfunction popupGetter(jqx) {\r\n if (!jqx.activePopup) {\r\n Object.defineProperty(\r\n jqx, `activePopup`, {\r\n value: PopupFactory(jqx),\r\n enumerable: false\r\n } );\r\n }\r\n return jqx.activePopup;\r\n}\r\n\r\nfunction getSelectedStaticMethods(jqx) {\r\n const editCssRule = (ruleOrSelector, ruleObject) => cssRuleEdit(ruleOrSelector, ruleObject);\r\n const createStyle = function(id) {return styleFactory({createWithId: id || `jqx${randomString()}`}); };\r\n const editCssRules = function(...rules) { for (const rule of rules) { cssRuleEdit(rule); } };\r\n const allowProhibit = allowances(jqx);\r\n const handlerWrapper = HandlerFactory(jqx);\r\n const capturedHandling = delegateCaptureFactory(handlerWrapper);\r\n const log = (...line) => systemLog.on.log(...line).off;\r\n const warn = (...line) => systemLog.on.warn(...line).off;\r\n const error = (...line) => systemLog.on.error(...line).off;\r\n return {\r\n editCssRule, createStyle, editCssRules, allowProhibit, handle: capturedHandling, capturedHandling,\r\n log, warn, error, handlerWrapper};\r\n}\r\n\r\nfunction staticMethodsFactory(jqx) {\r\n const { factoryExtensions, instanceExtensions } = allMethodsFactory(jqx);\r\n instanceGetters = factoryExtensions;\r\n instanceMethods = instanceExtensions;\r\n const { editCssRule, createStyle, editCssRules, allowProhibit, handle,\r\n capturedHandling, log, warn, error, handlerWrapper } = getSelectedStaticMethods(jqx);\r\n const getNamedListener = getNamedListenerFactory(jqx);\r\n const staticFN = staticFNMethodFactory(jqx);\r\n $T.setError = key => {\r\n error(`JQx direct element creation error: [${key}] is not a valid tag`);\r\n return jqx.br();\r\n }\r\n return {\r\n log,\r\n warn,\r\n error,\r\n editCssRules,\r\n createStyle,\r\n editStylesheet: createStyle,\r\n editCssRule,\r\n escHtml,\r\n logger: systemLog,\r\n proxyWrapper,\r\n text(str, isComment = false) { return isComment ? jqx.comment(str) : document.createTextNode(str); },\r\n node(selector, root = document) { return root.querySelector(selector, root); },\r\n nodes(selector, root = document) { return [...root.querySelectorAll(selector, root)]; },\r\n clearAllTimers,\r\n get staticFn() { return function(name, method, isGetter) { return staticFN(name, method, isGetter); } },\r\n get toBool() { return convert2Bool; },\r\n get getNamedListener() { return getNamedListener; },\r\n get virtual() { return virtualFactory(jqx); },\r\n get allowTag() { return allowProhibit.allow; },\r\n get prohibitTag() { return allowProhibit.prohibit; },\r\n get removeCssRule() { return cssRemove; },\r\n get removeCssRules() { return cssRemove; },\r\n get delegate() { return delegateFactory(capturedHandling); },\r\n get delegateCaptured() { return capturedHandling; } ,\r\n get handle() { return capturedHandling; },\r\n get listen() { return handlerWrapper.listen; },\r\n get at() { return insertPositions; },\r\n get setStyle() { /*deprecated*/return editCssRule; },\r\n get fn() { return addFn; },\r\n get lenient() { return tagLib.allowUnknownHtmlTags; },\r\n get IS() { return IS; },\r\n get Popup() { return popupGetter(jqx); },\r\n get listenerStore() { return handlerWrapper.ListenerStore; },\r\n };\r\n}\r\n", "import { proxify, addJQxStaticMethods } from \"./JQxCreatorFactory.js\";\r\nimport {\r\n isHtmlString, isArrayOfHtmlStrings, isArrayOfHtmlElements,\r\n input2Collection, setCollectionFromCssSelector, IS, systemLog,\r\n insertPositions, inject2DOMTree, createElementFromHtmlString,\r\n getNodeContentForLog,\r\n} from \"./JQxUtilities.js\";\r\n\r\nexport default JQxMainFactory();\r\n\r\nfunction JQxMainFactory() {\r\n const logLineLength = 70;\r\n \r\n return addJQxStaticMethods(\r\n function(input, root, position = insertPositions.BeforeEnd) {\r\n if (input?.isJQx) { return input; }\r\n const isVirtual = IS(root, HTMLBRElement);\r\n root = (!isVirtual && root && root.isJQx ? root[0] : root) || document.body;\r\n position = position && Object.values(insertPositions).find(pos => position === pos) ? position : undefined;\r\n const isRawHtml = isHtmlString(input);\r\n const isRawHtmlArray = !isRawHtml && isArrayOfHtmlStrings(input);\r\n const shouldCreateElements = isRawHtmlArray || isRawHtml;\r\n \r\n let instance = {\r\n collection: input2Collection(input) ?? [],\r\n isVirtual,\r\n isJQx: true,\r\n };\r\n \r\n const isRawElemCollection = isArrayOfHtmlElements(instance.collection);\r\n \r\n switch(true) {\r\n case instance.collection.length && isRawElemCollection && !isVirtual:\r\n for (const el of instance.collection) {\r\n if (!root.contains(el)) {\r\n inject2DOMTree([el], root, position);\r\n }\r\n }\r\n break;\r\n case shouldCreateElements:\r\n for (const htmlStringOrComment of [input].flat()) {\r\n instance.collection.push(createElementFromHtmlString(htmlStringOrComment));\r\n }\r\n \r\n if (instance.collection.length > 0) {\r\n const errors = instance.collection.filter( el => el?.dataset?.jqxcreationerror );\r\n instance.collection = instance.collection.filter(el => !el?.dataset?.jqxcreationerror);\r\n const elemsCreated = instance.collection.map(el => `${String(el.constructor).split(/function|\\(/)[1].trim()}`);\r\n const multiple = elemsCreated.length > 1;\r\n instance = proxify(instance);\r\n const collectionLog = instance.collection.length > 0\r\n ? getNodeContentForLog(instance)\r\n : \"sanitized: no elements remaining\";\r\n \r\n systemLog.log(`JQx: created ${instance.isVirtual ? `(virtual)` : ``} instance from ` +\r\n `${multiple ? `array of ` : ``}HTML string${multiple ? `s` : ``} ${collectionLog}`);\r\n \r\n if (!instance.isVirtual) {\r\n inject2DOMTree(instance.collection, root, position);\r\n }\r\n }\r\n break;\r\n default: setCollectionFromCssSelector(input, root, instance);\r\n \r\n }\r\n \r\n return proxify(instance);\r\n })\r\n}\r\n", "/**\r\n This code is classfree object oriented. No this. No prototype. No class.\r\n Inspired by Douglas Crockford (see https://youtu.be/XFTOG895C7c?t=2562)\r\n*/\r\nimport JQx from \"./src/JQxConstructorFactory.js\";\r\nexport default JQx;\r\n", "var M=ke();function ke(){let[e,r,n,t]=[\"2-digit\",\"numeric\",\"long\",\"short\"],a={fixed:{MM:{month:n},M:{month:t},m:{month:r},mm:{month:e},yyyy:{year:r},yy:{year:e},WD:{weekday:n},wd:{weekday:t},d:{day:r},dd:{day:e},h:{hour:r},hh:{hour:e},mi:{minute:r},mmi:{minute:e},s:{second:r},ss:{second:e},ms:{fractionalSecondDigits:3},tz:{timeZoneName:\"shortOffset\"},dl:{locale:\"default\"},h12:{hour12:!1},yn:{yearName:\"\"},ry:{relatedYear:!0},msp:{fractionalSecond:!0}},dynamic:{tzn:l=>({timeZoneName:l.slice(4)}),hrc:l=>({hourCycle:`h${l.slice(4)}`}),ds:l=>({dateStyle:l.slice(3)}),ts:l=>({timeStyle:l.slice(3)}),tz:l=>({timeZone:l.slice(3)}),e:l=>({era:l.slice(2)}),l:l=>({locale:l.slice(2)})}},o={...a,retrieveDyn(l){let y=l?.slice(0,l.indexOf(\":\"));return a.dynamic[y]&&a.dynamic[y](l)},get re(){return new RegExp(`\\\\b(${Object.keys(a.fixed).join(\"|\")})\\\\b`,\"g\")}},s=(l=\"dtf\",y=0)=>{let h=` ${l.replace(/(?<=\\{)(.+?)(?=})/g,d=>`[${y++}]`).replace(/[{}]/g,\"\").trim()} `,D=l.match(/(?<=\\{)(.+?)(?=})/g)||[];return{get texts(){return D},formatString(d){h=d},set formatStr(d){h=d},get formatStr(){return h},get units(){return h.match(o.re)||[]},finalize(d=\"\",Z=\"\",b=\"\",$=\"\"){return h.replace(/~([\\d+]?)/g,\"$1\").replace(/dtf/,d).replace(/era/,b).replace(/dp\\b|~dp\\b/,Z).replace(/yn\\b/,$).replace(/\\[(\\d+?)]/g,(w,Fe)=>D[Fe].trim()).trim()}}},u=l=>l.replace(/\\s+/g,\"\"),c=(...l)=>l?.reduce((y,h)=>({...y,...o.retrieveDyn(h)||o.fixed[h]}),o.fixed.dl),i=(l,y,h)=>{let D=c(...u(h).split(\",\")),d=Intl.DateTimeFormat(D.locale,D).format(l);return y.finalize(d)},m=(l,y,h,D)=>l.toLocaleString(y,{timeZone:h,month:D?t:n}),T=(l,y,h)=>{let D=c(...y.units.concat(u(h).split(\",\")).flat()),d={...o.fixed},Z=($,w)=>D[$]===\"numeric\"&&w.startsWith(\"0\")?w.slice(1):w,b=Intl.DateTimeFormat(D.locale,D).formatToParts(l).reduce(($,w)=>w.type===\"literal\"&&/[ ,/-]/.test(w.value)?$:{...$,[w.type]:Z(w.type,w.value)},{});return d.ms=D.fractionalSecondDigits?d.msp:d.ms,d.yyyy=b.relatedYear?d.ry:d.yyyy,y.formatStr=y.formatStr.replace(o.re,$=>/^(M|MM)$/.test($)?m(l,D.locale,D.timeZone,/^M$/.test($)):b[Object.keys(d[$]).shift()]||$),y.finalize(void 0,b.dayPeriod,b.era,b.yearName)};return(l,y,h=\"l:default\")=>/ds:|ts:/.test(h)?i(l,s(void 0),h):T(l,s(y||void 0),h)}var le=Ce;function Ce(){let e=(t,a)=>{let o=isNaN(new Date(t)),s=isNaN(new Date(a));if(s){let[u,c,i]=Array(3).fill(\"end date not valid\");return{error:!0,message:u,full:c,clean:i}}if(o){let[u,c,i]=Array(3).fill(\"start date not valid\");return{error:!0,message:u,full:c,clean:i}}if(o&&!s){let[u,c,i]=Array(3).fill(\"start- and/or end date are not valid\");return{error:!0,message:u,full:c,clean:i}}return{error:!1}},r=n();return function({start:t,end:a,diffs:o={}}={}){let s=e(t,a),u=a>t?\"+\":\"-\";if(s.error)return s;let c=Math.abs(t-a),i=new Date(c),m=i.getUTCFullYear()-1970,T=i.getUTCMonth(),l=i.getUTCDate()-1,y=l%7,h=Math.floor(l/7),D=i.getUTCHours(),d=i.getUTCMinutes(),Z=i.getUTCSeconds(),b=i.getUTCMilliseconds(),$=Math.floor(c/864e5);o={...o,fromUTC:t,toUTC:a,sign:\"\",years:m,months:T,days:l,hours:D,minutes:d,seconds:Z,milliseconds:b,diffInDays:$},o.full=r({values:o,full:!0}),o.clean=r({values:o}),o.equalDates=o.clean===\"Dates are equal\";let w=D+d+Z>0?\"T\":\"\";return o.clean!==\"Dates are equal\"&&(o.sign=u,o.jsPeriod=`${u}P${m>0?`${m}Y`:\"\"}${T>0?`${T}M`:\"\"}${h>0?`${h}W`:\"\"}${y>0?`${y}D`:\"\"}${w}${D>0?`${D}H`:\"\"}${d>0?`${d}M`:\"\"}${Z>0?`${Z}S`:\"\"}`,o.ISOPeriod=`P${m>0?`${m}Y`:\"\"}${T>0?`${T}M`:\"\"}${l>0?`${l}D`:\"\"}${w}${D>0?`${D}H`:\"\"}${d>0?`${d}M`:\"\"}${Z>0?`${Z}S`:\"\"}`),o};function n(){let t=(...i)=>m=>i.reduce((T,l)=>l(T),m),a=(i,m)=>i===1?m.slice(0,-1):m;return t(({values:i,full:m})=>[Object.entries(i).filter(([T])=>/^(years|month|days|hours|minutes|seconds)/i.test(T)),m],([i,m])=>m?i:i.filter(([,T])=>m?+T:T>0),i=>i.reduce((m,[T,l])=>[...m,`${l} ${a(l,T)}`],[]),i=>i.length<1?\"Dates are equal\":`${i.slice(0,-1).join(\", \")}${i.length>1?\" and \":\"\"}${i.slice(-1).shift()}`)}}var ie=Ae;function Ae(){let e=Object.entries({year:\"FullYear\",month:\"Month\",date:\"Date\",day:\"Date\",hour:\"Hours\",minute:\"Minutes\",second:\"Seconds\",millisecond:\"Milliseconds\"}).reduce((t,[a,o])=>({...t,[a]:o,[`${a}s`]:o}),{}),r=!1,n=function(...t){let a=t.length===1;return r=t[0].trim().startsWith(\"subtract,\"),r&&(t=a?t[0].trim().replace(/^subtract,/i,\"\").split(\",\").map(o=>o.trim()):t.filter(o=>!o.startsWith(\"subtract\"))),a&&!r&&(t=t[0].split(\",\").map(o=>o.trim())),t.map(function(o){if(!o)return!1;let s=o.toLowerCase().split(/ {1,}/);return s.length<2?!1:s.map(u=>{u=`${u}`.trim().replace(/[^a-z0-9-+]/g,\"\");let c=parseInt(u,10);return Number.isNaN(c)?u:r?-c:+c})}).filter(o=>o)};return function(t,...a){if(a.length<1)return t;let o=n(...a);return o.length&&o.forEach(([s,u])=>{u=u,u=e[u],s&&u&&t[`set${u}`](t[`get${u}`]()+s)}),t}}var ge=le(),ye=Ye(),N=ie(),We=[\"sun\",\"mon\",\"tue\",\"wed\",\"thu\",\"fri\",\"sat\"],he=[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"];function q(e,r=!1){let n=e.month+1,t=e.month;if(e.month+=r?-1:1,!r&&e.month>=n)for(;e.month>n;)e.dateNr-=1;if(r&&e.month===t)for(;e.month>=t;)e.dateNr-=1;return e}function H(e,...r){return N(e,...r),e}function De(e,r=!1){let n=Q(e.clone,{sunday:r}),t=[n];return{weekStart:n.format(\"WD\",\"l:en-GB\"),inputDate:e,dates:t.concat([...Array(6)].map((a,o)=>n.clone.addDays(o+1)))}}function W(e,{start:r,end:n,future:t,past:a,include:o={start:!1,end:!1}}={}){let s=e.clone.UTC;return r=r?.value||r?.constructor===Date?f(r?.value||r).UTC:f.now.UTC,n=n&&n?.value||n?.constructor===Date?f(n?.value||n).UTC:f.now.UTC,s.milliseconds=0,r.milliseconds=0,n.milliseconds=0,t?r>n:a?r<n:(o.start?+s>=+r:+s>+r)&&(o.end?+s<=+n:+s<+n)}function _(e,{zoneTime:r=!1,formatStr:n,moreOptions:t}={}){return t=r?e.localeInfo.formatOptions+(t?`,${t}`:\"\"):g.formatOptions+(t?`,${t}`:\"\"),r?(e.localeInfo||(e.localeInfo=g),M(e,n,t)):Ue(e,n,t)}function Ue(e,r,n){let t=e.clone.relocate(g);return n=(n||\"\").startsWith(\"+\")?`${t.localeInfo.formatOptions},${n.slice(1)}`:n||t.localeInfo.formatOptions,M(t,r,n)}function Te(e,r){let n=ge({start:e,end:r||e});return parseInt(`${n.sign}${n.diffInDays}`)}function G(e,r=!1){let{locale:n,timeZone:t}=r?e.localeInfo:g,a=se(n,t),o=e.format(\"MM|WD\",a).split(\"|\");return{locale:n,timeZone:t,monthName:o[0],dayName:o[1],dayNames:ae(n),monthNames:Y(n)}}function B(e,r=!1){let[n,t,a,o]=U(e,r),u={values4Timezone:r?g.timeZone:e.timeZone,hours:n,minutes:t,seconds:a,milliseconds:o};return Object.freeze(u)}function U(e,r=!1){let t=`l:en-CA,${r?`tz:${g.timeZone}`:`tz:${e.timeZone}`},hrc:23,ts:medium`;return e.format(\"\",t).split(/:/).map(Number).concat(e.getMilliseconds())}function J(e,r){let n=r?`tz:${g.timeZone}`:`,tz:${e.timeZone}`,[t,a,o]=e.format(\"yyyy-mm-dd\",n).split(/-/).map(Number);a-=1;let s=r?g.timeZone:e.timeZone;return Object.freeze({values4Timezone:s,year:t,month:a,date:o})}function K(e,r=!0){if(r)return[e.getFullYear(),e.getMonth(),e.getDate()];let n=e.format(\"yyyy-m-d\",e.localeInfo.formatOptions).split(/-/).map(Number);return n[1]-=1,n}function Le(e){let r=new Intl.Locale(e.locale),n=r.weekInfo?r.weekInfo.firstDay:r.getWeekInfo?r.getWeekInfo().firstDay:1;return n=n===7?0:n,he[n]}function Q(e,{sunday:r=!1}={}){let n=r?\"sunday\":Le(e);return x(e,{day:n,preserveTodayWhenEqual:!0})}function xe(e,r){let n=e.toString().match(/GMT([+-])\\d+/)?.[0]?.slice(3)??\"+0000\",t=r.toString().match(/GMT([+-])\\d+/)?.[0]?.slice(3)??\"+0000\";return n=A(n.slice(0,3)+\":\"+n.slice(-2),!0),t=A(t.slice(0,3)+\":\"+t.slice(-2),!0),[-n[0]+t[0],-n[1]+t[1]].map(a=>n[0]<0?-a:a)}function R({start:e,end:r}={}){r||(r=e.clone),r?.clone||(r=f(r,{timeZone:e.timeZone})),e=f(fe(e,e.timeZone),{timeZone:e.timeZone}),r=f(fe(r,r.timeZone),{timeZone:r.timeZone});let n=ge({start:e,end:r,diffs:{timeZoneStart:e.timeZone,timeZoneEnd:r.timeZone}}),t=xe(r,e),a=n.sign.startsWith(\"-\")?\"ahead of\":\"behind\",[o,s]=t.map(i=>Math.abs(i)),[u,c]=[`${o} ${C(o,\"hour\")}`,`${s} ${C(s,\"minute\")}`];return n.timeZonesOffsetDifference=n.sign.length<1||o+s===0?`Offsets of ${e.timeZone} and ${r.timeZone} are equal`:`${e.timeZone} is ${u}${s>0?` and ${c}`:\"\"} ${a} ${r.timeZone}`,n}function X(e,r){r=String(r).toLowerCase()===\"utc\"||r.timeZone===\"UTC\"?e.clone.relocate({timeZone:\"UTC\"}):f(e.value,{timeZone:r.timeZone||g.timeZone});let t=R({start:e.clone,end:r}),o=`${t.sign}${ce(t.hours)}:${ce(t.minutes)}`;return{fromTZ:e.timeZone,toTZ:r.timeZone,offset:o,offsetText:`${r.timeZone} ${je(o)} ${e.timeZone}`}}function ce(e,r=2){return`${e}`.padStart(r,\"0\")}function C(e,r){return`${r}${e>1||e===0?\"s\":\"\"}`}function je(e){if(/00:00/.test(e))return\"no time diffence to\";let r=e.slice(1).split(\":\").map(Number),[n,t]=r,a=C(n,\"hour\"),o=C(t,\"minute\"),s=e.startsWith(\"+\");return t>0?`${n} ${a} and ${t} ${o} ${s?\"ahead of\":\"behind\"}`:`${n} ${a} ${s?\"ahead of\":\"behind\"}`}function me(e,r,n){return e.clone.format(r,n||e.localeInfo.formatOptions)}function pe(e,{withFormat:r,withFormatOptions:n,local:t=!1}={}){if(r)return t?me(e,r,$D.localeInformation.formatOptions):me(e,r,n);let a=e.clone.relocate({locale:\"en\"}),o=t?g.formatOptions:a.localeInfo.formatOptions,u=`wd M dd yyyy hh:mmi:ss ${a.format(\"tz\",o+\",tzn:longOffset\").replace(\":\",\"\")} (tz)`;return a.format(u,o+\",tzn:long, hrc:23\")}function ee(e,r=!1){let n=Intl.DateTimeFormat(\"en\",{timeZone:r?e.timeZone:g.timeZone,weekday:\"short\"});return ye(n.format(e))}function $e(e){let r=g,n=e.localeInfo,t=e.clone.relocate({locale:r.locale,timeZone:r.timeZone}),a=e.offsetFrom(t),o=t.offsetFrom(e),s=r,u=n,c=e.format(\"hh:mmi:ss dp\",`hrc:12,tz:${e.timeZone}`),i=t.format(\"hh:mmi:ss dp\",`hrc:12,tz:${t.timeZone}`),m={note:\"'user' are values for your locale/timeZone, 'remote' (if applicable) idem for the instance\",locales:{user:{locale:s.locale,timeZone:s.timeZone}},dateTime:{user:{...e.dateTime,monthName:t.monthName,weekdayNr:t.day,weekdayName:t.dayName,dayPeriodTime:i,hasDST:t.hasDST,DSTActive:t.DSTActive,offsetFromRemote:a.offset,string:t.toString()}},offset:{fromUTC:e.UTC.offsetFrom(e).offsetText}};return n.timeZone!==r.timeZone&&(m.locales.remote={locale:u.locale,timeZone:u.timeZone},m.dateTime.remote={...e.zoneDateTime,monthName:e.zoneNames.monthName,weekdayNr:ee(e,!0),weekdayName:e.zoneNames.dayName,dayPeriodTime:c,hasDST:e.hasDST,DSTActive:e.DSTActive,offsetFromUser:o.offset,string:e.toString()},m.offset.fromUserTime=o.offsetText),m}function O(e,r=!0){if(r)return[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()];let n=e.format(\"yyyy-m-d-hh-mmi-ss\",`${e.localeInfo.formatOptions},hrc23:true`).split(/-/).map(Number).concat(e.getMilliseconds());return n[1]-=1,n}function te(e){return new Date(e.year,e.month+1,0,0,0,0).getDate()}function L(e,r){r=p({locale:r||e.localeInfo.locale}).locale;let n=e.clone.relocate({locale:r});return n.date={date:1},[n].concat([...Array(te(n)-1)].map((t,a)=>n.clone.add(`${a+1} days`)))}function x(e,{day:r,next:n=!1,preserveTodayWhenEqual:t=!1}={}){r=r?.toLowerCase()||\"-\";let a=ye(r);if(a<0)return console.error(`[TickTock instance].next/previous invalid day value ${r}`),e.clone;let o=n?1:-1,s=f(new Date(...e.dateTimeValues),e.localeInfo);return t&&a===s.day?s:Pe(s.addDays(n?1:-1),a,o)}function Pe(e,r,n){function t(a){switch(!0){case a.day===r:return a;default:return t(a.add(`${n} days`))}}return t(e)}function F(e,{dateOnly:r=!1,timeOnly:n=!1}={}){let{locale:t,timeZone:a}=e.localeInfo;return r?new Date(e).toLocaleDateString(t,{timeZone:a}):n?new Date(e).toLocaleTimeString(t,{timeZone:a}):new Date(e).toLocaleString(t,{timeZone:a})}function fe(e,r){let n={timeZone:r,hourCycle:\"h23\"};return new Date(new Date(e).toLocaleString(\"en\",n))}function v(e,{year:r,month:n,date:t}={}){return S(r)&&e.setFullYear(parseInt(r)),S(t)&&e.setDate(parseInt(t)),S(n)&&e.setMonth(parseInt(n)),e}function I(e,{hours:r,minutes:n,seconds:t,milliseconds:a}={}){return S(r)&&e.setHours(parseInt(r)),S(n)&&e.setMinutes(parseInt(n)),S(t)&&e.setSeconds(parseInt(t)),S(a)&&e.setMilliseconds(parseInt(a)),e}function we(e){return e?.constructor===Date||e?.value}function re(e,r){return we(r)?f(r?.value||r,e.localeInfo):f.from(...e.dateTimeValues).relocate(e.localeInfo)}function Ye(){return function(e){e=`${e}`.toLowerCase();let r=We.indexOf(e);return r<0?he.indexOf(e):r}}function A(e){let r=e.slice(1).split(/[-:]/).map(Number),n=e.startsWith(\"-\");return r=r.map(t=>n?-t:t),r}function Se(e){return e.time={hours:0,minutes:0,seconds:0,milliseconds:0},e}function de(e,r){return Intl.DateTimeFormat(\"en-CA\",{timeZone:r,timeZoneName:\"long\"}).format(e).split(/,/)[1].trim()}function j(e,r){r=r||e?.timeZone||g.timeZone,e=e?.value?e:e?.constructor===Date?f(e,{timeZone:r}):f({timeZone:r});let n=e.year||e.getFullYear(),t=de(new Date(n,0,1),r),a=de(new Date(n,5,1),r);return t!==a}function P(e,r){return r=r||e?.timeZone||g.timeZone,e=e?.hasDST?e:e?.constructor===Date?f(e,{timeZone:r}):f({timeZone:r}),e.hasDST?!/standard/i.test(e.toString()):!1}function Ze(e,{locale:r,timeZone:n,l:t,tz:a}={}){return e.localeInfo=p({locale:t||r||e.l||e.locale,timeZone:a||n||e.tz||e.timeZone}),e}function be(e,r){return we(r)&&(e=f(r.value||r,r.localeInfo||e.localeInfo)),e}function k(e,r){let n=oe(new Date(e,11,r||31));return n===1?k(e,(r||31)-1):n}function ne(e,r){let n=e.month;switch(!0){case n<3:return r?1:\"First\";case n<6:return r?2:\"Second\";case n<9:return r?3:\"Third\";case n<12:return r?4:\"Fourth\";default:return\"unknown\"}}function oe(e){let r=new Date(e),n=(r.getDay()+6)%7;r.setDate(r.getDate()-n+3);let t=r.valueOf();return r.setMonth(0,1),r.getDay()!==4&&r.setMonth(0,1+(4-r.getDay()+7)%7),1+Math.ceil((t-r)/6048e5)}var E=Ee;function Ee({localeInfo:e,customMethods:r,dateValue:n}={}){let t,a={add(...o){return H(t,...o)},between({start:o,end:s,include:u}={}){return W(t,{start:o,end:s,include:u})},cloneWith(o){return re(t,o)},daysUntil(o){return Te(t,o)},differenceTo(o){return R({start:t,end:o})},differenceUntil(o){return t.differenceTo(o).clean},firstWeekday({sunday:o=!1,midnight:s=!1}={}){return Q(t,{sunday:o,midnight:s})},format(o,s){return _(t,{formatStr:o,moreOptions:s})},fullMonth(o){return L(t,o)},fullWeek(o=!1){return De(t,!!o)},isFuture(o){return W(t,{start:t,end:o,future:!0})},isPast(o){return W(t,{start:t,end:o,past:!0})},next(o,s){return x(t,{day:o,next:!0,preserveTodayWhenEqual:!!s})},offsetFrom(o){return X(t,o)},previous(o,s){return x(t,{day:o,next:!1,preserveTodayWhenEqual:!!s})},relocate({locale:o,timeZone:s,l:u,tz:c}={}){return Ze(t,{locale:o,timeZone:s,l:u,tz:c})},revalue(o){return t=be(t,o),t},setDateValues({year:o,month:s,date:u}={}){return v(t,{year:o,month:s,date:u})},setTimeValues({hours:o,minutes:s,seconds:u,milliseconds:c}={}){return I(t,{hours:o,minutes:s,seconds:u,milliseconds:c})},subtract(...o){return H(t,\"subtract,\"+o.join(\",\"))},toArray(o=!1){return O(t,o)},toString({template:o,formatOptions:s,local:u}={}){return pe(t,{withFormat:o,withFormatOptions:s,local:u})},values(o=!1){return o?t.dateTime:t.zoneDateTime},zoneFormat(o,s){return _(t,{zoneTime:!0,formatStr:o,moreOptions:s})},set date({year:o,month:s,date:u}){v(t,{year:o,month:s,date:u})},set dateNr(o){v(t,{date:o})},set hours(o){I(t,{hours:o})},set localeInfo({locale:o,timeZone:s,l:u,tz:c}){e=z({locale:o,timeZone:s,l:u,tz:c})},set milliseconds(o){I(t,{milliseconds:`${o}`})},set minutes(o){I(t,{minutes:o})},set month(o){v(t,{month:o})},set seconds(o){I(t,{seconds:o})},set time({hours:o,minutes:s,seconds:u,milliseconds:c}){I(t,{hours:o,minutes:s,seconds:u,milliseconds:c})},set year(o){v(t,{year:o})},get age(){return t.differenceTo(new Date).years},get ageFull(){return t.differenceTo(new Date).clean},get clone(){return re(t)},get date(){return J(t,!0)},get dateNr(){return t.date.date},get dateTime(){return{...t.date,...t.time}},get dateTimeValues(){return O(t,!0)},get dateValues(){return K(t,!0)},get day(){return t.getDay()},get dayName(){return t.names.dayName},get daysThisMonth(){return te(t)},get DSTActive(){return P(t)},get hasDST(){return j(t)},get hours(){return t.time.hours},get info(){return $e(t)},get isLeapYear(){return new Date(t.getFullYear(),2,0).getDate()===29},get ISO(){return t.toISOString()},get local(){return F(t)},get localDate(){return F(t,{dateOnly:!0})},get locale(){return(e||z()).locale},get localeInfo(){return e},get localeString(){return F(t)},get localTime(){return F(t,{timeOnly:!0})},get milliseconds(){return t.getMilliseconds()},get minutes(){return t.time.minutes},get month(){return t.date.month},get monthName(){return t.names.monthName},get names(){return G(t)},get quarter(){return ne(t)},get quarterNr(){return ne(t,!0)},get removeTime(){return Se(t)},get seconds(){return t.time.seconds},get time(){return B(t,!0)},get timeValues(){return U(t,!0)},get timeZone(){return(e||z()).timeZone},get unixEpochTimestamp(){return Math.floor(+t/1e3)},get userLocaleInfo(){return g},get UTC(){return t.clone.relocate({locale:t.locale,timeZone:\"UTC\"})},get UTCOffset(){return X(t,\"UTC\")},get value(){return new Date(t)},get weeknr(){return oe(t)},get weeksInYear(){return k(t.year,31)},get year(){return t.date.year},get zoneDate(){return J(t,!1)},get zoneDateNr(){return t.zoneDate.date},get zoneDateTime(){return{...t.zoneDate,...t.zoneTime}},get zoneDateTimeValues(){return O(t,!1)},get zoneDateValues(){return K(t,!1)},get zoneDay(){return ee(t,!0)},get zoneDayname(){return t.zoneNames.dayName},get zoneHours(){return t.zoneTime.hours},get zoneMinutes(){return t.zoneTime.minutes},get zoneMonth(){return t.zoneDate.month},get zoneMonthname(){return t.zoneNames.monthName},get zoneNames(){return G(t,!0)},get zoneSeconds(){return t.zoneTime.seconds},get zoneTime(){return B(t)},get zoneTimeValues(){return U(t)},get zoneYear(){return t.zoneDate.year},get zoneValues(){return t.zoneDateTime},get zoneArray(){return O(t,!1)}};return!e&&!n?a:(a.localeInfo=e||z(),t=new Proxy(n,Ve(a)),Object.entries(Object.getOwnPropertyDescriptors(ue(t,r))).forEach(([o,s])=>Object.defineProperty(a,o,s)),Object.freeze(t))}function Ve(e){return{get(r,n){return n!==\"toString\"&&n in r?r[n].bind(r):Reflect.get(e,n)},set(r,n,t){return n in e&&Reflect.set(e,n,t)}}}var g=Me(Intl.DateTimeFormat().resolvedOptions()),qe=Object.getOwnPropertyNames(Date.prototype).filter(e=>e.startsWith(\"set\")).reduce((e,r)=>[...e,{native:r,syn:\"change\"+r.slice(3)}],[]);function ae(e=\"en-GB\"){return e=p({locale:e}).locale,{long:[...Array(7).keys()].map(r=>new Date(Date.UTC(1970,0,4+r)).toLocaleDateString(e,{timeZone:\"Etc/UTC\",weekday:\"long\"})),short:[...Array(7).keys()].map(r=>new Date(Date.UTC(1970,0,4+r)).toLocaleDateString(e,{timeZone:\"Etc/UTC\",weekday:\"short\"}))}}function Y(e=\"en\"){return e=p({locale:e}).locale,{long:[...Array(12).keys()].map(r=>new Date(Date.UTC(1970,r,1)).toLocaleDateString(e,{timeZone:\"Etc/UTC\",month:\"long\"})),short:[...Array(12).keys()].map(r=>new Date(Date.UTC(1970,r,1)).toLocaleDateString(e,{timeZone:\"Etc/UTC\",month:\"short\"}))}}function He({year:e,locale:r}={}){e=S(e)?parseInt(e):new Date().getFullYear();let n={year:e,calendar:{}},t=Y().long.map(a=>a.toLowerCase());for(let a=0;a<12;a+=1){let o=f.from(e,a,1);n.calendar[t[a]]=L(o,r)}return n}function _e({year:e,monthNr:r,locale:n=\"en-CA\"}={}){e=S(r)&&parseInt(e)||-1,r=S(r)&&parseInt(r)||new Date().getFullYear();let t=r>=1&&r<=12;return n=p({locale:n}).locale,r=t?r-1:void 0,t?f.from(e,r,1).relocate({locale:n}).fullMonth(n):\"MonthNr should be a specific number (1 = january - 12 = december)\"}function Me(e){let r=se(e.locale,e.timeZone),n=new Intl.Locale(e.locale);return e.weekInfo=n.getWeekInfo?n.getWeekInfo():null,Object.defineProperty(e,\"formatOptions\",{value:r,enumerable:!1})}function se(e,r){return[`${e&&!(Array.isArray(e)&&e.length<1)?`l:${e}`:\"\"}`,`${r?`tz:${r}`:\"\"}`].filter(n=>n).join(\",\")}function p({locale:e,timeZone:r,l:n,tz:t}={}){return r=r||t,e=e||n,e=Ie({trial:function(){return Intl.DateTimeFormat(e,{timeZone:g.timeZone}).resolvedOptions().locale},onError:function(){return console.warn(`Intl locale \"${e}\" best fit impossible, using \"${g.locale}\"`),g.locale}}),r=Ie({trial:function(){return Intl.DateTimeFormat(e,{timeZone:r}).resolvedOptions().timeZone},onError:function(){return console.warn(`timeZone \"${r}\" not valid. Using \"${g.timeZone}\"`),g.timeZone}}),Me(Intl.DateTimeFormat(e,{timeZone:r}).resolvedOptions())}function z({locale:e,timeZone:r,l:n,tz:t}={}){return p({locale:e,timeZone:r,l:n,tz:t},!0)}function Ne(e){return!Number.isNaN(+e)&&e?.constructor===Date?e:new Date}function ve(e){let r=new Date;switch(!0){case(typeof e==\"string\"||typeof e==\"number\"):return Ne(new Date(e));case(Array.isArray(e)&&e.map(Number).length===e.length):return e.length===1?new Date(e[0],0,1):new Date(...e);case e?.constructor===Date:return Ne(e);default:return r}}function Ie({trial:e,onError:r=()=>{}}={}){if(e?.constructor===Function)try{return e()}catch(n){return r?.constructor===Function?r(n):void 0}}function Ge({timeZoneDate:e,timeZoneID:r,userTimeZoneID:n}={}){let t={timeZone:p({timeZone:r}).timeZone},a={timeZone:p({timeZone:n||\"\"}).timeZone},o=f(e,t),s=f(e,a),u=s.differenceTo(o),c=o.offsetFrom(s).offset,[i,m]=A(c,!0),T=s.clone.add(`${i} hours, ${m} minutes`),y=u.equalDates?\"No difference\":`Time offset ${c}: ${a.timeZone} is ${u.clean} ${i<0?\"behind\":\"ahead of\"} ${t.timeZone}`;return{remoteTimezone:t.timeZone,userTimezone:a.timeZone,timeDifference:y,result:{[t.timeZone.replace(/\\//,\"_\")]:f(e).toString({template:\"yyyy/mm/dd hh:mmi:ss\",formatOptions:\"hrc:23\"}),[a.timeZone.replace(/\\//,\"_\")]:T.toString({template:\"yyyy/mm/dd hh:mmi:ss\",formatOptions:\"hrc:23\"})}}}function S(e){return!Number.isNaN(parseInt(e))}function V(e,r,n){return e?.constructor===Number?N(r,`${e} ${n}`):r}function Be(e){let r={addYears(n=1){return V(n,e,\"years\")},addMonths(n=1){return V(n,e,\"months\")},addWeeks(n=1){return n=n?.constructor===Number?n*7:1,V(n,e,\"days\")},addDays(n=1){return V(n,e,\"days\")},get nextYear(){return N(e,\"1 year\")},get nextWeek(){return N(e,\"7 days\")},get previousWeek(){return N(e,\"-7 days\")},get previousYear(){return N(e,\"-1 year\")},get nextMonth(){return q(e)},get previousMonth(){return q(e,!0)},get tomorrow(){return N(e,\"1 day\")},get yesterday(){return N(e,\"-1 day\")}};for(let n of qe)r[n.syn]=function(...t){return e[n.native](...t),e};return r}function ue(e,r){let n=Be(e);for(let[t,a]of Object.entries(r||{})){let o=a.enumerable,s=a.isGetter?{get(){return a.method(e)},enumerable:o}:{value(...u){return a.method(e,...u)},enumerable:o};Object.defineProperty(n,t,s)}return n}function ze(e,r){return Object.defineProperties(e,{now:{get(){return e(new Date)}},localeInformation:{get(){return p()}},localWeekdaynames:{value(n){return ae(n)}},localMonthnames:{value(n){return Y(n)}},daysInMonth:{value(n,t=!1){return n=S(n)?parseInt(n):0,n>=1&&n<=12?new Date(t?2e3:2005,n,0).getDate():`${n} should be a Number between (1 (january) - 12 (december))`}},yearCalendar:{value:He},monthCalendar:{value:_e},from:{value(...n){return e(n)}},fromUxTS:{value(n,t){n=S(n)?parseInt(n)*1e3:void 0;let a=n?new Date(n):new Date;return f(a,t||g)}},hasDST:{value({date:n,timeZone:t}={}){return j(n,t)}},DSTActive:{value({date:n,timeZone:t}={}){return P(n,t)}},values:{value({date:n,timeZone:t}={}){n=n||n?.value||new Date;let a=M(n,\"yyyy-m-d-h-mi-s\",p({timeZone:t}).formatOptions.concat(\",hrc:23\")).split(\"-\").map(Number).concat(n.getMilliseconds());return a[1]-=1,a}},format:{value({date:n,template:t,timeZone:a,locale:o,opts:s}={}){n=n||n?.value||new Date,t=t?.constructor===String?t:\"yyyy/mm/dd hh:mmi:ss dp\";let u=p({timeZone:a,locale:o}).formatOptions;return u+=s?`,${s}`:\"\",M(n,t,u)}},addCustom:{value({name:n,method:t,enumerable:a=!1,isGetter:o=!1}={}){n?.constructor===String&&t?.constructor===Function&&t.length>0&&(r[n]={method:t,enumerable:a,isGetter:o})}},validateLocaleInformation:{value:p},timeAcrossZones:{value:Ge},weeksInYear:{value(n){return k(n,31)}},keys:{get(){let n=Object.fromEntries(Object.entries(r).filter(([a,o])=>o.enumerable===!0));return[...Object.keys(E()),...Object.keys(ue()),...Object.keys(n)].sort((a,o)=>a.localeCompare(o))}}}),e}var Oe={},f=ze(Je,Oe);function Je(e,r){if(e?.localeInfo)return e.clone;let n=e?.locale||e?.timeZone||e?.tz||e?.l;return E({localeInfo:p(n?e:r),dateValue:new Date(n?Date.now():ve(e)),customMethods:Oe})}export{f as default};\n", "export default Object.defineProperties(instanceCreator, {escape: {value: escape4RE, enumerable: true}});\r\n\r\nfunction instanceCreator(regExStr, ...args) {\r\n const {flags, cleanedArgs} = maybeFlags(...args);\r\n return createInstance(\r\n new RegExp(cleanup(createRegExpStringFromInput(regExStr, ...cleanedArgs)), flags)\r\n );\r\n}\r\n\r\nfunction createRegExpStringFromInput(regExStr, ...cleanedArgs) {\r\n return !hasLength(cleanedArgs) ? regExStr.raw.join(``) :\r\n regExStr.raw.reduce((a, v, i) => a.concat(cleanedArgs[i - 1] || ``).concat(v), ``);\r\n}\r\n\r\nfunction maybeFlags(...args) {\r\n const flags = cleanupFlags(getFlags(args.at(-1)));\r\n return { flags, cleanedArgs: hasLength(flags) ? args.slice(0, -1) : args };\r\n}\r\n\r\nfunction getFlags(maybeFlags) { return isOfType(maybeFlags, Array) ? maybeFlags.join(``) : ``; }\r\n\r\nfunction createInstance(regExp) {\r\n const instance = new Proxy( Object.defineProperties({}, {\r\n re: { get() { return regExp; }, enumerable: false },\r\n toString: {value: () => regExp.toString(), enumerable: false},\r\n valueOf: {value: () => regExp, enumerable: false},\r\n flags: { value(flags) { regExp = modifyFlags(flags, regExp); return instance; }, enumerable: false },\r\n clone: { get() { return clone(instance); }, enumerable: false },\r\n }), getterTrap(regExp) );\r\n \r\n return instance;\r\n}\r\n\r\nfunction hasLength(variable) { return variable?.length > 0; }\r\n\r\nfunction isOfType(any, CTOR) { return any?.constructor === CTOR; }\r\n\r\nfunction maybeProp(target, key, regExp) {\r\n const fromRegExp = Reflect.get(regExp, key);\r\n return {\r\n fromInstance: Reflect.get(target, key),\r\n fromRegExpMethod: isOfType(fromRegExp, Function) ? fromRegExp.bind(target.re) : target.re[key]\r\n }\r\n}\r\n\r\nfunction getterTrap(regExp) {\r\n return {\r\n get(target, key) {\r\n const {fromInstance, fromRegExpMethod} = maybeProp(target, key, regExp);\r\n switch (true) {\r\n case !!fromInstance: return fromInstance;\r\n default: return fromRegExpMethod;\r\n }\r\n },\r\n };\r\n}\r\n\r\nfunction clone(instance) {\r\n const source = instance.re.source;\r\n const flags = hasLength(instance.re.flags) ? [...instance.re.flags] : [];\r\n return instanceCreator`${source} ${flags}`;\r\n}\r\n\r\nfunction cleanupFlags(flags, currentFlags) {\r\n currentFlags = (currentFlags ?? ``).replace(/^-r\\|/, ``);\r\n flags = currentFlags.concat(isOfType(flags, String) && hasLength(flags) ? flags : ``);\r\n return [...new Set([...flags])].join(``).replace(/[^dgimsuvy]/g, ``);\r\n}\r\n\r\nfunction modifyFlags(flags, regExp) {\r\n switch (true) {\r\n case !isOfType(flags, String) || !hasLength(flags): return regExp;\r\n case flags === `-r`: return regExp = new RegExp(regExp.source);\r\n case flags.startsWith(`-r|`): return regExp = new RegExp(regExp.source, cleanupFlags(flags));\r\n default: return regExp = new RegExp(regExp.source, cleanupFlags(regExp.flags, flags));\r\n }\r\n}\r\n\r\nfunction escape4RE(string2Escape) {\r\n switch (true) {\r\n case string2Escape?.constructor !== String || !hasLength(string2Escape): return ``;\r\n case !!RegExp.escape: return RegExp.escape(string2Escape);\r\n default: return (`\\\\x${string2Escape.at(0)}` +\r\n string2Escape.slice(1).replace(/\\p{S}|\\p{P}/gu, a => `\\\\${a}`))\r\n .replace(/ |\\\\x /g, `\\\\x20`); }\r\n}\r\n\r\nfunction cleanup(str) {\r\n return str\r\n .replace(/\\/\\*(?:[^*]|\\*+[^*\\/])*\\*+\\/|(?<!:|\\\\\\|')\\/\\/.*/gm, ``)\r\n .replace(/\\s/g, ``)\r\n .trim().replace(/<!([^>]\\d+)>/g, (a, b) => String.fromCharCode(+b) ?? a);\r\n}\r\n", "var u=h(),v=p(),N=p(\"\");window.IS=u;function p(r,f={}){let{useSymbolicExtensions:a}=f;return r=u(r,String,Number)?String(r):void 0,a&&O(),function(n,...t){return d(n,y(t))};function s(n,t){return t&&u(r,String,Number)?String(r):`{${n}}`}function e(n,t){let i=n in t;return i&&u(t[n],String,Number)?String(t[n]):s(n,i)}function o(n){return(...t)=>{let i=t.find(c=>c.key);return e(i?i.key:\"_\",n)}}function l(n,t){return n.replace(/\\{(?<key>[a-z_\\d]+)}/gim,o(t))}function b(n){let t=[];return Object.entries(n).forEach(([i,c])=>{c.forEach((m,S)=>(t[S]??={},t[S][i]=m))}),t}function g(n){return n.length===1&&Object.values(n[0]).every(Array.isArray)}function y(n){return g(n)?b(n[0]):n}function d(n,t){let i=t?.length?t.filter(c=>u(c,Object)).map((c,m)=>l(n,{...c,index:m+1})).join(\"\"):n;return u(r,void 0)?i:i.replace(/\\{[a-z_\\d].+\\}/gim,String(r))}}function O(){return String.prototype[Symbol.for(\"interpolate\")]||Object.defineProperties(String.prototype,{[Symbol.for(\"interpolate\")]:{value(...r){return v(this,...r)}},[Symbol.for(\"interpolate$\")]:{value(...r){return N(this,...r)}}}),[Symbol.for(\"interpolate\"),Symbol.for(\"interpolate$\")]}function h(){let r=new Intl.Collator(\"en\",{sensitivity:\"base\"}),f=e=>typeof e==\"function\"?e?.name||e?.constructor?.name:\"noCTOR\";function a(e,o){return o===Number&&(Number.isNaN(e)||!Number.isFinite(e))?!1:r.compare(Object.prototype.toString.call(e),`[object ${f(o)}]`)===0||e?.name===o?.name}function s(e,...o){if(o.length>1){for(let l of o)if(a(e,l))return!0;return!1}return a(e,o?.shift())}return s}export{O as addSymbolicStringExtensions,v as default,N as interpolateClear,p as interpolateFactory};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["IS", "isOnly", "maybe", "$Wrap", "isNothing", "addSymbolicExtensions", "
|
|
4
|
+
"sourcesContent": ["import $ from \"./Resource/Externals/jqx.min.js\";\r\nimport $D from \"./Resource/Externals/ticktock.min.js\";\r\nimport regexhelper from \"./Resource/Externals/REHelper.js\";\r\n\r\nimport {\r\n default as interpolate,\r\n interpolateClear,\r\n addSymbolicStringExtensions } from \"./Resource/Externals/splat.min.js\";\r\nsetDefaultStyling();\r\nfixSBLinks2TopProblem();\r\nconst splatModule = {interpolate, interpolateClear, addSymbolicStringExtensions};\r\nexport { $, logFactory, regexhelper, $D, splatModule };\r\n\r\nfunction fixSBLinks2TopProblem() {\r\n // fix for stackblitz rewriting hrefs with target _top (see README)\r\n /stackblitz/i.test(location.href) &&\r\n console.info(`\u2714 Stackblitz rewrites links to _top. The 'stackblitzhelpers' module fixed it.`);\r\n document.addEventListener(`click`, evt => {\r\n if (evt.target.href) {\r\n const ref = evt.target;\r\n if (ref.dataset.top || ref.classList.contains(`internalLink`) || ref.target === `_top`) {\r\n return top.location.href = ref.href;\r\n }\r\n }\r\n return true;\r\n });\r\n}\r\n\r\nfunction logFactory(formatJSON = true) {\r\n const logContainer = $(`<ul id=\"log2screen\">`).first();\r\n \r\n function logItem(top = false) {\r\n const where2PutIt = top ? $.at.start : $.at.end;\r\n return content => {\r\n if (content?.isJQx) {\r\n return $.li(\r\n content.data.get(`header`) ? {class: `head`} : ``, content\r\n ).renderTo(logContainer, where2PutIt);\r\n }\r\n \r\n content = !$.IS(content, String, Number, Symbol) ? tryJSON(content, formatJSON) : String(content);\r\n const isHead = content.startsWith(`!!`);\r\n content = isHead ? content.slice(2) : content;\r\n $.li(isHead ? {class: `head`} : ``, content)\r\n .renderTo(logContainer, where2PutIt);\r\n };\r\n }\r\n const [logLamda, logTopLambda] = [logItem(), logItem(true)];\r\n \r\n return {\r\n log: (...txt) => txt.forEach( logLamda ),\r\n logTop: (...txt) => txt.forEach( logTopLambda ),\r\n };\r\n}\r\n\r\nfunction tryJSON(content, formatted) {\r\n try { return formatted ? `<pre>${JSON.stringify(content, null, 2)}</pre>` : JSON.stringify(content); }\r\n catch(err) {return `Some [Object object] can not be converted to JSON`}\r\n}\r\n\r\nfunction setDefaultStyling() {\r\n $.editCssRules(`li::marker{vertical-align:top;}`,`code{color:green;background-color:#eee;padding:2px;font-family:monospace;}`,`code.codeblock{display:block;padding:6px;border:1px solid #999;margin:0.5rem 0;background-color:#eee;white-space:pre-wrap;}`,`h3{marginTop:1.5rem;}`,`.thickBorder{border:5px solid green;borderWidth:5px;padding:0.5rem;display:inline-block;}`,`a.ExternalLink{text-decoration:none;color:rgb(0,0,238);background-color:#EEE;padding:3px;font-weight:bold;}`,`.cmmt{color:#888;}`,`.hidden{display:none;}`,`.attention{color:red; font-size:1.2em; font-weight:bold;}`,`#log2screen li{listStyle:'\\\\2713';paddingLeft:6px;margin:0.5rem 0 0 -1.2rem;font-family:monospace}`,`#log2screen li.head{list-style-type:none;font-weight:bold;margin-top:0.8rem;margin-bottom:-0.2rem;font-family:revert;}`,`.err{fontStyle:italic; color:red; }`,`a{text-decoration:none; font-weight:bold;}`,`a:hover{text-decoration:underline;}`,`a[target]:before,a.internalLink:before,a.externalLink:before{color:rgba(0,0,238,0.7);font-size:1.1rem;padding-right:2px;vertical-align:baseline;}`,`a[target=\"_blank\"]:before,a.externalLink:before{content:'\\\\2197';}`,`a[data-top]:before,a.internalLink:before,a[target=\"_top\"]:before{content:'\\\\21BA';}`);\r\n}\r\n", "const toaSymbols = Symbol.for(\"toa.symbols\");\r\nObject[toaSymbols] = Object.create(null, {});\r\nconst { IS, isOnly, maybe, $Wrap, isNothing, addSymbolicExtensions, proxyWrapper, } =\r\n TOAFactory({useSymbolicExtensions: false});\r\n\r\nexport { IS as default, maybe, isOnly, $Wrap, proxyWrapper, isNothing, addSymbolicExtensions, };\r\n\r\nfunction TOAFactory(specs = {}) {\r\n const { useSymbolicExtensions } = specs;\r\n const isJust = typeCheckFactory();\r\n const { shouldbeIsSingleObject, ISOneOf, isExcept, verifyNothingness, determineType,\r\n addSymbolicExtensions, maybe, $Wrap, detectableProxy } = TOAHelpers(IS, useSymbolicExtensions);\r\n const proxyWrapper = detectableProxy;\r\n \r\n if (!!useSymbolicExtensions) { addSymbolicExtensions(); }\r\n const TOASymbols = Object[toaSymbols];\r\n return {IS, isOnly, maybe, $Wrap, isNothing: verifyNothingness, addSymbolicExtensions, proxyWrapper, };\r\n \r\n function IS(anything, ...shouldBe) {\r\n const unChained = Object.getOwnPropertySymbols(anything || {})?.some(v => v === TOASymbols.justME) && shouldBe.length > 0;\r\n const single = anything?.[TOASymbols.justME];\r\n const input = unChained ? single : typeof anything === `symbol` ? TOASymbols.isSymbol : anything;\r\n switch(true) {\r\n case unChained: return isJust(single, ...shouldBe);\r\n case !!maybe({trial: _ => `isTypes` in (shouldBe?.[0] ?? {})}):\r\n return shouldbeIsSingleObject(anything, shouldBe[0]);\r\n default: return shouldBe.length > 1 ? ISOneOf(input, ...shouldBe) : determineType(anything, ...shouldBe);\r\n }\r\n }\r\n \r\n function isOnly(anything, ...shouldBe) {\r\n return IS({[TOASymbols.justME]: anything}, ...shouldBe);\r\n }\r\n}\r\n\r\nfunction TOAHelpers(IS, useSymbolicExtensions) {\r\n const { SymbolAndCustomProxyFactory, maybeFactory, WrapAnyFactory,\r\n verifyNothingness, determineType, detectableProxy } = AUXHelperFactory(IS, typeOf);\r\n const {addSymbolicExtensions} = SymbolAndCustomProxyFactory(IS, typeOf, useSymbolicExtensions);\r\n const [maybe, $Wrap] = [maybeFactory(), WrapAnyFactory(IS, typeOf)];\r\n \r\n return Object.freeze({\r\n shouldbeIsSingleObject, ISOneOf, isExcept, verifyNothingness,\r\n determineType, detectableProxy, addSymbolicExtensions, maybe, $Wrap });\r\n \r\n function typeOf(anything) {\r\n return anything?.[Object[toaSymbols].proxy] || IS(anything);\r\n }\r\n \r\n function shouldbeIsSingleObject(anything, isTypeObj) {\r\n switch(true) {\r\n case `defaultValue` in isTypeObj: return isOrDefault(anything, isTypeObj);\r\n case `notTypes` in isTypeObj: return isExcept(anything, isTypeObj);\r\n default: return IS(anything, ...[isTypeObj.isTypes].flat());\r\n }\r\n }\r\n \r\n function ISOneOf(obj, ...params) {\r\n return params.some(param => IS(obj, param));\r\n }\r\n \r\n function isOrDefault(input, {defaultValue, isTypes = [undefined], notTypes} = {}) {\r\n isTypes = isTypes?.constructor !== Array ? [isTypes] : isTypes;\r\n notTypes = notTypes && notTypes?.constructor !== Array ? [notTypes] : [];\r\n return notTypes.length < 1\r\n ? IS(input, ...isTypes) ? input : defaultValue\r\n : isExcept(input, {isTypes, notTypes}) ? input : defaultValue;\r\n }\r\n \r\n function isExcept(input, {isTypes = [undefined], notTypes = [undefined]} = {}) {\r\n isTypes = isTypes?.constructor !== Array ? [isTypes] : isTypes;\r\n notTypes = notTypes?.constructor !== Array ? [notTypes] : notTypes;\r\n return IS(input, ...isTypes) && !IS(input, ...notTypes);\r\n }\r\n}\r\n\r\nfunction AUXHelperFactory() {\r\n const TOASymbols = Object[toaSymbols];\r\n const SYMBOL_KEYS = {\r\n IS: 'toa.is',\r\n TYPE: 'toa.type',\r\n IS_SYMBOL: 'toa.isASymbol',\r\n PROXY: 'toa.proxyFor',\r\n TARGET: 'toa.target',\r\n JUSTME: 'toa.justME',\r\n };\r\n \r\n const TYPE_STRINGS = {\r\n NAN: 'NaN',\r\n INFINITY: 'Infinity',\r\n BOOLEAN: 'Boolean',\r\n OBJECT: 'Object',\r\n PROXY_PREFIX: 'Proxy for',\r\n };\r\n const detectableProxy = detectableProxyFactory();\r\n \r\n return Object.freeze({\r\n SymbolAndCustomProxyFactory: addSymbolsFactory, maybeFactory, WrapAnyFactory,\r\n verifyNothingness, determineType, detectableProxy,\r\n }\r\n );\r\n \r\n function detectableProxyFactory() {\r\n const trapped = type => ({\r\n get(target, key) {\r\n return key === Object[toaSymbols].proxy\r\n ? `Proxy for ${type}`\r\n : key === Object[toaSymbols].target\r\n ? target : Reflect.get(target, key);\r\n },\r\n has(target, key) { return key === Object[toaSymbols].proxy ? true : key in target; }\r\n });\r\n \r\n function wrapProxy(proxy2Wrap) {\r\n const type = proxy2Wrap.name || proxy2Wrap.constructor.name;\r\n return new Proxy( proxy2Wrap, trapped(type) );\r\n }\r\n \r\n function createDetectableProxy(target, traps) {\r\n traps = IS(traps, Object) ? traps : {};\r\n return wrapProxy(new Proxy(target, traps));\r\n }\r\n \r\n return {\r\n wrap: wrapProxy,\r\n create: createDetectableProxy\r\n };\r\n }\r\n \r\n function addSymbols2Anything(IS, typeOf) {\r\n if (!TOASymbols.is) {\r\n TOASymbols.is = Symbol(SYMBOL_KEYS.IS);\r\n TOASymbols.type = Symbol(SYMBOL_KEYS.TYPE);\r\n \r\n Object.defineProperties(Object.prototype, {\r\n [TOASymbols.type]: { get() { return typeOf(this); }, enumerable: false, configurable: true },\r\n [TOASymbols.is]: { value: function (...args) { return IS(this, ...args); }, enumerable: false, configurable: false },\r\n });\r\n Object.defineProperties(Object, {\r\n [TOASymbols.type]: { value(obj) { return typeOf(obj); }, enumerable: false, configurable: false },\r\n [TOASymbols.is]: { value: function (obj, ...args) { return IS(obj, ...args); }, enumerable: false, configurable: false },\r\n });\r\n }\r\n }\r\n \r\n function addSymbolsFactory(IS, typeOf, useSymbolicExtension) {\r\n \r\n if (!TOASymbols.isSymbol) {\r\n TOASymbols.isSymbol = Symbol(SYMBOL_KEYS.IS_SYMBOL);\r\n TOASymbols.proxy = Symbol(SYMBOL_KEYS.PROXY);\r\n TOASymbols.target = Symbol(SYMBOL_KEYS.TARGET);\r\n TOASymbols.justME = Symbol(SYMBOL_KEYS.JUSTME);\r\n }\r\n return {addSymbolicExtensions: () => addSymbols2Anything(IS, typeOf)};\r\n }\r\n \r\n function constructor2String(obj) {\r\n const ctor = !isNothing(obj, true) ? Object.getPrototypeOf(obj)?.constructor : {name: `unknown`};\r\n return ctor.name;\r\n }\r\n \r\n function processInput(input, ...shouldBe) {\r\n const noShouldbe = shouldBe.length < 1;\r\n const noInput = input === undefined || input === null;\r\n \r\n return {\r\n noInput,\r\n noShouldbe,\r\n compareTo: !noShouldbe && shouldBe[0],\r\n inputCTOR: !noInput && (input?.constructor || Object.getPrototypeOf(input)?.constructor),\r\n isNaN: Number.isNaN(input) || maybe({trial: _ => String(input) === TYPE_STRINGS.NAN}),\r\n isInfinity: maybe({trial: _ => String(input)}) === TYPE_STRINGS.INFINITY,\r\n shouldBeFirstElementIsNothing: !noShouldbe && verifyNothingness(shouldBe[0])\r\n };\r\n }\r\n \r\n function determineType(input, ...shouldBe) {\r\n let { noInput, noShouldbe, compareTo, inputCTOR, isNaN, isInfinity, shouldBeFirstElementIsNothing } =\r\n processInput(input, ...shouldBe);\r\n shouldBe = shouldBe.length && shouldBe[0];\r\n \r\n switch (true) {\r\n case shouldBeFirstElementIsNothing: return String(input) === String(compareTo);\r\n case input?.[Object[toaSymbols].proxy] && noShouldbe: return input[Object[toaSymbols].proxy];\r\n case input?.[Object[toaSymbols].proxy] && typeof shouldBe === `string`:\r\n return input[Object[toaSymbols].proxy].toLowerCase() === shouldBe.toLowerCase();\r\n case isNaN: return noShouldbe ? TYPE_STRINGS.NAN : String(compareTo) === String(input);\r\n case isInfinity: return noShouldbe ? TYPE_STRINGS.INFINITY : String(compareTo) === String(input);\r\n case noInput: return noShouldbe ? String(input) : String(compareTo) === String(input);\r\n case inputCTOR === Boolean: return noShouldbe ? TYPE_STRINGS.BOOLEAN : inputCTOR === shouldBe;\r\n default: return getResult(input, shouldBe, noShouldbe, finalInputResolver(input, inputCTOR));\r\n }\r\n }\r\n \r\n function finalInputResolver(input, inputCTOR) {\r\n switch(true) {\r\n case input === 0: return Number;\r\n case input === ``: return String;\r\n case !input: return {name: String(input)};\r\n default: return inputCTOR;\r\n }\r\n }\r\n \r\n function getResult(input, compareWith, noShouldbe, maybeResult) {\r\n switch (true) {\r\n case (!noShouldbe && compareWith === input) || (input?.[Object[toaSymbols].proxy] && compareWith === Proxy):\r\n return true;\r\n case String(compareWith) === TYPE_STRINGS.NAN:\r\n return String(input) === TYPE_STRINGS.NAN;\r\n case input?.[Symbol.toStringTag] && typeof compareWith === `string`:\r\n return String(compareWith) === input[Symbol.toStringTag];\r\n default:\r\n return compareWith ?\r\n resultWithComparison(input, compareWith, maybeResult) : resultWithoutComparison(input, maybeResult);\r\n }\r\n }\r\n \r\n function resultWithoutComparison(input, maybeResult) {\r\n const toStringTag = input?.[Symbol.toStringTag] ?? input?.prototype?.[Symbol.toStringTag];\r\n return toStringTag || maybeResult?.name || String(maybeResult);\r\n }\r\n \r\n function resultWithComparison(input, compareWith, maybeResult) {\r\n return maybe({trial: _ =>\r\n input instanceof compareWith}) ||\r\n compareWith === maybeResult ||\r\n compareWith === Object.getPrototypeOf(maybeResult) ||\r\n `${compareWith?.name}` === maybeResult?.name;\r\n }\r\n \r\n function WrapAnyFactory(IS, typeOf) {\r\n return function (someObj) {\r\n const wrapper = {\r\n get value() { return someObj; },\r\n is(...args) { return IS(someObj, ...args); },\r\n get type() { return typeOf(someObj); },\r\n };\r\n \r\n if (Object[Object[toaSymbols].type]) {\r\n Object.defineProperties(wrapper, {\r\n [Object[toaSymbols].type]: { get() { return typeOf(someObj);} },\r\n [Object[toaSymbols].is]: { value(...args) { return IS(someObj, ...args); }}\r\n });\r\n }\r\n return Object.freeze(wrapper);\r\n }\r\n }\r\n \r\n function maybeFactory() {\r\n const errFn = err => undefined;\r\n return function({trial, whenError = errFn } = {}) {\r\n try { return trial(); } catch (err) { return whenError(err); }\r\n };\r\n }\r\n \r\n function verifyNothingness(maybeNothing, all = false) {\r\n let nada = maybeNothing === null || maybeNothing === undefined;\r\n nada = all ? nada || IS(maybeNothing, Infinity) || IS(maybeNothing, NaN) : nada;\r\n return nada;\r\n }\r\n}\r\n\r\nfunction typeCheckFactory() {\r\n const collate = new Intl.Collator(`en`, {sensitivity: 'base'});\r\n const nameOf = type2Check => {\r\n return typeof type2Check?.constructor === `function`\r\n ? type2Check?.name || type2Check?.constructor?.name\r\n : typeof type2Check === `string` ? type2Check : typeof type2Check;\r\n };\r\n const isNothing = obj => [null, undefined, Infinity, NaN].some(v => v === obj);\r\n \r\n function checkSingleType(obj, type2Check) {\r\n if (\r\n type2Check !== obj &&\r\n ( isNothing(obj) || type2Check === Number && (Number.isNaN(obj) || !Number.isFinite(obj)) )\r\n ) { return false; }\r\n const [objName, typeName] = [nameOf(obj), nameOf(type2Check)];\r\n \r\n return obj?.[Object[toaSymbols].proxy] === type2Check ||\r\n type2Check === obj?.name ||\r\n 0 === collate.compare(objName, typeName) ||\r\n 0 === collate.compare(obj.constructor?.name, type2Check?.name) ||\r\n obj.constructor?.name === type2Check ||\r\n objName === type2Check ||\r\n 0 === collate.compare( Object.prototype.toString.call(obj), `[object ${typeName}]` );\r\n }\r\n \r\n return function checkType(obj, ...type2Check) {\r\n if (Array.isArray(type2Check) && type2Check.length > 1) {\r\n for (const chkType of type2Check) {\r\n if (checkSingleType(obj, chkType)) { return true; }\r\n }\r\n \r\n return false;\r\n }\r\n \r\n return checkSingleType(obj, type2Check?.[0]);\r\n }\r\n}\r\n", "let popupStyling = getPopupStyling();\r\nconst ATTRS = getAttrs();\r\nconst allTags = getPermissions();\r\nexport {popupStyling, ATTRS, allTags};\r\n\r\nfunction getAttrs() {\r\n return {\r\n 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`\r\n .split(`,`)),\r\n 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`\r\n .split(`,`)),\r\n };\r\n}\r\n\r\nfunction getPermissions() {\r\n return {a:true,area:true,audio:false,br:true,base:true,body:true,button:true,canvas:true,comment:true,dl:true,data:true,datalist:true,div:true,em:true, embed:false,fieldset:true,font:true,footer:true,form:false,hr:true,head:true,header:true,output:true,iframe:false,frameset:false,img:true,input:true,li:true,label:true,legend:true,link:true,map:true,mark:true,menu:true,media:true,meta:true,nav:true,meter:true,ol:true,object:false,optgroup:true,option:true,p:true,param:true,picture:true,pre:true,progress:false,quote:true,script:false,select:true,source:true,span:true,style:true,caption:true,td:true,col:true,table:true,tr:true,template:false,textarea:true,time:true,title:true,track:true,details:true,ul:true,video:true,del:true,ins:true,slot:true,blockquote:true,svg:true,dialog:true,summary:true,main:true,address:true,colgroup:true,tbody:true,tfoot:true,thead:true,th:true,dd:true,dt:true,figcaption:true,figure:true,i:true,b:true,code:true,h1:true,h2:true,h3:true,h4:true,abbr:true,bdo:true,dfn:true,kbd:true,q:true,rb:true,rp:true,rt:true,ruby:true,s:true,strike:true,samp:true,small:true,strong:true,sup:true,sub:true,u:true,var:true,wbr:true,nobr:true,tt:true,noscript:true};\r\n}\r\n\r\nfunction getPopupStyling() {\r\n return [\r\n \"::backdrop{background-color:grey;opacity:0.2;}\",\r\n \"#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;}}}\",\r\n \"@keyframes fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1, 1);display:flex;}}\",\r\n \"@keyframes fade-out{0%{opacity:1;transform:scale(1, 1);display:flex;}100%{opacity:0;transform:scale(0, 0);display:none;}}\",\r\n \"@keyframes warn-fade-in{0%{opacity:0;transform:scale(0, 0);display:none;}100%{opacity:1;transform:scale(1,1 );display:block;}}\",\r\n \"@keyframes warn-fade-out{0%{opacity:1;transform:scale(1, 1);display:block;}100%{opacity:0;transform:scale(0, 0);display:none;}}\"\r\n ];\r\n}\r\n", "// Standalone available @ https://www.npmjs.com/package/tinydom-es\n// Src/helpers.js\nvar checkType = typeCheckFactory();\nvar maybe = maybeFactory();\nvar converts = { html: `innerHTML`, text: `textContent`, class: `className` };\nfunction typeCheckFactory() {\n const collate = new Intl.Collator(`en`, { sensitivity: \"base\" });\n const nameOf = (type2Check) => {\n return typeof type2Check?.constructor === `function` ? type2Check?.name || type2Check?.constructor?.name : typeof type2Check === `string` ? type2Check : typeof type2Check;\n };\n const isNothing = (obj) => [null, void 0, Infinity, NaN].some((v) => v === obj);\n function checkSingleType(obj, type2Check) {\n switch (true) {\n case (type2Check !== obj && (isNothing(obj) || type2Check === Number && (Number.isNaN(obj) || !Number.isFinite(obj)))):\n return false;\n default:\n const [objName, typeName] = [nameOf(obj), nameOf(type2Check)];\n return obj?.[Symbol.proxy] === type2Check || type2Check === obj?.name || 0 === collate.compare(objName, typeName) || 0 === collate.compare(obj.constructor?.name, type2Check?.name) || obj.constructor?.name === type2Check || objName === type2Check || 0 === collate.compare(Object.prototype.toString.call(obj), `[object ${typeName}]`);\n }\n }\n return function checkType2(obj, ...type2Check) {\n if (Array.isArray(type2Check) && type2Check.length > 1) {\n for (const chkType of type2Check) {\n if (checkSingleType(obj, chkType)) {\n return true;\n }\n }\n return false;\n }\n return checkSingleType(obj, type2Check?.[0]);\n };\n}\nfunction ucFirst([first, ...theRest]) {\n return `${first.toUpperCase()}${theRest.join(``)}`;\n}\nfunction toDashedNotation(str2Convert) {\n return str2Convert.replace(/[A-Z]/g, (a) => `-${a.toLowerCase()}`).replace(/^-|-$/, ``);\n}\nfunction toCamelcase(str2Convert) {\n return checkType(str2Convert, String) ? str2Convert.toLowerCase().split(`-`).map((str, i) => i && `${ucFirst(str)}` || str).join(``) : str2Convert;\n}\nfunction maybeFactory() {\n const errFn = (err) => void 0;\n return function({ trial, whenError = errFn } = {}) {\n try {\n return trial();\n } catch (err) {\n return whenError(err);\n }\n };\n}\nfunction cloneExact(elementFunctionCollection2) {\n return Object.fromEntries(\n Object.entries(Object.getOwnPropertyDescriptors(elementFunctionCollection2))\n );\n}\nfunction cleanupProps(props) {\n if (Object.keys(props).length < 1) {\n return { assignable: {}, specials: [...Array(3)] };\n }\n const specials = retrieveSpecialProps(props);\n Object.keys(props).forEach((key) => {\n const keyCI = key.toLowerCase();\n keyCI in converts && (props[converts[keyCI]] = props[key]) && delete props[key];\n });\n return { assignable: props, specials };\n}\nfunction retrieveSpecialProps(props) {\n props = checkType(props, Object) && props || void 0;\n if (!props) {\n return Array(3);\n }\n const data = Object.entries(props.data ?? {});\n const attributes = Object.entries(props.attributes ?? {});\n const classList = props.class?.split(/[ ,]/).map((v) => v.trim()).filter((v) => v.length > 1);\n delete props.data;\n delete props.attributes;\n delete props.class;\n return [data, attributes, classList];\n}\nfunction cleanupComment(initial) {\n return initial?.constructor === Comment ? initial?.textContent : String(initial);\n}\nfunction isComment(tag) {\n return /comment/i.test(tag);\n}\nfunction containsHTML(str, tag) {\n return !isComment(tag) && checkType(str, String) && /<.*>|&[#|0-9a-z]+[^;];/i.test(str);\n}\nfunction validateElementTagName(tagName) {\n tagName = tagName.toLowerCase();\n return typeof tagName === `string` && tagName.length > 0 && /^[a-z]/.test(tagName) && /^[a-z0-9-]+$/gi.test(tagName);\n}\nfunction validateTag(name, customElementRegistry2, createElement2) {\n return validateElementTagName(name) && (name in customElementRegistry2 || !checkType(createElement2(name), HTMLUnknownElement));\n}\n\n// Src/tinyDOM.js\nvar elementFunctionCollection = Object.create(null, {});\nvar customElementRegistry = Object.create(null, {});\nvar tagFunctionError = (tag) => {\n console.error(`tinyDOM error: \"${tag}\" is not a valid HTML tag`);\n return void 0;\n};\nvar tinyDOM_default = tinyDOM();\nfunction tinyDOM() {\n return Object.seal(new Proxy(elementFunctionCollection, proxyTraps()));\n}\nfunction proxyTraps() {\n return {\n get(tagFns, key) {\n const tag = String(key);\n switch (true) {\n case tag in tagFns:\n return tagFns[tag];\n case validateTag(tag, customElementRegistry, createElement):\n return createTagFunctionProperty({ tag, key });\n default:\n return createTagFunctionProperty({ tag, key, isError: true });\n }\n },\n set(tagFns, key, value) {\n if (key === `setError` && typeof value === \"function\") {\n tagFunctionError = value;\n }\n return true;\n },\n enumerable: false,\n configurable: false\n };\n}\nfunction createTagFunctionProperty({ tag, key, custom, debug = false, isError = false } = {}) {\n let unsealedElementFunctionCollection = cloneExact(elementFunctionCollection);\n if (isError) {\n Object.defineProperty(unsealedElementFunctionCollection, tag, {\n get() {\n return (_) => tagFunctionError(key) ?? ``;\n }\n });\n return reSeal(unsealedElementFunctionCollection, tag);\n }\n if (tag.includes(`-`)) {\n const [dashed, camel] = tag.includes(`-`) ? [tag, toCamelcase(tag)] : [toDashedNotation(tag), tag];\n customElementRegistry[dashed] = dashed;\n customElementRegistry[camel] = dashed;\n custom = camel;\n }\n if (!!custom) {\n Object.defineProperty(unsealedElementFunctionCollection, custom, {\n get() {\n return tag2FN(tag);\n }\n });\n }\n Object.defineProperty(unsealedElementFunctionCollection, tag, {\n get() {\n return tag2FN(tag);\n }\n });\n return reSeal(unsealedElementFunctionCollection, tag);\n}\nfunction reSeal(unsealedCollection, tag) {\n elementFunctionCollection = Object.seal(new Proxy(unsealedCollection, proxyTraps()));\n return elementFunctionCollection[tag];\n}\nfunction processNext(root, next, tagName) {\n next = next?.isJQx && next.node || (checkType(next, Number) ? String(next) : next);\n return maybe({\n trial: (_) => containsHTML(next) ? root.insertAdjacentHTML(`beforeend`, next) : root.append(next),\n whenError: (err) => console.info(`${tagName} not created, reason\n`, err)\n });\n}\nfunction tagFN(tagName, initial, ...nested) {\n const elem = retrieveElementFromInitial(initial, tagName);\n nested?.forEach((arg) => processNext(elem, arg, tagName));\n return elem;\n}\nfunction retrieveElementFromInitial(initial, tag) {\n initial = isComment(tag) ? cleanupComment(initial) : initial?.isJQx ? initial.node : initial;\n switch (true) {\n case checkType(initial, String):\n return createElement(tag, containsHTML(initial, tag) ? { html: initial } : { text: initial });\n case initial instanceof Node:\n return createElementAndAppend(tag, initial);\n default:\n return createElement(tag, initial);\n }\n}\nfunction createElementAndAppend(tag, element2Append) {\n const elem = createElement(tag);\n elem.append(element2Append);\n return elem;\n}\nfunction assignSpecialProps(specialProps, element) {\n const [data, attributes, classList] = specialProps;\n data?.length && data.forEach(([key, value]) => element.dataset[key] = value);\n attributes?.length && attributes.forEach(([key, value]) => element.setAttribute(key, value));\n classList?.forEach((value) => element.classList.add(value));\n}\nfunction createElement(tagName, props) {\n props = props || {};\n const { assignable, specials } = cleanupProps(props);\n const elem = Object.assign(\n isComment(tagName) ? new Comment() : document.createElement(tagName),\n assignable\n );\n assignSpecialProps(specials, elem);\n return elem;\n}\nfunction tag2FN(tagName) {\n tagName = customElementRegistry[tagName] ?? tagName;\n return (initial, ...args) => tagFN(tagName, initial, ...args);\n}\nexport {\n tinyDOM_default as default\n};\n", "import {default as IS} from \"./TypeofAnything.js\";\r\nexport default LifeStyleFactory;\r\n\r\n/* region factory */\r\nfunction LifeStyleFactory({styleSheet, createWithId} = {}) {\r\n const { tryParseAtOrNestedRules, ruleExists, checkParams,\r\n sheet, removeRules, consider, currentSheetID } = sheetHelpers({styleSheet, createWithId});\r\n\r\n function setRules4Selector(rule, properties) {\r\n if (rule && properties.removeProperties) {\r\n Object.keys(properties.removeProperties)\r\n .forEach( prop => rule.style.removeProperty(toDashedNotation(prop)) );\r\n return;\r\n }\r\n\r\n Object.entries(properties)\r\n .forEach( ([prop, value]) => {\r\n prop = toDashedNotation(prop.trim());\r\n value = value.trim();\r\n\r\n let priority;\r\n\r\n if (/!important/.test(value)) {\r\n value = value.slice(0, value.indexOf(`!important`)).trim();\r\n priority = `important`;\r\n }\r\n\r\n if (!CSS.supports(prop, value)) {\r\n return console.error(`StylingFactory ${currentSheetID} error: '${\r\n prop}' with value '${value}' not supported (yet)`);\r\n }\r\n\r\n tryAndCatch( () => rule.style.setProperty(prop, value, priority),\r\n `StylingFactory ${currentSheetID} (setRule4Selector) failed`);\r\n });\r\n }\r\n\r\n function setRules(selector, styleRules, sheetOrMediaRules = sheet) {\r\n selector = selector?.trim?.();\r\n if (!IS(selector, String) || !selector.length || /[;,]$/g.test(selector)) {\r\n return console.error(`StylingFactory ${currentSheetID} (setRules): [${\r\n selector || `[no selector given]` }] is not a valid selector`);\r\n }\r\n\r\n if (styleRules.removeRule) {\r\n return removeRules(selector);\r\n }\r\n\r\n const exists = ruleExists(selector, true);\r\n const rule4Selector = exists\r\n || sheetOrMediaRules.cssRules[sheetOrMediaRules.insertRule(`${selector} {}`, sheetOrMediaRules.cssRules.length || 0)];\r\n\r\n return consider( () => setRules4Selector(rule4Selector, styleRules), selector, exists );\r\n }\r\n\r\n function doParse(cssDeclarationString) {\r\n const rule = cssDeclarationString.trim().split(/{/, 2);\r\n const selector = rule.shift().trim();\r\n\r\n if (!IS(selector, String) || !selector?.trim()?.length) {\r\n return console.error(`StylingFactory ${currentSheetID} (doParse): no (valid) selector could be extracted from rule ${\r\n shortenRule(cssDeclarationString)}`);\r\n }\r\n\r\n const cssRules = cssRuleFromText(rule.shift());\r\n\r\n return tryAndCatch( () => setRules(selector, cssRules), `StylingFactory ${currentSheetID} (setRules) failed` );\r\n }\r\n\r\n function styleFromString(cssDeclarationString) {\r\n const checkAts = tryParseAtOrNestedRules(cssDeclarationString);\r\n return checkAts.done ? checkAts.existing : doParse(cssDeclarationString);\r\n }\r\n\r\n function styleFromObject(selector, rulesObj) {\r\n if (selector.trim().startsWith(`@media`)) {\r\n return styleFromString(atMedia2String(selector, rulesObj));\r\n }\r\n return setRules(selector, rulesObj);\r\n }\r\n\r\n return function(cssBlockOrSelector, rulesObj = {}) {\r\n const checksOk = checkParams(cssBlockOrSelector, rulesObj);\r\n\r\n return checksOk && (\r\n Object.keys(rulesObj).length ?\r\n styleFromObject(cssBlockOrSelector, rulesObj) :\r\n styleFromString(cssBlockOrSelector) );\r\n };\r\n}\r\n/* endregion factory */\r\n\r\n/* region helpers */\r\nfunction sheetHelpers({styleSheet, createWithId}) {\r\n const notification = `Note: The rule or some of its properties may not be supported by your browser (yet)`;\r\n const currentSheetID = `for style#${createWithId}`;\r\n styleSheet = createWithId ? retrieveOrCreateSheet(createWithId) : styleSheet;\r\n\r\n function retrieveOrCreateSheet(id) {\r\n const existingSheet = document.querySelector(`#${id}`)?.sheet;\r\n\r\n if (existingSheet) { return existingSheet; }\r\n\r\n const newSheet = Object.assign(document.createElement(`style`), { id });\r\n document.head.insertAdjacentElement(`beforeend`, newSheet);\r\n return newSheet.sheet;\r\n }\r\n\r\n function notSupported(rule) {\r\n console.error(`StylingFactory ${currentSheetID} [rule: ${rule}]\r\n => @charset, @namespace and @import are not supported here`);\r\n return {done: true};\r\n }\r\n\r\n function ruleExists(ruleFragOrSelector, isSelector) {\r\n return [...styleSheet.rules].find( r =>\r\n isSelector ?\r\n compareSelectors((r.selectorText || ``), ruleFragOrSelector) :\r\n createRE`${escape4RegExp(ruleFragOrSelector)}${[...`gim`]}`.test(r.cssText));\r\n }\r\n\r\n function tryParseAtOrNestedRules(cssDeclarationString) {\r\n if (/^@charset|@import|namespace/i.test(cssDeclarationString.trim())) {\r\n return notSupported(cssDeclarationString);\r\n }\r\n\r\n if (cssDeclarationString.match(/}/g)?.length > 1) {\r\n return {existing: tryParse(cssDeclarationString, 1), done: true}\r\n }\r\n\r\n return { done: false };\r\n }\r\n\r\n function removeRules(selector) {\r\n const rulesAt = [...styleSheet.cssRules].reduce( (acc, v, i) =>\r\n compareSelectors(v.selectorText || ``, selector) && acc.concat(i) || acc, [] );\r\n const len = rulesAt.length;\r\n rulesAt.forEach(idx => styleSheet.deleteRule(idx));\r\n\r\n return len > 0\r\n ? console.info(`\u2714 Removed ${len} instance${len > 1 ? `s` : ``} of selector ${\r\n selector} from ${currentSheetID.slice(4)}`)\r\n : console.info(`\u2714 Remove rule: selector ${selector} does not exist in ${\r\n currentSheetID.slice(4)}`);\r\n }\r\n\r\n function checkParams(cssBlockOrSelector, rulesObj) {\r\n return cssBlockOrSelector\r\n && IS(cssBlockOrSelector, String)\r\n && cssBlockOrSelector.trim().length > 0\r\n && IS(rulesObj, Object) ||\r\n (console.error(`StylingFactory ${currentSheetID} called with invalid parameters`), false);\r\n }\r\n\r\n function tryParse(cssDeclarationString) {\r\n cssDeclarationString = cssDeclarationString.trim();\r\n const rule = cssDeclarationString.slice(0, cssDeclarationString.indexOf(`{`)).trim();\r\n const exists = !!ruleExists(rule);\r\n\r\n try {\r\n return (styleSheet.insertRule(`${cssDeclarationString}`, styleSheet.cssRules.length), exists);\r\n } catch(err) {\r\n return (console.error(`StylingFactory ${currentSheetID} (tryParse) ${err.name} Error:\\n${\r\n err.message}\\nRule: ${\r\n shortenRule(cssDeclarationString)}\\n${\r\n notification}`),\r\n exists);\r\n }\r\n }\r\n\r\n function consider(fn, rule, existing) {\r\n try {\r\n return (fn(), existing);\r\n } catch(err) {\r\n return (\r\n console.error(`StylingFactory ${currentSheetID} (tryAddOrModify) ${err.name} Error:\\n${\r\n err.message}\\nRule: ${shortenRule(rule)}\\n${notification}`),\r\n existing\r\n );\r\n }\r\n }\r\n\r\n return {\r\n sheet: styleSheet, removeRules, tryParseAtOrNestedRules,\r\n ruleExists, checkParams, tryParse, consider,\r\n currentSheetID };\r\n}\r\n/* endregion helpers */\r\n\r\n/* region globalOrShared */\r\nfunction atMedia2String(selector, rulesObj) {\r\n return `${selector.trim()} ${\r\n Object.entries(rulesObj).map( ( [ selectr, rule] ) =>\r\n `${selectr}: { ${stringifyMediaRule(rule) }` ) }`;\r\n}\r\n\r\nfunction shortenRule(rule) {\r\n const shortRule = (rule || `NO RULE`).trim().slice(0, 50).replace(/\\n/g, `\\\\n`).replace(/\\s{2,}/g, ` `);\r\n return rule.length > shortRule.length ? `${shortRule.trim()}...truncated` : shortRule;\r\n}\r\n\r\nfunction stringifyMediaRule(mediaObj) {\r\n return Object.entries(mediaObj)\r\n .map( ([key, value]) => `${key}: ${value.trim()}`).join(`;\\n`);\r\n}\r\n\r\nfunction escape4RegExp(str) {\r\n return str.replace(/([*\\[\\]()-+{}.$?\\\\])/g, a => `\\\\${a}`);\r\n}\r\n\r\nfunction createRE(regexStr, ...args) {\r\n const flags = args.length && Array.isArray(args.slice(-1)) ? args.pop().join(``) : ``;\r\n\r\n return new RegExp(\r\n (args.length &&\r\n regexStr.raw.reduce( (a, v, i ) => a.concat(args[i-1] || ``).concat(v), ``) ||\r\n regexStr.raw.join(``))\r\n .split(`\\n`)\r\n .map( line => line.replace(/\\s|\\/\\/.*$/g, ``).trim().replace(/(@s!)/g, ` `) )\r\n .join(``), flags);\r\n}\r\n\r\nfunction toDashedNotation(str2Convert) {\r\n return str2Convert.replace(/[A-Z]/g, a => `-${a.toLowerCase()}`).replace(/[^--]^-|-$/, ``);\r\n}\r\n\r\nfunction tryAndCatch(fn, msg) {\r\n try { return fn(); }\r\n catch(err) { console.error( `${msg || `an error occured`}: ${err.message}` ); }\r\n}\r\n\r\nfunction prepareCssRuleFromText(rule) {\r\n return rule\r\n .replace(/\\/\\*.+?\\*\\//gm, ``)\r\n .replace(/[}{\\r\\n]/g, ``)\r\n .replace(/(data:.+?);/g, (_,b) => `${b}\\\\3b`)\r\n .split(`;`)\r\n .map(l => l.trim())\r\n .join(`;\\n`)\r\n .replaceAll(`\\\\3b`, `;`)\r\n .split(`\\n`);\r\n}\r\n\r\nfunction toRuleObject(preparedRule) {\r\n return preparedRule\r\n .reduce( (acc, v) => {\r\n const [key, value] = [\r\n v.slice(0, v.indexOf(`:`)).trim(),\r\n v.slice(v.indexOf(`:`) + 1).trim().replace(/;$|;.+(?=\\/*).+\\/$/, ``)];\r\n return key && value ? {...acc, [key]: value} : acc; }, {} );\r\n}\r\n\r\nfunction cssRuleFromText(rule) {\r\n return toRuleObject(prepareCssRuleFromText(rule));\r\n}\r\n\r\nfunction compareSelectors(s1, s2) {\r\n return s1?.replace(`::`, `:`) === s2?.replace(`::`, `:`);\r\n}\r\n/* endregion globalOrShared */\r\n", "import { allTags } from \"./EmbedResources.js\";\r\nimport { IS } from \"./Utilities.js\";\r\nlet lenient = false;\r\nconst allowUnknownHtmlTags = {\r\n on: () => lenient = true,\r\n off: () => lenient = false,\r\n};\r\nexport default {\r\n tagsRaw: allTags,\r\n allowUnknownHtmlTags,\r\n isAllowed(elem) {\r\n if (lenient) { return true; }\r\n const nodeName = IS(elem, String) ? elem.toLowerCase() : elem?.nodeName.toLowerCase() || `none`;\r\n return nodeName === `#text` || !!allTags[nodeName];\r\n },\r\n allowTag: tag2Allow => allTags[tag2Allow.toLowerCase()] = true,\r\n prohibitTag: tag2Prohibit => allTags[tag2Prohibit.toLowerCase()] = false,\r\n};\r\n", "import cleanupTagInfo from \"./HTMLTags.js\";\r\nimport {ATTRS, IS, truncate2SingleStr, escHtml, systemLog} from \"./Utilities.js\";\r\n\r\nlet logElementCreationErrors2Console = true;\r\nconst attrRegExpStore = {\r\n data: /data-[\\-\\w.\\p{L}]/ui, // data-* minimal 1 character after dash\r\n validURL: /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i,\r\n whiteSpace: /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g,\r\n notAllowedValues: /^javascript|injected|noreferrer|alert|DataURL/gi\r\n};\r\n\r\nfunction logContingentErrors(elCreationInfo) {\r\n if (logElementCreationErrors2Console && Object.keys(elCreationInfo.removed).length) {\r\n const msgs = Object.entries(elCreationInfo.removed)\r\n .reduce( (acc, [k, v]) => [...acc, `${escHtml(k)} => ${v}`], [])\r\n .join(`\\\\000A`);\r\n systemLog.error(`JQx: HTML creation error(s): ${msgs}`);\r\n }\r\n}\r\n\r\nfunction elementCheck(child) {\r\n const name = child.nodeName.toLowerCase();\r\n const notAllowedCustomElementNames = [\r\n `annotation-xml`, `color-profile`, `font-face`, `font-face-src`,\r\n `font-face-uri`, `font-face-format`, `font-face-name`, `missing-glyph` ];\r\n return /-/.test(name) && !notAllowedCustomElementNames.find(v => v === name) || cleanupTagInfo.isAllowed(name);\r\n}\r\n\r\nfunction cleanupHtml(el2Clean) {\r\n const elCreationInfo = {\r\n rawHTML: el2Clean?.parentElement?.getHTML() ?? `no html`,\r\n removed: { },\r\n }\r\n\r\n if (IS(el2Clean, HTMLElement)) {\r\n [...el2Clean.childNodes].forEach(child => {\r\n if (child?.children?.length) {\r\n cleanupHtml(child);\r\n }\r\n if (child?.attributes) {\r\n const attrStore = IS(child, SVGElement) ? ATTRS.svg : ATTRS.html;\r\n\r\n [...(child ?? {attributes: []}).attributes]\r\n .forEach(attr => {\r\n const name = attr.name.trim().toLowerCase();\r\n const value = attr.value.trim().toLowerCase().replace(attrRegExpStore.whiteSpace, ``);\r\n const evilValue = name === \"href\"\r\n ? !attrRegExpStore.validURL.test(value)\r\n : attrRegExpStore.notAllowedValues.test(value);\r\n const evilAttrib = name.startsWith(`data`) ? !attrRegExpStore.data.test(name) : !!attrStore[name];\r\n\r\n if (evilValue || evilAttrib) {\r\n let val = truncate2SingleStr(attr.value || `none`, 60);\r\n val += val.length === 60 ? `...` : ``;\r\n elCreationInfo.removed[`${attr.name}`] = `attribute/property/value not allowed, removed. Value: ${\r\n val}`;\r\n child.removeAttribute(attr.name);\r\n }\r\n });\r\n }\r\n\r\n const allowed = elementCheck(child) ||\r\n child.constructor === CharacterData ||\r\n child.constructor === Comment;\r\n\r\n if (!allowed) {\r\n const tag = (child?.outerHTML || child?.textContent).trim();\r\n let tagValue = truncate2SingleStr(tag, 60) ?? `EMPTY`;\r\n tagValue += tagValue.length === 60 ? `...` : ``;\r\n elCreationInfo.removed[`<${child.nodeName?.toLowerCase()}>`] = `not allowed, not rendered. Value: ${\r\n tagValue}`;\r\n child.remove();\r\n }\r\n });\r\n }\r\n logContingentErrors(elCreationInfo);\r\n\r\n return el2Clean;\r\n}\r\nconst emphasize = str => `***${str}***`;\r\nconst getRestricted = emphasizeTag =>\r\n Object.entries(cleanupTagInfo)\r\n .reduce((acc, [key, value]) =>\r\n !value.allowed &&\r\n [...acc, (emphasizeTag && key === emphasizeTag ? emphasize(key) : key)] ||\r\n acc, []);\r\n\r\nexport { cleanupHtml, getRestricted, ATTRS};\r\n", "import { cleanupHtml, getRestricted, } from \"./DOMCleanup.js\";\r\nimport {ATTRS, IS, insertPositions, isNode, truncateHtmlStr} from \"./Utilities.js\";\r\n\r\nexport {\r\n getRestricted, createElementFromHtmlString, element2DOM,\r\n cleanupHtml, inject2DOMTree, ATTRS\r\n};\r\n\r\nfunction htmlToVirtualElement(htmlString) {\r\n const placeholderNode = document.createElement(\"div\");\r\n placeholderNode.insertAdjacentHTML(insertPositions.end, htmlString);\r\n return placeholderNode.childNodes.length\r\n ? cleanupHtml(placeholderNode)\r\n : undefined;\r\n}\r\n\r\nfunction characterDataElement2DOM(elem, root, position) {\r\n switch(true) {\r\n case IS(elem, Comment): return root.insertAdjacentHTML(position, `<!--${elem.data}-->`);\r\n case IS(elem, Text): return root.insertAdjacentText(position, elem.data || elem.textContent);\r\n default: return;\r\n }\r\n}\r\n\r\nfunction inject2DOMTree( collection = [], root = document.body, position = insertPositions.BeforeEnd ) {\r\n position = position || insertPositions.BeforeEnd;\r\n root = root?.isJQx ? root.node : root || document.body;\r\n return collection.reduce( (acc, elem) => {\r\n const created = isNode(elem) && element2DOM(elem, root, position);\r\n return created ? [...acc, created] : acc;\r\n }, []);\r\n}\r\n\r\nfunction element2DOM(elem, root = document.body, position = insertPositions.BeforeEnd) {\r\n position = position || insertPositions.BeforeEnd;\r\n root = root?.isJQx ? root?.[0] : root;\r\n\r\n return IS(elem, Comment, Text)\r\n ? characterDataElement2DOM(elem, root, position)\r\n : IS(elem, HTMLElement) ? root.insertAdjacentElement(position, elem) : undefined;\r\n}\r\n\r\nfunction createElementFromHtmlString(htmlStrOrText) {\r\n if (IS(htmlStrOrText, Text, Comment)) {\r\n return htmlStrOrText;\r\n }\r\n \r\n const testStr = htmlStrOrText?.trim();\r\n let text = testStr?.split(/<text>|<\\/text>/i) ?? [];\r\n\r\n if (text?.length) {\r\n text = text.length > 1 ? text.filter(v => v.length).shift() : undefined;\r\n }\r\n\r\n if (testStr.startsWith(`<!--`) && testStr.endsWith(`-->`)) {\r\n return document.createComment(htmlStrOrText.replace(/<!--|-->$/g, ''));\r\n }\r\n \r\n if (!!text || (IS(testStr, String) && !/^<(.+)[^>]+>/m.test(testStr))) {\r\n return document.createTextNode(text ?? testStr);\r\n }\r\n\r\n const nwElem = htmlToVirtualElement(htmlStrOrText);\r\n\r\n if (nwElem.childNodes.length < 1) {\r\n return createElementFromHtmlString(`<span data-jqxcreationerror=\"1\">${truncateHtmlStr(htmlStrOrText, 60)}</span>`);\r\n }\r\n\r\n return nwElem.children[0];\r\n}\r\n", "import { popupStyling as styleRules } from \"./EmbedResources.js\";\r\n\r\nexport default function($) {\r\n if ($.node(`#jqxPopup`)) { return; }\r\n $.logger.log(`JQx: [JQx].Popup first call. Dialog element created.`);\r\n $.dialog({id: `jqxPopup`}, $.div({ id: \"jqxPopupContent\" })).render;\r\n $.editCssRules(...styleRules);\r\n let timers = [];\r\n const [popupContent, popupNode] = [$(`#jqxPopupContent`), $.node(`#jqxPopup`)];\r\n let currentProps = {};\r\n $.handle( {\r\n type: `click, cancel`,\r\n handlers: genericPopupCloseHandler,\r\n name: \"genericPopupCloseHandler\",\r\n capture: true,\r\n about: \"A generic handler for JQx popups\"} );\r\n return Object.freeze({show: initPopup, remove: initHidePopup, removeModal});\r\n\r\n function initPopup(props) {\r\n if (popupNode.open) {\r\n switch(true) {\r\n case isCurrent(props): return;\r\n default:\r\n initHidePopup();\r\n return setTimeout(() => initPopup(props), 200);\r\n }\r\n }\r\n \r\n currentProps = {...props};\r\n let {content} = currentProps;\r\n return !($.IS(content, String, HTMLElement) || content?.isJQx) ? true : showPopup();\r\n }\r\n\r\n function initHidePopup() {\r\n if (currentProps.modal) {\r\n return failModalClose(currentProps.warnMessage);\r\n }\r\n\r\n return hidePopup();\r\n }\r\n \r\n function isCurrent(props) {\r\n for (const [key, value] of Object.entries(currentProps)) {\r\n if (value !== props[key]) { return false; }\r\n }\r\n return true;\r\n }\r\n \r\n function showPopup() {\r\n popupContent.clear();\r\n let {content, modal, closeAfter} = currentProps;\r\n modal = $.IS(modal, Boolean) ? modal : false;\r\n const closerIcon = modal ? \"\" : $.div({ id: \"closeHandleIcon\"});\r\n popupContent.append(closerIcon, $.IS(content, String) ? $.div(content) : content);\r\n popupNode.showModal();\r\n if (!modal && $.IS(closeAfter, Number)) { createTimer(initHidePopup, closeAfter); }\r\n }\r\n\r\n function hidePopup() {\r\n popupNode.close(currentProps.returnValue);\r\n clearTimers();\r\n if ($.IS(currentProps.callback, Function)) {\r\n return timers.push(setTimeout(() => currentProps.callback(currentProps.returnValue), 200));\r\n }\r\n currentProps = {};\r\n }\r\n \r\n function clearTimers() {\r\n timers.forEach(timer => clearTimeout(timer));\r\n timers = [];\r\n }\r\n\r\n function removeModal({callback, value} = {}) {\r\n currentProps.returnValue = value;\r\n currentProps.modal = false;\r\n currentProps.callback = callback || currentProps.callback;\r\n initHidePopup();\r\n }\r\n\r\n function genericPopupCloseHandler({evt}) {\r\n if ( Object.keys(currentProps).length < 1 || !popupNode.open ) { return; }\r\n \r\n if (evt.type === `cancel` && currentProps.modal) { evt.preventDefault(); }\r\n \r\n if (evt.target.closest(`#closeHandleIcon`) || !evt.target.closest(`#jqxPopupContent`)) {\r\n currentProps.activeTimer && clearTimeout(currentProps.activeTimer);\r\n return initHidePopup();\r\n }\r\n }\r\n\r\n function createTimer(callback, seconds) {\r\n if ($.IS(callback, Function) && $.IS(seconds, Number) && seconds > 0) {\r\n clearTimers();\r\n timers.push(setTimeout(callback, seconds * 1000));\r\n }\r\n }\r\n\r\n function failModalClose(warnMessage) {\r\n if (!$.IS(warnMessage, String, HTMLElement) && !warnMessage.isJQx) { return; }\r\n let modalWarningBox = popupContent.find$(`.warn`);\r\n // note: fall through is intentional.\r\n switch(true) {\r\n case modalWarningBox.is.empty: modalWarningBox = $.div({class: `warn`}, warnMessage);\r\n default: popupContent.append(modalWarningBox.addClass(`active`));\r\n createTimer(() => popupContent.find$(`.warn`).removeClass(`active`), 2);\r\n }\r\n }\r\n}\r\n", "import {IS, isNonEmptyString, getCaptureValue, getHandlerName, handlerIdCache, systemLog} from \"./Utilities.js\";\r\n\r\nexport { HandlerFactory };\r\n\r\nfunction HandlerFactory(jqx) {\r\n const store = {};\r\n const anon = `anonymous_`;\r\n \r\n function setListener(listener) {\r\n if (listener) {\r\n const {handler, capture, type} = listener;\r\n document.addEventListener(type, handler, {capture});\r\n }\r\n }\r\n \r\n function removeListener(listener) {\r\n if (listener) {\r\n const {type, handler, capture} = listener;\r\n document.removeEventListener(type, handler, {capture});\r\n }\r\n }\r\n \r\n function wrapFn4Selector(fn, selector, once, handlerName) {\r\n return function(evt) {\r\n if (!isNonEmptyString(selector)) {\r\n return fn({evt});\r\n }\r\n \r\n const elemFound = evt.target.closest(selector);\r\n if (elemFound) {\r\n const me = jqx(elemFound);\r\n fn({self: me, me, evt}); // self is legacy\r\n // to avoid listener removal on capturing/bubbling,\r\n // once is handled manually\r\n if (once) { remove(evt.type, handlerName); }\r\n }\r\n return true;\r\n }\r\n }\r\n \r\n function storedEventType(eventType) {\r\n store[eventType] = store[eventType] || {};\r\n return store[eventType];\r\n }\r\n \r\n function retrieve(eventType, name) {\r\n return Object.entries(storedEventType(eventType))\r\n .find( ([key, ]) => key === name );\r\n }\r\n \r\n function remove(eventType, name) {\r\n const listener = retrieve(eventType, name);\r\n if (listener) {\r\n removeListener(listener[1]);\r\n delete store[eventType][name];\r\n delete handlerIdCache[name];\r\n \r\n systemLog.warn(`Removed listener [${name}] for event type [${eventType}].`);\r\n }\r\n }\r\n \r\n function storeHandler(spec) {\r\n let { type, handler, name, capture, once, selector, node, about } = spec;\r\n store[type] = store[type] || {};\r\n const handlerName = getHandlerName(name || handler.name);\r\n const initialHandler = handler;\r\n if (node instanceof HTMLElement) {\r\n // Note: for multiple event types dataset.hid may be defined already\r\n const handlerID = node.dataset.hid || handlerName;\r\n node.dataset.hid = handlerID;\r\n selector = `[data-hid=${handlerID}]`;\r\n }\r\n \r\n switch(true) {\r\n case !store[type][handlerName]:\r\n systemLog.log(`JQx: created listener for event type ${type}, with handler name ${handlerName}`);\r\n store[type][handlerName] = {\r\n name: handlerName,\r\n handler: wrapFn4Selector(handler, selector, once, handlerName),\r\n capture: getCaptureValue(type, capture),\r\n once: !!once,\r\n type: type,\r\n initialHandler,\r\n selector: !!selector && selector || false,\r\n about: !!about && about || false,\r\n unListen() { remove(type, handlerName); },\r\n };\r\n return store[type][handlerName];\r\n default: return console.warn(`The listener [${handlerName}] for [${\r\n type}] exists, it is not re-assigned.`);\r\n }\r\n }\r\n // todo: maybe enable a custom unListen handler\r\n return {\r\n remove(...args) { return remove(...args); },\r\n listen: function(spec) {\r\n const { type, handler } = spec;\r\n if ( !isNonEmptyString(type) || !IS(handler, Function) ) { return; }\r\n const nwHandler = storeHandler(spec);\r\n \r\n if (nwHandler) {\r\n setListener(nwHandler);\r\n return {\r\n type,\r\n name: nwHandler.name,\r\n unListen() { remove(type, nwHandler.name); },\r\n };\r\n }\r\n },\r\n get ListenerStore() { return Object.freeze({...store}); }\r\n };\r\n}\r\n", "import {default as IS, maybe, proxyWrapper, addSymbolicExtensions, } from \"./TypeofAnything.js\";\r\nimport {ATTRS} from \"./EmbedResources.js\";\r\nimport {default as tagFNFactory} from \"./tinyDOM.js\";\r\nimport styleFactory from \"./LifeCSS.js\";\r\nimport {createElementFromHtmlString, inject2DOMTree, cleanupHtml} from \"./DOM.js\";\r\nimport PopupFactory from \"./Popup.js\";\r\nimport { HandlerFactory } from \"./HandlerFactory.js\";\r\nimport tagLib from \"./HTMLTags.js\";\r\naddSymbolicExtensions();\r\nconst systemLog = systemLogFactory();\r\nconst allwaysCaptureEventTypes = [\r\n `load`, `unload`, `scroll`, `focus`, `blur`, `DOMNodeRemovedFromDocument`,\r\n `DOMNodeInsertedIntoDocument`, `loadstart`, `progress`, `error`, `abort`,\r\n `load`, `loadend`, `pointerenter`, `pointerleave`, `readystatechange`];\r\nconst insertPositions = Object.freeze(new Proxy({\r\n start: \"afterbegin\", afterbegin: \"afterbegin\",\r\n end: \"beforeend\", beforeend: \"beforeend\",\r\n before: \"beforebegin\", beforebegin: \"beforebegin\",\r\n after: \"afterend\", afterend: \"afterend\" }, {\r\n get(obj, key) { return obj[String(key).toLowerCase()] ?? obj[key]; }\r\n}));\r\nconst characters4RandomString = [...Array(26)]\r\n .map((x, i) => String.fromCharCode(i + 65))\r\n .concat([...Array(26)].map((x, i) => String.fromCharCode(i + 97)))\r\n .concat([...Array(10)].map((x, i) => `${i}`));\r\nconst datasetKeyProxy = Object.freeze({\r\n get(obj, key) { return obj[toCamelcase(key)] || obj[key]; },\r\n enumerable: false,\r\n configurable: false\r\n});\r\nconst handlerIdCache = {};\r\n\r\nexport {\r\n after, applyStyle, assignAttrValues, ATTRS, beforeOrAfter, checkProp, cleanupHtml, clearAllTimers,\r\n cloneAndDestroy, convert2Bool, createElementFromHtmlString, datasetKeyProxy, ElemArray2HtmlString, emptyElement,\r\n escHtml, findParentScrollDistance, getAttributesForLogging, getCaptureValue, getHandlerName, HandlerFactory,\r\n handlerIdCache, inject2DOMTree, input2Collection, insertPositions, IS, isArrayOfHtmlElements, isArrayOfHtmlStrings,\r\n isComment, isCommentOrTextNode, isHtmlString, isModal, isNode, isNonEmptyString, isText, isVisible, isWritable,\r\n logTime, maybe, pad0,PopupFactory, proxyWrapper, randomNr, randomString, resolveEventTypeParameter, setData,\r\n styleFactory, systemLog, tagFNFactory, tagLib, toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr,\r\n ucFirst,\r\n};\r\n\r\nfunction clearAllTimers() {\r\n let id = setTimeout(() => {});\r\n while (id >= 0) { clearTimeout(id--); }\r\n}\r\n\r\nfunction getHandlerName(name) {\r\n const validName = isNonEmptyString(name) && !/^handler|handlers$/gi.test(name.trim())\r\n return validName ? name.trim() : uniqueHandlerID();\r\n}\r\n\r\nfunction getAttributesForLogging(instance) {\r\n const isElem = !!instance.node && !IS(instance, Text, Comment);\r\n switch(true) {\r\n case isElem:\r\n const dataset = instance.node.dataset ? Object.keys(instance.node.dataset)\r\n .map(v => `[data-${v}]`) : [];\r\n const relevantAttrs = [\r\n instance.attr(`id`) && `#${instance?.attr(`id`)}` || undefined,\r\n instance.attr(`class`) && instance?.attr(`class`).split(` `).map(v => `.${v}`).join(', ') || undefined,\r\n dataset.length > 0 && dataset.join(`, `) || undefined,\r\n ];\r\n const attrs = relevantAttrs.filter(v => !!v).join(`, `) || [];\r\n return attrs.length ? `(${attrs})` : ``;\r\n default: return ``;\r\n }\r\n}\r\n\r\nfunction uniqueHandlerID(idCache) {\r\n const anonID = `anonymous_${Math.random().toString(36).slice(2)}`;\r\n \r\n if (!handlerIdCache[anonID]) {\r\n handlerIdCache[anonID] = anonID;\r\n return anonID;\r\n }\r\n \r\n return uniqueHandlerID();\r\n}\r\n\r\nfunction getCaptureValue(eventType, captureValue) {\r\n return !!(allwaysCaptureEventTypes.find(t => t === eventType)) || !!captureValue;\r\n}\r\n\r\nfunction checkProp(prop) {\r\n return prop.startsWith(`data`) || ATTRS.html.find(attr => prop.toLowerCase() === attr);\r\n}\r\n\r\nfunction emptyElement(el) {\r\n return el && (el.textContent = \"\");\r\n}\r\n\r\nfunction findParentScrollDistance(node, distance = 0, top = true) {\r\n node = node?.parentElement;\r\n const what = top ? `scrollTop` : `scrollLeft`;\r\n distance += node ? node[what] : 0;\r\n return !node ? distance : findParentScrollDistance(node, distance, top);\r\n}\r\n\r\nfunction isNonEmptyString(str, minlen = 1) {\r\n minlen = IS(minlen, Number) && minlen || 1;\r\n return IS(str, String) && str.length >= minlen;\r\n}\r\n\r\nfunction truncate2SingleStr(str, maxLength = 120) {\r\n return truncateHtmlStr(str, maxLength).replace(/</g, `<`);\r\n}\r\n\r\nfunction truncateHtmlStr(str, maxLength = 120) {\r\n return `${str}`\r\n .trim()\r\n .slice(0, maxLength)\r\n .replace(/>\\s+</g, `><`)\r\n .replace(/</g, `<`)\r\n .replace(/\\s{2,}/g, ` `)\r\n .replace(/\\n/g, `\\\\n`) + (str.length > maxLength ? ` …` : ``).trim();\r\n}\r\n\r\nfunction escHtml(html) {\r\n switch(true) {\r\n case IS(html, String):\r\n const tmpDiv = document.createElement(\"div\");\r\n tmpDiv.append(html);\r\n return tmpDiv.innerHTML;\r\n default: return html;\r\n }\r\n}\r\n\r\n/* private */\r\nfunction decodeForConsole(something) {\r\n return IS(something, String) &&\r\n Object.assign(\r\n document.createElement(`textarea`),\r\n {innerHTML: something}).textContent || something;\r\n}\r\n\r\nfunction systemLogFactory() {\r\n let [on, disabled] = [false, true];\r\n \r\n const backLog = [];\r\n const systemLogger = {\r\n get on() { on = true; return systemLogger; },\r\n get off() { on = false; return systemLogger; },\r\n get disable() { disabled = true; return systemLogger; },\r\n get enable() { disabled = false; return systemLogger; },\r\n get backLog() { return backLog; },\r\n };\r\n \r\n function disable() {\r\n disabled = true;\r\n }\r\n \r\n function enable() {\r\n disabled = false;\r\n }\r\n \r\n function error(...args) {\r\n backLog.unshift(...args.map(arg => `${logTime()} \u2A3B ${decodeForConsole(arg)}`));\r\n console.error(backLog.slice(0, args.length).join(`\\n`));\r\n return systemLogger;\r\n }\r\n \r\n function warn(...args) {\r\n backLog.unshift(...args.map(arg => `${logTime()} \u26A0 ${decodeForConsole(arg)}`));\r\n console.warn(backLog.slice(0, args.length).join(`\\n`));\r\n return systemLogger;\r\n }\r\n \r\n function log(...args) {\r\n const entryTxt = args.map(arg => `${logTime()} \u2714 ${decodeForConsole(arg)}`);\r\n !disabled && backLog.unshift(...entryTxt);\r\n switch(on) {\r\n case true: console.log(entryTxt.join(`\\n`));\r\n default: return systemLogger;\r\n }\r\n }\r\n \r\n Object.defineProperties(systemLogger, {\r\n log: {value: log, enumerable: false},\r\n error: {value: error, enumerable: false},\r\n warn: {value: warn, enumerable: false},\r\n });\r\n \r\n return Object.freeze(systemLogger);\r\n}\r\n\r\nfunction logTime() {\r\n return ((d) =>\r\n `[${pad0(d.getHours())}:${pad0(d.getMinutes())}:${\r\n pad0(d.getSeconds())}.${pad0(d.getMilliseconds(), 3)}]`)(new Date());\r\n}\r\n\r\nfunction assignAttrValues(el, keyValuePairs) {\r\n if (el) {\r\n for (let [key, value] of Object.entries(keyValuePairs)) {\r\n key = toDashedNotation(key);\r\n if (key.startsWith(`data`)) {\r\n return setData(el, value);\r\n }\r\n \r\n if (IS(value, String) && checkProp(key)) {\r\n el.setAttribute(key, value.split(/[, ]/)?.join(` `));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction setData(el, keyValuePairs) {\r\n if (el && IS(keyValuePairs, Object)) {\r\n for (const [key, value] of Object.entries(keyValuePairs)) {\r\n el.setAttribute(`data-${toDashedNotation(key)}`, value);\r\n }\r\n }\r\n}\r\n\r\nfunction input2Collection(input) {\r\n return !input ? []\r\n : input.EL ? [input.EL]\r\n : IS(input, NodeList) ? [...input]\r\n : isNode(input) ? [input]\r\n : isArrayOfHtmlElements(input) ? input\r\n : input.isJQx ? input.collection : undefined;\r\n}\r\n\r\n\r\n\r\nfunction after(instance, elem2AddAfter) {\r\n return instance.andThen(elem2AddAfter);\r\n}\r\n\r\nfunction beforeOrAfter(instance, jqx, after = true, ...toAdd) {\r\n if (instance.is.empty) {\r\n systemLog.log(`[JQx instance].[before(Me) | after(Me) | andThen]: instance is empty.`, );\r\n return instance;\r\n }\r\n \r\n toAdd = toAdd.map(elem => elem.isJQx ? elem.node : IS(elem, String) ? jqx(elem).node ?? elem : elem );\r\n const noCando = toAdd.find(elem => !IS(elem, String, Element));\r\n \r\n if (noCando) {\r\n const bOrA = after ? `after` : `before`;\r\n systemLog.log(`[JQx instance].[${bOrA}(Me)]: invalid/-sufficient input.`, );\r\n return instance;\r\n }\r\n \r\n instance.node[after ? `after` : `before`](...toAdd);\r\n \r\n return instance;\r\n}\r\n\r\nfunction before(instance, elem2AddBefore) {\r\n return instance.andThen(elem2AddBefore, true);\r\n}\r\n\r\nfunction isNode(input) {\r\n return IS(input, Text, HTMLElement, Comment)\r\n}\r\n\r\nfunction applyStyle(el, rules) {\r\n if (IS(rules, Object)) {\r\n for (let [key, value] of Object.entries(rules)) {\r\n let priority;\r\n if (/!important/i.test(value)) {\r\n value = value.slice(0, value.indexOf(`!`)).trim();\r\n priority = 'important';\r\n }\r\n \r\n el.style.setProperty(toDashedNotation(key), value, priority)\r\n }\r\n }\r\n}\r\n\r\nfunction cloneAndDestroy(elem) {\r\n const cloned = elem.cloneNode(true)\r\n cloned.removeAttribute && cloned.removeAttribute(`id`);\r\n elem.isConnected ? elem.remove() : elem = null;\r\n return cloned;\r\n}\r\n\r\n\r\nfunction isVisible(el) {\r\n if (!IS(el, HTMLElement)) { return undefined; }\r\n const elStyle = el.style;\r\n const computedStyle = getComputedStyle(el);\r\n const invisible = !![elStyle.visibility, computedStyle.visibility].includes(\"hidden\");\r\n const noDisplay = !![elStyle.display, computedStyle.display].includes(\"none\");\r\n const hidden = !!el.hidden;\r\n const zeroHeightOrWidth = parseInt(computedStyle.height) < 1 || parseInt(computedStyle.width) < 1;\r\n const offscreen = el.offsetTop < 0 || (el.offsetLeft + el.offsetWidth) < 0\r\n || el.offsetLeft > document.body.offsetWidth;\r\n const noOpacity = +computedStyle.opacity === 0 || +(elStyle.opacity || 1) === 0;\r\n return !(hidden || offscreen || noOpacity || noDisplay || invisible || zeroHeightOrWidth);\r\n}\r\n\r\nfunction isWritable(elem) {\r\n if (elem?.isConnected) {\r\n return !![...document.querySelectorAll(`:is(:read-write)`)]\r\n .find(el => el === elem);\r\n }\r\n \r\n return false;\r\n}\r\n\r\nfunction ElemArray2HtmlString(elems) {\r\n return elems?.filter(el => el).reduce((acc, el) =>\r\n acc.concat(isComment(el) ? `<!--${el.data}-->`\r\n : isCommentOrTextNode(el) ? el.textContent\r\n : el.outerHTML), ``);\r\n}\r\n\r\n/* private */\r\nfunction pad0(nr, n=2) {\r\n return `${nr}`.padStart(n, `0`);\r\n}\r\n\r\nfunction randomNr(max, min = 0) {\r\n [max, min] = [Math.floor(max), Math.ceil(min)];\r\n return Math.floor( ([...crypto.getRandomValues(new Uint32Array(1))].shift() / 2 ** 32 ) * (max - min + 1) + min );\r\n}\r\n\r\nfunction randomString() {\r\n return `_${shuffle(characters4RandomString).slice(0, 8).join(``)}`;\r\n}\r\n\r\nfunction resolveEventTypeParameter (maybeTypes) {\r\n maybeTypes = IS(maybeTypes, String) && /,/.test(maybeTypes)\r\n ? maybeTypes\r\n .split(`,`)\r\n .map(t => t.trim().toLowerCase())\r\n .filter( t => t.length > 0)\r\n : maybeTypes;\r\n return IS(maybeTypes, Array)\r\n ? maybeTypes\r\n : IS(maybeTypes, String) && maybeTypes?.trim().toLowerCase() || ``;\r\n}\r\n\r\nfunction isModal(elem) {\r\n if (elem?.isConnected) {\r\n return !![...document.querySelectorAll(`:is(:modal)`)]\r\n .find(el => el === elem) ? true : false;\r\n }\r\n \r\n return false;\r\n}\r\n\r\nfunction convert2Bool(value, defaultValue) {\r\n // Valid input values: 0|false|f|1|true|t (case insensitive)\r\n value = String(value).trim();\r\n switch (true) {\r\n case /^(0|false|f)$/i.test(value):\r\n return false;\r\n case /^(1|true|t)$/i.test(value):\r\n return true;\r\n default:\r\n return defaultValue;\r\n }\r\n}\r\n\r\n/* private */\r\nfunction shuffle(array) {\r\n let i = array.length;\r\n while (i--) {\r\n const ri = randomNr(i);\r\n [array[i], array[ri]] = [array[ri], array[i]];\r\n }\r\n return array;\r\n}\r\n\r\nfunction toCamelcase(str2Convert) {\r\n return IS(str2Convert, String)\r\n ? str2Convert.toLowerCase()\r\n .split(`-`)\r\n .map( (str, i) => i && `${ucFirst(str)}` || str)\r\n .join(``)\r\n : str2Convert;\r\n}\r\n\r\nfunction toDashedNotation(str2Convert) {\r\n return str2Convert.replace(/[A-Z]/g, a => `-${a.toLowerCase()}`).replace(/^-|-$/, ``);\r\n}\r\n\r\nfunction ucFirst([first, ...theRest]) {\r\n return `${first.toUpperCase()}${theRest.join(``)}`;\r\n}\r\n\r\nfunction isCommentOrTextNode(node) {\r\n return IS(node, Comment, Text);\r\n}\r\n\r\nfunction isComment(input) {\r\n IS(input, Comment);\r\n}\r\n\r\nfunction isText(input) {\r\n return IS(input, Text);\r\n}\r\n\r\nfunction isHtmlString(input) {\r\n return IS(input, String) && /^<|>$/.test(`${input}`.trim());\r\n}\r\n\r\nfunction isArrayOfHtmlElements(input) {\r\n return IS(input, Array) && !input?.find(el => !isNode(el));\r\n}\r\n\r\nfunction isArrayOfHtmlStrings(input) {\r\n return IS(input, Array) && !input?.find(s => !isHtmlString(s));\r\n}\r\n", "import {\r\n after, applyStyle, assignAttrValues, beforeOrAfter, checkProp, cleanupHtml, clearAllTimers, cloneAndDestroy,\r\n convert2Bool, createElementFromHtmlString, datasetKeyProxy, ElemArray2HtmlString, emptyElement, escHtml,\r\n findParentScrollDistance, getAttributesForLogging, getHandlerName, HandlerFactory, inject2DOMTree, input2Collection,\r\n insertPositions, IS, isArrayOfHtmlElements, isArrayOfHtmlStrings, isComment, isCommentOrTextNode, isHtmlString,\r\n isModal, isNode, isNonEmptyString, isText, isVisible, isWritable, logTime, maybe, PopupFactory, proxyWrapper,\r\n randomNr, randomString, resolveEventTypeParameter, setData, styleFactory, systemLog, tagFNFactory, tagLib,\r\n toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr,\r\n} from \"../Resource/Common/Utilities.js\"\r\n\r\nexport {\r\n after, applyStyle, assignAttrValues, beforeOrAfter, checkProp, cleanupHtml, clearAllTimers, cloneAndDestroy,\r\n convert2Bool, createElementFromHtmlString, css, datasetKeyProxy, ElemArray2HtmlString, emptyElement, escHtml,\r\n ExamineElementFeatureFactory, findParentScrollDistance, getAttributesForLogging, getHandlerName, getNodeContentForLog,\r\n HandlerFactory, inject2DOMTree, input2Collection, insertPositions, IS, isArrayOfHtmlElements, isArrayOfHtmlStrings,\r\n isCommentOrTextNode, isHtmlString, isNode, isNonEmptyString, logTime, loop, maybe, PopupFactory, proxyWrapper,\r\n randomNr, randomString, resolveEventTypeParameter, selectedFactoryHelpers, setCollectionFromCssSelector, setData,\r\n styleFactory, systemLog, tagFNFactory, tagLib, toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr,\r\n};\r\n\r\nfunction loop(instance, callback) {\r\n const cleanCollection = instance.collection.filter(el => !isCommentOrTextNode(el));\r\n for (let i = 0; i < cleanCollection.length; i += 1) {\r\n callback(cleanCollection[i], i);\r\n }\r\n\r\n return instance;\r\n}\r\n\r\nfunction getNodeContentForLog(instance) {\r\n if (instance.node) {\r\n return IS(instance.node, Comment)\r\n ? `<!--${instance.node.textContent}-->`\r\n : instance.HTML.get(1).split(`>`)[0] + `>...`\r\n }\r\n return ``;\r\n}\r\n\r\nfunction setCollectionFromCssSelector(input, root, self) {\r\n const selectorRoot = root !== document.body && (IS(input, String) && input.toLowerCase() !== \"body\") ? root : document;\r\n if (!IS(input, String) || input.trim().length < 1) { return; }\r\n try { self.collection = [...selectorRoot.querySelectorAll(input)]; }\r\n catch (err) { systemLog.warn(`JQx: Invalid CSS querySelector. [${!IS(input, String) ? `Not a string!` : input}]`); }\r\n}\r\n\r\nfunction selectedFactoryHelpers() {\r\n return {\r\n isCommentOrTextNode, isNode, isComment, isText, isHtmlString, isArrayOfHtmlElements,\r\n isArrayOfHtmlStrings, ElemArray2HtmlString, input2Collection, setCollectionFromCssSelector,\r\n cssRuleEdit: styleFactory({createWithId: `JQxStylesheet`}) };\r\n}\r\n\r\nfunction ExamineElementFeatureFactory() {\r\n const notApplicable = `n/a`;\r\n const noElements = Object.freeze({\r\n notInDOM: notApplicable, writable: notApplicable, modal: notApplicable, empty: true,\r\n open: notApplicable, visible: notApplicable, });\r\n\r\n return self => {\r\n const firstElem = self.node;\r\n\r\n return IS(firstElem, Node)\r\n ? Object.freeze({\r\n get writable() {\r\n return isWritable(firstElem);\r\n },\r\n get modal() {\r\n return isModal(firstElem);\r\n },\r\n get inDOM() {\r\n return firstElem.isConnected;\r\n },\r\n get open() {\r\n return firstElem.open ?? false;\r\n },\r\n get visible() {\r\n return isVisible(firstElem);\r\n },\r\n get disabled() {\r\n return firstElem.hasAttribute(\"readonly\") || firstElem.hasAttribute(\"disabled\");\r\n },\r\n get empty() {\r\n return self.collection.length < 1;\r\n },\r\n get virtual() {\r\n return self.isVirtual;\r\n }\r\n })\r\n : noElements;\r\n };\r\n}\r\n\r\nfunction css(el, keyOrKvPairs, value, jqx) {\r\n if (value && IS(keyOrKvPairs, String)) {\r\n keyOrKvPairs = {[keyOrKvPairs]: value === \"-\" ? \"\" : value};\r\n }\r\n\r\n let nwClass = undefined;\r\n\r\n if (keyOrKvPairs.className) {\r\n nwClass = keyOrKvPairs.className;\r\n delete keyOrKvPairs.className;\r\n }\r\n\r\n const classExists = ([...el.classList].find(c => c.startsWith(`JQxClass-`) || nwClass && c === nwClass));\r\n nwClass = classExists || nwClass || `JQxClass-${randomString().slice(1)}`;\r\n jqx.editCssRule(`.${nwClass}`, keyOrKvPairs);\r\n el.classList.add(nwClass);\r\n}\r\n", "import {\r\n IS, isNode, ExamineElementFeatureFactory, beforeOrAfter,\r\n isNonEmptyString, toDashedNotation, escHtml, systemLog, insertPositions,\r\n datasetKeyProxy, loop, cloneAndDestroy, setData,\r\n findParentScrollDistance, emptyElement, checkProp, css, assignAttrValues,\r\n applyStyle, createElementFromHtmlString, inject2DOMTree,\r\n} from \"./JQxUtilities.js\";\r\n\r\nconst instanceIs = ExamineElementFeatureFactory();\r\n\r\nexport default function(jqx) {\r\n return {\r\n factoryExtensions: factoryExtensionsFactory(jqx),\r\n instanceExtensions: instanceExtensionsFactory(jqx),\r\n }\r\n};\r\n\r\nfunction factoryExtensionsFactory(jqx) {\r\n return {\r\n data(instance) {\r\n return {\r\n get all() {\r\n return new Proxy(instance[0]?.dataset ?? {}, datasetKeyProxy);\r\n },\r\n set(valuesObj = {}) {\r\n if (!instance.is.empty && IS(valuesObj, Object)) {\r\n for (const [key, value] of Object.entries(valuesObj)) {\r\n instance.setData({[key]: value});\r\n }\r\n }\r\n return instance;\r\n },\r\n get(key, whenUndefined) {\r\n return instance.data.all[key] ?? whenUndefined;\r\n },\r\n add(valuesObj = {}) {\r\n if (!instance.is.empty && IS(valuesObj, Object)) {\r\n for (const [key, value] of Object.entries(valuesObj)) {\r\n instance.setData({[key]: value});\r\n }\r\n }\r\n return instance;\r\n },\r\n remove(key) {\r\n instance[0]?.removeAttribute(`data-${toDashedNotation(key)}`);\r\n return instance;\r\n },\r\n };\r\n },\r\n dimensions(instance) {\r\n if (instance.is.empty) {\r\n systemLog.error(`[JQx instance].dimensions called on empty instance`);\r\n return { error: `[JQx instance].dimensions: NO ELEMENTS` };\r\n }\r\n let {node} = instance;\r\n const boundingRect = node.getBoundingClientRect().toJSON();\r\n boundingRect.scrollTopDistance = findParentScrollDistance(node, 0);\r\n boundingRect.scrollLeftDistance = findParentScrollDistance(node, 0, false);\r\n return boundingRect;\r\n },\r\n node(instance) { return instance[0]; },\r\n HTML(instance) {\r\n return {\r\n get(outer, escaped) {\r\n if (instance.is.empty) {\r\n return `NO ELEMENTS IN COLLECTION`;\r\n }\r\n const html = outer ? instance.outerHtml : instance.html();\r\n return escaped ? escHtml(html) : html;\r\n },\r\n set(content, append = false, escape = false) {\r\n content = content.isJQx ? content.HTML.get(1) : content;\r\n const isString = IS(content, String);\r\n content = isString && escape ? escHtml(content) : content;\r\n if (isString && (content || ``).trim().length) { instance.html(content, append); }\r\n return instance;\r\n },\r\n replace(content, escape = false) {\r\n return instance.HTML.set(content, false, escape);\r\n },\r\n append(content, escape = false) {\r\n content = IS(content, HTMLElement)\r\n ? jqx(content).HTML.get(1) : content.isJQx ? content.HTML.get(1) : content;\r\n return instance.HTML.set(content, true, escape);\r\n },\r\n insert(content, escape = false) {\r\n content = IS(content, HTMLElement)\r\n ? jqx(content).HTML.get(1) : content.isJQx ? content.HTML.get(1) : content;\r\n return instance.HTML.set(content + instance.HTML.get(), false, escape);\r\n },\r\n };\r\n },\r\n is(instance) { return instanceIs(instance); },\r\n length(instance) { return instance.collection.length; },\r\n outerHtml(instance) { return (instance.first() || {outerHTML: undefined}).outerHTML; },\r\n parent(instance) {\r\n const maybeParent = jqx(instance[0]?.parentNode);\r\n return !maybeParent.is.empty ? maybeParent : instance;\r\n },\r\n render(instance) {\r\n switch(true) {\r\n case !instance.is.empty: return instance.toDOM();\r\n default:\r\n jqx.logger.warn(`[JQx.render]: empty collection`);\r\n return instance;\r\n }\r\n },\r\n Style(instance) {\r\n return {\r\n get computed() { return !instance.is.empty ? getComputedStyle(instance[0]) : {}; },\r\n inline(styleObj) {\r\n return instance.style(styleObj);\r\n },\r\n inSheet(styleObj) {\r\n return instance.css(styleObj)\r\n },\r\n valueOf(key) {\r\n return !instance.is.empty ? getComputedStyle(instance[0])[toDashedNotation(key)] : undefined;\r\n },\r\n nwRule(rule) {\r\n return instance.Style.byRule({rules: rule})\r\n },\r\n byRule({classes2Apply = [], rules = []} = {}) {\r\n const isSingleRule = IS(rules, String);\r\n const addClassNameOrID = isSingleRule && !classes2Apply.length ? rules.split(`{`)[0].trim() : ``;\r\n rules = rules && IS(rules, String) ? [rules] : rules;\r\n classes2Apply = classes2Apply && IS(classes2Apply, String) ? [classes2Apply] : classes2Apply;\r\n \r\n if (rules?.length || classes2Apply?.length) {\r\n rules?.length && jqx.editCssRules(...rules);\r\n \r\n if (classes2Apply) {\r\n for(const selector of classes2Apply) { instance.addClass(selector); }\r\n }\r\n }\r\n \r\n if (addClassNameOrID?.startsWith(`.`)) {\r\n instance.addClass(addClassNameOrID.slice(1));\r\n }\r\n \r\n if (addClassNameOrID?.startsWith(`#`) && !instance.attr(`id`)) {\r\n instance.prop({id: addClassNameOrID.slice(1)});\r\n }\r\n \r\n return instance;\r\n },\r\n };\r\n }\r\n }\r\n}\r\n\r\nfunction instanceExtensionsFactory(jqx) {\r\n return {\r\n addClass(instance, ...classNames) {\r\n return loop(instance, el => el && classNames.forEach(cn => el.classList.add(cn)));\r\n },\r\n after(instance, ...elems) { return beforeOrAfter(instance, jqx, true, ...elems); },\r\n afterMe(instance, ...elems) { return beforeOrAfter(instance, jqx, true, ...elems); },\r\n andThen(instance, ...elems) { return beforeOrAfter(instance, jqx, true, ...elems); },\r\n append(instance, ...elems2Append) {\r\n if (instance.is.empty || elems2Append.length < 1) { return instance;}\r\n const shouldMove = instance.length === 1;\r\n for (let elem2Append of elems2Append) {\r\n if (!elem2Append.isJQx && isNonEmptyString(elem2Append)) {\r\n const elem2Append4Test = elem2Append.trim();\r\n const isPlainString = !/^<(.+)[^>]+>$/m.test(elem2Append4Test);\r\n let toAppend = isPlainString ? jqx.text(elem2Append) : createElementFromHtmlString(elem2Append);\r\n loop(instance, el => el.append(shouldMove ? toAppend : cloneAndDestroy(toAppend)));\r\n }\r\n\r\n if (isNode(elem2Append)) {\r\n loop(instance, el => el.append(shouldMove ? elem2Append : cloneAndDestroy(elem2Append)));\r\n }\r\n\r\n if (elem2Append.isJQx && !elem2Append.is.empty) {\r\n loop(instance, el =>\r\n elem2Append.collection.forEach(elem =>\r\n el.append(shouldMove ? elem : cloneAndDestroy(elem)))\r\n );\r\n }\r\n }\r\n return instance;\r\n },\r\n appendTo(instance, appendTo) {\r\n appendTo = typeof appendTo === `string` ? jqx(appendTo) : appendTo;\r\n switch(true) {\r\n case !appendTo?.isJQx && !IS(appendTo, HTMLElement) || appendTo?.collection?.length < 1:\r\n jqx.warn(`[JQx instance].appendTo: invalid input`);\r\n return instance;\r\n default:\r\n (!appendTo.isJQx ? jqx(appendTo) : appendTo).append(instance);\r\n return instance;\r\n }\r\n },\r\n attr(instance, keyOrObj, value) {\r\n if (!instance.node || IS(instance.node, Text, Comment)) { return instance }\r\n\r\n if (!value && isNonEmptyString(keyOrObj)) {\r\n keyOrObj = toDashedNotation(keyOrObj);\r\n\r\n if (keyOrObj === `class`) {\r\n return [...instance.node.classList]?.join(` `);\r\n }\r\n \r\n return instance.node.getAttribute(keyOrObj);\r\n }\r\n\r\n if (isNonEmptyString(keyOrObj) && value) {\r\n keyOrObj = toDashedNotation(keyOrObj);\r\n\r\n switch(true) {\r\n case keyOrObj.startsWith(`data-`):\r\n keyOrObj = { data: {[keyOrObj.replace(`data-`, ``)]: value } };\r\n break;\r\n default: keyOrObj = { [keyOrObj]: value };\r\n }\r\n }\r\n\r\n if (IS(keyOrObj, Object) && !instance.is.empty) {\r\n assignAttrValues(instance.node, keyOrObj);\r\n }\r\n\r\n return instance;\r\n },\r\n before(instance, ...elems) {\r\n return beforeOrAfter(instance, jqx, false, ...elems);\r\n },\r\n beforeMe(instance, ...elems) {\r\n beforeOrAfter(instance, jqx, false, ...elems)\r\n },\r\n clear(instance) { return loop(instance, emptyElement); },\r\n closest(instance, selector) {\r\n const theClosest = isNonEmptyString(selector) ? instance.node?.closest(selector) : undefined;\r\n return theClosest ? jqx(theClosest) : instance;\r\n },\r\n computedStyle(instance, property) {\r\n const {node} = instance;\r\n return node && getComputedStyle(node)[property];\r\n },\r\n css(instance, keyOrKvPairs, value) {\r\n return loop(instance, el => css(el, keyOrKvPairs, value, jqx));\r\n },\r\n duplicate(instance, toDOM = false, root = document.body) {\r\n switch(true) {\r\n case instance.is.empty:\r\n systemLog.error(`Duplicating an empty JQx instance is not possible`)\r\n return instance;\r\n default:\r\n const clone = instance.collection[0].cloneNode(true);\r\n clone.childNodes.forEach((node) => { node.removeAttribute && node?.removeAttribute(`id`) });\r\n return toDOM ? jqx(clone).toDOM(root) : jqx.virtual(clone);\r\n }\r\n },\r\n each(instance, cb) { return loop(instance, cb); },\r\n empty(instance) { return loop(instance, emptyElement); },\r\n find(instance, selector) {\r\n return instance.collection.length > 0 ? [...instance.first()?.querySelectorAll(selector)] : [];\r\n },\r\n find$(instance, selector) {\r\n return instance.collection.length > 0 ? jqx(selector, instance) : instance;\r\n },\r\n first(instance, asJQxInstance = false) {\r\n return instance.collection.length > 0\r\n ? asJQxInstance ? instance.single() : instance.collection[0]\r\n : undefined;\r\n },\r\n first$(instance, indexOrSelector) {\r\n return instance.single(indexOrSelector);\r\n },\r\n getData(instance, dataAttribute, valueWhenFalsy) {\r\n return instance.node?.dataset?.[dataAttribute] || valueWhenFalsy;\r\n },\r\n hasClass(instance, ...classNames) {\r\n return instance.is.empty || !instance.node.classList.length\r\n ? false\r\n : classNames.find(cn => instance.node.classList.contains(cn)) && true || false;\r\n },\r\n hide(instance) { return loop(instance, el => applyStyle(el, {display: `none !important`})); },\r\n html(instance, htmlValue, append) {\r\n switch(true) {\r\n case instance.is.empty && !isNonEmptyString(htmlValue): return \"\";\r\n case !isNonEmptyString(htmlValue): return instance.node?.getHTML() ?? ``;\r\n default:\r\n const nwElement = createElementFromHtmlString(\r\n `<div>${htmlValue.isJQx ? htmlValue.HTML.get(true) : htmlValue}</div>` );\r\n const cb = el => {\r\n el.textContent = !append ? `` : el.textContent;\r\n return el.insertAdjacentHTML(jqx.at.end, nwElement.getHTML());\r\n }\r\n return loop(instance, cb);\r\n }\r\n },\r\n htmlFor(instance, forSelector, htmlString = \"\", append = false) {\r\n if (instance.is.empty || !isNonEmptyString(forSelector) || !isNonEmptyString(htmlString)) { return instance; }\r\n const el2Change = instance.find$(forSelector);\r\n if (el2Change.length < 1) { return instance; }\r\n const nwElement = createElementFromHtmlString(`<span>${htmlString}</span>`);\r\n el2Change.each(el => {\r\n if (!append) { el.textContent = ``; }\r\n el.insertAdjacentHTML(jqx.at.end, nwElement?.getHTML());\r\n });\r\n\r\n return instance;\r\n },\r\n isEmpty(instance) { return !!!instance.node; },\r\n nth$(instance, indexOrSelector) { return instance.single(indexOrSelector); },\r\n on(instance, type, ...callback) {\r\n switch(true) {\r\n case instance.is.empty || !IS(type, String, Array) || !isNonEmptyString(type) || callback.length < 1:\r\n return instance;\r\n default: jqx.handle({type, node: instance.node, handler: callback});\r\n return instance;\r\n }\r\n },\r\n once(instance, type, ...callback) {\r\n switch(true) {\r\n case instance.is.empty || !IS(type, String, Array) || !isNonEmptyString(type) || callback.length < 1:\r\n return instance;\r\n default:\r\n jqx.handle({type, once: true, node: instance.node, handler: callback});\r\n return instance\r\n }\r\n },\r\n prepend(instance, ...elems2Prepend) {\r\n if (instance.is.empty || !elems2Prepend) { return; }\r\n const shouldMove = instance.length === 1;\r\n\r\n for (let elem2Prepend of elems2Prepend) {\r\n if (isNonEmptyString(elem2Prepend)) {\r\n elem2Prepend = elem2Prepend.trim();\r\n const isPlainString = !/^<(.+)[^>]+>$/m.test(elem2Prepend);\r\n let toPrepend = isPlainString ? jqx.text(elem2Prepend) : createElementFromHtmlString(elem2Prepend);\r\n toPrepend = shouldMove ? toPrepend : cloneAndDestroy(toPrepend);\r\n loop(instance, el => el.prepend(toPrepend.cloneNode(true)));\r\n }\r\n\r\n if (isNode(elem2Prepend)) {\r\n loop(instance, el => el.prepend(shouldMove ? elem2Prepend : cloneAndDestroy(elem2Prepend)));\r\n }\r\n\r\n if (elem2Prepend.isJQx && !elem2Prepend.is.empty) {\r\n elem2Prepend.collection.length > 1 && elem2Prepend.collection.reverse();\r\n loop(instance, el => loop( elem2Prepend, elem => el.prepend(shouldMove ? elem : cloneAndDestroy(elem)) ) );\r\n elem2Prepend.collection.reverse();\r\n }\r\n }\r\n \r\n return instance;\r\n },\r\n prependTo(instance, prependTo) {\r\n prependTo = typeof prependTo === `string` ? jqx(prependTo) : prependTo;\r\n switch(true) {\r\n case !prependTo?.isJQx && !IS(prependTo, HTMLElement) || prependTo?.collection?.length < 1:\r\n jqx.warn(`[JQx instance].appendTo: invalid input`);\r\n return instance;\r\n default:\r\n (!prependTo.isJQx ? jqx(prependTo) : prependTo).prepend(instance);\r\n return instance;\r\n }\r\n },\r\n prop(instance, nameOrProperties, value) {\r\n if (IS(nameOrProperties, String) && !value) {\r\n return nameOrProperties.startsWith(`data`)\r\n ? instance[0]?.dataset[nameOrProperties.slice(nameOrProperties.indexOf(`-`)+1)]\r\n : instance[0]?.[nameOrProperties];\r\n }\r\n\r\n const props = !IS(nameOrProperties, Object) ? { [nameOrProperties]: value } : nameOrProperties;\r\n for (let [propName, propValue] of Object.entries(props)) {\r\n propName = propName.trim();\r\n\r\n if (propValue && !checkProp(propName) || !propValue) {\r\n return false;\r\n }\r\n\r\n const isId = propName.toLowerCase() === `id`;\r\n\r\n if (isId) { return instance[0].id = propValue; }\r\n\r\n loop(instance, el => {\r\n if (propName.startsWith(`data`)) {\r\n return el.dataset[propName.slice(propName.indexOf(`-`)+1)] = propValue;\r\n }\r\n\r\n el[propName] = propValue;\r\n });\r\n }\r\n\r\n return instance;\r\n },\r\n remove(instance, selector) {\r\n const remover = el => el.remove();\r\n const removeFromCollection = () =>\r\n instance.collection = instance.collection.filter(el => document.documentElement.contains(el));\r\n\r\n if (selector) {\r\n const selectedElements = instance.find$(selector);\r\n if (!selectedElements.is.empty) {\r\n loop(selectedElements, remover);\r\n removeFromCollection();\r\n }\r\n return instance;\r\n }\r\n loop(instance, remover);\r\n removeFromCollection();\r\n return instance;\r\n },\r\n rmAttr(instance, ...attrNames) {\r\n for (const attr of attrNames) { instance.node.removeAttribute(attr); }\r\n return instance;\r\n },\r\n removeClass(instance, ...classNames) {\r\n return loop(instance, el => { if (el) { for (const cn of classNames) { el.classList.remove(cn); } } });\r\n },\r\n renderTo(instance, root, position) {\r\n root = IS(root, HTMLElement) || root.isJQx ? root : document.body;\r\n position = IS(position, String) && jqx.at[position] ? position : jqx.at.end;\r\n instance.first$().toDOM(root, position);\r\n return instance;\r\n },\r\n replace(instance, oldChild, newChild) {\r\n const firstElem = instance.node;\r\n\r\n if (!oldChild || (!IS(newChild, HTMLElement) && !newChild?.isJQx)) {\r\n jqx.logger.error(`JQx replace: invalid replacement value`);\r\n return instance;\r\n }\r\n\r\n if (newChild.isJQx || IS(newChild, NodeList)) {\r\n newChild = newChild[0];\r\n }\r\n\r\n if (firstElem && oldChild) {\r\n oldChild = IS(oldChild, String)\r\n ? firstElem.querySelectorAll(oldChild)\r\n : oldChild.isJQx\r\n ? oldChild.collection\r\n : oldChild;\r\n\r\n if (IS(oldChild, HTMLElement, NodeList, Array) && IS(newChild, HTMLElement)) {\r\n (IS(oldChild, HTMLElement) ? [oldChild] : [...oldChild])\r\n .forEach(chld => chld.replaceWith(newChild.cloneNode(true)));\r\n }\r\n }\r\n\r\n return instance;\r\n },\r\n replaceClass(instance, className, ...nwClassNames) {\r\n return loop( instance, el => {\r\n el.classList.remove(className);\r\n for (const name of nwClassNames) { el.classList.add(name); }\r\n } )\r\n },\r\n replaceMe(instance, newChild) {\r\n /*NODOC*/ return instance.replaceWith(newChild);\r\n },\r\n replaceWith(instance, newChild) {\r\n newChild = IS(newChild, Element) ? newChild : newChild.isJQx ? newChild[0] : undefined;\r\n\r\n if (newChild) {\r\n instance[0].replaceWith(newChild);\r\n instance = jqx.virtual(newChild);\r\n }\r\n\r\n return instance;\r\n },\r\n setData(instance, spec) {\r\n return loop(instance, el => setData(el, spec));\r\n },\r\n show(instance) {\r\n return loop(instance, el => applyStyle(el, {display: `revert-layer !important`}));\r\n },\r\n single(instance, indexOrSelector) {\r\n const hasNodes = instance.collection.length > 0;\r\n indexOrSelector = indexOrSelector ?? 0;\r\n \r\n switch(true) {\r\n case hasNodes && IS(indexOrSelector, String):\r\n return instance.find$(indexOrSelector);\r\n case hasNodes && IS(indexOrSelector, Number):\r\n return jqx(instance.collection[indexOrSelector]);\r\n case hasNodes: return instance.collection[0];\r\n default: return instance;\r\n }\r\n },\r\n style(instance, keyOrKvPairs, value) {\r\n const loopCollectionLambda = el => {\r\n if (value && IS(keyOrKvPairs, String)) {\r\n keyOrKvPairs = { [keyOrKvPairs]: value || `none` };\r\n }\r\n applyStyle(el, keyOrKvPairs);\r\n };\r\n return loop(instance, loopCollectionLambda);\r\n },\r\n text(instance, textValue, append = false) {\r\n switch(true) {\r\n case instance.isEmpty(): return instance;\r\n case !IS(textValue, String): return instance.node.textContent;\r\n default: return loop(instance, el => el.textContent = append ? el.textContent + textValue : textValue);\r\n }\r\n },\r\n toDOM(instance, root = document.body, position = insertPositions.BeforeEnd) {\r\n instance.isVirtual = false;\r\n inject2DOMTree(instance.collection, root, position);\r\n return instance;\r\n },\r\n toggleClass(instance, className) {\r\n return loop(instance, el => el.classList.toggle(className));\r\n },\r\n toNodeList(instance) {\r\n return [...instance.collection].map(el => document.importNode(el, true));\r\n },\r\n trigger(instance, evtType, SpecifiedEvent, options) {\r\n SpecifiedEvent = IS(SpecifiedEvent, Function) ? SpecifiedEvent : Event;\r\n options = IS(options, Object) ? { ...options, bubbles: options.bubbles??true} : {bubbles: true};\r\n const evObj = new SpecifiedEvent( evtType, options );\r\n \r\n if (!instance.is.empty) {\r\n instance.each(el => el.dispatchEvent(evObj));\r\n }\r\n \r\n return instance;\r\n },\r\n val(instance, newValue) {\r\n switch(true) {\r\n case instance.is.empty || !IS(instance.node, HTMLInputElement, HTMLSelectElement, HTMLTextAreaElement):\r\n return instance;\r\n case !IS(newValue, String):\r\n return instance.node.value;\r\n default:\r\n instance.node.value = !IS(newValue, String) ? \"\" : newValue;\r\n return instance;\r\n }\r\n },\r\n };\r\n}\r\n", "import {\r\n cleanupHtml,\r\n clearAllTimers,\r\n convert2Bool,\r\n escHtml,\r\n getAttributesForLogging,\r\n HandlerFactory,\r\n insertPositions,\r\n IS,\r\n isNonEmptyString,\r\n maybe,\r\n PopupFactory,\r\n proxyWrapper,\r\n randomString,\r\n resolveEventTypeParameter,\r\n selectedFactoryHelpers,\r\n styleFactory,\r\n systemLog,\r\n tagFNFactory as $T,\r\n tagLib,\r\n toCamelcase,\r\n toDashedNotation,\r\n} from \"./JQxUtilities.js\";\r\nimport allMethodsFactory from \"./JQxInstanceMethods.js\";\r\n\r\nlet instanceGetters, instanceMethods;\r\nconst {\r\n isComment, isText, isHtmlString, isArrayOfHtmlElements, isArrayOfHtmlStrings,\r\n ElemArray2HtmlString, cssRuleEdit, addFn\r\n} = selectedUtilitiesFactory();\r\n\r\nexport { proxify, addJQxStaticMethods };\r\n\r\nfunction selectedUtilitiesFactory() {\r\n return {\r\n ...selectedFactoryHelpers(),\r\n addFn: addFnMethod };\r\n}\r\n\r\nfunction addFnMethod(name, extensionMethod) {\r\n name = name?.trim();\r\n \r\n if (!isNonEmptyString(name) || !IS(extensionMethod, Function) ) {\r\n return systemLog.error(\"JQx.fn: method invalid parameter(s)\");\r\n }\r\n \r\n instanceMethods[name] = (self, ...params) => extensionMethod(self, ...params);\r\n return systemLog.log(`JQx: added extension function [${name}]`);\r\n}\r\n\r\nfunction staticFNMethodFactory(jqx) {\r\n return function(name, extensionMethod, isGetter){\r\n name = name?.trim();\r\n if (!isNonEmptyString(name) || !IS(extensionMethod, Function) ) {\r\n return jqx.error(\"JQx.staticFn: invalid parameter(s)\");\r\n }\r\n const ext = isGetter\r\n ? { get() { return extensionMethod(); } }\r\n : { value(...args) { return extensionMethod(...args); } };\r\n \r\n try { Object.defineProperty(jqx, name, ext); }\r\n catch(err) {\r\n return jqx.warn(`JQx.staticFn: extension [${name}] already exists`);\r\n }\r\n \r\n return systemLog.log(`JQx: added static extension function [${name}]`);\r\n }\r\n}\r\n\r\nfunction proxify(instance) {\r\n return new Proxy(\r\n instance, { get: (target, key) => proxyTrapFactory(target, key, instance) }\r\n );\r\n}\r\n\r\nfunction maybeReProxify(method, instance, isGetter = false) {\r\n instance = !!instance[Symbol.proxy] ? instance : proxify(instance);\r\n const returnValue = function(...args) { return method(instance, ...args); }\r\n return isGetter ? returnValue() : returnValue;\r\n}\r\n\r\nfunction proxyReporter(instance) {\r\n return `Proxy for JQx${instance.collection.length < 1 ? ` (empty)` : ``} instance`;\r\n}\r\n\r\nfunction proxyTrapFactory(JQxtarget, key, instance) {\r\n switch(true) {\r\n case key === Symbol.proxy: return proxyReporter(instance);\r\n case typeof key === `symbol`: return maybe({trial: () => JQxtarget[key], whenError: () => JQxtarget });\r\n case !Number.isNaN(+key) && typeof +key === `number`: return JQxtarget.collection?.[key] || undefined;\r\n case (instanceGetters.hasOwnProperty(key)): return maybeReProxify(instanceGetters[key], instance, true);\r\n case (instanceMethods.hasOwnProperty(key)): return maybeReProxify(instanceMethods[key], instance);\r\n default: return Reflect.get(JQxtarget, key);\r\n }\r\n}\r\n\r\nfunction addJQxStaticMethods(jqx) {\r\n const staticMethods = defaultStaticMethodsFactory(jqx);\r\n\r\n for (const [key, descriptor] of Object.entries(Object.getOwnPropertyDescriptors(staticMethods))) {\r\n Object.defineProperty(jqx, key, descriptor);\r\n }\r\n\r\n return jqx;\r\n}\r\n\r\nfunction allowances(jqx) {\r\n return {\r\n allow(tagName) {\r\n const isWebComponent = /-/.test(tagName);\r\n const webComponentTagName = isWebComponent && tagName;\r\n tagName = isWebComponent ? toCamelcase(tagName) : tagName.toLowerCase();\r\n tagLib.allowTag(tagName);\r\n Object.defineProperties( jqx, addGetters(tagName, true, jqx, webComponentTagName) );\r\n },\r\n prohibit(tagName) {\r\n tagName = tagName.toLowerCase();\r\n tagLib.prohibitTag(tagName);\r\n Object.defineProperties( jqx, addGetters(tagName, false, jqx) );\r\n }\r\n }\r\n}\r\n\r\nfunction cssRemove(...rules) {\r\n if (rules.length === 1) {\r\n const ruleStr = String(rules.shift().trim());\r\n rules = !ruleStr.startsWith(`!`)\r\n ? ruleStr.split(`,`).map(v => v.trim())\r\n : [ruleStr.slice(1, -1)];\r\n }\r\n\r\n for (const rule of rules.map(rule => rule.startsWith(`!`) ? rule.slice(1, -1) : rule)) {\r\n cssRuleEdit(rule, {removeRule: 1});\r\n }\r\n}\r\n\r\nfunction virtualFactory(jqx) {\r\n return function(html, root, position) {\r\n root = root?.isJQx ? root?.[0] : root;\r\n position = position && Object.values(insertPositions).find(pos => position === pos);\r\n const virtualElem = jqx(html, document.createElement(`br`));\r\n if (root && !IS(root, HTMLBRElement)) {\r\n for (const elem of virtualElem.collection) {\r\n position ? root.insertAdjacentElement(position, elem) : root.append(elem);\r\n }\r\n }\r\n return virtualElem;\r\n }\r\n}\r\n\r\nfunction combineObjectSources(...sources) {\r\n const result = {};\r\n for (const source of sources) {\r\n const descriptors = Object.getOwnPropertyDescriptors(source);\r\n for (const [key, descriptor] of Object.entries(descriptors)) {\r\n !(key in result) && Object.defineProperty(result, key, {...descriptor, enumerable: false});\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nfunction tagGetterFactory(tagName, cando, jqx, webComponentTagName) {\r\n tagName = toDashedNotation(webComponentTagName || tagName.toLowerCase());\r\n return {\r\n get() {\r\n return (...args) => {\r\n const instance = cando && jqx.virtual(cleanupHtml($T[tagName](...args))) || undefined;\r\n const isElem = !IS(instance?.node, Comment, Text, undefined);\r\n let reportIdOrClass = isElem ? getAttributesForLogging(instance) : ``;\r\n \r\n systemLog.log( cando\r\n ? `JQx: created (virtual) instance from [JQx].${tagName} ${reportIdOrClass}`\r\n : `JQx: ${tagName.toUpperCase()} is prohibited. Use [JQx].allowTag if necessary.`);\r\n return instance;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true,\r\n }\r\n}\r\n\r\nfunction addGetters(tag, cando, jqx, webComponentTagName) {\r\n tag = tag.toLowerCase();\r\n const jqxGetterForThisTag = tagGetterFactory(tag, cando, jqx, webComponentTagName);\r\n return webComponentTagName\r\n ? { [webComponentTagName]: jqxGetterForThisTag, [toCamelcase(webComponentTagName)]: jqxGetterForThisTag, }\r\n : { [tag]: jqxGetterForThisTag, [tag.toUpperCase()]: jqxGetterForThisTag, };\r\n}\r\n\r\nfunction defaultStaticMethodsFactory(jqx) {\r\n return combineObjectSources(\r\n Object.entries(tagLib.tagsRaw).reduce(staticTagsLambda(jqx), {}),\r\n staticMethodsFactory(jqx));\r\n}\r\n\r\nfunction staticTagsLambda(jqx) {\r\n return function(acc, [tag, cando]) {\r\n Object.defineProperties( acc, addGetters(tag, cando, jqx) );\r\n return acc;\r\n }\r\n}\r\n\r\nfunction delegateFactory(listen) {\r\n return function(type, selector, ...listeners) {\r\n if (IS(selector, Function)) {\r\n listeners.push(selector);\r\n selector = undefined;\r\n }\r\n\r\n listen({type, selector: selector, handlers: listeners});\r\n }\r\n}\r\n\r\nfunction delegateCaptureFactory(handlerWrapper) {\r\n return function(spec) {\r\n let {type, types, origin, selector, handler, handlers, node, name, capture, once, about} = spec;\r\n // <legacy>\r\n handler = handlers || handler;\r\n type = types || type;\r\n selector = origin || selector;\r\n // </legacy>\r\n const typesResolved = resolveEventTypeParameter(type);\r\n const specifiedName = name;\r\n handler = IS(handler, Function) ? [handler] : handler;\r\n const params = {\r\n type: typesResolved, selector: selector || origin, capture,\r\n name: specifiedName, once, node, about };\r\n \r\n switch(true) {\r\n case IS(typesResolved, Array) && typesResolved.length > 0:\r\n for (const type of typesResolved) {\r\n params.type = type;\r\n assignListeners(handler, params, handlerWrapper);\r\n }\r\n break;\r\n default: return assignListeners(handler, params, handlerWrapper);\r\n }\r\n }\r\n}\r\n\r\nfunction assignListeners(handlerFns, params, handlerWrapper) {\r\n for (const handler of handlerFns) {\r\n handlerWrapper.listen({...params, handler});\r\n }\r\n}\r\n\r\nfunction getNamedListenerFactory(jqx) {\r\n return function(type, name) {\r\n name = isNonEmptyString(name) && name;\r\n type = isNonEmptyString(type) && type;\r\n return name && type && jqx.listenerStore[type][name];\r\n };\r\n}\r\n\r\nfunction popupGetter(jqx) {\r\n if (!jqx.activePopup) {\r\n Object.defineProperty(\r\n jqx, `activePopup`, {\r\n value: PopupFactory(jqx),\r\n enumerable: false\r\n } );\r\n }\r\n return jqx.activePopup;\r\n}\r\n\r\nfunction getSelectedStaticMethods(jqx) {\r\n const editCssRule = (ruleOrSelector, ruleObject) => cssRuleEdit(ruleOrSelector, ruleObject);\r\n const createStyle = function(id) {return styleFactory({createWithId: id || `jqx${randomString()}`}); };\r\n const editCssRules = function(...rules) { for (const rule of rules) { cssRuleEdit(rule); } };\r\n const allowProhibit = allowances(jqx);\r\n const handlerWrapper = HandlerFactory(jqx);\r\n const capturedHandling = delegateCaptureFactory(handlerWrapper);\r\n const log = (...line) => systemLog.on.log(...line).off;\r\n const warn = (...line) => systemLog.on.warn(...line).off;\r\n const error = (...line) => systemLog.on.error(...line).off;\r\n return {\r\n editCssRule, createStyle, editCssRules, allowProhibit, handle: capturedHandling, capturedHandling,\r\n log, warn, error, handlerWrapper};\r\n}\r\n\r\nfunction staticMethodsFactory(jqx) {\r\n const { factoryExtensions, instanceExtensions } = allMethodsFactory(jqx);\r\n instanceGetters = factoryExtensions;\r\n instanceMethods = instanceExtensions;\r\n const { editCssRule, createStyle, editCssRules, allowProhibit, handle,\r\n capturedHandling, log, warn, error, handlerWrapper } = getSelectedStaticMethods(jqx);\r\n const getNamedListener = getNamedListenerFactory(jqx);\r\n const staticFN = staticFNMethodFactory(jqx);\r\n $T.setError = key => {\r\n error(`JQx direct element creation error: [${key}] is not a valid tag`);\r\n return jqx.br();\r\n }\r\n return {\r\n log,\r\n warn,\r\n error,\r\n editCssRules,\r\n createStyle,\r\n editStylesheet: createStyle,\r\n editCssRule,\r\n escHtml,\r\n logger: systemLog,\r\n proxyWrapper,\r\n text(str, isComment = false) { return isComment ? jqx.comment(str) : document.createTextNode(str); },\r\n node(selector, root = document) { return root.querySelector(selector, root); },\r\n nodes(selector, root = document) { return [...root.querySelectorAll(selector, root)]; },\r\n clearAllTimers,\r\n get staticFn() { return function(name, method, isGetter) { return staticFN(name, method, isGetter); } },\r\n get toBool() { return convert2Bool; },\r\n get getNamedListener() { return getNamedListener; },\r\n get virtual() { return virtualFactory(jqx); },\r\n get allowTag() { return allowProhibit.allow; },\r\n get prohibitTag() { return allowProhibit.prohibit; },\r\n get removeCssRule() { return cssRemove; },\r\n get removeCssRules() { return cssRemove; },\r\n get delegate() { return delegateFactory(capturedHandling); },\r\n get delegateCaptured() { return capturedHandling; } ,\r\n get handle() { return capturedHandling; },\r\n get listen() { return handlerWrapper.listen; },\r\n get at() { return insertPositions; },\r\n get setStyle() { /*deprecated*/return editCssRule; },\r\n get fn() { return addFn; },\r\n get lenient() { return tagLib.allowUnknownHtmlTags; },\r\n get IS() { return IS; },\r\n get Popup() { return popupGetter(jqx); },\r\n get listenerStore() { return handlerWrapper.ListenerStore; },\r\n };\r\n}\r\n", "import { proxify, addJQxStaticMethods } from \"./JQxCreatorFactory.js\";\r\nimport {\r\n isHtmlString, isArrayOfHtmlStrings, isArrayOfHtmlElements,\r\n input2Collection, setCollectionFromCssSelector, IS, systemLog,\r\n insertPositions, inject2DOMTree, createElementFromHtmlString,\r\n getNodeContentForLog,\r\n} from \"./JQxUtilities.js\";\r\n\r\nexport default JQxMainFactory();\r\n\r\nfunction JQxMainFactory() {\r\n const logLineLength = 70;\r\n \r\n return addJQxStaticMethods(\r\n function(input, root, position = insertPositions.BeforeEnd) {\r\n if (input?.isJQx) { return input; }\r\n const isVirtual = IS(root, HTMLBRElement);\r\n root = (!isVirtual && root && root.isJQx ? root[0] : root) || document.body;\r\n position = position && Object.values(insertPositions).find(pos => position === pos) ? position : undefined;\r\n const isRawHtml = isHtmlString(input);\r\n const isRawHtmlArray = !isRawHtml && isArrayOfHtmlStrings(input);\r\n const shouldCreateElements = isRawHtmlArray || isRawHtml;\r\n \r\n let instance = {\r\n collection: input2Collection(input) ?? [],\r\n isVirtual,\r\n isJQx: true,\r\n };\r\n \r\n const isRawElemCollection = isArrayOfHtmlElements(instance.collection);\r\n \r\n switch(true) {\r\n case instance.collection.length && isRawElemCollection && !isVirtual:\r\n for (const el of instance.collection) {\r\n if (!root.contains(el)) {\r\n inject2DOMTree([el], root, position);\r\n }\r\n }\r\n break;\r\n case shouldCreateElements:\r\n for (const htmlStringOrComment of [input].flat()) {\r\n instance.collection.push(createElementFromHtmlString(htmlStringOrComment));\r\n }\r\n \r\n if (instance.collection.length > 0) {\r\n const errors = instance.collection.filter( el => el?.dataset?.jqxcreationerror );\r\n instance.collection = instance.collection.filter(el => !el?.dataset?.jqxcreationerror);\r\n const elemsCreated = instance.collection.map(el => `${String(el.constructor).split(/function|\\(/)[1].trim()}`);\r\n const multiple = elemsCreated.length > 1;\r\n instance = proxify(instance);\r\n const collectionLog = instance.collection.length > 0\r\n ? getNodeContentForLog(instance)\r\n : \"sanitized: no elements remaining\";\r\n \r\n systemLog.log(`JQx: created ${instance.isVirtual ? `(virtual)` : ``} instance from ` +\r\n `${multiple ? `array of ` : ``}HTML string${multiple ? `s` : ``} ${collectionLog}`);\r\n \r\n if (!instance.isVirtual) {\r\n inject2DOMTree(instance.collection, root, position);\r\n }\r\n }\r\n break;\r\n default: setCollectionFromCssSelector(input, root, instance);\r\n \r\n }\r\n \r\n return proxify(instance);\r\n })\r\n}\r\n", "/**\r\n This code is classfree object oriented. No this. No prototype. No class.\r\n Inspired by Douglas Crockford (see https://youtu.be/XFTOG895C7c?t=2562)\r\n*/\r\nimport JQx from \"./src/JQxConstructorFactory.js\";\r\nexport default JQx;\r\n", "var M=ke();function ke(){let[e,r,n,t]=[\"2-digit\",\"numeric\",\"long\",\"short\"],a={fixed:{MM:{month:n},M:{month:t},m:{month:r},mm:{month:e},yyyy:{year:r},yy:{year:e},WD:{weekday:n},wd:{weekday:t},d:{day:r},dd:{day:e},h:{hour:r},hh:{hour:e},mi:{minute:r},mmi:{minute:e},s:{second:r},ss:{second:e},ms:{fractionalSecondDigits:3},tz:{timeZoneName:\"shortOffset\"},dl:{locale:\"default\"},h12:{hour12:!1},yn:{yearName:\"\"},ry:{relatedYear:!0},msp:{fractionalSecond:!0}},dynamic:{tzn:l=>({timeZoneName:l.slice(4)}),hrc:l=>({hourCycle:`h${l.slice(4)}`}),ds:l=>({dateStyle:l.slice(3)}),ts:l=>({timeStyle:l.slice(3)}),tz:l=>({timeZone:l.slice(3)}),e:l=>({era:l.slice(2)}),l:l=>({locale:l.slice(2)})}},o={...a,retrieveDyn(l){let y=l?.slice(0,l.indexOf(\":\"));return a.dynamic[y]&&a.dynamic[y](l)},get re(){return new RegExp(`\\\\b(${Object.keys(a.fixed).join(\"|\")})\\\\b`,\"g\")}},s=(l=\"dtf\",y=0)=>{let h=` ${l.replace(/(?<=\\{)(.+?)(?=})/g,d=>`[${y++}]`).replace(/[{}]/g,\"\").trim()} `,D=l.match(/(?<=\\{)(.+?)(?=})/g)||[];return{get texts(){return D},formatString(d){h=d},set formatStr(d){h=d},get formatStr(){return h},get units(){return h.match(o.re)||[]},finalize(d=\"\",Z=\"\",b=\"\",$=\"\"){return h.replace(/~([\\d+]?)/g,\"$1\").replace(/dtf/,d).replace(/era/,b).replace(/dp\\b|~dp\\b/,Z).replace(/yn\\b/,$).replace(/\\[(\\d+?)]/g,(w,Fe)=>D[Fe].trim()).trim()}}},u=l=>l.replace(/\\s+/g,\"\"),c=(...l)=>l?.reduce((y,h)=>({...y,...o.retrieveDyn(h)||o.fixed[h]}),o.fixed.dl),i=(l,y,h)=>{let D=c(...u(h).split(\",\")),d=Intl.DateTimeFormat(D.locale,D).format(l);return y.finalize(d)},m=(l,y,h,D)=>l.toLocaleString(y,{timeZone:h,month:D?t:n}),T=(l,y,h)=>{let D=c(...y.units.concat(u(h).split(\",\")).flat()),d={...o.fixed},Z=($,w)=>D[$]===\"numeric\"&&w.startsWith(\"0\")?w.slice(1):w,b=Intl.DateTimeFormat(D.locale,D).formatToParts(l).reduce(($,w)=>w.type===\"literal\"&&/[ ,/-]/.test(w.value)?$:{...$,[w.type]:Z(w.type,w.value)},{});return d.ms=D.fractionalSecondDigits?d.msp:d.ms,d.yyyy=b.relatedYear?d.ry:d.yyyy,y.formatStr=y.formatStr.replace(o.re,$=>/^(M|MM)$/.test($)?m(l,D.locale,D.timeZone,/^M$/.test($)):b[Object.keys(d[$]).shift()]||$),y.finalize(void 0,b.dayPeriod,b.era,b.yearName)};return(l,y,h=\"l:default\")=>/ds:|ts:/.test(h)?i(l,s(void 0),h):T(l,s(y||void 0),h)}var le=Ce;function Ce(){let e=(t,a)=>{let o=isNaN(new Date(t)),s=isNaN(new Date(a));if(s){let[u,c,i]=Array(3).fill(\"end date not valid\");return{error:!0,message:u,full:c,clean:i}}if(o){let[u,c,i]=Array(3).fill(\"start date not valid\");return{error:!0,message:u,full:c,clean:i}}if(o&&!s){let[u,c,i]=Array(3).fill(\"start- and/or end date are not valid\");return{error:!0,message:u,full:c,clean:i}}return{error:!1}},r=n();return function({start:t,end:a,diffs:o={}}={}){let s=e(t,a),u=a>t?\"+\":\"-\";if(s.error)return s;let c=Math.abs(t-a),i=new Date(c),m=i.getUTCFullYear()-1970,T=i.getUTCMonth(),l=i.getUTCDate()-1,y=l%7,h=Math.floor(l/7),D=i.getUTCHours(),d=i.getUTCMinutes(),Z=i.getUTCSeconds(),b=i.getUTCMilliseconds(),$=Math.floor(c/864e5);o={...o,fromUTC:t,toUTC:a,sign:\"\",years:m,months:T,days:l,hours:D,minutes:d,seconds:Z,milliseconds:b,diffInDays:$},o.full=r({values:o,full:!0}),o.clean=r({values:o}),o.equalDates=o.clean===\"Dates are equal\";let w=D+d+Z>0?\"T\":\"\";return o.clean!==\"Dates are equal\"&&(o.sign=u,o.jsPeriod=`${u}P${m>0?`${m}Y`:\"\"}${T>0?`${T}M`:\"\"}${h>0?`${h}W`:\"\"}${y>0?`${y}D`:\"\"}${w}${D>0?`${D}H`:\"\"}${d>0?`${d}M`:\"\"}${Z>0?`${Z}S`:\"\"}`,o.ISOPeriod=`P${m>0?`${m}Y`:\"\"}${T>0?`${T}M`:\"\"}${l>0?`${l}D`:\"\"}${w}${D>0?`${D}H`:\"\"}${d>0?`${d}M`:\"\"}${Z>0?`${Z}S`:\"\"}`),o};function n(){let t=(...i)=>m=>i.reduce((T,l)=>l(T),m),a=(i,m)=>i===1?m.slice(0,-1):m;return t(({values:i,full:m})=>[Object.entries(i).filter(([T])=>/^(years|month|days|hours|minutes|seconds)/i.test(T)),m],([i,m])=>m?i:i.filter(([,T])=>m?+T:T>0),i=>i.reduce((m,[T,l])=>[...m,`${l} ${a(l,T)}`],[]),i=>i.length<1?\"Dates are equal\":`${i.slice(0,-1).join(\", \")}${i.length>1?\" and \":\"\"}${i.slice(-1).shift()}`)}}var ie=Ae;function Ae(){let e=Object.entries({year:\"FullYear\",month:\"Month\",date:\"Date\",day:\"Date\",hour:\"Hours\",minute:\"Minutes\",second:\"Seconds\",millisecond:\"Milliseconds\"}).reduce((t,[a,o])=>({...t,[a]:o,[`${a}s`]:o}),{}),r=!1,n=function(...t){let a=t.length===1;return r=t[0].trim().startsWith(\"subtract,\"),r&&(t=a?t[0].trim().replace(/^subtract,/i,\"\").split(\",\").map(o=>o.trim()):t.filter(o=>!o.startsWith(\"subtract\"))),a&&!r&&(t=t[0].split(\",\").map(o=>o.trim())),t.map(function(o){if(!o)return!1;let s=o.toLowerCase().split(/ {1,}/);return s.length<2?!1:s.map(u=>{u=`${u}`.trim().replace(/[^a-z0-9-+]/g,\"\");let c=parseInt(u,10);return Number.isNaN(c)?u:r?-c:+c})}).filter(o=>o)};return function(t,...a){if(a.length<1)return t;let o=n(...a);return o.length&&o.forEach(([s,u])=>{u=u,u=e[u],s&&u&&t[`set${u}`](t[`get${u}`]()+s)}),t}}var ge=le(),ye=Ye(),N=ie(),We=[\"sun\",\"mon\",\"tue\",\"wed\",\"thu\",\"fri\",\"sat\"],he=[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"];function q(e,r=!1){let n=e.month+1,t=e.month;if(e.month+=r?-1:1,!r&&e.month>=n)for(;e.month>n;)e.dateNr-=1;if(r&&e.month===t)for(;e.month>=t;)e.dateNr-=1;return e}function H(e,...r){return N(e,...r),e}function De(e,r=!1){let n=Q(e.clone,{sunday:r}),t=[n];return{weekStart:n.format(\"WD\",\"l:en-GB\"),inputDate:e,dates:t.concat([...Array(6)].map((a,o)=>n.clone.addDays(o+1)))}}function W(e,{start:r,end:n,future:t,past:a,include:o={start:!1,end:!1}}={}){let s=e.clone.UTC;return r=r?.value||r?.constructor===Date?f(r?.value||r).UTC:f.now.UTC,n=n&&n?.value||n?.constructor===Date?f(n?.value||n).UTC:f.now.UTC,s.milliseconds=0,r.milliseconds=0,n.milliseconds=0,t?r>n:a?r<n:(o.start?+s>=+r:+s>+r)&&(o.end?+s<=+n:+s<+n)}function _(e,{zoneTime:r=!1,formatStr:n,moreOptions:t}={}){return t=r?e.localeInfo.formatOptions+(t?`,${t}`:\"\"):g.formatOptions+(t?`,${t}`:\"\"),r?(e.localeInfo||(e.localeInfo=g),M(e,n,t)):Ue(e,n,t)}function Ue(e,r,n){let t=e.clone.relocate(g);return n=(n||\"\").startsWith(\"+\")?`${t.localeInfo.formatOptions},${n.slice(1)}`:n||t.localeInfo.formatOptions,M(t,r,n)}function Te(e,r){let n=ge({start:e,end:r||e});return parseInt(`${n.sign}${n.diffInDays}`)}function G(e,r=!1){let{locale:n,timeZone:t}=r?e.localeInfo:g,a=se(n,t),o=e.format(\"MM|WD\",a).split(\"|\");return{locale:n,timeZone:t,monthName:o[0],dayName:o[1],dayNames:ae(n),monthNames:Y(n)}}function B(e,r=!1){let[n,t,a,o]=U(e,r),u={values4Timezone:r?g.timeZone:e.timeZone,hours:n,minutes:t,seconds:a,milliseconds:o};return Object.freeze(u)}function U(e,r=!1){let t=`l:en-CA,${r?`tz:${g.timeZone}`:`tz:${e.timeZone}`},hrc:23,ts:medium`;return e.format(\"\",t).split(/:/).map(Number).concat(e.getMilliseconds())}function J(e,r){let n=r?`tz:${g.timeZone}`:`,tz:${e.timeZone}`,[t,a,o]=e.format(\"yyyy-mm-dd\",n).split(/-/).map(Number);a-=1;let s=r?g.timeZone:e.timeZone;return Object.freeze({values4Timezone:s,year:t,month:a,date:o})}function K(e,r=!0){if(r)return[e.getFullYear(),e.getMonth(),e.getDate()];let n=e.format(\"yyyy-m-d\",e.localeInfo.formatOptions).split(/-/).map(Number);return n[1]-=1,n}function Le(e){let r=new Intl.Locale(e.locale),n=r.weekInfo?r.weekInfo.firstDay:r.getWeekInfo?r.getWeekInfo().firstDay:1;return n=n===7?0:n,he[n]}function Q(e,{sunday:r=!1}={}){let n=r?\"sunday\":Le(e);return x(e,{day:n,preserveTodayWhenEqual:!0})}function xe(e,r){let n=e.toString().match(/GMT([+-])\\d+/)?.[0]?.slice(3)??\"+0000\",t=r.toString().match(/GMT([+-])\\d+/)?.[0]?.slice(3)??\"+0000\";return n=A(n.slice(0,3)+\":\"+n.slice(-2),!0),t=A(t.slice(0,3)+\":\"+t.slice(-2),!0),[-n[0]+t[0],-n[1]+t[1]].map(a=>n[0]<0?-a:a)}function R({start:e,end:r}={}){r||(r=e.clone),r?.clone||(r=f(r,{timeZone:e.timeZone})),e=f(fe(e,e.timeZone),{timeZone:e.timeZone}),r=f(fe(r,r.timeZone),{timeZone:r.timeZone});let n=ge({start:e,end:r,diffs:{timeZoneStart:e.timeZone,timeZoneEnd:r.timeZone}}),t=xe(r,e),a=n.sign.startsWith(\"-\")?\"ahead of\":\"behind\",[o,s]=t.map(i=>Math.abs(i)),[u,c]=[`${o} ${C(o,\"hour\")}`,`${s} ${C(s,\"minute\")}`];return n.timeZonesOffsetDifference=n.sign.length<1||o+s===0?`Offsets of ${e.timeZone} and ${r.timeZone} are equal`:`${e.timeZone} is ${u}${s>0?` and ${c}`:\"\"} ${a} ${r.timeZone}`,n}function X(e,r){r=String(r).toLowerCase()===\"utc\"||r.timeZone===\"UTC\"?e.clone.relocate({timeZone:\"UTC\"}):f(e.value,{timeZone:r.timeZone||g.timeZone});let t=R({start:e.clone,end:r}),o=`${t.sign}${ce(t.hours)}:${ce(t.minutes)}`;return{fromTZ:e.timeZone,toTZ:r.timeZone,offset:o,offsetText:`${r.timeZone} ${je(o)} ${e.timeZone}`}}function ce(e,r=2){return`${e}`.padStart(r,\"0\")}function C(e,r){return`${r}${e>1||e===0?\"s\":\"\"}`}function je(e){if(/00:00/.test(e))return\"no time diffence to\";let r=e.slice(1).split(\":\").map(Number),[n,t]=r,a=C(n,\"hour\"),o=C(t,\"minute\"),s=e.startsWith(\"+\");return t>0?`${n} ${a} and ${t} ${o} ${s?\"ahead of\":\"behind\"}`:`${n} ${a} ${s?\"ahead of\":\"behind\"}`}function me(e,r,n){return e.clone.format(r,n||e.localeInfo.formatOptions)}function pe(e,{withFormat:r,withFormatOptions:n,local:t=!1}={}){if(r)return t?me(e,r,$D.localeInformation.formatOptions):me(e,r,n);let a=e.clone.relocate({locale:\"en\"}),o=t?g.formatOptions:a.localeInfo.formatOptions,u=`wd M dd yyyy hh:mmi:ss ${a.format(\"tz\",o+\",tzn:longOffset\").replace(\":\",\"\")} (tz)`;return a.format(u,o+\",tzn:long, hrc:23\")}function ee(e,r=!1){let n=Intl.DateTimeFormat(\"en\",{timeZone:r?e.timeZone:g.timeZone,weekday:\"short\"});return ye(n.format(e))}function $e(e){let r=g,n=e.localeInfo,t=e.clone.relocate({locale:r.locale,timeZone:r.timeZone}),a=e.offsetFrom(t),o=t.offsetFrom(e),s=r,u=n,c=e.format(\"hh:mmi:ss dp\",`hrc:12,tz:${e.timeZone}`),i=t.format(\"hh:mmi:ss dp\",`hrc:12,tz:${t.timeZone}`),m={note:\"'user' are values for your locale/timeZone, 'remote' (if applicable) idem for the instance\",locales:{user:{locale:s.locale,timeZone:s.timeZone}},dateTime:{user:{...e.dateTime,monthName:t.monthName,weekdayNr:t.day,weekdayName:t.dayName,dayPeriodTime:i,hasDST:t.hasDST,DSTActive:t.DSTActive,offsetFromRemote:a.offset,string:t.toString()}},offset:{fromUTC:e.UTC.offsetFrom(e).offsetText}};return n.timeZone!==r.timeZone&&(m.locales.remote={locale:u.locale,timeZone:u.timeZone},m.dateTime.remote={...e.zoneDateTime,monthName:e.zoneNames.monthName,weekdayNr:ee(e,!0),weekdayName:e.zoneNames.dayName,dayPeriodTime:c,hasDST:e.hasDST,DSTActive:e.DSTActive,offsetFromUser:o.offset,string:e.toString()},m.offset.fromUserTime=o.offsetText),m}function O(e,r=!0){if(r)return[e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()];let n=e.format(\"yyyy-m-d-hh-mmi-ss\",`${e.localeInfo.formatOptions},hrc23:true`).split(/-/).map(Number).concat(e.getMilliseconds());return n[1]-=1,n}function te(e){return new Date(e.year,e.month+1,0,0,0,0).getDate()}function L(e,r){r=p({locale:r||e.localeInfo.locale}).locale;let n=e.clone.relocate({locale:r});return n.date={date:1},[n].concat([...Array(te(n)-1)].map((t,a)=>n.clone.add(`${a+1} days`)))}function x(e,{day:r,next:n=!1,preserveTodayWhenEqual:t=!1}={}){r=r?.toLowerCase()||\"-\";let a=ye(r);if(a<0)return console.error(`[TickTock instance].next/previous invalid day value ${r}`),e.clone;let o=n?1:-1,s=f(new Date(...e.dateTimeValues),e.localeInfo);return t&&a===s.day?s:Pe(s.addDays(n?1:-1),a,o)}function Pe(e,r,n){function t(a){switch(!0){case a.day===r:return a;default:return t(a.add(`${n} days`))}}return t(e)}function F(e,{dateOnly:r=!1,timeOnly:n=!1}={}){let{locale:t,timeZone:a}=e.localeInfo;return r?new Date(e).toLocaleDateString(t,{timeZone:a}):n?new Date(e).toLocaleTimeString(t,{timeZone:a}):new Date(e).toLocaleString(t,{timeZone:a})}function fe(e,r){let n={timeZone:r,hourCycle:\"h23\"};return new Date(new Date(e).toLocaleString(\"en\",n))}function v(e,{year:r,month:n,date:t}={}){return S(r)&&e.setFullYear(parseInt(r)),S(t)&&e.setDate(parseInt(t)),S(n)&&e.setMonth(parseInt(n)),e}function I(e,{hours:r,minutes:n,seconds:t,milliseconds:a}={}){return S(r)&&e.setHours(parseInt(r)),S(n)&&e.setMinutes(parseInt(n)),S(t)&&e.setSeconds(parseInt(t)),S(a)&&e.setMilliseconds(parseInt(a)),e}function we(e){return e?.constructor===Date||e?.value}function re(e,r){return we(r)?f(r?.value||r,e.localeInfo):f.from(...e.dateTimeValues).relocate(e.localeInfo)}function Ye(){return function(e){e=`${e}`.toLowerCase();let r=We.indexOf(e);return r<0?he.indexOf(e):r}}function A(e){let r=e.slice(1).split(/[-:]/).map(Number),n=e.startsWith(\"-\");return r=r.map(t=>n?-t:t),r}function Se(e){return e.time={hours:0,minutes:0,seconds:0,milliseconds:0},e}function de(e,r){return Intl.DateTimeFormat(\"en-CA\",{timeZone:r,timeZoneName:\"long\"}).format(e).split(/,/)[1].trim()}function j(e,r){r=r||e?.timeZone||g.timeZone,e=e?.value?e:e?.constructor===Date?f(e,{timeZone:r}):f({timeZone:r});let n=e.year||e.getFullYear(),t=de(new Date(n,0,1),r),a=de(new Date(n,5,1),r);return t!==a}function P(e,r){return r=r||e?.timeZone||g.timeZone,e=e?.hasDST?e:e?.constructor===Date?f(e,{timeZone:r}):f({timeZone:r}),e.hasDST?!/standard/i.test(e.toString()):!1}function Ze(e,{locale:r,timeZone:n,l:t,tz:a}={}){return e.localeInfo=p({locale:t||r||e.l||e.locale,timeZone:a||n||e.tz||e.timeZone}),e}function be(e,r){return we(r)&&(e=f(r.value||r,r.localeInfo||e.localeInfo)),e}function k(e,r){let n=oe(new Date(e,11,r||31));return n===1?k(e,(r||31)-1):n}function ne(e,r){let n=e.month;switch(!0){case n<3:return r?1:\"First\";case n<6:return r?2:\"Second\";case n<9:return r?3:\"Third\";case n<12:return r?4:\"Fourth\";default:return\"unknown\"}}function oe(e){let r=new Date(e),n=(r.getDay()+6)%7;r.setDate(r.getDate()-n+3);let t=r.valueOf();return r.setMonth(0,1),r.getDay()!==4&&r.setMonth(0,1+(4-r.getDay()+7)%7),1+Math.ceil((t-r)/6048e5)}var E=Ee;function Ee({localeInfo:e,customMethods:r,dateValue:n}={}){let t,a={add(...o){return H(t,...o)},between({start:o,end:s,include:u}={}){return W(t,{start:o,end:s,include:u})},cloneWith(o){return re(t,o)},daysUntil(o){return Te(t,o)},differenceTo(o){return R({start:t,end:o})},differenceUntil(o){return t.differenceTo(o).clean},firstWeekday({sunday:o=!1,midnight:s=!1}={}){return Q(t,{sunday:o,midnight:s})},format(o,s){return _(t,{formatStr:o,moreOptions:s})},fullMonth(o){return L(t,o)},fullWeek(o=!1){return De(t,!!o)},isFuture(o){return W(t,{start:t,end:o,future:!0})},isPast(o){return W(t,{start:t,end:o,past:!0})},next(o,s){return x(t,{day:o,next:!0,preserveTodayWhenEqual:!!s})},offsetFrom(o){return X(t,o)},previous(o,s){return x(t,{day:o,next:!1,preserveTodayWhenEqual:!!s})},relocate({locale:o,timeZone:s,l:u,tz:c}={}){return Ze(t,{locale:o,timeZone:s,l:u,tz:c})},revalue(o){return t=be(t,o),t},setDateValues({year:o,month:s,date:u}={}){return v(t,{year:o,month:s,date:u})},setTimeValues({hours:o,minutes:s,seconds:u,milliseconds:c}={}){return I(t,{hours:o,minutes:s,seconds:u,milliseconds:c})},subtract(...o){return H(t,\"subtract,\"+o.join(\",\"))},toArray(o=!1){return O(t,o)},toString({template:o,formatOptions:s,local:u}={}){return pe(t,{withFormat:o,withFormatOptions:s,local:u})},values(o=!1){return o?t.dateTime:t.zoneDateTime},zoneFormat(o,s){return _(t,{zoneTime:!0,formatStr:o,moreOptions:s})},set date({year:o,month:s,date:u}){v(t,{year:o,month:s,date:u})},set dateNr(o){v(t,{date:o})},set hours(o){I(t,{hours:o})},set localeInfo({locale:o,timeZone:s,l:u,tz:c}){e=z({locale:o,timeZone:s,l:u,tz:c})},set milliseconds(o){I(t,{milliseconds:`${o}`})},set minutes(o){I(t,{minutes:o})},set month(o){v(t,{month:o})},set seconds(o){I(t,{seconds:o})},set time({hours:o,minutes:s,seconds:u,milliseconds:c}){I(t,{hours:o,minutes:s,seconds:u,milliseconds:c})},set year(o){v(t,{year:o})},get age(){return t.differenceTo(new Date).years},get ageFull(){return t.differenceTo(new Date).clean},get clone(){return re(t)},get date(){return J(t,!0)},get dateNr(){return t.date.date},get dateTime(){return{...t.date,...t.time}},get dateTimeValues(){return O(t,!0)},get dateValues(){return K(t,!0)},get day(){return t.getDay()},get dayName(){return t.names.dayName},get daysThisMonth(){return te(t)},get DSTActive(){return P(t)},get hasDST(){return j(t)},get hours(){return t.time.hours},get info(){return $e(t)},get isLeapYear(){return new Date(t.getFullYear(),2,0).getDate()===29},get ISO(){return t.toISOString()},get local(){return F(t)},get localDate(){return F(t,{dateOnly:!0})},get locale(){return(e||z()).locale},get localeInfo(){return e},get localeString(){return F(t)},get localTime(){return F(t,{timeOnly:!0})},get milliseconds(){return t.getMilliseconds()},get minutes(){return t.time.minutes},get month(){return t.date.month},get monthName(){return t.names.monthName},get names(){return G(t)},get quarter(){return ne(t)},get quarterNr(){return ne(t,!0)},get removeTime(){return Se(t)},get seconds(){return t.time.seconds},get time(){return B(t,!0)},get timeValues(){return U(t,!0)},get timeZone(){return(e||z()).timeZone},get unixEpochTimestamp(){return Math.floor(+t/1e3)},get userLocaleInfo(){return g},get UTC(){return t.clone.relocate({locale:t.locale,timeZone:\"UTC\"})},get UTCOffset(){return X(t,\"UTC\")},get value(){return new Date(t)},get weeknr(){return oe(t)},get weeksInYear(){return k(t.year,31)},get year(){return t.date.year},get zoneDate(){return J(t,!1)},get zoneDateNr(){return t.zoneDate.date},get zoneDateTime(){return{...t.zoneDate,...t.zoneTime}},get zoneDateTimeValues(){return O(t,!1)},get zoneDateValues(){return K(t,!1)},get zoneDay(){return ee(t,!0)},get zoneDayname(){return t.zoneNames.dayName},get zoneHours(){return t.zoneTime.hours},get zoneMinutes(){return t.zoneTime.minutes},get zoneMonth(){return t.zoneDate.month},get zoneMonthname(){return t.zoneNames.monthName},get zoneNames(){return G(t,!0)},get zoneSeconds(){return t.zoneTime.seconds},get zoneTime(){return B(t)},get zoneTimeValues(){return U(t)},get zoneYear(){return t.zoneDate.year},get zoneValues(){return t.zoneDateTime},get zoneArray(){return O(t,!1)}};return!e&&!n?a:(a.localeInfo=e||z(),t=new Proxy(n,Ve(a)),Object.entries(Object.getOwnPropertyDescriptors(ue(t,r))).forEach(([o,s])=>Object.defineProperty(a,o,s)),Object.freeze(t))}function Ve(e){return{get(r,n){return n!==\"toString\"&&n in r?r[n].bind(r):Reflect.get(e,n)},set(r,n,t){return n in e&&Reflect.set(e,n,t)}}}var g=Me(Intl.DateTimeFormat().resolvedOptions()),qe=Object.getOwnPropertyNames(Date.prototype).filter(e=>e.startsWith(\"set\")).reduce((e,r)=>[...e,{native:r,syn:\"change\"+r.slice(3)}],[]);function ae(e=\"en-GB\"){return e=p({locale:e}).locale,{long:[...Array(7).keys()].map(r=>new Date(Date.UTC(1970,0,4+r)).toLocaleDateString(e,{timeZone:\"Etc/UTC\",weekday:\"long\"})),short:[...Array(7).keys()].map(r=>new Date(Date.UTC(1970,0,4+r)).toLocaleDateString(e,{timeZone:\"Etc/UTC\",weekday:\"short\"}))}}function Y(e=\"en\"){return e=p({locale:e}).locale,{long:[...Array(12).keys()].map(r=>new Date(Date.UTC(1970,r,1)).toLocaleDateString(e,{timeZone:\"Etc/UTC\",month:\"long\"})),short:[...Array(12).keys()].map(r=>new Date(Date.UTC(1970,r,1)).toLocaleDateString(e,{timeZone:\"Etc/UTC\",month:\"short\"}))}}function He({year:e,locale:r}={}){e=S(e)?parseInt(e):new Date().getFullYear();let n={year:e,calendar:{}},t=Y().long.map(a=>a.toLowerCase());for(let a=0;a<12;a+=1){let o=f.from(e,a,1);n.calendar[t[a]]=L(o,r)}return n}function _e({year:e,monthNr:r,locale:n=\"en-CA\"}={}){e=S(r)&&parseInt(e)||-1,r=S(r)&&parseInt(r)||new Date().getFullYear();let t=r>=1&&r<=12;return n=p({locale:n}).locale,r=t?r-1:void 0,t?f.from(e,r,1).relocate({locale:n}).fullMonth(n):\"MonthNr should be a specific number (1 = january - 12 = december)\"}function Me(e){let r=se(e.locale,e.timeZone),n=new Intl.Locale(e.locale);return e.weekInfo=n.getWeekInfo?n.getWeekInfo():null,Object.defineProperty(e,\"formatOptions\",{value:r,enumerable:!1})}function se(e,r){return[`${e&&!(Array.isArray(e)&&e.length<1)?`l:${e}`:\"\"}`,`${r?`tz:${r}`:\"\"}`].filter(n=>n).join(\",\")}function p({locale:e,timeZone:r,l:n,tz:t}={}){return r=r||t,e=e||n,e=Ie({trial:function(){return Intl.DateTimeFormat(e,{timeZone:g.timeZone}).resolvedOptions().locale},onError:function(){return console.warn(`Intl locale \"${e}\" best fit impossible, using \"${g.locale}\"`),g.locale}}),r=Ie({trial:function(){return Intl.DateTimeFormat(e,{timeZone:r}).resolvedOptions().timeZone},onError:function(){return console.warn(`timeZone \"${r}\" not valid. Using \"${g.timeZone}\"`),g.timeZone}}),Me(Intl.DateTimeFormat(e,{timeZone:r}).resolvedOptions())}function z({locale:e,timeZone:r,l:n,tz:t}={}){return p({locale:e,timeZone:r,l:n,tz:t},!0)}function Ne(e){return!Number.isNaN(+e)&&e?.constructor===Date?e:new Date}function ve(e){let r=new Date;switch(!0){case(typeof e==\"string\"||typeof e==\"number\"):return Ne(new Date(e));case(Array.isArray(e)&&e.map(Number).length===e.length):return e.length===1?new Date(e[0],0,1):new Date(...e);case e?.constructor===Date:return Ne(e);default:return r}}function Ie({trial:e,onError:r=()=>{}}={}){if(e?.constructor===Function)try{return e()}catch(n){return r?.constructor===Function?r(n):void 0}}function Ge({timeZoneDate:e,timeZoneID:r,userTimeZoneID:n}={}){let t={timeZone:p({timeZone:r}).timeZone},a={timeZone:p({timeZone:n||\"\"}).timeZone},o=f(e,t),s=f(e,a),u=s.differenceTo(o),c=o.offsetFrom(s).offset,[i,m]=A(c,!0),T=s.clone.add(`${i} hours, ${m} minutes`),y=u.equalDates?\"No difference\":`Time offset ${c}: ${a.timeZone} is ${u.clean} ${i<0?\"behind\":\"ahead of\"} ${t.timeZone}`;return{remoteTimezone:t.timeZone,userTimezone:a.timeZone,timeDifference:y,result:{[t.timeZone.replace(/\\//,\"_\")]:f(e).toString({template:\"yyyy/mm/dd hh:mmi:ss\",formatOptions:\"hrc:23\"}),[a.timeZone.replace(/\\//,\"_\")]:T.toString({template:\"yyyy/mm/dd hh:mmi:ss\",formatOptions:\"hrc:23\"})}}}function S(e){return!Number.isNaN(parseInt(e))}function V(e,r,n){return e?.constructor===Number?N(r,`${e} ${n}`):r}function Be(e){let r={addYears(n=1){return V(n,e,\"years\")},addMonths(n=1){return V(n,e,\"months\")},addWeeks(n=1){return n=n?.constructor===Number?n*7:1,V(n,e,\"days\")},addDays(n=1){return V(n,e,\"days\")},get nextYear(){return N(e,\"1 year\")},get nextWeek(){return N(e,\"7 days\")},get previousWeek(){return N(e,\"-7 days\")},get previousYear(){return N(e,\"-1 year\")},get nextMonth(){return q(e)},get previousMonth(){return q(e,!0)},get tomorrow(){return N(e,\"1 day\")},get yesterday(){return N(e,\"-1 day\")}};for(let n of qe)r[n.syn]=function(...t){return e[n.native](...t),e};return r}function ue(e,r){let n=Be(e);for(let[t,a]of Object.entries(r||{})){let o=a.enumerable,s=a.isGetter?{get(){return a.method(e)},enumerable:o}:{value(...u){return a.method(e,...u)},enumerable:o};Object.defineProperty(n,t,s)}return n}function ze(e,r){return Object.defineProperties(e,{now:{get(){return e(new Date)}},localeInformation:{get(){return p()}},localWeekdaynames:{value(n){return ae(n)}},localMonthnames:{value(n){return Y(n)}},daysInMonth:{value(n,t=!1){return n=S(n)?parseInt(n):0,n>=1&&n<=12?new Date(t?2e3:2005,n,0).getDate():`${n} should be a Number between (1 (january) - 12 (december))`}},yearCalendar:{value:He},monthCalendar:{value:_e},from:{value(...n){return e(n)}},fromUxTS:{value(n,t){n=S(n)?parseInt(n)*1e3:void 0;let a=n?new Date(n):new Date;return f(a,t||g)}},hasDST:{value({date:n,timeZone:t}={}){return j(n,t)}},DSTActive:{value({date:n,timeZone:t}={}){return P(n,t)}},values:{value({date:n,timeZone:t}={}){n=n||n?.value||new Date;let a=M(n,\"yyyy-m-d-h-mi-s\",p({timeZone:t}).formatOptions.concat(\",hrc:23\")).split(\"-\").map(Number).concat(n.getMilliseconds());return a[1]-=1,a}},format:{value({date:n,template:t,timeZone:a,locale:o,opts:s}={}){n=n||n?.value||new Date,t=t?.constructor===String?t:\"yyyy/mm/dd hh:mmi:ss dp\";let u=p({timeZone:a,locale:o}).formatOptions;return u+=s?`,${s}`:\"\",M(n,t,u)}},addCustom:{value({name:n,method:t,enumerable:a=!1,isGetter:o=!1}={}){n?.constructor===String&&t?.constructor===Function&&t.length>0&&(r[n]={method:t,enumerable:a,isGetter:o})}},validateLocaleInformation:{value:p},timeAcrossZones:{value:Ge},weeksInYear:{value(n){return k(n,31)}},keys:{get(){let n=Object.fromEntries(Object.entries(r).filter(([a,o])=>o.enumerable===!0));return[...Object.keys(E()),...Object.keys(ue()),...Object.keys(n)].sort((a,o)=>a.localeCompare(o))}}}),e}var Oe={},f=ze(Je,Oe);function Je(e,r){if(e?.localeInfo)return e.clone;let n=e?.locale||e?.timeZone||e?.tz||e?.l;return E({localeInfo:p(n?e:r),dateValue:new Date(n?Date.now():ve(e)),customMethods:Oe})}export{f as default};\n", "export default Object.defineProperties(instanceCreator, {escape: {value: escape4RE, enumerable: true}});\r\n\r\nfunction instanceCreator(regExStr, ...args) {\r\n const {flags, cleanedArgs} = maybeFlags(...args);\r\n return createInstance(\r\n new RegExp(cleanup(createRegExpStringFromInput(regExStr, ...cleanedArgs)), flags)\r\n );\r\n}\r\n\r\nfunction createRegExpStringFromInput(regExStr, ...cleanedArgs) {\r\n return !hasLength(cleanedArgs) ? regExStr.raw.join(``) :\r\n regExStr.raw.reduce((a, v, i) => a.concat(cleanedArgs[i - 1] || ``).concat(v), ``);\r\n}\r\n\r\nfunction maybeFlags(...args) {\r\n const flags = cleanupFlags(getFlags(args.at(-1)));\r\n return { flags, cleanedArgs: hasLength(flags) ? args.slice(0, -1) : args };\r\n}\r\n\r\nfunction getFlags(maybeFlags) { return isOfType(maybeFlags, Array) ? maybeFlags.join(``) : ``; }\r\n\r\nfunction createInstance(regExp) {\r\n const instance = new Proxy( Object.defineProperties({}, {\r\n re: { get() { return regExp; }, enumerable: false },\r\n toString: {value: () => regExp.toString(), enumerable: false},\r\n valueOf: {value: () => regExp, enumerable: false},\r\n flags: { value(flags) { regExp = modifyFlags(flags, regExp); return instance; }, enumerable: false },\r\n clone: { get() { return clone(instance); }, enumerable: false },\r\n }), getterTrap(regExp) );\r\n \r\n return instance;\r\n}\r\n\r\nfunction hasLength(variable) { return variable?.length > 0; }\r\n\r\nfunction isOfType(any, CTOR) { return any?.constructor === CTOR; }\r\n\r\nfunction maybeProp(target, key, regExp) {\r\n const fromRegExp = Reflect.get(regExp, key);\r\n return {\r\n fromInstance: Reflect.get(target, key),\r\n fromRegExpMethod: isOfType(fromRegExp, Function) ? fromRegExp.bind(target.re) : target.re[key]\r\n }\r\n}\r\n\r\nfunction getterTrap(regExp) {\r\n return {\r\n get(target, key) {\r\n const {fromInstance, fromRegExpMethod} = maybeProp(target, key, regExp);\r\n switch (true) {\r\n case !!fromInstance: return fromInstance;\r\n default: return fromRegExpMethod;\r\n }\r\n },\r\n };\r\n}\r\n\r\nfunction clone(instance) {\r\n const source = instance.re.source;\r\n const flags = hasLength(instance.re.flags) ? [...instance.re.flags] : [];\r\n return instanceCreator`${source} ${flags}`;\r\n}\r\n\r\nfunction cleanupFlags(flags, currentFlags) {\r\n currentFlags = (currentFlags ?? ``).replace(/^-r\\|/, ``);\r\n flags = currentFlags.concat(isOfType(flags, String) && hasLength(flags) ? flags : ``);\r\n return [...new Set([...flags])].join(``).replace(/[^dgimsuvy]/g, ``);\r\n}\r\n\r\nfunction modifyFlags(flags, regExp) {\r\n switch (true) {\r\n case !isOfType(flags, String) || !hasLength(flags): return regExp;\r\n case flags === `-r`: return regExp = new RegExp(regExp.source);\r\n case flags.startsWith(`-r|`): return regExp = new RegExp(regExp.source, cleanupFlags(flags));\r\n default: return regExp = new RegExp(regExp.source, cleanupFlags(regExp.flags, flags));\r\n }\r\n}\r\n\r\nfunction escape4RE(string2Escape) {\r\n switch (true) {\r\n case string2Escape?.constructor !== String || !hasLength(string2Escape): return ``;\r\n case !!RegExp.escape: return RegExp.escape(string2Escape);\r\n default: return (`\\\\x${string2Escape.at(0)}` +\r\n string2Escape.slice(1).replace(/\\p{S}|\\p{P}/gu, a => `\\\\${a}`))\r\n .replace(/ |\\\\x /g, `\\\\x20`); }\r\n}\r\n\r\nfunction cleanup(str) {\r\n return str\r\n .replace(/\\/\\*(?:[^*]|\\*+[^*\\/])*\\*+\\/|(?<!:|\\\\\\|')\\/\\/.*/gm, ``)\r\n .replace(/\\s/g, ``)\r\n .trim().replace(/<!([^>]\\d+)>/g, (a, b) => String.fromCharCode(+b) ?? a);\r\n}\r\n", "var u=h(),v=p(),N=p(\"\");window.IS=u;function p(r,f={}){let{useSymbolicExtensions:a}=f;return r=u(r,String,Number)?String(r):void 0,a&&O(),function(n,...t){return d(n,y(t))};function s(n,t){return t&&u(r,String,Number)?String(r):`{${n}}`}function e(n,t){let i=n in t;return i&&u(t[n],String,Number)?String(t[n]):s(n,i)}function o(n){return(...t)=>{let i=t.find(c=>c.key);return e(i?i.key:\"_\",n)}}function l(n,t){return n.replace(/\\{(?<key>[a-z_\\d]+)}/gim,o(t))}function b(n){let t=[];return Object.entries(n).forEach(([i,c])=>{c.forEach((m,S)=>(t[S]??={},t[S][i]=m))}),t}function g(n){return n.length===1&&Object.values(n[0]).every(Array.isArray)}function y(n){return g(n)?b(n[0]):n}function d(n,t){let i=t?.length?t.filter(c=>u(c,Object)).map((c,m)=>l(n,{...c,index:m+1})).join(\"\"):n;return u(r,void 0)?i:i.replace(/\\{[a-z_\\d].+\\}/gim,String(r))}}function O(){return String.prototype[Symbol.for(\"interpolate\")]||Object.defineProperties(String.prototype,{[Symbol.for(\"interpolate\")]:{value(...r){return v(this,...r)}},[Symbol.for(\"interpolate$\")]:{value(...r){return N(this,...r)}}}),[Symbol.for(\"interpolate\"),Symbol.for(\"interpolate$\")]}function h(){let r=new Intl.Collator(\"en\",{sensitivity:\"base\"}),f=e=>typeof e==\"function\"?e?.name||e?.constructor?.name:\"noCTOR\";function a(e,o){return o===Number&&(Number.isNaN(e)||!Number.isFinite(e))?!1:r.compare(Object.prototype.toString.call(e),`[object ${f(o)}]`)===0||e?.name===o?.name}function s(e,...o){if(o.length>1){for(let l of o)if(a(e,l))return!0;return!1}return a(e,o?.shift())}return s}export{O as addSymbolicStringExtensions,v as default,N as interpolateClear,p as interpolateFactory};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["toaSymbols", "IS", "isOnly", "maybe", "$Wrap", "isNothing", "addSymbolicExtensions", "proxyWrapper", "TOAFactory", "specs", "useSymbolicExtensions", "isJust", "typeCheckFactory", "shouldbeIsSingleObject", "ISOneOf", "isExcept", "verifyNothingness", "determineType", "detectableProxy", "TOAHelpers", "TOASymbols", "anything", "shouldBe", "unChained", "v", "single", "input", "_", "SymbolAndCustomProxyFactory", "maybeFactory", "WrapAnyFactory", "AUXHelperFactory", "typeOf", "isTypeObj", "isOrDefault", "obj", "params", "param", "defaultValue", "isTypes", "notTypes", "SYMBOL_KEYS", "TYPE_STRINGS", "detectableProxyFactory", "addSymbolsFactory", "trapped", "type", "target", "key", "wrapProxy", "proxy2Wrap", "createDetectableProxy", "traps", "addSymbols2Anything", "args", "useSymbolicExtension", "constructor2String", "processInput", "noShouldbe", "noInput", "compareTo", "inputCTOR", "isNaN", "isInfinity", "shouldBeFirstElementIsNothing", "getResult", "finalInputResolver", "compareWith", "maybeResult", "resultWithComparison", "resultWithoutComparison", "someObj", "wrapper", "errFn", "err", "trial", "whenError", "maybeNothing", "all", "nada", "collate", "nameOf", "type2Check", "checkSingleType", "objName", "typeName", "chkType", "popupStyling", "getPopupStyling", "ATTRS", "getAttrs", "allTags", "getPermissions", "checkType", "converts", "ucFirst", "first", "theRest", "toDashedNotation", "str2Convert", "a", "toCamelcase", "str", "i", "cloneExact", "elementFunctionCollection2", "cleanupProps", "props", "specials", "retrieveSpecialProps", "keyCI", "data", "attributes", "classList", "cleanupComment", "initial", "isComment", "tag", "containsHTML", "validateElementTagName", "tagName", "validateTag", "name", "customElementRegistry2", "createElement2", "elementFunctionCollection", "customElementRegistry", "tagFunctionError", "tinyDOM_default", "tinyDOM", "proxyTraps", "tagFns", "createElement", "createTagFunctionProperty", "value", "custom", "debug", "isError", "unsealedElementFunctionCollection", "reSeal", "dashed", "camel", "tag2FN", "unsealedCollection", "processNext", "root", "next", "tagFN", "nested", "elem", "retrieveElementFromInitial", "arg", "createElementAndAppend", "element2Append", "assignSpecialProps", "specialProps", "element", "assignable", "LifeCSS_default", "LifeStyleFactory", "styleSheet", "createWithId", "tryParseAtOrNestedRules", "ruleExists", "checkParams", "sheet", "removeRules", "consider", "currentSheetID", "sheetHelpers", "setRules4Selector", "rule", "properties", "prop", "priority", "tryAndCatch", "setRules", "selector", "styleRules", "sheetOrMediaRules", "exists", "rule4Selector", "doParse", "cssDeclarationString", "shortenRule", "cssRules", "cssRuleFromText", "styleFromString", "checkAts", "styleFromObject", "rulesObj", "atMedia2String", "cssBlockOrSelector", "notification", "retrieveOrCreateSheet", "id", "existingSheet", "newSheet", "notSupported", "ruleFragOrSelector", "isSelector", "r", "compareSelectors", "createRE", "escape4RegExp", "tryParse", "rulesAt", "acc", "len", "idx", "fn", "existing", "selectr", "stringifyMediaRule", "shortRule", "mediaObj", "regexStr", "flags", "line", "msg", "prepareCssRuleFromText", "b", "l", "toRuleObject", "preparedRule", "s1", "s2", "lenient", "allowUnknownHtmlTags", "HTMLTags_default", "nodeName", "tag2Allow", "tag2Prohibit", "logElementCreationErrors2Console", "attrRegExpStore", "logContingentErrors", "elCreationInfo", "msgs", "k", "escHtml", "systemLog", "elementCheck", "child", "notAllowedCustomElementNames", "cleanupHtml", "el2Clean", "attrStore", "attr", "evilValue", "evilAttrib", "val", "truncate2SingleStr", "tagValue", "htmlToVirtualElement", "htmlString", "placeholderNode", "insertPositions", "characterDataElement2DOM", "position", "inject2DOMTree", "collection", "created", "isNode", "element2DOM", "createElementFromHtmlString", "htmlStrOrText", "testStr", "text", "nwElem", "truncateHtmlStr", "Popup_default", "$", "timers", "popupContent", "popupNode", "currentProps", "genericPopupCloseHandler", "initPopup", "initHidePopup", "removeModal", "isCurrent", "content", "showPopup", "failModalClose", "hidePopup", "modal", "closeAfter", "closerIcon", "createTimer", "clearTimers", "timer", "callback", "evt", "seconds", "warnMessage", "modalWarningBox", "HandlerFactory", "jqx", "store", "anon", "setListener", "listener", "handler", "capture", "removeListener", "wrapFn4Selector", "once", "handlerName", "isNonEmptyString", "elemFound", "me", "remove", "storedEventType", "eventType", "retrieve", "handlerIdCache", "storeHandler", "spec", "node", "about", "getHandlerName", "initialHandler", "handlerID", "getCaptureValue", "nwHandler", "systemLogFactory", "allwaysCaptureEventTypes", "characters4RandomString", "x", "datasetKeyProxy", "clearAllTimers", "uniqueHandlerID", "getAttributesForLogging", "instance", "isElem", "dataset", "attrs", "idCache", "anonID", "captureValue", "t", "checkProp", "emptyElement", "el", "findParentScrollDistance", "distance", "top", "minlen", "maxLength", "html", "tmpDiv", "decodeForConsole", "something", "on", "disabled", "backLog", "systemLogger", "disable", "enable", "error", "logTime", "warn", "log", "entryTxt", "d", "pad0", "assignAttrValues", "keyValuePairs", "setData", "input2Collection", "isArrayOfHtmlElements", "beforeOrAfter", "after", "toAdd", "bOrA", "applyStyle", "rules", "cloneAndDestroy", "cloned", "isVisible", "elStyle", "computedStyle", "invisible", "noDisplay", "hidden", "zeroHeightOrWidth", "offscreen", "noOpacity", "isWritable", "ElemArray2HtmlString", "elems", "isCommentOrTextNode", "nr", "n", "randomNr", "max", "min", "randomString", "shuffle", "resolveEventTypeParameter", "maybeTypes", "isModal", "convert2Bool", "array", "ri", "isText", "isHtmlString", "isArrayOfHtmlStrings", "s", "loop", "cleanCollection", "getNodeContentForLog", "setCollectionFromCssSelector", "self", "selectorRoot", "selectedFactoryHelpers", "ExamineElementFeatureFactory", "noElements", "firstElem", "css", "keyOrKvPairs", "nwClass", "c", "instanceIs", "JQxInstanceMethods_default", "factoryExtensionsFactory", "instanceExtensionsFactory", "valuesObj", "whenUndefined", "boundingRect", "outer", "escaped", "append", "escape", "isString", "maybeParent", "styleObj", "classes2Apply", "addClassNameOrID", "classNames", "cn", "elems2Append", "shouldMove", "elem2Append", "elem2Append4Test", "toAppend", "appendTo", "keyOrObj", "theClosest", "property", "toDOM", "clone", "cb", "asJQxInstance", "indexOrSelector", "dataAttribute", "valueWhenFalsy", "htmlValue", "nwElement", "forSelector", "el2Change", "elems2Prepend", "elem2Prepend", "toPrepend", "prependTo", "nameOrProperties", "propName", "propValue", "remover", "removeFromCollection", "selectedElements", "attrNames", "oldChild", "newChild", "chld", "className", "nwClassNames", "hasNodes", "textValue", "evtType", "SpecifiedEvent", "options", "evObj", "newValue", "instanceGetters", "instanceMethods", "cssRuleEdit", "addFn", "selectedUtilitiesFactory", "addFnMethod", "extensionMethod", "staticFNMethodFactory", "isGetter", "ext", "proxify", "proxyTrapFactory", "maybeReProxify", "method", "returnValue", "proxyReporter", "JQxtarget", "addJQxStaticMethods", "staticMethods", "defaultStaticMethodsFactory", "descriptor", "allowances", "isWebComponent", "webComponentTagName", "addGetters", "cssRemove", "ruleStr", "virtualFactory", "pos", "virtualElem", "combineObjectSources", "sources", "result", "source", "descriptors", "tagGetterFactory", "cando", "reportIdOrClass", "jqxGetterForThisTag", "staticTagsLambda", "staticMethodsFactory", "delegateFactory", "listen", "listeners", "delegateCaptureFactory", "handlerWrapper", "types", "origin", "handlers", "typesResolved", "specifiedName", "assignListeners", "handlerFns", "getNamedListenerFactory", "popupGetter", "getSelectedStaticMethods", "editCssRule", "ruleOrSelector", "ruleObject", "createStyle", "editCssRules", "allowProhibit", "capturedHandling", "factoryExtensions", "instanceExtensions", "handle", "getNamedListener", "staticFN", "JQxConstructorFactory_default", "JQxMainFactory", "isVirtual", "isRawHtml", "shouldCreateElements", "isRawElemCollection", "htmlStringOrComment", "errors", "multiple", "collectionLog", "index_default", "M", "ke", "h", "D", "Z", "$", "Fe", "u", "c", "T", "le", "Ce", "ie", "Ae", "ge", "ye", "Ye", "N", "We", "he", "q", "H", "De", "Q", "W", "_", "Ue", "Te", "G", "se", "ae", "Y", "B", "U", "J", "K", "Le", "xe", "A", "R", "fe", "C", "X", "ce", "je", "me", "pe", "ee", "$e", "te", "L", "Pe", "F", "v", "I", "we", "re", "Se", "de", "j", "P", "Ze", "be", "k", "oe", "ne", "Ee", "z", "Ve", "ue", "Me", "qe", "He", "_e", "Ie", "Ne", "ve", "Ge", "V", "Be", "ze", "Oe", "Je", "v", "maybeFlags", "v", "p", "N", "f", "O", "c", "S", "g", "v", "N", "O", "top"]
|
|
7
7
|
}
|