houxit 0.1.11
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/dist/houxit.browser.esm.js +11804 -0
- package/dist/houxit.browser.esm.js.map +1 -0
- package/dist/houxit.cjs +11943 -0
- package/dist/houxit.cjs.map +1 -0
- package/dist/houxit.esm.js +11798 -0
- package/dist/houxit.esm.js.map +1 -0
- package/dist/houxit.esm.min.js +1 -0
- package/dist/houxit.global.js +11946 -0
- package/dist/houxit.global.js.map +1 -0
- package/dist/houxit.global.min.js +1 -0
- package/dist/houxit.min.cjs +1 -0
- package/dist/index.cjs +11949 -0
- package/dist/index.cjs.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"houxit.esm.js","names":["prev","cycleTime"],"sources":["../src/index.js"],"sourcesContent":["\n //Prince Chukwuemeka Ezeta \n // ** This project, 'HOUXIT', is been sponsored by the HOUXIT SYSTEMS\n // ** Visit 'www.houxit.com/guide' for for more information on the houxit project , documentation and houxit's development process roadmap.\n // ** This is a web JIT development version of Houxit\n // ** We at the core team of Houxit project are determined on developing and improving Houxit.js features and perfomance issues, we only need your support to help and encourage us on maintaing this template engine.\n // ** Thanks for choosing Houxit\n // THE TRANSPARENT FOOTPRINT FOR MODERN WEB APPS\n\"use strict\";\nconst log=console.log;\nconst version = \"0.1.10\";\nconst get_version=()=>'houxit-'+version;//houxit at it's earliest version\nconst isArray=Array.isArray;\nconst toString=Object.prototype.toString;\nconst _toStringCall=txt=>toString.call(txt);\nconst isDate=date=>_toStringCall(date) === '[object Date]';\nconst isSet=val=>_toStringCall(val) === '[object Set]';\nconst isMap=map=>_toStringCall(map) === '[object Map]';\nconst isWeakMap=map=>_toStringCall(map) === '[object WeakMap]';\nconst isWeakSet=setup=>_toStringCall(setup) === '[object WeakSet]';\nconst toStringType=value=>_toStringCall(value).slice(8, -1).toLowerCase();\nconst isString=str=>getType(str) === 'string';\nconst isNull=arg=>arg==null;\nconst isUndefined=arg=>_toStringCall(arg) === '[object Undefined]';\nconst isObject=obj=>getType(obj) === 'object';\nconst isPObject=obj=>_toStringCall(obj) === '[object Object]';\nconst isPrimitive=val=>validateType(val, [ String, Number, Boolean, Date ]) || isNull(val);\nconst hasOwn=Object.hasOwn;\nconst assign=Object.assign;\nconst entries=Object.entries;\nconst keys=Object.keys;\nconst values=Object.values;\nconst preventX=Object.preventExtensions;\nconst define=Object.defineProperty;\nconst isS=Object.is;\nconst hasProp=(obj, prop)=> prop in obj;\nfunction _makeMap_(obj, arg){\n return isString(obj) ? new Set(obj.split(',')).has(arg) : isArray(obj) ? new Set(obj).has(arg) : validateType(arg, [Set, Tuple, Map ]) ? obj.has(arg) : isPObject(obj) ? hasProp(obj, arg) : false;\n}\nconst freeze=(obj={})=>Object.freeze(obj);\nconst inBrowserCompiler = typeof self !== \"undefined\" && typeof self === \"object\";\nconst variableDeclarationRegex=/([\\s\\S]+[^=]*)[ ]*=[ ]*([\\s\\S]+)?|([\\w_$\\-]+)/m;\nconst templateClassValidatorRegex=/^([\\w\\-$.[\\]\\(\\)]+)::/;\nconst invalidIdentifierCharRegex=/[='\"!@#%^&*()+\\-\\[\\]{};:\\\\|,.<\\/? ]/;\nconst invalidAccessorCharRegex=/[='\"!@#%^&*(){};:\\\\|,<? ]/;\nconst isValidAccessor=variable => isString(variable) && /[a-zA-Z_$]/.test(variable.at(0)) && !invalidAccessorCharRegex.test(variable);\nconst isValidIdentifier=variable => isString(variable) && /[\\w$]/.test(variable.at(0)) && !invalidIdentifierCharRegex.test(variable);\nconst constBlockContext=\"if_Block,for_Block,slots_Block,children_Block\";\nconst isValidCtxType=type=>_makeMap_(constBlockContext, type);\nconst isFunction=func=>getType(func) === 'function';\nconst isPFunction=func=>isFunction(func) && !isClass(func);\nconst isNumber=num=>getType(num) === 'number';\nconst isBoolean=bool=>getType(bool) === 'boolean';\nconst bool=Boolean;\nconst defProps=Object.defineProperties;\nconst isSymbol=sym=>_toStringCall(sym) === '[object Symbol]';\nconst isChar=char=>isString(char) || isSymbol(char);\nconst isPromise=prom=> _toStringCall(prom) === '[object Promise]' && isFunction(prom.then) && isFunction(prom.catch);\nconst nullObj=()=> Object.create(null);\nconst isTrue=compute=>compute === true;\nconst isFalse=compute=>compute === false;\nconst $warner=`<<< Houxit Exception >>> ..... >>>>>>>`;\nconst characters=/[!\"#%&'()*+,./;<=>@[\\\\\\]\\^`{|}~\\s]+/;\nconst stringsMonitorRegex=/\"(.*?)\"|'(.*?)'|`+(.*?\\s)`+/gm;\nfunction debugHandler(msg, self, dictateW=false, txt=''){\n let DEBUG_ENV=true;\n if(isHouxitBuild(self)) {\n DEBUG_ENV=self[$$$core].settings.debug /*&& !self[$$$operands].initializedRender*/;\n }\n if(DEBUG_ENV ) {\n if(dictateW) {\n console.warn(`${$warner}\\n\\nEncountered a problem ${txt} \\n\\n at at \\n <${self && isHouxitBuild(self) ? self[$$$ownProperties].name : 'UnknownWidget' }> widget`);//houxit warming debugger\n }\n throw new Error(`${$warner}\\n\\n${msg}\\n\\n\"${/*msg?.stack || ''*/''}\"`);//houxit warming debugger\n // $warn(msg.stack ? msg.stack : msg, self)\n }\n}\nfunction $warn(msg, self){\n let DEBUG_ENV=true;\n if(isHouxitBuild(self)) {\n DEBUG_ENV=self[$$$core].settings.debug;\n }\n if(DEBUG_ENV) {\n console.warn(`${$warner}\\n\\n${msg}`);//houxit warming debugger\n }\n}\nconst isIterator=iterator=>iterator && !isArray(iterator) && isPFunction(iterator[Symbol.iterator]);\nconst isInfinity=num=>num === Infinity;\nconst isIterable=iterable=>(validateType(iterable, [Object,Array,Set,Map,Tuple]) || isIterator(iterable)) && !isString(iterable);\nconst enumerable =true, configurable =true, writable = true ;\nconst isEmptyStr=str=>str === \"\";\nconst $Error=(msg,self)=>{\n let DEBUG_ENV=true;\n if(self) {\n DEBUG_ENV=self[$$$compiler].config.debug;\n }\n if(isTrue(DEBUG_ENV)) {\n console.error(`${$warner}\\n\\n ${msg}`);//houxit warming debugger\n }\n}\nconst hasHyphen_bind=key=>/^\\-\\-[\\w\\-|[\\]_$]+/.test(key);\nconst hasAt_bind=key=>/^@[\\w\\-|[\\]$_]+/.test(key);\nconst has$$_bind=key=>/^\\$\\$[\\w\\-|[\\]_]+/.test(key);\nconst hasAsh_bind=key=>/^\\#[\\w\\-|[\\]_$]+/.test(key);\nconst hasSpread_bind=( key , useAccessor=false )=> ( useAccessor ? /^\\.\\.\\.[\\w$.]+/ : /^\\.\\.\\.[\\w$_]+/ ).test(key);//useAccessor requests if dot notation is acceptd on match\nconst isSpecialProps=prop=>_makeMap_(\"ref,key,dispatch,attach,context,motion\", prop);\nconst exists=value=> (value || isNumber(value)) ? true : false ;\nconst hasAsterisks_bind=key=>/^\\*[\\w\\-|[\\]$\\_]+/.test(key)\nconst widgetOptionType={ \n build:Function, \n model:Function, \n widgets:Object, \n preBuild:Function, \n postBuild:Function, \n preMount:Function,\n postMount:Function, \n preUpdate:Function, \n postUpdate:Function, \n postDestroy:Function, \n preDestroy:Function, \n handlers:Object, \n params:[Array, Object], \n buildConfig:Object, \n styles:String, \n directives:Object, \n template:String, \n name:String,\n observers:Object, \n filters:Object, \n blocks:Object,\n signals:Array, \n transmit:Function, \n receive:[Array, Object], \n slots:Array, \n markdown:String,\n context:Function,\n computed:Object,\n mixins:Array,\n onTracked:Function,\n onEffect:Function,\n onCatch:Function,\n onSlotRender:Function,\n onSlotEffect:Function,\n render:Function,\n refs:Array,\n install:Function,\n templateClasses:Object,\n animations:Object,\n transitions:Object,\n bindDrivers:[Array, Object]\n}\nconst isMergableMethods=n=>_makeMap_(\"model,preBuild,postBuild,preMount,postMount,preUpdate,postUpdate,preDestroy,postDestroy,transmit,onTracked,onEffect,onCatch,onSlotEffect,onSlotEffect,install\", n);\nconst isMergableObjects=n=>_makeMap_(\"widgets,handlers,buildConfig,directives,observers,filters,blocks,computed,templateClasses,animations,transitions\", n);\nconst isInvalidMixinOption=n=>_makeMap_(\"build,styles,template,name,markdown,context,render\", n);\nconst isMergeableArrays=n=>_makeMap_(\"signals,slots,mixins,refs\", n);\nconst isMergeableArrays_Objects=n=>_makeMap_(\"params,receive\", n);\nconst validWidgetOptions=keys(widgetOptionType).join(',');//valid widget options---\nclass __WUFInstanceLoader{\n constructor(widget, options, _ ){\n \n }\n type='browser';//[ cli, browser]\n _isSingleFileWidget=false;//[true, false]\n __WUFTransformType='options';//['build']\n NamespaceObject={};\n lookupLoader=pass;\n dev_loggers=[];\n}\nconst plainFunctionOptions=\"model,preBuild,postBuild,preMount,postMount,preUpdate,postUpdate,postDestroy,preDestroy,transmit,context,onEffect,onTracked,onCatch,build,onSlotEffect,onSlotRender,refs\";\nconst nonAFuncMethod=fnName=> _makeMap_(plainFunctionOptions, fnName);\nconst calledOnceFNOptions=\"model,preBuild,postBuild,preMount,postMount,onTracked,build,onSlotRender\"\nconst isCalledOnceOpt=opt=>_makeMap_(calledOnceFNOptions, opt)\nconst nodeJSOnlyOption=\"markdownSrc,styleSrc,templateSrc\";\nconst isNodeJSOnlyOption=opt=>_makeMap_(nodeJSOnlyOption, opt);\nconst primaryKeyOptions=\"build,styleSrc,styles,templateSrc,template,name,markdownSrc,markdown,context\";\nconst isPrimaryKeyOption=opt=>_makeMap_(opt, primaryKeyOptions);\nconst isArgument=arg=>_toStringCall(arg) === \"[object Arguments]\";\nfunction len(obj){\n if(!obj) {\n return 0;\n }\n obj=unwrap(obj);\n return validateType(obj, [ String , Array, Arguments ] ) ? obj.length : validateType(obj, [ Set, Map, Tuple ]) ? obj.size : isObject(obj) ? keys(obj).length : isNumber(obj) ? obj : -1 ;\n}\nconst isValidWidgetOption=opts=>_makeMap_(validWidgetOptions, opts);//checks if an option is a vslid Houxit widget option\nconst HTML_TAGS=\"html,head,style,title,body,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,main,nav,section,blockquote,dd,div,dl,dt,figcaption,figure,li,menu,ol,p,pre,ul,a,abbr,b,bdi,bdo,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,audio,map,video,iframe,object,picture,portal,svg,math,canvas,noscript,script,del,ins,caption,col,colgroup,table,tbody,td,tfoot,th,thead,tr,datalist,fieldset,form,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,summary,button,base,link,meta,hr,br,wbr,area,img,track,embed,source,input,template,slot\" ;//All html valid tags supported by the Houxit framework\nconst IS_HTML_TAG=txt=>_makeMap_(HTML_TAGS, txt);\nconst WEB_COMPONENTS=\"template,slot\";//Web components tags , also supported by the Houxit framework\nconst HTML_FORM_ELEMENTS=\"select,textarea,input,form,progress,meter,option\";\nconst Is_Form_Element=element=>IS_ELEMENT_NODE(element) && _makeMap_(HTML_FORM_ELEMENTS, (element.localName));\nconst IS_WEB_COMPONENT=txt=>_makeMap_(WEB_COMPONENTS, txt);\nconst HTML_VOID_TAGS=\"base,link,meta,hr,br,wbr,area,img,track,embed,source,input\";//HTML void tags, also supported by the Houxit framework\nconst IS_HTML_VOID_TAG=txt=>_makeMap_(HTML_VOID_TAGS, txt);\nconst HTML_DEPRECATED_TAGS=\"acronym,noembed,applet,noframes,bgsound,param,big,blink,plaintext,center,rb,content,rtc,dir,shadow,font,spacer,frame,strike,frameset,image,tt,keygen,xmp,marquee,nobr,menuitem\";//HTML obselete and deprecated element. \n//The above tags are no more been supported by the houxit framework\nconst IS_HTML_DEPRECATED_TAG= txt => _makeMap_(HTML_DEPRECATED_TAGS, txt);\nconst HTMLIDLAttributes=\"accesskey,contenteditable,dir,draggable,enterkeyhint,hidden,inert,innerText,inputmode,popover,lang,noModule,nonce,outerText,spellcheck,style,tabindex,title,translate,className,value,innerHTML,outerHTML\";\nconst isHTMLIDLAttributes=txt=>_makeMap_(HTMLIDLAttributes, txt)\nconst HTMLBooleanAttributes=\"disabled,hidden,draggable,checked,selected,defer,ismap,reversed,readonly,autoplay,disableremoteplayback,muted,loop,autofocus,async,controls,default,inert,open,scoped,seamless,muted,multiple,itemscope,allowfullscreen,formnovalidate,nomodule,novalidate\";\nconst isHTMLBooleanAttributes=txt=>_makeMap_(HTMLBooleanAttributes, txt);\nconst SVG_TAGS=\"animate,animateMotion,animateTransform,circle,clipPath,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,stopsvg,switch,symbol,text,textPath,tspan,use,view\";\nconst SVG_DEPRECATED_TAGS=\"altGlyph,altGlyphDef,altGlyphItem,cursor,font,font-face,font-face-format,font-face-name,font-face-src,font-face-uri,glyph,glyphToken,hkern,missing-glyph,tref,vkern\";\nconst IS_SVG_TAG=tag=>_makeMap_(SVG_TAGS, tag);\nconst IS_SVG_DEPRRCATED_TAG=tag=>_makeMap_(SVG_DEPRECATED_TAGS, tag);\nconst MATHML_TAGS = \"malignmark,menclose,annotation,annotation-xml,maction,merror,maligngroup,mfenced,mn,mo,mmultiscripts,mfrac,semantics,none,mlongdiv,mlabeledtr,mfraction,mtr,mglyph,mi,mover,munder,munderover,mpadded,mphantom,mspace,mroot,mprescripts,msline,mrow,ms,mscarries,mscarry,msgroup,msqrt,mstack,mtd,mtext,mtable,mstyle,msub,msubsup,msrow,msup\";\nconst IS_MATHML_TAG=tag=>_makeMap_(MATHML_TAGS, tag);\nconst IS_VALID_TAGNAME=(txt)=>{\n if(IS_HTML_TAG(txt)||IS_WEB_COMPONENT(txt)||IS_HTML_VOID_TAG(txt) || IS_SVG_TAG(txt) || IS_MATHML_TAG(txt)) {\n return true;\n }\n if(IS_HTML_DEPRECATED_TAG(txt) || IS_SVG_DEPRRCATED_TAG(txt)){\n debugHandler(`[ ] \"${txt}\" is an html/svg deprecated tag, and should not be used in new projects\\n\\nhouxit does not allow the compilation of obselete elements`);\n }\n return false;\n}\nconst dataStringTypes=\"string,function,object,array,boolean,number,symbol,set,map,bigint,set,map,weakmap,weakset,date,weakref,promise,proxy,tuple\";//Valid javascript datatypes\nconst isValidDataTypeString=obj=>_makeMap_(dataTypes, obj);//checks if a string value is a dataTypes return text\nclass Tuple extends BaseTuple{\n constructor(){\n super(...arguments);\n }\n}\nconst $motionKey=Symbol('<Motion:key>');\nclass BaseMotion{\n constructor(motion, params={}, key, mode){\n this[$motionKey]={\n params:{},\n mode:'both'\n }\n const type=key === 'transition' ? 'trasite' : 'animate';\n if(!isPFunction(motion)){\n debugHandler(`[ ] \"${type}()\" \"${key}\" function expects a plain function...\\nvalidation failed`);\n return;\n }else if(params && !isPObject(params)){\n debugHandler(`[ ] \"params\" @ argument 2 of \"${type}\" \"${key}\" function expects a plain object object of parameter properties`);\n return\n }else if(mode && (!isString(mode) && !_makeMap_('both,in,out', mode))){\n debugHandler(`[ ] Failed to validate the \"mode\" argument/..`);\n return;\n }\n assign(this[$motionKey], {\n key,\n [key]:motion,\n params:assign(this[$motionKey].params, params),\n mode: mode || 'both'\n });\n this.type=key;\n }\n }\n class Animation extends BaseMotion{\n constructor(animation, params){\n super(animation, params, 'animation');\n }\n }\n class Transition extends BaseMotion{\n constructor(transition, params, mode='both'){\n super(transition, params, 'transition', mode);\n }\n }\n class SSRText{\n constructor(text){\n this.content=text;\n }\n content=\"\"\n hydrationFlushs=new Tuple()\n }\n class SSRFragment{\n constructor(array){\n this.fragment=arrSet(array);\n }\n fragment=[]\n hydrationFlushs=new Tuple()\n hx_Element=undefined\n }\n class Dict extends BaseDict{\n constructor(){\n super(...arguments);\n }\n }\n const TemplateClassKey=Symbol(\"template-class\");\n class BaseTemplateClass{\n constructor(callback, ...args){\n }\n }\n const isBaseMotion=klass=>klass instanceof BaseMotion;\n const isAnimation=klass=> klass instanceof Animation;\n const isTransition=klass=> klass instanceof Transition;\n const isSSRText=klass=> klass instanceof SSRText;\n const isSSRFragment=klass=> klass instanceof SSRFragment;\n const isTemplateClass=klass=> klass instanceof BaseTemplateClass;\n const DataFunctionMap=[String, Function, Object, Array, Symbol, Number, Boolean];\n const XtructDataCallableTypes=[Set,Map,WeakMap,WeakSet, Date,WeakRef,Promise,RegExp,Proxy,BigInt,ArrayBuffer,Tuple];\n const isGlobalBuiltinType=type=>_makeMap_(DataFunctionMap, type) || _makeMap_(XtructDataCallableTypes, type);\n function isDomSpecialConstructor(value){\n if(!inBrowserCompiler) {\n return false;\n }\n const domSpecialConstructors=[ Element];\n if(new Set(domSpecialConstructors).has(value)) {\n return true;\n }\n return isNativeElement(value) || value instanceof Element;\n }\n const Data_Flags=\"NodeList,PATCH_FLAGS,PATCH-TYPE-TUPLE\";\n const hasUpperCase=str=>str.match(/[A-Z]/);\n const hasLowerCase=str=>str.match(/[a-z]/);\n const hasDigit=dig=>dig.match(/[0-9]/);\n const NodeTypeMap={ \n ELEMENT_NODE:1, \n ATTRIBUTE_NODE:2, \n TEXT_NODE:3, \n CDATA_SECTION_NODE:4, \n ENTITY_REFERENCE_NODE:5,\n ENTITY_NODE:6, \n PROCESSING_INSTRUCTION_NODE:7,\n COMMENT_NODE:8, \n DOCUMENT_NODE:9, \n DOCUMENT_TYPE_NODE:10,\n DOCUMENT_FRAGMENT_NODE:11,\n NOTATION_NODE:12 \n }\n if( inBrowserCompiler ) {\n \n }\n const isNativeElement=(vnode)=> inBrowserCompiler && (vnode instanceof HTMLElement || vnode instanceof SVGElement);\n const IS_TEXT_NODE=node=>node && node.nodeType === NodeTypeMap.TEXT_NODE;\n const IS_ATTRIBUTE_NODE=node=>node && node.nodeType === NodeTypeMap.ATTRIBUTE_NODE;\n const IS_ELEMENT_NODE=node=>node && isNativeElement(node) && node.nodeType === NodeTypeMap.ELEMENT_NODE;\n const IS_ENTITY_NODE=node=>node && node.nodeType === NodeTypeMap.ENTITY_NODE;\n const IS_DOCUMENT_TYPE_NODE=node=>node && node.nodeType === NodeTypeMap.DOCUMENT_TYPE_NODE;\n const IS_DOCUMENT_NODE=node=>node && node.nodeType === NodeTypeMap.DOCUMENT_NODE;\n const IS_NOTATION_NODE=node=>node && node.nodeType === NodeTypeMap.NOTATION_NODE;\n const IS_DOCUMENT_FRAGMENT_NODE=node=>node && node.nodeType === NodeTypeMap.DOCUMENT_FRAGMENT_NODE;\n const IS_CDATA_SECTION_NODE=node=>node && isNativeElement(node) && node.nodeType === NodeTypeMap.CDATA_SECTION_NODE;\n const IS_PROCESSING_INSTRUCTION_NODE=node=>node && node.nodeType === NodeTypeMap.PROCESSING_INSTRUCTION_NODE;\n const IS_ENTITY_REFERENCE_NODE=node=>node && node.nodeType === NodeTypeMap.ENTITY_REFERENCE_NODE;\n const IS_COMMENT_NODE=node=>node && node.nodeType === NodeTypeMap.COMMENT_NODE;\n function isHouxitRenderNode(node){\n return isPrimitive(node) || isArray(node) || isSlotInstance(node) ||\n isVNodeClass(node) || isTemplateClass(node);\n }\n function isChildrenNode(val){\n return isPrimitive(val) || isPFunction(val) || isNativeElement(val) || validateType(val, [ Array, HouxitElement, slotInstanceMap, vNodeClass, BaseTemplateClass, ]);\n }\n function isChildrenObjInstances(val){\n if(!isChildrenObj(val)) {\n return false;\n }\n return isHouxitElement(val) || isHouxitBuild(val) || isNativeElement(val) || isSlotInstance(val) || isVNodeClass(val) || isTemplateClass(val);\n }\n function isChildrenObj(val){\n return isChildrenNode(val) && !( isPrimitive(val) || isArray(val))\n }\n function isRerender(self){\n return isHouxitBuild(self) && isTrue(self[$$$operands].initializedRender);\n }\n const isBaseWidget=widget=> isPObject(widget) && widget instanceof Widget;\n const isProxy=value=>validateType(value, Proxy);\n const validHouxitWidget=(w)=> w && (((is_wuf_class(w) || isObject(w)) && !isProxy(w) && !isStream(w)) || isAsyncWidget(w) || isFunction(w) || isHouxitBuiltinSymbolWidget(w));\n function isAsyncFunction(fn) {\n return isPFunction(fn) && fn?.constructor?.name === 'AsyncFunction';\n }\n function parseScript(script, args){\n return new Function(`\"use strict\"; return (${script})`)(args);\n }//helps compile string values to javascript statement\n function passableBlock(block, warn=false){\n try{\n parseScript(block);\n return true;\n }catch(err){\n if(isTrue(warn)){\n debugHandler(`[template error] invalid Statement in mustache/binding context\\n\\nContext expects a single expression\\n\\n\"${block}\"`);\n debugHandler(err);\n }\n return false\n }\n }\n const isInDomNode=element=> inBrowserCompiler && element?.getRootNode() === document;\n const GLOBAL_EVENTS=\"abort,animationcancel,animationend,animationiteration,animationstart,auxclick,blur,error,focus,canplay,canplaythrough,cancel,change,click,close,contextmenu,dblclick,drag,dragend,dragenter,dragleave,dragover,dragstart,drop,durationchange,emptied,ended,formdata,gotpointercapture,input,invalid,keydown,keypress,load,keyup,loadeddata,loadedmetadata,loadend,loadstart,lostpointercapture,mousedown,mouseenter,mouseleave,mousemove,mouseout,mouseover,mouseup,mousewheel,wheel,pause,play,playing,pointerdown,pointermove,pointerup,pointercancel,pointerover,pointerout,pointerleave,pointerenter,pointerlockchange,pointerlockerror,progress,ratechange,reset,resize,scroll,securitypolicyviolation,seeked,seeking,select,selectstart,selectionchange,slotchange,stalled,submit,suspend,timeupdate,touchcancel,touchend,touchstart,touchmove,transitioncancel,transitionrun,transitioned,transitionstart,waiting,volumechange,autocompleteerror,autocomplete,hover\";//Html event names managed by houxit on elements\n const IS_VALID_EVENT_HANDLER=eventName=>_makeMap_(GLOBAL_EVENTS, eventName);\n const isClass = val=> isFunction(val) && val.toString().startsWith('class');\n const directivesHooksMap=\"created,mounted,updated,init,destroyed\";\n function instance_Has_Widget(self, name ){\n return _makeMap_(BUILT_IN_WIDGETS, name) || _makeMap_(self[$$$register]?.widgets || {}, name ) || _wufHas_instance(self, name);\n }\n const normalize_Widget=(self, name)=>{\n if(_makeMap_(BUILT_IN_WIDGETS, name)){\n return BUILT_IN_WIDGETS[name];\n }else if(_makeMap_(self[$$$register].widgets, name)){\n return self[$$$register].widgets[name];\n }else if(_isWUFBuild(self) && _wufHas_instance(self, name)){\n return normalizeWUFBuildScope(self, name);\n }\n return null;\n }\n function instance_Has_Directive(self, name ){\n return !isHouxitDirective(name) && _makeMap_(self[$$$register]?.directives || {}, name ) || _wufHas_instance(self, name) ;\n }\n const normalize_Directives=(self, name)=> _makeMap_(self[$$$register].directives, name) ? self[$$$register].directives[name]: normalizeWUFBuildScope(self, name);\n class slotInstanceMap{\n slots=new Object();\n constructor(opts={}){\n entries(opts).forEach(([ name, value ])=>this.slots[name]=value);\n }\n }\n const isSlotInstance=val=> val instanceof slotInstanceMap;\n const requestMethods=\"POST,GET,PATCH,HEAD,DELETE,PUT,CONNECT,OPTIONS,TRACE\";\n const isRequestMethod=method=>_makeMap_(requestMethods, method);\n const isHouxitElement=vnode=>vnode instanceof HouxitElement;\n const isHouxitBuild=widget=>widget instanceof HouxitBuild;\n const isHouxitTextElement=vnode=>vnode instanceof HouxitTextElement;\n const isHouxitNativeElement=vnode=> vnode instanceof HouxitNativeElement;\n const isHouxitCustomNativeElement=vnode=> vnode instanceof HouxitCustomNativeElement;\n const isHouxitFragmentElement=vnode => vnode instanceof HouxitFragmentElement;\n const readonlyModelProps=\"$element,$params,$attrs,$events,$signals,$slots,$parent,$root\";\n const proxySkipped=\"$element,$signals,$parent,$root,$observe,$useAgent,$tick,$write,$effectHook,[[[reactive__Token]]],$params,$attrs,$events\";\n const validTokenConfigOptions=\"onTrack,onEffect,isComputed,readonly,shallow\"\n const isProxySkipped=prop=>_makeMap_(proxySkipped, prop);\n function createObj(name, props){\n if(len(arguments) === 1 && isPObject(name)) {\n props=name;\n }\n if(props && !isPObject(props)) {\n props=null;\n }\n let objXtruct=Function('name',`\n return name ? class ${name}{} : Object ;\n `)\n objXtruct=objXtruct(name);\n objXtruct= new objXtruct();\n if(props) {\n assign(objXtruct, props);\n }\n return objXtruct;\n }\n const canRender=value=>isPrimitive(value) && !isNull(value);\n function compileToRenderable(value, preserve=true){\n value=unwrap(value);\n if(canRender(value)) {\n return preserve ? value : String(value);\n }else if(validateType(value, [Array, Date, Function])) {\n return value.toString();\n }else if(!isNull(value) && !isPObject(value)) {\n return JSON.stringify(value);\n }\n return \"\";\n }\n const arrowFNRegex=/^(async[ ]+)?(\\(([\\w$,.\\[\\]\\{\\} ]*)\\)|[\\w$]+)[ ]*=>[ ]*[{]?\\s*/;\n const functionFNRegex=/^(async[ ]+)?(function)?([*]?([ ]*)[\\w$]*)?\\(([\\w$]*)?\\)[ ]*\\{\\s*/m;\n const isArrowFunction=(fn)=> isPFunction(fn) && arrowFNRegex.test(fn.toString());\n const isFNString=str => isString(str) && isTrue(arrowFNRegex.test(str) || functionFNRegex.test(str));\n const boundFNRegex=/^bound [\\w$]*$/;\n const isBFunction=func=>isPFunction(func) && !isArrowFunction(func) && boundFNRegex.test(func.name);\n const objectDestructureRegex=/^{(.*?)}$/;\n const arrayDestructureRegex=/^\\[(.*?)\\]$/;\n const isForLoopDestructureRegex=/^((\\(|\\<)(.*?)(\\)|\\>))$/;\n const isDestructureSyntax=syntax=>objectDestructureRegex.test(syntax) || arrayDestructureRegex.test(syntax) ;\n class Model{};\n class Params{};\n class Attrs{};\n class Slots{};\n class Refs{};\n class Signals{};\n class Events{};\n class ReactiveEffectObject{};\n const isModelInstance=model=>model instanceof Model;\n const isRefInstance=model=>model instanceof Model;\n const isParamsInstance=param=>param instanceof Params;\n const isAttrsInstance=param=>param instanceof Attrs;\n const isSlotsInstance=param=>param instanceof Slots;\n const isSignalsInstance=param=>param instanceof Signals;\n const isEventssInstance=param=>param instanceof Events;\n const isREffObj=param=>param instanceof ReactiveEffectObject;\n const isClassBasedBuild=build=>isHouxitBuild(build) && build[$$$ownProperties].widgetType === 'class-based';\n const isFunctionBasedBuild=build=>isHouxitBuild(build) && build[$$$ownProperties].widgetType === 'function-based';\n const isObjectBasedBuild=build=>isHouxitBuild(build) && build[$$$ownProperties].widgetType === 'object-based';\n const $$tupleStore=Symbol();\n const $$dexTransformKey=Symbol();\n const genericKeyProp=Symbol();\n const dir$$__render=Symbol(\"[[[$$@@dir$$__render]]]\");\n const $$$context=Symbol(\"[[[$$@context]]]\");\n const $$$operands=Symbol();//for the operands property of a widget instance\n const $$$ownProperties=Symbol();\n const $$$compiler=Symbol();\n const $$$core=Symbol();\n const $$$register=Symbol();\n const $$$StreamProxyKey=Symbol();//used in marking an stream object\n const scopedDirKey=Symbol();//for the scoped directive\n const lifeCiycleBinding=Symbol();\n const $$$customDirs=Symbol();\n const $$renderClass=Symbol();\n const SSRHydrationSymbol=Symbol();\n const factoryHXSelfInstance=Symbol();\n const $factoryTokenKey=Symbol();\n const $asyncVnodeKey=Symbol();\n const $suspenseElement=Symbol('<suspense:element.$elemen>');\n const AsyncHxElementTrackerKey=Symbol();\n const PRIVATE_PROPERTY_KEY=Symbol();\n const isAsyncTrackerElement=el=>isHouxitElement(el) && hasOwn(el, AsyncHxElementTrackerKey);\n const isSuspenseElement=el=>isHouxitElement(el) && hasOwn(el.VNodeManager, $suspenseElement);\n class AsyncWidget{\n constructor(load, config={}){\n config=assign({\n delay:200,\n timeout:Infinity,\n suspensible:true\n }, config);\n validateAsyncWidgetConfig(config);\n this[$asyncVnodeKey]={\n load,\n config,\n cache:undefined,\n postLoad:0\n }\n }\n }\n function validateAsyncWidgetConfig(config){\n for(let [key, value] of entries(config)){\n if(!_makeMap_('delay,error,fallback,timeout,suspensible', key)){\n debugHandler(`[ ] Unrecognized key \"${key}\" passed to 'AsyncWidget' config object`);\n }else if(key === \"suspensible\" && !isBoolean(value)){ \n debugHandler(`[\"AsyncWidget()\">>config{}.suspensible type Error] expects a Boolean value`);\n }else if(_makeMap_('delay,timeout', key) && (!isNumber(value) || isNaN(Number(value)))){\n debugHandler(`[ ] \"${key}\" config prop of \"AsyncWidget\" expects a type of \"number\"`);\n }else if(_makeMap_('error,fallback', key) && !isPFunction(value)){\n // debugHandler(`\"${key}\" config prop of \"AsyncWidget\" expects a render function value`);\n }else {\n continue;\n }\n // delete config[key];\n }\n }\n const isAsyncWidget=vnode=>vnode instanceof AsyncWidget && hasOwn(vnode, $asyncVnodeKey);\n const isAsyncVNodeClass=vnode=>vnode instanceof vNodeClass && hasOwn(vnode.filesFilter, $asyncVnodeKey);\n const isFRKey=(key)=> $factoryTokenKey === key && isS($factoryTokenKey, key);\n const Fragment=Symbol('hx:fragment');\n const Portal=Symbol('hx:portal');\n const Build=Symbol('hx:build');\n const Self=Symbol('hx:self');\n const Provider=Symbol('hx:provider');\n const Motion=Symbol('hx:motion');\n const Suspense=Symbol('hx:suspense');\n const Memo=Symbol('hx:memo');\n const If=Symbol('hx:if');\n const ElseIf=Symbol(\"hx:else-if\");\n const Else=Symbol('hx:else');\n const For=Symbol('hx:for');\n const BUILT_IN_WIDGETS={\n 'hx:fragment':Fragment,\n 'hx:provider':Provider,\n 'hx:portal':Portal,\n 'hx:build':Build,\n 'hx:self':Self,\n 'hx:motion':Motion,\n 'hx:memo':Memo,\n 'hx:suspense':Suspense,\n 'hx:else-if':ElseIf,\n 'hx:for':For,\n 'hx:else':Else,\n 'hx:if':If\n }\n function isHouxitBuiltinSymbolWidget(widget){\n for(const sym of values(BUILT_IN_WIDGETS)){\n if(widget === sym ) {\n return true;\n }\n }\n return false;\n }\n const CUSTOM_BUILT_IN_WIDGETS={};\n const CUSTOM_BUILT_IN_WIDGETS_STORE=new Map();\n function isCustomBuiltinSymWidget(widget){\n for(const [ sym, factory ] of values(BUILT_IN_WIDGETS)){\n if(widget === sym ) {\n return true;\n }\n }\n }\n function isBuiltinWidget(w){\n return isHouxitBuiltinSymbolWidget(w) || isCustomBuiltinSymWidget(w);\n }\n function getBuiltinWidget(name){\n \n }\n const $buildHx_ElementKey=Symbol()//saving the $buildHx_ElementKey key while passing widget to houxit build.\n const widgetSpecialAttrProps = new Set([ dir$$__render, $$$context ]);\n const isSelfRecursiveWidget=build=> isHouxitBuild(build) && build[$$$ownProperties].isSelfRecursive === (true);\n const isSpecProp = prop => widgetSpecialAttrProps.has(prop);\n const isBuiltinBlocks=block=>_makeMap_(\"if,else,else-if,for,const,class,new,debugger,html,await\", block);\n const isBuiltinVoidBlocks=block=>_makeMap_(\"else,else-if,const,new,debugger,html,await\", block);\n function is_rerender(self){\n return isHouxitBuild(self) && isTrue(self[$$$operands].initializedRender);\n }\n function createRenderFN(self, fn){\n if(!isPFunction(fn)){\n debugHandler(`[ ] parameter 2 of \"createRenderFN\" macro expects a plain Function`);\n return pass\n }\n let callback=Function('self', 'fn',`\n return function renderClass(instance, updated, forceFragment){\n return fn(self);\n }\n `)\n callback = callback(self, fn);\n callback[$$renderClass]=true;\n return callback;\n }\n const isRenderClass=render=>isPFunction(render) && render.name === \"renderClass\" && render[$$renderClass];\n const $passKey=Symbol()\n function pass(){}\n pass[$passKey]=true;\n function isContextMethodString ( self , hx_Element , str ){ \n return ((isValidIdentifier(str) || object_Has_Path(self.__public_model__, str)) || isTrue(hx_Element && object_Has_Path(hx_Element.LabContext||{}, str) || isFNString(str)));\n }\n const isIfKey=key=>/^\\$\\$if[\\w|$ ]*$/.test(key);\n const isElseIfKey=key=>/^\\$\\$else-if[\\w$| ]*$/.test(key);\n const isElseKey=key=>/^\\$\\$else[\\w$| ]*$/.test(key);\n const isForKey=key=>/^\\$\\$for[\\w_$| ]*$/.test(key);\n function read(fn){\n return unToken(isFunction(fn) ? fn() : fn );\n }\n function isElementType(element, type){\n if(type === 'text') {\n return IS_TEXT_NODE(element);\n }\n return isNativeElement(element) && IS_ELEMENT_NODE(element) && element.localName === type;\n }\n const rawObjectStoreMap=new WeakSet();\n function _markRaw(obj){\n if(isPrimitive(obj)){\n debugHandler(`[ ] Non mutatable values been marked as raw:: \"${typeof obj}\" cannot be set to raw data to hide from reactive effect assembling`);\n return obj;\n }\n if(isPrimitive(obj) || isRaw(obj)) {\n return obj;\n }\n rawObjectStoreMap.add(obj)\n return obj;\n }\n function markRaw(obj){\n return _markRaw(obj);\n }\n function _isRaw(obj){\n if(isPrimitive(obj)) {\n return false;\n }\n return rawObjectStoreMap.has(obj);\n }\n function isRaw(obj){\n return _isRaw(obj);\n }\n function getCharcodes(value){\n const record=[];\n let index=0\n for( let char of value){\n record.push(char.codePointAt(0))\n index++\n }\n return record;\n }\n function campareStrings(value, data){\n const valCP=getCharcodes(value)\n const datCP=getCharcodes(data)\n return deepEqualityCheck(valCP, datCP)\n }\n function memMove(value, deep){\n return _makeCloneVersion(...arguments);\n }\n const isCollection=item=>validateType(item, [Array, Set, Tuple, Arguments ]);\n const isInvalidInjectorOpt=opt=>_makeMap_(\"build,preBuild\", opt);\n const isAllowedComposersOpt=opt=>_makeMap_(\"postBuild,preMount,postMount,preUpdate,postUpdate,preDestroy,postDestroy,defineConfig,defineSignals,defineSlots,useTransmit,useReceiver,useContext,defineParams,onEffect,onTracked,onCatch,onSlotRender,onSlotEffect\", opt);\n const adaptableComposers={\n params:defineParams,\n postBuild,\n preMount,\n postMount,\n preUpdate,\n postUpdate,\n preDestroy,\n postDestroy,\n onEffect,\n onCatch,\n onTracked,\n onSlotEffect,\n onSlotRender,\n buildConfig:defineConfig,\n signals:defineSignals,\n slots:defineSlots,\n transmit:useTransmit,\n receive:useReceiver,\n context:useContext,\n install:useInstall\n }\n const optionalAdapterrs=\"name,widgets,directives,mixins\";\n const c_str=\"hx-comment\";\n const isAllowedAdapterOpts=opt=>_makeMap_( keys(adaptableComposers).join(','), opt);\n function useInstall(callback){\n return _useInstallAdaptor(...arguments);\n }\n function _registerBuiltIn(options){\n const { name, instance, factory }=options;\n const modified=`${!name.startsWith('hx:') ? 'hx:' : '' }${name}`\n CUSTOM_BUILT_IN_WIDGETS[modified]=instance;\n CUSTOM_BUILT_IN_WIDGETS_STORE.set(instance, factory);\n }\n // global[PRIVATE_PROPERTY_KEY]._registerBuiltIn=_registerBuiltIn;\n function _useInstallAdaptor(callback){\n if(!validateCollectionArgs(arguments, {\n count:1,\n validators:[Function],\n name:\"useInstall()\"\n })) {\n return;\n }\n const self=getCurrentRunningEffect({\n name:'useInstall()'\n });\n if(!isHouxitBuild(self)) {\n return;\n }\n (self, callback);\n if(irresponsibleInstallWarn(self, callback, \"useInstall()\" )){\n self[$$$operands].installers_plugin.add(callback);\n }\n return true;\n }\n function irresponsibleInstallWarn(self, callback, ns){\n if(isInitialBuild(self)){\n debugHandler(`[ ] Irresponsible use of \"${ns}\" in an initBuild widget instance`, self, true);\n return false\n }\n return true\n }\n const isAdapterOpt=opt=>_makeMap_(\"params,preBuild\", opt)\n function _useOptionsAdapter(instance={}){\n const response=validateCollectionArgs(arguments, {\n name:'useOptions',\n required:[true],\n count:1,\n validators:[ Object ]\n })\n if(!response) {\n return [ pass, pass ];\n }\n const self=getCurrentRunningEffect({\n name:'useOptions'\n })\n if(!self && !(validateCollectionArgs(arguments, {\n name:\"useOptions\",\n validators:[Object],\n count:1\n } ))) {\n return {};\n }\n for(const [ key, value ] of entries(instance)){\n if(!isValidWidgetOption(key)) {\n self[$$$operands]._OPTIONS[key]=value\n }else if(isAllowedAdapterOpts(key)){\n adaptableComposers[key](value);\n }else if(isInvalidInjectorOpt(key)){\n debugHandler(`[ ] [useOptions options Error] invalid option \"${key}\" passed to options Adapter: not a valid adapter.\\n\\nuse the options API macros instead`, self);\n }else{\n self[$$$core].opts[key]=value;\n }\n }\n return self\n }\n function useOptions(obj){\n return _useOptionsAdapter(...arguments);\n }\n function _mergeProps_(...props_list){\n const validators=[];\n props_list.forEach((object)=> validators.push(object));\n if(!validateCollectionArgs(props_list, {\n validators,\n name:'mergeProps',\n min:1\n })) {\n return freeze();\n }\n const originProps ={};\n for(let [ index, attrs ] of props_list.entries()){\n transformGeneticPropsMerge(originProps, attrs);\n }\n return originProps;\n }\n function transformGeneticPropsMerge(origin, attrs){\n for(const [ key, item ] of entries(attrs)){\n if(hasOwn(origin, key)){ //check if key exists inorih object\n if(isOnListener(key)) {\n const value = (!isArray(origin[key]) ? [origin[key]] : origin[key] );\n const itemData = (arrayInverter( item )) ;\n origin[ key ] = [ ...value, ...itemData ];\n }else if(key === 'class'){\n const patchRecord= new Tuple();\n mapClassTypeTransform(origin[key], patchRecord);\n origin.class=mapClassTypeTransform(item, patchRecord);\n }else if(key === 'style'){\n origin.style={\n ...compileStyleProps(null, origin[key], {}),\n ...compileStyleProps(null, item, {})\n }\n }\n }else{ \n if(key === 'class') {\n origin[key]=mapClassTypeTransform(item, new Tuple());\n }else if(key === 'style'){ \n origin[key] = compileStyleProps(null, item, {});\n }else {\n origin[key]=item;\n }\n }\n }\n return origin;\n }\n function mergeProps(...props){\n return _mergeProps_(...props);\n }\n function _combineCallbacksCalls_(...handlers){\n function __merged_Methods_Calls(...args){\n for(const [ key, method ] of handlers.entries()){\n method.call(this, ...args);\n }\n }\n return function (...args){\n return __merged_Methods_Calls.call(this, ...args);\n }\n }\n function mergeMethods(...args){\n return _combineCallbacksCalls_(...args);\n }\n const GLOBALS_ALLOWED ='Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol'\n const isGloballyAllowed = (key) =>/*@__PURE__*/ _makeMap_(GLOBALS_ALLOWED, key);\n const argumentsValidator={\n name:\"\",\n max:Infinity,//maximum arguments in number\n validators:[],//arguments type validators by array indexes\n self:undefined,//widget instance.\n min:0,//minimum arguments validatoe\n required:[],//required truthy values by array indexes,\n count:undefined,\n validator:()=>true\n }\n function validateCollectionArgs(args, config=argumentsValidator){\n args = [ ...args ];\n if(!isS(argumentsValidator, config)) {\n config={ \n ...config, \n ...argumentsValidator\n };\n }else {\n return true;\n }\n const { name, max, validators, self, required, min, count, validator }=config;\n /* a string 'name', number max, array validator, houxit self instance and indexes of required arguments */\n if(isNumber(max) && len(args) > max) {\n debugHandler(max === 0 ? `${name} Adapter does not accept any Argument` : `Parameter arguments received at ${name} macro exceds validator arguments maximum count\\n\\n\"${name}()\" expects only maximum of \"${max}\" arguments`, self);\n return false;\n }\n if( min && len(args) < min ) {\n debugHandler(`[ ] \"${name}\" function expects atleast \"${min}\" minimum of arguments\\n\\n${len(args)} received`, self);\n return false;\n }\n if(!isUndefined(count) && !len(args) === count){\n debugHandler(`[ ] \"${name}\" method expects only ${count} number of arguments\\n${len(args)} passed`, self);\n return false;\n }\n if(!validator(...args)) {\n return false;\n }\n if(len(required)){\n for(let [ index, check ] of required.entries()){\n if((!len(args) >= Number(index) && isUndefined(args[index]))){\n debugHandler(`[ ] Argument at index ${index} of ${name} expects a required positional parameter\\n\\nparameter not provided or is undefined :: use \"null\" instead if you tend to skip or not context an argument value `, self);\n return false;\n }\n }\n }\n if(isArray(validators) && len(validators) && len(args)){\n for(let [ key, item ] of args.entries()){\n if(!key > len(validators)) {\n break;\n }\n const validator = validators[key] || Any ;\n let response=validateType(item, validator )\n if(isFalse(response)) {\n debugHandler(`[ ] unexpected argument value type received at ${key} index of the \"${name}\" adapter\\n\\nInvalid input type`, self);\n return false;\n }\n }\n }\n return true\n }\n const objectPropsValidator={\n name:\"\",\n self:undefined,//widget instance scope\n props:{},\n }\n const validatorProps={//internal validators default\n type:undefined,\n required:false,\n default:undefined,\n }\n function validatePropsInput( value, config){\n if(!isS(config, objectPropsValidator)) {\n config = {\n ...config,\n ...objectPropsValidator\n }\n }\n let { name, props, self, } = config ;\n if(!isObject(config)){\n debugHandler(`[ ] configuration parameter at argument 2 of validatorProps expects a plain javascript object`);\n return;\n }else if(!isPObject(value) || hasOwn(value, 'props') && !isPObject(value.props)){\n debugHandler(`[ ] unexpected value received at \"${name}, validation for ${isPObject(value) ? '{}.prop' : '{}'}\" adapter\\n\\nInvalid input type :: expects a plain Object`, self);\n return false;\n }\n const propsSet = {};\n for(let [ param, ind ] of entries(config.props) ){\n if(!isPObject(param)){\n debugHandler(`[ ] Properties validator expects a plain object\\n\n For the \"${ind}\" prop validation`);\n return false;\n }\n if(!isS(param, validatorProps) ) {\n param = {\n ...param,\n ...validatorProps\n }\n }\n if(!runObjectifiedParamsValidation(null, propsSet, [ value, param, ind ], 'prop')) {\n return false;\n }else if(!paramsValidationCircle(null, propsSet, [value, param, ind ],'prop')) {\n return false;\n }\n }\n return true;\n }\n function _validateCollection(collection, config){\n const response=validateCollectionArgs(arguments, {\n validators:[ [ Array, Set, Tuple, Arguments ], Object ],\n count:2,\n required:[true, true ],\n name:'validateCollection'\n })\n if(!response) {\n return false;\n }\n return validateCollectionArgs(collection, config );\n }\n function validateCollection( collection, config ){\n return _validateCollection(...arguments)\n }\n function validateProps(value, config){\n return validatePropsInput(...arguments )\n }\n function vb(self){\n if(!isHouxitBuild(self)) {\n return ;\n }\n return {\n operands:self[$$$operands],\n ownProperties:self[$$$ownProperties],\n compiler:self[$$$compiler],\n core:self[$$$core],\n register:self[$$$register],\n build:self.$build,\n model:self.__public_model__,\n proto:self.__proto__\n }\n }\n function fineTuneFactoryTokenCompile(effective, watchers, config){\n const callback = config[$factoryTokenKey];\n delete config[$factoryTokenKey];\n function track(){\n return watchers.effectTrack();\n }\n function effect(){\n return watchers.effectTrigger();\n }\n config = callback(track, effect);\n const factoryObject=watchers.factoryObject;\n watchers.config=config;\n if(config.accessor){\n delete effective[watchers.accessor]\n watchers.accessor=config.accessor;\n effective[watchers.accessor]=undefined;\n delete config.accessor;\n }\n for (let desc of ['get', 'set'].values()){\n if(hasOwn(config, desc)) {\n if(!isFunction(config[desc])){\n debugHandler(`[ ] \"${desc}\" property descriptor at \"factoryToken\" is of an invalid data type\\ntype of 'Function' expected`);\n return freeze();\n }\n factoryObject[desc]=config[desc];\n delete config[desc];\n }\n }\n return config;\n }\n function refLifeCircleHooksConfig(watchers, config){\n if(config.onTracked) {\n watchers.onTrackedHook=()=>{\n if(watchers.trackZoom) {\n return;\n }\n watchers.trackZoom=true;\n tick(config.onTracked.bind(this)).then(()=> watchers.trackZoom=false);\n }\n };\n if(config.onEffect) {\n watchers.onEffectHook=()=>{\n if(watchers.effectZoom) {\n return;\n }\n watchers.effectZoom=true;\n tick(config.onEffect.bind(this)).then(()=> watchers.effectZoom=false);\n }\n }\n }\n function Token_X_ReactiveEffectObject(){\n return assign( new ReactiveEffectObject(), { \n observers : new Tuple(),\n subscribers:new Tuple(),\n self:undefined,\n superObs:undefined,\n onTrackedHook:pass,\n onEffectHook:pass,\n accessor:'data',\n effectTrack:pass,\n effectTrigger:pass,\n factoryObject:{},\n trackZoom:false,\n effectZoom:false,\n shallow:false,\n readonly:false,\n isComputed:false,\n refGenreId:undefined\n } );\n }\n function defineTokenRuntime_Carriers(effective, watchers, metrics){\n const { isFactoryToken, isComputed, readonly, shallow, accessor, config } = metrics ;\n function getter(){\n return unwrap(effective.data);\n }\n const descriptor = {};\n const dep=new Map();\n watchers.effectTrack=(value)=>{\n const depS=_subscribeToEffect(dep, accessor(), this, value);\n if(depS) {\n depS.get_data=getter;\n }\n watchers.onTrackedHook();\n };\n watchers.effectTrigger=()=>{\n _notifyEffectSubs(dep, accessor(), this);\n watchers.onEffectHook();\n }\n if(isFactoryToken){\n iterate(['get', 'set']).each(desc=>{\n if(hasOwn(watchers.factoryObject, desc)) {\n descriptor[desc]=watchers.factoryObject[desc];\n }\n });\n }else{\n descriptor.get= function(){\n const value=getter();\n watchers.effectTrack(value);\n return value;\n }\n descriptor.set=function(value, prop){\n if(readonly && !isReadonlyBypasser(value)){\n debugHandler(`[ ] Cannot reassign/mutate a \"readonly\" token value\\n\\n___MUTATION FAILED___\\n........\".${prop}\" property assignment \\n\\nFailed writing to a readonly \\n.........>>>bypassKey verification failure occured...`);\n return false;\n }\n value=unwrap(readonly ? value[bypassSymbol] : value) ;\n value = _createReactiveProxyCollectons(value, watchers, shallow, config );\n effective[accessor()]=value;\n watchers.effectTrigger();\n return true;\n }\n }\n return descriptor;\n }\n function _Houxit_Token__Constructor(effective, config ){\n const watchers= Token_X_ReactiveEffectObject()\n const accessor=()=>watchers.accessor;\n config =( isPObject(config) ? config : {}) ;\n const isFactoryToken=hasOwn(config, $factoryTokenKey);\n if(isFactoryToken) {\n config = fineTuneFactoryTokenCompile.call(this, effective, watchers, config);\n }\n if(isS(config, freeze())) {\n return;\n }\n const reConfig={};\n for(let conf of ['shallow', 'readonly', 'computed'].values()){\n if(hasOwn(config, conf)) {\n reConfig[toCamelCase('is-'+conf)]=config[conf];\n delete config[conf];\n }\n }\n config = assign(assign({}, config), reConfig);\n const { readonly=false, isComputed=false, shallow=false } = config;\n refLifeCircleHooksConfig.call(this, watchers, config );\n effective[accessor()]=_createReactiveProxyCollectons( effective[accessor()], watchers, shallow, config);\n this[refInternalEffectKey]=watchers;\n const descriptors = defineTokenRuntime_Carriers.call(this, effective, watchers, { \n isFactoryToken, \n isComputed, \n readonly, \n shallow, \n accessor, \n config\n });\n delete watchers.factoryObject;\n define(this, accessor() , descriptors );\n assign(watchers, {\n readonly,\n shallow,\n isComputed,\n updateFlags:0,\n cache:undefined\n });\n define(this, refGenreId, { \n value: `[[[${ readonly ? \"readonly\" : \"reactive\" }__Token]]]`,\n enumerable\n });\n }\n class BaseToken {\n constructor(effective, config={} ){\n _Houxit_Token__Constructor.call(this, ...arguments );\n }\n isSameToken(ref){\n return isToken(ref) && isS(this, ref);\n }\n create(valueX, config){\n return token(...arguments);\n }\n }\n class reactive__Token extends BaseToken{\n constructor(token, config){\n super(...arguments)\n }\n }\n class readonly__Token extends BaseToken{\n constructor(token, config){\n super(...arguments)\n }\n }\n class Token extends BaseToken{\n constructor(token, config){\n super(...CustomTokenizerArgs(token, config));\n }\n }\n const CustomTokenizerArgs=(token, config)=>[ {\n data:token\n }, config];\n function _createReactiveProxyCollectons(iterable, watcher, shallow, config ){\n if(isDomSpecialConstructor(iterable) || isStream(iterable) || isPrimitive(iterable) || shallow || isRaw(iterable)) {\n return iterable;\n }\n return _createStream(iterable, config, watcher );\n }\n function __Houxit__Tokenizer__Machine___( target , config={} ) {\n if(!isToken(target)) {\n target = preventX( new reactive__Token( {\n data:target\n }, config ));\n }\n return target;\n }\n function token(target, config){\n return __Houxit__Tokenizer__Machine___(...arguments);\n }\n function _factoryToken(callback){\n const response=validateCollectionArgs(arguments, {\n count:1,\n validators:[Function],\n name:\"factoryToken\"\n })\n if(!response) {\n return;\n }\n const target = new Token({ \n data:undefined\n }, {\n [$factoryTokenKey]:callback//key used to recognise a custom ref by houxit\n });\n return target;\n }\n function factoryToken(callback){\n return _factoryToken(...arguments);\n }\n function traceBack(){\n const date = new Date();\n return createObj('TraceBack', {\n h:date.getHours(),\n m:date.getMinutes(),\n s:date.getSeconds(),\n ms:date.getMilliseconds()\n });\n }\n class Exception extends Error{\n constructor(msg, ...args){\n super(...args)\n }\n }\n const isException = ctruct => ctruct instanceof Exception;\n function raise(){\n \n }\n function isTuple(tp){\n return tp instanceof Tuple;\n }\n const arrSet=setData=>isSet( setData ) || isArgument(setData) || isArray(setData) ? [...setData] : isTuple(setData) ? setData.list() : setData ;\n function setValueIndex(setData , value){\n if(!isSet(setData) && !len(setData) && !setData.has(value)) {\n return NaN;\n }\n let index=0\n for(let data of setData.values()){\n if(data === value) {\n return index;\n }\n index++;\n }\n }\n const arrayMM=\"push,pop,shift,unshift,splice,sort,reverse,copyWithin,fill\";\n const setMM=\"add,delete,clear\";\n const mapMM=\"set,delete,clear\";\n const tupleMM=setMM+\",shift,unshift,splice,pop,extend,replace,prepend,arrange,exchange\";\n const objectMM=\"define,delete\";\n function getMutationArgs(data){\n return isArray(data) ? arrayMM : isSet(data) ? setMM : isMap(data) ? mapMM : isTuple(data) ? tupleMM : isPObject(data) ? objectMM : \"\";\n }\n function getAgentMutators(data, prop, model){\n const value=data;\n data=unwrap(data);\n let mutateArgs= getMutationArgs(data)+\"write\";\n const mutation_object=createObj('Mutatations');\n for(let name of mutateArgs.split(',').values()){\n function mutate(arg){\n let rv=undefined;\n if( validateType(data, [Set, Tuple,Array, Map])) {\n rv=data[name](arg);\n }else if(isPObject(data)){\n if('define' === name) {\n rv=define(data, ...arguments );\n }else if('delete' === name ) {\n delete data[arg];\n rv = true;\n }\n }\n let assV=rv;\n if((model || !isPrimitive(value) ) && prop && name === 'write'){ \n assV=set_Object_Value(isModelInstance(model) ? model : !isPrimitive(value) ? value : freeze() , prop, len(arguments) ? arg : data );\n }\n return assV ;\n }\n mutate = Function('fn', `\n return function ${name === 'delete' ? 'del' : name }(value){\n return fn(...arguments);\n }\n `)(mutate);\n define( mutation_object, name, {\n value : mutate,\n enumerable\n });\n }\n return mutation_object;\n }\n function _useAgent_(data, ModelInstance){\n const dataRead = ()=> data;\n const response = validateCollectionArgs(arguments, {\n min:1,\n max:2,\n validators:[ Any, [Model]],\n name : 'useAgent'\n });\n if(!response) {\n return [ dataRead , pass];\n }\n if(isHouxitBuild(this) && !isChar(data)){\n debugHandler(`[ ] data path at positional argument 1 expects a string/symbol value of an existing model path\\n\\n.>...$useAgent`);\n return [ dataRead, pass ];\n }else if(isModelInstance(ModelInstance) && !isChar(data)){\n debugHandler(`[ ] data property at positional argument 1 of \"useAgent\" expects a string/symbol value\\n\\nMust be a model valid path`);\n return [dataRead, pass];\n }\n const self= isHouxitBuild(this) ? this : isModelInstance(ModelInstance) ? {\n __public_model__ : ModelInstance\n } : null;\n ModelInstance= self ? self.__public_model__ : null;\n if(self && !isHouxitBuild(self)) {\n delete self.__public_model__;\n }\n let prop=isModelInstance(ModelInstance) ? data : isToken(data) ? data[refInternalEffectKey].accessor : \"\";\n if( isModelInstance(ModelInstance) && !object_Has_Path(ModelInstance, prop)){\n debugHandler(`[ ] \"${prop}\" property is not a valid model property`, );\n return[dataRead, pass];\n }\n data = isModelInstance(ModelInstance) && exists(prop) ? _$runModelBind( ModelInstance , prop || \"\" ) : data;\n const mutateArgs= getAgentMutators(data, prop , ModelInstance);\n let defineCount = 0;\n const unwrappedGetter= ()=> read(data);\n function mutate(mutation){\n if(isPFunction(mutation) && defineCount < 1){\n defineCount++;\n define(mutateArgs, 'data', {\n get(){\n return unwrappedGetter();\n }\n });\n }\n if(isPFunction(mutation) ){\n try{\n mutation(mutateArgs);\n }catch(err){\n debugHandler(`[ ] Encountered an error during the call of the writer callback\\n\\n${err}`);\n return false;\n }\n }else if(!isPFunction(mutation)){\n set_Object_Value( isModelInstance(ModelInstance) ? ModelInstance : !isPrimitive(data) ? data : freeze() , prop, mutation );\n return true;\n }\n }\n function reader(){\n return unwrappedGetter();\n }\n function writer(...args){\n return mutate(...args);\n }\n return [ reader, writer ] ;\n }\n function useAgent(data, ModelInstance){\n return _useAgent_(...arguments);\n }\n function WRITE(props){\n const response=validateCollectionArgs(arguments, {\n name:'$write',\n count:1,\n validators:[Object]\n });\n if(!response) {\n return false;\n }\n for (const [prop, value] of entries(props)){\n if(!object_Has_Path(this.__public_model__, prop)){\n debugHandler(`[ ] \"${prop}\" not found in model instance\\n\\n..............at......\"$write\"`, this, true);\n return false\n }\n this.__public_model__.$useAgent(prop)[1]( ({ write })=> write(value));\n }\n return true;\n }\n function getIterator(obj){\n return validateType(obj, [Set, Map, Array, Tuple ]) ? obj.entries() : isPObject(obj) ? entries(obj) : isIterator(obj) ? obj : [].entries() ;\n }\n class IterateController{\n constructor(config){\n const { value, type } = config;\n this.value=value;\n this._type=type;\n }\n value=undefined\n _type=\"\"\n }\n const isIterateController=value=> value instanceof IterateController;\n function Continue(value=undefined){\n return new IterateController({\n value,\n type:'continue'\n });\n }\n function Break(value){\n return new IterateController({\n value,\n type:'break'\n });\n }\n function Return(value){\n return new IterateController({\n value,\n type:'return'\n });\n }\n function trigger_callback(value, callback, useOF){\n let index=0;\n let returnValue;\n if(isNumber(value)){\n for(let i=0;i<value;i++) {\n const response = callback(i, index);\n index++;\n if(isIterateController(response)){\n if(response._type === \"continue\") {\n continue;\n }else if(response._type === \"break\") {\n break;\n }else if(response._type === 'return') {\n return response.value;\n }\n }\n }\n }else{\n if(useOF){\n for(let [key, item] of getIterator(value)) {\n const response = callback(item, key, index);\n index++;\n if(isIterateController(response)){\n if(response._type === \"continue\") {\n continue;\n }else if(response._type === \"break\") {\n break\n }else if(response._type === 'return') {\n return response.value;\n }\n }\n }\n }else{\n for(let [ key, item ] in entries(value)) {\n const response = callback(key, item, index);\n index++;\n if(isIterateController(response)){\n if(response._type === \"continue\") {\n continue;\n }else if(response._type === \"break\") {\n break;\n }else if(response._type === 'return') {\n return response.value;\n }\n }\n }\n }\n }\n return returnValue;\n };\n function iterate_proto(value, type){\n if(!validateCollectionArgs(arguments, {\n name:'iterate',\n min:1,\n max:2,\n validators:[Object, String]\n })) return false;\n if(!type || !_makeMap_(\"of,in\", type)) {\n type='of';\n }else if(!isIterable(value) && !isNumber(value)){\n debugHandler(`[ ] No iterable .value prop received at parameter 1 object of the \"iterate\" helper macro`);\n return false;\n }\n const useOF=type && type.trim() === 'of';\n function each(callback){\n return trigger_callback(value, callback, useOF);\n }\n each.each=each;\n return each;\n }\n function iterate(value, type){\n return iterate_proto(...arguments);\n }\n assign(iterate, {\n Continue,\n Break,\n Return\n });\n const refGenreId=Symbol(\"[[[GenreIDType]]]\");\n const refInternalEffectKey=Symbol();\n function __createReadonlyToken__(value, config={}){\n const response=validateCollectionArgs(arguments, {\n name:'readonly',\n required:[true],\n min:1,\n max:2,\n validators:[ Any, Object ]\n });\n if(!response) return;\n const metrics = config.metrics || []\n if(hasOwn(config, 'metrics')) {\n delete config.metrics;\n }\n if(isReactiveToken(value)) {\n return toReadonly(value);\n }else if(isReadonly(value)) {\n return value;\n }\n let [ mutate=false, key ]=metrics;\n config.readonly=true;\n return preventX(new readonly__Token({\n data:value\n }, config ))\n }\n function readonly(value, config){\n return __createReadonlyToken__(...arguments);\n }\n function __createShallowToken__(value, config={}){\n const response=validateCollectionArgs(arguments, {\n name:'shallow',\n required:[true],\n min:1,\n max:2,\n validators:[ Any, Object ]\n });\n if(!response) {\n return;\n }\n const metrics = config.metrics || []\n if(hasOwn(config, 'metrics')) {\n delete config.metrics;\n }\n if(isToken(value) && !isShallow(value)) {\n return toShallow(value);\n }else if(isShallow(value)) {\n return value;\n }\n let [ mutate=false, key ]=metrics;\n config.shallow=true;\n return preventX(new reactive__Token({\n data:value\n }, config ));\n }\n function shallow(value, config){\n return __createShallowToken__(...arguments);\n }\n function isToken(value){\n return value instanceof BaseToken;\n }\n function unwrap(value){\n if(!isToken(value)) {\n return value;\n }\n return value[ value[refInternalEffectKey].accessor ];\n }\n function unToken(ref){\n return unwrap(ref);\n }\n function _toToken(object, path, config){\n const res=validateCollectionArgs(arguments, {\n min:2,\n max:3,\n validators:[[Object, Array], [String, Symbol], Object],\n name:'toToken',\n required:[true, true ]\n })\n if(!res || !object) {\n return;\n }\n return token(object[path], config);\n }\n function toToken(object, path){\n return _toToken(...arguments);\n }\n function isReactiveToken(value){\n return isToken(value) && value[refGenreId] === \"[[[reactive__Token]]]\";\n }\n function isReadonly(value){\n return isToken(value) && \"[[[readonly__Token]]]\" === value[refGenreId];\n }\n function isShallow(value){\n return isToken(value) && isTrue(value[refInternalEffectKey].shallow);\n }\n function isShallowReadonly(value){\n return isReadonly(value) && isShallow(value)\n }\n function isComputed(value){\n return isReadonly(value) && value[refInternalEffectKey].isComputed;\n }\n function toShallow(ref, config={}){\n if(!isShallow(ref)) {\n return shallow(unwrap(ref), config );\n }\n return ref;\n }\n function toReadonly(ref, config={}){\n if(!isReadonly(ref)) {\n return readonly(unwrap(ref), config );\n }\n return ref;\n }\n class readonlyBypasser {\n constructor(value=undefined){\n this[bypassSymbol]=value;\n }\n }\n function _isProxyStream(stream){\n const res=validateCollectionArgs(arguments, {\n count:1,\n name:'isStream'\n });\n if(!stream || !res && !validateType(stream, [Object, Set, Tuple, Map, Array])) {\n return false;\n }\n const ReactiveMap=stream[$$$StreamProxyKey];\n return hasOwn(stream, $$$StreamProxyKey) && isWeakMap(ReactiveMap) && isREffObj(ReactiveMap.get(stream));\n }\n function isStream(value){\n return _isProxyStream(...arguments);\n }\n function _isShallowStream_(stream){\n return isStream(stream) && stream[$$$StreamProxyKey].get(stream).shallow;\n }\n function isShallowStream(stream){\n return _isShallowStream_(...arguments);\n }\n function _isReadonlyStream(stream){\n return isStream(stream) && stream[$$$StreamProxyKey].get(stream).readonly;\n }\n function isReadonlyStream(stream){\n return _isReadonlyStream(stream);\n }\n function isShallowReadonlyStream(stream){\n return isShallowStream(stream) && isReadonlyStream(stream);\n }\n function genericStreamTransform(stream, config, types){\n if(isPrimitive(stream)){\n debugHandler(`[ ] Value Exception\\nFailed to convert a primitive Value to a streamable object\\n\\nExpects a plain object or a collection`);\n return ;\n }else {\n types = new Tuple(...types);\n if(types.contains('readonly', 'shallow') && isShallowReadonlyStream(stream)) {\n return stream;\n }else if(types.has('readonly') && isReadonlyStream(stream)) {\n return stream;\n }else if(types.has('shallow') && isShallowStream(stream)) {\n return stream;\n }\n }\n if(isStream(stream)) {\n stream = stream[$$$StreamProxyKey].get(stream).origin\n }\n return _createStream(stream, {\n readonly : types.has('readonly'),\n shallow : types.has('shallow'),\n ...( !isPObject(config) ? {} : config )\n });\n }\n function _toReadonlyStream(stream, config){\n return genericStreamTransform(stream, config, [\"readonly\"]);\n }\n function toReadonlyStream(stream, config){\n return _toReadonlyStream(...arguments)\n }\n function _toShallowStream(stream, config){\n return genericStreamTransform(stream, config, [\"shallow\"]);\n }\n function toShallowStream(stream, config){\n return _toShallowStream(...arguments);\n }\n function _toShallowReadonlyStream(stream, config){\n return dynamicStreamTransform(stream, config, ['readonly', 'shallow']);\n }\n function toShallowReadonlyStream(stream, config){\n return _toShallowReadonlyStream(...arguments);\n }\n const isReadonlyBypasser = bypasser=>bypasser instanceof readonlyBypasser;\n const bypassSymbol=Symbol(\"Readonly_Bypass_Symbol\");\n const isBypassSymbol=sym=>sym === bypassSymbol;\n function useReadonlyBypasser(parent, key, value){\n return set_Object_Value(parent, key, new readonlyBypasser(value) );\n }\n function objFreeze(obj, deep=false){\n if(!validateType(obj, [Object, Array, Tuple])) {\n return obj;\n }\n if(isTuple(obj)) {\n return obj.freeze();\n }\n if(isTrue(deep)){\n for (let [key, value] of getIterator(obj)){\n obj[key]=objFreeze(value, true);\n }\n }\n return isTuple(obj) ? obj : freeze(obj);\n }\n function _trackEffectDeps(fn, config){\n if(!validateCollectionArgs(arguments, {\n min : 1,\n max: 2,\n validators:[Function, Object],\n name:'trackEffectDeps'\n })) {\n return [];\n }\n const effect=_createHouxitEffectFrame(fn);\n effectRunner(effect);\n function reRunEffect(){\n return effect.runEffect()\n }\n function getValue(){\n return effect.value;\n }\n return [[ ...arrSet(effect.dependencies) ], getValue, reRunEffect];\n }\n function trackEffectDeps(fn, config){\n return _trackEffectDeps(...arguments);\n }\n function _runGlobalEffectHook(fn, config){\n const response=validateCollectionArgs(arguments, {\n name:'effectHook',\n required:[true, false ],\n min:1,\n max:2,\n validators:[ Function, Object ]\n })\n if(!response) {\n return pass;\n }\n const self=getCurrentRunningEffect({\n name:'effectHook'\n });\n if(!self ){\n debugHandler(`[ ] effectHook called out of scope`);\n return pass;\n }\n return EffectAdapterHook.call(self, ...arguments);\n }\n function effectHook(fn, config){\n return _runGlobalEffectHook(...arguments);\n }\n function EffectAdapterHook(fn, config={}){\n if(!validateCollectionArgs(arguments, {\n name:\"effectHook\",\n validators:[Function, Object],\n min:1,\n max:2,\n required:[true]\n } )) {\n return;\n }\n config.initial=false;\n const effect=_createHouxitEffectFrame(function(){\n return fn();\n }, this );\n const { value, dependencies } = effectRunner(effect);\n const stoper=EffectObserver.call(this, dependencies, fn, config, effect);\n function stopEffect(callback){\n if(len(arguments) ) {\n if(isPFunction(callback)){\n stoper(callback);\n }\n }else {\n stoper();\n }\n }\n return function stopEffect(...args){\n return stopEffect(...args);\n }\n }\n class Type{\n constructor(type, validator){\n this.type=type;\n this.validator=validator;\n }\n isValid(value){\n return __validateCustomType__.call(this, value);\n }\n }\n function __validateCustomType__(value){\n return validateType(this.type, value) && (this.validator ? this.validator(value) : true);\n }\n class AnyType extends Type{\n constructor(){\n super([], (value)=> true);\n }\n }\n class NoneType extends Type{\n constructor(){\n super([], (value)=> isNull(value) || isEmptyStr(value));\n }\n }\n const isBaseType=type=>type instanceof Type;\n const Any=new AnyType();\n const None=new NoneType();\n const isAnyType=data=>validateType(data, AnyType);\n const isNoneType=data=>validateType(data, NoneType);\n const $private_prop=Symbol();\n class ClassFunctionType extends Type {\n constructor(){\n super([Function], (value)=> isClass(value));\n }\n }\n const Class = new ClassFunctionType();\n class ArgumentType extends Type{\n constructor(){\n super([], (value)=> isArgument(value));\n }\n }\n const Arguments = new ArgumentType();\n class CollectionType extends Type{\n constructor(){\n super([Array, Set, Arguments, Tuple], (value)=> isCollection(value));\n }\n }\n const Collections = new CollectionType();\n function getType(value){\n return isArray(value) ? 'array' : isDate(value) ? 'date' : isSet(value) ? 'set' : isMap(value) ? 'map' : isTuple(value) ? 'tuple' : value instanceof AnyType ? 'any' : value instanceof NoneType ? 'none' : isToken(value) ? '_'+isReactiveToken(value) ? 'reactive' : 'readonly' +'__Token' :typeof value;\n }\n class BaseTupleStream extends Tuple{\n constructor(){\n super(...arguments);\n }\n }\n class BaseArrayStream extends Array{\n constructor(array=[]){\n const isSVA=len(array) === 1 && isNumber(array[0]);\n if(isSVA) {\n array.push(undefined);\n }\n if(len(arguments) > 1){\n array=arrSet(arguments);\n }else if(isCollection(array)){\n array=arrSet(array);\n }else if(len(arguments)){\n const arr=[];\n arr.push(array);\n array=arr;\n }\n super(...array);\n if(isSVA) {\n this.pop();\n }\n }\n }\n class BaseSetStream extends Set{\n constructor(){\n super(...arguments);\n }\n }\n class BaseWeakSetStream extends WeakSet{\n constructor(wSet){\n super();\n this[$private_prop]=wSet;\n for(let n of ['has','add','delete'].values()){\n this[n]=wSet[n];\n }\n }\n }\n class BassMapStream extends Map{\n constructor(){\n super(...arguments);\n }\n }\n class BaseWeakMapStream extends WeakMap{\n constructor(wMap){\n super();\n this[$private_prop]=wMap;\n for(let n of ['get','set','has','delete','getOrInsert','getOrInsertComputed'].values()){\n this[n]=wMap[n];\n }\n }\n }\n function customTypeReader(type){\n //for reading names of custom dataTypes;\n }\n function BaseDict(...args){\n }\n BaseDict.prototype.set=function set(key, value){\n \n }\n function isFrozenWarn(isFrozen, action, type){\n if(isFrozen){\n debugHandler(`[ ] cannot perfom ${action} on ${type}\\n\\ninstance may have been frozen or sealed from future possible mutations`);\n return false;\n }\n return true;\n }\n class TupleSizeOverride{\n value = 0;\n constructor(value){\n this.value=Number(value);\n }\n }\n const isTSO=asset=>asset instanceof TupleSizeOverride;\n function setTupleSize(value){\n return new TupleSizeOverride(value);\n }\n function TupleConstructorManager(args){\n this[$$tupleStore]={\n array:[],\n unique:new Set(),\n isFrozen:false\n };\n let size=0;\n define(this, 'size', {\n get(){\n return size;\n },\n set(NS){\n if(!isTSO(NS)){\n debugHandler(`[ ] Mutation Exception\\nCannot mutate the size property of a Tuple Object\\n`);\n return false;\n }\n size=NS.value;\n return true;\n }\n })\n let index=0;\n for(const item of args.values()){\n if(!this[$$tupleStore].unique.has(item)){\n this[$$tupleStore].unique.add(item);\n this[$$tupleStore].array.push(item)\n instanciate_tuple_indexes(this);\n index++\n }\n }\n this.size=setTupleSize(len(this[$$tupleStore].array));\n }\n function instanciate_tuple_indexes(tuple){\n const oldListKeys=keys(tuple);\n const newList=tuple.list();\n for( const [ key, value ] of newList.entries()){\n if( value !== tuple[key] || key > len(this)-1){\n tuple[key]=value;\n } \n }\n let ind = 0;\n for (let key of oldListKeys.values()){\n key=Number(key);\n if(key !== ind ) {\n tuple[key]=ind;\n }\n if(ind > len(newList)-1) {\n delete tuple[ind];\n }\n ind ++;\n }\n }\n function BaseTuple(...args){\n TupleConstructorManager.call(this, args );\n }\n function Tuple_filter(fn){\n if(!validateCollectionArgs(arguments, {\n count:1,\n validators:[Function],\n name:\"Tuple.filter()\"\n })) {\n return;\n }\n return new Tuple( ...this.list().filter(fn) );\n }\n BaseTuple.prototype.filter=function filter(fn){\n return Tuple_filter(...arguments);\n }\n BaseTuple.prototype.find=function find(fn){\n return this.list().find(...arguments)\n }\n BaseTuple.prototype.shift=function shift(){\n if(!(isFrozenWarn(this[$$tupleStore].isFrozen, 'Tuple.shift()', 'tuple'))) {\n return false;\n }\n let firstValue;\n if(this.size > 0){\n firstValue=this[$$tupleStore].array.shift();\n this[$$tupleStore].unique.delete(firstValue);\n this.size=setTupleSize(this.size-1);\n instanciate_tuple_indexes(this);\n }\n return firstValue;\n }\n BaseTuple.prototype.freeze=function freeze(deep=false){\n this[$$tupleStore].array=objFreeze(this[$$tupleStore].array, deep);\n this[$$tupleStore].isFrozen=true;\n return this;\n }\n BaseTuple.prototype.values=function values(){\n return this.list().values();\n }\n BaseTuple.prototype.keys=function keys(){\n return this.list().keys()\n }\n BaseTuple.prototype.entries=function entries(){\n return this.list().entries()\n }\n BaseTuple.prototype.isTuple=function(tuple){\n return isTuple(tuple);\n }\n BaseTuple.prototype.has=function has(value){\n return this[$$tupleStore].unique.has(value)\n }\n BaseTuple.prototype.indexOf=function indexOf(value){\n return len(arguments) && this.has(value) ? this.list().indexOf(value) : -1 ;\n }\n BaseTuple.prototype.add=function add(value){\n if(isFalse(isFrozenWarn(this[$$tupleStore].isFrozen, 'Tuple.add()', 'tuple'))) {\n return false;\n }\n if(len(arguments) && !this.has(value)){\n this[$$tupleStore].unique.add(value);\n this[$$tupleStore].array.push(value);\n this.size=setTupleSize(this.size+1);\n instanciate_tuple_indexes(this);\n return true;\n }\n return false;\n }\n BaseTuple.prototype.delete=function Tuple_delete(value){\n if(isFalse(isFrozenWarn(this[$$tupleStore].isFrozen, 'Tuple.delete()', 'tuple'))) {\n return false;\n }\n if(this.has(value)) {\n return this.splice(this.indexOf(value), 1);\n }\n return false;\n }\n BaseTuple.prototype.replace=function replace(oldV, newV){\n if(isFalse(isFrozenWarn(this[$$tupleStore].isFrozen, 'replace()', 'tuple'))) {\n return false;\n }\n if(!this.has(oldV) && this.has(newV)) {\n return false;\n }\n return this.splice(this.indexOf(oldV), 1, newV );\n }\n BaseTuple.prototype.prepend=function prepend(value){\n if(isFalse(isFrozenWarn(this[$$tupleStore].isFrozen, 'Tuple.prepend()', 'tuple'))) {\n return false;\n }\n if(!this.has(value)) {\n this[$$tupleStore].array.unshift(value)\n this[$$tupleStore].unique.add(value);\n this.size=setTupleSize(this.size+1);\n instanciate_tuple_indexes(this);\n return true;\n }\n return false;\n }\n BaseTuple.prototype.splice=function splice(start, deleteCount, ...insertElements){\n if(isFalse(isFrozenWarn(this[$$tupleStore].isFrozen, 'Tuple.splice()', 'tuple'))) {\n return false;\n }\n if(!len(arguments)) {\n return false;\n }\n if(!validateCollectionArgs(arguments, {\n min:0,\n max:Infinity,\n validators:[Number, Number],\n name:\"Tuple.splice()\",\n })) {\n return false;\n }\n if(len(arguments)>1 && (start + deleteCount-1) > this.size){\n debugHandler(`[ ] deleteCount argument 2 count at \"Tuple.splice()\" exceeds the tuple size`);\n return false;\n }\n if(len(arguments) === 1){\n for(const [ index, value ] of this.list().entries()){\n if(index >= start){\n this[$$tupleStore].unique.delete(value);\n }\n }\n this[$$tupleStore].array.splice(start);\n }else if(len(arguments) === 2){\n let tuple_delete_count=deleteCount;\n for(const [ index, value ] of this.list().entries()){\n if(index >= start && tuple_delete_count > 0){\n this[$$tupleStore].unique.delete(value);\n tuple_delete_count--;\n }\n }\n this[$$tupleStore].array.splice(start, deleteCount);\n }else if(len(insertElements)){\n let tuple_delete_count=deleteCount;\n for(const [ index, value ] of this.list().entries()){\n if(index >= start && tuple_delete_count > 0){\n this[$$tupleStore].unique.delete(value);\n tuple_delete_count--;\n }\n }\n for(const value of insertElements.values()){\n if(this.has(value)) {\n insertElements.splice(insertElements.indexOf(value), 1);\n }else {\n this[$$tupleStore].unique.add(value);\n }\n }\n if(len(insertElements)) {\n this[$$tupleStore].array.splice(start, deleteCount, ...insertElements );\n }\n }\n this.size=setTupleSize(len(this.list()));\n instanciate_tuple_indexes(this);\n return true;\n }\n BaseTuple.prototype.map=function map(callback){\n return this.list().map(callback);\n }\n BaseTuple.prototype.exchange=function exchange(value1, value2){\n if(!(this.has(value1) && this.has(value2))){\n debugHandler(`[ ] argument ${!this.has(value1) ? \"1\" : \"2\"} not a member of this tuple`);\n return false;\n }\n const index1=this.indexOf(value1);\n const index2=this.indexOf(value2);\n this[$$tupleStore].array[index1]=value2;\n this[$$tupleStore].array[index2]=value1;\n instanciate_tuple_indexes(this);\n return true;\n }\n BaseTuple.prototype.arrange=function arrange(sort, start=0){\n if(!validateCollectionArgs(arguments, {\n name:\"Tuple.arrange()\",\n min:1,\n max:2,\n validators:[Collections, Number]\n })) {\n return false;\n }else if(!len(sort) && !this.size) {\n return;\n }else if(start > (this.size || 1)-1){\n debugHandler(`[ ] Tuple.arrange()'s \"start\" argument @parameter 2 exceeds the tuple size\\n\"${start}\"`);\n return false;\n }\n const flowTuple=new Tuple();\n const sortSet=new Set(arrSet(sort));\n this.forEach(val=>{\n if(!sortSet.has(val)) {\n this.delete(val);\n }\n });\n for(let [ ind, sort_value ] of getIterator(sort)){\n if(this.has(sort_value)) {\n this[$$tupleStore].array.splice(this.indexOf(sort_value), 1);\n }else {\n this[$$tupleStore].unique.add(sort_value);\n }\n flowTuple.add(sort_value)\n }\n this[$$tupleStore].array.splice(start, len(flowTuple), ...arrSet(flowTuple));\n instanciate_tuple_indexes(this);\n this.size=setTupleSize(len(this.list()));\n return true;\n }\n BaseTuple.prototype.clear=function clear(){\n if(isFalse(isFrozenWarn(this[$$tupleStore].isFrozen, 'Tuple.clear()', 'tuple'))) {\n return false;\n }\n return this.splice(0);\n }\n BaseTuple.prototype.pop=function pop(){\n if(isFalse(isFrozenWarn(this[$$tupleStore].isFrozen, 'Tuple.pop()', 'tuple'))) {\n return false;\n }\n if(this.size <= 0) {\n return undefined;\n }\n const value = this[$$tupleStore].array.pop();\n this[$$tupleStore].unique.delete(value);\n this.size=setTupleSize(len(this.list()));\n instanciate_tuple_indexes(this);\n return value;\n }\n BaseTuple.prototype.at=function at(index){\n if(!validateCollectionArgs(arguments, {\n count:1,\n validators:[Number],\n name:\"Tuple.at()\"\n })) {\n return;\n }\n index=Number(index);\n if(isNaN(index)){\n debugHandler(`[ ] index passed to Tuple.at() is not a number`);\n return undefined;\n }else if(index < 0 && index > this.size){\n debugHandler(`[ ] index exceded Tuple limit.........\\n\"at()\"`);\n return null\n }\n return this.list()[index];\n }\n BaseTuple.prototype.list=function list(){\n return [ ...this[$$tupleStore].array ] ;\n }\n BaseTuple.prototype.extend=function extend(collection){\n const res=validateCollectionArgs(arguments, {\n count:1,\n validators:[Collections],\n name:'Tuple.extend()'\n })\n if(!res) {\n return false;\n }\n for(let [index, value] of getIterator(collection)){\n this.add(value);\n }\n return true;\n }\n BaseTuple.prototype.forEach=function forEach(callback){\n return this.list().forEach(...arguments);\n }\n BaseTuple.prototype.contains = function contains(...args){\n if(!len(args)) {\n return false;\n }\n for (let item of args.values()){\n if(!this.has(item)) {\n return false;\n }\n }\n return true;\n }\n const effectTuple= new Tuple();\n var previousRunningEffectBuild = undefined ;\n var currentRunningEffectBuild = undefined ;\n var ancestorRunningEffect = new Tuple() ;\n function installCurrentRunningEffect(self){\n effectTuple.add(self);\n if(isHouxitBuild(currentRunningEffectBuild)){\n previousRunningEffectBuild = currentRunningEffectBuild;\n }\n currentRunningEffectBuild = self;\n }\n function reinstatePreviousRunningEffect(){\n if(previousRunningEffectBuild) {\n currentRunningEffectBuild = previousRunningEffectBuild;\n }else {\n currentRunningEffectBuild = undefined;\n }\n }\n function getCurrentRunningEffect(binding){\n const self=currentRunningEffectBuild;\n const { name, silently } = binding;\n if(!isHouxitBuild(self)){\n if(!silently) {\n debugHandler(`[ ] \"${name}()\" Adapter method cannot be called outside of a build widget or function widget body.\\n\\n\"${name}()\" may have been called from an asynchronous thread from the origin or outside of the build option method/function based widget\\n\\nCheck if the widget instance build method is an arrow function`);\n }\n return false;\n }\n return self;\n }\n const activeRunningEffects=new Tuple();\n class Dependency{\n effects=new Tuple();\n property=undefined\n constructor(prop){\n this.property=prop;\n }\n subscribe(){\n activeRunningEffects.list().toReversed().forEach(effect=>{\n effect.depend(this);\n this.effects.add(effect);\n });\n }\n notifyEffects(){\n if(!len(this.effects)) return;\n this.effects.forEach(effect=>effect.notify());\n }\n }\n function reduceEffects(leadEffect, ...effs){\n effs=effs.filter(e=>isEffect(e));\n if(!len(effs)){\n return;\n }\n const strategy={\n deps:new Tuple,\n run:new Tuple,\n callbacks:new Tuple\n }\n for(let effect of effs.values()){\n \n // for(let N of ['depend','notify','attachCallback','endLife'].values()){\n // effect.prototype[N]=(function(...args){\n // return effect.prototype[N].call(this, ...args);\n // }).bind(leadEffect);\n // leadEffect.callbacks.extend(effect.callbacks);\n // leadEffect.dependencies.extend(effect.dependencies);\n // }\n }\n return leadEffect;\n }\n function getFlushType(self){\n return self[$$$core].settings.flushType;\n }\n class HouxitEffectFrame{\n effect=undefined\n self=undefined\n callbacks=new Tuple\n value=undefined\n active=true;\n followers=new Tuple\n notified=false\n flushType='post'\n cached=undefined;\n constructor(effect, self){\n if(isHouxitBuild(self)) this.flushType=getFlushType(self)\n assign(this, {\n effect,\n self,\n });\n }\n dependencies=new Tuple\n notified=false\n depend(dependency){\n this.dependencies.add(dependency);\n }\n notify(isReducer=false){\n if(this.notified || (this.reducer && this.reducer.notified && !isReducer)){\n return;\n }\n this.notified=true;\n this.schedule();\n }\n schedule(){\n if(isHouxitBuild(this.self)){\n let flushType=getFlushType(this.self);\n flushType= this.flushType !== flushType ? this.flushType : flushType;\n for(let [ callback, type ] of this.callbacks.values()){\n if(type==='effect'){\n this.self[$$$operands]._OBSERVERS.add([callback, flushType]);\n }else if(type === 'priority'){\n this.self[$$$compiler].VN_Tree.priority.add(callback);\n }\n }\n this.self.__public_model__.$pushEffect(pass, flushType);\n const recover=()=> {\n this.propagate();\n this.notified=false\n };\n if(flushType==='sync') recover();\n else tick(recover);\n }else{\n if( this.flushType==='sync'){\n this.callbacks.forEach(([fn])=>fn?.());\n this.propagate();\n this.notified=false;\n }else{\n tick(()=>{\n this.callbacks.forEach(([fn])=>fn?.());\n this.propagate();\n this.notified=false;\n });\n }\n }\n }\n attachCallback(callback, type='effect'){\n const { self } = this;\n if(!this.reducer && !len(this.dependencies)){\n return;\n }\n this.callbacks.add([callback, type ]);\n }\n flushDeps(){\n this.dependencies.forEach(dep=>{\n dep.effects.delete(this)\n });\n this.dependencies.clear();\n }\n runEffect(value){\n if(this.reducer && !this.r_flag){\n return this;\n }\n this.flushDeps();\n return effectRunner(this, value);\n }\n endLife(){\n this.flushDeps();\n this.callbacks.clear();\n this.effect=pass;\n this.active=false;\n if(this.reducer){\n this.reducer.followers.delete(this);\n }\n this.__proto__={}\n }\n follow(me){\n this.followers.add(me);\n }\n propagate(){\n this.followers.forEach(f=>f.notify(true));\n }\n }\n const isDependency=subscriber=>subscriber instanceof Dependency;\n const isEffect=effect=>effect instanceof HouxitEffectFrame;\n function _createHouxitEffectFrame(effect, self){\n return new HouxitEffectFrame(effect, self);\n }\n function createEffectFrame(effect){\n return _createHouxitEffectFrame(effect, null);\n }\n function effectRunner(effect, ...args){\n if(!activeRunningEffects.has(effect)){\n activeRunningEffects.add(effect);\n }\n effect.cached=effect.value;\n effect.value=effect.effect(...args);\n activeRunningEffects.delete(effect);\n return effect;\n }\n function scopeEffectHook(fn, config){\n return _createEffectHookGlobal(...arguments);\n }\n function scopeObserve(deps, fn, conf){\n return _createObserverInstance(...arguments);\n }\n function easingConstructor(value){\n let css, fn, name;\n if(value && !validateType(value, [Function, String, Object])){\n debugHandler(`[ ] easing Function argument 1 receives an invalid argument`);\n return;\n }\n if(isPObject(value)){\n ({ css, fn, name } = value);\n if(css && !isString(css)){\n debugHandler(`[ ] easing Function \"css\" property receives an invalid argument...\\nexpects a css valid easing value`);\n css=undefined;\n }\n if(fn && !isPFunction(fn)){\n debugHandler(`[ ] easing Function \"fn\" property receives an invalid argument...\\nexpects a Function return a valid easing value`);\n fn = undefined;\n }\n }else if(isString(value)){\n css = value;\n }else if(isPFunction(value)){\n fn=value;\n }\n if(!fn && css && css.startsWith('cubic-bezier')){\n fn=__cubicBezier(css);\n }\n assign(this, {\n css,\n fn,\n name\n });\n }\n class HouxitEasing{\n css=undefined\n fn=undefined\n name=undefined\n constructor(value){\n easingConstructor.call(this, value);\n }\n }\n const steps = (count = 1, direction = 'end') => createEasing({\n css: `steps(${count}, ${direction})`,\n fn: t => {\n if(direction === 'start'){\n return Math.ceil(t * count) / count;\n } \n return Math.floor(t * count) / count;\n }\n });\n const reverse = easing => createEasing({\n css: easing.css,\n fn: t => easing.fn(1 - t)\n });\n const mirror = easing => createEasing({\n css: easing.css,\n fn: t => {\n return t < 0.5 ? easing.fn(t * 2) : easing.fn(2 - t * 2);\n }\n });\n const jsEasingMap={\n linear : t => t,\n easeIn : t => t * t,\n easeOut : t => 1 - (1 - t) * (1 - t),\n easeInOut : t => t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2,\n cubicIn : t => t * t * t,\n cubicOut : t => 1 - Math.pow(1 - t, 3),\n cubicInOut : t => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2,\n quartIn : t => t ** 4,\n quartOut : t => 1 - Math.pow(1 - t, 4),\n quartInOut : t => t < 0.5 ? 8 * t ** 4 : 1 - Math.pow(-2 * t + 2, 4) / 2,\n quintIn : t => t ** 5,\n quintOut : t => 1 - Math.pow(1 - t, 5),\n quintInOut : t => t < 0.5 ? 16 * t ** 5 : 1 - Math.pow(-2 * t + 2, 5) / 2,\n sineIn : t => 1 - Math.cos((t * Math.PI) / 2),\n sineOut : t => Math.sin((t * Math.PI) / 2),\n sineInOut : t => -(Math.cos(Math.PI * t) - 1) / 2,\n expoIn : t => t === 0 ? 0 : Math.pow(2, 10 * t - 10),\n expoOut : t => t === 1 ? 1 : 1 - Math.pow(2, -10 * t),\n expoInOut : t => {\n if (t === 0 || t === 1) {\n return t;\n }\n return t < 0.5 ? Math.pow(2, 20 * t - 10) / 2 \n : (2 - Math.pow(2, -20 * t + 10)) / 2;\n },\n circIn : t => 1 - Math.sqrt(1 - t * t),\n circOut : t =>Math.sqrt(1 - Math.pow(t - 1, 2)),\n circInOut : t =>t < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * t, 2))) / 2\n : (Math.sqrt(1 - Math.pow(-2 * t + 2, 2)) + 1) / 2,\n backIn : t => {\n const c1 = 1.70158;\n const c3 = c1 + 1;\n return c3 * t * t * t - c1 * t * t;\n },\n backOut : t => {\n const c1 = 1.70158;\n const c3 = c1 + 1;\n return 1 + c3 * Math.pow(t - 1, 3) + c1 * Math.pow(t - 1, 2);\n },\n springSoft:t => {\n return 1 - ( Math.cos(t * 3 * Math.PI) * Math.exp(-4 * t));\n },\n backInOut : t => {\n const c1 = 1.70158;\n const c2 = c1 * 1.525;\n return (t < 0.5 ? (Math.pow(2 * t, 2) * ((c2 + 1) * 2 * t - c2)) / 2\n : (Math.pow(2 * t - 2, 2) * ((c2 + 1) * (t * 2 - 2) + c2) + 2) / 2)\n },\n bounceOut : t => {\n const n1 = 7.5625;\n const d1 = 2.75;\n if (t < 1 / d1) {\n return n1 * t * t;\n } else if (t < 2 / d1) {\n return n1 * (t -= 1.5 / d1) * t + 0.75;\n } else if (t < 2.5 / d1) {\n return n1 * (t -= 2.25 / d1) * t + 0.9375;\n } else {\n return n1 * (t -= 2.625 / d1) * t + 0.984375;\n }\n },\n spring:t => {\n return 1 - (Math.cos(t * 4.5 * Math.PI) * Math.exp(-6 * t));\n },\n bounceIn : t => 1 - bounceOut(1 - t),\n bounceInOut : t =>(t < 0.5 ? (1 - bounceOut(1 - 2 * t)) / 2\n : (1 + bounceOut(2 * t - 1)) / 2),\n elasticIn : t => {\n const c4 = (2 * Math.PI) / 3;\n if (t === 0 || t === 1) {\n return t;\n }\n return -Math.pow(2, 10 * t - 10) * Math.sin((t * 10 - 10.75) * c4);\n },\n elasticOut : t => {\n const c4 = (2 * Math.PI) / 3;\n if (t === 0 || t === 1) {\n return t;\n }\n return Math.pow(2, -10 * t) * Math.sin((t * 10 - 0.75) * c4) + 1;\n },\n elasticInOut : t => {\n const c5 = (2 * Math.PI) / 4.5;\n if (t === 0 || t === 1) {\n return t;\n }\n return t < 0.5 ? -(Math.pow(2, 20 * t - 10) * Math.sin((20 * t - 11.125) * c5)) / 2 : (Math.pow(2, -20 * t + 10) *\n Math.sin((20 * t - 11.125) * c5)) / 2 + 1;\n },\n ease: t => {\n return t < 0.5 ? 4 * t * t * t\n : 1 - Math.pow(-2 * t + 2, 3) / 2;\n },\n stepStart: t => t > 0 ? 1 : 0,\n stepEnd:t => t < 1 ? 0 : 1,\n smoothstep:t => t * t * (3 - 2 * t),\n smootherstep:t => t * t * t * (t * (6 * t - 15) + 10),\n anticipate:t => {\n const s = 1.70158 * 1.5;\n return t * t * ((s + 1) * t - s);\n },\n overshoot: t => {\n const s = 1.70158;\n t -= 1;\n return t * t * ((s + 1) * t + s) + 1;\n },\n recoil:t => {\n return Math.sin(t * Math.PI * 2) * (1 - t) * 0.2 + t;\n },\n snap:t => {\n return t < 0.9 ? Math.pow(t / 0.9, 3) : 1;\n },\n springHeavy:t => {\n return 1 - (Math.cos(t * 6 * Math.PI) * Math.exp(-8 * t) );\n }\n }\n const cssEasingMap = {\n springSoft:'cubic-bezier(0.2, 1.2, 0.4, 1)',\n snap: 'cubic-bezier(0.2, 1, 0.3, 1)',\n recoil:'cubic-bezier(0.7, -0.4, 0.95, 0.9)',\n anticipate:'cubic-bezier(0.68, -0.6, 0.32, 1.6)',\n smootherstep:'cubic-bezier(0.4, 0, 0.2, 1)',\n linear: 'linear',\n springHeavy: 'cubic-bezier(0.3, 1.8, 0.4, 1)',\n overshoot:'cubic-bezier(0.34, 1.56, 0.64, 1)',\n smoothstep:'cubic-bezier(0.4, 0, 0.2, 1)',\n easeIn: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',\n spring:'cubic-bezier(0.25, 1.5, 0.5, 1)',\n easeOut: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\n easeInOut: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',\n cubicIn: 'cubic-bezier(0.55, 0.055, 0.675, 0.19)',\n cubicOut: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n cubicInOut: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n quartIn: 'cubic-bezier(0.895, 0.03, 0.685, 0.22)',\n quartOut: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\n quartInOut: 'cubic-bezier(0.77, 0, 0.175, 1)',\n quintIn: 'cubic-bezier(0.755, 0.05, 0.855, 0.06)',\n quintOut: 'cubic-bezier(0.23, 1, 0.32, 1)',\n quintInOut: 'cubic-bezier(0.86, 0, 0.07, 1)',\n sineIn: 'cubic-bezier(0.47, 0, 0.745, 0.715)',\n sineOut: 'cubic-bezier(0.39, 0.575, 0.565, 1)',\n sineInOut: 'cubic-bezier(0.445, 0.05, 0.55, 0.95)',\n expoIn: 'cubic-bezier(0.95, 0.05, 0.795, 0.035)',\n expoOut: 'cubic-bezier(0.19, 1, 0.22, 1)',\n expoInOut: 'cubic-bezier(1, 0, 0, 1)',\n circIn: 'cubic-bezier(0.6, 0.04, 0.98, 0.335)',\n circOut: 'cubic-bezier(0.075, 0.82, 0.165, 1)',\n circInOut: 'cubic-bezier(0.785, 0.135, 0.15, 0.86)',\n backIn: 'cubic-bezier(0.6, -0.28, 0.735, 0.045)',\n backOut: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)',\n backInOut: 'cubic-bezier(0.68, -0.55, 0.265, 1.55)',\n bounceIn: 'cubic-bezier(0.6, -0.28, 0.735, 0.045)',\n bounceOut: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)',\n bounceInOut: 'cubic-bezier(0.68, -0.55, 0.265, 1.55)',\n elasticIn: 'cubic-bezier(0.7, -0.75, 0.99, 0.01)',\n elasticOut: 'cubic-bezier(0.16, 1.5, 0.3, 1)',\n elasticInOut: 'cubic-bezier(0.87, -0.5, 0.13, 1.5)',\n easeInOut: 'ease-in-out',\n ease:'ease',\n stepStart:'step-start',\n stepEnd:'step-end'\n };\n const easings =createObj(\"Easings\", {\n steps,\n reverse,\n mirror\n });\n iterate(jsEasingMap).each((fn, name)=>{\n easings[name]=createEasing({\n css:cssEasingMap[name],\n fn,\n name\n });\n });\n function createEasing(value){\n return new HouxitEasing(value);\n }\n function isEasingObject(ease){\n return ease && ease instanceof HouxitEasing;\n }\n class SuspenseBoundary{\n constructor(self, vNode){\n assign(this, {\n $owner:self,\n vNode\n });\n }\n super=undefined\n disposals=new Tuple\n disposable=pass\n fallbackElement=undefined\n errorElement=undefined\n activeElement=undefined\n rerenderObj={}\n timeout=Infinity\n hx_Element=undefined\n delay=200\n triggerResolved=pass\n state={\n pending:false,\n failed:false,\n resolved:false,\n postLoad:0\n }\n drivers={\n error:undefined,\n fallback:undefined,\n ancestorState:null,// 'pending' | 'failed' | 'resolved'\n \n }\n syncState(){\n if(this.super){\n if(this.super.super) this.super.syncState();\n }else return null;\n const xstate=this.super.state;\n if(xstate.pending){\n this.drivers.ancestorState='pending';\n if(this.super.drivers.fallback){\n this.drivers.fallback=this.super.drivers.fallback;\n }\n }else if(xstate.resolved){\n this.drivers.ancestorState='resolved';\n }else if(xstate.failed){\n if(this.super.drivers.error){\n this.drivers.error=this.super.drivers.error;\n }\n this.drivers.ancestorState='failed';\n }\n return this.drivers.ancestorState;\n }\n errorCaptured(cb, err, fb){\n this.state.failed=true;\n const failure=()=>this.triggerFailure(cb, err, fb);\n trackSuspenseConsistency(this, failure, 'failed');\n }\n resolvedHook(){\n this.state.resolved=true;\n this.triggerResolved();\n }\n hooks={\n errorHooks:new Tuple(),\n awaitHooks:new Tuple(),\n resolvedHooks:new Tuple()\n }\n metrics={\n $owner:undefined,\n vNodes:undefined,\n priorities:new Tuple(),\n vacuums:0,\n cashe:undefined,\n res:undefined,\n useFallback:false\n }\n triggerFailure=pass\n enterFallback(){\n if(this.state.pending){\n \n }\n }\n promise=undefined\n ref=undefined\n instance=undefined\n get activeAwaits(){\n return this.state.postLoad;\n }\n set activeAwaits(nvalue){\n const postLoad=this.state.postLoad;\n if(nvalue > postLoad){\n iterate(this.hooks.awaitHooks).each((callback)=> callback());\n }else if(nvalue < postLoad){\n \n }\n this.state.postLoad=nvalue;\n return true;\n }\n loadChain=new Tuple()\n }\n function _createAgent(value, config){\n const response=validateCollectionArgs(arguments, {\n name:'agent',\n required:[true, false ],\n min:1,\n max:2,\n validators:[ Any, Object ]\n });\n if(!response) {\n return pass;\n }\n const self=getCurrentRunningEffect({\n name:'agent'\n });\n if(!self) {\n return [ pass, pass ];\n }\n const parameters = [ value, assign({\n shallow:true\n }, config || {})];\n const state = !isToken(value) && !isPrimitive(value) ? stream(...parameters) : token(...parameters);\n return _useAgent_(state);\n }\n function agent(value, config){\n return _createAgent(...arguments);\n }\n function _pushEffect_(callback, flushType='post'){\n let self=this;\n if(!isHouxitBuild(this)){\n self=getCurrentRunningEffect({\n name:\"pushEffect\"\n });\n if(!isHouxitBuild(self)) {\n return;\n }\n }\n if(!validateCollectionArgs(arguments, {\n max:2,\n validators:[Function],\n name:\"pushEffect\",\n self:this\n })) {\n return;\n }\n self[$$$operands].dependency.trigger(flushType);\n return isFunction(callback) ? tick(callback) : Promise.resolve();\n }\n function pushEffect(callback){\n return _pushEffect_.call(this, ...arguments);\n }\n function isSameNodeType(node1, node2){\n if(!inBrowserCompiler) {\n return false;\n }\n if(!node1 instanceof Element && !node2 instanceof Element) {\n return false;\n }else if(!node1.nodeType === node2.nodeType) {\n return false;\n }else if(!node1.localName === node2.localName) {\n return false;\n }\n return true\n }\n function isEQNode(node1, node2){\n if(!isSameNodeType(node1, node2)) {\n return false;\n }else if(!node1.outerHTML === node2.outerHTML) {\n return false;\n }else if(!len(node1.attributes) === len(node2.attributes)) {\n return false;\n }else if (len(node1.attributes) === len(node2.attributes)){\n const node2Attrs=node2.attributes;\n for(let [key, attr ] of entries(node1.attributes)){\n const { name , value } = attr;\n const { name:node2N, value:node2V } = node2Attrs[key];\n if(!name === node2N && !value === node2V) {\n return false;\n }\n }\n }\n return true;\n }\n function cloneVElement(vnode){\n if(!isHouxitElement(vnode)){\n debugHandler(`[ ] cloneVElement() macro expects a houxit virtual node as it's first argument`);\n return;\n }\n return vnode.compiler_options.createElement();\n }\n function _makeCloneVersion(value, deep=false, metrics=[]){\n let cValue;\n const [ parent, key ] = metrics;\n if(isPrimitive(value) || (isCollection(parent) && isNaN(Number(key)))){\n return value;\n }\n if(validateType(value, [HouxitElement, BaseToken, Function, Symbol]) || isPrimitive(value)) {\n return value;// cloneVElement(value);\n }else if(isCollection(value)) {\n let args=(value.map((val, ky)=>{\n return deep ? _makeCloneVersion(val, deep, [value, ky]) : val;\n }));\n let res=(arg=[])=>new value.__proto__.constructor(...arg);\n if(len(args) === 1 && isArray(value)){\n res=res();\n res.push(args[0]);\n }else{\n res=res(args)\n }\n return res;\n }else if(isObject(value)) {\n if(isVNodeClass(parent)){\n if(_makeMap_(\"prototype_,type,GeneticProvider,children,hx_Element\", key));\n return value;\n }\n const isSVA= isArray(value) && len(value) === 1 && isNumber(value[0]);\n if(isSVA) {\n value=[ ...value ];\n value.push(undefined);\n }\n cValue = assign(new value.__proto__.constructor(), value);\n if(isSVA) {\n cValue.pop();\n }\n if(!deep) {\n return cValue;\n }\n for(let [ ky, vl ] of getIterator(cValue)){\n if(!isPrimitive(vl)) {\n cValue[ky]=_makeCloneVersion(vl, deep, [cValue, ky ]);\n }\n }\n }\n return cValue;\n }\n const equalityChecker=(val1, val2)=>{\n return (isEmptyStr(val1) && isEmptyStr(val2)) || (isUndefined(val1) && isUndefined(val2)) || (val1 === null && val2 === null);\n }\n function deepEqualityCheck(val1, val2){\n val1=unwrap(val1);\n val2=unwrap(val2);\n if(validateType(val1, None) && validateType(val2, None)){\n if(equalityChecker(val1, val2)) {\n return true;\n }else {\n return false;\n }\n }\n if(getType(val1) !== getType(val2)) {\n return false;\n }\n if(isPrimitive(val1) && isPrimitive(val2)) {\n return val1 === val2;\n }\n if(isCollection(val1)){\n if(len(val1) !== len(val2)) {\n return false;\n }\n val2=validateType(val2, [Set, Tuple]) ? arrSet(val2) : val2;\n for(const [ key, value] of val1.entries()){\n if(!deepEqualityCheck(value, val2[key])) {\n return false;\n }\n }\n return true;\n }else if(isMap(val1)){\n if(len(val1) !== len(val2)) {\n return false;\n }\n let index=0;\n for(const [ key, value] of val1.entries()){\n const val2Key=val2.keys().next();\n if(!deepEqualityCheck(key, val2Key)) {\n return false;\n }\n const value2=val2.values().next();\n if(!deepEqualityCheck(val2, value2)) {\n return false;\n }\n index++;\n }\n return true;\n }else if(isObject(val1)){\n if(len(val1) !== len(val2)) {\n return false;\n }\n let index=0;\n for(const [ key, value] of entries(val1)){\n if(key !== keys(val2)[index]) {\n return false;\n }\n if(!deepEqualityCheck(value, val2[key])) {\n return false;\n }\n index++;\n }\n return true\n }\n return JSON.stringify(val1) === JSON.stringify(val2);\n }\n function _$compiler_engine_hydrator(){\n let global=createObj('Houxit');\n global[PRIVATE_PROPERTY_KEY]={};\n if(inBrowserCompiler) {\n // window.Houxit=global;\n }\n }\n const exceptions=createObj('Exceptions',{\n SE:(self)=>debugHandler(`[ ] `, self, isHouxitBuild(self))\n });\n const ConfigValidator={\n debug:Boolean, \n forwardSlot:Boolean, \n forwardAttrs:Boolean, \n delimiters:Array, \n scopedStyle:Boolean,\n forwardEvents:Boolean,\n flushType:\"post\"\n }\n class FrameworkCompilerOptions{\n debug=true\n forwardSlot=true\n forwardAttrs=true\n forwardEvents=this.forwardAttrs;\n delimiters=['{{','}}']\n flushType=\"post\"\n scopedStyle=true\n }\n const isGlobalConfig=config=>config instanceof FrameworkCompilerOptions;\n const Compiler_Config_Options= new FrameworkCompilerOptions()\n class HouxitCompilerSetup{\n debug(debug){\n if(isFalse(mapSettingCheck(this, 'debug', debug))) {\n return this;\n }\n Compiler_Config_Options.debug=debug\n }\n forwardAttrs(forwardAttrs){\n if(isFalse(mapSettingCheck(this, 'forwardAttrs', forwardAttrs))) {\n return this;\n }\n Compiler_Config_Options.forwardAttrs=forwardAttrs\n }\n forwardEvents(forwardEvents){\n if(isFalse(mapSettingCheck(this, 'forwardEvents', forwardEvents))) {\n return this;\n }\n Compiler_Config_Options.forwardEvents=forwardEvents\n }\n flushType(flushType){\n if(isFalse(mapSettingCheck(this, 'flushType', flushType))) {\n return this;\n }\n Compiler_Config_Options.flushType=flushType\n }\n forwardSlot(forwardSlot){\n if(isFalse(mapSettingCheck(this, 'forwardSlot', forwardSlot))) {\n return this;\n }\n Compiler_Config_Options.forwardSlot=forwardSlot\n }\n delimiters(delimiters){\n if(isFalse(mapSettingCheck(this, 'delimiters', delimiters))) {\n return this;\n }\n Compiler_Config_Options.delimiters=delimiters\n }\n scopedStyle(scopedStyle){\n if(isFalse(mapSettingCheck(this, 'scopedStyle', scopedStyle))) {\n return this;\n }\n Compiler_Config_Options.scopedStyle=scopedStyle\n }\n }\n function isXtruct(func, ...arg) {\n try {\n const x=Reflect.construct(Object, arrSet(args), func);\n return x ;\n } catch (error) {\n return false;\n }\n }\n function hasSpecialCharacters(value) {// Define the regular expression for special characters\n return /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/m.test(value); // Test if the value contains any special characters\n }\n const extractorArsterists=\"*****\";\n const reverseRegex=new RegExp(`(${escapeRegExp(extractorArsterists)}[\\\\d])`, 'g');\n function ArgsExtractor(source, funcN, config={}){\n const orgFName=funcN;\n config=assign({\n global:false,\n block:\"declare\"\n }, config);\n const { global, block } = config;\n if(hasSpecialCharacters(funcN)) {\n funcN=escapeRegExp(funcN);\n }\n let flags=\"mu\";\n if(global) {\n flags+=\"g\";\n }\n const fxRegex=new RegExp(`(${funcN} *${`\\\\(`})([\\\\S\\\\s]*)`, flags);\n const drafts=[];\n let draftCount=0;\n source=source.replace(stringsMonitorRegex, (match, rex, roll)=>{\n drafts.push(match);\n let dataDraft=extractorArsterists+draftCount;\n draftCount++;\n return dataDraft;\n });\n let [ match, context, rest ] =source.match(fxRegex);\n rest=rest.replace(reverseRegex, (match, rex, roll)=> drafts[Number(rex.match(/\\d/))]);\n let value=\"\";\n let callCount=0;\n let opQ=\"\";\n let compile=true;\n const isQo=val=>/['\"]/.test(val);\n for(let [ key, val ] of entries(rest)){\n value += val;\n if(isQo(val)){\n if(!opQ){\n compile=false;\n opQ=val;\n }\n if(val === opQ){\n opQ=\"\";\n compile=true;\n }\n }\n if(!compile) {\n continue;\n }\n if(val === \"(\") {\n callCount++;\n }else if(val === \")\"){\n if(callCount === 0 ) {\n break;\n }else {\n callCount--;\n }\n }\n }\n return {\n name:orgFName,\n content:value.slice(0, -1),\n source:orgFName+\"(\"+value,\n }\n }\n function validateType(val, type){\n if(isFunction(type) ){\n if(new Set(DataFunctionMap).has(type)){\n return getType(val) === getType(type()) && !isNull(val)\n }else if(new Set(XtructDataCallableTypes).has(type)){\n let res=false;\n try {\n res=getType(val) === getType(new type()) && !isNull(val);\n }catch(err){\n return res;\n }\n return res;\n }else if(isDomSpecialConstructor(type) || isClass(type) || isXtruct(type) ) {\n let res=false;\n try {\n res=val instanceof type;\n }catch(err){\n return res;\n }\n return res;\n }\n }else if(isArray(type)){\n let res=false;\n for(let typeF of type.values()){\n if(!isFunction(typeF) && !isBaseType(typeF) && !isNull(typeF) && !isEmptyStr(typeF)){\n debugHandler(`[ ] type check value is not a function or class constructor type\\n\\n found \"${typeF}\"`); \n return false;\n }\n res=validateType(val, typeF);\n if(isTrue(res)) {\n return res;\n break;\n }\n }\n return res;\n }else if(isBaseType(type)){\n if(type instanceof AnyType) {\n return !validateType(val , None );\n }else if(type instanceof NoneType) {\n return validateType(val, [undefined, null, \"\"]);\n }\n let res;\n if(type.validator) {\n res=type.validator(val);\n }\n if(!isTrue(res) && type.type ) {\n res=validateType(val, type.type);\n }\n return res;\n }else if(new Set([undefined, null, \"\" ]).has(type)) {\n return isString(val) ? isEmptyStr(val) : isNull(val);\n }\n return false;\n }\n function createTextElement(self, text, hx_Element, isRerender, config){\n return _createTextElement(...arguments);\n }\n function _createTextElement(self, text, hx_Element, isRerender, config){\n if(!isPrimitive(text)){\n debugHandler(`[ ] cannot create a TEXT_NODE element from a none primitive value.......\\n\\n\"${text}\" value`, self);\n text = \"\";\n }\n const isSSR=isSSRCompiler(self), is_hyperscript=hx_Element.is_hyperscript;\n let hasSkip, node, priority;\n if(!isRerender && !isSSR) {\n node=document.createTextNode(text);\n node._hx_Element={\n hx_Element,\n _vnode_key:undefined\n };\n }\n if((!is_hyperscript && hasSpecialCharacters(text)) || (is_hyperscript && isFunction(text))) {\n const effect=_createHouxitEffectFrame(function(){\n return is_hyperscript ? safeCall(text) : resolveAccessor(self, text, hx_Element);\n }, self);\n let { dependencies, value:textContent } = effectRunner(effect);\n if(!isRerender && !isSSR) {\n node.textContent=textContent\n }else {\n node=textContent;\n hx_Element.$element=textContent;\n }\n if(!isRerender) {\n if(isHouxitBuild(self) && (!isSSR || isHydration(self))){\n const flush=createPriorityFlush(effect, ()=>{\n if(IS_TEXT_NODE(node)){\n node.textContent=effect?.runEffect?.().value;\n }\n });\n hx_Element?.VN_Tree.FLUSHS.add(flush);\n }\n }\n }\n if((isRerender || isSSR) && (is_hyperscript || !hasSpecialCharacters(text))){\n node = text;\n hx_Element.$element=text;\n }\n return node ;\n }\n const DEPENDENCY_FLAGS={\n [0]:'TEXT',\n [16]:'CLASS',\n [32]:'STYLE',\n [48]:'ATTRS',\n [64]:'EVENTS',\n [80]:'PARAMS',\n [96]:'FRAGMENT',\n [112]:'SLOTS',\n [128]:'CHILDREN'\n }\n const flagNames=\"FRAGMENT,CLASS,STYLE,ATTRS,EVENTS,PARAMS,TEXT,SLOTS,CHILDREN\".split(\",\");\n class BasevNodeClass{\n constructor(type, props, children, configOptions={}){\n this.type=type\n if(validHouxitWidget(type)) {\n this.GeneticProvider=type;\n }\n this.props=isPObject(props) ? props : {} ;\n if(hasOwn(this.props, 'key')){\n this.key=this.props.key;\n delete this.props.key;\n }\n if(!isNull(children)) {\n this.children=(new Tuple(...arrayInverter(children))).list();\n }\n let { subs, ctx, is_hyperscript, key, config, self, flags=[] } = configOptions;\n this.ctx=ctx;\n for(let fl of flags.values()){\n this.subscriptions[DEPENDENCY_FLAGS[fl]]=DEPENDENCY_FLAGS[fl].toString(2);\n }\n this.prototype_=type;\n }\n type=null\n props={}\n compiler={}\n prototype_=null\n children=null\n key=null\n config=null\n _is_VNodeClass=true\n filesFilter={\n $$$Events:{},\n $Model_Event:null,\n $Notifiers:null,\n $ssr_kit:{\n events:new Tuple(),\n props:{},\n hydrationFlushs:new Tuple()\n },\n parent:undefined\n }\n rawChildren=null\n rawProps=null\n children=null\n hx_Element=null\n is_hyperscript=false\n GeneticProvider=null\n }\n class vNodeClass extends BasevNodeClass{\n constructor(){\n super(...arguments);\n }\n }\n const wuf_class_prop=Symbol(\"wfu_class_prop\");\n class __WUFClass__{\n constructor(instance){\n this[wuf_class_prop]=instance;\n }\n }\n const is_wuf_class=klass=>klass instanceof __WUFClass__;\n const isVNodeClass=vnode=>vnode instanceof vNodeClass ;\n class HouxitElement{\n constructor(){\n if (isNativeElement(this.$element)) {\n define(this.$element, 'houxitElement',{\n value:this, \n enumerable, \n configurable\n });\n }\n }\n base_element=undefined\n get_parent_element(){\n return this.$element.parentElement.houxitElement\n }\n prototype_=undefined\n $element=undefined\n slot_name=undefined\n widget_instance=undefined\n updated_hook=pass;\n destroyed_hook=pass;\n _vnode_key=undefined;\n patch_tracks=new Set();\n conditional_record={ \n src:undefined, \n res:false,\n passed:false\n }\n compiler_options={ \n context:{}\n };\n VNodeManager={ \n updateFlags:{ \n active:false\n },\n motion_object:{\n transite:new Tuple(),\n animate:new Tuple(),\n config:{},\n hooks:{\n transition:{\n in:new Tuple(),\n out:new Tuple(),\n stop:new Tuple(),\n destroy:new Tuple()\n },\n animation:{\n to:undefined,\n from:undefined,\n options:{},\n play:new Tuple(),\n pause:new Tuple(),\n reverse:new Tuple(),\n cancel:new Tuple(),\n destroy:new Tuple(),\n finish:new Tuple(),\n restart:new Tuple()\n }\n },\n create(dir, fn, obj){\n this[dir].add({\n fn,\n ...obj\n });\n }\n },\n posix:[],\n GeneticProvider:undefined,\n vNodeClass:undefined,\n factoryCompiler:pass,\n LifeCycleHooks:{\n init_hook:new Tuple(),\n created_hook:new Tuple(),\n mounted_hook:new Tuple(),\n updated_hook:new Tuple(),\n destroyed_hook:new Tuple()\n },\n patchFlags:{\n subscriptions:new Tuple(),\n PropFlags:new Tuple(),\n shapeProps:{}\n },\n dexTransform:{\n sourcesArray:[],\n syntaxArray:[]\n },\n SSRVnode:undefined\n }\n VN_Tree={\n KEYS_INDEXES:new Tuple(),\n LEAGUE_TREE:{},\n FLUSHS:new Tuple(),\n ELEMENTS:undefined\n }\n hx_build=undefined\n is_hyperscript=false\n IS_RENDERLESS=false\n LabContext=undefined\n mounted=false\n isLoopWrappRenderer=false\n NodeList=new Tuple()\n PATCH_FLAGS=new Tuple()\n }\n function isTagMatch(open, close){//match syntax for a $$for opening and closing tags\n let res=false;\n const tags=[['[',']'],['{','}'],['(',')'],['<','>']];\n for(const items of tags.values()){\n if(items.includes(open) || items.includes(close)){\n if(open === items[0] && close === items[1] || open === items[1] && close === items[0]) {\n return true;\n }\n }\n }\n return res;\n }\n function tagMachErr(self, metrics){\n let [ op, cl, p1 ] = metrics;\n if(!isTagMatch(op, cl) ) {\n debugHandler(`[ ] Unmaching tags for \"for\" directive loop data keys mapping\\n opening tag does not match a closing tag\\n\\n found ${p1} Unmaching`, self, true);\n return false;\n }\n return true;\n }\n const WrappedDestructuredRegex=/(((\\(|\\<)?(((\\{|\\[)(.*?[ ]*)*?(\\}|\\]))|([\\w.\\$]+))[ ]*(\\,[ ]*(.*?))?(\\)|\\>)?)[ ]+([of|in]+)[ ]+)?([\\w.\\$\\[\\]\\(\\) \\S\\{\\}]+)/;\n function get_Loop_Data(self, str, isBlock=false){\n const Loop_Data={};\n const match=str.match(WrappedDestructuredRegex);\n if(!match || !match[14]){\n debugHandler(`[ ] Usupported Loop format in 'for' ${isBlock ? 'block' : 'directive'}\\n\\n\"${str}\" loop syntax is invalid or is not recognised`, self, true);\n return;\n }\n const [matc, ig1, each, opening, value, isDestructure, ig2, ig3, ig4, isValueName, afterValue, key_index, closing, loopType, resource ] = match\n if(opening && !tagMachErr(self, [opening, closing, ''])){\n return;\n }\n if(!resource){\n debugHandler(`[ ] unable to alocate loop resource in loof 'for'`, self, true);\n return;\n }\n assign(Loop_Data, {\n obj:resource,\n value,\n type:loopType\n });\n if(opening && key_index){\n const [ key, index ] = key_index.split(',').map(v=>v.trim());\n Loop_Data.key = key;\n Loop_Data.index=index;\n }\n return Loop_Data\n }\n function For_Loop(self, attr, hx_Element, isBlock=false, config, isRerender){\n const data=get_Loop_Data(self, attr, isBlock, isRerender);\n if(!data) {\n return ;\n }\n let effect, dataObject;\n try{\n effect=isRerender ? config.effect : _createHouxitEffectFrame(()=>{\n return unwrap(_$runModelBind(self, data.obj, hx_Element));\n }, self);\n dataObject=(isRerender ? effect.runEffect() : effectRunner(effect)).value;\n }catch(error){\n debugHandler(`[ ] Trouble accessing '${data.obj}' object for for loop\\n\\nnot found on instance or is undefined\\n\\n${error}`, self, true);\n return;\n }\n if(!isIterable(dataObject) && !isNumber(dataObject)){\n debugHandler(`[ ] Undefined scope for for, \\n\\n${data.obj} not iterable`, self, true);\n return ;\n }\n const Valid_LoopType=\"of,in\";\n if(data.type && !_makeMap_(Valid_LoopType, data.type)){\n debugHandler(`[(Iteration issue)]\\n\\n\"${data.type}\" is not an iterator\\n \"of\" or \"in\" only supported by Houxit`, self, true);\n return;\n }\n return { \n effect,\n obj:dataObject, \n keyName:data.key?.trim(), \n valToken:data.value?.trim(), \n loopType:data.type?.trim(), \n token:data.obj, \n index:data.index?.trim()\n }\n }\n function NormalizeDirGarbage(props){\n let has_conditional=false, has_loop=false, dataRecord={}, index=0;\n for(const [key, val] of entries(props)){\n if(!has_conditional) {\n has_conditional=isIfKey(key) || isElseKey(key) || isElseIfKey(key) ;\n }\n if(isIfKey(key)) {\n assign(dataRecord, {\n ifIndex:index,\n hasIf:true,\n getIf:val,\n ifKey:key\n });\n }\n if(isElseKey(key)) {\n assign(dataRecord, {\n elseIndex:index,\n hasElse:true,\n getElse:val,\n elseKey:key\n });\n }\n if(isElseIfKey(key)) {\n assign(dataRecord, {\n elseIfIndex:index,\n getElseIf:val,\n hasElseIf:true,\n elseIfKey:key\n });\n }\n if(isForKey(key)) {\n has_loop=true;\n assign(dataRecord, {\n forIndex:index,\n hasFor:true,\n getFor:val,\n forKey:key\n });\n }\n index++;\n }\n assign(dataRecord, {\n hasIFWithFor:has_conditional && has_loop,\n has_conditional\n });\n return dataRecord;\n }\n const isRenderlessElement=vnode=> isHouxitElement(vnode) && isTrue(vnode.IS_RENDERLESS);\n function hasMultiConditionals(hasIf, hasElseIf, hasElse){\n let count = 0;\n for (let value of [ ...arguments ].values()){\n if(value) {\n count++;\n }\n }\n return count;\n }\n function _$Conditional_Dir_Resolver(self, vnode, hx_Element, siblings, ctx, recordPatch, config){\n const [ hasIf, hasElseIf , hasElse ] = recordPatch[3];\n const condCount=hasMultiConditionals(hasIf, hasElse, hasElseIf);\n if(condCount > 1){\n debugHandler(`[(directive)].....Overloaded Conditional directive found on element instance\\n\\n\n \"${hasIf ? \"$$if\" : hasElseIf ? \"$$else-if\" : \"$$else\" }\"\\nfailed to determine>>>>`, self, true);\n return ;\n }\n const isRerender=self[$$$operands].initializedRender;\n const GIC=new _$Directive_$Conditional$_Renderer(self, vnode, hx_Element, siblings, recordPatch, ctx, config);\n const createElement=(index)=> {\n if(hasIf){\n return GIC.Panel_If_Block();\n }else if(hasElseIf || hasElse){\n return GIC.Panel_elseif_Block(hasElse, index);\n }\n }\n const render=createElement({\n i:len(siblings)\n });\n if(!isRerender){\n render.compiler_options.createElement=createElement;\n }\n return render;\n }\n const isConditionalVnode=(vnode, cond, {suspenseFlag})=> {\n return (isHouxitElement(vnode) || (suspenseFlag && isVNodeClass(vnode))) ? vnode.conditional_record.src === cond : false;\n }\n function isMemoElement(elem){\n return isHouxitWidgetElement(elem) && isPObject(elem.VNodeManager.isMemoChild);\n }\n class _$Directive_$Conditional$_Renderer{\n options=undefined;\n constructor(self, vnode, hx_Element, siblings, recordPatch, ctx, config){\n let { type, props, children, key } = vnode;\n const [ hasEx , propValue , srcKey ]=recordPatch;\n const LabContext=hx_Element ? assign({}, hx_Element.LabContext) : {};\n ctx=assign(assign({}, ctx), LabContext);\n assign(this, {\n propValue, \n srcKey, \n self,\n props:memMove(vnode.props, true),\n vnode,\n hx_Element,\n siblings,\n ctx,\n config,\n effect:undefined,\n isRerender:self[$$$operands].initializedRender,\n createElement:()=>{\n return createHouxitElement(this.vnode, self, false, hx_Element?.LabContext, siblings, ctx, hx_Element, config);\n },\n rf:[]\n });\n this.vnode.props=assign({}, this.vnode.props);\n };\n Panel_If_Block(typeF='if', previous, index){\n const { config, self, propValue, hx_Element, vnode, siblings, srcKey, ctx, isRerender } = this ;\n const isElseIf=typeF === 'else-if', isElse = typeF === 'else';\n let passed=!previous ? false : previous.conditional_record.passed, node;\n const previousTypeF=previous?.conditional_record.src || typeF;\n const effect= this.effect ?? _createHouxitEffectFrame(()=>{\n return isElse ? true : _$runModelBind(self, propValue, ctx);\n }, self);\n this.effect ? effect.runEffect() : effectRunner(effect);\n //add conditional_record.effect in a \n let data=effect.value;\n delete this.vnode.props[srcKey];\n if(passed || !data){\n node=$IfElseDirRenderLess(data, typeF, previous);\n }\n if((data && !passed ) && config.suspenseFlag){\n node=this.vnode;\n node.conditional_record={};\n }else if(data && !passed){\n node=this.createElement();\n assign(node.conditional_record, {\n src:typeF,\n res:data ? true : false,\n passed:!passed && data\n });\n }\n hx_Element?.NodeList.add(node);\n if(!this.effect && !isRerender){\n this.effect=effect;\n if(previous){\n previous.conditional_record.effect.follow(effect);\n effect.reducer=previous.conditional_record.effect;\n }\n node.conditional_record.effect=effect;\n const flush=createPriorityFlush(effect, (observer)=>{\n const c_ind=siblings.indexOf(node);\n const EffectVNode=node.compiler_options.createElement({\n i:c_ind\n });\n EffectVNode.compiler_options.createElement=node.compiler_options.createElement;\n if(config.memoVault && !checkMemoContentValidity(self, EffectVNode)){\n return;\n }\n let exch=renderVnodeDiffSequence(self, node, EffectVNode, observer, hx_Element || self.$build, {\n args:[ {\n i:c_ind\n }],\n config:{\n FORCE:typeF !== previousTypeF,\n ...config\n }\n });\n assign(node.conditional_record, EffectVNode.conditional_record);\n if(exch){\n exch.compiler_options.createElement=EffectVNode.compiler_options.createElement;\n node=exch;\n assign(exch.conditional_record, EffectVNode.conditional_record);\n siblings.splice(c_ind, 1, node);\n \n }\n }, self);\n }\n return node;\n } \n Panel_elseif_Block(isElse=false, index){\n const block=isElse ? 'else' : 'else-if' ;\n const { config, self, propValue, hx_Element, siblings, vnode, srcKey, ctx } = this;\n const isRerender=self[$$$operands].initializedRender;\n let previous=siblings[index.i - 1];\n let passed, node;\n if(previous) {\n passed=previous.conditional_record.passed;\n }\n delete vnode.props[srcKey];\n if(!isRerender && !previous || (!isConditionalVnode(previous, 'if', config) && !isConditionalVnode(previous, 'else-if', config))){\n debugHandler(`[ ] The \"$$${block}\" conditional rendering directive block expects a preceding \"$$if\" or \"$$else-if\" directive element\\n\\nMay return unexpected result during production\\nDid you mean \"$$if\" directive instead?\\n at>>>>>`, self, true);\n node=$IfElseDirRenderLess( false, block, previous ); //this.createElement();\n node.compiler_options.createElement=this.createElement;\n return node;\n }\n return this.Panel_If_Block(block, previous, index);\n }\n }\n function $IfElseDirRenderLess( data, block, previous){\n return createRenderlessElement((hx_Element)=>{\n assign(hx_Element.conditional_record, {\n src:block,\n res:data ? true : false,\n passed: previous ? (previous.conditional_record.passed) : false\n });\n });\n }\n function has_Intersect_Prop(obj1, obj2 ){\n let res=false;\n for(const [key, value] of entries(obj1)){\n if(isArray(obj1)) {\n res=_makeMap_(obj2, value);\n }else if(isPObject(obj1)) {\n res=_makeMap_(obj2, key);\n }\n if(isTrue(res)) {\n break;\n }\n }\n return res;\n }\n function destructWarn(ref, object, self){\n if(ref && objectDestructureRegex.test(ref) && !isObject(object)){\n debugHandler(`[ ] Invalid object destructuring from a none object value\\n\\nillegal destructuring found at \"${object}\" on \"$$<...>\" directive definition\\nTarget value is not an object`, self, true);\n return false;\n }else if(ref && arrayDestructureRegex.test(ref) && !isArray(object)){\n debugHandler(`[ ] Invalid array destructuring from a none array value\\n\\nillegal destructuring found at \"${object}\" on $$*** directive definition\\nTarget value is not an array iterable`, self, true);\n return false;\n }\n return true;\n }\n function _$Directive_$For_Loop$_Renderer(self, vNode, hx_Element, siblings, ctx, renderPatch, saveGarbageContent, config){\n vNode=memMove(vNode, true);\n const [ check, propValue , srcKey ] = renderPatch;\n const isRerender=self[$$$operands].initializedRender;\n const isER=isEffRerender(self);\n const Instance= isER ? config.For_Loop_Instance : For_Loop(self, propValue, hx_Element, false, config, isRerender) || {};\n if(!isER){\n config.For_Loop_Instance=Instance;\n }else{\n Instance.obj=Instance.effect.runEffect().value;\n }\n let { obj, keyName, valToken, loopType, ref, index, effect }= Instance;\n if(!isRerender){\n config.effect=effect;\n }\n vNode.props=assign({}, vNode.props);\n delete vNode.props[srcKey];\n if(!isER && loopType === 'in' && valToken && ( validateType(obj, [ Object, Collections]))){\n $warn(`((Warning))\\n\\nWe recommend against the use of the 'for...in' loops type since it iterates over all of the object's enumerable and non-symbol properties \\n\\nLeaving the value data as \"undefined\"\\nUse \"for...of\" instead......`, self);\n $warn(`Many JavaScript style guides and linters recommend against the use of 'for...in', because it iterates over the entire prototype chain which is rarely what one wants, and may be a confusion with the more widely-used \"for...of\" loop\\n\\nIt's included in Houxit for completeness.`, self);\n }\n const NodeList=[];\n iterate(obj, loopType).each(function(value, key, indexV){\n const vNodeClass=memMove(vNode, true);\n ctx=assign({}, ctx);\n if(!destructWarn(valToken, value, self)) {\n return;\n }\n if(isNumber(obj)){\n if(valToken) {\n ctx[valToken]=value+1;\n }\n if(keyName) {\n ctx[keyName]=valToken ? value : value+1;\n }\n if(index) {\n ctx[index]=index;\n }\n renderForConditional(self, vNodeClass, ctx, NodeList, key, value, hx_Element, saveGarbageContent, siblings, config);\n }else{\n const fallprops={};\n if(valToken) {\n fallprops.valToken=valToken;\n }\n if(keyName) {\n fallprops.keyName=keyName;\n }\n if(index) {\n fallprops.index=index;\n }\n ctx=loopContextPropsMerger(self, {\n valToken, \n keyName,\n index,\n hx_Element\n }, { \n ky:key, \n vl:value,\n count:indexV\n }, ctx);\n renderForConditional(self, vNodeClass, ctx, NodeList, indexV, value, hx_Element, saveGarbageContent, siblings, config);\n }\n });\n const lastElement=NodeList[len(NodeList)-1];\n const wrapper= new HouxitFragmentElement(NodeList, self, hx_Element);\n if(lastElement) {\n assign(wrapper.conditional_record, lastElement.conditional_record);\n }\n wrapper.isLoopWrappRenderer=true;\n if(isHouxitElement(hx_Element)) {\n hx_Element.NodeList.add(wrapper);\n }\n if(!isRerender){\n const flush=createPriorityFlush(effect, ()=>{\n prioritize_list_effect(self, wrapper, vNode, obj, effect, config);\n });\n wrapper.VN_Tree.FLUSHS.add(flush);\n }\n return wrapper;\n }\n function loopContextPropsMerger(self, Loop_Data, it_Data, ctx){\n const { valToken, keyName, index, hx_Element} = Loop_Data;\n const { ky, vl, count } = it_Data;\n if(valToken && isDestructureSyntax(valToken)){\n if(!(destructWarn(valToken, vl, self))) {\n return ctx;\n }\n ctx=smartDextCtxMerging(ctx, {\n [$$dexTransformKey]:{\n sourcesArray:[ vl ],\n syntaxArray:[ valToken ]\n }\n });\n }else if(valToken) {\n ctx[valToken]=vl;\n }\n if(keyName) {\n ctx[keyName]=valToken ? ky : vl;\n }\n if(index) {\n ctx[index]=count;\n }\n return assign({}, ctx);\n }\n function renderForConditional(self, vnode, ctx, NodeList, count, vl, hx_Element, saveGarbageContent, siblings, config){\n if(hx_Element?.LabContext) {\n ctx=smartDextCtxMerging(hx_Element.LabContext, ctx || {});\n }\n const { has_conditional } = saveGarbageContent;\n const createElement=()=>createHouxitElement(vnode, self, false, ctx, has_conditional && count === 0 ? siblings : NodeList, null, hx_Element, config);\n const loopNode=createElement();\n loopNode.compiler_options.createElement=createElement;\n if(loopNode) {\n NodeList.push(loopNode);\n }\n }\n function keyIndex(obj, key){\n return isObject(obj) ? keys(obj).indexOf(key) : validateType(obj, [Array, Set, Number]) ? Number(key) : isMap(obj) ? obj.keys().indexOf(key) : NaN;\n }\n function HX_ELEMENT_MANAGER(self, vnode, element, hx_Element, siblings, saveGarbageContent, ctx, config){\n const is_hyperscript=vnode.is_hyperscript;\n const { type, props, children }=vnode;\n const { hasIFWithFor , ifIndex , elseIndex, elseIfIndex, forIndex}=saveGarbageContent\n const {getIf, hasIf, hasElse, getElse, hasElseIf, getElseIf, hasFor, getFor } = saveGarbageContent;\n const { ifKey, elseKey, elseIfKey, forKey } = saveGarbageContent;\n const getValue=hasIf ? getIf : hasElse ? getElse : hasElseIf ? getElseIf : hasFor ? getFor : null ;\n const getEx=hasIf || hasElse || hasElseIf;\n const getKey= hasIf ? ifKey : hasElse ? elseKey : hasElseIf ? elseIfKey : hasFor ? forKey : null ;\n const conditionalArgs= [getEx, getValue, getKey, [ hasIf, hasElseIf, hasElse ]];\n if(hasElse && hasFor && elseIndex > forIndex){\n debugHandler(`[ ] A \"$$for\" directive loop cannot take precedence in the presence of an \"$$else\" condition directive statements\\n\\ndirective scoping error`, self, true);\n return;\n }\n vnode =memMove(vnode, true);\n vnode.filesFilter.hasDir=true;\n if((hasIFWithFor && (hasIf ? ifIndex : hasElse ? elseIndex : hasElseIf ? elseIfIndex : -1 ) < forIndex) ) {\n return _$Conditional_Dir_Resolver(self, vnode, hx_Element, siblings, ctx, conditionalArgs, config );\n }else if(hasFor) {\n return _$Directive_$For_Loop$_Renderer(self, vnode, hx_Element, siblings, ctx, [getEx, getFor, forKey ], saveGarbageContent, config );\n }else if(getEx) {\n return _$Conditional_Dir_Resolver(self, vnode, hx_Element, siblings, ctx, conditionalArgs, config);\n }\n return createHouxitElement(vnode, self, is_hyperscript, ctx, siblings, null, hx_Element, config);\n }\n function callSetHooks(self, hooks, element, bindObj={}, hx_Element, Name=\"\" ){\n return (function Callback(){\n for(let hook of hooks.values()){\n if(isPass(hook)) {\n continue\n }\n try{\n const bindings = hook[lifeCiycleBinding];\n const instance=isHouxitNativeElement(hx_Element) ? element : self.__public_model__;\n hook.call(self.__public_model__, instance, bindings );\n }catch(err){\n debugHandler(\"$$\"+hook.name+\"(\"+Name.slice(0, -5)+\") >>\\nUnresolved problem during the call of the \"+Name.slice(0, -5) +\" hook of custom \"+(hook.dirName||\"\")+\" directive\\n\", self, true);\n debugHandler(err, self);\n break;\n }\n }\n })();\n }\n function HouxitElementLifeCircleHooks(self, element, hx_Element){\n const args=(hookN)=> [ self, hx_Element.VNodeManager.LifeCycleHooks[hookN], element, self.__public_model__, hx_Element, hookN ];\n if(len(hx_Element.VNodeManager.LifeCycleHooks.created_hook)){ \n callSetHooks( ...args('created_hook') );\n }\n if(len(hx_Element.VNodeManager.LifeCycleHooks.mounted_hook)){\n self[$$$compiler].whenMountedHooks.add(function(){\n whenMounted(self, element, ()=>{\n callSetHooks( ...args('mounted_hook') );\n });\n });\n }\n iterate([\"updated_hook\", \"destroyed_hook\"]).each((hookName)=>{\n if(len(hx_Element.VNodeManager.LifeCycleHooks[hookName])){\n $assignToHookFN( ...args(hookName) );\n }\n });\n return element;\n }\n function $assignToHookFN(self, hookSet, element, model, hx_Element, hookN){\n hx_Element[hookN]=function hook(){\n callSetHooks(self, hookSet, element, self.__public_model__, hx_Element, hookN);\n }\n }\n const frameDirectives=\"$$for,$$if,$$else-if,$$else\";\n function built_in_fragment_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n installSuspense(vnode.children, getBoundary(vnode));\n const fragmented_elements=vnode.children ? _HouxitCoreRenderer(vnode.children, self, null, hx_Element, ctx, config) : [];\n const fragment=new HouxitFragmentElement(fragmented_elements, self, hx_Element, vnode.props?.key);\n fragment._vnode_key=vnode.key;\n return fragment;\n }\n function debug_self_prop_warn(props, self, args){\n const [ WidgetName, propName, type ] = args;\n if(!props || !hasOwn(props, propName)){\n debugHandler(`[ ] \"${WidgetName}\" built-in widget expects a \"${propName}\" params\\nMissing...`, self, true);\n return false;\n }\n if(type && !validateType(props[propName], type)){\n debugHandler(`[ ] \"${WidgetName}\" validation for the \"${propName}\" param is invalid`, self, true);\n return false;\n }\n return true;\n }\n function built_in_self_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n if(isSelfRecursiveWidget(self)) {\n return createRenderlessElement();\n }\n const prototype_=self[$$$core].virtualNode.prototype_;\n vnode=h(prototype_, memMove(vnode.props), memMove(vnode.children || []));\n vnode[factoryHXSelfInstance]=true;\n const ELEMENT= createHouxitElement(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config);\n return ELEMENT;\n }\n function getBuildSelf(self, value){\n if(isString(value)){\n if(IS_VALID_TAGNAME(value) || isCustomElementTagname(value)){\n return value;\n }else if(instance_Has_Widget(self, value)){\n return normalize_Widget(self, value);\n }else{\n debug_unrecognized_tagname(value, self);\n return;\n }\n }else if(validHouxitWidget(value)){\n return value;\n }\n debugHandler(`[ ] <Bulld/>.self property value failed to compile\\nunrecognized data type`, self, true);\n return;\n }\n function built_in_build_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n if(!debug_self_prop_warn(vnode.props, self, [\"hx:build\", 'self' ])){ \n return createRenderlessElement();\n }\n let props = vnode.props;\n const isRerender=self[$$$operands].initializedRender;\n props=memMove(props, true);\n const effect=vnode.compiler[Build]?.self || {};\n let prototype_=getBuildSelf(self, props.self);\n delete props.self;\n props=dynamicPropRemover(vnode.rawProps, 'self');\n props.key = vnode.key;\n const createElement=()=>{\n if(!prototype_){\n return createRenderlessElement();\n }\n vnode=h(prototype_, props, memMove(vnode.children || [], is_hyperscript));\n return createHouxitElement(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config);\n }\n let ELEMENT= createElement();\n ELEMENT.compiler_options.createElement=createElement;\n if(!isRerender){\n const flush=createPriorityFlush(effect, (obs)=>{\n prototype_=getBuildSelf(self, effect.runEffect().value);\n const EffectVNode=createElement();\n EffectVNode.compiler_options.createElement=createElement;\n let exch=renderVnodeDiffSequence(self, ELEMENT, EffectVNode, obs, isHouxitElement(hx_Element) ? hx_Element : null, {\n config\n });\n if(exch){\n ELEMENT=exch;\n }\n });\n }\n return ELEMENT;\n }\n function createPortalEntryDisplay(self, props){\n const target=unToken(props.target);\n const portalElement=target ? _GenerateRoot(target) : undefined;\n if(!portalElement || !IS_ELEMENT_NODE(portalElement)){\n debugHandler(`[ ] Unable to generate portal element\\n\\n\n Target not existing in the current document model layer\\n\\n\n Mount target for Portal widget is not a valid element node`, self, true);\n return;\n }\n return portalElement;\n }\n function built_in_portal_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n if(!debug_self_prop_warn(vnode.props, self, [\"hx:portal\", 'target'])) {\n return createRenderlessElement();\n }\n const portal=createPortalEntryDisplay(self, vnode.props);\n if(!portal) {\n return createRenderlessElement();\n }\n installSuspense(vnode.children, getBoundary(vnode));\n const portalContent=vnode.children ? _HouxitCoreRenderer(vnode.children, self, null, hx_Element, ctx, config) : [];\n const wrapper=new HouxitFragmentElement(portalContent, self, hx_Element, vnode.key);\n portal.append(wrapper.$element);\n wrapper.$element=_createFragment();\n wrapper._vnode_key=vnode.key;\n return wrapper;\n }\n function unwrapFragment(render){\n if(isHouxitFragmentElement(render)){\n return render.NodeList.list();\n }\n return isCollection(render) ? arrSet(render) : [ render ];\n }\n function getMCC(self, render, effect_stabilizer, config){\n let count=new Tuple();\n let buggy=false;\n for(let r of render.values()){\n const res=checkMemoContentValidity(self, r, effect_stabilizer, config);\n if(isHouxitWidgetElement(res)){\n count.add(res);\n }else if(!res){\n buggy=true;\n }\n }\n return [count, buggy];\n }\n function checkMemoContentValidity(self, render, effect_stabilizer, config){\n const renderless=createRenderlessElement();\n if(!render){\n return renderless;\n }\n const conf=config || {\n count:0,\n }\n render=unwrapFragment(render);\n let element;\n if(len(render) && (len(render) > 1 || !isHouxitWidgetElement(render[0]))){\n if(len(render) > 1){\n const [ count, buggy ]=getMCC(self, render, effect_stabilizer, conf);\n if(buggy){\n return;\n }\n element=count.at(0);\n }else{\n if(isHouxitFragmentElement(render[0])){\n return checkMemoContentValidity(self, render[0], effect_stabilizer, conf);\n }else if(isRenderlessElement(render[0])){\n return renderless;\n }\n debugHandler(`[ ] \"<Memo>\" expects atleast a single child widget instance\\n\\n<Memo> validation failed...\\nNot a widget Instance`, self, true );\n debugHandler(`[ ] <Memo> expects a widget element instance...not a regular HTML element or unidentified DOM/Custom Wrapper`);\n return;\n }\n }else if(!len(render)){\n return renderless;\n }else if(len(render) && isHouxitWidgetElement(render[0])){\n conf.count++;\n return render[0];\n }\n if(!config){\n if(conf.count > 1){\n debugHandler(`[ ] [<Memo> Child Error] <Memo> child widget may have supassed the number of expected <Memo> container\\n\\n1 at most expected >>> ${conf.count} <<< found `, self, true);\n return;\n }\n }\n return isHouxitWidgetElement(element) ? element : renderless;\n }\n function built_in_memo_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n const isRerender=self[$$$operands].initializedRender;\n is_hyperscript=self[$$$core].map.is_hyperscript;\n const children=vnode.children;\n let { max, test }=vnode.props;\n max = Number(max);\n if(max && (max < 1 || isNaN(max))){\n debugHandler(`[ ] Failed validation of <Memo>.max param\\n\"${max}\" ${isNaN(max) ? 'is not a number' : 'is less than 1'}`, self, true);\n max=Infinity;\n }else if(!max){\n max=Infinity;\n }\n if(test && !isPFunction(test)){\n debugHandler(`[ ] <Memo>.test prop expects a plain function returning Boolean\\nINVALID <TEST> PROPERTY VALUE`, self);\n }\n const vault={\n storage:new Map(),\n keys:new Tuple(),\n caches:[],\n stableID:undefined,\n stabilityChecker(){\n return checkMemoContentValidity(self, this.Wrapper, true);\n },\n Wrapper:undefined,\n max,\n test\n }\n config.memoVault=vault;\n const render=_HouxitCoreRenderer(children, self, null, hx_Element, ssc, config);\n const res=checkMemoContentValidity(self, render);\n if(!res){\n return createRenderlessElement();\n }\n const memoVault=self[$$$compiler].memoVault;\n memoVault.add(vault);\n const index=memoVault.indexOf(vault);\n res.VNodeManager.isMemoChild={\n index,\n vault,\n }\n const Element= new HouxitFragmentElement(arrayInverter(render), self);\n Element.VN_Tree.FLUSHS.add(()=> memoVault.delete(vault));\n vault.Wrapper=Element;\n return Element;\n }\n function wrapSlotsContentDrives(self, nodeDriver, rnd, _SlotName, suspense){\n for(let element of rnd.values()){\n let name=element.slot_name;\n if(name && !_SlotName.has(name)){\n continue;\n }else if(!name) {\n if(isHouxitFragmentElement(element) && !isRenderlessElement(element) && !isSuspenseElement(element)){\n wrapSlotsContentDrives(self, nodeDriver, element.NodeList.list(), _SlotName, suspense);\n continue;\n }\n name='default';\n }\n if(name !== 'default' && len(nodeDriver[name+'X'])){\n debugHandler(`[ ] [<Suspense> Duplicate Slot Error] \"${name}\" slot has been duplicated in <Suspense>`, self, true);\n continue;\n }\n let vNode=isHouxitTextElement(element) ? element.$element : element.VNodeManager.vNodeClass;\n if(isVNodeClass(vNode)) {\n if(vNode.props) {\n const { hasDir, getKey }=dirExistenceCheck(vNode.props, \"$$slot\");\n if(hasDir) delete vNode.props[getKey];\n }\n installSuspense(vNode, suspense);\n }\n nodeDriver[name+'X'].add(vNode);\n }\n }\n function normalizeEarlySlotsCompile(self, vNode, hx_Element, metrics, slotNames=[], suspense, config){\n const _SlotName=new Set(slotNames)\n if(_SlotName.has('default')){\n slotNames.push('default');\n }\n const isRerender=self[$$$operands].initializedRender;\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n let UnStableNodeList=[];\n const nodeDriver={}\n slotNames.forEach(n=>nodeDriver[n+'X']=new Tuple);\n if(is_hyperscript){\n for(const node of vNode.children.values()){\n if(isSlotInstance(node)){\n for( let [name, value ] of entries(node.slots)){\n if(!_SlotName.has(name)) continue;\n if( name !== 'default' && len(nodeDriver[name+'X'])){\n debugHandler('\"'+name+'\" slot already defined...\\nduplicated slot for '+'\"'+name+'\" not allowed!!!', self, true);\n continue;\n }\n nodeDriver[name+'X'].add(value);\n };\n }else if(isChildrenNode(node)){\n installSuspense(node, suspense);\n nodeDriver.defaultX.add(node);\n }\n }\n return nodeDriver;\n }\n const preRenderState=self[$$$operands].initializedRender;\n self[$$$operands].initializedRender=true;\n config.suspenseFlag=true;\n let rnd= arrayInverter(_HouxitCoreRenderer(vNode.children, self, null, hx_Element, metrics[2], config));\n wrapSlotsContentDrives(self, nodeDriver, rnd, _SlotName, suspense);\n delete config.suspenseFlag;\n self[$$$operands].initializedRender=preRenderState;\n return nodeDriver;\n }\n function createSuspenseFallback(self, suspense, [fallbackX, errorX], vnode, ssc, hx_Element, config){\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n const isRerender=self[$$$core].initializedRender;\n if(len(fallbackX) || len(errorX)){\n const createFallBack=(nodeList, name, errMsg)=>{\n const toggler=isRerender ? pass : smart_render_toggler(self);\n if(is_hyperscript){\n iterate(nodeList).each((node, key)=>{\n const arg=[];\n if(name === 'error'){\n arg.push(errMsg);\n }\n const nodeT=isFunction(node) ? node?.(...arg) : node;\n installSuspense(nodeT, suspense);\n nodeList.splice(key, 1, nodeT);\n });\n }else{\n if(name==='error'){\n ssc=wrapNamespaceBind(self, ssc, nodeList.at(0)?.filesFilter.bindings?.value || 'error', memMove(errMsg));\n }\n }\n let tree=suspense[name+'Element'];\n tree = tree || _HouxitCoreRenderer(nodeList, self, null, hx_Element, ssc, config);\n tree= isHouxitFragmentElement(tree) ? tree : new HouxitFragmentElement(arrayInverter(tree), self, hx_Element );\n toggler();\n suspense[name+'Element']=tree;\n return tree;\n }\n return [ \n len(fallbackX) ? ()=>createFallBack(fallbackX, 'fallback') : null, \n len(errorX) ? (err)=>createFallBack(errorX, 'error', err) : null ];\n }\n return [];\n }\n function installSuspense(list=[], suspense){\n if(!suspense){\n return;\n }\n list=arrayInverter(list);\n for(let node of list.values()){\n if(isVNodeClass(node)){\n node.filesFilter.suspense=suspense;\n }else if(isHouxitElement(node)){\n node.VNodeManager.suspense=suspense;\n }\n };\n }\n function handleSuspenseHooks(self, suspense, vnode, isRerender){\n const hooks=vnode.filesFilter.$$$Events || {};\n const obj={};\n iterate(['pending', 'resolved', 'failed']).each(name=>{\n obj['on'+name.at(0).toUpperCase()+name.slice(1)]=function(err){\n if(isRerender){\n return;\n }\n hooks[name]?.callbacks.list().forEach(fn=>fn(err));\n }\n })\n return obj;\n }\n function built_in_suspense_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n if(config.suspenseFlag){\n const Element=createRenderlessElement();\n Element.VNodeManager.vNodeClass=vnode;\n runSlotDirectiveCompile(self, config, vnode.props, vnode, Element, {\n is_hyperscript\n }, true);\n return Element;\n }\n const isRerender=self[$$$operands].initializedRender;\n is_hyperscript=self[$$$core].map.is_hyperscript;\n let suspense=new SuspenseBoundary(self, vnode);\n const superX=getBoundary(vnode);\n if(superX){\n suspense.super=superX;\n superX.metrics.priorities.add(suspense);\n }\n const parent=vnode.filesFilter.parent;\n suspense.hx_Element=isHouxitBuild(parent) ? parent.$build : parent;\n let { timeout, delay } = vnode.props || {};\n let awaitP=vnode.await;\n iterate({\n timeout,\n delay,\n }).each((value, key)=>{\n if(!hasOwn(vnode.props||{}, key) ){\n return iterate.Continue();\n }\n if(isNaN(Number(value))){\n debugHandler(`[ ] <Suspense> validation for \"${key}\" prop failed\\n expects a Number value type`, self, true);\n return iterate.Continue();\n }else if(value < 0){\n debugHandler(`[ ] <Suspense>.[${key}] prop receives a negative value...`, self, true);\n return iterate.Continue();\n }\n suspense[key]=value;\n });\n let awaitCallback;\n if(hasOwn(vnode.props||{}, 'await') ){\n if(!isAsyncFunction(awaitP) && !isPromise(awaitP)){\n let throwE=true;\n if(isPFunction(awaitP)){\n awaitCallback=awaitP();\n if(isPromise(awaitCallback)){\n throwE=false\n }\n }\n if(throwE){\n debugHandler(`[ ] \"await\" <Suspense> prop expects an \"async Function\" , a \"Promise object\" or a callback that returns a \"Promise object\" object`, self, true);\n }\n }else{\n awaitCallback = isAsyncFunction(awaitP) ? awaitP() : awaitP;\n }\n }\n const metrics=[ siblings, ctx, ssc ];\n const { defaultX, fallbackX, errorX, } = normalizeEarlySlotsCompile(self, vnode, hx_Element, metrics, ['default', 'fallback', 'error'], suspense, config);\n if(!isInfinity(suspense.timeout)){\n setTimeout(()=>{\n if(!suspense.state.resolved && !suspense.state.failed){\n suspense.errorCaptured(pass, {\n message:`[Suspense Tmeout] <Suspense> render wait timed out.`\n }, isRerender ? fallback : null);\n suspense.state.failed=true;\n }\n }, suspense.timeout);\n }\n suspense.promise= isPromise(awaitCallback) ? awaitCallback : Promise.resolve();\n const { onPending, onResolved, onFailed } = handleSuspenseHooks(self, suspense, vnode, isRerender);\n if(isPromise(awaitCallback)){\n suspense.activeAwaits++;\n }\n const [ fallback, error ]=createSuspenseFallback(self, suspense, [fallbackX, errorX], vnode, ssc, hx_Element, config);\n assign(suspense.drivers, {\n fallback,\n error\n });\n suspense.switchFallback=()=>{\n if(suspense.state.pending){\n const fallbackEl=safeCall(fallback)\n if(fallbackEl) HydrateSuspenseRender(self, suspense, fallbackEl, isRerender, config);\n }\n }\n suspense.triggerFailure=function(cb=pass, err, fb){\n const errorEl=isFunction(fb) ? fb() : error?.(err);\n if(errorEl) HydrateSuspenseRender(self, suspense, errorEl, isRerender, config);\n if(fb){\n return;\n }\n safeCall(cb);\n debugHandler(err?.message);\n onFailed(err);\n }\n suspense.triggerResolved=()=>{\n for(let sus of suspense.metrics.priorities.values()){\n const superY=sus.super;\n if(!superY){\n return iterate.Return();\n }\n sus.switchFallback();\n };\n onResolved()\n }\n let render;\n function createRender(){\n const renderX=_HouxitCoreRenderer(defaultX.list(), self, null, hx_Element, ssc, config);\n return isArray(renderX) ? new HouxitFragmentElement(renderX, self) : renderX;\n }\n if(isPromise(awaitCallback)){\n suspense.state.pending=true;\n onPending();\n awaitCallback.then((response)=>{\n if(!is_hyperscript){\n const bindings=vnode.filesFilter.$$dir_PROVIDE_bindings;\n if(bindings){\n delete vnode.filesFilter.$$dir_PROVIDE_bindings;\n ssc=wrapNamespaceBind(self, ssc || {}, bindings?.value, response);\n }\n }\n suspense.activeAwaits--;\n const toggler=isRerender ? pass : smart_render_toggler(self);\n render= createRender();\n toggler();\n }).catch((err)=>{\n suspense.state.failed=true;\n suspense.errorCaptured(pass, {\n message:err.message\n });\n });\n }else{\n render=createRender();\n }\n if(suspense.state.postLoad){\n processBoundaryDriver(self, suspense, {\n isRerender,\n config,\n errorX,\n defaultX,\n fallbackX,\n render,\n is_hyperscript\n });\n }else{\n assign(suspense.state, {\n pending:false,\n resolved:true,\n });\n }\n let renderFallback;\n if(!isRerender && suspense.state.pending && suspense.delay){\n suspense.useFallback=true;\n setTimeout(()=>{\n if(fallback) {\n trackSuspenseConsistency(suspense, ()=>{\n if(suspense.state.pending && !suspense.state.failed && !suspense.state.resolved){\n HydrateSuspenseRender(self, suspense, fallback(), isRerender, config);\n }\n }, 'pending');\n }\n }, suspense.delay);\n }else if(suspense.state.pending){\n renderFallback=fallback?.();\n }\n if( (suspense.useFallback || !fallback) && suspense.state.pending){\n renderFallback= new HouxitFragmentElement([], self);\n }else if(suspense.state.resolved){\n renderFallback=new HouxitFragmentElement(render, self);\n }\n if(renderFallback){\n suspense.activeElement=renderFallback;\n renderFallback.VNodeManager[$suspenseElement]=suspense;\n renderFallback._vnode_key=vnode.key;\n }\n return renderFallback;\n }\n function trackSuspenseConsistency(suspense, action, current_state, a_p){\n let x=suspense.syncState();\n if(x==='pending'){\n if(current_state==='pending' && !suspense.super.drivers.fallback){\n action();\n }else suspense.super.disposals.add(action);\n }else if(x==='resolved' || !x){\n if(!x) action();\n else if(current_state==='failed' && !suspense.drivers.error){\n \n //consider switch the ancestorState to error\n }else if(current_state === 'pending' && !suspense.drivers.fallback){\n //consider maybe swutch ancestorState back to pending\n }else action();\n }else if(x === 'failed' && current_state==='failed' && !suspense.super.drivers.error){\n action();\n }\n }\n async function callLoadchains(suspense){\n for (const prom of suspense.loadChain.list().values()){\n await prom.then(()=>{\n suspense.loadChain.delete(prom);\n suspense.activeAwaits--;\n }).catch((err)=>{\n throw new Error(err);\n });\n }\n }\n function processBoundaryDriver(self, suspense, setup){\n suspense.state.pending=true;\n const { errorX, fallbackX, defaultX, config, isRerender, render, is_hyperscript }=setup;\n suspense.promise.then(()=>{\n (async function (){\n await callLoadchains(suspense);\n await callLoadchains(suspense);\n })().then(BoundaryProcessLoader).catch((err)=>{\n suspense.state.failed=true;\n suspense.errorCaptured(pass, {\n message:err.message\n });\n });\n function BoundaryProcessLoader(){\n if(suspense.state.failed) return;\n assign(suspense.state, {\n pending:false,\n resolved:true,\n failed:false\n });\n // suspense.triggerResolved();\n const action=()=>{\n HydrateSuspenseRender(self, suspense, render, isRerender, config);\n suspense.disposals.forEach(disposal=>disposal());\n }\n trackSuspenseConsistency(suspense, action, 'resolved');\n }\n })\n }\n function recurseParent(parent){\n if(isObject(parent) && hasOwn(parent, 'vNodeClass')){\n return recurseParent(parent.vNodeClass.filesFilter.parent);\n }else if(isHouxitBuild(parent)){\n return parent.$build\n }else if(isHouxitElement(parent)){\n return parent;\n }else if(isObject(parent) && hasOwn(parent, 'vNodeClass')){\n return recurseParent(parent.vNodeClass);\n }\n return parent\n }\n function HydrateSuspenseRender(self, suspense, element, isRerender, config){\n const { activeElement, vNode }=suspense;\n const rObj=suspense.rerenderObj;\n element._vnode_key=vNode.key;\n let parent= recurseParent(vNode.filesFilter.parent);\n parent=isHouxitBuild(parent) ? parent.$build : parent;\n const ind=parent.NodeList.indexOf(activeElement);\n if(ind >= 0){\n const key=parent.VN_Tree.KEYS_INDEXES[ind];\n parent.VN_Tree.LEAGUE_TREE[key][0]=element;\n parent.NodeList.replace(activeElement, element);\n }\n const initPosix=resolveTargetElement(activeElement);\n suspense.activeElement=element;\n initPosix.before(element.$element);\n unMountVNode(activeElement);\n element.VNodeManager[$suspenseElement]=suspense;\n }\n const BUILT_IN_TRANSITIONS={\n \n }\n const BUILT_IN_ANIMATIONS={\n \n }\n const hasMotionInstance=(self, name, mode)=>{\n const BUILT_IN_MOTION=mode === 'transitions' ? BUILT_IN_TRANSITIONS : BUILT_IN_ANIMATIONS;\n return _makeMap_(BUILT_IN_MOTION, name) || _makeMap_(self[$$$register][mode], name) || _wufHas_instance(name);\n }\n function normalize_Motion(self, name, mode){\n const BUILT_IN_MOTION=mode === 'transitions' ? BUILT_IN_TRANSITIONS : BUILT_IN_ANIMATIONS;\n return _makeMap_(BUILT_IN_MOTION, name) ? BUILT_IN_MOTION[name] : hasOwn(self[$$$register][mode], name) ? self[$$$register][mode][name] : _wufHas_instance(self, name) ? normalizeWUFBuildScope(self, name) : pass;\n }\n function generateMotion(self, { mode, value, key}){\n if(value && isString(value)){\n const mode=key==='transite' ? 'transitions' : 'animations';\n if(!hasMotionInstance(self, value, mode)){\n debugHandler(`[ ] Unrecognized ${mode} name \"${value}\"\\n\\n if this is a custom ${mode}, make sure it's registered through the local ${mode} option or global prototype '.${mode}()' method`, self, true);\n return;\n }\n return normalize_Motion(self, value, mode);\n }else if(value && !isPFunction(value)){\n debugHandler(`[ ] <Motion> \"${key}\" prop expects ${key === 'animate' ? 'an animation' : 'a transition' } function>>>>\\nValidation failed...`, self, true);\n return;\n }else if(value){\n return value;\n }\n }\n function built_in_motion_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n const isRerender=self[$$$operands].initializedRender;\n is_hyperscript=self[$$$core].map.is_hyperscript;\n config=assign({\n animate:undefined,\n transite:undefined,\n params:{},\n mode:'both',\n }, config);\n let { animate, transite, params, mode } = vnode.props || {};\n iterate({\n animate, \n transite,\n params,\n mode\n }).each((value, key)=>{\n if(!hasOwn(vnode.props||{}, key) ){\n return;\n }\n if(key === 'animate' || key === 'transite'){\n value = generateMotion(self, {\n mode, \n value,\n key\n });\n }else if(key === 'mode'){\n if(mode && !isString(value)){\n debugHandler(`[ ] <Motion> \"params\" prop requires a string value>>>\\nvalidation failed...`, self, true);\n return;\n }else if( mode && !_makeMap_('in,out,both', value)){\n debugHandler('<Motion>.mode params property receives an Invalid mode argument...\\nreceives \"'+value+'\"', self, true);\n return;\n }\n }else if(key==='params'){\n if(value && !isPObject(value)){\n debugHandler(`[ ] <Motion> \"params\" prop requires a plain object>>>\\nvalidation failed...`, self, true);\n return;\n }else if(params){\n config.params=assign(config.params, params);\n }\n return;\n }else if(!value){\n return;\n }\n config[key]=value;\n });\n let render=_HouxitCoreRenderer(arrayInverter(vnode.children), self, null, hx_Element, ssc, config);\n render = isArray(render) ? new HouxitFragmentElement(render, self) : render;\n const create=(hx_Element)=>{\n iterate(['transite', 'animate']).each((type)=>{\n if(config[type]){\n createVnodeMotion(hx_Element, config[type], mode, type, config.params);\n }\n });\n createElementMotionEffect(self, hx_Element, {\n isRerender,\n is_hyperscript\n }, hx_Element.$element);\n };\n generateDeepReach(render, create, hx_Element, [ self, null, hx_Element, ssc, config ], isRerender);\n render._vnode_key=vnode.key;\n return render;\n }\n function beforeUnMountDelay(element, callback, self){\n let hx_Element, delay=false;\n if(isHouxitNativeElement(element)){\n hx_Element=element\n }else if(isNativeElement(element)){\n hx_Element=element._hx_Element.hx_Element;\n }\n const x_hooks=hx_Element?.VNodeManager?.motion_object?.hooks;\n const outHoots=x_hooks?.transition?.out;\n if(hx_Element){\n x_hooks.animation.from=hx_Element.$element.getBoundingClientRect();\n }\n if(!hx_Element || !len(outHoots)){\n callback();\n return;\n }\n async function out(){\n for(let hk of outHoots.values()){\n await hk();\n };\n }\n async function control(){\n await out();\n await tick(()=>callback());\n }\n return control();\n }\n function generateDeepReach(render, callback=pass, parent, args, isRerender){\n if(isHouxitNativeElement(render)){\n callback(render);\n }else if(isHouxitFragmentElement(render)){\n iterate(render.VN_Tree.LEAGUE_TREE).each(([vNode, k], ind)=>{\n generateDeepReach(vNode, callback, render, args, isRerender);\n });\n }else if(isHouxitWidgetElement(render)){\n generateDeepReach(render.widget_instance?.$build, callback, render, args, isRerender);\n }else if(isHouxitTextElement(render)){\n const span=_HouxitCoreRenderer([h('span')], ...args);\n parent=isHouxitBuild(parent) ? parent.$build : parent;\n if(!isRerender && parent.$element){\n const posix=document.createComment(c_str);\n render.$element.before(posix);\n callFlushs(render);\n render.$element.remove();\n posix.after(span.$element);\n span.$element.style.display='inline-block';\n span.$element.append(render.$element);\n posix.remove();\n }\n const ind=parent.NodeList.indexOf(render);\n const key=parent.VN_Tree.KEYS_INDEXES[ind];\n parent.VN_Tree.LEAGUE_TREE[key][0]=span;\n parent.NodeList.replace(render, span);\n span.NodeList.add(render);\n span.VN_Tree.LEAGUE_TREE[key]=[render, 0];\n span.VN_Tree.KEYS_INDEXES.add(key);\n callback(span);\n render = span;\n }\n return render;\n }\n function createVnodeMotion(hx_Element, motion, mode, type, params){\n const obj=hx_Element.VNodeManager.motion_object;\n obj.create(type, motion, {\n mode,\n params,\n element:hx_Element.$element\n });\n }\n function built_in_provider_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n \n }\n function hasDuplicateKeys(arr, getDuplicates=false){\n const sett=new Set();\n const getD=[];\n let res=false;\n for(let [ k, v] of getIterator(arr)){\n if(sett.has(v)){\n if(getDuplicates){\n getD.push([v, k ]);\n res=true;\n }else{\n return [ true ];\n }\n }\n sett.add(v);\n }\n return [ res, getD ];\n }\n function obtainListKeys(obj, self){\n if(isCollection(obj) || isIterator(obj)){\n if(isIterator(obj)){\n const iterRes=[];\n for(let [ k, v ] of getIterator(obj)){\n iterRes.push(v);\n }\n obj=iterRes;\n }\n let res= arrSet(obj);\n if(isArray(obj)){\n const [ hasDup, dups ] = hasDuplicateKeys(obj, true);\n if(hasDup){\n $warn(`[Houxit Warning] Duplicate primitive values detected in list resource.\\nProvide a key for optimal granular updates.`, self, true);\n return keys(res);\n }\n return res;\n }\n return res;\n }else if(isObject(obj)){\n return(keys(obj));\n }else if(isNumber(Number(obj)) && !isNaN(Number(obj))){\n return Array.from({ \n length: Number(obj)\n }, (_, i) => i + 1);\n }\n }\n function prioritize_list_effect(self, Template, vnode, value, effect, config, observer){\n const EffectVNode=Template.compiler_options.createElement();\n if(config.memoVault && !checkMemoContentValidity(self, EffectVNode)){\n return;\n }\n patchRenderNormalizerCall(self, Template, EffectVNode, observer, config);\n }\n function built_in_for_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n if(!debug_self_prop_warn(vnode.props, self, [\"hx:for\", 'each'])){ \n return createRenderlessElement();\n }\n const { each } = vnode.props;\n const isRerender=self[$$$operands].initializedRender, NodeList = new Tuple();\n is_hyperscript=self[$$$core].map.is_hyperscript;\n const context=smartDextCtxMerging(ssc || {}, ctx || {});\n const provideBinding=vnode.filesFilter.$$dir_PROVIDE_bindings;\n const effect=vnode.compiler[vnode.prototype_].each;\n const metrics=[ hx_Element, NodeList, 'hx:for', context, ssc, effect.value, provideBinding ];\n const createElement=()=>blockForProcessor(self, vnode, \"For\", metrics, [ vnode.children], true, {\n effect\n });\n let template=createElement();\n template.compiler_options.createElement=createElement;\n return template;\n }\n function safeCall(callback, ...args){\n return isXtruct(callback, ...arrSet(args)) || isPFunction(callback) ? callback(...arrSet(args)) : callback;\n }\n function built_in_if_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n if(!debug_self_prop_warn(vnode.props, self, [\"hx:if\", 'test' ])){ \n return createRenderlessElement();\n }\n const { test } = vnode.props;\n const isRerender=self[$$$operands].initializedRender;\n is_hyperscript=self[$$$core].map.is_hyperscript;\n const context=smartDextCtxMerging(ssc || {}, ctx || {});\n const effect=_createHouxitEffectFrame( ()=>{\n return unwrap(is_hyperscript || !isString(test) ? safeCall(test) : _$runModelBind(self, test, smartDextCtxMerging(context, ssc || {})));\n });\n let value=effectRunner(effect).value;\n config.effect=effect;\n const NodeList=new Tuple();\n if(!isRerender && !is_hyperscript){\n vnode.compiler[If]={\n test:effect\n }\n }\n const metrics=[ hx_Element, NodeList, 'hx:if', context, ssc, value ];\n const createElement=()=> blockIFPreprocessor(self, vnode, 'If', metrics, [vnode.children], config, true);\n config.createElement=createElement;\n const { flush } = createElement();\n const template=new HouxitFragmentElement(NodeList.list(), self, hx_Element);\n config.ELEMENT=template;\n template.VN_Tree.FLUSHS.add(flush);\n return template;\n }\n function built_in_else_if_widget(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n blockElseIfPreprocessor(self, vnode, config, 'hx:else'+(vnode.prototype_ === ElseIf ? '-if' : ''), true);\n return createRenderlessElement();\n }\n function simulate_buitin_widget_syms(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config){\n const { prototype_ } = vnode;\n const props_object={};\n hx_Element={\n subscriptions:new Tuple(),\n PropFlags:new Tuple(),\n vNodeClass:vnode,\n }\n if(_makeMap_([Fragment, Self, Build, Portal, Suspense, Motion, If, ElseIf, For, Memo], prototype_)){\n if(prototype_ === Build){\n vnode.rawProps=memMove(vnode.props, is_hyperscript);\n }\n Props_dilation_compile(vnode, self, hx_Element, {\n is_hyperscript,\n ctx,\n ssc\n }, props_object, config);\n vnode.props=props_object;\n }\n const resArgs=[vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config];\n if(prototype_ === Fragment ) {\n return built_in_fragment_widget(...resArgs);\n }else if(prototype_ === Self ) {\n return built_in_self_widget(...resArgs);\n }else if(prototype_ === Build ) {\n return built_in_build_widget(...resArgs);\n }else if(prototype_ === Portal) {\n return built_in_portal_widget(...resArgs);\n }else if(prototype_ === Memo) {\n return built_in_memo_widget(...resArgs);\n }else if(prototype_ === Suspense) {\n return built_in_suspense_widget(...resArgs);\n }else if(prototype_ === Motion) {\n return built_in_motion_widget(...resArgs);\n }else if(prototype_ === Provider) {\n return built_in_provider_widget(...resArgs);\n }else if(prototype_ === For) {\n return built_in_for_widget(...resArgs);\n }else if(prototype_ === If) {\n return built_in_if_widget(...resArgs);\n }else if(_makeMap_([ElseIf, Else], prototype_)) {\n return built_in_else_if_widget(...resArgs);\n }\n }\n function createHouxitElement(vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config={}){\n config=assign({}, config);\n const isRerender=self[$$$operands].initializedRender;\n if(isRerender && vnode.filesFilter.memMoved) {\n delete vnode.filesFilter.memMoved;\n }\n if(!vnode.filesFilter.memMoved && !isRerender){\n vnode=memMove(vnode, true);\n vnode.filesFilter.memMoved=true;\n }\n ctx=smartDextCtxMerging(assign({}, ctx || {}), ssc || {});\n ssc=null;\n const saveGarbageContent = NormalizeDirGarbage(vnode.props||{});\n const { has_conditional, hasFor } = saveGarbageContent;\n const hasDir=hasFor || has_conditional;\n let ELEMENT;\n const { prototype_ } = vnode;\n const args=[vnode, self, is_hyperscript, ctx, siblings, ssc, hx_Element, config, null];\n if(!is_hyperscript && hasDir ) {\n const createElement=()=>HX_ELEMENT_MANAGER(self, vnode, null, hx_Element, siblings, saveGarbageContent, ctx, config);\n ELEMENT = createElement();\n createElement_Smart(ELEMENT, createElement);\n }else if(isHouxitBuiltinSymbolWidget(prototype_)) {\n ELEMENT = simulate_buitin_widget_syms(...args);\n }else if(validHouxitWidget(prototype_)) {\n ELEMENT = flattenWidgetAndAsyncBuild(...args);\n }else if(isString(prototype_)){\n if(IS_VALID_TAGNAME(prototype_)) {\n ELEMENT = new HouxitNativeElement(...args);\n }else if(isCustomElementTagname(prototype_)) {\n ELEMENT = new HouxitCustomNativeElement(...args);\n }else {\n debug_unrecognized_tagname(prototype_, self);\n }\n }else if(isCustomBuiltinSymWidget(prototype_)){\n const factory=CUSTOM_BUILT_IN_WIDGETS_STORE.get(prototype_);\n return factory(...args);\n }\n return ELEMENT;\n }\n function createElement_Smart(ELEMENT, fn){\n if(!ELEMENT.compiler_options.createElement){\n ELEMENT.compiler_options.createElement=fn;\n }\n }\n function debug_unrecognized_tagname(tagname, self){\n debugHandler(`[ ] [unexpected template tagname] \"${tagname}\" is not a valid html element, or a registered widget instance.\\n\\nif this is a customElement, make sure its defined through the \"customElements.define()\" method `, self, true);\n }\n function isCustomElementTagname(tagname){\n return isPFunction(customElements.get(tagname));\n }\n function getBoundary(instance){\n return isHouxitBuild(instance) ? instance[$$$core].virtualNode.filesFilter.suspense : instance?.[isVNodeClass(instance) ? 'filesFilter' : 'VNodeManager']?.suspense;\n }\n function extendBoundary(self, parentInstance){\n \n }\n function smart_render_toggler(self, t=false){\n const initializedRender=self[$$$operands].initializedRender;\n const toggler=(cond=true)=>{\n if(initializedRender){\n self[$$$operands].initializedRender=cond;\n }\n }\n toggler(t);\n return toggler;\n }\n function isSuspensible(a_p){\n return a_p.config.suspensible;\n }\n function asyncWidgetBoundaryWrap(boundary, action, current_state, a_p){\n if(!boundary || !isSuspensible(a_p)) return action();\n const x=boundary.syncState();\n if(x === 'resolved') {\n if(!x) return action();\n if(_makeMap_( 'resolved,pending', current_state)){\n return action();\n }else if(current_state === 'failed' && !boundary.drivers.error){\n return action();\n }\n }else if(x==='pending'){\n if(current_state==='resolved'){\n boundary.disposals.add(action);\n }\n }\n }\n function createAsyncFallback(self, a_p, hx_Element, ssc, VN_Tree, boundary, config){\n const fallback=a_p.config.fallback;\n let useFallback=false, useDefault=false, ELEMENT\n if(fallback){\n if(!isChildrenNode(fallback)){\n debugHandler(`[ ] [Invalid falllback Element] fallback content of \"asyncWidget\" is not a valid Houxit element`, self, true);\n return;\n }\n const fall_content=()=>{\n const toggler=smart_render_toggler(self);\n // installSuspense(fallback, boundary);\n let tree= _HouxitCoreRenderer(arrayInverter(fallback), self, null, hx_Element, ssc, config);\n tree= new HouxitFragmentElement(arrayInverter(tree), self, hx_Element );\n tree[AsyncHxElementTrackerKey]={};\n toggler();\n useFallback=true;\n const { activeElement } = a_p;\n if(activeElement){\n const posix=resolveTargetElement(ELEMENT);\n posix.before(tree.$element);\n unMountVNode(ELEMENT);\n reinstallFallbackResponses(self, tree, a_p.fallback[AsyncHxElementTrackerKey]);\n }\n ELEMENT=tree;\n a_p.activeElement=ELEMENT;\n }\n const activateFallback=()=>{\n if((a_p.resolved || a_p.failed) && !a_p.pending) {\n return;\n }\n asyncWidgetBoundaryWrap(boundary, fall_content, 'pending', a_p);\n }\n if( a_p.config.delay) {\n setTimeout(activateFallback, a_p.config.delay);\n }else{\n ELEMENT=activateFallback();\n }\n }\n if( ELEMENT && (useFallback || !boundary)) {\n return ELEMENT;\n }\n ELEMENT=new HouxitFragmentElement([], self, hx_Element);\n ELEMENT[AsyncHxElementTrackerKey]={};\n a_p.activeElement=ELEMENT;\n useDefault=true;\n return ELEMENT;\n }\n function normalize_lazy_return(self, ELEMENT, a_p, boundary){\n a_p.resolved=true;\n ELEMENT[AsyncHxElementTrackerKey]={};\n const { activeElement } = a_p;\n const posix=resolveTargetElement(activeElement);\n posix.before(ELEMENT.$element);\n unMountVNode(activeElement);\n reinstallFallbackResponses(self, ELEMENT, a_p.fallback[AsyncHxElementTrackerKey]);\n }\n function asyncErrorElement(self, a_p, hx_Element, ssc, boundary, config){\n const toggler=smart_render_toggler(self);\n // installSuspense(a_p.config.error, boundary);\n let FailedElement= _HouxitCoreRenderer(arrayInverter(a_p.config.error), self, null, hx_Element, ssc, config);\n FailedElement= new HouxitFragmentElement(arrayInverter(FailedElement), self, hx_Element );\n toggler();\n FailedElement[AsyncHxElementTrackerKey]={};\n if(!boundary){\n const posix=resolveTargetElement(a_p.activeElement);\n posix?.before(FailedElement.$element);\n unMountVNode(a_p.activeElement);\n }\n reinstallFallbackResponses(self, FailedElement, a_p.activeElement[AsyncHxElementTrackerKey]);\n a_p.failed=true\n }\n function flattenWidgetAndAsyncBuild(vnode, self, is_hyperscript=false, ctx, siblings, ssc, hx_Element, config, isWidget=false){\n const { prototype_ } = vnode;\n if(!isAsyncWidget(prototype_)) {\n return new HouxitWidgetElement(...arguments);\n }else if(config.suspenseFlag){\n const Element=createRenderlessElement();\n Element.VNodeManager.vNodeClass=vnode;\n runSlotDirectiveCompile(self, config, vnode.props, vnode, Element, {\n is_hyperscript\n }, true);\n return Element;\n }\n let boundary=getBoundary(vnode);\n let widget=prototype_;\n const Oa_p=widget[$asyncVnodeKey];\n const a_p=memMove(Oa_p);\n a_p.resolved=false;\n a_p.pending=false;\n a_p.failed=false;\n a_p.activeElement=undefined;\n // if(!isSuspensible(a_p)) boundary=undefined;\n const VN_Tree=()=>hx_Element?.VN_Tree || self?.$build?.VN_Tree;\n if(!a_p.postLoad || !Oa_p.cache){\n let future=a_p.load();\n if(!isPromise(future)){\n debugHandler(`[ ] asyncWidget instance load callback expects a javascript Promise instance object as a return value`, self, true);\n return;\n }\n const timeout=a_p.config.timeout;\n let timeOutId;\n if(!isInfinity(timeout)){\n timeOutId=setTimeout(()=>{\n if(!a_p.resolved && !a_p.failed){\n asyncWidgetBoundaryWrap(boundary, ()=>asyncErrorElement(self, a_p, hx_Element, ssc, boundary, config), 'failed', a_p);\n debugHandler(`[ ] [\"asyncWidget()\" timeout Error] load time exceeds the asyncWidget.timeout config limit`, self, true);\n }\n }, timeout);\n }\n const failureHandler=er=>{\n a_p.failed=true;\n debugHandler(er);\n if(timeOutId) clearTimeout(timeOutId);\n if(boundary){\n //\n }\n asyncErrorElement(self, a_p, hx_Element, ssc, boundary, config);\n debugHandler(`[ ] Failed resolving state during an \"async build()\" process\\n\\nReason::\"${er.message}\"`, self, true);\n }\n future=future.then((res)=>{\n if(isObject(res) && isUndefined(res.prototype) && hasOwn(res, 'default')) {\n res=res.default;\n }\n a_p.cache=res;\n Oa_p.cache=res;\n a_p.postLoad++;\n assign(vnode, {\n prototype_:res,\n GeneticProvider:res,\n type:res\n });\n vnode.filesFilter[$asyncVnodeKey]={\n prototype_,\n }\n assign(a_p, {\n resolved:true,\n pending:false\n });\n try{\n const toggler=smart_render_toggler(self);\n let ELEMENT=new HouxitWidgetElement(...arguments);\n toggler();\n const awaitReady = ELEMENT.widget_instance[$$$operands].awaitReady;\n const awaitCallback=()=>{\n normalize_lazy_return(self, ELEMENT, a_p, boundary);\n a_p.activeElement=ELEMENT;\n if(timeOutId) clearTimeout(timeOutId);\n }\n isPromise(awaitReady) ? (awaitReady.then(()=>{\n awaitCallback();\n }).catch(failureHandler)) : awaitCallback();\n }catch(err){\n failureHandler(err);\n } \n }).catch(failureHandler);\n if(boundary && isSuspensible(a_p)){\n boundary.activeAwaits++;\n boundary.loadChain.add(future);\n }\n const tree=createAsyncFallback(self, a_p, hx_Element, ssc, VN_Tree, boundary, config);\n a_p.fallback=tree;\n return tree;\n }else {\n widget=a_p.cache;\n assign(vnode, {\n prototype_:widget,\n GeneticProvider:widget,\n type:widget\n });\n assign(a_p, {\n resolved:true,\n pending:false\n })\n const ELEMENT=new HouxitWidgetElement(...arguments);\n ELEMENT[AsyncHxElementTrackerKey]={};\n a_p.activeElement=ELEMENT;\n return ELEMENT;\n }\n }\n function reinstallFallbackResponses(build, ELEMENT, fall_Element){\n const { hx_Element, key, self } = fall_Element;\n if(self) {\n self.$build=ELEMENT\n }else if(hx_Element){\n hx_Element.VN_Tree.LEAGUE_TREE[key][0]=ELEMENT\n hx_Element.NodeList.replace(fall_Element, ELEMENT);\n }\n }\n function smartDextCtxMerging(context, ssc, merge=false){\n if(!(context || ssc)) {\n return merge ? context || ssc : assign({}, context || ssc || {}); \n }\n context=merge ? context : assign({}, context);\n if(hasOwn(ssc, $$dexTransformKey)){\n if(!hasOwn(context, $$dexTransformKey) && hasOwn(ssc, $$dexTransformKey)) {\n context[$$dexTransformKey]={\n sourcesArray:[],\n syntaxArray:[]\n }\n }else if(hasOwn(context, $$dexTransformKey)){\n if(!merge) {\n context[$$dexTransformKey]=assign({}, context[$$dexTransformKey]);\n }\n }\n context[$$dexTransformKey].syntaxArray=arrSet(new Set([ ...context[$$dexTransformKey].syntaxArray, ...ssc[$$dexTransformKey].syntaxArray ]));\n context[$$dexTransformKey].sourcesArray=arrSet(new Set([ ...context[$$dexTransformKey].sourcesArray, ...ssc[$$dexTransformKey].sourcesArray ]));\n ssc=assign({}, ssc);\n delete ssc[$$dexTransformKey];\n }\n context=assign(context, ssc);\n return context;\n }\n function evaluateKeyOnElement(hx_Element, key, self){\n if(!isHouxitElement(hx_Element)) {\n return;\n }else if(!isNull(key) && !isPrimitive(key)){\n debugHandler(`[ ] key prop value expects primitive values`, self, true);\n return;\n }else if(!isNull(key)){\n hx_Element._vnode_key=key;\n }\n }\n function createFragmentMove(vElement){\n \n }\n function HouxitTemplateGenerators(vnode, self, is_hyperscript=false, ctx, siblings, ssc, hx_Element, config, isWidget=false){\n vnode.hx_Element=this;\n this.VNodeManager.vNodeClass=vnode;\n is_hyperscript=vnode.is_hyperscript;\n this.is_hyperscript=is_hyperscript;\n const isRerender=self[$$$operands]?.initializedRender;\n if(vnode.filesFilter.suspense){\n this.VNodeManager.suspense=vnode.filesFilter.suspense;\n }\n if(config.topLevelSlotContext && !isHouxitWidgetElement(vnode.filesFilter.parent)){\n delete config.topLevelSlotContext;\n }\n let { type, props, children, key } = vnode;\n ctx=smartDextCtxMerging(ctx || {}, ssc || {});\n this.LabContext=smartDextCtxMerging(this.LabContext, ctx);\n vnode.hx_Element=this;\n if(isWidget) {\n this.VNodeManager.rawChildren=()=> vnode.rawChildren;\n }\n this.compiler_options.parent=vnode.filesFilter.parent;\n bufferDirSetups(self, props, this);\n const customElementsArgs=[...arguments];\n customElementsArgs.pop();\n const element=_generateTemplateElement(vnode, self, this, siblings,\n vnode.IS_RENDERLESS, customElementsArgs, config);\n if(!isRerender && isHouxitNativeElement(this)) {\n HouxitElementLifeCircleHooks(self, element, this);\n }\n this.$element=element;\n evaluateKeyOnElement(this, vnode.key, self);\n }\n class HouxitNativeElement extends HouxitElement{\n constructor(vnode){\n super(...arguments);\n this.VNodeManager.SSRVnode=new vNodeClass();\n HouxitTemplateGenerators.call(this, ...arguments);\n this.prototype_=vnode.type;\n }\n }\n class HouxitCustomNativeElement extends HouxitNativeElement{\n constructor(){\n super(...arguments);\n }\n }\n class HouxitWidgetElement extends HouxitElement{\n constructor(vnode){\n super(...arguments);\n this.VNodeManager.SSRVnode=[];\n HouxitTemplateGenerators.call(this, ...arguments, true);\n this.prototype_=vnode.prototype_;\n }\n }\n class HouxitFragmentElement extends HouxitElement{\n constructor(vnodes=[], self, hx_Element, key, resource){\n super();\n if(!isHouxitBuild(self)) {\n self=null;\n }\n vnodes=arrayInverter(vnodes);\n let index=0;\n const isRerender = self ? self[$$$operands].initializedRender : undefined;\n this.VNodeManager.SSRVnode=[];\n const inDom=(isHydration(self) || !isSSRCompiler(self)) && inBrowserCompiler && !isRerender;\n const isSSR=isSSRCompiler(self);\n const isHy=isHydration(self);\n if(!isSSR && !isRerender) {\n this.VNodeManager.posix=[ document.createComment(c_str), document.createComment(c_str)];\n }\n const fragment = !isSSR && !isRerender ? _createFragment() : isSSR ? [] : isRerender ? undefined : undefined;\n const [start_el, end_el ]=this.getSSRPosixEl();\n if(start_el && !isSSR) {\n fragment?.append(start_el);\n }\n for(let [ key, node ] of vnodes.entries()){\n if(!(node ?? isRerender) && !fragment) {\n continue;\n }\n if(isHouxitElement(node) && !isSSR) {\n this.NodeList.add(node);\n }\n fragment?.[(isSSR ? 'push' : 'append')](smartSSRGrab(node, isSSR, isHy));\n if(isAsyncTrackerElement(node)) {\n node[AsyncHxElementTrackerKey]={\n key,\n hx_Element:this\n }\n }\n resolve_keyed_mapping(this, node, index, self, resource);\n index ++;\n }\n if(end_el && !isSSR) {\n fragment?.append(end_el);\n }\n evaluateKeyOnElement(this, key, self);\n if(!isRerender){\n this.VN_Tree.ELEMENTS=()=>{\n const recorder=new Tuple();\n const [start, end] = this.getSSRPosixEl();\n if(!isInDomNode(start)) {\n return recorder;\n }\n let node = start;\n while(node){\n let next = node.nextSibling;\n recorder.add(node);\n if(node === end) {\n break;\n }\n node = next;\n }\n return recorder;\n }\n }\n this.$element=isHy && !isRerender ? new SSRFragment(fragment) : fragment;\n if(isSSR) {\n if(isHy) {\n this.$element.hx_Element=this;\n }\n this.VNodeManager.SSRVnode=this.$element;\n }\n }\n getSSRPosixEl(){\n return this.VNodeManager.posix;\n }\n upload(callback){\n return this.VN_Tree.ELEMENTS().forEach((el, ind)=> callback(el, ind));\n }\n }\n class HouxitRenderlessElement extends HouxitFragmentElement{\n constructor(){\n super();\n this.IS_RENDERLESS=true;\n }\n }\n class HouxitTextElement extends HouxitElement{\n constructor(text, self, hx_Element, fall, config={}){\n super();\n if(config.suspenseFlag){\n this.$element=text;\n return\n }\n const isRerender=self[$$$operands].initializedRender;\n const isHy=isHydration(self);\n this.is_hyperscript= self[$$$core].map.is_hyperscript;\n if(hx_Element) {\n this.LabContext=assign({}, hx_Element?.LabContext || {});\n }\n if(!this.is_hyperscript && fall ) {\n this.LabContext=smartDextCtxMerging(this.LabContext, fall);\n }\n this.$element=_createTextElement(self, text, this, isRerender, config);\n this.prototype_=isRerender || isSSRCompiler(self) ? this.$element : this.$element.textContent;\n if(isSSRCompiler(self)) {\n this.$element=isHy ? new SSRText(this.prototype_) : this.prototype_;\n this.VNodeManager.SSRVnode=this.$element;\n if(isHy) {\n this.$element.hydrationFlushs.add(element=> this.$element=element);\n }\n }\n if(this.is_hyperscript && config.lazy_effect && !isRerender){\n const flush=createPriorityFlush(config.lazy_effect, (obs)=>{\n if(IS_TEXT_NODE(this.$element)){\n this.$element.textContent=config.lazy_effect.runEffect().value;\n }\n });\n this.VN_Tree.FLUSHS.add(flush);\n }\n }\n }\n class MemoWrapperElement extends HouxitWidgetElement{\n constructor(){\n super(...arguments);\n }\n }\n function isMemoWrapperElement(el){\n return el instanceof MemoWrapperElement;\n }\n function smartSSRGrab(node, isSSR, isHy){\n let collectings= !isSSR ? node.$element : !isHouxitElement(node) ? node : node.$element;\n if((isCollection(collectings) || isHouxitWidgetElement(node)) && isHy){\n if(!isCollection(collectings) && isHouxitWidgetElement(node)) {\n collectings=node.widget_instance.$build.$element;\n }else{\n collectings=new SSRFragment(collectings);\n collectings.hx_Element=isHouxitWidgetElement(node) ? node.widget_instance.$build : node;\n }\n }\n return collectings;\n }\n function createRenderlessElement(callback=pass){\n const renderlessElement=new HouxitRenderlessElement();\n callback(renderlessElement);\n return renderlessElement;\n }\n function isSameHouxitElementType(el1, el2){\n const isHE=isHouxitElement(el1) && isHouxitElement(el2);\n return isHE && isS(el1.__proto__.constructor, el2.__proto__.constructor);\n }\n function bufferDirSetups(self, props, hx_Element){\n if(!props || !props[dir$$__render] || !len(props[dir$$__render])) {\n return;\n }\n for(let dir of props[dir$$__render].values()){\n if(isChar(dir.name) && !isHouxitDirective(dir.name)){\n if(!hasProp(self[$$$register].directives, dir.name) || !self[$$$register].directives[dir.name]){\n debugHandler(`[ ] \"${dir.name}\" is not a registered directive\\n`, self, true);\n return;\n }else if(!validateType(self[$$$register].directives[dir.name], [Function, Object])){\n debugHandler(`[ ] directive resolved at \"${dir.name}\" is not a valid directive data value`,self, true);\n return;\n }\n dirMap(self, dir, self[$$$register].directives[dir.name], hx_Element );\n props[dir$$__render].delete(dir);\n }else if(!isString(dir.name)) {\n dirMap(self, dir, dir.name, hx_Element);\n props[dir$$__render].delete(dir);\n }\n }\n }\n function dirMap(self, resolver, dir, hx_Element){\n if(isPObject(dir)){\n for(let [name, hook] of entries(dir)){\n if(_makeMap_(directivesHooksMap, name)){\n if(!isPFunction(hook)){\n debugHandler(`[ ] \"${name} directive hook received at $$ is not a function`, self, true);\n return;\n }\n hook.value=resolver.value;\n hook.modifiers=resolver.modifiers\n hx_Element[name+'_hook'].add(hook);\n }\n }\n }else if(isPFunction(dir)){\n dir.value=resolver.value;\n dir.modifiers=resolver.modifiers;\n hx_Element.created_hook.add(dir);\n }\n }\n function __renderSlots__(options){\n if(!validateCollectionArgs(arguments, {\n count:1,\n validators:[[Object, Function]],\n required:[true],\n name:\"enSlot()\"\n })) {\n return ;//renderimg of slots contents in hyperscript;\n }\n if(isClass(options)){\n debugHandler(`[ ] Uresolved function type ---- received at \"enSlot\"\\n\\nSeems to be a \"class\" instance value type`);\n return;\n }else if(isPFunction(options)) {\n options={\n default:options\n }\n }\n return new slotInstanceMap(options || {});\n }\n function enSlot(options){\n return __renderSlots__(...arguments);\n }\n const isHouxitWidgetElement=vnode=> vnode instanceof HouxitWidgetElement;\n function transpileDirectiveShorhand(key){\n return (hasAsterisks_bind(key) ? '$$bind:' : hasAt_bind(key) ? '$$on:' : hasAsh_bind(key) ? '$$slot:' : key[0])+key.slice(1);\n }\n function dirExistenceCheck(props, dir){\n let RawMap={ \n hasDir:false\n };\n for(let [key, val] of entries(props)){\n const keyP=key;\n key = transpileDirectiveShorhand(key);\n if(key.startsWith(dir)) {\n return {\n hasDir:true,\n getDir:val,\n getKey:keyP\n }\n }\n }\n return RawMap;\n }\n function resolve_keyed_mapping(hx_Element, child, index, self, resource){\n let key=isHouxitTextElement(child) ? index : (child._vnode_key);\n key = !key ? null : isNaN(Number(key)) ? key : Number(key);\n const KEYS_INDEXES=hx_Element.VN_Tree.KEYS_INDEXES;\n if(!isNull(key) && KEYS_INDEXES.has(key)){\n debugHandler(`[ ] keyed element seemes to have been dublicated within this render siblings >>\"${key}\"<<<\\n\\nCheck for possible duplicates in special key props\\n`, self, true);\n return;\n }\n if(resource && isNull(key)){\n if(KEYS_INDEXES.has(key)){\n key=index;\n }else{\n key=resource[index];\n }\n }\n if(isNull(key)){\n key=index;\n }\n KEYS_INDEXES.add(key);\n hx_Element.VN_Tree.LEAGUE_TREE[key]=[ child, index ];\n }\n function generateTemplateElement(vnode, self, hx_Element, siblings, IS_RENDERLESS, customElementsArgs, config ){\n return _generateTemplateElement( ...arguments );\n }\n function _generateTemplateElement(virtualNode, self, hx_Element, siblings, IS_RENDERLESS, customElementsArgs, config){\n const { prototype_ } = virtualNode;\n if(isString(prototype_) && IS_VALID_TAGNAME(prototype_)) {\n return _createNativeElement(...arguments);\n }else if(isString(prototype_)) {\n return generateCustomNativeElement(...arguments );\n }else {\n return _createWidgetElement(...arguments );\n }\n }\n function generateCustomNativeElement(vnode, self, hx_Element, siblings, IS_RENDERLESS, customElementsArgs, config ){\n let { type, props, children, key} = vnode;\n const argsCount=len(arguments);\n const is_hyperscript=hx_Element?.is_hyperscript || false;\n const isRerender=self[$$$operands]?.initializedRender;\n if(isRerender) {\n return;\n }\n const element=document.createElement(type);\n element._set_compiler_options(...arguments);\n return element\n }\n function _createNativeElement(virtualNode, self, hx_Element, siblings, IS_RENDERLESS, customElementsArgs, config, o){\n config=assign({}, config);\n let { type, props, children, key } = virtualNode;\n const argsCount=len(arguments);\n const isSSR=isSSRCompiler(self);\n const isHy=isHydration(self);\n let element;\n const is_hyperscript=virtualNode.is_hyperscript;\n const isRerender=self[$$$operands]?.initializedRender;\n if(!isRerender && isString(type)){\n element=isSSR ? hx_Element.VNodeManager.SSRVnode : document.createElement(type);\n if(isSSR) {\n element.type=type;\n }\n if(hx_Element && isHouxitBuild(self)){\n hx_Element.hx_build=self[$$$ownProperties].hx_build\n if(self[$$$ownProperties].hx_build) {\n if(isSSR) {\n element.props['data-hx_build']=self[$$$ownProperties].hx_build;\n }else {\n element.setAttribute(\"data-hx_build\", self[$$$ownProperties].hx_build);\n }\n }\n }\n if(!isRerender) {\n element._hx_Element={\n hx_Element,\n _vnode_key:virtualNode.key\n };\n if(hx_Element){\n whenMounted(self, element, ()=>{\n hx_Element.VNodeManager.motion_object.hooks.animation.from=element.getBoundingClientRect();\n });\n }\n }\n }\n if(isHy){\n element.filesFilter.$ssr_kit.hydrationFlushs.add((element)=>{\n hx_Element.$element=element;\n });\n }\n const metrics ={\n is_hyperscript,\n isRerender\n }\n runSlotDirectiveCompile(self, config, props, virtualNode, hx_Element, metrics);\n if(config.suspenseFlag){\n return\n }\n let childNodes;\n if(children && !IS_HTML_VOID_TAG(type)) {\n if(!isRerender && hasOwn(virtualNode.filesFilter ,'dir--raw')){ \n const item= _$runModelBind(self, virtualNode.filesFilter['dir--raw'], hx_Element, true);\n if(item){\n const content=escapeDecoder(virtualNode.rawChildren);\n if(!isRerender) {\n if(isSSR) {\n element.props.innerHTML=content;\n }else {\n element.innerHTML=content; \n }\n }else {\n hx_Element.$element=content;\n }\n }\n } else {\n config={\n ...config,\n slotTap:{\n parent:hx_Element\n },\n };\n installSuspense(children, getBoundary(virtualNode));\n childNodes=_HouxitCoreRenderer(children, self, true, hx_Element, assign({}, hx_Element.LabContext), config);\n childNodes = arrayInverter( childNodes );\n let index=0;\n if(isSSR) {\n element.children=[];\n }\n for(let [key, els] of childNodes.entries()){\n if(!els || ( !isRerender && (isSSR && isSSRText(els.$element) ? !els.$element.content : !els.$element))) {\n continue;\n }\n if(els){\n hx_Element.NodeList.add(els);\n }\n if(isSSR) {\n element.children.push(smartSSRGrab(els, isSSR, isHy));\n }else if(!isRerender && els.$element) {\n element.append(els.$element);\n }\n if(isAsyncTrackerElement(els)) {\n node[AsyncHxElementTrackerKey]={\n key,\n hx_Element\n }\n }\n resolve_keyed_mapping(hx_Element, els, index, self);\n index++;\n }\n }\n }\n if(props) {\n Props_dilation_compile(virtualNode, self, hx_Element, metrics, element, config);\n }\n if(!isRerender && virtualNode.prototype_==='slot' && !(isSSR ? element?.props.name.trim() : element.name?.trim())){\n slotNamingTRANSITION(self, {\n value:'default'\n }, element, hx_Element, {\n is_hyperscript,\n isRerender,\n vNode:virtualNode\n });\n childNodes?.forEach((node)=> hx_Element.VNodeManager.patchFlags.subscriptions.extend(node.VNodeManager.patchFlags.subscriptions));\n }\n const { hasDir:hasModel } = dirExistenceCheck(props||{}, '$$model');\n if(!isRerender){\n return element;\n }\n }\n function createNativeElement(virtualNode, hx_Element, siblings, isRerender, IS_RENDERLESS ){\n return _createNativeElement( ...arguments );\n }\n function _createWidgetElement(virtualNode, self, hx_Element, siblings,IS_RENDERLESS, customElementsArgs, config){\n let { type, props, children, prototype_ } = virtualNode;\n const is_hyperscript=hx_Element?.is_hyperscript;\n const isRerender=self[$$$operands].initializedRender;\n let buildInstance;\n const slotsCompilerArgs={\n self,\n hx_Element,\n isRerender:self[$$$operands]?.initializedRender,\n ...config\n }\n if(validHouxitWidget(prototype_)) {\n buildInstance =$compilerEngine(self, virtualNode, hx_Element, slotsCompilerArgs, config);\n }else{\n debugHandler(`[ ] widget initializer failed to compile...`, true, self);\n }\n if(buildInstance){\n if(!is_hyperscript) {\n hx_Element.hx_build=buildInstance[$$$ownProperties].hx_build;\n }\n if(buildInstance[$$$ownProperties]?.slot_name) {\n hx_Element.slot_name=buildInstance[$$$ownProperties].slot_name;\n }\n }\n return isHouxitBuild(buildInstance) ? buildInstance.$build?.$element : undefined;\n }\n function createWidgetElement(virtualNode, metrics ){\n const { hx_Element, siblings, IS_RENDERLESS, config } = metrics; \n return _createWidgetElement(virtualNode, config.hx_Element, siblings, IS_RENDERLESS, null, config );\n }\n const unsupportedDelimiters=\"<,>\";\n function includesUnsupported(delimiters){\n let response=false;\n for(const deli of delimiters.values()){\n unsupportedDelimiters.split(',').forEach((v)=>{\n response=deli.includes(v);\n if(response) {\n return response;\n }\n })\n }\n return response;\n }\n function escapeRegExp(string) { \n return string.replace(/[.!@#%_\\,<>:;'\"\\-=*+?^${}()|[\\]\\\\]/g, '\\\\$&'); \n }\n const entities = {\n '!':`!`,\n '@':`@`,\n '#':`#`,\n '$':`$`,\n '%':`%`,\n '^':`^`,\n '&':`&`,\n '*':`*`,\n '(':`(`,\n ')':`)`,\n '_':`_`,\n '+':`+`,\n '-':`−`,\n '=':`=`,\n '[':`[`,\n ']':`]`,\n '\\\\':`\`,\n '{':`{`,\n '}':`}`,\n ';':`;`,\n ':':`:`,\n '\"':`"`,\n \"'\":`'`,\n '|':`|`,\n ',':`,`,\n '<':`<`,\n '.':`.`,\n '>':`>`,\n '/':`/`,\n '?':`?`\n }\n function escapeDecoder(str, useReverse=false){\n // for(const char of keys(entities)){\n // let entity = entities[char]\n \n // const regex = new RegExp(`/${isTrue( useReverse ) ? entity : char }/g`, isTrue(useReverse) ? char : entity );\n // if(!regex.test(str)) {\n // continue;\n // }\n // str=str.replace(regex)\n // }\n return str/*.replace(/&/g, '&')*/.replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/\"/g, '"') \n // .replace(/\\[/g, '[') \n .replace(/\"/g, '"') \n .replace(/\\\\/g, '''); \n }\n \n function escapeReverseDecoder(str){\n return str.replace(/</g, '<')\n .replace(/>/g, '>')\n .replace(/"/g, '\"')\n //.replace(/&/g, '&')\n .replace(/'/g, '\\\\')\n }\n const isSafeString=text=>/\\[\\[\\[\\%\\%safe\\-\\-(.*?)\\-\\-\\%\\%\\]\\]\\]/.test(text);\n function markSafeString(text){\n return `[[[%%safe--${text}--%%]]]`;\n }\n function RenderableContextManager(self, text, hasSafeString ){\n text=compileToRenderable(unwrap(text));\n return hasSafeString ? escapeDecoder(text) : text ;\n }\n function validateDelimiterConstruct(self, delimiters){\n if(!isArray(delimiters)){\n debugHandler(`[ ] expects an arrah of character strings encoding\\n\\n.....delimiters config setup`, self, isHouxitBuild(self));\n return false;\n }\n let [ open, close ] = delimiters ;\n if( open && close ){\n if( !hasSpecialCharacters( open ) || !hasSpecialCharacters( close ) ) {\n debugHandler(`[ ] mustache customization error::\\n\\n delimeters must match value of special characters\\n\\ne.g !, @, #, $, %, ^, &, *, (, ), [, ], {, }, ;, :, ?`, self, isHouxitBuild(self) ); \n return false;\n }else if(includesUnsupported([ open, close ])) {\n debugHandler(`[ ] Invalid delimiter value :: \\n\\n\"${open} or ${close} is an unsupported delimiter constructs\"\\n cannot be used as a string mustache delimeter since this are javascript multiline string interpolation technic\\n\\n Delimeter Configuration failed`, self, isHouxitBuild(self));\n return false;\n }\n }\n return true;\n }\n function resolveAccessor(self, str, hx_Element, $$bind=false){\n let [ open, close ] = self[$$$core].settings.delimiters ;\n open=hasSpecialCharacters(open) ? escapeRegExp(open) : open ;\n close=hasSpecialCharacters(close) ? escapeRegExp(close) : close ;\n const pattern=new RegExp(`${open}([${open}]?.*?[${close}]*)${close}`, 'mg');\n let link;\n if(str.match(pattern)) {\n str=str.replace(pattern, (match, text)=>{\n text=escapeReverseDecoder(text.trim());\n const drafts=[];\n let draftCount=0;\n text=text.replace(stringsMonitorRegex, (match, rex, roll)=>{\n drafts.push(match);\n let dataDraft=extractorArsterists+draftCount;\n draftCount++;\n return dataDraft;\n });\n const filters=text.split('%');\n for( const [ index, flt ] of filters.entries()){\n filters[index]=flt.replace(reverseRegex, (match, rex, roll)=> drafts[Number(rex.match(/\\d/))]);\n }\n text=text.replace(reverseRegex, (match, rex, roll)=> drafts[Number(rex.match(/\\d/))]);\n let hasSafeString;\n text=_$runModelBind(self, filters.shift().trim(), hx_Element);\n text=unwrap(text);\n if(len(filters)) {\n text=$Filter_HelpersService(self, text, filters, hx_Element, $$bind);\n }\n return RenderableContextManager(self, text, hasSafeString);\n })\n }\n return str;\n }\n function checkForModeLAndContextAvailability(model, context, ref, returnToken){\n if(!hasOwn(model, ref) && !hasOwn(context, ref) && !returnToken) {\n throw new Error('AccessorError')\n return;\n }else if (returnToken) {\n return ref;\n }\n }\n function _$runModelBind(self, ref, hx_Element, returnToken=false){\n let value;\n const model= isHouxitBuild(self) ? self.__public_model__ : isModelInstance(self) ? self : Object.create(null);\n const context=isHouxitElement(hx_Element) ? hx_Element?.LabContext || {} : isPObject(hx_Element) ? hx_Element : {};\n try{\n value=_Evaluate_THIS( model, ref, self, context) ;\n // if(isNull(value) && !hasSpecialCharacters(ref) && !isNullBasedKeyword(ref) ){\n // return checkForModeLAndContextAvailability(model, context, ref, returnToken);\n // }\n } catch(err){\n console.error(err)\n if(ref && !returnToken){\n debugHandler(`[ ] Accessor Error::\\n\\n\"${ref}\" property value was accessed during render, but not initialized on model or is undefined\\n\\nat at\\n ...\"${ref}\" property \\n\\n${err}`, self, true);\n return;\n }else {\n return ref;\n }\n }\n return value \n }\n function _useBindDriver__(ref){\n const response=validateCollectionArgs(arguments, {\n name:'useBindDriver',\n required:[false],\n min:0,\n max:1,\n validators:[ String ]\n });\n if(!response) {\n return null;\n }\n const self=getCurrentRunningEffect({\n name:'useBindDriver'\n });\n if(!self) {\n return null;\n }\n if(!len(arguments) || !ref) ref='modelValue';\n const params=defineParams();\n const signalKey='update'+(ref!=='modelValue' ? ':'+ref : \"\" );\n const signals=defineSignals([signalKey]);\n return {\n get value(){\n return hasOwn(params, ref) ? params[ref] : self.__public_model__.$attrs[ref];\n },\n update(value){\n return signals[signalKey](value);\n },\n name:ref\n };\n }\n function useBindDriver(ref, config){\n return _useBindDriver__(ref, config);\n }\n const hasFilterInstance=(self, name)=>_makeMap_(BUILT_IN_FILTERS, name) || _makeMap_(self[$$$register].filters, name) || _wufHas_instance(self, name);\n const normalize_Filter=(self, name)=>hasOwn(BUILT_IN_FILTERS, name) ? BUILT_IN_FILTERS[name] : hasOwn(self[$$$register].filters, name) ? self[$$$register].filters[name] : _wufHas_instance(self, name) ? normalizeWUFBuildScope(self, name) : pass;\n function customFilterDebugger(value, filter){\n if(!canRender(value)){\n debugHandler(`[ ] \"${filter}\" template filter expects a plain string value`);\n return false;\n }\n return true;\n }\n function evaluateShortener(defaultValue, digitsSlice, secondValueSlice, appendText, verboseText){\n let dValue=String(defaultValue).trim();\n let digitsValue=digitsSlice;\n let secondSlice=secondValueSlice\n let text=String(appendText);\n let digits=dValue.slice(Number(digitsValue.at(0)),Number(digitsValue.at(-1)));\n let secondValue=dValue.slice(secondSlice.at(0),secondSlice.at(-1));\n let SConvert=Number(secondValue);\n let res=digits+text;\n if (SConvert>0){\n let term=digits+'.'+secondValue;\n res=term+text;\n }\n if (verboseText) {\n return res+' '+useVerbose(Number(dValue),verboseText);\n }else {\n return res;\n }\n}\n function SHORTENER_FILTER_SERVICE(value, verboseText=\"\"){\n value=Number(value);\n if(!isNumber(value) || isNaN(value)){\n debugHandler(`[ ] shortener filter Adapter at argument <1> expects a number`);\n return value;\n }else if(!isString(verboseText)){\n debugHandler(`[ ] shortener filter Adapter at argument <2> expects a string`);\n return value;\n }\n var result=value;\n if (value > 999 && value < 999999 ) {\n result=evaluateShortener(value,[0,-3],[-3,-2],'K');\n }else if(value > 1000000 && value < 999999999 ) {\n result=evaluateShortener(value,[0,-6],[-6,-5],' Million');\n }else if(value > 1000000000 && value < 999999999999 ) {\n result=evaluateShortener(value,[0,-9],[-9,-8],' Billion');\n }else if(value> 1000000000000 && value < 999999999999999 ) {\n result=evaluateShortener(value,[0,-12],[-12,-11],' Trillion');\n }else if(value > 1000000000000000){\n let digits=String(value).slice(0,-15);\n let digitsConvert=Number(digits);\n let expo=digitsConvert.toExponential();\n result=expo+' E';\n }\n if (verboseText) {\n return result+' '+useVerbose(value,verboseText);\n }else {\n return result;\n }\n }\n function useVerbose(value, txt){\n var val=Number(value);\n var result=String(txt);\n if (val>1) {\n result=result+'s';\n }\n return result;\n }\n function PERCENTAGE_FILTER_SERVICE(value, arg, decimalIndex){\n let index=Number(decimalIndex);\n let div=100/value;\n let e=div*arg;\n let fix=e.toFixed(index);\n let result=Number(fix);\n return String(result)+\"%\";\n }\n function CURRENCY_FILTER_SERVICE(value, currency='$'){\n if(!isNumber(value) || isNaN(value)){\n debugHandler(`[ ] currency filter Adapter at argument <1> expects a number`);\n return value;\n }else if(!isString(currency)){\n debugHandler(`[ ] currency filter Adapter at argument <2> expects a string`);\n return value;\n }\n const stringifyNum=String(value);\n const houxitBank=[];\n let recorder=[];\n const reInstate=()=>{\n houxitBank.push(recorder.toReversed().join(\"\"));\n recorder=[];\n }\n for(const val of values(stringifyNum).toReversed()){\n if(len(recorder) === 3 ) {\n reInstate();\n }else {\n recorder.push(val);\n }\n }\n if(len(recorder)) {\n reInstate();\n }\n return currency+houxitBank.toReversed().join(\",\")+\".00\";\n }\n function UPPER_FILTER_SERVICE(value){\n if(!customFilterDebugger(value, 'upper')) {\n return value;\n }\n return compileToRenderable(value).toUpperCase();\n }\n function TITLE_FILTER_SERVICE(value){\n if(!customFilterDebugger(value, 'title')) {\n return value;\n }\n const splitted=String(value).split(' ');\n for(let [ind, val] of entries(splitted)){\n splitted[Number(ind)]=val.charAt(0).toUpperCase()+val.slice(1);\n }\n return splitted.join(' ');\n }\n function LOWER_FILTER_SERVICE(value){\n if(!customFilterDebugger(value, 'lower')) {\n return value;\n }\n return String(value).toLowerCase();\n }\n const BUILT_IN_FILTERS={\n upper:UPPER_FILTER_SERVICE,\n title:TITLE_FILTER_SERVICE,\n lower:LOWER_FILTER_SERVICE,\n shortener:SHORTENER_FILTER_SERVICE,\n percent:PERCENTAGE_FILTER_SERVICE,\n currency:CURRENCY_FILTER_SERVICE\n }\n function $Filter_HelpersService(self, value, filters,hx_Element, $$bind){\n if(!len(filters)) {\n return value;\n }\n let filterInstance;\n let parameters;\n for(const [ index, filter ] of filters.entries()){\n let name=filter.trim() || null;\n if(!name){\n $warn(`undefined filter name\\n\\nCheck template filter definition`, self);\n return;\n }\n const VResponse=filterInstancesValidator(name, self, hx_Element);\n if(!VResponse ) {\n break;\n }\n [ filterInstance, parameters ] = VResponse;\n const filterCallback=isPFunction(filterInstance) ? {\n filter:filterInstance\n } : filterInstance;\n try{\n const filterResponse=filterCallback.filter(value, ...parameters);\n value=filterResponse;\n }catch(error){\n debugHandler(`[ ] Encountered an error when running the filter callback at >>>>>> ${name}`, self, true);\n debugHandler(error, self);\n break;\n }\n }\n return value;\n }\n function filterInstancesValidator(name, self, hx_Element){\n let parameters=[];\n if(name.includes(\"(\") && name.includes(\")\")){\n const filter=name;\n name=abstractFilterName(name);\n let { content } = ArgsExtractor(filter, name);\n const reader=`((...args)=> args)(${content})`;\n parameters=_$runModelBind(self, reader, hx_Element);\n }\n if(!hasFilterInstance(self, name)) {\n debugHandler(`[ ] Unrecognized filter name \"${name}\"\\n\\n if this is a custom filter, make sure it's registered through the local filter option or global prototype 'filter' method`, self, true);\n return;\n }\n const filterInstance=normalize_Filter(self, name);\n if(!validateType(filterInstance, [Function, Object])){\n debugHandler(`[ ] ${name} filter receives an Invalid type definition\\n\\nExpects a filter function or a plain object type exposing a filter method which acts as the filter callable itself`, self, true);\n return;\n }else if(isPObject(filterInstance)){\n if(!hasProp(filterInstance, 'filter')){\n debugHandler(`[ ] \"${name}\" filter instance object does not expose a \"filter\" method which acts as the filter function`, self, true);\n return;\n }else if(!isPFunction(filterInstance.filter)){\n debugHandler(`[ ] \"${name}\".<filter> instance filter property value is not a method/callable \\n\\n Expects a function type which acts as the filter function`, self, true);\n return;\n }\n }\n return [ filterInstance, parameters ];\n }\n function abstractFilterName(filter){\n return filter.match(/^([^(]+)/)[0];\n }\n const HouxitDirectives=\"if,else,else-if,html,text,for,raw,slot,model,bind,on,scoped,provide,transite,animate,clone\";\n const preCompiledDirs=\"if,else-if,else,for,raw\";\n const buildUsableDirectives=\"scoped,model,clone,motion\";\n const isHyperscriptDirective=dir=>_makeMap_(buildUsableDirectives, dir);\n const isHouxitDirective=dir=>_makeMap_(HouxitDirectives, dir);\n \n const validIdentifierRegex=/([...]*[\\w\\d]+)/g;\n const isNullBasedKeyword=str=>/^(null|undefined)$/.test(str);\n function _Evaluate_THIS(obj, str, self, optional){// Use a regular expression to match statements or multiple expressions\n const statementRegex=/^(?:const|var|let|while|for|of|if|else|import|export|switch|case|try|catch|throw|continue|break|with|debugger|label|do|from|as|finally|delete|void|enum|implements|interface|package|protected;).*$/;;\n // =|\\+\\+|\\+=|--|-=|\\*|\\*=|\\.\\.|\\/\\/|\\/\\*|\\*\\*|\\[=|==\\+|\\/=|%=\\*\\*=|&&=|\\|\\|=|<=|>=|\\\\|\n // if (statementRegex.test(str.replace(stringsMonitorRegex, ()=>\"\" )) && !passableBlock(str)) {\n // log(str)\n // throw new Error(`Invalid expression: \\n\\n\"${str}\" Your binding seems to contain an unallowed expression as a statement\\n Only single expressions are allowed.`, self, true);\n // }// Use a regular expression to remove comments from the expression by using string .replace regex method\n const commentRegex = /\\/\\/.*$|\\/\\*[^]*?\\*\\//g;//comment matching regular expression\n let expressionWithoutComments = str.replace(commentRegex, '').replace(stringsMonitorRegex, ()=>\"\" );// Use a regular expression to match any remaining unsupported constructs and statement keywords\n const unsupportedRegex = /(?:\\.\\.|\\bthrow\\b|\\bdelete\\b|\\bvoid\\b|\\bconst\\b|\\blet\\b|\\bvar\\b|\\bwhile\\b|\\bfor\\b|\\bof\\b|\\bif\\b|\\belse\\b|\\bimport\\b|\\bexport\\b|\\bswitch\\b|\\bcase\\b|\\btry\\b|\\bcatch\\b|\\bcontinue\\b|\\bbreak\\b|\\bwith\\b|\\bdebugger\\b|\\blabel\\b|\\bdo\\b|\\bfrom\\b|\\bas\\b|\\bfinally\\b|\\benum\\b|\\bimplements\\b|\\binterface\\b|\\bpackage\\b|\\bprotected\\b)/;\n let scriptRender;\n let checkRegex=false;\n try{\n scriptRender=parseScript(expressionWithoutComments);\n }catch(err){\n checkRegex=true;\n }\n if (checkRegex && unsupportedRegex.test(expressionWithoutComments.replace(stringsMonitorRegex, ()=>\"\" ))) {\n throw new Error(`Invalid expression: \\n\\nUnsupported constructs are not allowed.\\n\\n\"${str}\"`, self, true);\n }else if(commentRegex.test(str)){\n debugHandler(`[ ] Template SyntaxError...\\n\\nComments not allowed in template expression\\n\\n\"${str}\"`, self, true);\n return;\n }\n let dexTransform;\n if(optional && isPObject(optional) && hasOwn(optional, $$dexTransformKey)){\n dexTransform=optional[$$dexTransformKey];\n let syntaxArray=dexTransform.syntaxArray;\n dexTransform.traverse=()=>transformDestructureContext(syntaxArray, dexTransform.sourcesArray, str, [obj, optional]);\n }\n let compile_Str=`with(obj){\n with($$$ctx){\n try{\n return dexTransform ? dexTransform.traverse() : ${str.trim() || \"undefined\" };\n }catch(err){\n throw new Error(err);\n }\n }\n }`\n if(_isWUFBuild(self)){\n compile_Str=`with(__env__){\n ${compile_Str}\n }`\n }\n const getValue = new Function('obj','$$$ctx','dexTransform','__env__', compile_Str);\n let value;\n try{\n value = getValue.call(obj, obj, isPObject(optional) ? optional : {}, dexTransform, self[$$$core].__env__ || {});\n }catch(error){\n // throw new Error(error);\n }\n return value;\n }\n function transformDestructureContext(props, sources, vv, metrics=[]){\n props=props.toReversed().join(',');\n const register=new Tuple(...extractArgumentsFromDext(props, true));\n const syntax =dextNamespaceControler(props, tokenGENERATOR({\n size:10\n }, (uuid)=>{\n if(!register.has(uuid)){\n register.add(uuid);\n return true;\n }\n return false;\n }));\n const traverse =Function('obj', '$$$ctx',`\n with(obj){\n with($$$ctx){\n try{\n return function transform(${syntax}){\n return ${vv}\n }\n }catch(err){\n throw new Error(err)\n }\n }\n }\n `);\n const [obj={}, $$$ctx={}]=metrics;\n return traverse.call(obj, obj, $$$ctx ).call(obj, ...sources.toReversed());\n }\n function dextNamespaceControler(src, replacement=\"\"){\n const namespace=extractArgumentsFromDext(src);\n const register=new Tuple();\n for(const [ index, { key, start, end }] of namespace.entries()){\n if(!register.has(key)){\n register.add(key);\n continue;\n }\n src=src.substring(0, start) + replacement + src.substring(end+1);\n register.add(replacement);\n }\n return src;\n }\n function facadeArgsRegister(setup, namespace, index, traverse){\n if(len(setup.ariel)){\n const word=setup.ariel.join(\"\");\n if(word.trim()) {\n namespace.push(traverse ? word : {\n start:index-(len(setup.ariel)),\n end:index-1,\n key:word\n });\n }\n setup.ariel=[];\n }\n }\n function extractArgumentsFromDext(src, traverse=false){\n const isStrRegex=val=>/['\"`]+/.test(val);\n const setup={\n ariel:[],\n deff:undefined,\n op_str:false,\n str_type:undefined,\n re_start:false,\n deff_cage:{}\n }\n const rChar={\n \")\":\"(\",\n \"]\":\"[\",\n \"}\":\"{\"\n }\n const namespace=[];\n let index=0;\n let prev_item;\n for(const val of values(src)){\n const prev=index > 0 ? src[index-1] : undefined;\n if(isString(prev) ? prev.trim() : prev) {\n prev_item=prev;\n }\n const next=src[index+1];\n if(/[`'\"]/.test(val)){\n if(!setup.op_str){\n setup.op_str=true;\n setup.str_type=val;\n }else if(val === setup.str_type){\n setup.op_str=false;\n setup.str_type=undefined;\n }\n }else if(setup.op_str);\n else if(val==='='){\n facadeArgsRegister(setup, namespace, index, traverse);\n setup.deff=true;\n }else if(setup.deff){\n if(/[[({]/.test(val)){\n setup.deff_cage[val]=(setup.deff_cage[val] || 0)+1;\n setup.re_start=true\n }else if(/[\\)}\\]]/.test(val)){\n if(hasOwn(setup.deff_cage, rChar[val])){\n if((setup.deff_cage[rChar[val]] || 0) <= 1) {\n delete setup.deff_cage[rChar[val]];\n }else {\n setup.deff_cage[rChar[val]]--;\n }\n }\n }else if(!len(setup.deff_cage) && /[{([\\])},]/.test(val)) {\n setup.deff=false;\n }\n }else if(/[, \\W]/.test(val) && !/[$:]/.test(val)) {\n facadeArgsRegister(setup, namespace, index, traverse);\n }else if(/\\w$/.test(val)) {\n setup.ariel.push(val)\n }else if(val === \":\") {\n setup.ariel=[];\n }\n index++;\n }\n return namespace;\n }\n const dynamicAttrRegex=/\\[(.*?)\\]/;\n function _DynamicAttrNameResolver(self, attr, hx_Element, metrics){\n let iniAttr=attr;\n attr= fall_AttrName(attr) ;\n const isRerender=self[$$$operands]?.initializedRender;\n if(dynamicAttrRegex.test(attr)){\n const matches=attr.match(dynamicAttrRegex);\n let name='';\n const effect=_createHouxitEffectFrame(function(){\n return matches[0].replace(dynamicAttrRegex, (match, text)=>{\n return unwrap(_$runModelBind(self.__public_model__, text, hx_Element, true));\n })\n });\n attr=effectRunner(effect).value;\n if(len(subscribers) && !isRerender){\n \n }else if(isRerender){\n \n }\n }\n if(!isString(attr)){\n debugHandler(`[ ] Unexpected value at \"${iniAttr}\" as dynamically evaluated prop name binding is not a valId prop string`);\n return iniAttr;\n }\n const response= iniAttr.replace(dynamicAttrRegex, function (match, space){\n return attr;\n });\n return [ effect, attr ];\n }\n const DebugFlags={\n slots:\"compilation of slot element\",\n template:\"template compile process\",\n hook:name=>\"during the call of \"+name.toUpperCase()+\" hook\",\n build:\"during the call of the build function\",\n register:(name)=>\"the registration of a \"+name,\n forloop:\"during mapping of the for directive\",\n ifElse:name=>\"during the consitional rendering of the \"+name+\" directive\",\n }\n function get_Object_Value(obj, path, check=false){\n const processor=Function('obj','check',`\n let value;\n try{\n value= obj.${path}\n }catch(err){\n if(check) throw new Error(err)\n return\n }\n return value;\n `);\n return processor(obj, check);\n }\n const accessorsRegex=/[.[\\]]/;\n const dynamicAccessorsRegex=/(\\[(.*?)\\])/g;\n function object_Has_Path(obj, str, getRes) {\n let res=false;\n let value=obj\n if ((!isEmptyStr(str) ? accessorsRegex.test(str) : false)) {\n const navigation = str.split('.');\n for (const key of navigation) {\n if(dynamicAccessorsRegex.test(key)){\n let shouldBreak=false;\n let access=[];\n let match=key.replace(dynamicAccessorsRegex, (match, p1, internal)=>{\n internal=Number(internal)\n if(!isNaN(internal)) {\n access.push(internal);\n }\n return \"\";\n })\n if((shouldBreak && !res) || !value ) {\n return false;\n }\n if(!isEmptyStr(match)) {\n value = value[match];\n }\n if(len(access)) {\n for(let [index, keys ] of access.entries()){\n if( !validateType(value, [ Object , Array, Function]) && isArray(value) && isNaN(Number(keys)) && Number(keys)+1 > len(value)) {\n return false;\n }\n value=value?.[keys];\n }\n }\n }else if (!hasOwn(value||{}, key)) {\n return false;\n }else {\n value = value[key];\n res=true;\n }\n }\n } else {\n if (hasOwn(obj, str)) {\n value=value[str];\n }else {\n return false;\n }\n return true;\n }\n return res;\n }\n function set_Object_Value(obj, path, value, check=false){\n return Function('obj','value','check','metrics',`\n try{\n const [ isToken, get_Object_Value, debug, unwrap ] = metrics;\n const initVal=get_Object_Value(obj, \"${path}\" );\n if(isToken(initVal)) obj.${path}[initVal[refInternalEffectKey].accessor]=unwrap(value);\n else obj.${path}=value;\n }catch(err){\n if(check) debug(err)\n return err\n }\n return obj;\n `)(obj, value, check, [isToken, get_Object_Value, debugHandler, unwrap ]);\n }\n function get_Prop_Path(obj, prop) {\n const stack = [{ \n object: obj, \n path: '' \n }];\n while (len(stack) > 0) {\n const { object, path } = stack.pop();\n for (const [key, value] of getIterator(object)) {\n const currentPath = path ? `${path}${ isPObject(object) ? '.' : '[' }${key}${isArray(object) ? ']' : ''}` : key;\n prop = isNumber(key) ? ( isNaN(Number(prop) ) ? prop : Number(prop ) ): prop ;\n if (key === prop) {\n return currentPath;\n }\n if (validateType(value, [Object, Array ])) {\n stack.push({ \n object: value, \n path: currentPath \n });\n }\n }\n }\n return null;\n }\n function toCamelCase(str) {\n return str.replace(/-+([a-zA-Z])/g, (match, letter) => letter.toUpperCase());\n }\n function ToPascalCase(str){\n const camelCase=toCamelCase(str);\n return camelCase.at(0).toUpperCase()+camelCase.slice(1);\n }\n function to_kebab_case(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n }\n function mapClassTypeTransform(item, transpiled){\n if(isCollection(item)){\n for(let value of item.values()){\n value = unwrap(value);\n mapClassTypeTransform(value, transpiled);\n }\n }else if(isPObject(item)){\n entries(item).forEach(([key, value])=>{\n value=unwrap(value);\n if(value) {\n for(let val of values(key.split(' '))){\n transpiled.add(val);\n }\n }\n });\n }else if(isString(item)){\n for(let val of values(item.split(' '))){\n transpiled.add(val);\n }\n }\n return transpiled.list();\n }\n function resolveClassDiffing(newClass, oldClass){\n [ oldClass, newClass ] = [ new Tuple(...arrSet(oldClass)), new Tuple(...arrSet(newClass ))];\n if(deepEqualityCheck(newClass, oldClass)) {\n return [ new Tuple(), new Tuple()];\n }\n const insert=new Tuple();\n const remove=new Tuple();\n newClass.forEach((klass)=>{\n if(!oldClass.has(klass)) {\n insert.add(klass);\n }\n });\n oldClass.forEach((klass)=>{\n if(!newClass.has(klass)) {\n remove.add(klass);\n }\n });\n return [ insert, remove ];\n }\n function parse_Class_Binding(self, item, element, hx_Element, { is_hyperscript, bindings, forwardAttrs }){\n const isSSR=isSSRCompiler(self);\n const sp=hx_Element.VNodeManager.patchFlags.shapeProps;\n const isRerender=self[$$$operands].initializedRender;\n if(!is_hyperscript && len(bindings.deepKeys)){\n const value=bindings.value;\n if(value || isString(value)) {\n item=bindings.deepKeys;\n }else {\n return;\n }\n }\n item=unwrap(item);\n const transform=mapClassTypeTransform(item, new Tuple());\n for(let [index, cls] of transform.entries()){\n cls=unwrap(cls);\n if(isSSR || isRerender){\n const props=isRerender ? sp : hx_Element.VNodeManager.SSRVnode.props;\n if(!hasOwn(props, 'class')) {\n props.class=new Tuple();\n }\n if(!props.class.has('cls')) {\n props.class.add(cls);\n }\n }else if(!element.classList.contains(cls)) {\n toggleClassNames(element, cls);\n }\n }\n if((isRerender && !len(bindings.subscribers)) || isSSR) {\n return;\n }\n const flush=createPriorityFlush(bindings.effect, function(observers){\n _createElementPropsEffectBlock_(self, {\n element, \n mode:'class',\n key:'class',\n effect:bindings.effect,\n value:bindings.effect.value\n }, observers);\n });\n hx_Element.VN_Tree.FLUSHS.add(flush);\n }\n function toggleClassNames(element, classes, remove=false){\n const toggler=remove ? 'remove' : 'add';\n classes.split(' ').forEach((cls)=>{\n if(cls) {\n element.classList[toggler](cls);\n }\n })\n }\n function compileStyleProps(self, item, styleProps){\n styleProps = styleProps || {};\n if(isPObject(item)){\n entries(item).forEach(([key, style])=>{\n if(!isPrimitive(unwrap(style))){ \n \n debugHandler(`[ ] \"${key}\" style prop: Unrecognized style property value \\nat at\\n \"${key}\" style property\\n\\n${'' || \"\" }`, self); \n return;\n }\n styleProps[toCamelCase(key)]=compileToRenderable(style);\n });\n }else if(isArray(item)) {\n item.forEach(value=>compileStyleProps(self, value, styleProps));\n }else if(isString(item)){\n let splited=item.trim().split(';');\n for(let styling of splited.values() ){\n if(styling && styling.includes(':')){\n const spread=styling.split(':');\n styleProps[spread[0]]=spread[1];\n }\n }\n }\n return styleProps;\n }\n function stylePropsKeys_Normalizing(self, item, deepKeys){\n const styleProps={};\n deepKeys?.forEach(prop=> styleProps[toCamelCase(prop)]=item);\n return styleProps;\n }\n function parse_Style_Binding(self, item, element, metrics, hx_Element){\n const { is_hyperscript, bindings, forwardAttrs } = metrics;\n let styleProps;\n const isSSR=isSSRCompiler(self);\n const deepKeys=metrics.bindings.deepKeys;\n const sp=hx_Element.VNodeManager.patchFlags.shapeProps;\n const isRerender=self[$$$operands].initializedRender;\n if(!is_hyperscript && len(deepKeys)) {\n styleProps=stylePropsKeys_Normalizing(self, item, deepKeys);\n }else {\n styleProps=compileStyleProps(self, item, {});\n }\n entries(styleProps).forEach(([prop, style])=> {\n if(isSSR || isRerender){\n const props= isRerender ? sp : hx_Element.VNodeManager.SSRVnode.props;\n if(!hasOwn(props, 'style')) {\n props.style={};\n }\n props.style[to_kebab_case(unwrap(prop))]=style;\n }else {\n element.style[toCamelCase(unwrap(prop))]=style;\n }\n });\n if((isRerender && !len( bindings.subscribers )) || isSSR) {\n return;\n }\n let { effect } = bindings;\n const flush=createPriorityFlush(effect, function(observers){\n value=_createElementPropsEffectBlock_(self, {\n element, \n mode:'style', \n effect,\n value,\n key:style\n }, observers);\n });\n hx_Element.VN_Tree.FLUSHS.add(flush);\n }\n function fall_AttrName(key, attr){\n const Key_Binding={ \n '*':1, \n '@':1, \n '...':3, \n \"$$\" :2,\n \"#\":1\n };\n if( !isString(key) && !key.trim() && hasSpecialCharacters(attr)) {\n return key ;\n }\n for(const [ky, sl] of entries(Key_Binding)){\n if(key.startsWith(ky)){\n if(has$$_bind(key)){ \n key=key.split(':')\n key.shift();\n return key.join(':')\n }\n return key.slice(sl);\n }\n }\n return key;\n }\n function isOnListener(key){\n return exists(key) && (isString(key) && /^on[A-Za-z]+\\w+$/.test(key));\n }\n function directive_sep(key){\n return key.includes(':') ? key.split(':') : [key]\n }\n function elementObserverWatch(element, callback, config={}){\n const observer= new MutationObserver(callback);\n const obsConfig= {\n attributes: true,\n childList: true, \n subtree: true \n }\n observer.observe(element, {\n ...config,\n ...obsConfig\n });\n }\n const keysSeparatorRegex= /([\\w$\\-][\\w$\\-]*)|\\[([^\\]]+)\\]/g;\n function AttrsKeyNormalizer(key, value, self){\n const binding={\n modifiers:[],\n directive:undefined,\n key:undefined,\n deepKeys:[],\n src:key,\n value\n }\n if(hasSpread_bind(key, true)){\n let prop=key.slice(3);\n binding.value=key.slice(3);\n binding.directive=\"bind\";\n }else if(!key.includes(':') && !key.includes('|') && !has$$_bind(key )) {\n binding.key=key;\n }else{\n let [ dir, keys, unecessary ] = directive_sep(key);\n if(exists(unecessary)) {\n debugHandler(`[ ] Error in directive saperator chain.\\n\\nExcessive directive chain, unable to determine\\n >>>> \"${unecessary}\"`, self, true);\n }\n binding[ ( key.startsWith(\"$$\")) ? 'directive' : 'key' ]=dir;\n if(!binding.key) {\n binding.key=keys;\n }else {\n keys = binding.key;\n }\n if(keys?.includes('|') || dir.includes('|')) {\n const ssd=!keys ? dir : keys;\n binding.modifiers=(ssd).split('|');\n const fV=binding.modifiers.shift();\n if(keys) {\n keys=fV;\n }else {\n dir=fV;\n binding.directive=dir\n }\n if(len(binding.modifiers)){\n iterate(binding.modifiers).each((value, key)=>{\n if(!value.trim()) {\n binding.modifiers.splice(key, 1);\n }\n });\n }\n }\n binding.key=keys;\n binding.directive=binding.directive?.slice(2);\n }\n if(keysSeparatorRegex.test(binding.key)){\n const deeps=[ ...(binding.key?.match(keysSeparatorRegex) || [])];\n if(len(deeps)) {\n binding.key=deeps.shift();\n }\n binding.deepKeys=deeps;\n }\n binding.src=key;\n if(binding.directive && !binding.value){\n const canBindDyy =_makeMap_(\"provide,html,text,model,clone,scoped,transite,animate,bind,slot\", binding.directive);\n if(canBindDyy) {\n binding.value= binding.key || binding.directive;\n }\n }\n return binding;\n }\n function AttrsKeyNormalizerDebugging(bindings, self){\n const { directive, modifiers, deepKeys, key, src } = bindings;\n let response=true;\n if(!directive){\n let errType=[ len(modifiers) ? \"modifiers\" : null, len(deepKeys) ? \"deepKeys\" : null];\n // iterate(errType).each((val, ind)=>{\n // if(!val) return;\n // debugHandler(`[ ] \"${val}\" carriers are only supported in template directive mode\\n\\n${key}::((\"${bindings[val].join( val==='modifiers' ? \"|\" : \".\")}\"))\\n\\n\"${val}\" interference has been rescinded`, self, true);\n // response=false;\n // });\n }\n return response;\n }\n function validateIncomingPropsKeys(self, { key, attr }, is_hyperscript, hx_Element, metrics){\n if(is_hyperscript && isillegalKeyBinding(key, is_hyperscript)){\n debugHandler(`[ ] Illegal binding not allowed in build Adapter mode\\n\\n\"${key}\" property has a disallowed binding directive property`, true, self);\n return {};\n }\n let { isRerender, patch } = metrics ;\n let $orgKey=key, modifiers=[], deepKeys=[], directive, bindings={}, effect\n if(!is_hyperscript){\n key = transpileDirectiveShorhand(key);\n bindings=AttrsKeyNormalizer(key, attr, self);\n const debugResponse=AttrsKeyNormalizerDebugging(bindings, self);\n modifiers=bindings.modifiers; \n deepKeys=bindings.deepKeys;\n directive=bindings.directive; \n key=bindings.key;\n const ResolveDAName=(kk)=>_DynamicAttrNameResolver(self, kk, hx_Element, metrics);\n if(key && dynamicAttrRegex.test(key) ) {\n let [ subs, attribute, p]=ResolveDAName(key);\n effect=p;\n bindings.key=attribute;\n bindings.value=bindings.key;\n }\n iterate(deepKeys).each((v, k)=>{\n if(deepKeys[k] && dynamicAttrRegex.test(deepKeys[k])) {\n let [ subs, attribute, patch]=ResolveDAName(v);\n deepKeys[k]=attribute;\n }\n });\n bindings.propertyKeyEffect=effect;\n }else {\n bindings= {\n directive,\n key,\n modifiers,\n deepKeys,\n value:attr,\n }\n }\n return bindings;\n }\n function validateListenSpecialEvent(self, bindings){\n const key = bindings.key;//.slice(2).toLowerCase();\n const is_dispatch_ev=key==='dispatch';\n if(!is_dispatch_ev && isFunction(bindings.value)) {\n bindings.value=[ bindings.value, bindings.value.options || {}];\n }\n let response=validateCollectionArgs(bindings.value, {\n validators:is_dispatch_ev ? [ [String, Array], Function, [String, Array]] : [Function, [String, Array]],\n name:bindings.key,\n max:is_dispatch_ev ? 3 : 2,\n min:is_dispatch_ev ? 2 : 1,\n name:`<${key}> event`\n });\n let [ events, method, modifiers ] = bindings.value;\n if(!is_dispatch_ev){\n const func=events;\n modifiers= method;\n events=to_kebab_case(key).split('-');\n if(to_kebab_case(key).includes('-')) {\n events.shift();\n }\n method=func;\n }\n bindings.deepKeys=isString(events) ? events.split(\".\") : isArray(events) ? events : [];\n bindings.key=bindings.deepKeys.shift();\n bindings.value=method;\n bindings.modifiers=isString(modifiers) ? modifiers.split(\"|\") : isArray(modifiers) ? modifiers : [];\n return true\n }\n function HTMLAttrsMagnifier(element, bindings, hx_Element, self, metrics){\n let { is_hyperscript, isRerender, vNode, forwardAttrs } = metrics ;\n const isSSR=isSSRCompiler(self);\n let { key, value:attr, src } = bindings;\n if(isHTMLBooleanAttributes(key)) {\n BooleanAttributesManager(self, element, [ key, attr], { \n is_hyperscript,\n bindings,\n forwardAttrs\n }, hx_Element );\n }else if(key === 'class') {\n parse_Class_Binding(self, attr, element, hx_Element, {\n is_hyperscript,\n bindings,\n forwardAttrs\n });\n }else if(isHTMLIDLAttributes(key)) {\n IDLPropsTransform(self, [ key, attr], element, {\n is_hyperscript,\n bindings,\n forwardAttrs\n }, hx_Element );\n }else if(!isRerender && (isOnListener(key) || isInlineListener(key) || key === 'dispatch')){ \n if(!click_handler_facading(self, [ key, attr, src ], bindings, element, hx_Element, metrics)) {\n return;\n }\n }else if(!isRerender && key === \"ref\") {\n Special_REF_Modifier(self, element, bindings, hx_Element, metrics);\n }else if(!isRerender && key === \"attach\") {\n transformAttachProp(self, bindings, element, hx_Element, metrics, );\n }else if(isHouxitNativeElement(hx_Element) && key === 'name' && vNode.prototype_ ==='slot') {\n slotNamingTRANSITION(self, bindings, element, hx_Element, metrics);\n }else if(key === \"context\") {\n SlotContextBindingTRANSITON(self, bindings, element, hx_Element, metrics);\n }else if(key === 'motion'){\n motionPropFacade(self, bindings, element, hx_Element, metrics);\n }else{\n try{\n attr=compileToRenderable(unwrap(attr));\n const sp=hx_Element?.VNodeManager?.patchFlags.shapeProps;\n if(isSSR || isRerender) {\n const props = isRerender ? sp : element.props;\n props[key]=attr;\n }else {\n element.setAttribute(key, attr);\n }\n }catch(err){\n debugHandler(err)\n debugHandler(`[ ] Attribute Error::\\n\\n...unable to set node attribute \"${key}\\n\\n ${err}`, self, true, `When setting the attribute \"${key}\" on \"${isSSR ? element.type : element.outerHTML}\"`, self, !is_hyperscript );\n return;\n }\n if((isRerender && !len(bindings.subscribers)) || isSSR) {\n return;\n }\n const flush=createPriorityFlush(bindings.effect, function(observers){\n value=_createElementPropsEffectBlock_(self, {\n element,\n key,\n value:compileToRenderable(value),\n mode:undefined,\n effect:bindings.effect\n }, observers);\n });\n hx_Element?.VN_Tree.FLUSHS?.add?.(flush);\n }\n }\n function motionPropFacade(self, bindings, element, hx_Element, metrics){\n let { value, key } = bindings;\n if(!isBaseMotion(value)){\n debugHandler(`[ ] <Element>.motion property receives an Invalid value...\\nNot a <Houxit.Motion> Property`, self, true);\n return;\n }\n const type=value.type;\n value=value[$motionKey];\n const motion=value[value.key];\n const { params, mode } = value;\n hx_Element.VNodeManager.motion_object.create(value.key === 'transition' ? 'transite' : 'animate', motion, {\n params,\n mode,\n element\n });\n createElementMotionEffect(self, hx_Element, metrics, element);\n }\n function isInlineListener(key){\n if(key.startsWith(\"on\")){\n const ev=key.slice(2);\n if(!IS_VALID_EVENT_HANDLER(ev)) {\n return;\n }\n return ev;\n }\n return;\n }\n function click_handler_facading(self,[ key, attr, src], bindings, element, hx_Element, metrics){\n attr=unwrap(attr);\n if(key === \"dispatch\" && !isArray(attr)){\n debugHandler(`[ ] <dispatch> dispatcher expects an array value of events and method\\n\\nFound \"${attr}\" of \"${getType(attr)}\" type`, self, !isNull(self));\n return;\n }else if(isOnListener(src) && !validateType(attr, [Array, Function])) {\n debugHandler(`[ ] <${key}> listener expects a function value or an array of valid methods functions\\n\\nFound \"${attr}\" of \"${getType(attr)}\" type`, self, !isNull(self));\n return;\n }\n if(isInlineListener(key)) {\n bindings.key=isInlineListener(key);\n }\n const options=attr.options || {};\n bindings.value=attr;\n metrics=assign({ options }, metrics);\n if(!validateListenSpecialEvent(self, bindings)) {\n return\n }\n $$dir_ON(self, bindings, element, hx_Element, metrics);\n return true;\n }\n const isValidPropsEffectMode=prop=>_makeMap_('bool,style,class,idl,ref', prop);\n function getPropMode(prop){\n if(isHTMLBooleanAttributes(prop)){\n return 'bool';\n }else if(isHTMLIDLAttributes(prop)){\n return prop === 'style' ? 'style' : 'idl';\n }else if(prop === 'ref'){\n return ref;\n }else if(prop === 'class'){\n return 'class';\n }\n return undefined;\n }\n function _createElementPropsEffectBlock_(self, metrics, observer, vnode){\n const { element, mode, effect, value, key, deepKeys=[] }=metrics;\n let transform =isEffect(effect) ? effect?.runEffect().value : value;\n let newValue=unwrap(transform);\n if(deepEqualityCheck(newValue, value)) {\n return value;\n }\n if(mode === 'class' || (mode === 'idl' && key === 'className')){\n newValue= newValue || '';\n const [ insert, remove ] = resolveClassDiffing(mapClassTypeTransform(newValue, new Tuple()), mapClassTypeTransform(value, new Tuple()));\n remove.forEach((klass)=>toggleClassNames(element, klass, true));\n insert.forEach((klass)=>toggleClassNames(element, klass));\n }else if(mode === 'bool'){\n if((newValue || isString(newValue)) && !(value || isString(value))){\n if (isHTMLIDLAttributes(key)) {\n element[key]=newValue;\n }else{\n element.setAttribute(key, newValue||'');\n }\n }else{\n if(!(newValue || isString(newValue)) && (value || isString(value))){\n if(isHTMLIDLAttributes(key)) {\n element[key]=false;\n }else {\n element.removeAttribute(key);\n }\n }\n }\n }else if(mode === 'style'){\n let styleProps;\n const deepKeys=deepKeys;\n newValue={};\n if(!is_hyperscript && len(deepKeys)) {\n styleProps=stylePropsKeys_Normalizing(self, newValue, deepKeys);\n }else {\n styleProps=compileStyleProps(self, newValue, {});\n }\n let oldStyleProps;\n if(!is_hyperscript && len(deepKeys)) {\n oldStyleProps=stylePropsKeys_Normalizing(self, value, deepKeys);\n }\n oldStyleProps=compileStyleProps(self, value, {});\n for(let [ prop, style ] of entries(styleProps)){\n style=unwrap(style);\n if(!deepEqualityCheck(style, oldStyleProps[prop]) || !hasOwn(oldStyleProps, prop )) {\n element.style[prop]=style;\n }\n }\n keys(oldStyleProps).forEach(style=>{\n if(!hasOwn(styleProps, style)) {\n element.style[style]=\"\";\n }\n });\n }else if(mode === 'idl') {\n newValue=compileToRenderable(newValue);\n element[key]= newValue;\n }else if(mode === 'ref'){\n \n }else if(isUndefined(mode)) {\n newValue=compileToRenderable(newValue);\n element.setAttribute(key, newValue);\n }\n return newValue;\n }\n function genericLifecircleTransmitter(args, hooksTuple, name, el){\n const [ callback ]=args;\n if(!validateCollectionArgs(args, {\n count:1,\n validators:[Function],\n required:[true],\n name:\"attach=Function(ctx){ctx.\"+name+\"()}\"\n })) {\n return;\n }\n hooksTuple.add(callback);\n return undefined;\n }\n function attachOnListener(self, args, element, hx_Element, metrics){\n if(!validateCollectionArgs(args, {\n min:2,\n max:3,\n validators:[[String, Array], Function, [String, Array]],\n required:[true, true],\n name:\"attach=Function(ctx){ctx.on()}\"\n })) {\n return;\n }\n let [ events, callback, modifiers ] = args;\n events=isString(events) ? events.split(\".\") : events;\n $$dir_ON(self, {\n value:callback,\n modifiers:isString(modifiers) ? modifiers.split(\"|\") : modifiers || [],\n key:events.shift(),\n deepKeys:events,\n directive:undefined,\n }, element, hx_Element, metrics);\n }\n function attachUseCallback(self, args, element, hx_Element, metrics, hooksList){\n const [ directive, value, modifiers ] = args;\n if(!validateCollectionArgs(args, {\n min:2,\n max:3,\n validators:[[Object, Function], Any, [String, Array]],\n required:[true, true],\n name:\"attach=Function(ctx){ctx.use()}\"\n })) {\n return;\n }\n _With_Custom_Directives(self, {\n value:directive,\n modifiers:isString(modifiers) ? modifiers.split(\"|\") : modifiers || [],\n key:undefined,\n deepKeys:[],\n directive:undefined,\n }, element, hx_Element, metrics.vNode, metrics.is_hyperscript );\n }\n function attachMultiProp(self, args, element, hx_Element, metrics){\n const [ key, value ] = args;\n if(!validateCollectionArgs(args, {\n min:1,\n max:2,\n validators:[String, Any],\n required:[true],\n name:\"attach=Function(ctx){ctx.prop()}\"\n })) {\n return;\n }\n attributes_hydration({\n key,\n attr:value\n }, self, hx_Element, metrics, element, metrics.config) ;\n }\n function transformAttachProp(self, bindings, element, hx_Element, metrics){\n const { key, value, } = bindings;\n if(!isPFunction(value)){\n debugHandler(`[ ] \"attach\" special property expects a plain Function type`, self, true);\n return;\n }\n const hooks=hx_Element.VNodeManager.LifeCycleHooks;\n const hooksList=new Tuple(...directivesHooksMap.split(\",\"));\n const context_obj={\n use(directive, value, modifiers){\n return attachUseCallback(self, [ ...arguments ], element, hx_Element, metrics, hooksList);\n },\n on(events, callback, modifiers){\n return attachOnListener(self, [ ...arguments ], element, hx_Element, metrics);\n },\n addProp(key, value){\n return attachMultiProp(self, [ ...arguments ], element, hx_Element, metrics);\n },\n animate(animation, params, mode){\n animation=animate(...arguments);\n motionPropFacade(self, {\n value:animation,\n key:'motion'\n }, element, hx_Element, metrics);\n return animation;\n },\n transite(transition, params, mode){\n transition=transite(...arguments);\n motionPropFacade(self, {\n value:transition,\n key:'motion'\n }, element, hx_Element, metrics);\n return transition;\n }\n }\n for(let hk of hooksList.values()){\n context_obj[hk]=function(callback){\n return genericLifecircleTransmitter([...arguments], hooks[hk+'_hook'], hk, element);\n }\n }\n value(context_obj);\n }\n function __widget_props_effect(app, metrics, observers){\n if(!isHouxitBuild(app)){\n return;\n }\n const { value, effect, key } = metrics;\n const transform= effect.runEffect().value;\n const newValue = unwrap(transform);\n const params=app[$$$ownProperties].$params;\n const attrs=app.__public_model__.$attrs;\n const mode=hasOwn(params, key) ? \"params\" : hasOwn(attrs, key) ? \"attrs\" : undefined;\n if(deepEqualityCheck(unwrap(value), newValue)) {\n return value;\n }\n if(mode === \"params\") {\n params[key].data=newValue;\n }else if(mode === \"attrs\") {\n useReadonlyBypasser(attrs, key, newValue, true);\n }\n return newValue;\n }\n function widget_props_plugin(element, bindings, hx_Element, self, metrics){\n let { key, value, src, deepKeys} = bindings;\n const { is_hyperscript, vNode } = metrics;\n let re_evaluate=false;\n const isRerender=self[$$$operands].initializedRender;\n if(isOnListener(key) || key === 'dispatch') {\n click_handler_facading(self,[ key, value, src], bindings, element, hx_Element, metrics);\n }else if(!isRerender && key === \"ref\"){\n Special_REF_Modifier(self, element, bindings, hx_Element, metrics);\n }else if(key === 'attach') {\n transformAttachProp(self, bindings, element, hx_Element, metrics)\n }else if((!hasOwn(element, key))) {\n element[key]=value;\n re_evaluate=true;\n }else if(hasOwn(element, key)){\n if(!hasOwn(element, '__hx_keys__')){\n element.__hx_keys__=new Tuple();\n }\n element.__hx_keys__.add([key, value]);\n }\n if(!re_evaluate || !(!isHouxitBuiltinSymbolWidget(vNode.prototype_) && !isSSRCompiler(self))){\n return;\n }\n const flush=createPriorityFlush(bindings.effect, function(observers){\n value=__widget_props_effect(hx_Element.widget_instance, {\n effect:bindings.effect,\n value:memMove(value),\n key,\n }, observers);\n });\n hx_Element.VN_Tree.FLUSHS.add(flush);\n }\n function attributes_hydration(props, self, hx_Element, metrics, element, config, lexical){\n const { key, attr, data, deepKeys, effect } = props;\n let { isW, is_hyperscript, isRerender, patch, vNode } = metrics ;\n metrics.config=config;\n const bindings=validateIncomingPropsKeys(self, { key, attr }, is_hyperscript, hx_Element, metrics);\n const $orgKey=bindings.src;\n bindings.data=data;\n bindings.effect=effect;\n if(lexical) {\n bindings.deepKeys=deepKeys;\n }\n if(is_hyperscript && !isOnListener(bindings.key) && (isFunction(bindings.value) || _makeMap_([For, If, ElseIf, Build], vNode.prototype_))){\n const fn=bindings.value;\n const effect=_createHouxitEffectFrame(()=>{\n return unwrap(safeCall(fn));\n }, self);\n effectRunner(effect);\n bindings.effect=effect;\n bindings.value=effect.value;\n defineKeyEffectOnVnode(vNode, key, effect);\n }else{\n assign(bindings, metrics.patch);\n }\n if(!is_hyperscript && bindings.directive){ \n _Resolve_Directives_Hydration(self, bindings, element, hx_Element, metrics );\n }else if(bindings.key === 'key'){\n hx_Element.VNodeManager.vNodeClass.key=bindings.value;\n hx_Element.VNodeManager.keyIdBinding=bindings;\n }else{ \n ( isW ? widget_props_plugin : HTMLAttrsMagnifier )(element, bindings, hx_Element, self, metrics );\n }\n }\n function slotNamingTRANSITION(self, bindings, element, hx_Element, metrics){\n let { value }=bindings;\n const { isRerender, vNode, is_hyperscript } = metrics;\n const isSSR=isSSRCompiler(self);\n if(isRerender) {\n hx_Element.VNodeManager.element_slot_ref=value;\n return;\n }\n if(!isString(value)){\n debugHandler(`[ ] slot \"name\" atrribute value expects a \"string\" value data type\\n\\nuntraceable data type found`, self, true);\n return;\n }\n const SSBs=self[$$$compiler].scopeSlotsBindings;\n if(hasOwn(SSBs, value)){\n debugHandler(`[ ] slot with name \"${value}\" has been duplicated\\n\\nMore than one slot with same name mapping cannot be implemented to avoid dublicated renderimg of slots contents`, self, true);\n $warn(`NOTE: Un-named slots elements shares the same naming scope with implicitly defined \"name='default'\" slots elements`, self);\n return;\n }\n if(!isRerender){\n const current_value=compileToRenderable(unwrap(value));\n if(isSSR) {\n element.props.name=current_value;\n }else {\n element.setAttribute('name', current_value);\n }\n SSBs[value]={\n bindings:undefined,\n element\n }\n }\n }\n function SlotContextBindingTRANSITON(self, bindings, element, hx_Element, metrics){\n const { isRerender, is_hyperscript, effect, vnode } = metrics;\n const isSSR=isSSRCompiler(self);\n const SSRVnode=hx_Element.VNodeManager.SSRVnode\n if(!isRerender && (isSSR ? SSRVnode.type : element.localName) !== \"slot\"){\n debugHandler(`[ ] \"context\" special property is only scoped to html \"<slot>\" element in Houxit\\n<slot> element scope context property found on a none \"<slot>\" element\\n\\nFailed to resolve binding`);\n return;\n }\n const slotName = isRerender && !isSSR ? hx_Element.VNodeManager.element_slot_ref : isSSR ? SSRVnode.props.name : element.name\n const SSBs=self[$$$compiler].scopeSlotsBindings;\n if(!isRerender && !slotName && !hasOwn(SSBs, slotName)){\n debugHandler(`[ ] To specifically bind context scope to slots, they are obliged to be contextually named\\n\\nIt's either this slot element was not named properly…\\nOr that the \"context\" property precedes the special slot \"name\" attribute`, self, true);\n $warn(`To resolve this, make sure the \"name\" attribute comes before the \"context\" key on this slot element`, self);\n return;\n }\n let data_bind=bindings.value;\n if(!isPObject(data_bind)){\n debugHandler(`[ ] \"context\" special scope property expects a plain object\\nInvalid data type received\\n\\n@@ \"${slotName}\" <slot> element>>>>>`, self, true);\n return;\n }\n data_bind=token(data_bind);\n if(!isRerender) {\n assign(SSBs[slotName], {\n get bindings(){\n return data_bind.data;\n }\n });\n effect.attachCallback(()=> {\n assign(data_bind.data, effect.runEffect().value);\n });\n }\n }\n function IDLPropsTransform(self, props, element, metrics, hx_Element ){\n let [ key, attr ] = props;\n const { is_hyperscript, bindings } = metrics;\n const isSSR=isSSRCompiler(self);\n const sp=hx_Element.VNodeManager.patchFlags.shapeProps;\n const isRerender=self[$$$operands].initializedRender;\n if(key === 'style') {\n return parse_Style_Binding(self, attr, element, metrics, hx_Element);\n }else if(key === \"className\") {\n const transform=mapClassTypeTransform(attr, new Tuple());\n if(isSSR || isRerender){\n const props=isRerender ? sp : hx_Element.VNodeManager.SSRVnode.props;\n if(!hasOwn(props, 'className')) {\n props.className=\"\";\n }\n props.className=props.className+\" \"+transform.join(\" \");\n }else {\n element.className=element.className+\" \"+transform.join(\" \");\n }\n }else {\n if(isSSR || isRerender){\n const props=isRerender ? sp : hx_Element.VNodeManager.SSRVnode.props\n props[ _makeMap_('innerText,textContent', key) ? 'innerText' : key]=escapeDecoder(compileToRenderable(attr));\n }else {\n element[key]=compileToRenderable(attr) ;\n }\n }\n if((isRerender && !len( bindings.subscribers )) || isSSR) {\n return;\n }\n const flush=createPriorityFlush(bindings.effect, function(observers){\n _createElementPropsEffectBlock_(self, {\n element, \n mode:'idl', \n value:bindings.effect.value,\n key,\n effect:bindings.effect,\n }, observers);\n });\n hx_Element.VN_Tree.FLUSHS.add(flush);\n }\n const isillegalKeyBinding=(prop, is_hyperscript)=>is_hyperscript && (hasAsterisks_bind(prop) || has$$_bind(prop) || hasAt_bind(prop)) || hasAsh_bind(prop);\n function Props_dilation_compile(vNode, self, hx_Element, metrics, element, config){\n const props=vNode.props ;\n const shatteredFlags=!isHouxitElement(hx_Element) ? hx_Element : null;\n const isSSR=isSSRCompiler(self);\n if(!isPObject(props)) {\n return element;\n }\n const is_hyperscript= metrics.is_hyperscript;\n const isRerender=self[$$$operands]?.initializedRender;\n const ctx=metrics.ctx;\n metrics = { \n isRerender,\n is_hyperscript: self ? self[$$$core].map.is_hyperscript : hx_Element ? hx_Element.is_hyperscript : undefined,\n isW: !(isSSR ? isString(element.type) : IS_ELEMENT_NODE(element)) && (validHouxitWidget(vNode.prototype_)),\n shatteredFlags,\n ctx,\n vNode\n }\n let propsIndex=0;\n const compileProps=(key, attr)=>attributes_hydration({\n key,\n attr\n }, self, hx_Element, metrics, element, config) ;\n entries(props).forEach(([key, attr ])=>{\n if(key === \"__hx_keys__\"){\n iterate(attr).each(([ky, vl])=> compileProps(ky, vl));\n }else {\n compileProps(key, attr);\n }\n });\n }\n function specialPropsPrefix(self, props, element, hx_Element){\n \n }\n function BooleanAttributesManager(self, element, [ key, attr ], { is_hyperscript, bindings, forwardAttrs }, hx_Element){\n attr=unwrap(attr);\n const isSSR = isSSRCompiler(self);\n const isRerender=self[$$$operands].initializedRender;\n if(isString(attr) || attr) {\n if(isSSR) {\n element.props[key]=attr;\n }else if(isRerender){\n hx_Element.patchFlags.shapeProps[key]=attr;\n }else{\n if (isHTMLIDLAttributes(key)) {\n element[key]=attr;\n }else {\n element.setAttribute(key, attr||'');\n }\n }\n }\n if((isRerender && !len(bindings.subscribers)) || isSSR) {\n return;\n }\n const flush=createPriorityFlush(bindings.effect, function(observers){\n _createElementPropsEffectBlock_(self, {\n element, \n mode:'bool', \n effect:bindings.effect,\n key,\n value:bindings.effect.value,\n effect:bindings.effect\n }, observers);\n });\n hx_Element.VN_Tree.FLUSHS.add(flush);\n }\n function generateCustomDirBinding(self, hx_Element, bindings){\n const { modifiers, deepKeys } = bindings;\n return {\n modifiers,\n deepKeys\n };\n }\n function _With_Custom_Directives(self, bindings, element, hx_Element, vNode, is_hyperscript){\n let { key, value:attr, modifiers, deepKeys, src, directive:Name } = bindings;\n const isRerender = self[$$$operands].initializedRender;\n let value;\n if(!is_hyperscript && attr) {\n value=_$runModelBind(self, attr, hx_Element, true);\n }\n let has_modifiers=len(modifiers) ? true : false;\n if(!is_hyperscript && !hasOwn(self[$$$register].directives, Name )){\n debugHandler(\n `((unrecognized directive reference))\\n\\n \"${Name}\" directive was not registered as a directive on this widget\\n\\nat...........at>>>\\n${element?.outerHTML || \"\"}`\n , self, true, \"during directive resolving\" );\n return element;\n }\n const directive= is_hyperscript ? attr : self[$$$register].directives[Name];\n const CustomDir ={ \n init:pass, \n destroyed:pass,\n created:pass, \n updated :pass, \n mounted :pass\n };\n let dirB=generateCustomDirBinding(self, hx_Element, bindings)\n if(isPFunction(directive)) {\n CustomDir.mounted=directive;\n }else if(isPObject(directive) ){\n if( !has_Intersect_Prop(directivesHooksMap.split(','), keys(directive))) {\n debugHandler(`[(Directive Error)]\\n\\ndirective ${ typeof directive } does not define any of widget Directive hook.\\n \"created/mounted/updated/init/destroyed\" method`, self, true); \n return element;\n }else{\n for(const [ name, hook] of entries(directive)){\n if(new Set(directivesHooksMap.split(',')).has(name)){\n if(!isPFunction(directive[name])){\n debugHandler(`[(Custom directive)]\\n\\ncustom Directive \"${Name}\" ${name} hook is not a function`,self, true);\n return element;\n }else {\n hook[lifeCiycleBinding]={\n modifiers:new Tuple(...keys(modifiers || [])),\n key,\n deepKeys,\n value\n }\n CustomDir[name]=hook;\n }\n }\n }\n }\n }\n if(isRerender) {\n return;\n }\n if(!isNativeElement(element) && validHouxitWidget(element.prototype_)){\n define(element, $$$customDirs,{ value:{\n init_hook:new Tuple(), \n created_hook:new Tuple(),\n mounted_hook:new Tuple(),\n updated_hook:new Tuple(),\n destroyed_hook:new Tuple()\n }, enumerable, configurable });\n }\n for(let hook of directivesHooksMap.split(',').values()){\n if(CustomDir[hook] && !isPass(CustomDir[hook])) {\n if(isNativeElement(element)){\n if(hook === 'init') {\n continue;\n }\n hx_Element.VNodeManager.LifeCycleHooks[hook+'_hook'].add(CustomDir[hook]);\n }else if(validHouxitWidget(element.prototype_)) element[$$$customDirs][hook+'_hook'].add(CustomDir[hook]);\n }\n }\n return element;\n }\n function isPass(func){\n return isPFunction(func) && func.name === 'pass' && hasOwn(func, $passKey);\n }\n// const KEYS = {\n// // Control keys\n// enter: \"Enter\",\n// tab: \"Tab\",\n// esc: \"Escape\",\n// escape: \"Escape\",\n// space: \" \",\n// spacebar: \" \", // legacy alias\n// backspace: \"Backspace\",\n// delete: [\"Delete\", \"Backspace\"],\n// insert: \"Insert\",\n\n// // Navigation\n// home: \"Home\",\n// end: \"End\",\n// pageup: \"PageUp\",\n// pagedown: \"PageDown\",\n\n// // Arrow keys\n// up: \"ArrowUp\",\n// down: \"ArrowDown\",\n// left: \"ArrowLeft\",\n// right: \"ArrowRight\",\n\n// // Lock keys\n// capslock: \"CapsLock\",\n// numlock: \"NumLock\",\n// scrolllock: \"ScrollLock\",\n\n// // Editing / Misc\n// printscreen: \"PrintScreen\",\n// pause: \"Pause\",\n// contextmenu: \"ContextMenu\",\n\n// // Function keys\n// f1: \"F1\",\n// f2: \"F2\",\n// f3: \"F3\",\n// f4: \"F4\",\n// f5: \"F5\",\n// f6: \"F6\",\n// f7: \"F7\",\n// f8: \"F8\",\n// f9: \"F9\",\n// f10: \"F10\",\n// f11: \"F11\",\n// f12: \"F12\",\n\n// // Modifier keys\n// ctrl: \"Control\",\n// control: \"Control\",\n// shift: \"Shift\",\n// alt: \"Alt\",\n// meta: \"Meta\",\n\n// // Common punctuation\n// comma: \",\",\n// period: \".\",\n// slash: \"/\",\n// backslash: \"\\\\\",\n// semicolon: \";\",\n// quote: \"'\",\n// backquote: \"`\",\n// minus: \"-\",\n// equal: \"=\",\n// bracketleft: \"[\",\n// bracketright: \"]\"\n// };\n const KEYS_MODIFIERS = {\n enter: \"Enter\",\n esc: \"Escape\",\n tab: \"Tab\",\n space: \" \",\n delete: [\"Delete\", \"Backspace\"],\n up: \"ArrowUp\",\n down: \"ArrowDown\",\n left: \"ArrowLeft\",\n right: \"ArrowRight\",\n }\n const modifiers_keys={\n ctrl:'ctrlKey',\n shift:'shiftKey',\n alt:'altKey',\n meta:'metaKey'\n }\n function _Run_With_Modifiers(self, element, modifiers, func){\n if(!isPFunction(func)){\n // debugHandler(`[ ] \"${''}\" event Callback must be passed as a function \\n \\n${func } is not a valid event callback method`, self, true);\n return;\n }\n modifiers=isArray(modifiers) ? new Tuple(...modifiers) : modifiers;\n const options={};\n if(modifiers.has('once')) {\n options.once=true;\n modifiers.delete('once');\n }\n if(modifiers.has('passive')) {\n options.passive=true;\n modifiers.delete('passive');\n }\n if(modifiers.has('nonpassive')) {\n options.passive=false;\n modifiers.delete('nonpassive');\n }\n if(modifiers.has('capture')) {\n options.capture=true;\n modifiers.delete('capture');\n }\n if(modifiers.has('noncapture')) {\n options.capture=false;\n modifiers.delete('noncapture');\n }\n function __With_Modifiers($event){\n if(modifiers.has('prevent')) {\n $event.preventDefault();\n modifiers.delete('prevent');\n }\n if(modifiers.has('stop')) {\n $event.stopPropagation();\n modifiers.delete('stop');\n }\n if(modifiers.has('trusted')) {\n func=$event.isTrusted ? func : pass;\n modifiers.delete('trusted');\n }\n if(modifiers.has('self') && !element.isSameNode($event.target)) {\n modifiers.delete('self');\n return;\n }\n for (let modifier of modifiers.values()){\n if(hasOwn(KEYS_MODIFIERS, modifier)){\n const keyBind=KEYS_MODIFIERS[modifier];\n const e_key=$event.key;\n if(isArray(keyBind) ? !keyBind.includes(e_key) : keyBind !== e_key){\n return;\n }\n }else if(hasOwn(modifiers_keys, modifier)){\n if(!$event[modifiers_keys[modifier]]){\n return;\n }\n }\n }\n func.call(this, ...arguments);\n }\n return [ __With_Modifiers, options ];\n }\n function Special_REF_Modifier(self, node, binding, hx_Element, metrics){\n let { key, value, src, data, effect }=binding;\n const isWidget=isHouxitWidgetElement(hx_Element);\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n let refKey = effect ? effect.value : value ;\n const templateRefs=self[$$$operands].templateRefsInputs;\n const model=self.__public_model__;\n let ref;\n if(isString(refKey)){\n if(!hasOwn(templateRefs, refKey)){\n debugHandler(`[templateRefs reference] not defined (${refKey})`, self, true);\n return;\n }\n ref=templateRefs[refKey];\n }else if(isToken(refKey)){\n ref=refKey;\n }else{\n debugHandler(`[templateRefs reference] not a token. templateRefs expects a token() instance.\\nSee [Template Refs] reference`, self, true);\n return;\n }\n const [ getRef, setRef ] = model.$useAgent(ref);\n let cb=pass;\n const current=getRef();\n if(current && !isArray(current)){\n const prev=current;\n setRef(shallowStream([prev]));\n }else if(!current){\n cb=element=>setRef(element);\n }\n if(isArray(getRef())){\n cb=element=>getRef().push(element);\n }\n if(isWidget){\n metrics.vNode.filesFilter.templateRef=instance=>safeCall(cb, instance);\n }else{\n cb(node);\n }\n }\n function $$dir_HTML(self, bindings, element, hx_Element, metrics, text ){\n let { value, modifiers } = bindings;\n modifiers=new Set(modifiers);\n const isSSR=isSSRCompiler(self), SSRVnode=hx_Element.VNodeManager.SSRVnode, is_hyperscript=hx_Element.is_hyperscript, item=value;\n let effect, attr=value;\n if(!is_hyperscript) {\n effect=_createHouxitEffectFrame(function(){\n return _$runModelBind(self, attr, hx_Element, !modifiers.has('bind'));\n }, self);\n value=effectRunner(effect).value;\n }\n value=unwrap(value);\n const innerProp=text ? 'innerText' : 'innerHTML';\n if( isPrimitive(value)) {\n value=compileToRenderable(value);\n if((isSSR ? isSSR(element.type) : !isNativeElement(element))){ \n self.__public_model__.$attrs[innerProp]=value;\n }else if(isSSR) {\n element.props[innerProp]=value;\n }else {\n element[innerProp]=value;\n }\n }\n const flush=createPriorityFlush(effect, function(observers){\n value=_createElementPropsEffectBlock_(self, {\n element, \n mode:'idl', \n effect,\n value,\n key:innerProp\n }, observers, metrics.vnode);\n });\n hx_Element.VN_Tree.FLUSHS.add(flush);\n }\n function wrapNamespaceBind(self, LabContext, param, dataBind){\n if(!LabContext) {\n LabContext={};\n }else {\n LabContext=assign({}, LabContext);\n }\n if(param && isDestructureSyntax(param)){\n if(!destructWarn(param, dataBind, self)) {\n return LabContext;\n }\n LabContext=smartDextCtxMerging(LabContext, {\n [$$dexTransformKey]:{\n sourcesArray:[ dataBind ],\n syntaxArray:[ param ]\n }\n });\n }else if(param) {\n LabContext[param]=dataBind;\n }\n return LabContext;\n }\n function $$dir_SLOT(self, bindings, vnode, hx_Element, metrics){\n let { value, modifiers, key } = bindings;\n const { is_hyperscript, isRerender, config } = metrics;\n if(!key){\n debugHandler(`[(slot key error)] \"$$slot\" directive has no key mapping name defined to the \"slot\" element\\n\\n--failed-- to normalize slot --directive--`);\n return;\n }\n modifiers=new Set(modifiers);\n const isSSR=isSSRCompiler(self);\n const isHy=isHydration(self);\n const iswt=!(isSSR ? isString(vnode.type) : isNativeElement(vnode)) && validHouxitWidget(vnode?.prototype_);\n hx_Element.slot_name=key;\n const parent=hx_Element?.VNodeManager?.vNodeClass.filesFilter.parent.widget_instance;\n const slotBindings=parent?.[$$$compiler].scopeSlotsBindings;\n let dataBind=slotBindings ? slotBindings[key]?.bindings : undefined;\n hx_Element.LabContext=wrapNamespaceBind(self, hx_Element.LabContext, value, dataBind);\n }\n function __dilateHandler(self, props, hx_Element, is_hyperscript){\n const { key, item, src } = props;\n if(is_hyperscript || (!isOnListener(src) && !hasAt_bind(src) && !src.startsWith(\"$$on:\") ) || isContextMethodString(self, hx_Element, item)){\n return item;\n }\n return \"($event)=>\"+item;\n }\n function $$dir_BIND(self, binding, el, hx_Element, metrics){\n const { is_hyperscript, shatteredFlags, ctx, vNode, config } = metrics\n let { key, value:item, modifiers, deepKeys, src }= binding;\n item=__dilateHandler(self, { \n key,\n item,\n src\n }, hx_Element, is_hyperscript );\n const effect=_createHouxitEffectFrame(function(){\n return isString(item) ? _$runModelBind(self, item, hx_Element || ctx ) : safeCall(item) ;\n }, self);\n let { value:transform } = effectRunner(effect);\n const isRerender=self[$$$operands]?.initializedRender;\n const response=transform;\n transform = unwrap(transform);\n metrics.effect=effect;\n if(!key && !isPObject(transform)) {\n debugHandler(`[non object spread bind] \"$$bind\" directive attributes binding expects a plain props object value when not chained to any key argument`, self, true);\n return ;\n }else if(!key && isPObject(transform)) {\n for(const [ ky, attr ] of entries(transform)){\n attributes_hydration({\n key:ky,\n attr:unwrap(attr),\n data:attr,\n effect\n }, self, hx_Element, metrics, el, config);\n }\n }else {\n attributes_hydration({\n key,\n attr:transform,\n data:response,\n deepKeys,\n effect\n }, self, hx_Element, metrics, el, config, true);\n }\n hx_Element=!isHouxitElement(hx_Element) ? shatteredFlags : hx_Element;\n defineKeyEffectOnVnode(vNode, key, effect);\n }\n function defineKeyEffectOnVnode(vNode, key, effect){\n if(isHouxitBuiltinSymbolWidget(vNode.prototype_)){\n if(!vNode.compiler[vNode.prototype_]){\n vNode.compiler[vNode.prototype_]={};\n }\n vNode.compiler[vNode.prototype_][key]=effect;\n }\n }\n function $$dir_ON(self, bindings, node, hx_Element, metrics){\n let { key, value:attr, deepKeys, modifiers, src } = bindings;\n let options=metrics.options;\n const isRerender=self[$$$operands].initializedRender;\n const vNode=isHouxitElement(hx_Element) ? hx_Element.VNodeManager.vNodeClass : hx_Element.vNodeClass;\n const isSSR=isSSRCompiler(self);\n const isWidget=node && validHouxitWidget(vNode.prototype_) && !((isSSR && isString(node.type)) || isNativeElement(node));\n let effect;\n if(isString(attr)){\n attr=__dilateHandler(self, {\n key,\n item:attr,\n src\n }, hx_Element, metrics.is_hyperscript);\n const funcToken=attr;\n effect=_createHouxitEffectFrame(()=>{\n attr=_$runModelBind(self, attr, hx_Element);\n attr=object_Has_Path(self.__public_model__, funcToken) && isPFunction(attr) ? attr.bind(self.__public_model__) : attr;\n return attr;\n }, self);\n try{\n attr=effectRunner(effect).value;\n }catch(err){\n debugHandler(`[ ] ${err}`, self, true);\n return node;\n }\n attr=unwrap(attr);\n if(!isPFunction(attr)){\n debugHandler(`[ ] \"${name}\" event must be wrapped as or in a function \\n\\non.....on...\\n \"${isWidget ? '' : node?.localName}\" \\n`, self, true);\n return node;\n }\n }\n if(len(modifiers)){ \n [ attr, options ]=_Run_With_Modifiers(self, node, modifiers, isFunction(attr) ? attr : pass, deepKeys);\n }\n if(key) {\n deepKeys=[ key, ...deepKeys];\n }\n let listenerHandle=attr;\n if(!isRerender && isWidget){\n const board=vNode.filesFilter.$$$Events;\n for( let [ ind, ev ] of deepKeys.entries()){\n let card={\n callbacks:new Tuple(),\n event:ev,\n effect\n }\n if(hasOwn(board, ev)) {\n card=board[ev];\n }else {\n board[ev]=card;\n }\n attr.options=options;\n card.callbacks.add(attr);\n }\n }else if(!isRerender && (isHydration(self) && isVNodeClass(node)) || (!isSSR && IS_ELEMENT_NODE(node))){\n let index=0;\n for(let event of deepKeys.values()) {\n if(!IS_VALID_EVENT_HANDLER(event)){\n debugHandler(`[ ] \"${event}\" is not a valid event name`, self, true);\n }else {\n const callbackListen=element=>{\n element.addEventListener(event, (...args)=>{\n (isFunction(listenerHandle) ? listenerHandle : pass)(...args);\n }, options);\n }\n if(isHydration(self)) {\n node.filesFilter.$ssr_kit.hydrationFlushs.add(callbackListen);\n }else if(!isSSR) {\n callbackListen(node);\n }\n }\n }\n }\n createPriorityFlush(effect, ()=>{\n listenerHandle=effect.runEffect().value;\n listenerHandle = !isPFunction(listenerHandle) ? pass : listenerHandle;\n });\n return node;\n }\n function $$dir_CLONE(self, bindings, vnode, hx_Element, metrics){\n const is_hyperscript=hx_Element.is_hyperscript;\n let { key, value:item, modifiers, deepKeys, directive:name }=bindings;\n modifiers=new Set(modifiers);\n if(!object_Has_Path(self.__public_model__, item)){\n debugHandler(`[ ] value \"${item}\" property value was referenced during render, but not initialized on model or is undefined\\n\\nat at\\n ...\"${name} directive on ${isWidget ? '$$clone' : vnode.localName} `,self, true);\n return;\n }\n let ref, effect;\n try{\n if(!is_hyperscript){\n effect=_createHouxitEffectFrame(function(){\n return get_Object_Value(self.__public_model__, item, modifiers.has('bind'));\n }, self);\n ref=effectRunner(effect).value;\n }\n if(ref && !isNull(ref)) {\n ref = get_Object_Value(self.__public_model__, item, modifiers.has('bind'));\n }\n }catch(err){\n debugHandler(`[ ] There is a problem with accessing the path \"${item}\" property which was referenced during render, but seems not initialized on model or is undefined\\n\\nat at\\n ...\"${name} directive on ${isWidget ? 'ref' : vnode.localName} `, self, true);\n debugHandler(err)\n return;\n }\n let propPath=item;\n if(isToken(ref)){\n if(isReadonly(ref)){\n debugHandler(`[ ] Path provided to the $$clone directive path \"${item}\" resolves to a readonly ref value\\n\\nFailed to mutate a readonly ref......at .......\"${name}\"`, self, true);\n return;\n }\n propPath= item+ref[refInternalEffectKey].accessor;\n }\n }\n function normalize_motion_directives(self, bindings, node, hx_Element, metrics, patchFlags, transit){\n let { value, modifiers, key, directive, deepKeys } = bindings;\n modifiers=new Set(modifiers);\n const type=directive === 'transite' ? 'transitions' : 'animations';\n const is_hyperscript=hx_Element.is_hyperscript;\n const item=value;\n const effect=_createHouxitEffectFrame(function(){\n return _$runModelBind(self, value, hx_Element, !modifiers.has('bind'));\n }, self);\n value= effectRunner(effect).value;\n value=unwrap(value);\n const obj=hx_Element.VNodeManager.motion_object;\n const mode =modifiers.has('in') ? 'in,' : modifiers.has('out') ? 'out' : 'both';\n const activateMotion=(key, directive)=>{\n const motion=generateMotion(self, {\n mode,\n value:key,\n key:directive\n });\n obj.create(directive, motion, {\n mode,\n params:value,\n element:node\n });\n }\n activateMotion(key, directive);\n iterate(deepKeys || []).each(ky=> activateMotion(ky, directive));\n createElementMotionEffect(self, hx_Element, metrics, node);\n }\n function $$dir_ANIMATE(self, bindings, node, hx_Element, metrics, patchFlags, animate){\n normalize_motion_directives(...arguments);\n }\n function $$dir_TRANSITE(self, bindings, node, hx_Element, metrics, patchFlags, transit){\n normalize_motion_directives(...arguments);\n }\n function $$dir_SCOPED(self, bindings, node, hx_Element, metrics, patchFlags){\n let { value:item, modifiers, directive:name } = bindings;\n modifiers=new Set(modifiers);\n const isStyleEl=isNativeElement(node) && node.localName === 'style';\n if(!isStyleEl) {\n debugHandler(`[ ] \"$$scoped\" directive is only restricted to document <style> elements only`, self, true);\n return node;\n }\n let effect;\n if(!is_hyperscript){\n effect=_createHouxitEffectFrame(function(){\n return _$runModelBind(self, item, hx_Element, !modifiers.has('bind'));\n }, self);\n value=effectRunner(effect).value;\n }else {\n value=item;\n }\n const unwraped=unwrap(value);\n if(!unwraped) {\n return node;\n }\n node.innerHTML=_stylesheet_hydration(self, node.innerHTML);\n return node;\n }\n function $$dir_PROVIDE(self, Binding, vNode, hx_Element){\n let { directive, value, key, }=Binding;\n hx_Element.VNodeManager[$$$context]={ \n prop:value\n };\n }\n function genericCollection(value){\n if(!validateType(value, [WeakSet, Set, Tuple, Array])){\n debugHandler(\"[genericCollection() Error] receives a non collection value\");\n return {};\n }\n const add=validateType(value, [Set, Tuple, WeakSet]) ? 'add' : 'push';\n const has=validateType(value, [Set, Tuple, WeakSet]) ? 'has' : 'includes';\n const deleteV=validateType(value, [Set, WeakSet]) ? 'remove' : isTuple(value) ? 'delete' : 'splice';\n return {\n add:(...args)=>value[add](...args),\n has:(...args)=>value[has](...args),\n delete(v, c=1, ...inserts){\n let args=[ v ];\n if(isArray(value)){\n args=[value.indexOf(v), c, ...inserts];\n }\n return value[deleteV](...args);\n }\n }\n }\n function $$dir_MODEL(self, bindings, element, hx_Element, metrics){\n let { value:item, modifiers, key, }=bindings;\n let initVal='', effect;\n const { config } = metrics;\n const isSSR=isSSRCompiler(self);\n try{\n effect=_createHouxitEffectFrame(function(){\n return get_Object_Value(self.__public_model__, item, true);\n }, self);\n bindings.effect=effect\n initVal=unwrap(effectRunner(effect).value);\n }catch(err){\n debugHandler(`[ ] undefined reference for directive \"$$model\"\\n\\n \"${item}\" is not defined on widget model instance\\n\\n${err}`, self, true);\n return\n }\n if(isHouxitWidgetElement(hx_Element)){\n return defineInstanceModelDriver(...arguments);\n }\n const localName=isSSR ? element.type : element.localName;\n if((isSSR && isString(localName)) || IS_ELEMENT_NODE(element)){\n if(!_makeMap_(HTML_FORM_ELEMENTS, localName)){\n debugHandler(`[(Compilation Error)]::\\n\\n cannot bind a data model to a none form element\\n\\n`, self, true);\n $warn(\"widget root element is not a form element\", self);\n return;\n }\n hx_Element.VNodeManager.has_model=true;\n function flushCallback(element){\n if(localName==='form') return normalize_form_model(self, element, initVal, modifiers, effect);\n const target_value=get_I_V(element);//try converting a range/number type to a number\n applyModelInitialState(self, element, initVal, localName);\n updateElementModelValue(self, element, target_value, item, initVal, modifiers, null, true);\n element.addEventListener(get_Model_Event(element), function($ev){\n try{\n initVal=updateElementModelValue(self, element, get_I_V($ev.target), item, initVal, modifiers);\n }catch(err){\n debugHandler(err)\n debugHandler(`[ ] ${err}`, self, true);\n }\n });\n }\n if(isHydration(self)) {\n element.filesFilter.$ssr_kit.hydrationFlushs.add(flushCallback);\n }else if(!isSSR) {\n whenMounted(self, element, ()=>flushCallback(element));\n }\n createPriorityFlush(effect, ()=>{\n if(localName==='form') return;\n applyModelInitialState(self, element, unwrap(effect.runEffect().value), localName);\n });\n }\n }\nfunction get_I_V(el, force=false){\n let value=el.value;\n if(force || _makeMap_('number,range', el.type)){ \n const van=el.valueAsNumber;\n return isNaN(van) ? value : van;\n }\n return value;\n}\nfunction alreadyDefined$$Model(el){\n return el._hx_Element.hx_Element.VNodeManager.has_model;\n}\nfunction normalize_form_model(self, element, value, modifiers, effect){\n if(value && !isPObject(value)){\n debugHandler('[Houxit $$model Warning]: '+escapeDecoder('<form $$model=\"user\">')+' expects an Object. Received '+typeof value+' instead.', self, true);\n return;\n }else if(!value) value={};\n const controls = element.querySelectorAll('input:not([type=\"submit\"]):not([type=\"reset\"]):not([type=\"button\"]):not([type=\"image\"]), textarea, select');\n const register=new Tuple;\n for(let control of controls){\n if(!control.hasAttribute('name') || alreadyDefined$$Model(control)) continue;\n const name=control.getAttribute('name');\n let tag=control.localName;\n const type=control.type;\n if(register.has(name)){\n if(!(tag==='input' && _makeMap_('radio,checkbox', type))){//warns when more than one element poits to same [ath]\n $warn(`[Houxit $$model Warning]: Multiple form controls elements share the name \"${name}\" in the same form. Did you intend to use radio buttons or checkboxes instead?`, self, true);\n \n }\n }else register.add(name)\n if(!object_Has_Path(value, name)) set_Object_Value(value, name, c_d_m(control, tag, type));\n let initVal=get_Object_Value(value, name);\n const target_value=get_I_V(control);\n applyModelInitialState(self, control, initVal, tag);\n updateElementModelValue(self, control, target_value, name, initVal, modifiers, value, true);\n control.addEventListener(get_Model_Event(control), function($ev){\n try{\n initVal=updateElementModelValue(self, control, get_I_V($ev.target), name, initVal, modifiers, value);\n }catch(err){\n debugHandler(err)\n debugHandler(`[ ] ${err}`, self, true);\n }\n });\n createPriorityFlush(effect, ()=>{\n if(localName==='form') return;\n applyModelInitialState(self, control, unwrap(effect.runEffect().value), tag);\n });\n }\n register.clear();\n}\nfunction c_d_m(control, name, type){\n if((name==='select' && control.multiple) || (name==='input' && type==='checkbox')) return [];\n return undefined;\n}\nfunction applyModelInitialState(self, element, initVal, localName, inForm){\n if(localName==='select'){\n if(element.multiple){\n if(!isCollection(initVal)){\n debugHandler(`[$$model collection error] <select multiple> element expects $$model source to be an array or valid colloction type`, self, true);\n return;\n }\n }\n for(let [ index, opt] of entries(element.options)){\n const value=opt.value;\n if(element.multiple ? genericCollection(initVal).has(value) : initVal === value) opt.selected=true;\n else opt.selected=false;\n }\n }else{\n const type=element.type;\n const value=element.value;\n if(_makeMap_('checkbox,radio', type)){\n if(isNull(initVal) && type=== 'checkbox') initVal=set_Object_Value(self.__public_model__, item, []);\n if((isCollection(initVal) || type==='radio') && !element.hasAttribute('value')){\n debugHandler(\"Houxit Warning: \"+escapeDecoder('<input type=\"'+type+'\" $$model>')+\" is bound to \"+(type==='radio' ? '' : 'an Array')+\" model but has no value attribute. \"+(type==='radio' ? '' : 'Array') +type+\" require a unique value attribute.\");\n return;\n }\n if((isCollection(initVal) ? genericCollection(initVal).has(value) : !element.hasAttribute('value') ? initVal : value === initVal)){\n element.checked=true;\n }else{\n element.checked=false;\n }\n }else if(type === 'file'){\n debugHandler(`[Houxit $$model Warning]:$$model is not supported on ${escapeDecoder('<input type=\"file\">')}. Use @change to access event.target.files instead.`);\n return;\n }else{\n if(!isNull(initVal)) element.value=compileToRenderable(initVal);\n }\n }\n}\n function updateElementModelValue(self, element, target_value, path, value, modifiers, rfct, cs=false){\n const name=element.localName;\n const type=element.type;\n let current=applyModelValueModifiers(target_value, modifiers);\n const setV=val=>{\n set_Object_Value(isObject(rfct) ? rfct : self.__public_model__, path, val);\n return val;\n }\n if(name === 'select'){\n let coll=isCollection(value) && element.multiple ? genericCollection(value) : value;\n for(let [index, opt] of entries(element.options)){\n const v=applyModelValueModifiers(opt.value, modifiers);\n if(opt.selected && !(element.multiple ? coll.has(v) : v === value)){\n value= isCollection(value) && element.multiple ? coll.add(v) : setV(v);\n }else if(!opt.selected && (element.multiple ? coll.has(v) : v === value)){\n value = isCollection(value) && element.multiple ? coll.delete(v) : setV(null);\n }\n }\n }else{\n if(!element.hasAttribute('value')){\n current=element.checked ? true : false;\n }\n if(_makeMap_('radio,checkbox', type)){\n if(type==='checkbox' && isCollection(value) ){\n let coll=genericCollection(value);\n if(element.checked && !coll.has(current)) coll.add(current);\n else if(!element.checked && coll.has(current)) coll.delete(current);\n }else if(!cs || (cs && isNull(value))) value=setV(current);\n }else if(!cs || (cs && isNull(value))) value=setV(current);\n }\n return value;\n }\n function applyModelValueModifiers(value, modifiers){\n for(let modifier of modifiers.values()){\n switch(modifier){\n case 'number':\n const val=Number(value);\n if(!isNaN(val)) value=val;\n case 'trim':\n if(isString(value)){\n value=value.trim();\n }\n }\n }\n return value;\n }\n function defineInstanceModelDriver(self, bindings, props, hx_Element, metrics){\n const { vNode } = metrics;\n let { key, effect, value, modifiers } = bindings;\n props[key ?? 'modelValue']=applyModelValueModifiers(effect.value, modifiers);\n const ev=\"update\"+ (key ? \":\"+key : \"\");\n const EVENTS=vNode.filesFilter.$$$Events;\n if(!hasOwn(EVENTS, ev)) EVENTS[ev]={\n callbacks:new Tuple,\n event:ev,\n effect:undefined\n }\n EVENTS[ev].callbacks.add((newValue)=>{\n newValue=applyModelValueModifiers(newValue, modifiers);\n return set_Object_Value(self.__public_model__, value, newValue)\n });\n let oldValue=effect.value;\n const flush=createPriorityFlush(effect, function(observers){\n oldValue=__widget_props_effect(hx_Element.widget_instance, {\n effect,\n key: key ?? 'modelValue',\n value:oldValue\n }, observers);\n });\n hx_Element.VN_Tree.FLUSHS.add(flush);\n }\n const DirectiveMacros={\n bind:$$dir_BIND,\n html:$$dir_HTML,\n text:$$dir_HTML,\n scoped:$$dir_SCOPED,\n model:$$dir_MODEL,\n on:$$dir_ON,\n transite:$$dir_TRANSITE,\n animate:$$dir_ANIMATE,\n clone:$$dir_CLONE\n }\n function applyHouxitAnimation(node, animation, params = {}, options = {}) {\n if (!node) {\n return null;\n }\n const { mode, motion_object } = options;\n const ctx=createAminationCTX(motion_object.hooks.animation);\n let config = animation(node, ctx, params);\n const isvalid=validateMotionResponses(self, config, 'animation')\n if(isObject(isvalid)){\n config=isvalid;\n }else{\n return;\n }\n config=assign({\n delay:0,\n duration: 500,\n easing:easings.linear,\n iterations: Infinity,\n direction:'normal',\n fill:'both',\n autoplay:false\n }, config || {});\n const { duration, delay, easing, iterations, direction, fill, autoplay, /* WAAPI/CSS path*/ styles, keyframes, /* RAF path*/ frame } = config;\n if(!frame && isString(easing.css) && (keyframes && !isFunction(keyframes.keyframes))){\n return applyCSSBasedAnimation(node, config, params, options);\n }\n let player = null, raf = null, destroyed = false;\n function startRAF() {\n let raf = null, stopped = false, paused=false, start = null, started = false;\n function cancel() {\n stopped = true;\n if (raf) {\n cancelAnimationFrame(raf);\n raf=null;\n }\n raf = null;\n onCancel?.();\n }\n let totalPausedTime=0, pausedAt, finished=false;\n function frameDriver(now) {\n if ( destroyed || stopped) {\n return;\n }\n if (start === null) {\n start = now;\n }\n const rawElapsed = now - start - totalPausedTime;\n if (rawElapsed < delay ) { // ⏱ delay gate\n raf = requestAnimationFrame(frameDriver);\n return;\n }\n const elapsed = rawElapsed - delay;\n const totalIterations = iterations === Infinity ? Infinity : iterations;\n const cycleTime = duration;\n const rawT = elapsed / cycleTime;\n let iterationIndex = Math.floor(rawT); // 🧠 iteration tracking\n let iterationProgress = rawT - iterationIndex;\n if (!started) {\n started = true;\n onStart?.();\n }\n if (totalIterations !== Infinity && iterationIndex >= totalIterations) { // clamp for finite iterations\n iterationIndex = totalIterations - 1;\n iterationProgress = 1;\n }\n let progress = iterationProgress; // 🔁 direction handling\n if (direction === \"reverse\") {\n progress = 1 - iterationProgress;\n }\n if (direction === \"alternate\") {\n const isOdd = iterationIndex % 2 === 1;\n progress = isOdd ? 1 - iterationProgress : iterationProgress;\n }\n const eased = easing.fn(progress); // 🎯 easing applied AFTER direction logic\n const finalProgress = Math.max(0, Math.min(1, eased)); // clamp safety\n createRAFInitialStyle(styles, frame, keyframes, node, finalProgress, 1 - finalProgress ); // 🎬 render\n finished =totalIterations !== Infinity && elapsed >= duration * totalIterations; // 🏁 completion\n if (!finished ) {\n raf = requestAnimationFrame(frameDriver);\n } else {\n raf = null;\n onFinish?.();\n }\n }\n return { \n cancel,\n play(){\n if (finished) {\n return;\n }\n if (paused) {// resume\n paused = false;\n totalPausedTime += performance.now() - pausedAt;\n }\n raf = requestAnimationFrame(frameDriver);\n },\n pause(){\n if (paused) {\n return;\n }\n paused = true;\n pausedAt = performance.now();\n cancelAnimationFrame(raf);\n }\n };\n }\n function startWAAPI() { // WAAPI ENGINE\n const kf=keyframes(1, 0, 'waapi');\n player =node.animate(kf, { \n duration, \n delay, \n easing:easing.css, \n iterations,\n direction,\n fill\n });\n player.onfinish = () => {\n if (!destroyed) {\n onfinish?.();\n }\n };\n player.oncancel = () => {\n if (!destroyed) {\n oncancel?.();\n }\n };\n onstart?.();\n if (!autoplay) {\n player.pause();\n }\n return player;\n }\n let controller = null; // HYBRID DISPATCH\n if ((frame || (styles))) {\n controller = startRAF();\n }else if (keyframes) {\n startWAAPI();\n }\n return assign({ // PUBLIC API\n play() {\n if (player) {\n player.play();\n }\n },\n pause() {\n if (player) {\n player.pause();\n }\n },\n reverse() {\n if (player) {\n player.reverse();\n }\n },\n finish() {\n if (player) {\n player.finish();\n }\n },\n cancel() {\n if (player) {\n player.cancel();\n }\n if (raf) {\n cancelAnimationFrame(raf);\n }\n controller?.cancel?.();\n },\n destroy() {\n destroyed = true;\n this.cancel();\n }\n }, controller || {});\n }\n function serializeCSSFrames(frameCallback, samples = 100) {\n let css = '';\n for (let i = 0; i <= samples; i++) {\n const t = i / samples;\n const u = 1 - t;\n css += `\n ${t * 100}% {\n ${frameCallback(t, u)}\n }\n `;\n }\n return css;\n }\n function applyCSSBasedAnimation(node, config, params = {}, options = {}) {\n if (!node){\n return null;\n }\n let { duration, delay, easing, iterations, direction, fill, autoplay, /* WAAPI/CSS path*/ styles, keyframes, /* RAF path*/ onStart, onFinish, onCancel, timing, playState } = config;\n const name = `hx_animation_${Date.now()}`\n // CREATE STYLE TAG\n let t=1, u=0;\n const stylesP=isFunction(styles) ? styles(t, u) : styles;\n const style = document.createElement('style');\n let kf=keyframes(t, u, 'css', stylesP);\n style.textContent = `\n @keyframes ${name} {\n ${kf}\n }\n `;\n node.style.animationName = name; // APPLY ANIMATION\n node.style.animationDuration = `${duration}ms`;\n node.style.animationDelay = `${delay}ms`;\n node.style.animationTimingFunction = easing.css;\n node.style.animationIterationCount =isInfinity(iterations) ? 'infinite' : iteration;\n node.style.animationDirection = direction;\n node.style.animationFillMode = fill;\n node.style.animationPlayState = playState;\n document.head.appendChild(style);\n // EVENTS\n function handleStart(e) {\n if (e.target !== node) {\n return;\n }\n onstart?.();\n }\n function handleEnd(e) {\n if (e.target !== node) {\n return;\n }\n onfinish?.();\n }\n function handleCancel(e) {\n if (e.target !== node) {\n return;\n }\n oncancel?.();\n }\n node.addEventListener( 'animationstart', handleStart);\n node.addEventListener( 'animationend', handleEnd);\n node.addEventListener( 'animationcancel', handleCancel );\n // API\n return {\n play() {\n node.style.animationPlayState ='running';\n },\n pause() {\n node.style.animationPlayState = 'paused';\n },\n restart() {\n node.style.animation = 'none';\n node.offsetHeight;\n node.style.animationName = name;\n },\n cancel() {\n node.style.animation = 'none';\n oncancel?.();\n },\n destroy() {\n node.removeEventListener( 'animationstart', handleStart);\n node.removeEventListener( 'animationend', handleEnd );\n node.removeEventListener( 'animationcancel', handleCancel);\n node.style.animation = '';\n style.remove();\n }\n };\n }\n \n function serializeKeyframes(keyframes) { // Normalize to object format: { \"0%\": {...}, \"100%\": {...} }\n const normalized = normalizeKeyframes(keyframes);\n const rules = entries(normalized).map(([stop, styles]) => {\n const declarations = entries(styles).map(([prop, val]) => ` ${to_kebab_case(prop)}: ${val};`).join('\\n');\n return ` ${stop} {\\n${declarations}\\n }`;\n }).join('\\n\\n');\n return rules;\n }\n function generateOffsets(keyframes) {\n const size = len(keyframes);\n if (size === 1) {\n return [0];\n }\n const step = 100 / (size - 1);\n return keyframes.map((_, i) => +(i * step).toFixed(2));\n }\n function normalizeKeyframes(keyframes) { // Array format: [{ offset: 0, opacity: 0 }, { offset: 1, opacity: 1 }]\n if (isArray(keyframes)) {\n const perSet=generateOffsets(keyframes);\n let index=0;\n return keyframes.reduce((acc, frameDriver) => {\n const { offset, ...styles } = frameDriver;\n const stop = String(perSet[index])+'%';\n acc[stop] = styles;\n index++;\n return acc;\n }, {});\n }\n return Object.fromEntries( entries(keyframes).map(([stop, styles]) => [ normalizeStop(stop), styles ]));// Object format: { from: {...}, to: {...} } or { \"0%\": {...}, \"100%\": {...} }\n }\n function normalizeStop(stop) {\n if (stop === 'from') {\n return '0%';\n }\n if (stop === 'to') {\n return '100%';\n }\n if (!stop.includes('%') && !isNaN(Number(stop))) {// If it's a plain number like 0.5, treat as fraction\n return `${Number(stop) * 100}%`;\n }\n return stop;\n }\n function validateMotionResponses(self, config, type){\n const propsTypes={\n keyframes:[Function, Array, Object],\n easing:[String, Function, HouxitEasing],\n frame:Function,\n delay:Number,\n duration:Number,\n styles:[String, Function, Object],\n iterations:Number,\n fill:String,\n direction:String,\n playState:String,\n autoplay:Boolean,\n onStart:Function,\n onfinish:Function,\n onCancel:Function\n }\n let motionPtops=keys(propsTypes).join(',');\n if(type === 'transition'){\n motionPtops=keys(propsTypes).flatMap(t=>{\n if(_makeMap_(\"iterations,fill,direction,playState\", t)){\n return [];\n }\n return t;\n }).join(',');\n }\n if(!isPObject(config)){\n debugHandler(`[ ] ${type} function expects a plain object as a return value`, self, true);\n return false;\n }\n config=memMove(config, true);\n for(let [ key, value ] of entries(config)){\n if(!_makeMap_(motionPtops, key)){\n debugHandler(`[ ] \"${key}\" prop of custom ${type} Function is not recognised`, self, true);\n delete config[key];\n continue;\n }\n if(!validateType(value, propsTypes[key])){\n debugHandler(`[ ] \"${key}\"\" return prop of ${type} custom function is of an invalid type`, self, true);\n return false;\n }\n if(key === 'keyframes'){\n config.keyframes=(t, u, engine)=>{\n let kf= isPFunction(value) ? value(t, u) : value;\n if(engine === 'css' ){\n return serializeKeyframes(kf);\n }\n kf= isPObject(kf) ? normalizeKeyframesObject(kf, engine) : normalizeOffsets(kf, engine);\n if(engine === 'waapi'){\n iterate(kf).each((item, index)=>{\n delete item.offset;\n });\n }\n return kf;\n }\n config.keyframes.keyframes=value;\n }else if(key === 'easing' && !isEasingObject(value)){\n config.easing=createEasing(value);\n }else if(key === 'direction' && !_makeMap_('alternate,reverse,normal', value)){\n debugHandler(`[ ] ${type} \"direction\" option receives am invalid value \"${value}\" argument\\n\\ncan only be \"alternate | reverse | normal\"`, self, true);\n continue;\n }else if(key === 'fill' && !_makeMap_(`both,forwards,backwards`, value)){\n debugHandler(`[ ] ${type} \"fill\" option receives am invalid value \"${value}\" argument\\n\\ncan only be \"both | forward | backwards\"`, self, true);\n continue;\n }\n }\n return config;\n }\n function createElementTransition(self, hx_Element, metrics, el, motion){\n const motion_object=hx_Element.VNodeManager.motion_object;\n const transiteIn=[];\n iterate(motion_object.transite).each((transition)=>{\n const { element, fn, params, mode } = transition\n const response=applyHouxitTransition(element, fn, params, {\n mode,\n self\n });\n entries(response || {}).forEach(([ key, callback ])=>{\n motion_object.hooks.transition[key].add(callback);\n if(key === 'in'){\n transiteIn.push(callback);\n }\n });\n });\n if(len(transiteIn)){\n whenMounted(self, el, ()=>{\n transiteIn.forEach((fn)=>{\n fn();\n });\n });\n }\n }\n function createAminationCTX(animator){\n const { to, from } = animator;\n const ctx=createObj('Context', {\n to,\n from,\n delta : {\n x: from.left - to.left,\n y: from.top - to.top,\n width:\n from.width - to.width,\n height: from.height - to.height\n },\n });\n ctx.distance = Math.hypot(ctx.delta.x, ctx.delta.y);\n ctx.direction = {\n x: Math.sign(ctx.delta.x),\n y: Math.sign(ctx.delta.y)\n };//to, from, delta, distance, direction\n return ctx;\n }\n \n function createElementAnimation(self, hx_Element, metrics, el, motion){\n const motion_object=hx_Element.VNodeManager.motion_object;\n const animatePlay=[];\n motion_object.hooks.animation.to=el?.getBoundingClientRect();\n iterate(motion_object.animate).each((animation)=>{\n const { element, fn, params, mode } = animation;\n const response=applyHouxitAnimation(element, fn, params, {\n mode,\n self,\n motion_object\n });\n entries(response || {}).forEach(([ key, callback ])=>{\n motion_object.hooks.animation[key].add(callback);\n if(key === 'play'){\n animatePlay.push(callback);\n }\n });\n });\n tick(()=>{\n animatePlay.forEach((fn)=>{\n fn();\n });\n });\n }\n function createElementMotionEffect(self, hx_Element, metrics, element, motion){\n if(self[$$$operands].initializedRenderBuild){\n return;\n }\n createElementTransition(self, hx_Element, metrics, element);\n whenMounted(self, element, ()=>createElementAnimation(self, hx_Element, metrics, element));\n }\n const bezierRegexMatch =bezier=>bezier.match(/(cubic-bezier\\s*\\()?\\s*([-\\d.]+)\\s*,\\s*([-\\d.]+)\\s*,\\s*([-\\d.]+)\\s*,\\s*([-\\d.]+)\\s*(\\))?/);\n function cubicBezier(b1, b2, b3, b4){\n return __cubicBezier(isString(b1) ? b1 : [...arguments]);\n }\n function __cubicBezier(bezier) {\n const match=isArray(bezier) ? bezier : bezierRegexMatch(bezier);\n if (isString(bezier) && !match) {\n if(_makeMap_('linear,ease,ease-in,ease-out,ease-in-out,step-start,step-end', bezier.trim())){\n return easings[toCamelCase(bezier)].fn;\n }\n debugHandler(`[ ] Invalid cubic-bezier: ${bezier}`, self, true);\n return;\n }\n const stack=[]; \n for (let i=0; i<=(isString(bezier) ? 5 : 3); i++){\n if(isArray(bezier) || (isString(bezier) && i >= 2)){\n stack.push(parseFloat(match[i]));\n }\n }\n const x1 = stack[0];\n const y1 = stack[1];\n const x2 = stack[2];\n const y2 = stack[3];\n // CUBIC HELPERS\n function A(a1, a2) {\n return 1 - 3 * a2 + 3 * a1;\n }\n function B(a1, a2) {\n return 3 * a2 - 6 * a1;\n }\n function C(a1) {\n return 3 * a1;\n }\n function calcBezier(t, a1, a2) {// cubic bezier polynomial\n return (((A(a1, a2) * t + B(a1, a2)) * t + C(a1)) * t);\n }\n function getSlope(t, a1, a2) {// derivative\n return ( 3 * A(a1, a2) * t * t + 2 * B(a1, a2) * t +C(a1) );\n }\n function solveT(x) { // SOLVE X → T\n let t = x;\n for (let i = 0; i < 8; i++) { // Newton-Raphson iterations\n const currentSlope =getSlope(t, x1, x2);\n if (currentSlope === 0) {\n return t;\n }\n const currentX =calcBezier(t, x1, x2) - x;\n t -= currentX / currentSlope;\n }\n return t;\n }\n return function easing(t) { // RAF USABLE EASING FUNCTION\n if (t <= 0) {\n return 0;\n }\n if (t >= 1) {\n return 1;\n }\n const bezierT = solveT(t);\n return calcBezier(bezierT, y1, y2);\n };\n }\n function createRAFInitialStyle(styles, frame, keyframes, node, progress, inverse){\n if (styles) { // CSS TRANSITION PIPELINE\n const style = styles(progress, inverse);\n if (style) {\n iterate(compileStyleProps(null, style)).each((style, prop)=>{\n node.style[prop]= style;\n });\n }\n }\n if(keyframes){\n const kf=keyframes(progress, inverse, 'raf');\n applyKeyframeStyles(node, kf, progress, inverse);\n }\n if (frame) { // JS TRANSITION PIPELINE\n frame(progress, inverse);\n }\n }\n function normalizeOffsets(keyframes) {\n const count = keyframes.length - 1;\n return keyframes.map((frameDriver, i) => ({\n offset: (frameDriver.offset ?? i / count).toFixed(2),\n ...frameDriver\n }));\n }\n function normalizeKeyframesObject(obj) {\n const result = [];\n for (const selector in obj) {\n const style = obj[selector];\n const parts = selector.split(','); // split: \"0%, 100%\"\n for (let part of parts) {\n part = part.trim();\n const offset = /* \"50%\" -> 0.5*/parseFloat(part) / 100; \n if(isNaN(offset)){\n continue;\n }\n result.push({\n offset,\n ...style\n });\n }\n }\n result.sort((a, b) => a.offset - b.offset); // sort offsets\n if(obj && !len(result)){\n result.push({\n offsets:0,\n ...obj\n });\n }\n return result;\n }\n function applyKeyframeStyles(node, keyframes, t, u) {\n let left;\n let right;\n for (let i = 0; i < keyframes.length - 1; i++) { // find segment\n const a = keyframes[i];\n const b = keyframes[i + 1];\n if (t >= a.offset && t <= b.offset) {\n left = a;\n right = b;\n break;\n }\n }\n if (!left || !right) {\n return;\n }\n const range = right.offset - left.offset; // local segment progress\n const localT = range === 0 ? 0 : (t - left.offset) / range;\n for (const prop in left) { // interpolate styles\n if (prop === 'offset') {\n continue;\n }\n const from = left[prop];\n const to = right[prop];\n const value = interpolate(from, to, localT);\n node.style[prop] = value;\n }\n }\n function interpolate(a, b, t) {\n const na = parseFloat(a);\n const nb = parseFloat(b);\n const unit =String(b).replace(nb, '');\n if (!isNaN(na) && !isNaN(nb)) {\n return na + (nb - na) * t + unit;\n }\n return t < 1 ? a : b;\n }\n function createWAAPIBasedTransition(node, config = {}) {\n let animation = null;\n const { duration = 300, delay = 0, easing = easings.linear, keyframes } = config;\n function play(direction = 'in') {\n const dirIn=direction === 'in';\n const t1 = dirIn ? 0 : 1; // 0 -> 1 for enter\n const t2 = dirIn ? 1 : 0; // 1 -> 0 for leave\n const kf = keyframes(t1, t2, 'waapi');\n if(dirIn){\n animation?.cancel();\n }\n animation = node.animate(kf, {\n delay,\n duration,\n easing: easing.css,\n iterations: 1,\n fill: 'both',\n direction: direction === 'out' ? 'reverse' : 'normal'\n });\n return animation.finished;\n }\n return {\n in() {\n play('in');\n },\n async out() {\n play('out');\n },\n destroy() {\n animation?.cancel();\n animation = null;\n }\n };\n }\n function applyHouxitTransition(node, transition, params = {}, options ={}) {\n if (!node) {\n return;\n }\n let currentAnimation = null;\n const { mode, self } = options;\n let config = transition(node, params);\n const isvalid=validateMotionResponses(self, config, 'transition');\n if(isObject(isvalid)){\n config=isvalid;\n }else{\n return;\n }\n config=assign({\n delay:0,\n duration: 300,\n easing:easings.linear,\n }, config || {});\n let { delay, duration, easing, keyframes, frame, styles } = config;\n let disposed=false;\n if(!frame && isString(easing.css) && !keyframes && styles){\n return cssBasedTransitionEngine(node, config, params, options);\n }else if(!frame && !styles && isString(easing.css) && (keyframes && !isFunction(keyframes.keyframes))){\n return createWAAPIBasedTransition(node, {\n delay,\n duration,\n keyframes,\n easing: easing.css,\n });\n }else if(!frame && !keyframes && !styles){\n return;\n }\n function stop() {\n if (currentAnimation) {\n cancelAnimationFrame(currentAnimation);\n currentAnimation = null;\n }\n }\n function transite(direction = 'in') {\n stop();\n const start = performance.now();\n createRAFInitialStyle(styles, frame, keyframes, node, 0, 0);\n function frameDriver(now) {\n let elapsed = now - start;\n if (elapsed < delay) { // delay phase\n currentAnimation = requestAnimationFrame(frameDriver);\n return;\n }\n elapsed -= delay;\n let t =Math.min(elapsed / duration, 1);// normalized progress\n // easing\n const eased = easing?.fn ? easing.fn(t) : easing ? easing(t) : t;\n const progress =direction === 'out' ? 1 - eased : eased;// direction handling\n const inverse = 1 - progress;\n createRAFInitialStyle(styles, frame, keyframes, node, progress, inverse)\n if (t < 1) { // CONTINUE / FINISH\n currentAnimation =requestAnimationFrame(frameDriver);\n } else {\n currentAnimation = null;\n // onfinish?.(\n // direction\n // );\n }\n }\n // onstart?.(\n // direction\n // );\n currentAnimation =requestAnimationFrame(frameDriver);\n }\n const response={\n destroy(){\n stop();\n },\n stop\n };\n if(mode === 'both' || mode === 'in'){\n response.in=function(){\n transite('in');\n }\n }\n if(mode === 'both' || mode === 'out'){\n response.out=async function(){\n transite('out');\n }\n }\n return response;\n }\n function cssBasedTransitionEngine(node, config, params = {}, options) {\n const { duration = 300, delay = 0, easing, styles, keyframes } = config;\n if (!styles) {\n return null;\n }\n const { mode } = options;\n let disposed = false;\n function run(direction = 'in') {\n if (disposed) {\n return;\n }\n const fromT = direction === 'in' ? 0 : 1;\n const toT =direction === 'in' ? 1 : 0;\n const fromU = 1 - fromT;\n const toU = 1 - toT;\n const startStyle =styles(fromT, fromU);\n const endStyle =styles(toT, toU);\n node.style.transition = 'none'; // Disable transition temporarily\n iterate(compileStyleProps(null, startStyle)).each((style, prop)=>{\n node.style.setProperty(prop, style);\n });// Apply initial state\n node.offsetHeight; // FORCE style recalculation only once\n node.style.transition = `all ${duration}ms ${easing.css} ${delay}ms`;// Activate transition\n iterate(compileStyleProps(null, endStyle)).each((style, prop)=>{\n node.style.setProperty(prop, style);\n });// Apply destination state\n const cleanup = () => {\n node.removeEventListener('transitionend', ()=>{\n cleanup()\n });\n if (disposed) {\n return;\n }\n node.style.transition = '';\n };\n node.addEventListener( 'transitionend', ()=>{\n cleanup();\n });\n }\n const response={\n destroy(){\n disposed=true;\n }\n };\n if(mode === 'both' || mode === 'in'){\n response.in=function(){\n run('in');\n }\n }else if(mode === 'both' || mode === 'out'){\n response.out=async function(){\n run('out');\n }\n }\n return response;\n }\nfunction get_Model_Event(el) {\n const tagName=el.localName;\n if ( tagName === \"select\") return \"change\";\n if (tagName === \"textarea\") return \"input\";\n\n if (tagName === \"input\") {\n if(_makeMap_('checkbox,radio,date,time,datetime-local,month,week,file', el.type)){\n return 'change'\n }\n return 'input';\n }\n return \"input\";\n}\n function _compileToStaticTemplateScaffold(self, render, recursive=false){\n const NodeList= isString(render) ? __HouxitHTMLParser__(render, [] ) : render;\n return len(NodeList) && len(NodeList) > 1 ? h(Fragment, NodeList) : len(NodeList) ? NodeList.pop() : [] ;\n }\n function scaffold(render, ctx){\n render=isPFunction(render) ? render() : render;\n if(!isChildrenNode(render)){\n debugHandler(`[ ] Illegal value type passed to scaffold `);\n return;\n }else if(isPrimitive(render) && !isNull(render)) {\n render=String(render);\n }\n return _compileToStaticTemplateScaffold(this, render);\n }\n function hyperscriptElArgumentsValidator(args){\n const [ type , propsOrChildren , childrenOrProps ] = args ;\n if( len( args ) > 3 ) {\n debugHandler( `h render function cannot receive more than 3 arguments\\n\\n\"...........${ len( args ) }\" received\" ` )\n return false ;\n }else if( !validateType( type , [ String , Number , Object , Function , ...( inBrowserCompiler ? [ HTMLElement ] : []) ] ) && !isHouxitBuiltinSymbolWidget(type) ) {\n debugHandler( `parameter 1 at h macro expects a native Element name or a widget options instance dataType `) ;\n return false ;\n }else if( isPObject( propsOrChildren ) && !isChildrenObj(propsOrChildren) && isPObject( childrenOrProps ) && !isChildrenObj(childrenOrProps) ) {\n debugHandler( `Unintended plain object parsed at parameter 2 and 3 of h render macro\\n\\nplain objects are considered as props and cannot be duplicated`) ;\n return false ;\n }else if( ( exists( propsOrChildren ) && isChildrenNode( propsOrChildren ) ) && ( exists( childrenOrProps ) && isChildrenNode( childrenOrProps ) ) ) {\n debugHandler( `arguments 2 and arguments 3 of h render receives duplicated identical Vnodes instance \\n\\nRenderable Vnodes cannot be duplicated` );\n return false ;\n }\n return true ;\n }\n function propsAndChildrenGetter( type , propsOrChildren , childrenOrProps ) {\n if(!hyperscriptElArgumentsValidator( [ ...arguments ] )) {\n return {} ;\n }\n let props ;\n const lab = new Set() ;\n if( isPObject( propsOrChildren ) && !isChildrenNode( propsOrChildren ) ) { \n props = propsOrChildren ;\n lab.add( 'propsOrChildren' ) ;\n }else if( isPObject( childrenOrProps ) && !isChildrenNode( childrenOrProps ) ) { \n props = childrenOrProps ;\n lab.add( 'childrenOrProps' ) ;\n }\n if( !lab.has( 'propsOrChildren' ) && isChildrenNode( propsOrChildren ) ){\n childrenOrProps = propsOrChildren ;\n }\n lab.clear();\n return {\n type,\n props,\n children: childrenOrProps\n };\n }\n function _hyperscriptCompiler_() {\n return createVNode(propsAndChildrenGetter( ...arguments )) ;\n }\n function h(type, propsOrChildren, childrenOrProps){\n return _hyperscriptCompiler_(...arguments);\n }\n class BaseWidget {\n constructor(options){\n if(!options) {\n let model=new Model();\n this.model=model;\n define( this, 'model', { \n get(){\n return model\n },\n set(modelX){\n if(!isPObject(modelX)){\n debugHandler(`[ ] Unexpected assignment to the model instance object\\n\\nassignment expects a plain object`);\n return false;\n }\n model=modelX;\n return true;\n }\n });\n }else if(isPObject(options)){\n for(const [key, value] of entries(options)){\n this[key]=value;\n }\n }else if(isPFunction(options)){\n this.build=options;\n if(opts && isPObject(opts)) {\n if(hasProp(opts, 'build')) {\n delete opts.build;\n }\n assign(this, opts);\n }\n }else if(isClass(options)){\n options=new options();\n if(!isBaseWidget(options)){\n debugHandler('class widget not an instance of the \"Widget\" base Widget');\n }else{\n for(let [key, value ] of entries(options)){\n this[key]=value;\n }\n }\n }\n }\n define(widget){\n return defineWidget(...arguments);\n }\n }\n class Widget extends BaseWidget{\n constructor(...args){\n super(...args);\n }\n }\n function animate(transition, params){\n return new Animation(transition, params);\n }\n function transite(animation, params, mode){\n return new Transition(animation, params, mode);\n }\n const garbageKey=Symbol();\n function _transformTheParamsInjectorHook(params){\n const self=getCurrentRunningEffect({\n name:'defineParams'\n });\n if(!self && !(validateCollectionArgs(arguments, {\n name:\"defineParams\",\n validators:[[Array, Object]],\n count:1\n } ))) {\n return generateBuildParams(self);\n }\n if(!params) return generateBuildParams(self);\n paramsManager(self, params, self.__public_model__.$attrs, true);\n return generateBuildParams(self);\n }\n function defineParams(params){\n return _transformTheParamsInjectorHook(...arguments)\n }\n function _composersSlotsMappingHook(slots){\n const self=getCurrentRunningEffect({\n name:'defineSlots'\n })\n if( !self && (!validateCollectionArgs(arguments, { \n name: \"defineSlots\",\n count:1,\n validators:[Array]\n }))) {\n defineFallbackSlotsToken(self, {\n slots:[]\n }, self[$$$core].slots);\n return self[$$$core].slots;\n }\n for(const [index, sl ] of slots.entries()){\n if(!isString(sl)) {\n debugHandler(`[ ] defineSlots() adapter macro array value expects a String value\\n\\nat array index ..........${index}`, self, true);\n continue;\n }\n }\n defineFallbackSlotsToken(self, { \n slots \n }, [], self[$$$core].slots );\n return self[$$$core].slots;\n }\n function defineSlots(slots){\n return _composersSlotsMappingHook(...arguments);\n }\n function _defineSignalsEvents(signals){\n const self=getCurrentRunningEffect({\n name:'defineSignals'\n });\n if(!self && !(validateCollectionArgs(arguments, {\n name:\"defineSignals\",\n count:1,\n validators:[Array]\n }))) {\n return self.__public_model__.$signals;\n }\n $construct_With_Signals(self, { \n signals \n }, true);\n map_Events_Fall(self, self[$$$core].virtualNode, true);\n return self.__public_model__.$signals\n }\n function defineSignals(signals){\n return _defineSignalsEvents(...arguments);\n }\n function _compilerOptionsConfigHook(config){\n const self=getCurrentRunningEffect({\n name:'defineConfig'\n })\n if(!self && !(validateCollectionArgs(arguments, {\n name:\"defineConfig\",\n count:1,\n validators:[Object]\n }))) {\n return;\n }\n setConfig(self, { \n buildConfig: config \n });\n return void 0\n }\n function defineConfig(config){\n return _compilerOptionsConfigHook(...arguments);\n }\n function useTransmit(transmit){\n const self=getCurrentRunningEffect({\n name:\"useTransmit\"\n })\n if(!self && !(validateCollectionArgs(arguments, {\n name:\"useTransmit\",\n validators:[Function],\n count:1\n } ))) {\n return;\n }\n mapPublicationsTraverse(self, { transmit }, true);\n }\n function __useReceiver_(receive){\n const self=getCurrentRunningEffect({\n name:'useReceiver'\n });\n if(!self && !(validateCollectionArgs(arguments, {\n name:\"useReceiver\",\n validators:[[Array, Object]],\n count:1\n } ))) {\n return;\n }\n return receivePublicationPrefix(self, { \n receive \n }, true);\n }\n function useReceiver(){\n return __useReceiver_(...arguments);\n }\n function __useContext_Adapter(context){\n const self=getCurrentRunningEffect({\n name:'useContext'\n });\n if(!isHouxitBuild(self) && !(validateCollectionArgs(arguments, {\n name:\"useContext\",\n validators:[Function],\n count:1\n } ))) {\n return false;\n }\n if(!hasOwn(self[$$$core].opts, \"context\")){\n self[$$$core].opts.context=function(){\n return context.call(this, ...arguments);\n }\n }\n return true;\n }\n function useContext(callback){\n return __useContext_Adapter.call(this, ...arguments);\n }\n function runLifeCircleHooksAdapter(args, name){\n const self=getCurrentRunningEffect({ name });\n const response = validateCollectionArgs(args, {\n count:1,\n name,\n validators:[Function],\n required:[true]\n });\n if(!self && !response ) {\n return false;\n }\n self[$$$compiler][garbageKey][name].add([ ...args ][0]);\n return true;\n }\n function onSlotEffect(){\n \n }\n function onSlotRender(){\n \n }\n function postBuild(callback){\n return runLifeCircleHooksAdapter(arguments, 'postBuild');\n }\n function preMount(callback){\n return runLifeCircleHooksAdapter(arguments, 'preMount');\n }\n function postMount(callback){\n return runLifeCircleHooksAdapter(arguments, 'postMount');\n }\n function preUpdate(callback){\n return runLifeCircleHooksAdapter(arguments, 'preUpdate');\n }\n function onEffect(callback){\n return runLifeCircleHooksAdapter(arguments, 'onEffect');\n }\n function onCatch(callback){\n return runLifeCircleHooksAdapter(arguments, 'onCatch');\n }\n function onTracked(callback){\n return runLifeCircleHooksAdapter(arguments, 'onTracked');\n }\n function postUpdate(callback){\n return runLifeCircleHooksAdapter(arguments, 'postUpdate');\n }\n function preDestroy(callback){\n return runLifeCircleHooksAdapter(arguments, 'preDestroy');\n }\n function postDestroy(callback){\n return runLifeCircleHooksAdapter(arguments, 'postDestroy');\n }\n const resolvableMacros=\"postDestroy,preDestroy,postMount,preMount,preUpdate,postUpdate,postBuild,useAdapter,onEffect,onTracked,onCatch,onSlotRender,onSlotEffect\";\n function useAdapter(widget){\n if(!self && !(validateCollectionArgs(arguments, {\n name:\"useAdapter\",\n validators:[[Object,Function]],\n count:1\n } ))) {\n return pass;\n }\n return Function('adapter', `\n return function ${widget.name || \"\"}(propsOrChildren, childrenOrProps){\n return adapter(...arguments)\n }\n `)((propsOrChildren, childrenOrProps)=>{\n return h(widget, propsOrChildren, childrenOrProps);\n });\n }\n async function _use(callback){\n const response = validateCollectionArgs(arguments, {\n count:1,\n name:'use',\n validators:[Function],\n required:[true]\n });\n if(!response) {\n return freeze();\n }\n installCurrentRunningEffect(this);\n let program;\n tick(()=>{\n program = callback();\n }).then(()=> reinstatePreviousRunningEffect());\n return await program;\n }\n async function use(callback){\n return await _use.call(this, ...arguments);\n }\n function useStyleSheet(styles, config){\n \n }\n function directiveKeyInfo(self, key , dirName){\n \n }\n function modelManager(self, opts){\n if(isNull(opts.model)) {\n return;\n }\n const modelData=isBaseWidget(opts) ? opts.model : new Model() ;\n if(hasOwn(opts, 'model') && isPFunction(opts.model)) {\n try{\n opts.model.call(modelData, generateBuildParams(self), self.__public_model__.$attrs) ;\n }catch(err){\n debugHandler(`[ ] There is an error when running the model method option\\n\\n${err}`, self, true);\n }\n }\n self.__public_model__=assign( self.__public_model__, modelData );\n }\n function widgetsSetup(opts, self, vnode){\n if(!isNull(opts.widgets)){\n const validNameRegex=/^[_A-Z0-9\\-]+/;\n const FirstCharRegex=/^[a-zA-Z_]+/;\n entries(opts.widgets).forEach(([key, widget])=>{\n if(!FirstCharRegex.test(key.at(0)) && !validNameRegex.test(key)){\n debugHandler(`[ ] Widget registration failed,\\nImproper widget namecasing found at \"${key}\"\\n\\nwidget names must atleast start with an uppercase letter or a multi-word string seperated by a hyphen or an underscore and not start with hyphen or a number`, self, true);\n return;\n }\n define(self[$$$register].widgets, key, {\n value:widget,\n enumerable\n });\n })\n }\n }\n const $$isHandler=Symbol()\n function methodsManager(opts, self, vnode){\n if(!opts.handlers) {\n return;\n }\n entries(opts.handlers).forEach(([ind, method])=>{\n if(!isPFunction(method)){\n debugHandler(`[ ] widget method option's values must be a method or a function\\n\\n type of \"${getType(method)}\" found`, self, true);\n return;\n }\n method[$$isHandler]=true;\n define(self[$$$register].handlers, ind, {\n value:method, \n enumerable, \n configurable\n })\n });\n }\n function inDomPropsFallback(self, props, params, garbage){\n const paramsKeys=isArray(params) ? params.values() : isObject(params) ? keys(params) : [];\n let index=0;\n paramsKeys.forEach((key)=>{\n index++;\n if(hasUpperCase(key)){\n const transpiled=to_kebab_case(key);\n if(_makeMap_(props, transpiled) && !_makeMap_(paramsKeys, transpiled)){\n if(isPObject(params)) {\n define(garbage, transpiled, { value:params[key], enumerable, configurable});\n delete props[transpiled];\n }\n }\n }\n })\n }\n function paramsKeysDefer(self, paramsSet, essenceTags, ){\n const [ props, ind , param ] = essenceTags;\n if(!_makeMap_(props || {}, ind)){\n paramsSet[ind]=undefined;\n return false;\n }else if(props ){\n const value=props[ind];\n if(validateType(value, param)) {\n paramsSet[ind]=value;\n }else{\n paramsSet[ind]=undefined;\n debugHandler(`[Params validation error] property validation for widget default value failed, property \"${ind}\" is of an invalid type\\n\\n typeof \"${param.name}\" required`, self, true);\n return false;\n }\n }\n }\n function arrayParamsResolver(self, paramsSet, metrics ){\n const [ props, param ] = metrics ;\n if(props && _makeMap_(props, param)){\n const value=!props[param] && !isBoolean(props[param]) ? undefined : props[param];\n paramsSet[param]=value;\n }else {\n paramsSet[param]=undefined; \n }\n }\n function runObjectifiedParamsValidation(self, paramsSet, objMetrics, PN){\n const [ props, param, ind ] = objMetrics;\n let response = true;\n if(isTrue(param.required) && hasProp(param, 'default')){\n debugHandler(`[ ] validation error .......\\n\\nthe required validator should not be truthy alongside a default value\\nat at\\n\\n\"${ind}\" ${PN}`, self, true);\n response = false;\n }else if(hasProp(param, 'required') && !isBoolean(param.required)){\n debugHandler(`[ ] The \"required\" validation options receives an unresolvable value \\nat at \\n\"${ind}\" ${PN}\\n requires a boolean value`, self, true);\n response = false;\n }else if(!hasProp(param, 'type')){\n debugHandler(`[Houxit Params validation Error] The type validator property is required\\n Mising @ \"${ind}\" param`, self, true);\n response = false;\n }else if(!validateType(param.type, [Function, Array, Type]) ){\n debugHandler(`[ ] unexpected value passed as the type validator option\\n expects a function or an Array of type function`, self, true);\n response = false;\n }else if(hasProp(param,'validator') && !isPFunction(param.validator)){\n debugHandler(`[ ] The \"validator option must be a function\\n\\nat ${ind} ${PN}`, self, true);\n response = false;\n }else if(isTrue(param.required) && !_makeMap_(props || {}, ind)){\n debugHandler(`[ ] Params validation error........\\n\\nThe ${PN+ ' of the '+'\"'+self[$$$ownProperties].name+'\"'+' widget' } params is required and seems not to be provided \"\\nrequired ${PN} is missing\\n\\nat at\\n .....\"${ind}\" param`, self, true);\n paramsSet[ind]=undefined;\n response = false;\n }\n return response;\n }\n function defaultParamBuffering(self, paramsSet, deferable){\n const [ props, param, ind ] = deferable ;\n if(hasOwn(param, 'default')){\n const defaultValue=()=> isFunction(param.default) ? param.default.call(self.__public_model__) : param.default;\n if(!hasOwn(props || {}, ind)){\n if(!validateType(defaultValue(), param.type)){\n paramsSet[ind]=undefined;\n debugHandler(`[Params validation error] ...property validation for widget default value failed, property \"${ind}\" is of an invalid type\\n\\n\"${ isArray(param.type) ? '\"Matches no type in the validation list' : 'typeof '+ param.type.name+\" expected\"}`, self, true); \n return false;\n }else {\n paramsSet[ind]=defaultValue();\n }\n }\n }\n return true;\n }\n function paramsValidationCircle(self, paramsSet, deferable, pn){\n const [ props, param, ind] = deferable;\n const value=props ? props[ind] : undefined;\n if(hasOwn(props, ind) && validateType(value, param.type)){\n if(hasOwn(param, 'validator')){\n let valRes=param.validator(value);\n if(!isBoolean(valRes)){\n debugHandler(`[ ] ${pn} validator option method must return a Boolean value of true/false`, self, true);\n return false;\n }\n if(isFalse(valRes)){\n debugHandler(`[ ] Validation for ${pn} ${ind} returned false`, self, true);\n return false ;\n }\n }\n paramsSet[ind]=value\n }else if(hasOwn(props, ind) && !validateType(value, param.type)){\n paramsSet[ind]=undefined;\n debugHandler(`[ ] ${pn} validation error .....\\n\\nproperty validation for ${ self ? 'widget' : 'object'} ${pn} value failed, property \"${ind}\" is of an invalid type\\n\\n${ isArray(param.type) ? \"Matches no type in the required validation list\" : 'typeof '+param.type.name+\" expected\" }`, self, true);\n return false;\n }\n return true;\n }\n function resolveParamsPossibility(self, outlinedMetrics, in_build){\n let [ props, params ] = outlinedMetrics;\n if(isFunctionBasedBuild(self) && !in_build){\n entries(props).forEach(([ind, attr])=>{\n self.__public_model__.$attrs[ind]=attr;\n });\n return ;\n }\n let paramsSet={};\n let rv;\n if(params && len(params)){\n paramsSet=self[$$$ownProperties].$params;\n entries(params).forEach(([ind, param])=>{\n if(has$$_bind(ind)){\n debugHandler(`[ ] Params validation error \"${ind}\" passed to widget as a houxit directive binding\n \\n\\n\n The \"$$\" may not be appended or used on a params identifier key name`, \n self, true);\n return;\n }\n param=transform_param_master(self, param);\n if(!validationCoreManager(self, params, paramsSet, {\n ind,\n props,\n param\n })) {\n return paramsSet;\n }\n });\n }\n return paramsSet;\n }\n function transform_param_master(self, param){\n const setup={}\n if(validateType(param, [Array, Function ]) || param instanceof Type) {\n setup.type=param;\n }else if(isString(param) || !param) {\n setup.type=Any;\n }else if(isPObject(param)) {\n return param;\n }\n return setup;\n }\n function validationCoreManager(self, params, paramsSet, metrics){\n const { ind , props, param } = metrics;\n // if(validateType(param, [Function, Array]) ){\n // if(isFalse(paramsKeysDefer(self, paramsSet, [ props, ind, param ]))) return false;//Defer type, runs validation for tyoes in Array and JavaScript prototype Methods tyoes\n // }else if(isArray(params) && isString(param)) arrayParamsResolver(self, paramsSet, [props, param])//array and string based validation\n if(isPObject(param)){\n if(!runObjectifiedParamsValidation(self, paramsSet, [ props, param, ind ], 'params')) {\n return false;//params in object type\n }\n if(!defaultParamBuffering(self, paramsSet, [ props, param, ind ])) {\n return false;//validating defaut values\n }\n if(!paramsValidationCircle(self, paramsSet, [props, param, ind ], \"params\")) {\n return false;\n }\n if(!hasOwn(paramsSet, ind)) {\n paramsSet[ind]=undefined;\n }\n }\n return true;\n }\n function paramsManager(self, params, props, in_build=false){\n // if(in_build) vnode=opts;\n props=assign({}, props);\n const garbage={};\n if(!in_build) {\n defineGetter(self[$$$ownProperties], '$params', new Params());\n }\n if(params && !validateType(params, [ Object, Array ])){\n debugHandler(`[ ] param option type validation failed, \\n\\n\n unexpected data type of \"${getType(params)}\"`, self, true);\n return;\n }\n const paramsSet=resolveParamsPossibility(self, [ props, params], in_build);\n if(!paramsSet) {\n return;\n }\n GarbagePropsPrefix(self, paramsSet, garbage, props);\n entries(props||{}).forEach(([ind, value])=>{\n if(!hasOwn(paramsSet||{}, ind)) {\n self.__public_model__.$attrs[ind]=value;\n }else if(hasOwn(paramsSet || {}, ind) && hasOwn(self.__public_model__.$attrs, ind)) {\n delete self.__public_model__.$attrs[ind];\n }\n });\n if(len(paramsSet)){\n for(const [key, value ] of entries(paramsSet)){\n defineGetter(paramsSet, key, shallow(value));\n }\n }\n if(!isStream(self.__public_model__.$attrs)){\n let $attrs=shallowReadonlyStream(self.__public_model__.$attrs);\n define(self.__public_model__, '$attrs', {\n get(){\n return $attrs;\n },\n // set(nvalue){\n // if(!isReadonlyBypasser(nvalue)){\n // debugHandler(`[ ] cant reset the builtin \"$attrs\" prop...`, self, true);\n // return false;\n // }\n // $attrs=nvalue.value;\n // return true;\n // }\n });\n }\n // inDomPropsFallback(self, props, params, garbage);\n }\n function GarbagePropsPrefix(self, paramsSet, garbage, props){\n \n }\n function _hydrate_props_fallthrough(opts, self, vnode, metrics){\n if(self[$$$operands].initializedRender) {\n return vnode;\n }\n const { forwardAttrs, forwardEvents }=self[$$$core].settings;\n const isSSR=isSSRCompiler(self);\n const { $attrs, $events } =self.__public_model__;\n let element=WidgetElementUnwrap(vnode).$element;\n if(!((forwardAttrs || forwardEvents) && !isNativeElement(element) && (len($attrs) || len($events) ))) {\n return vnode ;\n }\n const forwardProps=assign({}, $attrs);\n if(len($events) && forwardEvents) {\n forwardProps.attach=({on})=> {\n iterate($events).each((value, key)=> {\n if(!IS_VALID_EVENT_HANDLER(key)){\n // /try attaching to $events or signals in case of root widget elements\n }else{\n on(key, value);\n }\n })\n };\n }\n if(forwardAttrs && len($attrs)) {\n iterate(forwardProps).each((attr, key)=>{\n try{\n const getter=()=>$attrs[key];\n HTMLAttrsMagnifier(element, {\n key,\n value:attr,\n \n }, vnode, self, {\n is_hyperscript:self[$$$core].map.is_hyperscript,\n isRerender:self[$$$operands].initializedRender,\n vNode:vnode.VNodeManager.vNodeClass,\n forwardAttrs\n });\n }catch(err){\n debugHandler(`[ ] Encountered a road block during attributes fallthrough forwarding on element \"<${vnode.$element[ isSSR ? 'type' : 'localName']} ... >\"\\n\\n\n Check warning details info on attribute \"${key}\"`, self, true);\n return Break();\n }\n });\n }\n if(isHouxitWidgetElement(vnode)){//trying to forward fallthrough attrs and events\n \n }\n return vnode;\n }\n const isHouxitProp=prop=>_makeMap_('props,children', prop);\n const initBuildInstaceKey=Symbol(\"<<<!@---initBuild---@>>>\");\n const widgetTypeKey=Symbol(\"[[[widget-typing-system]]]\");\n function registerTemplateClasses(self, options, vnode){\n if(!hasOwn(options, 'templateClasses')) {\n return;\n }\n for(let [key, klass] of entries(options.templateClasses)){\n if(!(isPFunction(klass)|| isTemplateClass(klass))){\n debugHandler(`[ ] \"${key}\" templateClass property value expects a plain function`, self, true);\n return;\n }\n define(self.__public_model__, key, {\n value:isTemplateClass(klass) ? klass : createTemplateClass((...args)=>klass.call(self.__public_model__, ...args)),\n enumerable,\n });\n }\n }\n function recite_options_validation(self, opt, key){\n if(isHouxitProp(key)) {\n pass;\n }else if(isValidWidgetOption(key) && !isNodeJSOnlyOption(key) && !validateType(opt, widgetOptionType[key])){\n if(isClassBasedBuild(self) && key === 'model' && !isPObject(opt) || !isClassBasedBuild(self) ){\n debugHandler(`[ ] ${key} option is of an invalid type, \\n\\n \"${key}\" option cannot be of a \"${getType(opt)}\" type`, self, true);\n return false;\n }\n }else if(isNodeJSOnlyOption(key) && inBrowserCompiler) {\n debugHandler(`[ ] \"${key}\" option is a nodejs only option, and cannot be used in houxit inbrowser compiler`, self, true);\n }else if(!isValidWidgetOption(key)) {\n self[$$$operands]._OPTIONS[key]=opt;\n }\n return true;\n }\n function sanitizedOptions(self, options, vnode){\n const argcount=len(options);\n if(vnode && hasOwn(vnode, initBuildInstaceKey)){\n self[$$$ownProperties].isInitialBuild = vnode[initBuildInstaceKey] ;\n delete vnode[initBuildInstaceKey];\n }\n if(vnode && hasOwn(vnode, widgetTypeKey)){\n self[$$$ownProperties].widgetType=vnode[widgetTypeKey];\n delete vnode[widgetTypeKey];\n }\n for(let [ key, opt] of entries(options)){\n if(!vnode){\n for(let v of opt.values()){\n const res=recite_options_validation(self, v, key);\n if(!res){\n return;\n }\n }\n }else{\n const res=recite_options_validation(self, opt, key);\n if(!res){\n return;\n }\n }\n }\n if(vnode && vnode.filesFilter.useSSRCompiler) {\n self[$$$compiler].useSSRCompiler=true;\n }\n if(vnode && vnode.filesFilter.isHydration) {\n self[$$$compiler].SSRHydrationFlag=true;\n }\n if(vnode){\n traverseMixins_Inheritance(self, options);\n }\n }\n function _hydrateHashToSelector(selector, $Data_Hash, setup){\n const trimmed = selector.trim();\n let modified=trimmed;\n const _Manage_Hash_Class=function(sel, sep){\n const splited=sel.split(sep);\n let fir=splited.shift();\n fir=`${fir}${$Data_Hash}`;\n splited.unshift(fir);\n return splited.join(sep);\n }\n const $make_Tape=function(sep){\n const split=trimmed.split(sep);\n for (let [key, sel] of entries(split)){\n sel=sel.trim();\n sel=_hydrateHashToSelector(sel, $Data_Hash, setup)\n split[key]=sel;\n }\n return split.join(` ${sep} `)\n }\n const globalMRegex=/\\@ *g *\\( *([ ]*.*?) *\\)/\n if(globalMRegex.test(trimmed)) {\n const match=trimmed.match(globalMRegex);\n return match[1];\n }\n if(trimmed.includes(',')) {\n return $make_Tape(',');\n }\n if(trimmed.includes('+')) {\n return _Manage_Hash_Class(trimmed, '+');\n }\n if(trimmed.includes('~')) {\n return _Manage_Hash_Class(trimmed, '~');\n }\n if(trimmed.includes('>')) {\n return _Manage_Hash_Class(trimmed, '>');\n }\n if(trimmed.startsWith('@')){\n setup.ignore=true;\n return trimmed;\n }\n if(!trimmed.startsWith('@') && !trimmed.startsWith('body') && !trimmed.includes(':') ) {\n return trimmed && !setup.ignore ? `${trimmed}${$Data_Hash}` : trimmed;\n }else if(trimmed.includes('::')) {\n return _Manage_Hash_Class(trimmed, '::');\n }else if(trimmed.includes(':') && !trimmed.startsWith('@') && !trimmed.startsWith(':')) {\n return _Manage_Hash_Class(trimmed, ':');\n }\n return modified;\n };\n const selectorPattern = /([^\\r\\n{]+)\\s*{/g;\n function _stylesheet_hydration(self, styles){\n let setup={}\n return styles.replace(selectorPattern, (match, text)=>{\n return _hydrateHashToSelector(text, `[data-hx_build=${self[$$$ownProperties].hx_build}]`, setup)+'{';\n });\n }\n function _preCompile_StyleSheet(opts, self, vnode){\n const isSSR=isSSRCompiler(self);\n if(isHouxitTextElement(vnode)) {\n return vnode;\n }\n const scopedConfig=self[$$$core].settings.scopedStyle;\n const CssStylesheet=opts.styles ? opts.styles : null;\n if(CssStylesheet){\n let styleEl=h('style', {\n type:'text/css'\n });\n if(!isSSR){\n styleEl=generateTemplateElement(styleEl, self);\n }\n const ModifiedCssStylesheet=isTrue(scopedConfig) ? _stylesheet_hydration(self, CssStylesheet) : CssStylesheet ;\n if(isSSR) {\n styleEl.props.textContent=ModifiedCssStylesheet;\n } else {\n styleEl.textContent=ModifiedCssStylesheet;\n }\n if(vnode && !isHouxitTextElement(vnode)) {\n if(isSSR) {\n if(!vnode.$element.children) {\n vnode.$element.children=[];\n }\n vnode.$element.children?.push(styleEl);\n }else {\n vnode.$element.append(styleEl);\n }\n }\n }\n return vnode;\n }\n function ssrSmartDefaultToggle(props, name){\n if(name==='default' && (props.name===name || isNull(props.name))){\n return true;\n }\n return false;\n }\n function isSSRCollection(vnode){\n return isSSRFragment(vnode) || isCollection(vnode);\n }\n function grabSSRVNodSlots(self, vnode, name){\n if(!isSSRCollection(vnode.$element) && isVNodeClass(vnode.$element) && vnode.$element.type === 'slot'){\n if(name === vnode.$element.props.name || ssrSmartDefaultToggle(vnode.$element.props, name)) {\n return vnode.$element;\n }\n return;\n }else if(!isSSRCollection(vnode)) {\n return;\n }\n for(let [ key, value] of vnode.$element.entries()){\n if(isVNodeClass(value) && value.type === 'slot'){\n if(name === value.props.name || ssrSmartDefaultToggle(value.props, name)) {\n return value;\n }\n }\n }\n return;\n }\n function assignSlot(self, slot, content, name, assynedSlots, renderedSlotsList, vnode){\n if(content && isHouxitElement(content) && !hasOwn(renderedSlotsList, name)){\n if(isSSRCompiler(self)){\n slot=grabSSRVNodSlots(self, vnode, name);\n if(isArray(vnode.$element) && slot){\n const slotIndex=vnode.$element.indexOf(slot);\n vnode.$element[slotIndex]=content.$element;\n }else if(slot) {\n vnode.$element=content.$element;\n }\n }else {\n slot.replaceWith(content.$element);\n }\n assynedSlots.add(name);\n renderedSlotsList[name]=content;\n }\n }\n function resolveSlotsFilter(self, vnode){\n const scopedList={};\n for(const [ key, slt] of entries(self[$$$compiler].scopeSlotsBindings) ){\n scopedList[key]=slt.element;\n }\n return scopedList;\n }\n const shouldForwwardSlots=(element, slots, self)=>{\n if(!len(slots)) {\n return false;\n }\n if(isSSRCompiler(self)) {\n return isString(element.type) && !len(element.children) && element?.type !== 'slot';\n }\n return IS_ELEMENT_NODE(element) && !element.innerHTML.trim() && element?.localName !== 'slot';\n }\n function _$slotHydrationRenderer(self, opts, vnode_build){\n const slots=self[$$$core].slots;\n if(!len(slots) || !vnode_build || !isHouxitElement(vnode_build) || isHouxitTextElement(vnode_build)) {\n return vnode_build ;\n }\n const renderedSlotsList={};\n const slot_elements=resolveSlotsFilter( self, vnode_build ) ;\n const assynedSlots=new Tuple();\n for(const [ slotN, slot_el ] of entries(slot_elements)){\n if(hasOwn(slots, slotN) && !assynedSlots.has(slotN)) {\n assignSlot(self, slot_el, slots[slotN]?.(self), slotN, assynedSlots, renderedSlotsList, vnode_build);\n }\n }\n if(shouldForwwardSlots(vnode_build?.$element, slot_elements, self) && !len(vnode_build.NodeList)){\n const forwardSlot=self[$$$core].settings.forwardSlot;\n if(forwardSlot) {\n const slotContent=hasOwn(slots, 'default') ? slots.default(self) : null;\n if(slotContent) {\n if(isSSRCompiler(self)) {\n vnode_build.$element.children.append(slotContent.$element);\n }else {\n vnode_build.$element.append(slotContent.$element);\n }\n }\n assynedSlots.add('default');\n renderedSlotsList['default']=slotContent;\n }\n }\n if(!len(renderedSlotsList)) {\n return vnode_build ;\n }\n for(const [name, content] of entries(renderedSlotsList) ){\n self[$$$core].slotsFactory.renderedSlotsList[name]=content;\n }\n return vnode_build;\n }\n function injectCustomDirective(self, options, vnode){//custom directives installer\n if(hasProp(options,'directives')){\n for(let [key, value] of entries(options.directives)){\n if(!validateType(value, [ Object, Function])){\n debugHandler(`[ ] a directive requires an object of directive hooks or a function to act as a \"mounted\" hook `, self, true); \n return;\n }\n define(self[$$$register].directives, has$$_bind(key) ? key.slice(2) : key, {\n value, \n enumerable, \n configurable,\n writable\n });\n }\n }\n }\n function injectCustomAnimations_Transitions(self, options, vnode){//custom animations and transitions installer\n iterate(['transitions', 'animations']).each((optName)=>{\n if(hasProp(options, optName)){\n for(let [key, value] of entries(options[optName])){\n if(!isPFunction(value)){\n debugHandler(`[ ] An \"${optName}\" expects a plain function...`, self, true); \n return;\n }\n define(self[$$$register][optName], key, {\n value, \n enumerable, \n configurable,\n writable\n });\n }\n }\n });\n }\n const configOptionsSettings = keys(ConfigValidator).join(',') ;\n function mapSettingCheck(self, key, setting){\n self=!isHouxitBuild(self) ? null : self\n if(!_makeMap_(configOptionsSettings, key)){\n debugHandler(`[ ] unrecognised settings option found in buildConfig defineConfig at at\\n\"${key} name property`,self, isHouxitBuild(self));\n return false;\n }else if(key === 'flushType'){\n const flushType=ConfigValidator[key]\n if(!_makeMap_('post,sync', flushType)){\n debugHandler('[unrecognised flushType] \"'+flushType+'\" is not a valid flushType. do you mean - post | sync ', self, true);\n return\n }\n }else if(!validateType(setting, ConfigValidator[key])){\n debugHandler(`[ ] ${key} config option of buildConfig receives an invalid type\\n\\nExpects a/an \"${ConfigValidator[key].name.toLowerCase()}\" type`, self, isHouxitBuild(self));\n return false;\n }\n if(key === 'delimiters'){\n let rv=validateDelimiterConstruct(self, setting);\n if(isFalse(rv)) {\n return false;\n }\n };\n return true;\n }\n function setConfig( self, opts ){\n if(!opts.buildConfig || !len(opts.buildConfig)) return false;\n entries(opts.buildConfig).forEach(([key, setting])=>{\n let rv= mapSettingCheck(self, key, setting);\n if(!rv) return false;\n self[$$$core].settings[key]=setting;\n })\n return true\n }\n const globalProps=\"filters,widgets,directives,handlers,transmit,blocks,mixins\";\n class Observer{\n flushType='post'\n oldValue=undefined\n constructor(self, deps, callback, options, EffectHook){\n if(isHouxitBuild(self)) this.flushType=getFlushType(self);\n const isEffectHook=isEffect(EffectHook);\n this.deps=deps;\n this.callback=callback;\n this.self=self\n this.options=options;\n if(hasOwn(options, 'flushType')){\n const flushType=options.flushType;\n if(!isString(flushType) || !_makeMap_('post,sync,pre', flushType)){\n debugHandler('[unrecognised flushType] \"'+flushType+'\" is not a valid flushType. do you mean - post | sync | pre', self, true);\n }else {\n this.flushType=flushType;\n }\n }\n this.effect=isEffectHook ? EffectHook : _createHouxitEffectFrame(()=>{\n return getObsCurrentValue(self, deps, this.effect);\n }, self);\n const { value, dependencies } = isEffectHook ? EffectHook : effectRunner(this.effect);\n this.oldValue=value;\n let returnValue;\n this.effect.attachCallback(isEffectHook ? ()=>{\n returnValue=this.effect.runEffect(returnValue).value;\n } : ()=>{\n returnValue=this.callback.call(self?.__public_model__, ...this.wrapValueArgs());\n this.oldValue=this.effect.value;\n }, 'effect');\n if(!self){\n this.effect.flushType=this.flushType;\n }\n if(options.initial && !isEffectHook) {\n this.effect.schedule();\n }\n }\n wrapValueArgs(){\n const newValue=this.effect.runEffect().value;\n if(isCollection(this.deps)){\n const oldList=[];\n const newList=[];\n for (const [key, valueX] of this.oldValue.entries()){\n oldList.push(unwrap(valueX));\n newList.push(unwrap(arrSet(newValue)[key]));\n }\n return [ newList, oldList ];\n }\n return [ unwrap(newValue), unwrap(this.oldValue) ];\n }\n stopEffect(){\n this.effect.endLife();\n }\n }\n function Observer_Track(self, opts){\n entries(opts.observers||{}).forEach(([name, method])=>{\n EffectObserver.call(self, name, method);\n });\n }\n function _EffectDependencyNotifier(self){\n const postEffList=[];\n const observers =self[$$$operands]._OBSERVERS;\n const flushType=getFlushType(self);\n for(const [obs, flush] of observers.values()){\n if(flush==='pre' || flush=== 'sync') {\n callbackHookWithCatch(self, obs, \"Encountered an error during an effect flush call\", true);\n }else if(flush==='post'){\n postEffList.push(obs);\n }\n };\n observers.clear();\n return function(){\n for(let hk of postEffList.values()){\n tick(()=>callbackHookWithCatch(self, hk, \"Encountered an error during an effect flush call\", true));\n }\n }\n }\n function RuntimeUtilitiesProvide( self , opts, vnode ) {\n defineGetter( self.__public_model__ , \"$observe\" , EffectObserver.bind( self ) ) ;\n defineGetter( self.__public_model__ , \"$tick\" , tick.bind( self ) ) ;\n defineGetter( self.__public_model__ , \"$useAgent\" , useAgent.bind( self ) ) ;\n defineGetter( self.__public_model__ , \"$write\", WRITE.bind( self ) ) ;\n defineGetter( self.__public_model__ , \"$effectHook\" , EffectAdapterHook.bind( self ) ) ;\n defineGetter( self.__public_model__ , \"$pushEffect\" , pushEffect.bind( self ) ) ;\n }\n function __useModelAdapter__( props ) {\n if(!validateCollectionArgs(arguments, {\n min:0,\n max:1,\n validators:[Object],\n required:[false],\n name:\"useModel\"\n })){\n return undefined;\n }\n let self = isHouxitBuild(this) ? this : getCurrentRunningEffect({\n name:\"useModel\",\n silently:isHouxitBuild(this) || isModelInstance(this)\n });\n let model;\n if(!self){\n model= isModelInstance(this) ? this : undefined;\n if(!model){\n return null;\n }\n }else{\n model=self.__public_model__;\n }\n if( !props || !len(props) ) {\n return self.__public_model__ ;\n }\n for( let [ key , value ] of entries( props ) ) {\n if(key === '__env__'){\n const __env__={};\n for(let [name, item] of entries(value)){\n if(isToken(item)){\n auto_unwrapTokenRegistery(__env__, name, item);\n }else{\n __env__[name]=item;\n }\n }\n self[$$$core].__env__=__env__;\n return model;\n }\n if(hasOwn(model, key)){\n debugHandler(`[ ] Error: Duplicate exposed property \"${key}\".\\n\n Declared in:\\n - model()\\n - build() <useModel()>\\nRename one of them. model <prop> retained...`, self, true);\n continue;\n }\n if(isToken(value)){\n auto_unwrapTokenRegistery(model, key, value);\n }else{\n model[key]=value;\n }\n }\n return model;\n }\n function useModel(){\n return __useModelAdapter__.call(this, ...arguments);\n }\n function checkObserversValidations(self, deps, callback){\n const errArgs=[ self, true, 'During the call of the \"effect\" macro'];\n if(!validateType(deps, [BaseToken, Function, String, Array, Tuple, Set, Dependency]) && !isStream(deps)){\n debugHandler(`[ ] error setting Effect observer for tracked dependency value \"${deps}\"\\n\\n invalid type\\nexpects a getter or collections of getter functions`, ...errArgs);\n return false;\n }else if(!isPFunction(callback)){\n debugHandler(`[ ] effect observer callback expects a plain function method`);\n return false;\n } else if(isString(deps) && !object_Has_Path(self.__public_model__, deps)){\n debugHandler(`[ ] undefined property \"${deps}\" accessed in effect macro \"EffectObserver\"`, ...errArgs);\n return false;\n }\n let rv;\n if(isArray(deps)){\n for( let value of deps.values()){\n const rv=checkObserversValidations(self, value, callback);\n if(!rv) {\n return false;\n }\n };\n }\n return true;\n }\n function getObsCurrentValue(self, deps, effect){\n let value = arrayInverter(deps).map((value)=> {\n if(isFunction(value) || isToken(value)){\n return read(value);\n }else if(isString(value)){\n if(!isHouxitBuild(self)){\n debugHandler(`[[Deps Tracker $warn]] Effect global tracking failed`);\n return value;\n }\n return get_Object_Value(self.__public_model__, deps);\n }else if(isCollection(value)){\n return getObsCurrentValue(self, arrSet(value), effect);\n }else if(isDependency(value)){\n effect.dependencies.add(value);\n return value.get_data();\n }\n });\n return !isArray(deps) ? value[0] : value;\n }\n function _observeAdapter_(deps, callback, options){\n const self=getCurrentRunningEffect({\n name:'observe'\n })\n if(!self && !(validateCollectionArgs(arguments, {\n name:\"observe\",\n validators:[[Function, Array, String, BaseToken], Function, Object],\n max:3,\n min:2,\n required:[true, true]\n } ))) {\n if(!self) {\n debugHandler(`[ ] You can't use the \"$observe()\" adapter within a widget public model instance`);\n return;\n }\n }\n return EffectObserver.call(self, ...arguments );\n }\n function _createObserverInstance(deps, fn, config){\n if(!validateCollectionArgs(arguments, {\n name:\"scopeObserve\",\n validators:[[Function, Array, String, BaseToken], Function, Object],\n min:2,\n max:3,\n required:[true, true]\n } )) {\n return;\n }\n return EffectObserver(deps, fn, config);\n }\n function _createEffectHookGlobal(fn, config){\n if(!validateCollectionArgs(arguments, {\n name:\"scopeObserve\",\n validators:[Function, Object],\n min:1,\n max:2,\n required:[true]\n } )) {\n return;\n }\n return EffectAdapterHook(fn, config);\n }\n function observe(deps, callback, options){\n return _observeAdapter_(...arguments);\n }\n function EffectObserver(deps, callback, options={}, EffectHook){\n if(len(arguments) === 3 && !isPObject(options)){\n debugHandler(`[ Invalid Argument Type]: parameter 3 arguments of effect observer expects a plain object`, this, true);\n return ;\n }\n let rv=checkObserversValidations(this, deps, callback);\n if(!rv) {\n return;\n }\n const self=this;\n const observer=new Observer(self, deps, callback, options, EffectHook);\n function _stopEffect(callback){\n observer.stopEffect();\n if(len(arguments) && isPFunction(callback) ) {\n if(isHouxitBuild(self)){\n callback.call(self.__public_model__, observer.effect.value);\n }\n return true;\n }else if(len(arguments) && !isPFunction(callback)) {\n debugHandler(`[ unexpected args Type] callback argument at effect stopper expects a plain function`, self, true);\n return false;\n }\n }\n return function stopEffect(callback){\n return _stopEffect(callback);\n }\n }\n function map_Events_Fall(self, vnode, in_build=false){\n const attrs=self.__public_model__.$attrs;\n if(!isAttrsInstance(attrs)){\n self.__public_model__.$attrs=new Attrs()//new readonlyBypasser(new Attrs());\n }\n if(!len(vnode.filesFilter.$$$Events)) {\n return;\n }\n for(let [ name, value ] of entries(vnode.filesFilter.$$$Events)){\n if(hasOwn(self.__public_model__.$signals, name)) {\n continue;\n }\n const transformKey=toCamelCase(\"on-\"+name);\n self.__public_model__.$events[name]=function(){\n value.callbacks.forEach((callback)=>callback.call(this, ...arguments));\n // delete self.__public_model__.$attrs[transformKey];\n }\n \n }\n }\n function createSignalFromEventObject(self, event){\n function merger(){\n let res;\n try{\n event.callbacks.forEach((callback)=> callback.call(this, ...arguments));\n }catch(err){\n debugHandler(`[ Signal traceBack error ]:: prevíous call on Signal events failed with an error`, self, true);\n debugHandler(`${err}`, self);\n return;\n }\n return res;\n }\n return function HouxitSignal(){\n return merger.call(this, ...arguments);\n }\n }\n function $construct_With_Signals(self, options, in_build=false, vnode){\n if(!self.__public_model__.$events) {\n defineGetter(self.__public_model__, '$events', new Events());\n }\n if(in_build) {\n vnode = options;\n }\n const $$events=self[$$$core].virtualNode.filesFilter.$$$Events;\n const signals=new Tuple(...(options.signals || []));\n const $signals=self.__public_model__.$signals;\n for(const [ key, event] of entries( $$events )){\n if(signals.has(key)) {\n $signals[key]=createSignalFromEventObject(self, event);\n }\n }\n for(const signal of signals.values()){\n if(!hasOwn($signals, signal)) {\n $signals[signal]=createSignalFromEventObject(self, {\n callbacks:[]\n });\n }\n };\n }\n function resolveCustomFiltersOrBlocks(self, options, optName, vnode){\n if(!hasOwn(options, optName) || !len(options[optName])) return;\n const sName=optName.slice(0, -1)\n for(const [name, filter] of entries(options[optName])){\n if(optName === 'blocks' ? isBuiltinBlocks(name) : _makeMap_(BUILT_IN_FILTERS, name)){\n debugHandler(`[ ] registration failure\\nFailed to register the custom ${sName} with the name \"${name}\\n\\n Which collides with a BUILT_IN_${sName.toUpperCase()} name\\nregistration FAILED___`,self, true);\n continue;\n }else if(!validateType(filter, [ Function, Object] )) {\n debugHandler(`[ ] ${sName.at(0).toUpperCase()+sName.slice(1)} must be a function or an object exposing a \"${sName}\" method option \\n\\nat at\\n \"${name}\" ${sName} registration`, self, true);\n continue;\n }\n if(isObject(filter) && (!hasOwn(filter, sName) || !isPFunction(filter[sName]))){\n debugHandler(`[ ] \"${name}\" ${sName} object must expose a ${sName} method\\n\\nregistration FAILED___`, self, true);\n continue\n }\n self[$$$register][optName][name]=filter;\n }\n }\n function __Ensure_Renderer(self, options, vnode){\n widgetsSetup(options, self, vnode);\n methodsManager(options, self, vnode);\n iterate(['filters', 'blocks']).each(bl=>resolveCustomFiltersOrBlocks(self, options, bl, vnode));\n RuntimeUtilitiesProvide(self, options, vnode);\n injectCustomDirective(self, options, vnode);\n injectCustomAnimations_Transitions(self, options, vnode);\n __Generate_Widget_Hash(self);\n RuntimeTokenDir(self, vnode);\n return options;\n }\n const alpha ='A,a,B,b,C,c,D,d,E,e,F,f,G,g,H,h,I,i,J,j,K,k,L,l,M,m,N,n,O,o,P,p,Q,q,R,r,S,s,T,t,U,u,V,v,W,w,X,x,Y,y,Z,z'\n const num='0,1,2,3,4,5,6,7,8,9';\n const alphaNum =alpha+','+num;\n const numRegex=/\\d/;\n const alphaNumRegex=/\\w/;\n const alphaRegex=/\\b/;\n function generateUUID(length, type) {\n const isAlpha=type === 'alpha';\n const isNum=type === 'num';\n let letters=(isAlpha ? alpha : isNum ? num : alphaNum).split(',');\n let id = '';\n let stack=[];\n for(let i = 0; i < len(letters); i=i){\n const randomIndex = Math.floor(Math.random() * len(letters));\n stack.push(letters[randomIndex]);\n letters.splice(randomIndex, 1);\n }\n for (let i = 0; i < length; i++) {\n const randomIndex = Math.floor(Math.random() * len(stack));\n id += stack[randomIndex];\n }\n return isNum ? Number(id) : id;\n }\n function __Generate_Widget_Hash(self){\n self[$$$ownProperties]['hx_build']=\"_hx_\"+generateUUID(10);\n }\n function Hydrate_Network_Prefixes(self, options){\n const vnode=self[$$$core].virtualNode;\n if(hasProp(options, 'buildConfig')) {\n setConfig(self, options);\n }\n paramsManager(self, options.params, vnode.props);\n modelManager(self, options);\n self.__public_model__=Setup_State_Effect(self);\n entries(self[$$$register].handlers).forEach(([key, handler])=>{\n define(self.__public_model__, key, { \n value:handler.bind(self.__public_model__),\n enumerable\n });\n });\n define(self.__public_model__, \"$refs\", {\n value:new Refs,\n enumerable\n });\n const templateRefs=self[$$$operands].templateRefsInputs;\n for( const [ name, ref ] of entries(templateRefs)){\n auto_unwrapTokenRegistery(self.__public_model__.$refs, name, ref);\n }\n registerTemplateClasses(self, options, vnode);\n computedPropsCompiler(self, options)\n receivePublicationPrefix(self, options);\n Observer_Track(self, options);\n }\n class EffectFusion {\n callback=pass;\n constructor(self) {\n this.self=self;\n this.triggered=false;\n }\n trigger(flush) {\n if(this.triggered){\n return;\n }\n let flushType=getFlushType(this.self);\n flushType=flush && flush !== flushType ? flush : flushType;\n this.triggered=true;\n if(flushType==='post' || flushType==='pre') {\n deferEventCircleThread(this.self, this.callback()).then(()=>{\n this.triggered=false;\n });\n }else if(flushType==='sync') {\n this.callback();\n this.triggered=false;\n }\n }\n }\n function defineProxyScopeProps(obj, config){\n const ReactiveEffect=assign(new ReactiveEffectObject(), {\n effectTrigger:pass,//the pass argument callbact, to be cslled on stream\n trackZoom:false,\n effectZoom:false,\n origin:obj,\n onEffectHook:()=>safeCall(config.onEffect),\n onTrackedHook:()=>safeCall(config.onTracked),\n readonly:false,\n shallow:false,\n thisArg:{},\n dependency:new WeakMap\n });\n return ReactiveEffect;\n }\n function auto_unwrapTokenRegistery(obj, key, value){\n define(obj, key, {\n get(){\n return unwrap(value);\n }, \n set(newValue){\n if(isToken(newValue)){\n value=newValue;\n obj[key]=unwrap(newValue)\n }else{\n value[value[refInternalEffectKey].accessor]=newValue;\n }\n return true;\n }\n });\n }\n function proxyEffectDeepConversion(obj, ReactiveEffect, deep, config){\n for(let [key , value] of getIterator(obj)){\n if(isToken(value)){\n auto_unwrapTokenRegistery(obj, key, value);\n }else if(isProxySkipped(key) || _isProxyStream(value) || isRaw(value) || (isPFunction(value) && value[$$isHandler])){\n \n }else if(!isPrimitive(value)){ \n obj[key]=_createStream(value, config);\n }\n }\n }\n function streamMutationTransform(args, object, effObj, name, config, dependency, initKeys){\n const { readonly = false , shallow = false } = config;\n args = [ ...args ];\n let [ target, prop, valueX, receiver ] = args ;\n let value= name === \"defineProperty\" ? valueX.value : valueX;\n if(!initKeys.has(prop)){\n Reflect[name](...args);\n return true;\n }\n if(prop === $$$StreamProxyKey || !Reflect.has(target, prop)) {\n Reflect[name](...args);\n return true;\n }\n if(readonly && (name === 'deleteProperty' || !isReadonlyBypasser(value)) ){\n debugHandler(`[ ] Cannot reassign/mutate a \"readonly\" stream prop\\n\\n___MUTATION FAILED___\\n........\"{}.${prop}\" property assignment/mutation using {##}.${name} method \\n\\n{##} object props are readonly \\n.........>>>bypassKey verification failure`, );\n return false;\n }else if(readonly && (!name === 'deleteProperty' || ( (name === 'defineProperty'/* || name === 'set'*/) && isReadonlyBypasser(value)))){\n value = value[bypassSymbol];\n valueX.value=value;\n }\n if( !isPrimitive(value) && !shallow && !isToken(value) && !isStream(value) ){\n value = _createStream(value, {\n ...config \n } ) ;\n if(name === 'defineProperty') {\n valueX.value = value;\n }else {\n valueX = value ;\n }\n }\n if(name === 'set'){\n args[2]=value;\n }\n _notifyEffectSubs(dependency, prop, object)\n Reflect[name](...args);\n return true;\n }\n function createCollectionStream(obj, ReactiveEffect ){\n if(isMap(obj)) {\n return _createMapStream(obj, ReactiveEffect);\n }else if(isSet(obj)) {\n return _createSetStream(obj, ReactiveEffect);\n }else if(isTuple(obj)) {\n return _createTupleStream(obj, ReactiveEffect);\n }else if(isWeakSet(obj)){\n return _createWeakSetStream(obj, ReactiveEffect);\n }else if(isWeakMap(obj)){\n return _createWeakMapStream(obj, ReactiveEffect);\n }else if(isArray(obj)) {\n return _createArrayStream(obj, ReactiveEffect);\n }\n return obj;\n }\n function deepableObj(obj){\n if(isHouxitBuild(obj) || isHouxitElement(obj) || (inBrowserCompiler && obj instanceof HTMLElement)) {\n return false;\n }\n return true\n }\n function _createStream(obj, config){\n if(!isStreamable(obj) || isStream(obj) || isToken(obj) || isDomSpecialConstructor(obj)) {\n if(isToken(obj)){\n debugHandler(`[ ] [stream parsing warning] token instance cannot be passed to stream`);\n }\n return obj;\n }\n const response=validateCollectionArgs(arguments, {\n max:3,\n min:1,\n validators:[[Object, Array, Tuple, Set, Map], Object ],\n name:'stream'\n });\n if(!response) {\n return freeze();\n }\n config = isPObject(config) ? config : {};\n const { shallow=false, readonly=false } = config;\n const streamMap=new WeakMap();\n const useDeep= !shallow && isFalse(shallow);\n const ReactiveEffect = defineProxyScopeProps(obj, config);\n ReactiveEffect.shallow=shallow;\n ReactiveEffect.readonly=readonly;\n obj = createCollectionStream(obj, ReactiveEffect);\n if(useDeep && deepableObj(obj)) {\n proxyEffectDeepConversion(obj, ReactiveEffect, useDeep, config);\n }\n obj = transformProxyStream(obj, ReactiveEffect, config);\n obj[$$$StreamProxyKey]=streamMap;\n streamMap.set(obj, ReactiveEffect);\n ReactiveEffect.stream=obj;\n return obj;\n }\n function _subscribeToEffect(dependency, prop, reactive){\n if(!len(activeRunningEffects)){\n return;\n }\n const record=isToken(reactive) ? dependency : dependency.get(reactive);\n let subscriber;\n if(!record.has(prop)){\n subscriber=new Dependency(prop);\n record.set(prop, subscriber)\n }else{\n subscriber=record.get(prop);\n }\n subscriber.subscribe();\n return subscriber;\n }\n function _notifyEffectSubs(dependency, prop, reactive, value){\n const record=isToken(reactive) ? dependency : dependency.get(reactive);\n if(!record?.has(prop)){\n return;\n }\n record.get(prop)?.notifyEffects();\n }\n function collectionsPropAssertion(target, prop){\n let response=true;\n if(isSet(target) || isWeakSet(target)){\n if(_makeMap_(setMM, prop)){\n response=false\n }\n }else if(isMap(target) || isWeakMap(target)){\n if(_makeMap_(mapMM, prop)){\n response=false;\n }\n }else if(isTuple(target)){\n if(_makeMap_(tupleMM)){\n response=false\n }\n }else if(isArray(target)){\n if(_makeMap_(arrayMM)){\n response=false;\n }\n }else if(prop === $$$StreamProxyKey){\n response = false;\n }\n if(isCollection(target)){\n prop=target;\n }\n return [ response, prop ];\n }\n function isInternalKeys(key, obj){\n const NON_TRACK_KEYS = [\"__proto__\",\"prototype\",\"constructor\"];\n if(isArray(obj)){\n NON_TRACK_KEYS.push('length');\n }\n const NON_TRACK_SYMBOLS = [Symbol.toStringTag, Symbol.toPrimitive, Symbol.unscopables, Symbol.hasInstance, Symbol.isConcatSpreadable, Symbol.species, Symbol.match, Symbol.matchAll, Symbol.replace, Symbol.search, Symbol.split, Symbol.dispose, Symbol.asyncDispose ];// Handle Symbol.iterator and Symbol.asyncIterator separately if they establish iteration dependencies\n return _makeMap_(NON_TRACK_KEYS, key) || _makeMap_(NON_TRACK_SYMBOLS, key);\n }\n function isStreamable(v){\n return isPrimitive(v) || isCollection(v) || validateType(v, [Object, Map, WeakMap, WeakSet ]);\n }\n function transformProxyStream(obj, ReactiveEffect, config){\n const dependency=ReactiveEffect.dependency;\n const initKeys=new Tuple(...keys(obj));\n const reactive= new Proxy(obj, {\n get(target, prop){\n const getter=()=> Reflect.get(...arguments);\n if(isInternalKeys(prop, target)){\n return getter();\n }\n const value=getter();\n let response=true;\n [ response, prop ] = collectionsPropAssertion(reactive, prop);\n if(response){\n const subscriber=_subscribeToEffect(dependency, prop, reactive, value);\n if(subscriber){\n subscriber.get_data=getter;\n }\n }\n return value;\n },\n set(target, prop, value, receiver){\n return streamMutationTransform(arguments, reactive, ReactiveEffect, 'set', config, dependency, initKeys );\n },\n defineProperty(target, prop, value, receiver){\n return streamMutationTransform(arguments, reactive, ReactiveEffect, 'defineProperty', config, dependency, initKeys );\n },\n deleteProperty(target, prop, value, receiver){\n return streamMutationTransform(arguments, reactive, ReactiveEffect, 'deleteProperty', config, dependency, initKeys );\n },\n has(target, key){\n \n return Reflect.has(target, key);\n },\n ownKeys(target){\n return Reflect.ownKeys(target);\n },\n getOwnPropertyDescriptor(target, key){\n \n return Reflect.getOwnPropertyDescriptor(target, key);\n }\n });\n dependency.set(reactive, new Map());\n return reactive;\n }\n function hasPrototype(obj, prototype) {\n obj=obj.prototype;\n prototype=prototype.prototype;\n while (obj) {\n if (obj === prototype){ \n return true;\n }\n obj = Object.getPrototypeOf(obj);\n }\n return false;\n }\n function streamReactiveHook(X, args, name, ReactiveEffect){\n const stream=ReactiveEffect.stream;\n const res = X.prototype[name].call(stream, ...args);\n _notifyEffectSubs(ReactiveEffect.dependency, validateType(stream, [Map, WeakMap]) ? args[0] : stream, stream);\n return res;\n }\n function CollectionsEffectMutationsTrap(BaseStream, ReactiveEffect){\n const mutators = hasPrototype(BaseStream, Set) || hasPrototype(BaseStream, WeakSet) ? setMM : hasPrototype(BaseStream, Array) ? arrayMM : hasPrototype(BaseStream, Tuple) ? tupleMM : hasPrototype(BaseStream, Map) || hasPrototype(BaseStream, WeakMap) ? mapMM : \"\";\n mutators.split(\",\").values().forEach((method)=>{\n if(!method) {\n return;\n }\n BaseStream.prototype[method]=(Function('streamReactiveHook', `\n return function ${ method === 'delete' ? 'del' : method }(){\n return streamReactiveHook(this, arguments);\n }`)(function(s, args){\n return streamReactiveHook.call(s, BaseStream.__proto__, args, method, ReactiveEffect);\n }));\n });\n return BaseStream;\n }\n function _createTupleStream(tuple, ReactiveEffect){\n class TupleStream extends BaseTupleStream{\n constructor(tuple){\n super(tuple);\n }\n }\n return new (CollectionsEffectMutationsTrap(TupleStream, ReactiveEffect))(tuple);\n }\n function _createArrayStream(array, ReactiveEffect){\n class ArrayStream extends BaseArrayStream{\n constructor(array){\n super(array);\n }\n }\n return new ( CollectionsEffectMutationsTrap(ArrayStream, ReactiveEffect))(array);\n }\n function _createSetStream(setArg, ReactiveEffect){\n class SetStream extends BaseSetStream{\n constructor(setArg){\n super(setArg);\n }\n }\n return new (CollectionsEffectMutationsTrap(SetStream, ReactiveEffect))(setArg);\n }\n function _createWeakSetStream(setArg, ReactiveEffect){\n class WeakSetStream extends BaseWeakSetStream{\n constructor(setArg){\n super(setArg);\n }\n }\n return new (CollectionsEffectMutationsTrap(WeakSetStream, ReactiveEffect))(setArg);\n }\n function _createMapStream(map, ReactiveEffect){\n class MapStream extends BaseMapStream{\n constructor(map){\n super(map);\n }\n }\n return new (CollectionsEffectMutationsTrap(MapStream, ReactiveEffect))(map);\n }\n function _createWeakMapStream(map, ReactiveEffect){\n class WeakMapStream extends BaseWeakMapStream{\n constructor(map){\n super(map);\n }\n }\n return new (CollectionsEffectMutationsTrap(WeakMapStream, ReactiveEffect))(map);\n }\n function stream(obj, config){\n return _createStream(...arguments)\n }\n function shallowStream(obj, config){\n return stream(obj, {\n shallow:true,\n ...( isObject(config) ? config : {})\n })\n }\n function readonlyStream(obj, config){\n return stream(obj, {\n readonly:true, \n ...( isPObject(config) ? config : {} )\n })\n }\n function shallowReadonlyStream(obj, config){\n return readonlyStream(obj, {\n shallow:true,\n ...( isObject(config) ? config : {})\n } );\n }\n class SubscriptionEffectBoard{\n subtree=[];\n createWatch(){\n const index=len(this.subtree);\n this.subtree.push({\n subscritions:new Tuple(),\n });\n return index;\n }\n endWatch(patch){\n if(!len(this.subtree)) {\n return [];\n }\n const eff=this.subtree[patch];\n this.subtree.splice(patch, 1);\n return eff.subscritions.list();\n }\n subscribe(subs, patch){\n const index=isNaN(Number(patch)) ? len(this.subtree) : Number(patch);\n if(index < 1) {\n return;\n }\n for(let i=0; i < index; i++){\n this.subtree[i].subscritions.extend(arrayInverter(subs, true));\n }\n return true;\n }\n }\n function Setup_State_Effect(self){\n let obj=self.__public_model__;\n const dependency = new EffectFusion(self);\n self[$$$operands].dependency=dependency;\n for(let [key , value] of entries(self[$$$ownProperties].$params)){\n define(obj, key, {\n get(){\n return value.data;\n }\n });\n }\n obj=_createStream(obj, {});\n return obj;\n }\n function defineGetter(obj, prop, value, desc={}){\n const { enumerable=false, writable=false, debug=false }=desc;\n const descriptor={\n get (){\n return value;\n },\n }\n if(writable || debug ){\n descriptor.set=function(valueX){\n if(writable) {\n value=valueX;\n }else if(debug) {\n debugHandler(`[ ] \"{}<${prop}>\" not writable!!!`);\n }\n }\n }\n if(isTrue(enumerable)) {\n descriptor.enumerable=enumerable;\n }\n return define(obj, prop, descriptor);\n }\n function isSSRCompiler(self){\n return isHouxitBuild(self) && isTrue(self[$$$compiler].useSSRCompiler);\n }\n function isHydration(self){\n return isHouxitBuild(self) && isTrue(self[$$$compiler].SSRHydrationFlag);\n }\n const registra=()=> ({ \n transitions:{}, \n animations:{}, \n directives:{}, \n filters:{}, \n widgets:{}, \n handlers:{}, \n agents:{}, \n blocks:{},\n mixins:new Tuple,\n properties:{},\n templateClasses:{}\n });\n const HXBuildOwnPropertiesInitial=(opts, vNode)=>({ \n name:opts?.name ? opts.name : isString(vNode.type) ? vNode.type : 'AnonymousWidget', \n slot_name:undefined , \n isInitialBuild:false ,\n widgetType:undefined,\n hx_Element:undefined,\n isSelfRecursive:false\n });\n const HXBuildCoreInitial= (opts, vnode)=> ({\n GeneticProvider:opts,\n virtualNode:vnode,\n utils:{}, \n settings:Compiler_Config_Options, \n slots: new Slots, \n rootNodesList:[],\n map:{ \n is_hyperscript:vnode.is_hyperscript\n }, \n slotsFactory:{\n renderedSlotsList:{},\n }\n });\n function createPriorityFlush(effect, callback){\n if(!isEffect(effect)) {\n return pass;\n }\n effect.attachCallback(callback, 'priority');\n return function(){\n effect.endLife();\n }\n }\n const HXBuildCompilerInitial=()=>({\n whenMountedHooks:new Tuple,\n composedSlots:{},\n rawChildren:()=> undefined,\n VN_Tree:{\n KEYS_INDEXES:new Tuple,\n LEAGUE_TREE:{},\n priority:new Tuple\n },\n memoVault:new Tuple,\n template:undefined,\n scopeSlotsBindings:{},\n SSRHydrationFlag:false,\n useSSRCompiler:false\n })\n const HXBuildOperandInitial=()=>({\n installers_plugin:new Tuple,\n applied_mixins:new Tuple,\n _OBSERVERS:new Tuple, \n _LIFECIRCLEHOOKS:{}, \n _OPTIONS:{}, \n garbageWatch:false,\n awaitReady:null,\n initializedRender:false , \n effectRerender:false,\n onRenderTracked:false,\n onEffectWatch:false, \n modelMethods:{},\n templateRefsInputs:{},\n });\n function createCordinationProperties(self, vnode){\n self.__public_model__=new Model;\n let opts=vnode;\n if(isVNodeClass(vnode)) {\n opts= defineWidget(vnode.prototype_);\n }\n self[$$$ownProperties]= HXBuildOwnPropertiesInitial(opts, vnode);\n defineGetter(self, $$$register, registra() );\n defineGetter(self, $$$operands, HXBuildOperandInitial());\n defineGetter(self, $$$core , HXBuildCoreInitial(opts, vnode) );\n defineGetter(self[$$$core], '$globals', {\n register:registra(),\n setupOptions:{}, \n transmited:{}, \n legalOptions:{}, \n controller:new Set(),\n });\n defineGetter(self, $$$compiler, HXBuildCompilerInitial());\n defineGetter(self.__public_model__, '$signals', new Signals);\n getHouxitBuildInstance(self, opts, vnode);\n return [ opts, vnode ];\n }\n function slotDebuger(self){\n return (slotName, slotContent)=>{\n debugHandler(`[ ] Problem when mapping slot element>>>\\n\\nMore than one vnode slot name seems to be pointing to the same slot\\nat at \"${slotName}\" slot Directive of \"${slotContent.$element.outerHTML}\" \\n\\nmaybe you should wrap them within a single template wrapper`, self, true, \"During the induction of slots contents\");\n $warn(`Note: unnamed contents will be automatically weapped as \"default\" slot\\nWon't conflict with other default contents`, self );\n return;\n }\n }\n function smartSlotMapping(self, slotContent, slotName, defaultSlotsRecord, slotsCore, patchFlags){\n if(slotName === 'default') {\n defaultSlotsRecord.push(slotContent);\n }else if(!hasOwn(slotsCore, slotName) ){\n slotsCore[slotName]=function slotRender() {\n return new HouxitFragmentElement( arrayInverter( slotContent ), patchFlags);\n }\n }else {\n return slotDebuger(self)(slotName, slotContent);\n }\n }\n const shouldUnwrap = child=> isHouxitFragmentElement(child) && child.isLoopWrappRenderer;\n function unwrapLoopWrappers(children){\n const childrenRender=new Tuple();\n for(const child of children.values()){\n if(shouldUnwrap(child)){\n childrenRender.extend(unwrapLoopWrappers(child))\n }else {\n childrenRender.add(child);\n }\n }\n return childrenRender.list();\n }\n function _induceSlotContents(self, options, setData , renderedSlotsList){\n const isRerender=self[$$$operands].initializedRender;\n let [ children, patchFlags, Flaghx_Element ] = setData;\n const defaultSlotsRecord=[];\n const slotsCore=renderedSlotsList ? renderedSlotsList : self[$$$core].slots;\n if(!children || !len(children) ) {\n defineFallbackSlotsToken(self, options, defaultSlotsRecord, slotsCore);\n return renderedSlotsList;\n }\n children = unwrapLoopWrappers(children);\n const hx_Element=options.children?.hx_Element;\n const is_hyperscript= self[$$$core].map.is_hyperscript;\n for(let slotContent of (children || [])?.values() ){\n if(isHouxitElement(slotContent)){\n const slotName=slotContent.slot_name || 'default';\n smartSlotMapping(self, slotContent, slotName, defaultSlotsRecord, slotsCore, patchFlags);\n }\n }\n if(len(defaultSlotsRecord)) {\n slotsCore.default=function slotRender() {\n return _getNodeListResponse(defaultSlotsRecord, patchFlags);\n }\n }\n if(is_hyperscript ) {\n defineFallbackSlotsToken(self, options, defaultSlotsRecord, slotsCore);\n }\n return renderedSlotsList;\n }\n function defineFallbackSlotsToken(self, options, defaultSlotsRecord, slotsCore){\n function factory(name){\n return function slotRender(def){\n if(len(arguments) && def && !isChildrenNode(def) || (isArrowFunction(def) && !isChildrenNode(def()))){\n debugHandler(`[ ] Render functions default slot content must be a render function also`, self, true);\n return null;\n }else if(def && isChildrenNode(def)) {\n def=isPFunction(def) ? def(self) : def;\n return createVNode({\n type:\"slot\", \n props:{ \n name \n },\n children:def \n });\n }\n return createVNode({\n type:\"slot\", \n props:{ \n name \n }\n });\n }\n }\n const o_slots=new Tuple(...(options.slots && len(options.slots) ? options.slots : [ \"default\" ]) );\n if(!o_slots.has(\"default\")) {\n o_slots.add(\"default\");\n }\n for(const sn of o_slots.values()){\n if(!hasOwn(self[$$$compiler].composedSlots, sn)){\n self[$$$compiler].composedSlots[sn]=factory(sn);\n }\n }\n }\n function $ensureLifeCircleHooks(self, options, vnode){\n const hooks=\"preBuild,postBuild,postMount,preMount,postUpdate,preUpdate,preDestroy,postDestroy,onTracked,onEffect,onCatch,onSlotEffect,onSlotRender\";\n const dirHKAlibi={ \n init_hook:'preBuild',\n mounted_hook:'postMount',\n created_hook:'postBuild',\n updated_hook:'postUpdate',\n destroyed_hook:'postDestroy'\n }\n let customDirHk={}\n if(vnode[$$$customDirs]){\n entries(vnode[$$$customDirs]).forEach(([key, dirhk])=>{\n if(len(dirhk)){\n customDirHk[dirHKAlibi[key]]=function(){\n callSetHooks(self, dirhk, null, self.__public_model__);\n }\n }\n })\n delete vnode[$$$customDirs];\n }\n hooks.split(',').forEach((hookN)=>{\n if(options[hookN] || len(customDirHk)){\n if( len( customDirHk) && hasOwn(customDirHk, hookN)){\n let thisHook=customDirHk[hookN];\n const user_defined_callback=vnode[hookN] || pass;\n options[hookN]=function(utils){\n if(isPFunction(thisHook)) {\n thisHook();\n }\n if(user_defined_callback) {\n user_defined_callback.call(self.__public_model__, utils);\n }\n }\n }\n self[$$$operands]._LIFECIRCLEHOOKS[hookN]=options[hookN]||pass;\n }else {\n self[$$$operands]._LIFECIRCLEHOOKS[hookN]=pass;\n }\n })\n if(isFalse(self[$$$operands].initializedRender)) {\n callbackHookWithCatch(self, self[$$$operands]._LIFECIRCLEHOOKS.preBuild,'preBuild');\n }\n }\n function callbackHookWithCatch(self, hook, name, special=false){//this function calls a lifecircle hook with a catch debugger\n if(isPass(hook)) {\n return;\n }\n try{\n hook.call(self.__public_model__);\n }catch(err){\n debugHandler(err)\n debugHandler(special ? name : `${name} hook \\n\\n`,self, true, `during the call of the \"${name}\" LifeCycle hook`, self, true);\n $warn(`${err}`);\n }\n }\n function RuntimeTokenDir(self, vnode){\n const templateRef=vnode.filesFilter.templateRef;\n safeCall(templateRef, self.__public_model__);\n }\n function normalizeHyperscriptSlotting(self, children, hx_Element, patchFlags, isRerender, config){\n const renderSlotList=[];\n const except=new Set();\n const slotBindings=self[$$$compiler]?.scopeSlotsBindings;\n const $$$context=()=>self[$$$core].map.$$$context;\n for(let [key, value] of children.entries()){\n if(isNull(value)) {\n continue;\n }\n const fn=value;\n const callback=()=>safeCall(fn, $$$context()?.value);\n value = callback();\n if(isSlotInstance(value)){\n for(let [slotN, slotRender] of entries(value.slots)){\n slotRender=slotRender.call(($$$context()?.value), slotBindings[slotN]?.bindings);\n if(!isChildrenNode(slotRender)){\n debugHandler(`[ ] Element Recognition Error: unrecognised element/value passed to render`, self, true);\n return;\n }\n installSuspense(slotRender, getBoundary(hx_Element));\n slotRender=arrayInverter(_HouxitCoreRenderer(arrayInverter( slotRender ), patchFlags, null, hx_Element, null, config));\n if(slotN !=='default' && except.has(slotN) ){\n debugHandler(`[ ] Duplicate Slot Error: slot content with the name mapping \"${slotN}\" has already be defined\\n\\nUntraced slotting mapping\\n\"${slotN}\" slot Duplicate found`, self, true);\n return;\n }else{\n except.add(slotN);\n slotRender.forEach((hx_el)=> {\n hx_el.slot_name=slotN;\n renderSlotList.push(hx_el);\n });\n }\n }\n }else{\n except.add(\"default\");\n if(isPrimitive(value)){\n value=callback;\n }\n installSuspense(value, getBoundary(hx_Element));\n const slotRender=_HouxitCoreRenderer(value, patchFlags, null, hx_Element, null, config);\n arrayInverter(slotRender).forEach((hx_el)=> {\n hx_el.slot_name=\"default\";\n renderSlotList.push(hx_el);\n });\n }\n }\n except.clear();\n return renderSlotList;\n }\n function arrayInverter(value, useCollections=true){\n if(!isArray(value) && isCollection(value) && useCollections){\n return arrSet(value);\n }\n if(!isNull(value) && (useCollections ? !isCollection(value) : !isArray(value))){\n const array=[];\n array.push(value);\n return array;\n }else if(isNull(value)) {\n return [];\n }\n return value;\n }\n function collectCompiler_Args(self, ){\n \n }\n function slotsGeneticProvider(self, options, vnode, isRerender){\n if(!vnode.children) {\n return;\n }\n let children =vnode.children;\n const slotsCompilerArgs= isInitialBuild(self) ? {\n self,\n hx_Element:vnode?.hx_Element,\n config:{}\n } : vnode.filesFilter?.slotsCompilerArgs;\n let { hx_Element, self:patchFlags, fall, config } = slotsCompilerArgs;\n const is_hyperscript=vnode.is_hyperscript;\n if(!config) {\n config={};\n }\n config.patchFlags=self;\n let context=()=>self[$$$core].map.$$$context?.value || {};\n let childrenRender;\n config.slotTap={\n parent:slotsCompilerArgs.hx_Element\n }\n config.topLevelSlotContext=true;\n if(is_hyperscript) {\n childrenRender=normalizeHyperscriptSlotting(self, children, hx_Element, patchFlags, isRerender, config);\n }else {\n context=self[$$$core].context;\n installSuspense(children, getBoundary(vnode));\n childrenRender= _HouxitCoreRenderer(children, patchFlags, null, hx_Element, context?.(), config );\n }\n return [ arrayInverter(childrenRender), patchFlags, hx_Element, {\n hx_Element,\n patchFlags\n }] ;\n }\n function createContext_Parameters(self, options, vnode){\n if(!options.context) {\n return;\n }\n const effect=_createHouxitEffectFrame(function(){\n return options.context.call(self.__public_model__);\n }, self);\n try{\n effectRunner(effect);\n }catch(err){\n debugHandler(`[ ] Provider Method Error: Encountered an error while trying to run the context >> provider option method`, self, true);\n debugHandler(`${err}`, self);\n return;\n }\n if(!isPObject(effect.value)){\n debugHandler(`[ ] Context Return Error: The context option return value expects a plain object\\nReturning a non plain object is invalid `, self, true);\n return;\n }\n const value=token(effect.value);\n self[$$$core].map.$$$context={\n get value(){\n return value.data;\n }\n };\n effect.attachCallback(()=>{\n assign(value.data, effect.runEffect().value);\n });\n }\n function runtimeSlotsContext_Manager(self, options, patch, vnode ){\n const context=vnode.hx_Element?.VNodeManager[$$$context];\n if(!(context && context.prop )) {\n return;\n }\n const value =()=>self[$$$core].map?.$$$context.value;\n const prop=context?.prop;\n if(!hasOwn(self[$$$core].map, '$$$context')) {\n return;\n }\n const { hx_Element, self:patchFlags } = vnode.filesFilter.slotsCompilerArgs;\n function contextPropsProvider(){\n if(!destructWarn(prop, value(), self)) {\n return {};\n }\n if(isDestructureSyntax(prop)){\n const contextProps = {\n [$$dexTransformKey]:{ \n sourcesArray:[ value() ], \n syntaxArray:[ prop ]\n }\n };\n return contextProps;\n }else {\n return { [prop]:value()};\n }\n }\n self[$$$core].context=contextPropsProvider;\n }\n function defineLateGlobalProps(self, build){\n if(isHouxitElement(build)) {\n useModel.call(self, { \n $element:build.$element\n });\n }\n }\n function isInitialBuild(self){\n return isHouxitBuild(self) && isTrue(self[$$$ownProperties].isInitialBuild)\n }\n function mapPublicationsTraverse(self, opts, adapter){\n if(!hasOwn(opts, 'transmit')) {\n return;\n }\n const effect=_createHouxitEffectFrame(()=>{\n return opts.transmit.call(self.__public_model__)\n }, self);\n if(!isPObject(effect.value)) {\n debugHandler(`[ ] ${ adapter ? 'useTransmit method argument' : 'transmit method option'} expects a plain object as a return value`, self, true);\n return;\n }\n const globalBoard= isInitialBuild(self) ? self[$$$core].$globals.transmited : self[$$$core].$root[$$$core].$globals.transmited;\n for(const [key, valueX] of entries(effect.value)){\n globalBoard[key]=valueX;\n }\n effect.endLife();\n }\n function receivePublicationPrefix(self, opts, in_build=false){\n if(!hasOwn(opts, 'receive')) {\n return;\n }\n const globalBoard= isInitialBuild(self) ? self[$$$core]?.$globals.transmited : (self[$$$core].$root||{})[$$$core]?.$globals.transmited;\n for(let [ key, valueX] of getIterator(opts.receive)){\n let keyName = isArray(opts.receive) ? valueX : key ;\n if( !validateType(keyName, [String, Symbol])){\n debugHandler(`[ ] Arrays value of receiver expects a string / Symbol values of transmited property names\\n\\n\n ........\"${keyName}\"`, self, true);\n return\n }\n let defaultValue;\n if(!hasOwn(globalBoard, keyName)){\n if(isPObject(valueX) && hasProp(valueX, 'default')){\n if(!isPFunction(valueX.default)) {\n defaultValue=valueX.default\n }else{\n defaultValue = !isArrowFunction(valueX.default) ? valueX.default.call(self.__public_model__) : valueX.default()\n }\n }else{ \n debugHandler(`[ ] No transmited props with the provided receive key \"${keyName}\"\\n\\n\n Untransmited receive property`, self, true);\n return;\n }\n }\n let received= get_Object_Value( globalBoard , keyName );\n if(isPObject(valueX) && hasOwn(valueX, 'receive')){\n if(!isPFunction(valueX.receive)){\n debugHandler(`[ ] receive option of \"${key}\" receive property expects a function`, self, true);\n return \n }\n received = !isArrowFunction(valueX.receive) ? valueX.receive.call(self.__public_model__, received ) : valueX.receive(received);\n }\n if(!hasOwn(globalBoard, keyName) && !exists(received) && hasProp(valueX, 'default') && exists(defaultValue)) received=defaultValue ;\n let aliasKey=keyName;\n if(isPObject(valueX)){\n if(!hasOwn(valueX, 'alias')){\n debugHandler(`[ ] receive prop \"${keyName}\" object expects an \"alias\" property`, self, true);\n return;\n }else if(!validateType(valueX.alias, [ String, Symbol])){\n debugHandler(`[ ] \"${keyName}\" receive alias property expects a String or a Symbol`, self, true);\n return;\n }else if(!exists(valueX.alias)){\n debugHandler(`[ ] alias property of \"${keyName}\" receive property is an empty string or undefined prop naming`, self, true);\n return\n }else if(validateType(valueX, [String, Symbol])){\n valueX={ alias:valueX };\n }\n aliasKey = valueX.alias;\n }\n if(object_Has_Path(self.__public_model__, aliasKey)){\n debugHandler(`[ ] \"${aliasKey}\" property of receiver conflicts with an existing model property\\n\\n\n Try configuring an= unique alias property name instead\\n\\n............at \"${keyName}\"`, self, true);\n return;\n }\n if(!in_build) {\n define( self.__public_model__ , aliasKey , { \n value : received ,\n enumerable , \n configurable \n } ) ;\n }else {\n return received;\n }\n }\n }\n function traverseMixins_Inheritance(self, options){\n const globalmixins=getGlobalRegistery(self).register.mixins.list();\n const mixins=new Tuple(...[...globalmixins, ...(options.mixins || [])]).list();\n if(!len(mixins)) {\n return;\n }\n applyMixinMergeStrategy(self, options, mixins);\n }\n function applyMixinMergeStrategy(self, options, mixins){\n const applied_mixins=self[$$$operands].applied_mixins;\n const store={};\n for(const mx of mixins.toReversed().values()){\n if(!validateType(mx, [Function, Object])){\n debugHandler(`[ ] [Houxit Mixin Merge Warn] Mixins expects a plain fuction/object instance/valid Houxit widget instance`, self, true);\n return\n }else if(applied_mixins.has(mx)){\n continue;\n }\n applied_mixins.prepend(mx);\n defineMixinStrategy(self, options, mx, store);\n }\n sanitizedOptions(self, store)\n makeMerge(self, store, options);\n }\n function defineMixinStrategy(self, options, mixin, store){\n for(let [ name, value ] of entries(isPFunction(mixin) ? { build:mixin } : mixin)){\n if(isInvalidMixinOption(name)){ \n $warn(`[Mixin Strategy Mismatch] Ignored \"${isPFunction(mixin) ? 'Functional mixin as [build]' : name}\" in mixin. UI-defining options are only allowed on widgets. \\nSee [Mixins] guide and merge strategy reference.`, self, true);\n continue;\n }\n if(!store[name] || !isTuple(store[name])){ \n const inn=store[name];\n store[name]=new Tuple\n if(inn && !isTuple(inn)){\n store[name].add(inn);\n }\n }\n store[name].add(value);\n }\n }\n function makeMerge(self, store, options){\n for(let [name, values ] of entries(store)){\n if(isMergeableArrays_Objects(name)){\n const mxStore={};\n values.forEach(vl=>{\n smartArrayObjMerger(name, vl, mxStore);\n });\n options[name]=smartArrayObjMerger(name, options[name] || {}, mxStore);\n }else if(isMergableMethods(name)){\n const insider=options[name];\n options[name]=function(...args){\n values.list().toReversed().forEach(fn=> fn.call(this, ...args));\n return insider?.call?.(this, ...args);\n }\n }else if(isMergableObjects(name)){\n let pack={};\n values.list().toReversed().forEach(obj=>{\n assign(pack, obj);\n });\n options[name]=assign(options[name] || {}, pack);\n }else if(isMergeableArrays(name)){\n options[name]=[...(options[name] || [] ), ...values ];\n }else{\n if(!hasOwn(options, name)){\n options[name]=values.at(0);\n }\n }\n }\n }\n function smartArrayObjMerger(name, values, compose={}){\n for(let [key, item ] of getIterator(values)){\n if(isArray(values)){\n if(name==='params'){\n compose[item]={\n type:Any\n }\n }else if(name==='receive'){\n compose[item]={}\n }\n }else{\n compose[key]=item;\n }\n }\n return compose;\n }\n function getHouxitBuildInstance(self, options, vnode){\n if(hasOwn(vnode, factoryHXSelfInstance)){\n self[$$$ownProperties].isSelfRecursive=true;\n delete vnode[factoryHXSelfInstance];\n }\n if(!hasOwn(options, 'hx_Element') || !isHouxitElement(options['hx_Element'])) {\n return;\n }\n self[$$$ownProperties].hx_Element=options['hx_Element'];\n }\n function hydrateModelBinding(self, opts){\n if(!hasOwn(opts, 'bindDrivers') || !len(opts.bindDrivers)) return;\n const drivers=opts.bindDrivers;\n if(!hasOwn(opts, 'params')) opts.params={};\n else if(isArray(opts.params) && isPObject(drivers)){\n const params=opts.params;\n opts.params={};\n for(let p of params.values()){ \n opts.params[p]=Any;\n }\n }\n if(!hasOwn(opts, 'signals')) opts.signals=[];\n for(let [ key, item ] of getIterator(drivers) ){\n if(isArray(drivers)){\n key=item;\n item=Any;\n }\n const signalKey='update'+(key!=='modelValue' ? ':'+key : \"\" );\n if(!hasOwn(opts.params, key)) opts.params[key]=item;\n if(!opts.signals.includes(signalKey)) opts.signals.push(signalKey);\n }\n }\n function HouxitBuild( options ) {\n const [ opts, vnode ] = createCordinationProperties( this , options ) ; //create properties;\n this[$$$compiler].initialization=()=>{\n sanitizedOptions( this , opts, vnode ) ;//sanitize received options\n validateRegistryProvider( this ) ;\n $ensureLifeCircleHooks( this , opts, vnode ) ;\n setConfig(this, opts, vnode );\n hydrateModelBinding(this, opts);\n $construct_With_Signals(this, opts, false, vnode);\n map_Events_Fall(this , vnode);\n __Ensure_Renderer(this, opts, vnode);\n }\n this[$$$compiler].templateProcessor = function (self, build, buildFacade, slotter ){\n if(!self[$$$operands].initializedRender){\n if(!(isPromise(buildFacade) && isTrue(slotter))){\n build=_$slotHydrationRenderer(self, opts, build);\n }\n }\n build = _hydrate_props_fallthrough(opts, self, build);\n build=_preCompile_StyleSheet(opts, self, build);\n defineLateGlobalProps(self, build);\n return build;\n }\n resolveBuildLab(this, opts, vnode);\n }\n function resolveBuildLab(self, options){\n self[$$$core].build=options.build || options.render || options.template || options.markdown ;\n self[$$$core].opts=options;\n }\n function getComposersContext(self, ){\n const adapters={\n signals:self.__public_model__.$signals,\n attrs:self.__public_model__.$attrs,\n slots:self[$$$compiler].composedSlots,\n events:self.__public_model__.$events,\n use:use.bind(self)\n };\n for(const [key, macro] of entries(assign( adapters, self[$$$core].utils))){\n define(adapters, key, { \n value:macro, \n enumerable \n });\n }\n return adapters;\n }\n function trackTemplateSource(self, selector, fall, hx_Element, ssc){\n fall = fall || {};\n if(ssc) {\n fall= smartDextCtxMerging(fall, ssc);\n }\n let render = pass;\n inDomCaveatRemodeling(self);\n const isRerender=()=>self[$$$operands].initializedRender;\n const starter=()=>self[$$$compiler].StarterTemplate;\n const temp_build=()=> isRerender() ? memMove(starter(), true ) : self[$$$core].build;\n self[$$$core].map.is_hyperscript=false;\n if(!temp_build() && selector && isInitialBuild(self) && !isSSRCompiler(self) && inBrowserCompiler){\n self[$$$core].build=escapeReverseDecoder(_GenerateRoot(selector, self)?.innerHTML || '');\n }\n const temp=temp_build();\n if(isString(temp) || isCollection(temp)){\n render = (instance)=> {\n return _HouxitCoreRenderer(temp_build(), instance, false, hx_Element, fall, {\n official:true,\n self\n });\n }\n self[$$$core].render=render;\n }\n return render;\n }\n function createGarbageCollector(self){\n self[$$$compiler][garbageKey]={\n postBuild:new Tuple(),\n postUpdate:new Tuple(),\n postMount:new Tuple(),\n postDestroy:new Tuple(),\n preDestroy:new Tuple(),\n preUpdate:new Tuple(),\n preMount:new Tuple(),\n onEffect:new Tuple(),\n onTracked:new Tuple(),\n onCatch:new Tuple()\n }\n }\n function mapGarbargeHooks(self){\n for(const [name, tuple] of entries(self[$$$compiler][garbageKey])){\n if(!len(tuple)) {\n continue;\n }\n function hook(){\n tuple.list().forEach(function(fn){\n callbackHookWithCatch(self, fn, name );\n });\n }\n const joinder=self[$$$operands]._LIFECIRCLEHOOKS[name];\n if(isPass(joinder)) {\n self[$$$operands]._LIFECIRCLEHOOKS[name]=hook;\n }else {\n self[$$$operands]._LIFECIRCLEHOOKS[name]=function(){\n hook();\n callbackHookWithCatch(self, joinder, name );\n }\n }\n }\n delete self[$$$compiler][garbageKey];\n }\n function validateMemoContent(self, children){\n self=self[$$$core].$owner;\n if(len(children) > 1 || (!len(children) || !validHouxitWidget(children[0].prototype_))){\n debugHandler(`[ ] \"<Memo>\" expects only one child component instance`, self, true );\n return false;\n }\n return true;\n }\n function generateBuildParams(self){\n const params=self[$$$ownProperties].$params;\n const obj=new Params();\n for(let [key, value] of entries(params)){\n define(obj, key, {\n get(){\n return value.data;\n }\n });\n }\n return obj;\n }\n function handleBuildGenerator(self, selector){\n let context, render, parent;\n let widgetBuild=self[$$$core].build;\n const isRerender=self[$$$operands].initializedRender;\n const $parent=self[$$$core].$parent;\n if(isFunction(widgetBuild)){\n if(!isRerender && isAsyncFunction(widgetBuild)){\n self[$$$core].build=()=>[];\n return (async function(){\n installCurrentRunningEffect(self);\n const builder= await widgetBuild.call(undefined, generateBuildParams(self), getComposersContext(self));\n reinstatePreviousRunningEffect();\n self[$$$core].build=function(){\n return builder;\n }\n handleBuildGenerator(self, selector);\n self[$$$ownProperties].asyncBuildCache\n })();\n }\n let responseRender, renderer;\n createGarbageCollector(self);\n const useState=!isArrowFunction(widgetBuild);\n try{\n if(useState) {\n installCurrentRunningEffect(self);\n }\n renderer = widgetBuild.call(undefined, generateBuildParams(self), getComposersContext(self) );\n if(useState) {\n reinstatePreviousRunningEffect();\n }\n responseRender=renderer;\n if(isArrowFunction(widgetBuild) && !isPFunction(renderer) ) {\n responseRender=()=>renderer;\n }\n }catch(err){\n debugHandler(`[ ] Error during the call of the build function`,self, true, DebugFlags.build);\n debugHandler(err)\n if(isXtruct(widgetBuild)){\n debugHandler(`[ ] build options method seems to be a constructor function`, self);\n }else {\n debugHandler(`${err}`, self);\n }\n return ;\n }\n mapGarbargeHooks(self);\n if(isModelInstance(renderer) && (!isFunctionBasedBuild(self) || isInitialBuild(self))) {\n const options = self[$$$core].opts;\n if(hasOwn(options, 'render')) {\n responseRender=()=>options.render.call(self.__public_model__);\n }else{\n self[$$$core].build=hasOwn(options, \"template\") ? options.template : null ;\n const templateRender= trackTemplateSource(parent || self, selector, null, context?.hx_Element, context?.props || undefined );\n return templateRender;\n }\n }\n if(!isPFunction(responseRender) && !isArrowFunction(widgetBuild) ){\n debugHandler(`[ ] Error during the call of ${ !isFunctionBasedBuild(self) ? 'the build function' : 'functional widget' } context\\n\\nfailed to return a render function when returning the build method::\\nCross-Check your returned build Data as This may lead to unexpected results during Houxit element nodes Compilation`, self, true, DebugFlags.build);\n return;\n }else if(!isChildrenNode(responseRender())){\n debugHandler(`[ ] value not a valid Houxit Element instance`, self, true);\n return;\n }\n self[$$$core].map.is_hyperscript=true;\n self[$$$core].render= function factoryRender(instance, update=false){\n let response=responseRender();\n return !isArray(response) && isChildrenNode(response) ? arrayInverter(response) : isChildrenNode(response) ? response : [] ;\n };\n return self[$$$core].render;\n }else if(hasOwn(self[$$$core].opts, 'render')){\n self[$$$core].map.is_hyperscript=true;\n self[$$$core].render= function factoryRender(instance, update=false){\n let response=responseRender.call(self.__public_model__);\n return !isArray(response) && isChildrenNode(response) ? arrayInverter(response) : isChildrenNode(response) ? response : [] ;\n };\n return self[$$$core].render;\n }else {\n return trackTemplateSource(parent || self, selector, context?.hx_Element, context?.props );\n }\n render= (sf, update)=>self[$$$core].render(context?.self || sf, update);\n self[$$$core].render=render\n return render;\n }\n function inDomCaveatRemodeling(self){\n for(const [ name, item] of entries(self[$$$register].widgets)){\n if(hasUpperCase(name)) {\n self[$$$register].widgets[to_kebab_case(name)]=item;\n }\n }\n for(const [ name, item] of entries(self[$$$register].directives)){\n if(hasUpperCase(name)) {\n self[$$$register].directives[to_kebab_case(name)]=item;\n }\n }\n }\n function _GenerateRoot(nodeSelector, self){\n if(isNull(nodeSelector)){\n debugHandler(`[ ] No node model or selector value passed for deployment`, self, true);\n return;\n }\n let domRoot;\n if(isString(nodeSelector)){\n domRoot=document.querySelector(nodeSelector);\n if(!isNativeElement(domRoot)){\n debugHandler(`[ ] Error generating element, target not a valid native element instance`, self, true);\n return;\n }\n }else if(isNativeElement(nodeSelector) || nodeSelector.isHouxit_Fragment || nodeSelector === document){\n domRoot=nodeSelector;\n }\n return domRoot\n }\n function getGlobalRegistery(self){\n return self[$$$core].$globals ;\n }\n function mergeRegisteries(self){\n entries(self[$$$core].$globals.register).forEach(([name, value])=>{\n for(let [key, content] of entries(value)){\n if(!hasProp(self[$$$register][name], key) && key !== \"$root\"){\n self[$$$register][name][key]=content\n }\n }\n });\n assign(self.__public_model__, self[$$$register].properties);\n }\n function validateRegistryProvider(self){\n const gR=getGlobalRegistery(self);\n const registeredOpts=gR.legalOptions;\n const _opts=self[$$$operands]._OPTIONS;\n for(let [ key, opt] of entries(_opts)){\n if(!_makeMap_(registeredOpts, key)){\n debugHandler(`[ ] Unrecognised option found\\n\\n\n \"${key}\" option is not a valid widget option or not registered,\n \\n\\n\n You can register this option by passing an \"optionRegistry\" object prop to \"build.controller({})\" method as an object argument method`, self, true);\n return;\n }else if(!validateType(opt, registeredOpts[key])){\n debugHandler(`[ ] The provided \"${key}\" option validation failed on the required type\\n\\n\n Type of \"${getType(opt)}\"\" found`,self, true );\n return;\n }\n gR.setupOptions[key]?.();\n }\n }\n function widgetSlotsManager(self, options, vnode){\n createContext_Parameters(self, options, vnode);\n runtimeSlotsContext_Manager( self , options, null, vnode ) ;\n const setData = slotsGeneticProvider( self , options, vnode, self[$$$operands].initializedRender);\n _induceSlotContents( self , options , setData || [] ) ;\n for(const [key, content] of entries(self[$$$core].slots)){\n self[$$$compiler].composedSlots[key]=function slotRender(){\n return h('slot', {\n name:key\n });\n }\n }\n }\n function activateTemplateTokenizedOptions(self, options){\n if(!options.refs || !len(options.refs)) {\n return;\n }\n const instanceTemplateTokens=self[$$$operands].templateRefsInputs;\n iterate(options.refs).each((keyName, index)=> {\n _AnchorRefAdapter_(self, keyName)\n });\n }\n function _AnchorRefAdapter_(self, ref, ad=false){\n if(!ad && !isString(ref)){\n debugHandler(`[Template Ref Registration] refs option expects a string value`, self, true);\n return\n }\n const tokenized=new Token(undefined, {\n shallow:true\n });\n if(ad || isString(ref)){\n const t_ref=self[$$$operands].templateRefsInputs;\n if(!hasOwn(t_ref, ref)){\n t_ref[ref]=tokenized;\n }\n }\n return tokenized;\n }\n function _useRef(ref){\n const self= getCurrentRunningEffect({\n name:'useRef'\n });\n if(!isHouxitBuild(self) && !validateCollectionArgs(arguments, {\n validators:[String],\n max:1\n })) {\n return freeze();\n }\n return _AnchorRefAdapter_(self, ref, true);\n }\n function useRef(ref){\n return _useRef(...arguments);\n }\n function prefixManagement( self ) {\n const options = self[$$$core].opts ;\n mapPublicationsTraverse(self, options) ;\n mergeRegisteries( self ) ;\n }\n const isGettersObject=computed=>isPObject(computed) && ( isPFunction(computed.get) && ( !hasOwn(computed, 'set') ? false : isPFunction(computed.set) ) );\n function _computed_(callback, config){\n const res=validateCollectionArgs(arguments, {\n min:1,\n max:2,\n name:'computed',\n validators:[[Function, Object], Object ]\n })\n if(!res && !isPFunction(callback) && !isGettersObject(callback)){\n debugHandler(`[ ] computed macro at Parameter 1 expects a getter function or a descriptor object of a required \"get\" and an optional \"set\" property methods`, self, true);\n return;\n }\n const computed=hydrateComputedTokenTransform(undefined, callback, true, config || {});\n return computed;\n }\n function computed(callback, config){\n return _computed_.call(this, ...arguments);\n }\n function composedTokenHydration(self, computed, config){\n return factoryToken(function(track, trigger){\n function getter(){\n track();\n const internals=config.internals;\n if(internals.Initial){\n if(internals.updateFlags){\n const returnValue= internals.effect.runEffect().value;\n internals.updateFlags=0;\n internals.cache=returnValue;\n return returnValue;\n }\n return internals.cache;\n }\n const eff=()=> (isGettersObject(computed) ? computed?.get : computed).call(self?.__public_model__, ...arguments);\n internals.effect.effect=eff;\n internals.Initial=true\n const returnValue= effectRunner(internals.effect).value;\n internals.effect.attachCallback(()=>{\n internals.updateFlags++;\n trigger();\n });\n internals.cache=returnValue;\n return returnValue;\n }\n const descriptor={\n get(){\n return getter();\n },\n computed:true,\n ...( config || {} )\n }\n if(isGettersObject(computed) && hasOwn(computed, 'set') && isPFunction(computed.set)){ \n descriptor.set=function(){\n trigger();\n return computed?.set?.call(self?.__public_model__, ...arguments);\n }\n if(hasOwn(descriptor, 'readonly')) {\n delete descriptor.readonly;\n }\n }else {\n descriptor.readonly=true;\n }\n return descriptor;\n });;\n }\n function hydrateComputedTokenTransform(self, computed, composed, config={}){\n config=assign({}, config);\n const computed__Token=composedTokenHydration(self, computed, config);\n const internals=computed__Token[refInternalEffectKey];\n const effect=_createHouxitEffectFrame();\n effect.flushType='sync';\n internals.cache=effect.values;\n internals.effect=effect;\n config.internals=internals;\n return computed__Token;\n }\n function computedPropsCompiler(self, opts){\n if(!opts.computed || !len(opts.computed)) {\n return;\n }\n const model=self.__public_model__;\n for(let [key, computed] of entries(opts.computed)){\n if(!isPFunction(computed) && !isGettersObject(computed)){\n debugHandler(`[ ] computed option at \"${key}\" property expects a getter function method option or a descriptor object of a \"get\" and an optional \"set\" property methods`, self, true);\n return;\n }\n const computedToken = hydrateComputedTokenTransform(self, computed);\n define(model, key, {\n get(){\n return unwrap(computedToken);\n }\n });\n }\n }\n function callUpdatedHook(self, obs, ){\n for( let fn of obs.updated_hooks.values()){\n fn();\n }\n obs.updated_hooks.clear();\n callbackHookWithCatch(self, self[$$$operands]._LIFECIRCLEHOOKS.postUpdate, 'postUpdate');\n }\n function finisherLazyRender(self, nodeSelector, domRoot, wait=false){\n const isSSR=isSSRCompiler(self);\n activateWatchObserverPlugin(self, nodeSelector, domRoot, wait);\n if(IS_ELEMENT_NODE(domRoot) && isInitialBuild(self) && !isSSR ) domRoot.innerHTML=\"\";\n if(!isSSR && isInitialBuild(self) && !IS_ELEMENT_NODE(domRoot)){\n debugHandler('Initial entry Point mount root expects an element node', self, true);\n return ;\n }\n if(!isSSR && isInitialBuild(self) && isTrue(domRoot.IS_HOUXIT_MOUNTROOT)){\n debugHandler(`[ ] A Houxit widget has already been mounted on self element, cannot mount more than one Widget on a single root element`, self, true, `When trying to mount this initialBuild instance to the target DOM`);\n return ;\n }\n adapterDOMMountingProduction(self, domRoot)\n }\n function mount(nodeSelector, config, HydrationFlag){\n this[$$$compiler].initialization();\n const isSSR=isSSRCompiler(this);\n if(isSSR && HydrationFlag === SSRHydrationSymbol) {\n this[$$$compiler].SSRHydrationFlag=true;\n }\n if(!isSSR && !inBrowserCompiler){\n debugHandler(`[ ] Houxit failed to load Dom specific API(s) as it seems you are running Houxit from a server environment.....\\nuse \"initSSRBuild\" App builder instead.`, self, true);\n return this;\n }\n let domRoot=(isHydration(this) || !isSSR) && inBrowserCompiler ? _GenerateRoot(nodeSelector, this) : null;\n pre_build_facading(this);\n let buildFacade=handleBuildGenerator(this, nodeSelector);\n this.$build=isPromise(buildFacade) ? new HouxitFragmentElement([], self) : Render_Template(this, this[$$$core].render, buildFacade, true);\n if(isPromise(buildFacade)){\n const boundary=getBoundary(this[$$$core].virtualNode);\n this[$$$operands].awaitReady=buildFacade;\n buildFacade=buildFacade.then(()=>{\n const toggler=smart_render_toggler(this);\n const toggleParent=smart_render_toggler(this[$$$core].$owner)\n const lazyBuild=Render_Template(this, this[$$$core].render, buildFacade);\n toggleParent();\n const posix=resolveTargetElement(this.$build);\n posix.before(lazyBuild.$element);\n unMountVNode(this.$build);\n this.$build=lazyBuild;\n finisherLazyRender(this, nodeSelector, domRoot, true );\n toggler();\n }).catch((e)=>{\n boundary?.errorCaptured(pass, {\n message:\"<async build>() process has failed to resolve...\"\n });\n });\n if(boundary){\n boundary.activeAwaits++;\n boundary.loadChain.add(buildFacade);\n }\n }else {\n finisherLazyRender(this, nodeSelector, domRoot);\n }\n return this;\n }\n function shouldInstallRenderEffect(self){\n return !isSSRCompiler(self);\n }\n function ignoreHydrationMismatchError(self){\n return false;\n }\n function misMatchError(self, msg){\n if(!ignoreHydrationMismatchError(self)) {\n debugHandler(`[(Hydration Mis-Match Error)]....\\n\\n${msg}`, self, true);\n }\n }\n function hydration_match(self, el, vNode){\n if((IS_ELEMENT_NODE(el) && isSSRText(vNode)) || (isVNodeClass(vNode) && IS_TEXT_NODE(el))){\n misMatchError(self, `adjacent elements mismatches during \"HydrationTypeMatch\" ....of (${IS_ELEMENT_NODE(el) ? \"<\"+el.localName+\">\" : '\"'+el.textContent+'\"'} ... ${isVNodeClass(vNode) ? \"<\"+vNode.type+\">\" : '\"'+vNode.content+'\"'})`);\n }else if(IS_ELEMENT_NODE(el) && isVNodeClass(vNode)){\n if(el.localName !== vNode.type) {\n misMatchError(self, 'tagnames do not match ....of (<'+el.localName+'> ... <'+vNode.type+'>)');\n return false;\n }\n return true;\n }else if(IS_TEXT_NODE(el) && isSSRText(vNode)){\n if(el.textContent !== vNode.content){\n misMatchError(self, `textContent does not match with hydration target----of(<\"${el.textContent}\"> ... <\"${vNode.content}\">)`);\n return false;\n }\n return true;\n }else if(isSSRFragment(vNode)){\n \n }\n return false;\n }\n function perfomSSRHydration(self, domRoot, vNodeList, iter_tools){\n let [ generator, parentVnode, metrics, trucker ] = iter_tools || [];\n const childList=generator || domRoot.childNodes.values();\n const RawVnode=vNodeList;\n vNodeList=isSSRFragment(vNodeList) ? vNodeList.fragment : vNodeList;\n const ignoreWarn=ignoreHydrationMismatchError(self);\n const flushs=new Tuple();\n trucker=trucker || new Tuple();\n if(generator) {\n trucker.add({});\n }\n for(let [index, vNode] of vNodeList.entries()){\n let el;\n if(isVNodeClass(vNode) || isSSRText(vNode)){\n el=childList.next().value;\n if(!hydration_match(self, el, vNode)){\n if(ignoreWarn) {\n continue;\n }else {\n break;\n }\n }\n if(metrics){\n if(!metrics?.first) {\n metrics.first=el;\n }\n metrics.last=el;\n }\n if(generator){\n trucker.forEach(truck=>{\n if(!truck.first) {\n truck.first=el;\n }\n truck.last=el;\n });\n }\n if(!IS_HTML_VOID_TAG(vNode.type) && !isSSRText(vNode) && (vNode.children)) {\n perfomSSRHydration(self, el, vNode.children || []);\n }\n }else if(isSSRFragment(vNode) || isCollection(vNode)){\n perfomSSRHydration(self, null, vNode, [ childList, RawVnode.hx_Element, metrics, trucker ]);\n }\n if(isSSRText(vNode) || isSSRFragment(vNode) || isVNodeClass(vNode)){\n (isSSRText(vNode) || isSSRFragment(vNode) ? vNode : vNode.filesFilter.$ssr_kit).hydrationFlushs.forEach(fn=> fn(isSSRFragment(vNode) ? null : el));\n }\n }\n flushs.forEach(fn=>fn());\n if(generator) {\n installPosixComments(RawVnode.hx_Element, trucker.pop());\n }else if(metrics && isInitialBuild(self)) {\n installPosixComments(parentVnode, metrics);\n }\n }\n function installPosixComments(hx_Element, metrics){\n let { first, last } = metrics;\n const start=document.createComment(c_str);\n const end=document.createComment(c_str);\n first.before(start);\n last.after(end);\n if(isHouxitElement(hx_Element)) {\n hx_Element.VNodeManager.posix=[start, end];\n }\n }\n function pre_build_facading(self){\n const opts=self[$$$core].opts;\n activateTemplateTokenizedOptions(self, opts);\n Hydrate_Network_Prefixes(self, opts);\n prefixManagement(self);\n }\n function activateWatchObserverPlugin(self, nodeSelector, domRoot, wait){\n let initialBuild=self[$$$core].render;\n before_render_semantics(self);\n if(isHydration(self)) {\n perfomSSRHydration(self, domRoot, self.$build.$element, [ null, self.$build, {}]);\n }\n _Reactive_Adapter_Plugin( self.__public_model__ ,()=>tick(async function(){\n if(isHydration(self)){\n self[$$$compiler].useSSRCompiler=false;\n self[$$$compiler].SSRHydrationFlag=false;\n }\n const postEffCall=_EffectDependencyNotifier(self);\n if(shouldInstallRenderEffect(self)) {\n _ReconciliationTransformTrigger(self, nodeSelector );\n }\n tick(postEffCall);\n }), self, true);\n callbackHookWithCatch(self, self[$$$operands]._LIFECIRCLEHOOKS.onTracked, 'onTracked');\n callbackHookWithCatch(self, self[$$$operands]._LIFECIRCLEHOOKS.postBuild, 'postBuild');\n tick(()=>{\n self[$$$operands].onRenderTracked=true\n });\n self[$$$operands].initializedRender = true ;\n self[$$$operands].effectRerender=true;\n }\n function isEffRerender(self){\n return self[$$$operands].effectRerender;\n }\n function before_render_semantics(self){\n const installers=self[$$$operands].installers_plugin;\n if(len(installers)){\n self.install(function(build){\n for(const installer of installers.values()){\n installer(...arguments);\n }\n })\n }\n }\n function adapterDOMMountingProduction(self, domRoot){\n const MoutRootToken={\n IS_HOUXIT_MOUNTROOT:true,\n __mountRootToken:'hx__'+generateUUID(5),\n }\n callbackHookWithCatch(self, self[$$$operands]._LIFECIRCLEHOOKS.preMount, 'preMount');\n domRoot = activateBuildMount(self, domRoot, MoutRootToken);\n if(!isSSRCompiler(self)) {\n whenMounted(self, self.$build, ()=>{\n for(const fn of self[$$$compiler].whenMountedHooks.values()){\n callbackHookWithCatch(self, fn, '')\n }\n callbackHookWithCatch(self, self[$$$operands]._LIFECIRCLEHOOKS.postMount, 'postMount');\n });\n }\n self[$$$operands].hasMountProto=true;\n }\n function activateBuildMount(self, domRoot, MoutRootToken){\n if(isInDomNode(domRoot) && IS_ELEMENT_NODE(domRoot) && isInitialBuild(self) && !isSSRCompiler(self)) {\n domRoot.innerHTML='';\n domRoot.append(self.$build?.$element || '');\n self.property('$root', self.$build);\n domRoot.IS_HOUXIT_MOUNTROOT=true;\n tick(()=>{\n if(domRoot.hasAttribute('hx-cloak')) {\n domRoot.removeAttribute('hx-cloak');\n }\n });\n }else {\n domRoot=self.$build?.$element;\n }\n return domRoot;\n }\n function createCloakDirectiveHydrator(){\n if(!inBrowserCompiler) {\n return;\n }\n const styleEl=document.createElement('style');\n styleEl.append(`[hx-cloak]{ display:none;} `);\n document.head.appendChild(styleEl);\n }\n createCloakDirectiveHydrator();\n function widget(name, widget){\n if(!validateCollectionArgs(arguments, {\n name:\"initBuild().widget()\",\n validators:[String, [Function, Object, Class]],\n count:2,\n required:[true, true]\n })) {\n return;\n }\n if(len(new Set(arguments)) === 2) {\n this[$$$core].$globals.register.widgets[name]= widget;\n }\n return this;\n }\n function install(plugin, options){\n if(!validateType(plugin, [ Object, Function ])){ \n debugHandler(`[ ] plugin installation Error::\\n\\n install argument must be an object value with an exposed plugin installation method or a function which acts as the plugin method itself`, this, true);\n return this;\n }else if(isPObject(plugin) && !isPFunction(plugin.plugin)){\n debugHandler(`[ ] plugin installation Error::\\n\\n plugin object did not expose a plugin installation method`, this, true);\n return this;\n };\n (isPObject(plugin) ? plugin.plugin : plugin)?.(this, options);\n return this;\n }\n function handler(name, handler){\n if(!validateCollectionArgs(arguments, {\n name:\"initBuild().handler()\",\n validators:[String, Function],\n count:2,\n required:[true, true]\n })) {\n return;\n }\n if(len(arguments) === 2) {\n this[$$$core].$globals.register.handlers[name]=handler;\n }\n return this;\n }\n function directive(name, directive){\n if(!validateCollectionArgs(arguments, {\n name:\"initBuild().directive()\",\n validators:[String, [Function, Object]],\n count:2,\n required:[true, true]\n })) {\n return;\n }\n if(len(arguments) === 2) {\n this[$$$core].$globals.register.directives[name]=directive;\n }\n return this;\n }\n function mixin(mx){\n if(!validateType(mx, [Object, Function])){\n debugHandler(`[ ] unrecognised global mixin registration for\\n ${compileToRenderable(mx)}`, this, true);\n return this;\n }else if(len(arguments) !== 1){\n debugHandler(`[ ] .mixin() expects not more than one formal argument`, this);\n return this;\n }\n this[$$$core].$globals.register.mixins.add(mx);\n return this ;\n }\n function filter(name, filter){\n if(!validateCollectionArgs(arguments, {\n name:\"initBuild().filter()\",\n validators:[String, [Function, Object]],\n count:2,\n required:[true, true]\n })) {\n return;\n }\n if(len(arguments) === 2) {\n this[$$$core].$globals.register.filters[name]=filter;\n }\n return this ;\n }\n function block(name, block){\n if(!validateCollectionArgs(arguments, {\n name:\"initBuild().block()\",\n validators:[String, [Function, Object]],\n count:2,\n required:[true, true]\n })) {\n return;\n }\n if(len(arguments) === 2) {\n this[$$$core].$globals.register.blocks[name]=block;\n }\n return this ;\n }\n \n function property(name, value){\n if(!validateCollectionArgs(arguments, {\n name:\"initBuild().property()\",\n validators:[String, Any],\n count:2,\n required:[true, true]\n })) {\n return;\n }\n if(len(arguments) === 2) {\n this[$$$core].$globals.register.properties[name]=value;\n }\n return this\n }\n function templateClass(name, value){\n if(!validateCollectionArgs(arguments, {\n name:\"initBuild().templateClass()\",\n validators:[String, Any],\n count:2,\n required:[true, true]\n })) {\n return;\n }\n if(len(arguments) === 2) {\n this[$$$core].$globals.register.templateClasses[name]=value;\n }\n return this\n }\n function transition(name, value){\n if(!validateCollectionArgs(arguments, {\n name:\"initBuild().transition()\",\n validators:[String, Any],\n count:2,\n required:[true, true]\n })) {\n return;\n }\n if(len(arguments) === 2) {\n this[$$$core].$globals.register.transitions[name]=value;\n }\n return this\n }\n function animation(name, value){\n if(!validateCollectionArgs(arguments, {\n name:\"initBuild().animation()\",\n validators:[String, Any],\n count:2,\n required:[true, true]\n })) {\n return;\n }\n if(len(arguments) === 2) {\n this[$$$core].$globals.register.animations[name]=value;\n }\n return this\n }\n function _Build_destroy(){\n if(len(arguments)){\n debugHandler(`[ ] .destroy() method of initBuild accepts no formal parameters`, this);\n }else if(!this[$$$operands].hasMountProto){\n debugHandler(`[ ] instance of widget not yet mounted\\n\\nwidget unmounting failure`);\n return false\n }\n try{\n // use unMountVNode vnofe macro hete\n unMountVNode(this.$build)\n /*\n delete this[$$$operands];\n delete this[$$$core];\n delete this[$$$compiler];\n delete this[$$$ownProperties];\n delete this.__public_model__;\n delete this.$build;\n // Object.setProtypeOf(this, null)\n */\n }catch(err){\n debugHandler(`[ ] widget instance destroy failed`, this, true);\n debugHandler(err);\n return false;\n }\n return freeze(this);\n }\n function destroy(){\n return _Build_destroy.call(this, ...arguments);\n }\n function createConfig_Constraint(name, ...args){\n const [ argument ] = args;\n if(isFalse(mapSettingCheck(this, name, argument ))) {\n return this;\n }\n this[$$$core].settings[name]=argument;\n return this;\n }\n function configDelimiters(delimiters){\n return createConfig_Constraint.call(this, \"delimiters\", ...arguments);\n }\n function configDebug(debug){\n return createConfig_Constraint.call(this, \"debug\", ...arguments);\n }\n function configForwardAttrs(forwardAttrs){\n return createConfig_Constraint.call(this, \"forwardAttrs\", ...arguments);\n }\n function configForwardEvents(forwardEvents){\n return createConfig_Constraint.call(this, \"forwardEvents\", ...arguments);\n }\n function configFlushType(flushType){\n return createConfig_Constraint.call(this, \"flushType\", ...arguments);\n }\n function configForwardSlot(forwardSlot){\n return createConfig_Constraint.call(this, \"forwardSlot\", ...arguments);\n }\n function configScopedStyle(scopedStyle){\n return createConfig_Constraint.call(this, \"scopedStyle\", ...arguments);\n }\n function runOptionHookValidation(hookName, callback){\n if(!validateCollectionArgs(arguments, {\n count:2,\n required:[true, true],\n validators:[String, Function],\n name:\"app.controller.optionsHook()\"\n })){\n return;\n }else if(!hasOwn(getGlobalRegistery(this).legalOptions, hookName)){\n debugHandler(`[ ] optionsHook plugin method called on an undefined/unregistered option...\\n\\n\"${hookName}\"`, this, true);\n return;\n }\n }\n function _applyAdapterMixin(mixin, options){\n if(!isPObject(mixin)){\n debugHandler(`[ ] [Custom Option-Hook mixin] \"applyMixin\" callback expects a plain object`, this, true);\n return;\n }\n applyMixinMergeStrategy(this, options, [mixin]);\n }\n function _optionsHookTransform(hookName, callback){\n if(isInitialBuild(this)) {\n runOptionHookValidation.call(this, ...arguments);\n }\n const _OPTIONS=this[$$$operands]._OPTIONS;\n if(!hasOwn(this[$$$core].opts, hookName)){\n return;\n }\n const gR=getGlobalRegistery(this);\n const self=this;\n gR.setupOptions[hookName]=function(){\n callback?.(self.__public_model__, _OPTIONS[hookName], function applyMixin(mixin){\n _applyAdapterMixin.call(self, mixin, self[$$$core].opts);\n });\n }\n }\n function _controller_Adapter(options){\n if(!isPObject(options)){\n debugHandler(`[ ] argument at position 1 expects a plain object\\n\\nType unaccepted`, this, true);\n return;\n }\n const controllers=this[$$$core].$globals.controller\n if(controllers.has(options)){\n return this;\n }\n controllers.add(options);\n optionsRegistery(this, options);\n let { setup , setupAdapter } = options;\n if(hasOwn(options, 'setupAdapter') && !isPFunction(setupAdapter)) {\n debugHandler(`[ ] setupAdapter option of .controller({}) method expects a function/method type`, this, true);\n return this;\n }\n if(!exists(setupAdapter) && !isPFunction(setupAdapter)){\n setupAdapter = pass;\n }\n const app=this;\n function optionsHook(optionsName, callback){\n return _optionsHookTransform.call(app, optionsName, callback);\n }\n setupAdapter( this , optionsHook);\n return this\n }\n function controller(options){\n return _controller_Adapter.call(this, ...arguments);\n }\n function configOptions(buildConfig={}){\n setConfig(this, { buildConfig });\n return this\n }\n function optionsRegistery(self, options){\n if(!hasProp(options, 'optionsRegistery')) {\n return;\n }else if(!isPObject(options.optionsRegistery)){\n debugHandler(`[ ] The \"optionsRegistery\" property argument of controller expects a plain object\\n\\nType Unexpected`, self, true);\n return;\n }\n const registered=options.optionsRegistery;\n const globals=getGlobalRegistery(self);\n entries(options.optionsRegistery).forEach(([key, validator])=>{\n if(_makeMap_(globals.legalOptions, key)){\n debugHandler(`[ ] ${key} custom optionsRegistery already exists in the registery record`, self, true);\n return;\n }\n define(globals.legalOptions, key, {\n value: validator, \n enumerable\n });\n })\n }\n function mountedWarning(self, name){\n if(isTrue(self[$$$operands].hasMountProto)){\n if(!self[$$$core].map.mountWarn) {\n debugHandler(`[ ] This \"mount\" method has been called\\n\\ncalling of methods after the widget is mounted is prohibited\\n\\n call to ('.${name}') method is considered an invalid houxit syntax`, self, true);\n self[$$$core].map.mountWarn=true;\n }\n return false;\n }\n return true;\n }\n function transmit(prop, value){\n if(!validateType(prop, [ String, Symbol ])){\n debugHandler(`[ ] Parameter 1 on .transmit() expects a string or a Symbol `, this, true);\n return this;\n }\n const globalBoard= isInitialBuild(this) ? this[$$$core].$globals.transmited : this[$$$core].$root[$$$core].$globals.transmited;\n define(globalBoard, prop, { \n value: value, \n enumerable \n });\n return this;\n }\n function hydrate(nodeSelector){\n if(!isSSRCompiler(this)){\n debugHandler(\"Incompatibility when trying to call the .hydrate on a non SSR App build\");\n return this;\n }\n this.mount(nodeSelector, null, SSRHydrationSymbol);\n return this\n }\n function buildMethods(){\n return { \n mount,\n widget, \n mixin,\n install, \n handler, \n directive,\n property,\n filter,\n animation,\n transition,\n block,\n templateClass,\n configDelimiters,\n configForwardSlot, \n configScopedStyle,\n controller,\n configForwardAttrs,\n hydrate,\n configOptions,\n destroy,\n transmit\n };\n }\n for(let [ key, fn ] of entries( buildMethods() )){\n fn=new Proxy(fn, {\n apply(target, self, args){\n const res = key === 'destroy' ? true : mountedWarning(self, key ) ;\n if(isTrue(res)) {\n Reflect.apply(...arguments);\n }\n return self;\n }\n })\n HouxitBuild.prototype[key]=fn;\n }\n function openTaskPrefix(self){\n self[$$$core].depsQueue.vibrate();\n }\n async function deferEventCircleThread(self, fn, persist=false){\n if(isHouxitBuild(self)){\n if(!self[$$$operands].garbageWatch){\n self[$$$operands].garbageWatch=true;\n await queueMicrotask(()=>{\n fn?.call(self.__public_model__);\n self[$$$operands].garbageWatch=false;\n });\n }\n if(persist) {\n await new Promise((resolve)=> resolve(queueMicrotask(fn)));\n }\n }else {\n await queueMicrotask(fn);\n }\n }\n function whenMounted(self, build, callback) {\n return new Promise((resolve, reject) => {\n const el = isHouxitElement(build) ? resolveTargetElement(build) : build;\n if (document.body.contains(el)) { // Check if it's already in the DOM\n resolve(el);\n return;\n }\n const observer = new MutationObserver((mutations, obs) => {\n if (document.body.contains(el)) {\n obs.disconnect(); // Stop observing once mounted\n resolve(el);\n }\n });\n observer.observe(document.body, {\n childList: true,\n subtree: true\n });\n }).then(() => callback()).catch((err) => {\n debugHandler(err)\n debugHandler(`[ ] ${err}`, self, true)\n });\n }\n function whenUnMounted(self, build, callback){\n \n }\n function useMountWatcher(self, build, config){\n \n }\n function Render_Template( self , initBuild, buildFacade, slotter ) {\n let instance=self;\n const isRerender=self[$$$operands].initializedRender;\n if(isPFunction(initBuild)) {\n initBuild = initBuild( instance );\n }\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n if(is_hyperscript) {\n initBuild=_HouxitCoreRenderer(arrayInverter(initBuild), instance, null, null, null, {\n official:true,\n });\n }\n if(isArray(initBuild) || !initBuild) {\n initBuild= new HouxitFragmentElement(initBuild || [], instance, null);\n }\n self[$$$compiler].template=initBuild;\n if(!isRerender) {\n if(!(isPromise(buildFacade) && isTrue(slotter))){\n widgetSlotsManager(self, self[$$$core].opts, self[$$$core].virtualNode);\n }\n }\n initBuild = self[$$$compiler].templateProcessor( self , initBuild, buildFacade, slotter) ;\n return initBuild ;\n }\n function _tick( fn,) {\n const response = validateCollectionArgs(arguments, {\n min:0,\n max:1,\n validators:[[Function, Number]],\n name:\"tick()\"\n });\n if(!response) {\n return freeze();\n }\n const self= this && isHouxitBuild( this ) ? this : null;\n return new Promise( ( resolve , reject ) => {\n if(isNumber(fn)){\n setTimeout(resolve, fn);\n }else if(isPFunction(fn)){\n resolve( deferEventCircleThread( self , fn , isHouxitBuild( self ) ) ) ;\n }\n } ) ;\n }\n function tick( fn, wait ){\n return _tick( ...arguments );\n }\n async function _Reactive_Adapter_Plugin(data, callback, self, deep=false){\n function flush(){\n try{\n callback();\n }catch(err){\n debugHandler(`[ ] Encountered a Problem during DOM effect trigger phase\\n\\n>>>>>`, self, true);\n $warn(`${err}`, self);\n return;\n }\n }\n self[$$$operands].dependency.callback=flush;\n }\n function preUpdateHookFlush(self){\n \n }\n function _ReconciliationTransformTrigger(self, selector){\n const observer={ \n updated_hooks:new Tuple(), \n active:false , \n willMutate:false,\n effectFlush:new Tuple()\n };\n triggerHydrationCompile(self, observer);\n }\n function triggerHydrationCompile(self, observer){\n callbackHookWithCatch(self, self[$$$operands]._LIFECIRCLEHOOKS.onEffect, 'onEffect');\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n self.__public_model__.$tick(()=> Render_Effect_Reactive_Transform(self, observer)).then(function(){\n if(len(observer.effectFlush)){\n callbackHookWithCatch(self, self[$$$operands]._LIFECIRCLEHOOKS.preUpdate, 'preUpdate');\n }\n }).then(()=>callSetHooks(self, observer.effectFlush )).then(function(){\n if(len(observer.effectFlush) ){\n callUpdatedHook( self , observer ) ;\n observer.updated_hooks.clear();\n }\n }) ;\n }\n function RenderEffect_$Warn(self, err){\n debugHandler(`[ ] ----unable to complete the rerender effect circle patch\\n\\nthis is likely a probable bug/error in the houxit's compiler level;\\nplease report any problem —— and open an issue on our github repo issue page`, self, true);\n debugHandler(`${err}`, self)\n console.error(err);\n }\n function Render_Effect_Reactive_Transform(self, observer){\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n const isRerender=self[$$$operands].initializedRender;\n try{\n let EffectVNode;\n Promise.try(()=> {\n priority_rerender_patch(self, {\n isRerender,\n is_hyperscript,\n observer\n });\n }).catch((e)=> debugHandler(e))\n }catch(e){\n RenderEffect_$Warn(self, e);\n }\n }\n function priority_rerender_patch(self, metrics){\n const priorities=self[$$$compiler].VN_Tree.priority;\n if(!len(priorities)){\n return;\n }\n priorities.forEach(effect => effect());\n priorities.clear();\n }\n function patchRenderNormalizerCall(self, build, EffectVNode, observer, config){\n if(isSameHouxitElementType(build, EffectVNode) ){\n if(isHouxitFragmentElement(build)) {\n resolvePatchAlgorithm(self, build, EffectVNode, observer, config);\n }else {\n renderVnodeDiffSequence(self, build, EffectVNode, observer, null, {\n config\n });\n }\n return;\n }else if(isHouxitFragmentElement(EffectVNode)) {\n build=new HouxitFragmentElement(self, [ build ], null);\n }\n resolvePatchAlgorithm(self, build, EffectVNode, observer, config);\n }\n function resolvePatchAlgorithm(self, Template, EffectVNode, observer, config={}){ \n const { KEYS_INDEXES:tempIndexes, LEAGUE_TREE:tempLeagues } = Template.VN_Tree;\n const { KEYS_INDEXES, LEAGUE_TREE } = EffectVNode.VN_Tree;\n const forAppending=[];\n const forInsertion=[];\n const forRemovals=[];\n const exchangeRecorder=[];\n tempIndexes.forEach((key, index)=>{\n if(!KEYS_INDEXES.has(key)) {\n forRemovals.push([key, tempLeagues[key], index]);\n }\n });\n const NodeList=new Tuple();\n for(const [index, key ] of KEYS_INDEXES.entries()){\n let tempK=tempIndexes.at(index);\n if(key === tempK){ //run effect renderPatches if keys matches on the same index position\n const tempEl=tempLeagues[key]?.[0];\n const effectEl=LEAGUE_TREE[tempK]?.[0];\n renderVnodeDiffSequence(self, tempEl, effectEl, observer, Template, {\n index,\n key,\n config\n });\n }else if(key !== tempK ){//if render no more at this index\n if(tempIndexes.has(key)){//but still exists in new vNodes listings\n const vnodeTM=tempLeagues[tempK];\n let targetElem= tempK ? resolveTargetElement(vnodeTM[0], null, true) : undefined;\n const posixElem=document.createComment(c_str);\n if(tempK && targetElem ) {\n targetElem.after(posixElem);\n }\n exchangeRecorder.push({\n elements:[tempLeagues[key], vnodeTM],//the position the current element is destinated\n keys:[key, tempK],\n index:[tempIndexes.indexOf(key), index],\n parent:targetElem?.parentNode,\n posixElem\n });\n }else{\n const effectEl=LEAGUE_TREE[key][0];\n let useMemoCache=config.memoVault ? installMemoInstance(self, null, effectEl, config) : undefined;\n const Rerender_Element= useMemoCache ? useMemoCache.hx_Element : __createRerenderBlock(self, effectEl);\n config.list?.add(Rerender_Element);\n if(index >= len(tempIndexes)) {\n forAppending.push([Rerender_Element, key, index, Template, useMemoCache]);\n }else{\n const [ targetBox, targetInd]=tempLeagues[tempK];\n const targetElem=resolveTargetElement(targetBox, null, );\n const posixElem=document.createComment(c_str);\n targetElem.before(posixElem);\n forInsertion.push({\n elements:[Rerender_Element, targetBox],\n posixElem,\n parent:targetElem.parentNode,\n index:[undefined, index],\n keys:[key, tempK],\n });\n stabilizeMemo(config);\n }\n }\n }\n }\n fractional_diffing_transform(self, exchangeRecorder, Template, EffectVNode, tempIndexes, tempLeagues, LEAGUE_TREE, KEYS_INDEXES, observer, forAppending, forInsertion, forRemovals, config);\n tempIndexes.arrange(KEYS_INDEXES.list());\n keys(tempLeagues).forEach(key=>{\n if(!tempIndexes.has(isNaN(Number(key)) ? key : Number(key))) {\n delete tempLeagues[key];\n }\n });\n }\n function stabilizeMemo(config){\n if(config.memoVault){\n config.memoVault?.stabilityChecker();\n }\n }\n function fractional_diffing_transform(self, exchangeRecorder, Template, EffectVNode, tempIndexes, tempLeagues, LEAGUE_TREE, KEYS_INDEXES, observer, forAppending, forInsertion, forRemovals, config){\n const waitForAddBeforMove=[];\n const cleanup_zip=new Tuple();\n for(const { elements, index, keys, parent, posixElem } of exchangeRecorder.values()){\n const [ element, target ] = elements;\n let [ key, tempK ] = keys;\n let [ ind, tempInd ] = index;\n if(!tempK){\n if(tempInd >= len(tempIndexes)) {\n waitForAddBeforMove.push({\n elements,\n index,\n keys,\n posixElem\n });\n }\n }else{\n generateWrapElementAction(element[0], (el)=> smartMoveElement(self, parent, el, posixElem))\n cleanup_zip.add(function(){\n tempLeagues[key][1]=tempInd;\n posixElem.remove();\n });\n renderVnodeDiffSequence(self, element[0], LEAGUE_TREE[key][0], observer, Template, {\n index,\n key,\n config\n });\n }\n }\n cleanup_zip.forEach((cleanup)=> cleanup());\n cleanup_zip.clear();\n for(const { elements, index, keys, parent, posixElem } of forInsertion.values()){\n const [ Element, Target ]=elements;\n const [ ind, tempInd ] = index;\n const [key, tempK] = keys;\n tempLeagues[key]=[Element, tempInd ];\n posixElem.after(Element.$element);\n Template.NodeList.splice(EffectVNode.NodeList.indexOf(Target), 0,\n Element);\n cleanup_zip.add(()=> posixElem.remove());\n }\n forInsertion.splice(0);\n cleanup_zip.forEach((cleanup)=> cleanup());\n cleanup_zip.clear();\n exchangeRecorder.splice(0);\n for(const [ Element, key, index, Template, useMemoCache] of forAppending.values()){\n const adjKey=KEYS_INDEXES.at(index-1);\n const [ targetBox, targetInd ]=tempLeagues[adjKey] || [];\n tempLeagues[key]=[Element, index ];\n const targetElem=resolveTargetElement(targetBox || Template , null, true);\n Template.NodeList.add(Element);\n if(useMemoCache) {\n useMemoCache.record.forEach(el=> targetElem.before(el));\n } else {\n targetElem?.after(Element.$element);\n }\n stabilizeMemo(config);\n }\n forAppending.splice(0);\n for(const { elements, index, keys } of waitForAddBeforMove.values()){\n const [ element, ] = elements;\n const [ ind, tempInd ] = index;\n const [ key, targekey ]=keys;\n const tempK=KEYS_INDEXES.at(tempInd-1);\n const [ targetBox, targetInd ] = tempLeagues[tempK];\n const targetElem=resolveTargetElement(targetBox, null, true);\n const parent=targetElem.parentNode;\n const posixElem=document.createComment(c_str);\n targetElem.after(posixElem);\n generateWrapElementAction(element[0], (el)=> smartMoveElement(self, parent, el, posixElem));\n cleanup_zip.add(function(){\n tempLeagues[key][1]=tempInd;\n posixElem.remove();\n });\n renderVnodeDiffSequence(self, element[0], LEAGUE_TREE[key][0], observer, Template, {\n index,\n key,\n config\n });\n }\n for(const [ key, Element, index ] of forRemovals.values()){\n if(isMemoElement(Element[0]) || config.memoVault){\n installMemoInstance(self, Element[0], null, config);\n generateWrapElementAction(Element[0], el=>{\n beforeUnMountDelay(el, ()=>{;\n el.remove();\n });\n });\n }\n Template.NodeList.delete(Element[0]);\n delete tempLeagues[key];\n if(!(isMemoElement(Element[0]) || config.memoVault)){\n unMountVNode(Element[0]);\n }\n stabilizeMemo(config);\n }\n waitForAddBeforMove.splice(0);\n cleanup_zip.forEach((cleanup)=> cleanup());\n cleanup_zip.clear();\n }\n function smartMoveElement(self, parent, mover, target){\n try{\n parent.moveBefore(mover, target);\n }catch(err){\n if(err.name === \"HierarchyRequestError\") {\n parent.insertBefore(mover, target);\n }else {\n debugHandler(`[ ] ${err}`, self, true);\n console.error(err)\n }\n }\n }\n function effectiveElement_REUSE_PATCH(self, hx_Element, vNode, observer, parent, ignore){\n if(isHouxitTextElement(hx_Element) ) {\n RerenderTextElements(self, hx_Element, vNode, observer, parent);\n return;\n }else if(isHouxitWidgetElement(hx_Element) || isRenderlessElement(hx_Element)) {\n return;\n } //below, there is no point in tracking node positions under a loop or conditiinal priority, property level priority should handle that granularly\n if(isHouxitFragmentElement(hx_Element) || (isHouxitNativeElement(hx_Element) && !IS_HTML_VOID_TAG(hx_Element.prototype_))) {\n resolvePatchAlgorithm(self, hx_Element, vNode, observer);\n }\n if(isHouxitNativeElement(hx_Element)){\n const attrs=hx_Element.$element.attributes;\n const shapeProps=vNode.VNodeManager.patchFlags.shapeProps;\n const s_a={};\n for(let { name, value } of values(attrs)){\n if(name === 'data-hx_build'){\n continue;\n }\n if(!hasOwn(shapeProps, name)){\n _createElementPropsEffectBlock_(self, {\n value,\n element:hx_Element.$element,\n mode:getPropMode(name.trim()),\n key:name,\n });\n }else{\n s_a[name]=value\n }\n }\n for(let [ name, value ] of entries(shapeProps)){\n _createElementPropsEffectBlock_(self, {\n value:s_a[name],\n element:hx_Element.$element,\n mode:getPropMode(name.trim()),\n key:name,\n });\n }\n }\n }\n function __createRerenderBlock(self, vnode, ...args){\n if(isRenderlessElement(vnode)) {\n return vnode;\n }\n const toggler=smart_render_toggler(self);\n const NewNode=vnode.compiler_options.createElement(...args);\n toggler();\n return NewNode;\n }\n function renderVnodeDiffSequence(self, hx_Element, vNode, observer, parent, metrics){\n let { index, key, config, args=[] } = metrics || {};\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n if(isSuspenseElement(hx_Element) && isSuspenseElement(vNode)){\n const suspense=vNode.VNodeManager[$suspenseElement];\n if(suspense.state.resolved){\n patchRenderNormalizerCall(self, hx_Element, vNode, observer, config);\n }else{\n assign(suspense.rerenderObj, {\n activeElement:hx_Element,\n Rerender_Element:vNode,\n parent,\n observer\n });\n }\n return;\n }\n if(config?.FORCE || !HouxitElementDiffingCheck(hx_Element, vNode)) {\n const isRenderless=isRenderlessElement(vNode);\n const useMemoCache=installMemoInstance(self, hx_Element, vNode, config);\n const NewNode= useMemoCache?.hx_Element || ( isRenderless ? vNode : __createRerenderBlock(self, vNode, ...args));\n if(config.memoVault && !useMemoCache?.hx_Element){\n NewNode.compiler_options.createElement=hx_Element.compiler_options.createElement;\n if(!isMemoElement(NewNode)){\n if(!checkMemoContentValidity(self, NewNode)){\n return;\n }\n NewNode.VNodeManager.isMemoChild=hx_Element.VNodeManager.isMemoChild;\n }\n }\n const posixElem=document.createComment(c_str);\n const targetElem=resolveTargetElement(hx_Element, null, true);\n targetElem.after(posixElem);\n if(parent) {\n const index=parent.NodeList.indexOf(hx_Element);\n const key=parent.VN_Tree.KEYS_INDEXES.at(index);\n parent.VN_Tree.LEAGUE_TREE[key]=[NewNode, index];\n parent?.NodeList.replace(hx_Element, NewNode);\n }else {\n self.$build=NewNode;\n }\n if(isMemoElement(hx_Element) || config.memoVault) {\n generateWrapElementAction(hx_Element, el=>{\n beforeUnMountDelay(el, ()=>{;\n el.remove();\n });\n });\n } else {\n unMountVNode(hx_Element);\n }\n if(useMemoCache) {\n useMemoCache.record.forEach(el=> posixElem.before(el));\n } else {\n posixElem.before(NewNode.$element);\n }\n posixElem.remove();\n config?.list?.add(NewNode);\n stabilizeMemo(config);\n return NewNode;\n }\n // else {\n // effectiveElement_REUSE_PATCH(self, hx_Element, vNode, observer, parent );//effectiveElement_REUSE_PATCH will be facing a depreciation witb the emergence of fine-grained reactivity in the compiler\n // }\n }\n function installMemoInstance(self, hx_Element, EffectVNode, config){\n if(!(isMemoElement(hx_Element) || config.memoVault)) {\n return;\n }\n const vault=hx_Element?.VNodeManager?.isMemoChild?.vault || config?.memoVault;\n const { storage, state, caches, keys }=vault;\n const hx_Key=hx_Element?.prototype_;\n const Eff_Key=EffectVNode?.prototype_;\n if(hx_Element){\n addMEMOState(self, hx_Element, keys.has(hx_Key), vault);\n }\n if(EffectVNode && keys.has(Eff_Key)) {\n return getMEMOState(self, EffectVNode, vault);\n }\n }\n function addMEMOState(self, hx_Element, update=false, vault){\n const { storage, caches, keys, max, test }=vault;\n const hx_Key=hx_Element.prototype_;\n update = keys.has(hx_Key) && update;\n if(!update) {\n if(test && !test()) {\n return;\n }\n if(!isInfinity(max) && !isNaN(Number(max)) && keys.size === max){\n const leastKey=keys.shift();\n unMountVNode(storage.get(leastKey).hx_Element);\n storage.delete(leastKey);\n }\n keys.add(hx_Key);\n }\n const record=new Tuple();\n generateWrapElementAction(hx_Element, (el)=>{\n record.add(el);\n });\n if(update) {\n storage.get(hx_Key).record=record;\n }else {\n storage.set(hx_Key, {\n hx_Element,\n record\n });\n }\n }\n function getMEMOState(self, EffectVNode, vault){\n const { storage, caches, keys }=vault;\n const Eff_Key=EffectVNode.prototype_;\n if(!keys.has(Eff_Key)) {\n return;\n }\n const state=storage.get(Eff_Key);\n if(len(keys) < 2) {\n return state;\n }\n keys.delete(Eff_Key);\n keys.add(Eff_Key);\n return state;\n }\n function deleteMEMOState(self, hx_Element, vault){\n const { storage, caches, keys }=vault;\n const hx_Key=hx_Element.prototype_;\n if(!keys.has(hx_Key)) {\n return false;\n }\n keys.delete(hx_Key);\n storage.delete(hx_Key);\n return true;\n }\n function resolveTargetElement(target, fallback, last=false){\n let targetElem;\n if(isTextOrNativeElement(target)) {\n targetElem = target.$element;\n }else{\n if(isHouxitWidgetElement(target)) {\n target=WidgetElementUnwrap(target);\n }\n if(isHouxitFragmentElement(target)) {\n targetElem=target.VNodeManager?.posix[ last ? 1 : 0 ];\n }else if(isTextOrNativeElement(target)) {\n targetElem=target.$element;\n }\n }\n return IS_ELEMENT_NODE(targetElem) || IS_TEXT_NODE(targetElem) || IS_COMMENT_NODE(targetElem) ? targetElem : fallback;\n }\n function unMountVNode(vnode){\n if(isHouxitWidgetElement(vnode)) {\n vnode.widget_instance.destroy();\n }else if(isHouxitFragmentElement(vnode)) {\n vnode.upload(el=> beforeUnMountDelay(el, ()=>{\n callFlushs(el._hx_Element?.hx_Element);\n el.remove();\n }));\n vnode.NodeList.forEach(el=> unMountVNode(el));\n }else if(!isRenderlessElement(vnode)) {\n beforeUnMountDelay(vnode, ()=>{\n callFlushs(vnode);\n vnode?.$element?.remove();\n });\n vnode.NodeList.forEach(el=> unMountVNode(el));\n }\n }\n function callFlushs(vnode){\n if(!isHouxitElement(vnode)){\n return;\n }\n const fl=vnode.VN_Tree.FLUSHS;\n fl.forEach(f=>safeCall(f));\n fl.clear();\n }\n function generateWrapElementAction(vnode, callback){\n if(isHouxitWidgetElement(vnode)) {\n vnode=WidgetElementUnwrap(vnode);\n }\n if(isHouxitFragmentElement(vnode)) {\n vnode.upload(callback);\n }else if(!isRenderlessElement(vnode)) {\n callback(vnode.$element);\n }\n }\n function callArrGetters(depsArray){\n return depsArray.map( getter => getter?.() );\n }\n function primate_check(node, vNode){\n if(!isPrimitive(node.prototype_) ) {\n return isS(node.prototype_, vNode.prototype_);\n }\n return isPrimitive(node.prototype_);\n }\n function keying_check(node, vnode){\n return deepEqualityCheck(node._vnode_key, vnode._vnode_key);\n }\n function HouxitElementDiffingCheck(node, vNode){\n if((isHouxitTextElement(node) && isHouxitTextElement(vNode)) || keying_check(node, vNode) && isSameHouxitElementType(node, vNode) && deepEqualityCheck(node.prototype_, vNode.prototype_) && primate_check(node, vNode)) {\n return true;\n }\n return false;\n }\n function RerenderTextElements(self, node, vNode, observer, parent){\n const value=node.compiler_options.value;\n if(node?.prototype_ !== vNode?.prototype_) {\n const update=()=>{\n node.$element.textContent=vNode?.prototype_;\n node.prototype_=vNode.prototype_;\n }\n vNode.VNodeManager.awaitTextReady?.then(update) || update();\n if(parent) {\n linkUpdateHook(self, parent, observer);\n }\n }\n }\n function WidgetElementUnwrap(vnode){\n if(isHouxitWidgetElement(vnode)) {\n vnode=vnode?.widget_instance?.$build;\n vnode=WidgetElementUnwrap(vnode);\n }\n return vnode;\n }\n const isTextOrNativeElement=vnode=>isHouxitTextElement(vnode) || isHouxitNativeElement(vnode);\n function linkUpdateHook(self, vnode, observer){\n if(!isPass(vnode.updated_hook)){\n observer.updated_hooks.add(vnode.updated_hook);\n }\n }\n class houxitSignal{\n constructor(signal, func, options){\n this.signal=signal\n this.callback=func\n this.options=options\n }\n signal=undefined\n callback=undefined\n options=undefined\n }\n function _Resolve_Directives_Hydration(self, bindings, virtualNode, hx_Element, metrics){\n const { isRerender, is_hyperscript, vNode, config } = metrics;\n let { directive, value, key } = bindings;\n const isSSR=isSSRCompiler(self);\n if(!isSSR && !isHouxitDirective(directive)) {\n return _With_Custom_Directives(self, bindings, vNode, hx_Element, metrics );\n }\n if(directive === \"provide\"){\n if(!validHouxitWidget(vNode?.GeneticProvider)) {\n debugHandler(`[ ] Illegal Provide Use: \"$$provide\" directive is only scoped to widget instances vnode only\\n\\n found on \"${(isSSR ? isString(virtualNode.type) : isNativeElement(virtualNode)) ? virtualNode.outerHTML+\" element\" : \"\"}\"`, self, true);\n return ;\n }\n if(_makeMap_([Suspense, For], vNode.prototype_)){\n vNode.filesFilter.$$dir_PROVIDE_bindings=bindings;\n }else{\n $$dir_PROVIDE(self, bindings, vNode, hx_Element, metrics);\n }\n }\n if( hasOwn(DirectiveMacros, directive) && (isRerender ? _makeMap_('bind', directive) : true)) {\n DirectiveMacros[directive](self, bindings, virtualNode, hx_Element, metrics, directive === \"text\");\n }\n }\n function dynamicPropRemover(obj, propName){\n for(let [key, value ] of entries(obj)){\n if(!key.includes(propName)) {\n continue;\n }\n let keyCache;\n if(key.startsWith('$$bind') || key.startsWith('$$slot') ) {\n keyCache=key.slice(6);\n }else if(key.startsWith('$$on')) {\n keyCache=key.slice(4);\n }\n keyCache=fall_AttrName(key);\n if(key.includes(\"|\")) {\n keyCache=keyCache.split('|').shift();\n }\n if(propName === keyCache){\n delete obj[key];\n break;\n }\n }\n return obj;\n }\n function _Houxit_token_GENERATOR_(config, FN, frkey){\n if(!isFRKey(frkey) && !validateCollectionArgs(arguments, {\n validators:[Object, Function, Symbol],\n max:3,\n min:1,\n name:'tokenGENERATOR'\n })) {\n return undefined;\n }\n if(!isFRKey(frkey)) {\n config = assign({\n size:10,\n type:'alpha'\n }, config );\n }\n let uuid=generateUUID(config.size, config.type);\n if(!FN(uuid)) {\n uuid=_Houxit_token_GENERATOR_(config, FN, $factoryTokenKey);\n }\n return uuid;\n }\n function tokenGENERATOR(config, Test_Callback){\n return _Houxit_token_GENERATOR_( config, Test_Callback );//type,size,\n }\n const builtInWidgetTypes=\"Build,Self,Motion,Provider,Suspense,Portal,Fragment,Memo\";\n const blockTagRegex=/::@_\\(([\\w$.\\-!:\\#.%?&]+)\\)_/;\n function isBlockTag(tagName){\n return blockTagRegex.test(tagName);\n }\n function getBlockTagName(block){\n return isBlockTag(block) ? block.match(blockTagRegex)[1] : undefined;\n }\n function installTransformersArgumentations(self, child, hx_Element, vNode){\n const root= isInitialBuild(self) ? self : self[$$$core].$root;\n define(child[$$$core], '$root', { \n value:root\n });\n define(child[$$$core], '$parent', {\n value:hx_Element.compiler_options.parent\n }) ;\n define(child[$$$core], '$owner', {\n value:self\n });\n for(let [ prop, content] of entries(root[$$$core].$globals.register)){\n child[$$$core].$globals.register[prop] = assign(child[$$$core].$globals.register[prop], content);\n }\n }\n function resolveInstanceWidgetNormalizer(self, vNode){\n const tagname=isBlockTag(vNode.type) ? getBlockTagName(vNode.type) : vNode.type;\n let widget;\n if(!isBlockTag(vNode.type) && !isDynamicPropTag(vNode.type) && !instance_Has_Widget( self , tagname ) && !(inBrowserCompiler ? customElements.get(tagname) : false )){\n debugHandler(`[ ] Template Compilation Error::\\n\\nUnresolved tagname \"<${tagname}>\"\\n\\n ...if this is a Houxit widget, make sure its registered through the \"widgets\" option or defined through the CustomElementsInstance.define() method if it's a customElement `, self, true);\n return false;\n }else if(isBlockTag(vNode.type)){\n if(isBuiltinBlocks(tagname)) {\n return true;\n }\n if(!instance_Has_Block(self, tagname)){\n debugHandler(`[ ] ((Block Resolver Error))\\n\\n\"${tagname}\" block is not a registered block element`, self, true);\n return false;\n }else {\n vNode.GeneticProvider=normalize_Block(self, tagname);\n }\n return true;\n }else if(_makeMap_(BUILT_IN_WIDGETS, tagname)) {\n widget=BUILT_IN_WIDGETS[tagname];\n }\n widget=normalize_Widget(self, tagname);\n if(!isDynamicPropTag(tagname) && !validHouxitWidget(widget) && !customElements.get(tagname)){\n debugHandler(`[ ] >>>> \"${tagname}\\n\\nCannot compile value as a Houxit widget\\nMaybe an invalid houxit widget value type`, self, true);\n return false;\n }\n if(validHouxitWidget(widget)) {\n vNode.GeneticProvider=widget;\n }\n vNode.prototype_=validHouxitWidget(widget) ? widget : tagname;\n return true;\n }\n function get_$name(self){\n return self[$$$ownProperties].name;\n }\n function runSlotDirectiveCompile(self, config, props, virtualNode, hx_Element, metrics, isWidget){\n const { is_hyperscript } = metrics;\n const { hasDir:hasSlot, getKey:getSlot, getDir:getSlotValue } = is_hyperscript ? {} : dirExistenceCheck(props || {}, \"$$slot\");\n if(hasSlot) {\n if(config.topLevelSlotContext || config.suspenseFlag){\n const bindings=validateIncomingPropsKeys(self, {\n key:getSlot,\n attr:getSlotValue\n }, is_hyperscript, hx_Element, {\n isRerender\n });\n $$dir_SLOT(self, bindings, virtualNode, hx_Element, {\n config,\n ...metrics\n });\n delete config.topLevelSlotContext;\n }else{\n debugHandler(`[ ] $$slot directive definitions are only allowed on a widgets top-level consumer scope instances\\n\\n\"slot' directive on ... <${isWidget ? get_$name(self) : virtualNode.type}> has failed to compile away...cross-check element render positioning`, self, true);\n }\n }\n }\n function $compilerEngine ( self , virtualNode , hx_Element, slotsCompilerArgs, config ) {\n let { rawChildren, GeneticProvider:widget, props } =virtualNode\n const is_hyperscript= self ? self[$$$core]?.map.is_hyperscript : virtualNode.is_hyperscript;\n const isRerender=self ? self[$$$operands].initializedRender : null;\n const propsElements={};\n runSlotDirectiveCompile(self, config, props, virtualNode, hx_Element, {\n isRerender,\n is_hyperscript\n }, true);\n if(config.suspenseFlag){\n return\n }\n if(len(props) && self) {\n Props_dilation_compile(virtualNode, self, hx_Element, {\n is_hyperscript\n }, propsElements, config);\n virtualNode.props=propsElements;\n }\n if(!validHouxitWidget(widget)) {\n return;\n }\n virtualNode[widgetTypeKey]=widget[widgetTypeKey];\n virtualNode.widget_instance=widget;\n virtualNode.filesFilter.slotsCompilerArgs=slotsCompilerArgs;\n if(isHouxitElement(hx_Element)) {\n virtualNode[$buildHx_ElementKey]=hx_Element ;\n }\n if(isRerender) {\n return undefined;\n }\n if(isSSRCompiler(self)) {\n virtualNode.filesFilter.useSSRCompiler=true;\n if(isHydration(self)) {\n virtualNode.filesFilter.isHydration=true;\n }\n }\n const child=initializedRenderBuild(self, hx_Element, virtualNode);\n return child.mount( _createFragment() ) ;//mounts the build to a houxit fragment\n }\n function initializedRenderBuild(self, hx_Element, virtualNode){\n const child = new HouxitBuild( virtualNode ) ;\n integrateUseInstallProto(child);\n if(hx_Element) {\n hx_Element.widget_instance=child;\n }\n if( self ) {\n controllerHydration( self , child, hx_Element, virtualNode) ;\n child.install( controllerGlobalPlugin, { self } ) ;//build the widget and other installations\n }\n return child;\n }\n function integrateUseInstallProto(self){\n if(hasOwn(self[$$$core].opts, 'install')){\n self.install(self[$$$core].opts.install);\n }\n }\n function controllerHydration( self, build, hx_Element, vNode ) {\n const globals=getGlobalRegistery(self)\n installTransformersArgumentations(self, build, hx_Element, vNode )\n if( !len( globals.controller ) ) {\n return build ;\n }\n for( let genre of globals.controller.values() ) {\n build.controller( genre ) ;\n }\n return build;\n }\n function controllerGlobalPlugin ( build , options ) {\n const registries= getGlobalRegistery(options.self).register;\n for ( const [ key , value ] of entries( registries ) ) {\n const macroAdapter=key === \"properties\" ? \"property\" : key === \"transmited\" ? \"transmit\" : key ==='templateClasses' ? 'templateClass' : key.slice(0, -1);\n for ( const [ name, data ] of entries( value ) ) {\n const args=key==='mixins' ? [ data ] : [ name, data ];\n build[macroAdapter]( ...args );//in the root, uses the build.macroAdapter> prototype to define global instances\n }\n }\n }\n function _createFragment(){\n return inBrowserCompiler ? assign(new DocumentFragment(), {\n isHouxit_Fragment:true,\n NodeList:[],\n PATCH_FLAGS:new Tuple()\n }) : new Tuple();\n }\n const instance_Has_TemplateClass=(self, name)=> _makeMap_(self[$$$register].templateClass, name) || _wufHas_instance(self, name);\n const normalize_TemplateClass=(self, name)=>self[$$$register].templateClasses[name] || normalizeWUFBuildScope(self, name);\n const devInfo=\"You're running the development version of houxit \"+get_version().slice(7)+\", make sure you switched to the minified version with the (*.min.js) file extension when deploying to production\";//development information\n function _isWUFBuild(self){\n return hasOwn(self[$$$core], '__env__');\n }\n function _wufHas_instance(self, key){\n return _isWUFBuild(self) && hasOwn(self[$$$core].__env__, key);\n }\n function normalizeWUFBuildScope(self, key){\n if(!_isWUFBuild(self) || !hasOwn(self[$$$core].__env__, key)) return;\n return self[$$$core].__env__[key];\n }\n const global_const={\n widget:{\n has:instance_Has_Widget,\n get:normalize_Widget,\n },\n block:{\n has:instance_Has_Block,\n get:normalize_Block\n },\n filter:{\n has:hasFilterInstance,\n get:normalize_Filter\n },\n animation:{\n has:(self, name)=> hasMotionInstance(self, name, 'animation'),\n get:(self, name)=> normalize_Motion(self, name, 'animation')\n },\n transition:{\n has:(self, name)=> hasMotionInstance(self, name, 'transition'),\n get:(self, name)=> normalize_Motion(self, name, 'transition')\n },\n directive:{\n has:instance_Has_Directive,\n get:normalize_Directives,\n },\n templateClass:{\n has:instance_Has_TemplateClass,\n get:normalize_TemplateClass\n },\n }\n function __traverseRESOLVER(name, type){//dynamically resolving widget name\n const self=getCurrentRunningEffect({\n name:'resolve.'+type+'()'\n });\n if(!validateCollectionArgs(arguments, {\n validators:[String],\n max:1,\n name:'resolve.'+type+'()'\n })) {\n return;\n }\n let instance;\n if(!isHouxitBuild(self)) {\n return;\n }\n if (global_const[type].has(self, name) ){\n instance=global_const[type](self, name);\n }else{\n debugHandler(`[ ] \"resolve.${type}()\" macro was unable to find a widget with the provided name \"${name}\"\\n\\n are you sure this is a builtIn/globaly/localy registered ${type}`, self, true);\n return;\n }\n return instance;\n }\n function __resolve(name){\n const self=getCurrentRunningEffect({\n name:'resolve.()'\n });\n if(!validateCollectionArgs(arguments, {\n validators:[String],\n max:1,\n name:'resolve.()'\n })) {\n return;\n }\n let instance;\n if(!isHouxitBuild(self)) {\n return;\n }\n const model=useModel();\n return hasOwn(model, name) ? model[name] : undefined;//procure realtime resolving of prop names, falling to 1st occurance in model-handlers-widgets-directives;\n }\n function resolve(name){\n return __resolve(...arguments);\n }\n iterate('widget,directive,filter,templateClass,block,animation,transition'.split(',')).each(type=>{\n resolve[type]=Function('__traverseRESOLVER', 'type',`\n return function resolve${ToPascalCase(type)}(name){\n return __traverseRESOLVER(name, type)\n }\n `)(__traverseRESOLVER, type);\n });\n function $$(){\n return\n }\n function PropsParserContainment(setup, props){\n let value = setup.propValue.join(\"\");\n let key = setup.openPropName.join(\"\");\n if(!len(setup.propValue)) {\n value = isString(value) ? value : null;\n }\n if(hasOwn(props, key)) {\n props['__hx_keys__'].push([key, value ]);\n }else {\n props[key]=value;\n }\n setup.openPropName=[];\n setup.openPropQuote=null;\n setup.isPropValue=false;\n setup.isPropName=true;\n setup.propValue=[];\n setup.namingSpace=false;\n }\n const QuoteRegex=/(['\"`])/;\n function __HTMLPropsParser__(attrs, config, self){\n attrs=(attrs || \"\").trim()\n if(!attrs) {\n return {};\n }\n const props={\n ['__hx_keys__']:[]\n };\n const setup={\n openPropName:[],\n openPropQuote:null,\n propValue:[],\n isPropValue:false,\n isPropName:true,\n prev:null,\n next:null,\n namingSpace:false\n }\n for(let [index, str ] of entries(attrs)){\n index=Number(index);\n setup.next=attrs[index+1];\n const closure=()=> setup.prev=str;\n if(setup.isPropName){\n if(setup.namingSpace && (/\\S/.test(str) || setup.next+1 == null || index+1 > len(attrs) )){\n if(!/=/.test(str) || setup.next == null || index+1 > len(attrs)) {\n PropsParserContainment( setup, props );\n if(!/[=]/.test(str) || /\\S/.test(str) ) {\n setup.openPropName.push(str);\n }\n closure();\n continue;\n }else {\n setup.namingSpace=false;\n }\n }\n if(/=/.test(str) && !setup.namingSpace){\n setup.isPropName=false;\n setup.isPropValue=true;\n }else if( len(setup.openPropName) < 1 && /\\s/.test(str)){ \n closure();\n continue;\n }\n if(len(setup.openPropName) && /\\s/.test(str) ) {\n setup.namingSpace=true;\n }else if(setup.isPropName && ( setup.next == null || index+1 > len(attrs)) ){ \n setup.openPropName.push(str);\n PropsParserContainment( setup, props );\n closure();\n continue;\n }else if(!setup.namingSpace && setup.isPropName) setup.openPropName.push(str);\n }else if(setup.isPropValue){\n if((/\\s/.test(str) && len(setup.propValue) < 1)) {\n closure();\n continue;\n }\n if(len(setup.propValue) < 1 && QuoteRegex.test(str) && !setup.openPropQuote){ \n setup.openPropQuote=str;\n closure();\n continue;\n }else if(setup.openPropQuote && QuoteRegex.test(str) && str !== setup.openPropQuote ){\n setup.propValue.push(str);\n closure();\n continue;\n }\n if((setup.openPropQuote && QuoteRegex.test(str) && str=== setup.openPropQuote) || (!setup.openPropQuote && (/(\\s$)/.test(str) || /(\\s$)/.test(setup.next) || ( index+1 === len(attrs) || setup.next == null) ))){\n if( (/(\\s$)/.test(setup.next) || index+1 === len(attrs) || setup.next == null) && !(setup.openPropQuote && QuoteRegex.test(str) && str=== setup.openPropQuote) ) {\n setup.propValue.push(str);\n }\n PropsParserContainment( setup, props );\n closure();\n continue;\n }else {\n setup.propValue.push(str);\n }\n }else if(len(setup.openPropName)) {\n PropsParserContainment( setup, props );\n }\n closure();\n }\n if(len(setup.openPropName)) {\n PropsParserContainment( setup, props );\n }\n if(!len(props['__hx_keys__'])) {\n delete props['__hx_keys__'];\n }\n return props;\n }\n function HTMLPropsParser(attrs){\n return __HTMLPropsParser__(attrs);\n }\n const isPlainTextChildrenTagElements=(txt)=> new Set(\"script,style,title,textarea,code,noscript,iframe,xmp\".split(',')).has(txt);\n class comment{\n constructor(value){\n if(value && isString(value)){\n this.content=value;\n }\n }\n content=\"\";\n }\n const isHtmlComment=(value) => value instanceof comment;\n function generateBlockTagRegex(delimiters){\n let [ open, close ] = !delimiters ? [ \"{{\", \"}}\"] : delimiters;\n open = hasSpecialCharacters(open) ? escapeDecoder(open) : open;\n close = hasSpecialCharacters(close) ? escapeDecoder(close) : close;\n return new RegExp(`(${open} *(\\\\/|@)([\\\\w\\\\-$:]+)(.*?)(\\\\/*)? *${close})`,'mg');\n }\n const dynamicPropTagRegex=/::([\\w-$:\\-!\\#\\@.()[\\]%?&]+)/;\n function isDynamicPropTag(tag){\n return /^::([\\w-$:\\-!\\#\\@.()[\\]%?&]+)/.test(tag)\n }\n const emptyTagRegex=/\\<[\\/]?[ ]*\\>/;\n const isEmptyTag=(tag)=>emptyTagRegex.test(tag);\n const isOpenEmptyTag=(tag)=>/(\\<[ ]*\\>)/.test(tag);\n const isCloseEmptyTag=tag=>/(\\<\\/[ ]*\\>)/.test(tag);\n // const openingTagsRegex = /(\\<[ ]*\\>|\\<\\/[ ]*\\>)|(<(\\/)?([\\w\\-\\$!:\\#\\@.()[\\]%?\\/&]+)(\\s+[^>]*?(?:(?:[\\w]+[_!@#$'\"%^&*()+\\-\\[\\]{};:\\\\|,.<\\/?~`]*)|(?:'[^']*')|(?:\"[^\"]*\")))*\\s*(\\/)?>)|([\\w \\s!@#$'\"%^&*()+\\-\\[\\]{};:\\\\|,.\\/?`~]+)/mg;//old and original regex\n const openingTagsRegex = /(\\<[ ]*\\>|\\<\\/[ ]*\\>)|(<(\\/)?([\\w\\-\\$!:\\#\\@.()[\\]%?\\/&]+)(\\s+[^>]*?(?:(?:[\\w]+[_!@#$'\"%^&*()+\\-\\[\\]{};:\\\\|,.<\\/?~`]*)|(?:'[^']*'[^>\\s]*)|(?:\"[^\"]*\"[^>\\s]*)))*\\s*(\\/)?>)|([\\w \\s!@#$'\"%^&*()+\\-\\[\\]{};:\\\\|,.>=\\/?`~]+)/mg;\n\n const openingTagRegex=/<([\\w\\-\\$!:\\#\\@.()[\\]%?&]+)(\\s+[^>]*?(?:(?:[\\w]+[_!@#$'\"%^&*()+\\-\\[\\]{};:\\\\|,.<\\/?>=`~]*)|(?:'[^']*'[^>\\s]*)|(?:\"[^\"]*\"[^>\\s]*)))*\\s*(\\/)?>/m;\n const isOpeningTag = (source)=> openingTagRegex.test(source);\n const closingTagRegex= /<[\\/]([\\w$.:\\-\\@()[\\]%&?\\\\\\/]+)[ ]*>/;\n const isClosingTag=(source)=> closingTagRegex.test(source);\n const isText=(text)=> !openingTagRegex.test(text) && /([\\w \\s!@#$'\"%^&*()+\\-\\[\\]{};:\\\\|,.\\/?`~]+)/m.test(text);\n const openingTagAttrRegex=/^<[\\w\\-\\$!\\@:.()[\\]%?&]+([\\s\\S]*[^\\/>])?\\s*(\\/)?>\\s*$/m;\n const JSXParserRegex=/hx:\\(\\(__(\\d)__\\)\\)/;\n const isOpeningCommentTag=(tag)=> /<!-->/.test(tag);\n const isClosingCommentTag=(tag)=> /<\\/-->/.test(tag);\n const commentRegex=/((<!--)|(-->))/g;\n function compelToResolveTagname(self, vNode, config={}){\n if((isHouxitBuild(self) && isString(vNode.type) && !IS_VALID_TAGNAME(vNode.type))){\n resolveInstanceWidgetNormalizer(self, vNode);\n }else if(config.JSXParser && isString(vNode.type) && JSXParserRegex.test(vNode.type)){\n const instance=normalizeJSXPropValue(config, vNode.type);\n vNode.type=instance;\n if(validHouxitWidget(instance)){\n vNode.GeneticProvider=instance;\n vNode.prototype_=instance;\n }\n }\n }\n function createDynamicPropLoader(self, Vnode, config){\n if((isBlockTag(Vnode.type)) || !isString(Vnode.type) || !isDynamicPropTag(Vnode.type) || !isHouxitBuild(self) || config.JSXParser ) {\n return;\n }\n const dTAG=Vnode.type;\n Vnode.type=Build;\n if(!Vnode.props) {\n Vnode.props={\n '$$bind:self':dTAG.slice(2)\n }\n }else {\n Vnode.props['$$bind:self']=dTAG.slice(2);\n }\n Vnode.prototype_=Build;\n Vnode.GeneticProvider=Build;\n }\n function finishTagLoader(tagName, setup, NodeList, self, config, tagMatch){\n let { loaderList, trackNodes, child_src } = setup;\n let activeObj=loaderList[0][1];\n activeObj.rawChildren=child_src || \"\";\n if(isPlainTextChildrenTagElements(tagName)) {\n activeObj.children=child_src;\n }\n else if(child_src?.trim() && config.deep){\n activeObj.children=__HouxitHTMLParser__(child_src, [], config, self);\n if(JSXParserRegex.test(activeObj.rawChildren)){ \n activeObj.rawChildren=activeObj.rawChildren.replace(JSXParserRegex, (match, num)=>{\n const instance=config.JSXParser.sources[Number(num)];\n if(canRender(instance)) {\n return instance;\n }\n return match;\n });\n }\n }else if(tagMatch.trim()) {\n activeObj.rawChildren=activeObj.rawChildren+tagMatch;\n }\n compelToResolveTagname(self, activeObj, config);\n createDynamicPropLoader(self, activeObj, config);\n NodeList.push(activeObj);\n loaderList.splice(0);\n trackNodes.splice(0);\n return \"\";\n }\n function normalizeJSXPropValue(config, value){\n const index=Number(value.match(JSXParserRegex)[1]);\n return config.JSXParser.sources[index];\n }\n function normalize_Props_State(vnode, self){\n const props=vnode.props;\n return props;\n }\n function normalize_jsx_props(vnode, config){\n for(let [key, value] of entries(vnode.props)){\n if(JSXParserRegex.test(value)) {\n vnode.props[key]=normalizeJSXPropValue(config, value);\n }else if(JSXParserRegex.test(value)){\n const instance=normalizeJSXPropValue(config, key);\n if(!isString(instance)) {\n debugHandler(`[ ] property key value passed to the \"html\" macro is not a valid prop name\\n\\ntype of \"${typeof instance}\" found >>>> Expects a \"string\" value`);\n return;\n }\n vnode.props[instance]=vnode.props[key];\n delete vnode.props[key];\n }\n }\n }\n function openingTagHydrate(tagMatch, NodeList, setup, metrics){\n const { config, self } = metrics;\n let { loaderList, trackNodes, child_src, isComment } = setup;\n const is_hyperscript=config.is_hyperscript;\n let [ match, tagName ] =isOpeningTag(tagMatch) ? tagMatch.match(openingTagRegex) : [];\n let vnode= new vNodeClass(tagName);\n if(isOpeningCommentTag(tagMatch)){\n vnode= new comment();\n if(isComment){\n child_src+=tagMatch.slice(0, -1);\n }else{\n isComment=true;\n loaderList.push(['comment', vnode]);\n }\n }\n tagMatch=isOpeningCommentTag(tagMatch) ? tagMatch.slice(0, -1) : tagMatch;\n if(isComment) {\n isComment=true;\n child_src+=tagMatch;\n return {\n child_src,\n isComment,\n response:true\n };\n }\n const [ attrsMatch, attrs, selfClosed ] = tagMatch.match(openingTagAttrRegex) || [];\n vnode.props=__HTMLPropsParser__(attrs, null, self);\n if(config.JSXParser && vnode.props) {\n normalize_jsx_props(vnode, config);\n }\n if(!isHouxitBuild(self) || config.jsx) {\n vnode.is_hyperscript=true;\n }\n if(!is_hyperscript && isHouxitBuild(self)) {\n vnode.props=normalize_Props_State(vnode, self);\n }\n if(hasOwn(vnode.props, 'key')){\n vnode.key=vnode.props.key;\n delete vnode.props.key;\n }\n if(attrs && isBlockTag(tagName)){\n if(!hasOwn(vnode.props, 'exp') || len(vnode.props) > 1 ) {\n vnode.props={\n exp:attrs\n }\n }\n vnode.props.exp=escapeReverseDecoder(vnode.props.exp || \"\");\n }\n if(len(vnode.props) < 1) {\n vnode.props = null;\n }\n const isSelfClosed= selfClosed?.trim() == \"/\";\n if( !(len(loaderList)) && ((isBlockTag(tagName) && isBuiltinVoidBlocks(getBlockTagName(tagName))) || (IS_HTML_VOID_TAG(tagName) || isSelfClosed))){\n vnode.children=null;\n vnode.rawChildren=null\n compelToResolveTagname(self, vnode, config);\n createDynamicPropLoader(self, vnode, config);\n NodeList.push(vnode);\n return {\n child_src,\n isComment:false,\n response:false\n };\n }\n if(len(loaderList)) {\n child_src+=tagMatch;\n trackNodes.push(tagName);\n return {\n child_src,\n isComment:false,\n response:false\n };\n }\n loaderList.push([tagName, vnode]);\n return {\n child_src,\n isComment:false,\n response:true\n };\n }\n function parserSourceInitializer(source, self){\n return source.replace(generateBlockTagRegex(isHouxitBuild(self) ? self[$$$core].settings.delimiters : undefined), (match, timing, ClosingTag, name, value, selfClosed)=>{\n return `<${ClosingTag===\"/\" ? \"/\" : \"\" }::@_(${name})_ ${ ClosingTag===\"@\" ? \"exp=\"+'\"'+escapeDecoder(value)+'\"' : \"\" } ${selfClosed ? \"/\" : \"\"}>`;\n }).replace(commentRegex, (match, path, r)=> /<!--/.test(match) ? \"<!-->\" : /-->/.test(match) ? \"</-->\" : match );\n }\n function __HouxitHTMLParser__(source, NodeList=[], config={}, self){\n if(!isString(source) && !source.trim()) {\n return !isArray(NodeList) ? [] : NodeList;\n }\n config=assign({\n deep: true,\n trim:false\n }, config);\n source=parserSourceInitializer(source, self);\n let tag_matches=source.match(openingTagsRegex);\n let child_src=\"\";\n let skipComment=false;\n let loaderList=[];\n let trackNodes=[];\n let isComment=false;\n NodeList = NodeList || [];\n for(let [ index, tagMatch ] of (tag_matches || []).entries()){\n if(config.trim && !(len(loaderList) && isPlainTextChildrenTagElements(loaderList[0][0]) )){ \n tagMatch = tagMatch//.trim();\n if(tagMatch == \"\") {\n continue;\n }\n }else if(!config.trim && !(len(loaderList) && isPlainTextChildrenTagElements(loaderList[0][0]) )) {\n tagMatch=tagMatch//.trim();\n }\n tagMatch = isOpenEmptyTag(tagMatch) ? \"<hx:fragment>\" : isCloseEmptyTag(tagMatch) ? \"</hx:fragment>\" : tagMatch ;\n if(isOpeningCommentTag(tagMatch) || isOpeningTag(tagMatch) ) {\n if(isOpeningCommentTag(tagMatch) && len(loaderList)) {\n child_src+=tagMatch.slice(0, -1);\n skipComment=true;\n continue;\n }\n let response=openingTagHydrate(tagMatch, NodeList, {\n loaderList,\n trackNodes,\n child_src,\n isComment\n }, {\n config,\n self\n });\n child_src=response.child_src;\n isComment=response.isComment;\n if(!response.response) {\n continue;\n }\n }else if(isClosingCommentTag(tagMatch) || isClosingTag(tagMatch) ){\n if(isClosingCommentTag(tagMatch) ){\n if(skipComment){\n child_src+=tagMatch.slice(2);\n skipComment=false;\n continue;\n }\n if(isComment){\n const comment=loaderList[0][1];\n if(isHtmlComment(comment)) {\n comment.content=child_src+tagMatch.slice(2);\n }\n child_src=\"\";\n loaderList.splice(0);\n isComment=false;\n NodeList.push(comment);\n }\n continue;\n }else if(isComment){\n child_src+=tagMatch;\n continue;\n }\n let [ match, tagName ]=tagMatch.match(closingTagRegex);\n let lastLoader=trackNodes[len(trackNodes)-1];\n if(len(loaderList)){\n if(config.JSXParser && tagName === \"/\") {\n child_src= finishTagLoader(tagName, {\n loaderList,\n trackNodes,\n child_src\n }, NodeList, self, config, tagMatch);\n }else if(len(trackNodes) && new Set(trackNodes).has(tagName) ){\n child_src+=tagMatch;\n let mIndex=trackNodes.findLastIndex((f)=> f == tagName);\n if(mIndex > -1) {\n trackNodes.splice(mIndex, 1);\n }\n continue;\n }else if(tagName === loaderList[0][0]){\n child_src=finishTagLoader(tagName, {\n loaderList,\n trackNodes,\n child_src\n }, NodeList, self, config, \"\");\n }else {\n child_src+=tagMatch;\n }\n }\n }else if(isText(tagMatch)){\n let useObjChild=undefined;\n if(JSXParserRegex.test(tagMatch)) {\n tagMatch=tagMatch.replace(JSXParserRegex, (match, num)=>{\n const srcValue=config.JSXParser.sources[Number(num)];\n if(canRender(srcValue)) {\n return srcValue;\n }\n useObjChild={\n srcValue\n }\n return match;\n });\n }\n if(len(loaderList)) {\n child_src+=tagMatch;\n }else {\n NodeList.push(useObjChild ? useObjChild.srcValue : tagMatch);\n }\n }\n }\n if(len(loaderList)){\n if(isComment){\n const comment=loaderList[0][1];\n if(isHtmlComment(comment)) {\n comment.content=child_src;\n }\n child_src=\"\";\n loaderList=[];\n isComment=false;\n trackNodes=[];\n NodeList.push(comment);\n }else {\n child_src = finishTagLoader(loaderList[0][0], {\n loaderList,\n trackNodes,\n child_src\n }, NodeList, self, config, \"\");\n }\n }\n return NodeList;\n }\n function HTMLParser(html, NodeList, config, self ){\n return __HouxitHTMLParser__(...arguments);\n }\n function negotiateRawDirective(self, node){\n if(!node.props) {\n return;\n }\n const { hasDir, getDir, getKey } = dirExistenceCheck(node.props, \"$$raw\");\n if((hasDir) && isHouxitBuild(self) ) {\n node.filesFilter['dir--raw']=getDir;\n }\n }\n function specializedTemplateProductionProcessor(self, attributes, node, metrics, config ){\n let [ hx_Element, NodeList , tagName, fall ]=metrics;\n let Vnode;\n config=assign({}, config);\n const isRerender=()=>self[$$$operands].initializedRender;\n if(config.if_Block && !config.props?.status) {\n return\n }\n if(isHouxitBuild(self)){\n negotiateRawDirective(self, node);\n let re=assign({},node.props || {});\n const createElement=(conf)=>{\n if(isRerender()){\n node.props=assign({}, re);\n }\n return createHouxitElement(node, self, false, assign({}, hx_Element?.LabContext), NodeList, assign({}, fall), hx_Element, config );\n }\n Vnode=createElement();\n if(!isPFunction(Vnode?.compiler_options?.createElement)){\n Vnode.compiler_options.createElement=createElement;\n }\n }else{\n let children=null;\n if(node.children){\n children = isPlainTextChildrenTagElements(tagName) ? node.children : _HouxitCoreRenderer(node.rawChildren, null, true, null, null, );\n }\n Vnode=createVNode({\n type:tagName, \n props:len(attributes) ? attributes : null,\n children\n });\n }\n NodeList.add(Vnode);\n return Vnode;\n }\n const validAttrNameRegex= /[\\w\\$]+/;\n function transcript_to_VNodeClass(){\n \n }\n function templateElementNodeCompiler(self, vNode, hx_Element, config, NodeList, fall){\n config=assign({}, config);\n let { type:tagName, props, children, rawChildren, key } = vNode;\n let attributes=props;\n let context=smartDextCtxMerging(hx_Element?.LabContext || {}, fall);\n vNode.hx_Element=hx_Element;\n vNode.ctx=context;\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n const args=()=> [ hx_Element, NodeList, tagName, context, fall ];\n if(!is_hyperscript && isString(tagName) && isBlockTag(tagName)) {\n if(!isHouxitBuild(self)) {\n debugHandler(`[ ] block tags Cannot be used in build/static templates mode`, self, true);\n }else {\n return blockElementsPreProcessors(self, vNode, args(), config );\n }\n }else {\n return specializedTemplateProductionProcessor(self, attributes, vNode, args(), config);\n }\n }\n function templateTextNodeCompiler(self, node, hx_Element, config, NodeList, fall){\n config=assign({}, config);\n const isRerender=self[$$$operands].initializedRender;\n if(node){\n let LabContext;\n if(len(config.ctx)) {\n fall=smartDextCtxMerging(fall||{}, config.ctx||{});\n }\n if(fall) {\n LabContext=smartDextCtxMerging(hx_Element?.LabContext || {} , fall );\n if(hx_Element) {\n hx_Element.LabContext=LabContext\n LabContext=null\n }\n }\n let value = node;\n if(isHouxitBuild(self)){ \n const args= [ value, self, hx_Element, LabContext, config];\n const createElement=()=>new HouxitTextElement(...args);\n node=createElement();\n node.compiler_options.createElement=createElement;\n }else {\n node=value;\n }\n NodeList.add(node);\n return node;\n }\n }\n function createElementRenderBlock(self, node, hx_Element, config, NodeList, fall){\n let childNodes;\n if(isPrimitive(node) && String(node).trim()) {\n const createElement=()=>templateTextNodeCompiler(self, String(node), hx_Element, config, NodeList, fall);\n childNodes=createElement();\n childNodes.compiler_options.createElement=createElement\n }else if(isHtmlComment(node)){\n /*Ignore comment nodes*/pass;\n }else if(isVNodeClass(node)) {\n node.filesFilter.parent=config?.slotTap?.parent || hx_Element || self;\n const createElement=()=>templateElementNodeCompiler(self, node, hx_Element, config, NodeList, fall );\n childNodes=createElement();\n }else if(isTemplateClass(node)){\n const childNodes=node[TemplateClassKey](self, null, hx_Element, fall, config);\n NodeList[isArray(childNodes) ? 'extend' : 'add' ](childNodes);\n }else if(isCollection(node)){\n const FragmentNodes=new Tuple();\n renderTemplateClasses(self, arrSet(node), hx_Element, config, FragmentNodes, fall);\n\n childNodes=new HouxitFragmentElement(FragmentNodes.list(), self, null)\n NodeList.add(childNodes);\n }\n return childNodes;\n }\n function renderTemplateClasses(self, parser, hx_Element, config, NodeList, fall ){\n fall=assign({}, fall);\n config=assign({}, config);\n const isRerender=self[$$$operands].initializedRender;\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n for (let [ index, node ] of parser.entries()){\n const next=parser[index+1];\n if(isHouxitElement(node)){\n NodeList.add(node)\n }else if(isPrimitive(node) ? String(node).trim() : node || isFunction(node)){\n if(is_hyperscript && isFunction(node)){\n const fn=node;\n const effect=_createHouxitEffectFrame( ()=>{\n return unwrap(fn());\n }, self);\n let value=effectRunner(effect).value;\n if(!isPrimitive(value)){\n debugHandler(`[ ] lazy callback effect expects only a primitive node\\n\\n${typeof value} render not supported\\nat ....\"${fn.toString()}\"`, self, true);\n return;\n }\n config.lazy_effect=effect;\n node=value;\n }\n const childNodes=createElementRenderBlock(self, node, hx_Element, config, NodeList, fall);\n delete config.lazy_effect;\n }\n }\n }\n function _HouxitCoreRenderer(html, self, parent, hx_Element, fall, config={}){\n if(!html && !validateType(html, [String, Array, Object])) {\n return null;\n }\n config=assign({}, config);\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n const isRerender=self[$$$operands]?.initializedRender;\n let templateRender= isString(html) ? __HouxitHTMLParser__(html, [], {\n trim:true,\n is_hyperscript:isHouxitBuild(self) && config.is_hyperscript\n }, self) : arrayInverter(html);\n templateRender=(new Tuple(...arrayInverter(templateRender))).list();\n if(config.official && !isRerender) {\n const boundary=getBoundary(self);\n if(boundary){\n iterate(arrayInverter(templateRender)).each((node)=>{\n if(isVNodeClass(node)) node.filesFilter.suspense=boundary;\n });\n }\n }\n const NodeList=new Tuple();\n renderTemplateClasses(self, templateRender, hx_Element, config, NodeList, fall);\n return len(NodeList) > 1 ? NodeList.list() : len(NodeList) === 1 ? NodeList.shift() : null ;\n }\n function SSRNodesCollectionStrategy(self, NodeList){\n const isSSR=isSSRCompiler(self);\n if(!isSSR) {\n return NodeList;\n }\n const ssr_list=new Tuple();\n for(let [ index, vNode] of NodeList.entries()){\n if(!isTextOrNativeElement(vNode) && !isHouxitFragmentElement(vNode)) {\n continue;\n }\n ssr_list.add(vNode.VNodeManager.SSRVnode);\n }\n return ssr_list;\n }\n function controlBuiltInBlocks(self, node, blockN, metrics, config){\n const [ hx_Element, NodeList, tagName, context, fall ] = metrics ;\n const args=()=>[ self, node, blockN, metrics ];\n const children=node.children;\n const exp=node.props.exp;\n let template=[];\n let subscribers=[];\n let data;\n const ctx=[children, exp ];\n if(blockN === 'if') {\n const createElement = ()=> blockIFPreprocessor(...args(), ctx, config);\n config.createElement=createElement;\n const { eff_pack, flush, eff_place }=createElement();\n const ELEMENT=new HouxitFragmentElement(eff_pack?.[eff_place]?.tuple.list() || [], self);\n ELEMENT.compiler_options.createElement=createElement;\n ELEMENT.VN_Tree.FLUSHS.add(flush);\n config.ELEMENT=ELEMENT;\n NodeList.add(ELEMENT);\n }else if(blockN === 'else' || blockN === \"else-if\") {\n blockElseIfPreprocessor(self, node, config, blockN);\n }else if(blockN === 'for') {\n const createElement=()=>blockForProcessor(...args(), ctx, false, config);\n template = createElement();\n template.compiler_options.createElement=createElement;\n }else if(blockN === 'const') {\n blockConstPreprocessor(...args(), ctx, config);\n }else if(blockN === 'class') {\n blockClassTransformer(...args(), ctx);\n }else if(blockN === 'new') {\n template=blockNewRenderProcessor(...args(), ctx);\n }else if(blockN === 'html') {\n template = blockHtmlEmbedder(...args(), ctx, config);\n }else if(blockN === 'debugger') {\n blockInstallDebugger(self, node, blockN, metrics , [children, exp], config);\n }else if(blockN === 'await'){\n const createElement=()=>createAwaitBlockNode(...args(), ctx, config);\n const element=createElement();\n element.compiler_options.createElement=createElement;\n }\n return arrayInverter(template);\n }\n function createAwaitBlockNode(self, node, blockN, metrics , [children, exp], config){\n const [ hx_Element, NodeList, tagName, context, fall ] = metrics ;\n const Node=new HouxitTextElement('', self);\n const isRerender=self[$$$operands].initializedRender;\n let subscribers, val;\n hx_Element.LabContext=smartDextCtxMerging(hx_Element.LabContext || {}, fall || {});\n async function getResp(){\n const effect=_createHouxitEffectFrame(()=>{\n return _$runModelBind(self, exp, isHouxitElement(hx_Element) ? hx_Element : fall);\n }, self);\n return await effectRunner(effect);\n };\n let response=getResp();\n Node.VNodeManager.awaitTextReady=response;\n const boundary=getBoundary(node);\n response = response.then((effect)=>{\n const callback=(vl)=>awaitBlockUpdateFrame(self, vl, Node, isRerender, effect);\n if(isPromise(effect.value)){\n value.then(v=>callback(v)).catch(err=>{\n throw new Error(err)\n });\n }else{\n callback(effect.value);\n }\n }).catch(err=>{\n if(boundary){\n boundary.errorCaptured(()=>{\n debugHandler(err, self, true);\n }, {\n message:`{{@await}} block fails to resolve...`\n });\n }\n });\n if(boundary){\n boundary.activeAwaits++;\n boundary.loadChain.add(response);\n }\n NodeList.add(Node);\n return Node;\n }\n function awaitBlockUpdateFrame(self, value, Node, isRerender, effect){\n const N=new HouxitTextElement(compileToRenderable(value), self);\n if(isRerender){\n Node.$element=N.$element;\n Node.prototype_=N.prototype_;\n }else{\n Node.$element.textContent=N.$element;\n Node.prototype_=N.prototype_;\n createPriorityFlush(effect, (observer)=>{\n new Promise((resolve)=>{\n const effect_vn=Node.compiler_options.createElement();\n resolve(effect_vn);\n }).then((effect_vn)=>{\n tick(()=>{\n Node.$element.textContent=effect_vn.$element;\n });\n })\n }, self);\n }\n }\n function blockInstallDebugger(self, node, blockN, metrics , [children, exp], config){\n const [ hx_Element, NodeList, tagName, context, fall ] = metrics;\n }\n function blockHtmlEmbedder(self, node, blockN, metrics , [children, exp], config){\n const [ hx_Element, NodeList, tagName, context, fall ] = metrics;\n let effect = _createHouxitEffectFrame(()=>{\n return _$runModelBind(self, exists(exp.trim()) ? exp : \"undefined\", hx_Element);\n }, self);\n return [];\n }\n function blockClassTransformer(self, node, blockN, metrics , [children, exp], config){\n const [ hx_Element, NodeList, tagName, context, fall ] = metrics\n if(!variableDeclarationRegex.test(exp)){\n debugHandler(`[ ] template \"@class\" block declaration failure \\n\\ndoes not meet required name and args syntax rules`, self, true);\n return;\n }\n let [ match, var_name, var_params]= exp.match(variableDeclarationRegex);\n let validator;\n if(var_params) {\n validator=var_params.match(templateClassValidatorRegex);\n }\n if(validator){\n var_params=var_params.slice(len(validator[0]));\n validator=validator[1];\n validator=_$runModelBind(self, validator, hx_Element);\n if(!isPFunction(validator)){\n debugHandler(`[ ] @class: template \"@class\" block validator prop expects a plain function callback reference`, self, true);\n return;\n }\n }\n if(var_params){\n var_params=var_params.trim();\n if(!(var_params.startsWith(\"(\") && var_params.endsWith(\")\"))){\n debugHandler(`[ ] ${var_name}: arguments of template class \"${var_name}\" does not meet required syntax\\nmissing parenthesis in arguments enclosure \"(\" and \")\"`, self, true);\n return;\n }\n }\n var_name = var_name || match;\n if(!isValidIdentifier(var_name)){\n debugHandler(`[ ] template \"@class\" block name \"${var_name}\" is not a JavaScript valid identifier`, self, true);\n return;\n }\n function templateKlassGenerator(...props){\n const isValid= validator ? validator([...props]) : true;\n if(!isBoolean(isValid)){\n debugHandler(`[ ] TemplateClass validator expects a Boolean return value\\nvalidation proceses failed`, self, true);\n return false\n }else if(!isValid){\n debugHandler(`[ ] validation method for template class \"${var_name}\" failed\\nreturns falsy in its props validation check`, self, true);\n return false;\n }\n return true;\n };\n if(var_params) {\n var_params=var_params.slice(1).slice(0, -1);\n }\n const parameters=separateArgsLiterals(var_params);\n class TemplateClass extends BaseTemplateClass{\n constructor(...args){\n super(()=>children);\n const validator = templateKlassGenerator(...args);\n if(!validator) {\n return [];\n }\n this[TemplateClassKey]=function factory(){\n const ssc=smartDextCtxMerging(fall, {\n [$$dexTransformKey]:{\n syntaxArray:[...parameters],\n sourcesArray:[...args]\n }\n });\n installSuspense(children, getBoundary(hx_Element));\n return config.suspenseFlag ? children : _HouxitCoreRenderer(memMove(children, true), self, null, hx_Element, ssc, config );\n }\n }\n }\n if(!hasOwn(self.__public_model__, var_name)) {\n define(self.__public_model__, var_name, {\n value:TemplateClass,\n enumerable\n });\n }\n return [];\n }\n function createCatacombs(setup, val, char){\n const rChar=char === \"{\" ? \"}\" : \"]\";\n if(val===char) {\n if(setup.open && setup.type === char) {\n setup.openCurlies++;\n }else if(!setup.open){\n setup.open=true;\n setup.type=char;\n }\n setup.single.push(val);\n }else if(val===rChar){ \n if(setup.type === char && setup.openCurlies && setup.open) {\n setup.openCurlies--;\n setup.single.push(val);\n }else if(setup.type===char && setup.open && !setup.openCurlies){\n setup.single.push(val);\n setup.record.push(setup.single.join(\"\").trim());\n setup.single=[];\n setup.open=false;\n setup.type=null;\n }else if(setup.open && setup.type !== char) {\n setup.single.push(val);\n }\n }\n }\n function separateArgsLiterals(syntax){\n const setup={\n record:[],\n single:[],\n open:false,\n openCurlies:0,\n type:undefined,\n next:undefined,\n concat:undefined\n }\n const isStrRegex=val=>/['\"`]+/.test(val);\n let i=0;\n for(const val of values(syntax)){\n i++;\n setup.next=syntax[i];\n if(setup.open && isStrRegex(val) && !setup.concat) {\n setup.concat=val;\n single.push(val)\n }else if(isStrRegex(val) && val === setup.concat){ \n setup.concat=null;\n single.push(val);\n }else if(val===\"{\" || val===\"}\" && !setup.concat) {\n createCatacombs(setup, val, \"{\");\n }else if(val===',' || /\\s/.test(val)){\n if(setup.concat);\n else if(!setup.open) {\n continue;\n }else {\n setup.single.push(val);\n }\n }else if(val === \"[\" || val===\"]\" && !setup.concat) {\n createCatacombs(setup, val, \"[\");\n }else{\n if(!setup.open){\n setup.open=true;\n setup.single.push(val);\n }else if(setup.open && !setup.type && (setup.next===\",\" || /\\s/.test(setup.next) || isUndefined(setup.next))){\n setup.open=false;\n setup.single.push(val);\n setup.record.push(setup.single.join(\"\").trim());\n setup.single=[];\n }else if(setup.open) setup.single.push(val);\n }\n }\n return setup.record;\n }\n function blockNewRenderProcessor(self, node, blockN, metrics , [children, exp], config){\n const [ hx_Element, NodeList, tagName, context, fall ] = metrics\n const name=abstractFilterName(exp.trim());\n const hasArg=len(name) < len(exp.trim());\n let args=hasArg ? ArgsExtractor(exp, name).content : undefined;\n args= args ? _$runModelBind(self, '['+args+']', hx_Element || fall) : [];\n const templateKlass=_$runModelBind(self, name, hx_Element);\n const deb=()=>debugHandler(`[ ] \"${name}\" reference is not a valid TemplateClass instance`, self, true);\n if(!isClass(templateKlass) ){\n deb();\n return [];\n }\n let template=new templateKlass(...args);\n if(!isTemplateClass(template) ){\n deb();\n return [];\n }\n template=template[TemplateClassKey](self, null, hx_Element, fall, config);\n return arrayInverter(template);\n }\n function blockConstPreprocessor(self, node, blockN, metrics , [children, exp], config){\n const [ hx_Element, NodeList, tagName, context, fall ] = metrics ;\n if(exp.trim() && !variableDeclarationRegex.test(exp)){\n debugHandler(`[ ] \"${exp}\" statement is not recognised or not a valid statement or expression`, self, true);\n return [];\n }else if(!exp.trim()) {\n return [];\n }\n let [ match, variable, expression ] = exp.match(variableDeclarationRegex);\n variable=variable.trim();\n if(!isDestructureSyntax(variable) && !isValidIdentifier(variable)){\n debugHandler(`[ ] \"${variable}\" is an invalid identifier`, self, true);\n return [];\n }\n const data = _$runModelBind(self, expression?.trim(), hx_Element || context );\n if(isDestructureSyntax(variable)){\n if(isFalse(destructWarn(variable, data, self))){\n return [];\n }\n smartDextCtxMerging(fall, {\n [$$dexTransformKey]:{\n sourcesArray:[data],\n syntaxArray:[variable]\n }\n }, true);\n }else if(!hasOwn(context, variable)) {\n fall[variable]=data;\n }else if(hasOwn(context, variable)){\n debugHandler(`[ ] \"${variable}\" const block namespace already declared\\nor instance cannot be re-declared/re-assigned`, self, true);\n }\n }\n function blockForProcessor(self, node, blockN, metrics , [children, exp], isWidget=false, conf){\n const [ hx_Element, NodeList, tagName, context, fall, value, provide ] = metrics ;\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n const isRerender=self[$$$operands].initializedRender;\n let template = [];\n let Loop_Data=isWidget ? { \n obj:value,\n effect:conf.effect\n } : For_Loop(self, exp, hx_Element, true, conf, isRerender);\n const effect=isWidget ? conf.effect : Loop_Data.effect;\n if(!isRerender){\n conf.effect=effect;\n }else{\n Loop_Data.obj=effect.runEffect().value;\n }\n if(!isIterable(Loop_Data.obj) && !isNumber(Loop_Data.obj)){\n debugHandler(`[ ] ${getType(Loop_Data.obj)} value passed to the \"For\" built-in ${ isWidget ? 'widget' : 'block'} is not an iterable object`, self, true);\n return template;\n }\n function factoryRender(option, config, children){\n installSuspense(children, getBoundary(hx_Element));\n return config.suspenseFlag ? children : _HouxitCoreRenderer(memMove(children, true), self, true, hx_Element, option, config);\n }\n iterate(unwrap(Loop_Data.obj), Loop_Data.loopType || 'of').each((value, key, index)=>{\n let options=smartDextCtxMerging(hx_Element?.LabContext || {}, assign({}, fall||{})), child=children;\n const config=assign({}, conf);\n const loopState=shallowStream([value, key, index]);\n if(!isWidget) {\n options=loopContextPropsMerger(self, {\n valToken:Loop_Data.valToken?.trim(),\n keyName:Loop_Data.keyName?.trim(),\n index:Loop_Data.index?.trim(),\n hx_Element\n }, { \n ky:key,\n vl:value,\n count:index\n }, options );\n }else if(!is_hyperscript){\n if(isForLoopDestructureRegex.test(provide.value)){\n provide.value=\"[\"+provide.value.slice(1, -1)+\"]\";\n }\n options=wrapNamespaceBind(self, options, provide.value, arrayDestructureRegex.test(provide.value) ? loopState : loopState[0] );\n }\n config.loop_context=loopState;\n const createElement=()=>{\n let src= children.map(child=>factoryRender(options, config, safeCall(child, loopState))).filter(v=>isHouxitElement(v));\n src=len(src) < 2 ? src[0] : new HouxitFragmentElement(src, self, hx_Element, null, value);\n return src;\n }\n let source=createElement();\n source.compiler_options.createElement=createElement;\n template.push(source);\n });\n const render = new HouxitFragmentElement(template, self, hx_Element);\n if(!isRerender){\n const flush=createPriorityFlush(Loop_Data.effect, (observer)=>{\n prioritize_list_effect(self, render, node, Loop_Data.obj, Loop_Data.effect, conf);\n });\n }\n return render;\n }\n const createPack=(config, typeF, test, effect)=>{\n const ind=config.conditional_Index;\n config.pack.push({\n name:`${typeF}${typeF === 'else-if' && ind ? ind : \"\" }`,\n tuple:new Tuple(),\n test,\n effect\n });\n config.place++;\n }\n function blockIFPreprocessor(self, node, blockN, metrics, [rawChildren, exp], config, isWidget=false){\n let [ hx_Element, NodeList, tagName, context, fall, value ] = metrics ;\n const children=node.children || [];\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n const isRerender=self[$$$operands].initializedRender;\n let data, effect;\n config.subscribers=[];\n if(isWidget && !isRerender){\n effect=node.compiler[If].test;\n data=is_hyperscript ? value : effect.value;\n }else if(!isRerender){\n effect=_createHouxitEffectFrame(()=>{\n return ( _$runModelBind(self, exists(exp.trim()) ? exp : \"undefined\", hx_Element));\n }, self);\n data=effectRunner(effect).value;\n node.compiler[If]={\n test:effect\n }\n }\n if(isRerender){\n NodeList=new Tuple();\n data=node.compiler[If].test.runEffect().value;\n }\n let template = [];\n const condition = unwrap(data) ? true : false;\n let typeF=isWidget ? 'hx:if' : \"@if\";\n config=assign(config, {\n if_Block:true,\n props:{\n status:condition,\n prevBlock:undefined,\n activeBlock:typeF,\n shouldContinue:!condition\n },\n ctx:{},\n keywordLists:[],\n pack:[],\n place:-1,\n reducers:new Tuple\n });\n config.reducers.add(effect);\n if(config.props.status){\n createPack(config, 'if', true, effect);\n }\n config.conditional_Index=0;\n for(let [index, vNode] of children.entries()){\n const res= conditionalBlockCompile(self, vNode, metrics, config, vNode.props?.exp, isWidget);\n if(!res) {\n break;\n }\n }\n // const list=config.pack[config.place].tuple.list();\n let flush;\n if(!isRerender){\n flush=createPriorityFlush(effect, (observer)=>{\n const { tuple, name } = config.pack?.[config.place] || {};\n const { eff_pack, eff_place } =config.createElement() || {};\n const pack=eff_pack[eff_place];\n const Element=config.ELEMENT;\n const EffectVNode=new HouxitFragmentElement(pack?.tuple?.list() || [], self, hx_Element);\n if(config.memoVault && !checkMemoContentValidity(self, EffectVNode)){\n return;\n }\n let tracker={\n list:new Tuple(),\n FORCE:name !== (pack?.name || 'if'),\n ...config\n }\n resolvePatchAlgorithm(self, Element, EffectVNode, observer, tracker);\n config.pack=[];\n config.place=-1;\n createPack(config, pack?.name, pack?.test, effect);\n config.pack[config.place].tuple=tracker.list;\n });\n }\n return {\n eff_pack:config.pack,\n eff_place:config.place,\n flush\n };\n }\n function conditionalBlockCompile(self, vNode, metrics, config, exp, isWidget){\n let [ hx_Element, NodeList, tagName, context, fall, value] = metrics ;\n const isRerender=self[$$$operands].initializedRender;\n const is_hyperscript=self[$$$core].map.is_hyperscript;\n const blockN=isWidget ? tagName : (!isString(vNode) ? ( isBlockTag(vNode.type) ? getBlockTagName(vNode.type) : vNode.type) : vNode);\n const elif=isWidget ? 'hx:else-if' : 'else-if';\n const els=isWidget ? 'hx:else' : 'else';\n const typeF = n=>isWidget ? n : '@'+n;\n if(isWidget ? vNode.prototype_ === ElseIf : blockN === elif){\n if(!conditionTagOrderCheck(self, config, elif, isWidget)) {\n config.props.status=false;\n config.props.shouldContinue=false;\n return false;\n }\n if(!config.props.shouldContinue) {\n return false;\n }\n let data, effect;\n config.props.prevBlock=config.props.activeBlock;\n config.props.activeBlock=typeF(elif);\n vNode.prototype_=ElseIf;\n const props={};\n Props_dilation_compile(vNode, self, hx_Element, {\n is_hyperscript\n }, props, config);\n vNode.props=props;\n const devOpts=vNode.compiler[ElseIf].test;\n if(isWidget && !isRerender){\n data=devOpts.value;\n }else if(!isWidget && !isRerender){\n effect=isEffect(devOpts) ? devOpts : _createHouxitEffectFrame(()=>{\n return _$runModelBind(self, exists(exp?.trim()) ? exp : \"undefined\", hx_Element);\n }, self);\n data=effect.runEffect().value;\n if(devOpts && !isRerender){\n reducer=config.reducers.pop();\n reducer?.follow(effect);\n effect.reducer=reducer\n vNode.compiler[ElseIf]={\n test:effect\n }\n config.reducer.add(effect);\n }\n }\n if(isRerender){\n data=vNode.compiler[ElseIf].test.runEffect().value;\n }\n const condition=unwrap(data) ? true : false;\n createPack(config, 'else-if', condition, effect);\n config.conditional_Index++;\n config.props.status=condition;\n config.props.shouldContinue=!condition;\n return true;\n }else if(isWidget ? vNode.prototype_ === Else : blockN === els ) {\n if(!conditionTagOrderCheck(self, config, els, isWidget)) {\n config.props.status=false;\n config.props.shouldContinue=false;\n return false;\n }\n if(!config.props.shouldContinue) {\n return false;\n }\n createPack(config, 'else', true);\n config.props.prevBlock=config.props.activeBlock;\n config.props.activeBlock=typeF(els);\n config.props.status=true;\n config.props.shouldContinue=false;\n return true;\n }\n if(!config.props.status) {\n return true;\n }\n installSuspense(vNode, getBoundary(hx_Element));\n let vNodes=config.suspenseFlag ? vNode : _HouxitCoreRenderer(vNode, self, true, hx_Element, fall, config);\n if(!isRerender && isWidget) {\n NodeList.add(vNodes);\n }\n config.pack[config.place].tuple.add(vNodes);\n return true;\n }\n function conditionTagOrderCheck(self, config, tag, isWidget){\n const prev=config.keywordLists[len(config.keywordLists)-1];\n const elif=isWidget ? 'hx:else-if' : 'else-if';\n const els=isWidget ? 'hx:else' : 'else';\n if(prev === els && (tag === els || tag === elif)){\n debugHandler(`[ ] An \"${els}\" ${isWidget ? 'widget' : 'block'} already existing\\n\\nUnresolved Error:: cannot precced with the \"@${tag}\" block`, self, true);\n return falseP;\n }\n config.keywordLists.push(tag);\n return true;\n }\n function blockElseIfPreprocessor(self, node, config, blockN, isWidget){\n const b=isWidget ? 'widget' : 'block';\n debugHandler(`[ ] The \"${blockN}\" ${b} cannot be used outside of the \"${isWidget ? 'hx:if' : '@if'}\" template ${b} scope`, self, true);\n return;\n }\n function instance_Has_Block(self, name ){\n name = name.startsWith(\"@\") ? name.slice(1) : name;\n return _makeMap_(self[$$$register]?.blocks || {}, name ) || _wufHas_instance(self, name) ;\n }\n function normalize_Block(self, name){\n name = name.startsWith(\"@\") ? name.slice(1) : name;\n return _makeMap_(self[$$$register].blocks, name) ? self[$$$register].blocks[name]: _wufHas_instance(self, name) ? normalizeWUFBuildScope(self, name) : null;\n }\n function blockElementsPreProcessors(self, vNode, metrics, config){\n let children = vNode.children;\n config=assign({}, config);\n const [ hx_Element, NodeList, tagName, context, fall ] = metrics ;\n const blockN=getBlockTagName(tagName);\n let renderedNodes=[];\n if(isBuiltinBlocks(blockN)) {\n renderedNodes = controlBuiltInBlocks(self, vNode, blockN, metrics, config)\n }else if(instance_Has_Block(self, blockN)){\n renderedNodes=customBlocksTraverse(self, vNode, blockN, metrics, config);\n }else{\n debugHandler(`[ ] ((Block Resolver Error))\\n\\n\"@${blockN}\" block is not a registered block element`, self, true);\n return;\n }\n for(const [ index, vnode ] of (!isArray(renderedNodes) ? (validateType(renderedNodes, [Set, Tuple]) ? [...arrSet(renderedNodes)] : [renderedNodes] ) : renderedNodes).entries()){\n if(vnode) {\n NodeList.add(vnode);\n }\n }\n return renderedNodes;\n }\n function customBlocksTraverse(self, node, blockN, metrics, config){\n let [ hx_Element, NodeList, tagName, context, fall ] = metrics ;\n const children=node.rawChildren;\n const blockConfig={\n isVoid:false,\n compileExp:true\n }\n let block=normalize_Block(self, blockN );\n let blockCalllback;\n if(isPObject(block)){\n if(hasOwn(block, 'blockConfig')){\n if(!isPObject(block.blockConfig)){\n debugHandler(`[ ] \"blockConfig\" option of \"${blockN}\" custom block is not a valid type...\\nExpects a plain object`, self, true);\n }else assign(blockConfig, block.blockConfig);\n iterator(block.blockConfig).each((value, key)=>{\n if(!_makeMap_('isVoid,compileExp', key)){\n debugHandler(`[ ] blockConfig option of \"${key}\" is not a recognised config option`, self, true);\n delete blockConfig[key];\n }\n });\n }else if(hasOwn(block, 'block')){\n blockCalllback=block.block;\n }\n }else{\n blockCalllback=block;\n }\n let enderRenderCount=0;\n const effect=_createHouxitEffectFrame(()=>{\n return _$runModelBind(self, node.props.exp, hx_Element);\n }, self)\n const data=effectRunner(effect).value;\n function factoryRenderCallback(ctx={}){\n if(blockConfig.isVoid){\n return createRenderlessElement();\n }\n if(!isPObject(ctx)){\n debugHandler(`[ ] context data passed to factoryRender expects a plain object`, self);\n }\n installSuspense(children, getBoundary(hx_Element));\n return config.suspenseFlag ? arrayInverter(children) : _HouxitCoreRenderer(children, self, true, hx_Element, smartDextCtxMerging(fall||{}, ctx), config);\n }\n function endFactoryRender(vNode){\n if(!validateCollectionArgs(arguments, {\n count:1,\n validators:[Array, vNodeClass],\n name:'factoryRender()'\n }))\n enderRenderCount++;\n vNode=arrayInverter(vNode);\n installSuspense(vNode, getBoundary(hx_Element));\n return _HouxitCoreRenderer(vNode, self, true, hx_Element, smartDextCtxMerging(fall||{}, ctx), config);\n }\n function factoryRender(vNode){\n return endFactoryRender(vNode);\n }\n const template = factoryRenderCallback()\n const response=blockCalllback.call(self.__public_model__, arrayInverter(template), data, factoryRender);\n return arrayInverter(response);\n }\n function createKlassBoilerPlate(callback, ...args){\n return function factory(self, parent, hx_Element, fall, config){\n const boilerPlate=callback(...args);\n installSuspense(boilerPlate, getBoundary(hx_Element));\n return config.suspenseFlag ? boilerPlate : _HouxitCoreRenderer( boilerPlate, self, parent, hx_Element, fall, config);\n }\n }\n function __createTemplateClass_Parser(fn, name){\n if(!validateCollectionArgs(arguments, {\n min:1,\n max:2,\n validators:[Function, String],\n required:[true],\n name:\"createTemplateClass\"\n })) return pass;\n return class TemplateClass extends BaseTemplateClass{\n constructor(...args){\n super(fn);\n this[TemplateClassKey]=createKlassBoilerPlate(fn, ...args);\n }\n }\n }\n function createTemplateClass(klass, name){\n return __createTemplateClass_Parser(...arguments);\n }\n class TemplateClass extends BaseTemplateClass{\n constructor(...args){\n super(args[0]);\n this[TemplateClassKey]=createKlassBoilerPlate(this.class.bind(this), ...args)\n }\n }\n function _getNodeListResponse(NodeList, parent=false){\n NodeList=isSet(NodeList) ? arrSet(NodeList) : isTuple(NodeList) ? NodeList.list() : NodeList;\n if(isTrue(parent) && len(NodeList)) {\n const response = len(NodeList) > 1 ? NodeList : NodeList[0];\n return isString(response) ? new HouxitTextElement( response, parent) : response ;\n }else if(len(NodeList)) {\n return len(NodeList) > 1 ? new HouxitFragmentElement( NodeList, parent) : ( isPrimitive(NodeList[0]) ? new HouxitTextElement(isNull(NodeList[0]) ? \"\" : NodeList[0], parent) : NodeList[0] ) ;\n }\n else return null ;\n }\n function normalizePreJSXFormat(strings, values){\n let boundJoin=[];\n const scripting_tag=(count)=> `hx:((__${count}__))`\n for(let [index, strs ] of strings.entries()){\n boundJoin.push(strs);\n if(hasOwn(values, index)) boundJoin.push(scripting_tag(index));\n }\n return __HouxitHTMLParser__(boundJoin.join(\"\"), [], {\n JSXParser:{\n sources:values\n }\n });\n }\n function html( strings, ...values){\n return __EncodeJSXParser__(strings, values);\n }\n function __EncodeJSXParser__(strings, values){\n if(!isFunction(strings.reduce)){\n debugHandler(`[ ] html macro can only be called with backticks embeded directly to method name\\n\\n\"html\\`<templates>\\`\" instead of \"html()\"\\nCheck html macro call`);\n return\n }\n if(len(values)) {\n return normalizePreJSXFormat(strings, values);\n }\n const html = strings.reduce(( acc, str, i) => {\n const value = !isNull( values[i]) ? values[i] : '';\n return acc + str + value;\n }, ''); \n if(!isString(html)){\n debugHandler(`[ ] html parser macro expects strings values`); \n return null;\n }\n return __HouxitHTMLParser__( html, [], {\n trim:true\n }, null);\n };\n function __HouxitMKDParser__(){\n \n }\n function MKDParser(mkd){\n \n }\n function markdown(mkd, ...values){\n if(!isString(mkd)){\n debugHandler(`[ ] markdown helper expects strings values`);\n return null\n }\n }\n function createCustomElement(options){\n return _createCustomElement.call({}, ...arguments);\n }\n function generateCustomNativeElementConstructor(){\n if(!inBrowserCompiler) return\n return class CustomNativeElement extends HTMLElement{\n constructor(){\n super();\n }\n compiler_options={}\n _set_compiler_options(...compiler_options){\n this.compiler_options=compiler_options;\n return ;\n }\n }\n }\n function generateCustomElementConstructor(name){\n name = ToPascalCase(name);\n if(!isValidIdentifier(name)){\n debugHandler(`[ ] unable to parse the customElements tag name\\n\\n\n seems to have been an invalid identifier`);\n return;\n }\n return Function('CustomNativeElement', `\n return class ${name} extends CustomNativeElement{\n constructor(){\n super(...arguments);\n }\n }\n `)(CustomNativeElement);\n }\n function _createCustomElement(opts){\n this.is_Custom_Node=true;\n const response=validateCollectionArgs(arguments, {\n count:1,\n validators:[[Function,Object]],\n name:\"createCustomElement\"\n });\n if(!response) {\n return;\n }\n const LifeCycleHooksList=\"onConnected,onDisconnected,onAdopted,onAttrChanged,plugin\";\n const isMNEOwnOptions=opt=>_makeMap_(LifeCycleHooksList, opt);\n let Hooks={};\n const widget = defineWidget(opts)\n entries(widget).forEach(([ind, value])=>{\n if(_makeMap_(LifeCycleHooksList, ind)){\n if(!isFunction(value)){\n debugHandler(`[ ] LifeCycle callback error\\n\\n\"${ind}\" is a callback function, received an invalid type`);\n return;\n }\n if(ind != 'plugin'){\n Hooks[ind]=value;\n }\n delete opts[ind];\n }\n });\n const CustomNativeElement=generateCustomNativeElementConstructor();\n CustomNativeElement.prototype.disConnectedCallback=Hooks.disConnectedCallback || pass;\n CustomNativeElement.prototype.adoptedCallback=Hooks.adoptedCallback || pass;\n CustomNativeElement.prototype.attributeChangedCallback=Hooks.attributeChangedCallback || pass;\n CustomNativeElement.prototype.connectedCallback=connectedCallback;\n function connectedCallback(){\n let props={};\n if(len(keys(this.attributes))){\n for( const [key, attr ] of entries(this.attributes)) {\n const { name, value } = attr;\n props[name]=value\n }\n }\n // _set_compiler_options\n let [ vnode, self, hx_Element, siblings, IS_RENDERLESS, customElementsArgs ] = this.compiler_options;\n const shadow=this.attachShadow({ mode: 'open'});\n vnode=h(opts, assign(props, vnode.props|| {}), vnode.children);\n customElementsArgs.unshift();\n const createElement=()=> $compilerEngine(null, vnode, null, {}).$build;\n const template=createElement();\n shadow.appendChild(template.$element);\n const user_defined_callback=Hooks.connectedCallback || pass\n user_defined_callback.call(this, ...arguments);\n }\n CustomNativeElement.define=function define(name, inherit){\n return __define.call(this, ...arguments);\n }\n function __define(name, inherit){\n if(!validateCollectionArgs(arguments, {\n name:\"customElements.define()\",\n min:1,\n max:2,\n validators:[String, String]\n })) {\n return;\n }\n if(!isString(name) && isEmptyStr(name) && IS_VALID_TAGNAME(name)){\n debugHandler('Name positional argument passed to define is not a string or a valid name value\\n\\n or may have conflicted with native html/svg/mathml tags');\n return;\n }\n if(inherit && !isString(inherit) && !IS_HTML_TAG(inherit)){\n debugHandler(`[ ] problem with the inherit value, \\n\\n may not be a string value or a valid HTML tagName`);\n debugHandler(`[ ] CustomElement registration failed`);\n return;\n }\n const CustomElementsInstance=generateCustomElementConstructor(name);\n if(inBrowserCompiler) customElements.define(name, CustomElementsInstance, inherit ? { \n extends:inherit\n } : {});\n return CustomElementsInstance;\n }\n return CustomNativeElement;\n };\n function _asyncWidget(callback, config){\n if(!validateCollectionArgs(arguments, {\n name:'asyncWidget',\n min:1,\n max:2,\n validators:[Function, Object]\n })) {\n return;\n }\n return new AsyncWidget(callback, config);\n }\n function asyncWidget(load, config){\n return _asyncWidget(...arguments)\n }\n function defineWidget(opts, config ){\n return _defineWidget(...arguments)\n }\n function _defineWidget(opts, options){\n if(!validHouxitWidget(opts)){\n debugHandler(`[ ] widget transform Error\\n\\n \n invalid widget instance\\n/... at /././. at`);\n return;\n }else if(len(arguments) > 2){\n debugHandler(`[ ] Parameter Error\\n\\nmax-2 argument required\\n ${len(arguments)} given`);\n return;\n }else if(isPObject(opts) || isFunction(opts)){\n if(isArrowFunction(opts) && null) $warn(`Houxit style guides recommend against the use of Arrow functions as widget build instances.\\n\\n\n \"<${opts.name}>\" widget is an Arrow functions widget type`);\n const type=hydrate_widget_type(opts);\n let widget= new Object();\n if(isPFunction(opts)) {\n widget.build=opts;\n }else if(isPObject(opts)){\n for( const [ key, value ] of entries(opts)){\n if(!hasProp(widget, key)) {\n widget[key]=value;\n }\n }\n }else if(isClass(opts)) {\n widget=new opts();\n }\n if(options) {\n for( const [ key, value ] of entries(options)){\n if(!hasProp(widget, key ) && !isHouxitProp(key)) widget[key]=value;\n }\n }\n if(!hasOwn(widget, widgetTypeKey)) {\n widget[widgetTypeKey]=type;\n }\n return widget;\n }\n }\n function hydrate_widget_type(opts){\n let type=isClass(opts) ? 'class-based' : isPFunction(opts) ? 'function-based' : 'object-based' ;\n return type;\n }\n function initialBuildTransform(options, propsOrChildren, childrenOrProps ){\n if(isVNodeClass(options)) {\n propsOrChildren = options.props;\n childrenOrProps = options.children;\n options = options.type;\n }\n if(!validHouxitWidget(options)){\n debugHandler(`[ ] initBuild Error\\n\\nCannot compile value as a Houxit widget\\nMaybe an invalid houxit widget value`);\n return ;\n }else if(isHouxitBuiltinSymbolWidget(options)){\n debugHandler(`[ ] The built houxit widget cannot be used in an initBuild widget App`);\n return ;\n }\n const widget = createVNodeClass(...values(propsAndChildrenGetter( ...arguments )));\n widget[initBuildInstaceKey]=true;\n return widget;\n }\n function _initBuild(options, props, children){\n const widget = initialBuildTransform(...arguments);\n if(!isVNodeClass(widget)) {\n return undefined;\n }\n return new HouxitBuild( widget );\n }\n function initBuild(options, propsOrChildren, childrenOrProps){\n return _initBuild(...arguments);\n }\n function createSSRStreamHack(vnodePlate, ssrConfig){\n vnodePlate= initialBuildTransform(...vnodePlate);\n vnodePlate.filesFilter.useSSRCompiler=true;\n return vnodePlate;\n }\n function _renderToStringCompiler(build, config){\n if(!isSSRCompiler(build)){\n debugHandler(`[ ] \"renderToString\" macro was called on a non SSR renderer build...\\n\\nplease check, you may have used \"initBuild\" app initializer instead of the \"initSSRBuild\"`);\n return undefined;\n }\n return new Promise((resolve)=>{\n build.mount(null, config);\n resolve(vnodesConversionPipeline(build, build.$build.$element));\n });\n }\n function renderToString(build, config){\n return _renderToStringCompiler(...arguments);\n }\n function vnodesConversionPipeline(self, vnodes){\n let html=\"\";\n vnodes=arrayInverter(vnodes);\n const isHy=isHydration(self);\n for(let [index, node] of vnodes.entries()){\n if((isHy ? isSSRText(node) : isString(node))) {\n html += isHy ? node.content : node;\n }else if(isVNodeClass(node)){\n let src=\"<\"+node.type;\n const ctx={};\n if(node.props) {\n src+=compileSSRProps(node.props, ctx);\n }\n src+=\">\";\n if(!IS_HTML_VOID_TAG(node.type)) {\n if(len(ctx)){\n if(ctx.innerHTML) {\n src+=ctx.innerHTML;\n }else if(ctx.innerText) {\n src+=ctx.innerText;\n }\n }else if(node.children) {\n src+=vnodesConversionPipeline(self, node.children);\n }\n src += \"</\"+node.type+\">\";\n }\n html+=src;\n }else if((isHy ? isSSRFragment(node) : isCollection(node))) {\n html += vnodesConversionPipeline(self, arrSet(isHy ? node.fragment : node));\n }\n }\n return html;\n }\n function compileSSRProps(props, ctx){\n let src=\"\";\n for(let [ key, value] of entries(props)){\n if(key === 'class') {\n src+=' class=\"'+value.list().join(\" \")+'\"';\n }else if(key === 'style') {\n src+=' style=\"';\n for(let [ name, style] of entries(value)){\n src+=name+':'+style+';';\n }\n src+='\"';\n }else if(key === 'innerHTML' || key === 'innerText') {\n ctx[key]=value.trim();\n }else {\n src+=' '+key+( value.trim() ? '=\"'+value+'\"' : '');\n }\n }\n return src;\n }\n function renderToStreamPipe(){\n \n }\n function _createInitSSRBuild_(options, props, children){\n const vNode=createSSRStreamHack( arguments, {\n type:'stream',\n render:None\n });\n if(!isVNodeClass(vNode)) {\n return undefined;\n }\n return new HouxitBuild( vNode );\n }\n function initSSRBuild(options, propsOrChildren, childrenOrProps){\n return _createInitSSRBuild_(options, propsOrChildren, childrenOrProps);\n }\n function initAsyncBuild(options, propsOrChildren, childrenOrProps){\n \n }\n function boilerPlate(){\n \n }\n function defineElementOptionsValidator(options){\n const optionsName=\"type,props,children\";\n if(!isPObject(options)){ \n debugHandler(`[ ] createVNode Error:\\n expects an 'object' at......\\n\\nparameter 1`);\n return false;\n }else if(len(options) > 3){\n debugHandler(`[ ] Options Error\\n\\n createVNode does not accept more than 3 options props arguments`);\n return false\n }else if(!options.type && !validateType(options.type, [String, Object, Function ] )){\n debugHandler(`[ ] Unexpected value passed to type in createVNode\\n\\n\"${getType(options.type)}\" is an invalid type value to type option`);\n debugHandler(`[ ] NOTE : The \"type\" option is required`);\n return false;\n }\n for(let [ name, opt ] of entries(options)){\n if(!_makeMap_(optionsName, name)) {\n debugHandler(`[ ] ${name} is not a valid createVNode options value`);\n return false;\n }else if(name === 'props' && opt && !isPObject(opt)){\n debugHandler(`[ ] Element props property expects an object value\\n\\nUnexpected \"${getType(opt)}\" value`);\n return false;\n }else if(name === 'children' && exists(opt) && !isChildrenNode(opt)){\n debugHandler(`[ ] Element children property expects a valid houxit child node instance value\\n\\nUnexpected \"${getType(opt)}\" value`);\n return false;\n }\n }\n return true;\n }\n function createVNodeClass(type, props, children){\n return new vNodeClass(...arguments);\n }\n function _createVNode_ELEMENT(options){\n if(!defineElementOptionsValidator(options)) {\n return undefined;\n }\n let { type , props , children } = options ;\n const vNode= createVNodeClass( type, props, children ) ;\n vNode.is_hyperscript=true;\n if(validHouxitWidget(type)) {\n vNode.GeneticProvider=type;\n vNode.prototype_=type;\n }\n return vNode;\n }\n function createVNode(options){\n return _createVNode_ELEMENT(options);\n }\n function TranslateWidgetPropsAndChildren(type, props, children){\n if(validHouxitWidget(type)){\n children = arrayInverter(children);\n }\n }\n const RENDER_ELEMENTS = createObj('RENDER_ELEMENTS');\n function transform_Elements_build(){\n generate_native_elements_(HTML_TAGS.split(','));\n generate_native_elements_(SVG_TAGS.split(','));\n // generate_native_elements_(HTML_DEPRECATED_TAGS.split(','));\n // generate_native_elements_(SVG_DEPRECATED_TAGS.split(','));\n generate_native_elements_(MATHML_TAGS.split(','));\n for(const [ name, widget ] of entries(BUILT_IN_WIDGETS)){\n map_registration(name, function(propsOrChildren, childrenOrProps){\n return h(widget, propsOrChildren, childrenOrProps)\n });\n }\n }\n function generate_native_elements_(el_arr){\n for(const name of el_arr.values()){\n map_registration(name, function(propsOrChildren, childrenOrProps){\n return h(name.trim(), propsOrChildren, childrenOrProps)\n });\n }\n }\n function map_registration(name, value){\n name=IS_VALID_TAGNAME(name) && name.includes('-') ? toCamelCase(name) : name.startsWith('hx:') ? ToPascalCase(name.slice(3)) :name;\n value = Function('element', `\n return function _${ name.trim() }(propsOrChildren, childrenOrProps){\n return element(...arguments)\n }\n `)(value);\n define(RENDER_ELEMENTS, name, {\n value ,\n enumerable\n });\n }\n \n console.info( devInfo ) ; //dev\n \n function perfomSpeedDiffing(start, end, diffing){\n \n }\n function _perfomanceTracker(callback){\n const startTime=traceBack();\n callback();\n const endTime=traceBack();\n return perfomSpeedDiffing(startTime, endTime, createObj('Performance', {\n h:0,\n m:0,\n s:0,\n ms:0\n }));\n }\n function resolveHooks(xhr, opts){\n \n }\n transform_Elements_build();\n _$compiler_engine_hydrator();\n\nexport {\n createVNode , Suspense , isToken , scaffold , get_version , h , shallowStream , None , useBindDriver , Else , enSlot , If , For , escapeReverseDecoder , HouxitCompilerSetup , isReactiveToken , ElseIf , trackEffectDeps , initBuild , Memo , postUpdate , initSSRBuild , log ,//dev\n readonlyStream , preMount , Portal , postDestroy , Build , Self , asyncWidget , preUpdate , shallowReadonlyStream , isShallow , useRef , Motion , HTMLParser , Provider , postMount , postBuild , useReceiver , unToken , onSlotRender , onSlotEffect , useTransmit , defineConfig , useStyleSheet , useContext , defineSlots , defineParams , useAdapter , useModel , createHouxitElement , isReadonly , preDestroy , markdown , MKDParser , validateType , Any , Arguments , mergeProps , _getNodeListResponse , tick , generateUUID , boilerPlate , Type , defineWidget , isShallowStream , onCatch ,//dev\n createEffectFrame,\n onEffect , onTracked , html , Class , readonly , escapeDecoder , resolve , observe , effectHook , generateTemplateElement , memMove , useOptions , defineSignals , Widget , len , markRaw , isRaw , validateProps , toReadonly , toShallow , shallow , validateCollection , isStream , useReadonlyBypasser , stream , token , createNativeElement , scopeEffectHook , scopeObserve , computed , read , factoryToken , isNativeElement , createWidgetElement , tokenGENERATOR , cubicBezier , RENDER_ELEMENTS , toToken , to_kebab_case , Token , ToPascalCase , toCamelCase , createTextElement , renderToString , cloneVElement , createCustomElement , _createFragment , debugHandler , //dev\n Fragment , agent , Exception , Tuple , _GenerateRoot , traceBack , version , raise ,//dev\n deepEqualityCheck , isShallowReadonly , isShallowReadonlyStream , toReadonlyStream , toShallowStream , toShallowReadonlyStream , pushEffect , HTMLPropsParser , animate , transite , PRIVATE_PROPERTY_KEY, easings , createEasing , TemplateClass , createTemplateClass , isReadonlyStream , __WUFClass__ , isComputed , useAgent }\n "],"mappings":"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"}
|