dynamic-html-helpers 1.5.1 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Bundle/htmlhelpers.min.js +15 -15
- package/Bundle/htmlhelpers.min.js.map +3 -3
- package/Bundle/htmlhelpers.script.js +814 -1081
- package/Bundle/htmlhelpers.script.js.map +3 -3
- package/Resource/Externals/jqx.min.js +13 -13
- package/Resource/Externals/jqx.min.js.map +3 -3
- package/Resource/Externals/splat.min.js +1 -1
- 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, maybe, $Wrap, isNothing, xProxy, addSymbolicExtensions } =\r\n TOAFactory({useSymbolicExtensions: false});\r\n\r\nexport { IS as default, maybe, $Wrap, xProxy, isNothing, addSymbolicExtensions };\r\n\r\nfunction TOAFactory(specs = {}) {\r\n const { useSymbolicExtensions } = specs;\r\n const { shouldbeIsSingleObject, ISOneOf, isExcept, verifyNothingness, xProxy,\r\n determineType, addSymbolicExtensions, maybe, $Wrap } = TOAHelpers(IS, useSymbolicExtensions);\r\n \r\n if (!!useSymbolicExtensions) { addSymbolicExtensions(); }\r\n \r\n return {IS, maybe, $Wrap, isNothing: verifyNothingness, xProxy, addSymbolicExtensions};\r\n \r\n function IS(anything, ...shouldBe) {\r\n const input = typeof anything === `symbol` ? Symbol.isSymbol : anything;\r\n switch(true) {\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\r\nfunction TOAHelpers(IS, useSymbolicExtensions) {\r\n const { SymbolAndCustomProxyFactory, maybeFactory, WrapAnyFactory,\r\n verifyNothingness, determineType } = AUXHelperFactory(IS, typeOf);\r\n const {xProxy, 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, xProxy,\r\n determineType, 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.proxy'\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 ('\r\n };\r\n \r\n return Object.freeze({\r\n SymbolAndCustomProxyFactory, maybeFactory, WrapAnyFactory, verifyNothingness, determineType\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: false },\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 SymbolAndCustomProxyFactory(IS, typeOf, useSymbolicExtension) {\r\n if (!Symbol.isSymbol) { Symbol.isSymbol = Symbol.for(SYMBOL_KEYS.IS_SYMBOL); }\r\n \r\n return {xProxy: setCustomOrDefaultProxyFactory(), 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 createCustomProxy(nativeProxy, proxySymbol) {\r\n Proxy = new nativeProxy(nativeProxy, {\r\n construct(target, args) {\r\n const wrappedProxy = new target(...args);\r\n Object.defineProperty(wrappedProxy, proxySymbol, {\r\n value: `${TYPE_STRINGS.PROXY_PREFIX}${constructor2String(args[0])})` });\r\n return wrappedProxy;\r\n }\r\n });\r\n return Proxy;\r\n }\r\n \r\n function setCustomOrDefaultProxyFactory() {\r\n if (!Symbol.proxy) { Symbol.proxy = Symbol.for(SYMBOL_KEYS.PROXY); }\r\n const nativeProxy = Proxy;\r\n return {\r\n native() { Proxy = nativeProxy; },\r\n custom() { Proxy = createCustomProxy(nativeProxy, Symbol.proxy); } };\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 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", "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", "const converts = { html: `innerHTML`, text: `textContent`, class: `className` };\r\nconst maybe = maybeFactory();\r\nlet elementFunctionCollection = {};\r\nconst customElementRegistry = {};\r\nlet tagFunctionError = tag => {\r\n console.error(`tinyDOM error: \"${tag}\" is not a valid HTML tag`);\r\n return undefined;\r\n};\r\n\r\nexport default tinyDOM();\r\n\r\nfunction tinyDOM() {\r\n return Object.freeze(new Proxy(elementFunctionCollection, getProxy()));\r\n}\r\n\r\nfunction getProxy() {\r\n return {\r\n get(tagFns, key) {\r\n const tag = String(key);\r\n \r\n switch(true) {\r\n case tag in tagFns: return tagFns[tag];\r\n case validateTag(tag): return createTagFunctionProperty({tag, key});\r\n default: return createTagFunctionProperty({tag, key, isError: true});\r\n }\r\n },\r\n set(tagFns, key, value) {\r\n if (key === `setError` && typeof value === 'function') { tagFunctionError = value; }\r\n return true;\r\n },\r\n enumerable: false, configurable: false\r\n };\r\n}\r\n\r\nfunction createTagFunctionProperty({tag, key, custom, debug = false, isError = false} = {}) {\r\n let unfrozenElementFunctionCollection = cloneExact();\r\n \r\n if (isError) {\r\n Object.defineProperty(unfrozenElementFunctionCollection, tag, {\r\n get() { return _ => tagFunctionError(key) ?? ``; }\r\n } );\r\n \r\n return reFreeze(unfrozenElementFunctionCollection, tag);\r\n }\r\n \r\n if (tag.includes(`-`)) {\r\n const [dashed, camel] = tag.includes(`-`) ? [tag, toCamelcase(tag)] : [toDashedNotation(tag), tag];\r\n customElementRegistry[dashed] = dashed;\r\n customElementRegistry[camel] = dashed;\r\n custom = camel;\r\n }\r\n \r\n if (!!custom) {\r\n Object.defineProperty(unfrozenElementFunctionCollection, custom, {\r\n get() { return tag2FN(tag); }\r\n });\r\n }\r\n \r\n Object.defineProperty(unfrozenElementFunctionCollection, tag, {\r\n get() { return tag2FN(tag); }\r\n } );\r\n \r\n return reFreeze(unfrozenElementFunctionCollection, tag);\r\n}\r\n\r\nfunction reFreeze(unfrozenCollection, tag) {\r\n elementFunctionCollection = Object.freeze(new Proxy(unfrozenCollection, getProxy()));\r\n elementFunctionCollection[Symbol.for.proxy] = `Proxy (Object)`;\r\n return elementFunctionCollection[tag];\r\n}\r\n\r\nfunction cloneExact() {\r\n return Object.fromEntries(\r\n Object.entries(Object.getOwnPropertyDescriptors(elementFunctionCollection))\r\n );\r\n}\r\n\r\nfunction processNext(root, next, tagName) {\r\n next = next?.isJQx && next.node || (checkType(next, Number) ? String(next) : next);\r\n \r\n return maybe({\r\n trial: _ => containsHTML(next) ? root.insertAdjacentHTML(`beforeend`, next) : root.append(next),\r\n whenError: err => console.info(`${tagName} not created, reason\\n`, err)\r\n });\r\n}\r\n\r\nfunction tagFN(tagName, initial, ...nested) {\r\n const elem = retrieveElementFromInitial(initial, tagName);\r\n nested?.forEach(arg => processNext(elem, arg, tagName));\r\n return elem;\r\n}\r\n\r\nfunction retrieveElementFromInitial(initial, tag) {\r\n initial = isComment(tag) ? cleanupComment(initial) : initial?.isJQx ? initial.node : initial;\r\n \r\n switch(true) {\r\n case checkType(initial, String): return createElement(tag, containsHTML(initial, tag) ? {html: initial} : {text: initial});\r\n case initial instanceof Node: return createElementAndAppend(tag, initial);\r\n default: return createElement(tag, initial);\r\n }\r\n}\r\n\r\nfunction createElementAndAppend(tag, element2Append) {\r\n const elem = createElement(tag);\r\n elem.append(element2Append);\r\n return elem;\r\n}\r\n\r\nfunction cleanupProps(props) {\r\n if ( Object.keys(props).length < 1 ) { return {assignable: {}, specials: [...Array(3)] }; }\r\n \r\n const specials = retrieveSpecialProps(props);\r\n Object.keys(props).forEach( key => {\r\n const keyCI = key.toLowerCase();\r\n keyCI in converts && (props[converts[keyCI]] = props[key]) && delete props[key]; } );\r\n \r\n return { assignable: props, specials };\r\n}\r\n\r\nfunction retrieveSpecialProps(props) {\r\n props = checkType(props, Object) && props || undefined;\r\n \r\n if (!props) { return Array(3); }\r\n \r\n const data = Object.entries(props.data ?? {});\r\n const attributes = Object.entries(props.attributes ?? {});\r\n const classList = props.class?.split(/[ ,]/).map(v => v.trim()).filter(v => v.length > 1);\r\n delete props.data;\r\n delete props.attributes;\r\n delete props.class;\r\n \r\n return [data, attributes, classList];\r\n}\r\n\r\nfunction assignSpecialProps(specialProps, element) {\r\n const [data, attributes, classList] = specialProps;\r\n \r\n data?.length && data.forEach(([key, value]) => element.dataset[key] = value);\r\n attributes?.length && attributes.forEach( ([key, value]) => element.setAttribute(key, value) );\r\n classList?.forEach( value => element.classList.add(value));\r\n}\r\n\r\nfunction createElement(tagName, props) {\r\n props = props || {};\r\n const {assignable, specials} = cleanupProps(props);\r\n const elem = Object.assign(\r\n isComment(tagName) ? new Comment() : document.createElement(tagName),\r\n assignable\r\n );\r\n assignSpecialProps(specials, elem);\r\n \r\n return elem;\r\n}\r\n\r\nfunction cleanupComment(initial) {\r\n return initial?.constructor === Comment ? initial?.textContent : String(initial);\r\n}\r\n\r\nfunction containsHTML(str, tag) {\r\n return !isComment(tag) && checkType(str, String) && /<.*>|&[#|0-9a-z]+[^;];/i.test(str);\r\n}\r\n\r\nfunction isComment(tag) { return /comment/i.test(tag); }\r\n\r\nfunction validateTag(name) {\r\n return validateElementTagName(name) &&\r\n (name in customElementRegistry ||\r\n !checkType(createElement(name), HTMLUnknownElement));\r\n}\r\n\r\nfunction validateElementTagName(tagName) {\r\n tagName = tagName.toLowerCase();\r\n \r\n return typeof tagName === `string` &&\r\n tagName.length > 0 &&\r\n /^[a-z]/.test(tagName) &&\r\n /^[a-z0-9-]+$/gi.test(tagName);\r\n}\r\n\r\nfunction tag2FN(tagName) {\r\n tagName = tagName in customElementRegistry ? customElementRegistry[tagName] : tagName;\r\n return (initial, ...args) => tagFN(tagName, initial, ...args);\r\n}\r\n\r\nfunction ucFirst([first, ...theRest]) { return `${first.toUpperCase()}${theRest.join(``)}`; }\r\n\r\nfunction toDashedNotation(str2Convert) {\r\n return str2Convert.replace(/[A-Z]/g, a => `-${a.toLowerCase()}`).replace(/^-|-$/, ``);\r\n}\r\n\r\nfunction toCamelcase(str2Convert) {\r\n return checkType(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 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\nfunction checkType(obj, type2Check) {\r\n if (type2Check === null || type2Check === undefined) { return false; }\r\n \r\n return Object.prototype.toString.call(obj).toLowerCase() === `[object ${ctor2String(type2Check)}]`.toLowerCase();\r\n}\r\n\r\nfunction ctor2String(type2Check) {\r\n let ctorStringified = type2Check instanceof Function ? String(type2Check) : `not a constructor`;\r\n return ctorStringified.slice(ctorStringified.indexOf(` `) + 1, ctorStringified.indexOf(`(`));\r\n}\r\n", "var{IS:P,maybe:N,$Wrap:q,isNothing:w,xProxy:G,addSymbolicExtensions:J}=v({useSymbolicExtensions:!1});function v(n={}){let{useSymbolicExtensions:c}=n,{shouldbeIsSingleObject:l,ISOneOf:f,isExcept:m,verifyNothingness:S,xProxy:$,determineType:p,addSymbolicExtensions:y,maybe:x,$Wrap:b}=C(g,c);return c&&y(),{IS:g,maybe:x,$Wrap:b,isNothing:S,xProxy:$,addSymbolicExtensions:y};function g(i,...a){let o=typeof i==\"symbol\"?Symbol.isSymbol:i;switch(!0){case!!x({trial:u=>\"isTypes\"in(a?.[0]??{})}):return l(i,a[0]);default:return a.length>1?f(o,...a):p(i,...a)}}}function C(n,c){let{SymbolAndCustomProxyFactory:l,maybeFactory:f,WrapAnyFactory:m,verifyNothingness:S,determineType:$}=Y(n,g),{xProxy:p,addSymbolicExtensions:y}=l(n,g,c),[x,b]=[f(),m(n,g)];return Object.freeze({shouldbeIsSingleObject:i,ISOneOf:a,isExcept:u,verifyNothingness:S,xProxy:p,determineType:$,addSymbolicExtensions:y,maybe:x,$Wrap:b});function g(e){return e?.[Symbol.proxy]??n(e)}function i(e,r){switch(!0){case\"defaultValue\"in r:return o(e,r);case\"notTypes\"in r:return u(e,r);default:return n(e,...[r.isTypes].flat())}}function a(e,...r){return r.some(t=>n(e,t))}function o(e,{defaultValue:r,isTypes:t=[void 0],notTypes:s}={}){return t=t?.constructor!==Array?[t]:t,s=s&&s?.constructor!==Array?[s]:[],s.length<1?n(e,...t)?e:r:u(e,{isTypes:t,notTypes:s})?e:r}function u(e,{isTypes:r=[void 0],notTypes:t=[void 0]}={}){return r=r?.constructor!==Array?[r]:r,t=t?.constructor!==Array?[t]:t,n(e,...r)&&!n(e,...t)}}function Y(){let n={IS:\"toa.is\",TYPE:\"toa.type\",IS_SYMBOL:\"toa.isASymbol\",PROXY:\"toa.proxy\"},c={NAN:\"NaN\",INFINITY:\"Infinity\",BOOLEAN:\"Boolean\",OBJECT:\"Object\",PROXY_PREFIX:\"Proxy (\"};return Object.freeze({SymbolAndCustomProxyFactory:f,maybeFactory:o,WrapAnyFactory:a,verifyNothingness:u,determineType:y});function l(e,r){Symbol.is||(Symbol.is=Symbol.for(n.IS),Symbol.type=Symbol.for(n.TYPE),Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return r(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...t){return e(this,...t)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(t){return r(t)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(t,...s){return e(t,...s)},enumerable:!1,configurable:!1}}))}function f(e,r,t){return Symbol.isSymbol||(Symbol.isSymbol=Symbol.for(n.IS_SYMBOL)),{xProxy:$(),addSymbolicExtensions:()=>l(e,r)}}function m(e){return(w(e,!0)?{name:\"unknown\"}:Object.getPrototypeOf(e)?.constructor).name}function S(e,r){return Proxy=new e(e,{construct(t,s){let d=new t(...s);return Object.defineProperty(d,r,{value:`${c.PROXY_PREFIX}${m(s[0])})`}),d}}),Proxy}function $(){Symbol.proxy||(Symbol.proxy=Symbol.for(n.PROXY));let e=Proxy;return{native(){Proxy=e},custom(){Proxy=S(e,Symbol.proxy)}}}function p(e,...r){let t=r.length<1,s=e==null;return{noInput:s,noShouldbe:t,compareTo:!t&&r[0],inputCTOR:!s&&(e?.constructor||Object.getPrototypeOf(e)?.constructor),isNaN:Number.isNaN(e)||N({trial:d=>String(e)===c.NAN}),isInfinity:N({trial:d=>String(e)})===c.INFINITY,shouldBeFirstElementIsNothing:!t&&u(r[0])}}function y(e,...r){let{noInput:t,noShouldbe:s,compareTo:d,inputCTOR:O,isNaN:F,isInfinity:I,shouldBeFirstElementIsNothing:j}=p(e,...r);switch(r=r.length&&r[0],!0){case j:return String(e)===String(d);case(e?.[Symbol.proxy]&&s):return e[Symbol.proxy];case F:return s?c.NAN:String(d)===String(e);case I:return s?c.INFINITY:String(d)===String(e);case t:return s?String(e):String(d)===String(e);case O===Boolean:return s?c.BOOLEAN:O===r;default:return b(e,r,s,x(e,O))}}function x(e,r){switch(!0){case e===0:return Number;case e===\"\":return String;case!e:return{name:String(e)};default:return r}}function b(e,r,t,s){switch(!0){case(!t&&r===e||e?.[Symbol.proxy]&&r===Proxy):return!0;case String(r)===c.NAN:return String(e)===c.NAN;case(e?.[Symbol.toStringTag]&&typeof r==\"string\"):return String(r)===e[Symbol.toStringTag];default:return r?i(e,r,s):g(e,s)}}function g(e,r){return(e?.[Symbol.toStringTag]??e?.prototype?.[Symbol.toStringTag])||r?.name||String(r)}function i(e,r,t){return N({trial:s=>e instanceof r})||r===t||r===Object.getPrototypeOf(t)||`${r?.name}`===t?.name}function a(e,r){return function(t){let s={get value(){return t},is(...d){return e(t,...d)},get type(){return r(t)}};return Object[Symbol.type]&&Object.defineProperties(s,{[Symbol.type]:{get(){return r(t)}},[Symbol.is]:{value(...d){return e(t,...d)}}}),Object.freeze(s)}}function o(){let e=r=>{};return function({trial:r,whenError:t=e}={}){try{return r()}catch(s){return t(s)}}}function u(e,r=!1){let t=e==null;return t=r?t||P(e,1/0)||P(e,NaN):t,t}}var Q=_;function _({styleSheet:n,createWithId:c}={}){let{tryParseAtOrNestedRules:l,ruleExists:f,checkParams:m,sheet:S,removeRules:$,consider:p,currentSheetID:y}=T({styleSheet:n,createWithId:c});function x(o,u){if(o&&u.removeProperties){Object.keys(u.removeProperties).forEach(e=>o.style.removeProperty(R(e)));return}Object.entries(u).forEach(([e,r])=>{e=R(e.trim()),r=r.trim();let t;if(/!important/.test(r)&&(r=r.slice(0,r.indexOf(\"!important\")).trim(),t=\"important\"),!CSS.supports(e,r))return console.error(`StylingFactory ${y} error: '${e}' with value '${r}' not supported (yet)`);E(()=>o.style.setProperty(e,r,t),`StylingFactory ${y} (setRule4Selector) failed`)})}function b(o,u,e=S){if(o=o?.trim?.(),!P(o,String)||!o.length||/[;,]$/g.test(o))return console.error(`StylingFactory ${y} (setRules): [${o||\"[no selector given]\"}] is not a valid selector`);if(u.removeRule)return $(o);let r=f(o,!0),t=r||e.cssRules[e.insertRule(`${o} {}`,e.cssRules.length||0)];return p(()=>x(t,u),o,r)}function g(o){let u=o.trim().split(/{/,2),e=u.shift().trim();if(!P(e,String)||!e?.trim()?.length)return console.error(`StylingFactory ${y} (doParse): no (valid) selector could be extracted from rule ${h(o)}`);let r=U(u.shift());return E(()=>b(e,r),`StylingFactory ${y} (setRules) failed`)}function i(o){let u=l(o);return u.done?u.existing:g(o)}function a(o,u){return o.trim().startsWith(\"@media\")?i(L(o,u)):b(o,u)}return function(o,u={}){return m(o,u)&&(Object.keys(u).length?a(o,u):i(o))}}function T({styleSheet:n,createWithId:c}){let l=\"Note: The rule or some of its properties may not be supported by your browser (yet)\",f=`for style#${c}`;n=c?m(c):n;function m(i){let a=document.querySelector(`#${i}`)?.sheet;if(a)return a;let o=Object.assign(document.createElement(\"style\"),{id:i});return document.head.insertAdjacentElement(\"beforeend\",o),o.sheet}function S(i){return console.error(`StylingFactory ${f} [rule: ${i}]\n => @charset, @namespace and @import are not supported here`),{done:!0}}function $(i,a){return[...n.rules].find(o=>a?A(o.selectorText||\"\",i):M`${X(i)}${[...\"gim\"]}`.test(o.cssText))}function p(i){return/^@charset|@import|namespace/i.test(i.trim())?S(i):i.match(/}/g)?.length>1?{existing:b(i,1),done:!0}:{done:!1}}function y(i){let a=[...n.cssRules].reduce((u,e,r)=>A(e.selectorText||\"\",i)&&u.concat(r)||u,[]),o=a.length;return a.forEach(u=>n.deleteRule(u)),o>0?console.info(`\\u2714 Removed ${o} instance${o>1?\"s\":\"\"} of selector ${i} from ${f.slice(4)}`):console.info(`\\u2714 Remove rule: selector ${i} does not exist in ${f.slice(4)}`)}function x(i,a){return i&&P(i,String)&&i.trim().length>0&&P(a,Object)||(console.error(`StylingFactory ${f} called with invalid parameters`),!1)}function b(i){i=i.trim();let a=i.slice(0,i.indexOf(\"{\")).trim(),o=!!$(a);try{return n.insertRule(`${i}`,n.cssRules.length),o}catch(u){return console.error(`StylingFactory ${f} (tryParse) ${u.name} Error:\n${u.message}\nRule: ${h(i)}\n${l}`),o}}function g(i,a,o){try{return i(),o}catch(u){return console.error(`StylingFactory ${f} (tryAddOrModify) ${u.name} Error:\n${u.message}\nRule: ${h(a)}\n${l}`),o}}return{sheet:n,removeRules:y,tryParseAtOrNestedRules:p,ruleExists:$,checkParams:x,tryParse:b,consider:g,currentSheetID:f}}function L(n,c){return`${n.trim()} ${Object.entries(c).map(([l,f])=>`${l}: { ${k(f)}`)}`}function h(n){let c=(n||\"NO RULE\").trim().slice(0,50).replace(/\\n/g,\"\\\\n\").replace(/\\s{2,}/g,\" \");return n.length>c.length?`${c.trim()}...truncated`:c}function k(n){return Object.entries(n).map(([c,l])=>`${c}: ${l.trim()}`).join(`;\n`)}function X(n){return n.replace(/([*\\[\\]()-+{}.$?\\\\])/g,c=>`\\\\${c}`)}function M(n,...c){let l=c.length&&Array.isArray(c.slice(-1))?c.pop().join(\"\"):\"\";return new RegExp((c.length&&n.raw.reduce((f,m,S)=>f.concat(c[S-1]||\"\").concat(m),\"\")||n.raw.join(\"\")).split(`\n`).map(f=>f.replace(/\\s|\\/\\/.*$/g,\"\").trim().replace(/(@s!)/g,\" \")).join(\"\"),l)}function R(n){return n.replace(/[A-Z]/g,c=>`-${c.toLowerCase()}`).replace(/[^--]^-|-$/,\"\")}function E(n,c){try{return n()}catch(l){console.error(`${c||\"an error occured\"}: ${l.message}`)}}function z(n){return n.replace(/\\/\\*.+?\\*\\//gm,\"\").replace(/[}{\\r\\n]/g,\"\").replace(/(data:.+?);/g,(c,l)=>`${l}\\\\3b`).split(\";\").map(c=>c.trim()).join(`;\n`).replaceAll(\"\\\\3b\",\";\").split(`\n`)}function H(n){return n.reduce((c,l)=>{let[f,m]=[l.slice(0,l.indexOf(\":\")).trim(),l.slice(l.indexOf(\":\")+1).trim().replace(/;$|;.+(?=\\/*).+\\/$/,\"\")];return f&&m?{...c,[f]:m}:c},{})}function U(n){return H(z(n))}function A(n,c){return n?.replace(\"::\",\":\")===c?.replace(\"::\",\":\")}export{Q as default};\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, Proxy)) { 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, xProxy} 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\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\nxProxy.custom();\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, randomNr, randomString, resolveEventTypeParameter, setData, styleFactory,\r\n systemLog, tagFNFactory, tagLib, toCamelcase, toDashedNotation, truncate2SingleStr, truncateHtmlStr, 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 : IS(input, Proxy) ? [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, randomNr, randomString,\r\n resolveEventTypeParameter, setData, styleFactory, systemLog, tagFNFactory, tagLib, toCamelcase, toDashedNotation,\r\n 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, randomNr,\r\n 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 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 randomString, toDashedNotation, IS, tagFNFactory as $T, styleFactory, toCamelcase, systemLog,\r\n escHtml, isNonEmptyString, resolveEventTypeParameter, selectedFactoryHelpers, insertPositions,\r\n cleanupHtml, PopupFactory, tagLib, HandlerFactory, clearAllTimers, convert2Bool, maybe,\r\n getAttributesForLogging,\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( instance, Object.freeze({ get: (obj, key) => proxyKeyFactory(obj, key, instance) }) );\r\n}\r\n\r\nfunction wrap(method, instance) {\r\n return (...args) => IS(method, Function) && method(proxify(instance), ...args);\r\n}\r\n\r\nfunction proxyKeyFactory(self, key, instance) {\r\n switch(true) {\r\n case IS(key, Symbol): return maybe({trial: () => self[key], whenError: () => self });\r\n case IS(+key, Number): return self.collection?.[key] || undefined;\r\n case (key in instanceGetters): return wrap(instanceGetters[key], instance)();\r\n case (key in instanceMethods): return wrap(instanceMethods[key], instance);\r\n default: return self[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 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 addJQxStaticMethods(JQxMainFactory());\r\n\r\nfunction JQxMainFactory() {\r\n const logLineLength = 70;\r\n \r\n return 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 if (instance.collection.length && isRawElemCollection) {\r\n if (!isVirtual) {\r\n instance.collection.forEach(el => {\r\n if (!root.contains(el)) {\r\n inject2DOMTree([el], root, position);\r\n }\r\n });\r\n }\r\n \r\n return proxify(instance);\r\n }\r\n \r\n if (shouldCreateElements) {\r\n [input].flat().forEach(htmlStringOrComment =>\r\n instance.collection.push(createElementFromHtmlString(htmlStringOrComment)));\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 \r\n return instance;\r\n }\r\n \r\n setCollectionFromCssSelector(input, root, instance);\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{IS:b,maybe:E,$Wrap:X,isNothing:j,xProxy:h,addSymbolicExtensions:T}=Y({useSymbolicExtensions:!1});function Y(i={}){let{useSymbolicExtensions:a}=i,{shouldbeIsSingleObject:m,ISOneOf:g,isExcept:P,verifyNothingness:d,xProxy:x,determineType:N,addSymbolicExtensions:y,maybe:S,$Wrap:O}=_(e,a);return a&&y(),{IS:e,maybe:S,$Wrap:O,isNothing:d,xProxy:x,addSymbolicExtensions:y};function e(c,...u){let l=typeof c==\"symbol\"?Symbol.isSymbol:c;switch(!0){case!!S({trial:f=>\"isTypes\"in(u?.[0]??{})}):return m(c,u[0]);default:return u.length>1?g(l,...u):N(c,...u)}}}function _(i,a){let{SymbolAndCustomProxyFactory:m,maybeFactory:g,WrapAnyFactory:P,verifyNothingness:d,determineType:x}=w(i,e),{xProxy:N,addSymbolicExtensions:y}=m(i,e,a),[S,O]=[g(),P(i,e)];return Object.freeze({shouldbeIsSingleObject:c,ISOneOf:u,isExcept:f,verifyNothingness:d,xProxy:N,determineType:x,addSymbolicExtensions:y,maybe:S,$Wrap:O});function e(r){return r?.[Symbol.proxy]??i(r)}function c(r,t){switch(!0){case\"defaultValue\"in t:return l(r,t);case\"notTypes\"in t:return f(r,t);default:return i(r,...[t.isTypes].flat())}}function u(r,...t){return t.some(n=>i(r,n))}function l(r,{defaultValue:t,isTypes:n=[void 0],notTypes:o}={}){return n=n?.constructor!==Array?[n]:n,o=o&&o?.constructor!==Array?[o]:[],o.length<1?i(r,...n)?r:t:f(r,{isTypes:n,notTypes:o})?r:t}function f(r,{isTypes:t=[void 0],notTypes:n=[void 0]}={}){return t=t?.constructor!==Array?[t]:t,n=n?.constructor!==Array?[n]:n,i(r,...t)&&!i(r,...n)}}function w(){let i={IS:\"toa.is\",TYPE:\"toa.type\",IS_SYMBOL:\"toa.isASymbol\",PROXY:\"toa.proxy\"},a={NAN:\"NaN\",INFINITY:\"Infinity\",BOOLEAN:\"Boolean\",OBJECT:\"Object\",PROXY_PREFIX:\"Proxy (\"};return Object.freeze({SymbolAndCustomProxyFactory:g,maybeFactory:l,WrapAnyFactory:u,verifyNothingness:f,determineType:y});function m(r,t){Symbol.is||(Symbol.is=Symbol.for(i.IS),Symbol.type=Symbol.for(i.TYPE),Object.defineProperties(Object.prototype,{[Symbol.type]:{get(){return t(this)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(...n){return r(this,...n)},enumerable:!1,configurable:!1}}),Object.defineProperties(Object,{[Symbol.type]:{value(n){return t(n)},enumerable:!1,configurable:!1},[Symbol.is]:{value:function(n,...o){return r(n,...o)},enumerable:!1,configurable:!1}}))}function g(r,t,n){return Symbol.isSymbol||(Symbol.isSymbol=Symbol.for(i.IS_SYMBOL)),{xProxy:x(),addSymbolicExtensions:()=>m(r,t)}}function P(r){return(j(r,!0)?{name:\"unknown\"}:Object.getPrototypeOf(r)?.constructor).name}function d(r,t){return Proxy=new r(r,{construct(n,o){let s=new n(...o);return Object.defineProperty(s,t,{value:`${a.PROXY_PREFIX}${P(o[0])})`}),s}}),Proxy}function x(){Symbol.proxy||(Symbol.proxy=Symbol.for(i.PROXY));let r=Proxy;return{native(){Proxy=r},custom(){Proxy=d(r,Symbol.proxy)}}}function N(r,...t){let n=t.length<1,o=r==null;return{noInput:o,noShouldbe:n,compareTo:!n&&t[0],inputCTOR:!o&&(r?.constructor||Object.getPrototypeOf(r)?.constructor),isNaN:Number.isNaN(r)||E({trial:s=>String(r)===a.NAN}),isInfinity:E({trial:s=>String(r)})===a.INFINITY,shouldBeFirstElementIsNothing:!n&&f(t[0])}}function y(r,...t){let{noInput:n,noShouldbe:o,compareTo:s,inputCTOR:A,isNaN:F,isInfinity:v,shouldBeFirstElementIsNothing:p}=N(r,...t);switch(t=t.length&&t[0],!0){case p:return String(r)===String(s);case(r?.[Symbol.proxy]&&o):return r[Symbol.proxy];case F:return o?a.NAN:String(s)===String(r);case v:return o?a.INFINITY:String(s)===String(r);case n:return o?String(r):String(s)===String(r);case A===Boolean:return o?a.BOOLEAN:A===t;default:return O(r,t,o,S(r,A))}}function S(r,t){switch(!0){case r===0:return Number;case r===\"\":return String;case!r:return{name:String(r)};default:return t}}function O(r,t,n,o){switch(!0){case(!n&&t===r||r?.[Symbol.proxy]&&t===Proxy):return!0;case String(t)===a.NAN:return String(r)===a.NAN;case(r?.[Symbol.toStringTag]&&typeof t==\"string\"):return String(t)===r[Symbol.toStringTag];default:return t?c(r,t,o):e(r,o)}}function e(r,t){return(r?.[Symbol.toStringTag]??r?.prototype?.[Symbol.toStringTag])||t?.name||String(t)}function c(r,t,n){return E({trial:o=>r instanceof t})||t===n||t===Object.getPrototypeOf(n)||`${t?.name}`===n?.name}function u(r,t){return function(n){let o={get value(){return n},is(...s){return r(n,...s)},get type(){return t(n)}};return Object[Symbol.type]&&Object.defineProperties(o,{[Symbol.type]:{get(){return t(n)}},[Symbol.is]:{value(...s){return r(n,...s)}}}),Object.freeze(o)}}function l(){let r=t=>{};return function({trial:t,whenError:n=r}={}){try{return t()}catch(o){return n(o)}}}function f(r,t=!1){let n=r==null;return n=t?n||b(r,1/0)||b(r,NaN):n,n}}var C=I(),$=I(\"\");function I(i,a={}){let{useSymbolicExtensions:m}=a;return i=b(i,String,Number)?String(i):void 0,m&&L(),function(e,...c){return O(e,S(c))};function g(e,c){return c&&b(i,String,Number)?String(i):`{${e}}`}function P(e,c){let u=e in c;return u&&b(c[e],String,Number)?String(c[e]):g(e,u)}function d(e){return(...c)=>{let u=c.find(l=>l.key);return P(u?u.key:\"_\",e)}}function x(e,c){return e.replace(/\\{(?<key>[a-z_\\d]+)}/gim,d(c))}function N(e){let c=[];return Object.entries(e).forEach(([u,l])=>{l.forEach((f,r)=>(c[r]??={},c[r][u]=f))}),c}function y(e){return e.length===1&&Object.values(e[0]).every(Array.isArray)}function S(e){return y(e)?N(e[0]):e}function O(e,c){let u=c?.length?c.filter(l=>b(l,Object)).map((l,f)=>x(e,{...l,index:f+1})).join(\"\"):e;return b(i,void 0)?u:u.replace(/\\{[a-z_\\d].+\\}/gim,String(i))}}function L(){return String.prototype[Symbol.for(\"interpolate\")]||Object.defineProperties(String.prototype,{[Symbol.for(\"interpolate\")]:{value(...i){return C(this,...i)}},[Symbol.for(\"interpolate$\")]:{value(...i){return $(this,...i)}}}),[Symbol.for(\"interpolate\"),Symbol.for(\"interpolate$\")]}export{L as addSymbolicStringExtensions,C as default,$ as interpolateClear,I as interpolateFactory};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["IS", "maybe", "$Wrap", "isNothing", "
|
|
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", "const converts = { html: `innerHTML`, text: `textContent`, class: `className` };\r\nconst maybe = maybeFactory();\r\nlet elementFunctionCollection = {};\r\nconst customElementRegistry = {};\r\nconst checkType = typeCheckFactory();\r\nlet tagFunctionError = tag => {\r\n console.error(`tinyDOM error: \"${tag}\" is not a valid HTML tag`);\r\n return undefined;\r\n};\r\n\r\nexport default tinyDOM();\r\n\r\nfunction tinyDOM() {\r\n return Object.freeze(new Proxy(elementFunctionCollection, getProxy()));\r\n}\r\n\r\nfunction getProxy() {\r\n return {\r\n get(tagFns, key) {\r\n const tag = String(key);\r\n \r\n switch(true) {\r\n case tag in tagFns: return tagFns[tag];\r\n case validateTag(tag): return createTagFunctionProperty({tag, key});\r\n default: return createTagFunctionProperty({tag, key, isError: true});\r\n }\r\n },\r\n set(tagFns, key, value) {\r\n if (key === `setError` && typeof value === 'function') { tagFunctionError = value; }\r\n return true;\r\n },\r\n enumerable: false, configurable: false\r\n };\r\n}\r\n\r\nfunction createTagFunctionProperty({tag, key, custom, debug = false, isError = false} = {}) {\r\n let unfrozenElementFunctionCollection = cloneExact();\r\n \r\n if (isError) {\r\n Object.defineProperty(unfrozenElementFunctionCollection, tag, {\r\n get() { return _ => tagFunctionError(key) ?? ``; }\r\n } );\r\n \r\n return reFreeze(unfrozenElementFunctionCollection, tag);\r\n }\r\n \r\n if (tag.includes(`-`)) {\r\n const [dashed, camel] = tag.includes(`-`) ? [tag, toCamelcase(tag)] : [toDashedNotation(tag), tag];\r\n customElementRegistry[dashed] = dashed;\r\n customElementRegistry[camel] = dashed;\r\n custom = camel;\r\n }\r\n \r\n if (!!custom) {\r\n Object.defineProperty(unfrozenElementFunctionCollection, custom, {\r\n get() { return tag2FN(tag); }\r\n });\r\n }\r\n \r\n Object.defineProperty(unfrozenElementFunctionCollection, tag, {\r\n get() { return tag2FN(tag); }\r\n } );\r\n \r\n return reFreeze(unfrozenElementFunctionCollection, tag);\r\n}\r\n\r\nfunction reFreeze(unfrozenCollection, tag) {\r\n elementFunctionCollection = Object.freeze(new Proxy(unfrozenCollection, getProxy()));\r\n elementFunctionCollection[Symbol.for.proxy] = `Proxy (Object)`;\r\n return elementFunctionCollection[tag];\r\n}\r\n\r\nfunction cloneExact() {\r\n return Object.fromEntries(\r\n Object.entries(Object.getOwnPropertyDescriptors(elementFunctionCollection))\r\n );\r\n}\r\n\r\nfunction processNext(root, next, tagName) {\r\n next = next?.isJQx && next.node || (checkType(next, Number) ? String(next) : next);\r\n \r\n return maybe({\r\n trial: _ => containsHTML(next) ? root.insertAdjacentHTML(`beforeend`, next) : root.append(next),\r\n whenError: err => console.info(`${tagName} not created, reason\\n`, err)\r\n });\r\n}\r\n\r\nfunction tagFN(tagName, initial, ...nested) {\r\n const elem = retrieveElementFromInitial(initial, tagName);\r\n nested?.forEach(arg => processNext(elem, arg, tagName));\r\n return elem;\r\n}\r\n\r\nfunction retrieveElementFromInitial(initial, tag) {\r\n initial = isComment(tag) ? cleanupComment(initial) : initial?.isJQx ? initial.node : initial;\r\n \r\n switch(true) {\r\n case checkType(initial, String): return createElement(tag, containsHTML(initial, tag) ? {html: initial} : {text: initial});\r\n case initial instanceof Node: return createElementAndAppend(tag, initial);\r\n default: return createElement(tag, initial);\r\n }\r\n}\r\n\r\nfunction createElementAndAppend(tag, element2Append) {\r\n const elem = createElement(tag);\r\n elem.append(element2Append);\r\n return elem;\r\n}\r\n\r\nfunction cleanupProps(props) {\r\n if ( Object.keys(props).length < 1 ) { return {assignable: {}, specials: [...Array(3)] }; }\r\n \r\n const specials = retrieveSpecialProps(props);\r\n Object.keys(props).forEach( key => {\r\n const keyCI = key.toLowerCase();\r\n keyCI in converts && (props[converts[keyCI]] = props[key]) && delete props[key]; } );\r\n \r\n return { assignable: props, specials };\r\n}\r\n\r\nfunction retrieveSpecialProps(props) {\r\n props = checkType(props, Object) && props || undefined;\r\n \r\n if (!props) { return Array(3); }\r\n \r\n const data = Object.entries(props.data ?? {});\r\n const attributes = Object.entries(props.attributes ?? {});\r\n const classList = props.class?.split(/[ ,]/).map(v => v.trim()).filter(v => v.length > 1);\r\n delete props.data;\r\n delete props.attributes;\r\n delete props.class;\r\n \r\n return [data, attributes, classList];\r\n}\r\n\r\nfunction assignSpecialProps(specialProps, element) {\r\n const [data, attributes, classList] = specialProps;\r\n \r\n data?.length && data.forEach(([key, value]) => element.dataset[key] = value);\r\n attributes?.length && attributes.forEach( ([key, value]) => element.setAttribute(key, value) );\r\n classList?.forEach( value => element.classList.add(value));\r\n}\r\n\r\nfunction createElement(tagName, props) {\r\n props = props || {};\r\n const {assignable, specials} = cleanupProps(props);\r\n const elem = Object.assign(\r\n isComment(tagName) ? new Comment() : document.createElement(tagName),\r\n assignable\r\n );\r\n assignSpecialProps(specials, elem);\r\n \r\n return elem;\r\n}\r\n\r\nfunction cleanupComment(initial) {\r\n return initial?.constructor === Comment ? initial?.textContent : String(initial);\r\n}\r\n\r\nfunction containsHTML(str, tag) {\r\n return !isComment(tag) && checkType(str, String) && /<.*>|&[#|0-9a-z]+[^;];/i.test(str);\r\n}\r\n\r\nfunction isComment(tag) { return /comment/i.test(tag); }\r\n\r\nfunction validateTag(name) {\r\n return validateElementTagName(name) &&\r\n (name in customElementRegistry ||\r\n !checkType(createElement(name), HTMLUnknownElement));\r\n}\r\n\r\nfunction validateElementTagName(tagName) {\r\n tagName = tagName.toLowerCase();\r\n \r\n return typeof tagName === `string` &&\r\n tagName.length > 0 &&\r\n /^[a-z]/.test(tagName) &&\r\n /^[a-z0-9-]+$/gi.test(tagName);\r\n}\r\n\r\nfunction tag2FN(tagName) {\r\n tagName = tagName in customElementRegistry ? customElementRegistry[tagName] : tagName;\r\n return (initial, ...args) => tagFN(tagName, initial, ...args);\r\n}\r\n\r\nfunction ucFirst([first, ...theRest]) { return `${first.toUpperCase()}${theRest.join(``)}`; }\r\n\r\nfunction toDashedNotation(str2Convert) {\r\n return str2Convert.replace(/[A-Z]/g, a => `-${a.toLowerCase()}`).replace(/^-|-$/, ``);\r\n}\r\n\r\nfunction toCamelcase(str2Convert) {\r\n return checkType(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 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\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", "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 reProxify(method, instance) {\r\n return (...args) =>\r\n instance = typeof method === `function`\r\n ? method(proxify(instance), ...args) : instance;\r\n}\r\n\r\nfunction proxyTrapFactory(self, key, instance) {\r\n switch(true) {\r\n case key === Symbol.proxy || key === Symbol.type: return `JQx instance proxy`;\r\n case typeof key === `symbol`: return maybe({trial: () => self[key], whenError: () => self });\r\n case !Number.isNaN(+key) && typeof +key === `number`: return self.collection?.[key] || undefined;\r\n case (key in instanceGetters): return reProxify(instanceGetters[key], instance)();\r\n case (key in instanceMethods): return reProxify(instanceMethods[key], instance);\r\n default: return Reflect.get(self, 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 addJQxStaticMethods(JQxMainFactory());\r\n\r\nfunction JQxMainFactory() {\r\n const logLineLength = 70;\r\n \r\n return 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", "detectableProxy", "TOAFactory", "specs", "useSymbolicExtensions", "isJust", "typeCheckFactory", "shouldbeIsSingleObject", "ISOneOf", "isExcept", "verifyNothingness", "determineType", "TOAHelpers", "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", "converts", "elementFunctionCollection", "customElementRegistry", "checkType", "tagFunctionError", "tag", "tinyDOM_default", "tinyDOM", "getProxy", "tagFns", "validateTag", "createTagFunctionProperty", "value", "custom", "debug", "isError", "unfrozenElementFunctionCollection", "cloneExact", "reFreeze", "dashed", "camel", "toCamelcase", "toDashedNotation", "tag2FN", "unfrozenCollection", "processNext", "root", "next", "tagName", "containsHTML", "tagFN", "initial", "nested", "elem", "retrieveElementFromInitial", "arg", "isComment", "cleanupComment", "createElement", "createElementAndAppend", "element2Append", "cleanupProps", "props", "specials", "retrieveSpecialProps", "keyCI", "data", "attributes", "classList", "assignSpecialProps", "specialProps", "element", "assignable", "str", "name", "validateElementTagName", "ucFirst", "first", "theRest", "str2Convert", "a", "i", "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", "reProxify", "method", "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", "l", "h", "D", "Z", "$", "Fe", "u", "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", "R", "fe", "C", "X", "ce", "je", "me", "pe", "ee", "$e", "O", "te", "L", "Pe", "F", "v", "I", "we", "re", "Se", "de", "j", "P", "Ze", "be", "k", "oe", "ne", "E", "Ee", "z", "Ve", "ue", "Me", "qe", "He", "_e", "Ie", "Ne", "ve", "Ge", "V", "Be", "ze", "Oe", "Je", "v", "maybeFlags", "v", "p", "N", "f", "O", "l", "S", "g", "v", "N", "O", "top"]
|
|
7
7
|
}
|