@base-framework/atoms 1.0.8 → 1.0.10

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/atoms.js CHANGED
@@ -1,2 +1,2 @@
1
- var St=Object.defineProperty,jt=(t,e,r)=>e in t?St(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,B=(t,e,r)=>(jt(t,typeof e!="symbol"?e+"":e,r),r),M=class{static toArray(t){return Array.prototype.slice.call(t)}static inArray(t,e,r){return!t||typeof t!="object"?-1:t.indexOf(e,r)}},u=class{static getType(t){let e=typeof t;return e!=="object"?e:this.isArray(t)?"array":e}static isUndefined(t){return typeof t>"u"}static isObject(t){return t&&typeof t=="object"&&this.isArray(t)===!1}static isFunction(t){return typeof t=="function"}static isString(t){return typeof t=="string"}static isArray(t){return Array.isArray(t)}},y={create(t){return Object.create(t)},extendObject(t,e){if(typeof t>"u"||typeof e>"u")return!1;for(var r in t)this.hasOwnProp(t,r)&&typeof e[r]>"u"&&(e[r]=t[r]);return e},clone(t){return t?JSON.parse(JSON.stringify(t)):{}},getClassObject(t){return typeof t=="function"?t.prototype:t},extendClass(t,e){let r=this.getClassObject(t),s=this.getClassObject(e);if(typeof r!="object"||typeof s!="object")return!1;let i=Object.create(r);for(var a in s)i[a]=s[a];return i},hasOwnProp(t,e){return Object.prototype.hasOwnProperty.call(t,e)},isPlainObject(t){return t&&Object.prototype.toString.call(t)==="[object Object]"},isEmpty(t){if(u.isObject(t)===!1)return!0;for(var e in t)if(this.hasOwnProp(t,e))return!1;return!0}},L={types:{},add(t,e){this.types[t]=e},get(t){return this.types[t]||!1},remove(t){delete this.types[t]}},At=class{constructor(){this.types=new Map}add(t,e){this.types.has(t)||this.types.set(t,[]),this.types.get(t).push(e)}get(t){return this.types.get(t)||!1}removeByCallBack(t,e){typeof t=="function"&&t(e)}removeType(t){if(!this.types.has(t))return;let e=this.types.get(t);if(!e.length)return;let r,s=L.get(t);if(s){for(var i=0,a=e.length;i<a;i++)r=e[i],r&&(e[i]=null,this.removeByCallBack(s,r));this.types.delete(t)}}remove(t){if(t){this.removeType(t);return}this.types.forEach((e,r)=>{!r||this.removeType(r)}),this.types.clear()}},f=class{static addType(t,e){L.add(t,e)}static removeType(t){L.remove(t)}static getTrackingId(t){return t.trackingId||(t.trackingId=`dt${this.trackingCount++}`)}static add(t,e,r){let s=this.getTrackingId(t);this.find(s).add(e,r)}static get(t,e){let r=t.trackingId,s=this.trackers.get(r);return s?e?s.get(e):s:!1}static find(t){return this.trackers.has(t)||this.trackers.set(t,new At),this.trackers.get(t)}static isEmpty(t){return!t||typeof t!="object"?!0:t.size===0}static remove(t,e){let r=t.trackingId;if(!r||!this.trackers.has(r))return;let s=this.trackers.get(r);if(!e){s.remove(),this.trackers.delete(r);return}s.remove(e),this.isEmpty(s.types)&&this.trackers.delete(r)}};B(f,"trackers",new Map),B(f,"trackingCount",0);var _=t=>{let e=0;for(let[r,s]of Object.entries(t))e++,typeof t[r]=="object"&&(e+=_(t[r]));return e},et=(t,e)=>{let r=!1;if(typeof t!="object"||typeof e!="object")return r;for(let[s,i]of Object.entries(t)){if(!y.hasOwnProp(e,s))break;let a=e[s];if(typeof i!=typeof a)break;if(typeof i=="object"){if(r=et(i,a),r!==!0)break}else if(i===a)r=!0;else break}return r},Ct=(t,e)=>{let r=_(t),s=_(e);return r!==s?!1:et(t,e)},Tt=(t,e)=>{let r=typeof t;return r!==typeof e?!1:r==="object"?Ct(t,e):t===e},d={getEvents(t){return u.isObject(t)===!1?[]:f.get(t,"events")},create(t,e,r,s=!1,i=!1,a=null){return i=i===!0,{event:t,obj:e,fn:r,capture:s,swapped:i,originalFn:a}},on(t,e,r,s){return Array.isArray(t)?t.forEach(i=>this.add(i,e,r,s)):this.add(t,e,r,s),this},off(t,e,r,s){if(Array.isArray(t)){var i;t.forEach(a=>this.remove(a,e,r,s))}else this.remove(t,e,r,s);return this},add(t,e,r,s=!1,i=!1,a=null){if(u.isObject(e)===!1)return this;let n=this.create(t,e,r,s,i,a);return f.add(e,"events",n),e.addEventListener(t,r,s),this},remove(t,e,r,s=!1){let i=this.getEvent(t,e,r,s);return i===!1?this:(typeof i=="object"&&this.removeEvent(i),this)},removeEvent(t){return typeof t=="object"&&t.obj.removeEventListener(t.event,t.fn,t.capture),this},getEvent(t,e,r,s){if(typeof e!="object")return!1;let i=this.getEvents(e);if(!i||i.length<1)return!1;let a=this.create(t,e,r,s);return this.search(a,i)},search(t,e){let r,s=this.isSwappable(t.event);for(var i=0,a=e.length;i<a;i++)if(r=e[i],!(r.event!==t.event||r.obj!==t.obj)&&(r.fn===t.fn||s===!0&&r.originalFn===t.fn))return r;return!1},removeEvents(t){return u.isObject(t)===!1?this:(f.remove(t,"events"),this)},swap:["DOMMouseScroll","wheel","mousewheel","mousemove","popstate"],addSwapped(t){this.swap.push(t)},isSwappable(t){return this.swap.includes(t)}};f.addType("events",t=>{d.removeEvent(t)});var Dt={events:d,addListener(t,e,r,s){return this.events.add(t,e,r,s),this},on(t,e,r,s){let i=this.events;return Array.isArray(t)?t.forEach(a=>{i.add(a,e,r,s)}):i.add(t,e,r,s),this},off(t,e,r,s){let i=this.events;return Array.isArray(t)?t.forEach(a=>{i.remove(a,e,r,s)}):i.remove(t,e,r,s),this},removeListener(t,e,r,s){return this.events.remove(t,e,r,s),this},_createEvent(t,e,r,s){let i;switch(e){case"HTMLEvents":i=new Event(t);break;case"MouseEvents":i=new MouseEvent(t,r);break;default:i=new CustomEvent(t,s);break}return i},createEvent(t,e,r,s){if(u.isObject(e)===!1)return!1;let i={pointerX:0,pointerY:0,button:0,view:window,detail:1,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,bubbles:!0,cancelable:!0,relatedTarget:null};u.isObject(r)&&(i=Object.assign(i,r));let a=this._getEventType(t);return this._createEvent(t,a,i,s)},_getEventType(t){let e={HTMLEvents:/^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,MouseEvents:/^(?:click|dblclick|mouse(?:down|up|over|move|out))$/},r="CustomEvent";for(let[s,i]of Object.entries(e))if(t.match(i)){r=s;break}return r},trigger(t,e,r){if(u.isObject(e)===!1)return this;let s=typeof t=="string"?this.createEvent(t,e,null,r):t;return e.dispatchEvent(s),this},mouseWheelEventType:null,getWheelEventType(){let t=()=>{let e="wheel";return"onmousewheel"in self?e="mousewheel":"DOMMouseScroll"in self&&(e="DOMMouseScroll"),e};return this.mouseWheelEventType||(this.mouseWheelEventType=t())},onMouseWheel(t,e,r,s=!1){typeof e>"u"&&(e=window);let i=n=>{let h=Math.max(-1,Math.min(1,-n.deltaY||n.wheelDelta||-n.detail));typeof t=="function"&&t(h,n),r===!0&&n.preventDefault()},a=this.getWheelEventType();return this.events.add(a,e,i,s,!0,t),this},offMouseWheel(t,e,r=!1){typeof e>"u"&&(e=window);let s=this.getWheelEventType();return this.off(s,e,t,r),this},preventDefault(t){return typeof t.preventDefault=="function"?t.preventDefault():t.returnValue=!1,this},stopPropagation(t){return typeof t.stopPropagation=="function"?t.stopPropagation():t.cancelBubble=!0,this}},H=class{constructor(){this.version="3.0.76",this.errors=[],this.dataTracker=f}augment(t){return u.isObject(t)?(Object.entries(t).forEach(([e,r])=>{this.constructor.prototype[e]=r}),this):this}override(t,e,r,s){return(t[e]=r).apply(t,M.toArray(s))}getLastError(){let t=this.errors;return t.length?t.pop():!1}addError(t){this.errors.push(t)}getProperty(t,e,r){if(u.isObject(t)===!1)return"";let s=t[e];return typeof s<"u"?s:typeof r<"u"?r:""}createCallBack(t,e,r=[],s=!1){return typeof e!="function"?!1:(...i)=>(s===!0&&(r=r.concat(i)),e.apply(t,r))}bind(t,e){return e.bind(t)}};H.prototype.extend=function(){return H.prototype}();var j=new H;j.augment({...y,...Dt,...u,equals:Tt});var w=class{static parseQueryString(t,e){typeof t!="string"&&(t=window.location.search);let r={},s=/([^?=&]+)(=([^&]*))?/g;return t.replace(s,function(i,a,n,h){r[a]=e!==!1?decodeURIComponent(h):h}),r}static camelCase(t){if(typeof t!="string")return"";let e=/(-|\s|_)+\w{1}/g;return t.replace(e,r=>r[1].toUpperCase())}static uncamelCase(t,e="-"){if(typeof t!="string")return"";let r=/([A-Z]{1,})/g;return t.replace(r,s=>e+s.toLowerCase()).toLowerCase()}},$={url:"",responseType:"json",method:"POST",fixedParams:"",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},beforeSend:[],async:!0,crossDomain:!1,withCredentials:!1,completed:null,failed:null,aborted:null,progress:null};j.augment({xhrSettings:$,addFixedParams(t){this.xhrSettings.fixedParams=t},beforeSend(t){this.xhrSettings.beforeSend.push(t)},ajaxSettings(t){typeof t=="object"&&(this.xhrSettings=y.extendClass(j.xhrSettings,t))},resetAjaxSettings(){this.xhrSettings=$}});var rt=(...t)=>new Et(t).xhr,Et=class{constructor(t){this.settings=null,this.xhr=null,this.setup(t)}setup(t){this.getXhrSettings(t);let e=this.xhr=this.createXHR();if(e===!1)return!1;let{method:r,url:s,async:i}=this.settings;e.open(r,s,i),this.setupHeaders(),this.addXhrEvents(),this.beforeSend(),e.send(this.getParams())}beforeSend(){let t=j.xhrSettings.beforeSend;if(t.length<1)return;let e=this.xhr,r=this.settings;for(var s=0,i=t.length;s<i;s++){var a=t[s];a&&a(e,r)}}objectToString(t){let e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r+"="+encodeURIComponent(t[r]));return e.join("&")}setupParams(t,e){let r=typeof t;if(!e)return!(t instanceof FormData)&&r==="object"&&(t=this.objectToString(t)),t;let s=typeof e;if(r==="string")return s!=="string"&&(e=this.objectToString(e)),t+=(t===""?"?":"&")+e,t;if(s==="string"&&(e=w.parseQueryString(e,!1)),t instanceof FormData)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.append(i,e[i]);else r==="object"&&(t=y.clone(t),t=Object.assign(e,t),t=this.objectToString(t));return t}getParams(){let t=this.settings,e=t.fixedParams,r=t.params;return r?r=this.setupParams(r,e):e&&(r=this.setupParams(e)),r}getXhrSettings(t){let e=this.settings=Object.create(j.xhrSettings);if(t.length>=2&&typeof t[0]!="object")for(var r=0,s=t.length;r<s;r++){var i=t[r];switch(r){case 0:e.url=i;break;case 1:e.params=i;break;case 2:e.completed=i,e.failed=i;break;case 3:e.responseType=i||"json";break;case 4:e.method=i?i.toUpperCase():"POST";break;case 5:e.async=typeof i<"u"?i:!0;break}}else e=this.settings=y.extendClass(this.settings,t[0]),typeof e.completed=="function"&&(typeof e.failed!="function"&&(e.failed=e.completed),typeof e.aborted!="function"&&(e.aborted=e.failed))}createXHR(){let t=this.settings,e=new XMLHttpRequest;return e.responseType=t.responseType,t.withCredentials===!0&&(e.withCredentials=!0),e}setupHeaders(){let t=this.settings;if(!t&&typeof t.headers!="object")return;let e=t.headers;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&this.xhr.setRequestHeader(r,e[r])}update(t,e){let r=this.xhr,s=()=>{d.removeEvents(r.upload),d.removeEvents(r)},i=this.settings;if(!i)return!1;switch(e||t.type){case"load":if(typeof i.completed=="function"){let a=this.getResponseData();i.completed(a,this.xhr)}s();break;case"error":typeof i.failed=="function"&&i.failed(!1,this.xhr),s();break;case"progress":typeof i.progress=="function"&&i.progress(t);break;case"abort":typeof i.aborted=="function"&&i.aborted(!1,this.xhr),s();break}}getResponseData(){let t=this.xhr,e=t.responseType;return!e||e==="text"?t.responseText:t.response}addXhrEvents(){if(!this.settings)return;let t=this.xhr,e=this.update.bind(this);d.on(["load","error","abort"],t,e),d.on("progress",t.upload,e)}},Ot=class{constructor(){this.connections=new Map}add(t,e,r){return this.find(t).set(e,r),r}get(t,e){let r=this.connections.get(t);return r&&r.get(e)||!1}find(t){let e=this.connections.get(t);if(e)return e;let r=new Map;return this.connections.set(t,r),r}remove(t,e){let r=this.connections.get(t);if(!r)return;let s;if(e)s=r.get(e),s&&(s.unsubscribe(),r.delete(e)),r.size===0&&this.connections.delete(t);else{for(let i of r)s=r.get(i),s&&s.unsubscribe();this.connections.delete(t)}}},st=class{constructor(){this.msg=null,this.token=null}setToken(t){this.token=t}},Pt=class extends st{constructor(t){super(),this.data=t}subscribe(t,e){this.msg=t,this.token=this.data.on(t,e)}unsubscribe(){this.data.off(this.msg,this.token)}},it=class{unsubscribe(){}},Bt=class extends it{constructor(){super(),this.source=null}addSource(t){return this.source=new Pt(t)}unsubscribe(){this.source.unsubscribe(),this.source=null}},at=class extends st{constructor(t){super(),this.pubSub=t}subscribe(t){this.msg=t;let e=this.callBack.bind(this);this.token=this.pubSub.on(t,e)}unsubscribe(){this.pubSub.off(this.msg,this.token)}callBack(){}},Mt=class extends at{constructor(t,e,r){super(r),this.data=t,this.prop=e}set(t){this.data.set(this.prop,t)}get(){return this.data.get(this.prop)}callBack(t,e){this.data!==e&&this.data.set(this.prop,t,e)}},b=class{static getById(t){return typeof t!="string"?!1:document.getElementById(t)||!1}static getByName(t){if(typeof t!="string")return!1;let e=document.getElementsByName(t);return e?M.toArray(e):!1}static getBySelector(t,e){if(typeof t!="string")return!1;if(e=e||!1,e===!0)return document.querySelector(t)||!1;let r=document.querySelectorAll(t);return r?r.length===1?r[0]:M.toArray(r):!1}static html(t,e){return u.isObject(t)===!1?!1:u.isUndefined(e)===!1?(t.innerHTML=e,this):t.innerHTML}static setCss(t,e,r){return u.isObject(t)===!1||u.isUndefined(e)?this:(e=w.uncamelCase(e),t.style[e]=r,this)}static getCss(t,e){if(!t||typeof e>"u")return!1;e=w.uncamelCase(e);let r=t.style[e];if(r!=="")return r;let s=null,i=t.currentStyle;if(i&&(s=i[e]))return s;let a=window.getComputedStyle(t,null);return a?a[e]:r}static css(t,e,r){return typeof r<"u"?(this.setCss(t,e,r),this):this.getCss(t,e)}static removeAttr(t,e){return u.isObject(t)&&t.removeAttribute(e),this}static setAttr(t,e,r){t.setAttribute(e,r)}static getAttr(t,e){return t.getAttribute(e)}static attr(t,e,r){return u.isObject(t)===!1?!1:typeof r<"u"?(this.setAttr(t,e,r),this):this.getAttr(t,e)}static _checkDataPrefix(t){return typeof t!="string"||(t=w.uncamelCase(t),t.substring(0,5)!=="data-"&&(t="data-"+t)),t}static removeDataPrefix(t){return typeof t=="string"&&t.substring(0,5)==="data-"&&(t=t.substring(5)),t}static setData(t,e,r){e=this.removeDataPrefix(e),e=w.camelCase(e),t.dataset[e]=r}static getData(t,e){return e=w.camelCase(this.removeDataPrefix(e)),t.dataset[e]}static data(t,e,r){return u.isObject(t)===!1?!1:typeof r<"u"?(this.setData(t,e,r),this):this.getData(t,e)}static find(t,e){return!t||typeof e!="string"?[]:t.querySelectorAll(e)}static show(t){if(u.isObject(t)===!1)return this;let e=this.data(t,"style-display"),r=typeof e=="string"?e:"";return this.css(t,"display",r),this}static hide(t){if(u.isObject(t)===!1)return this;let e=this.css(t,"display");return e!=="none"&&e&&this.data(t,"style-display",e),this.css(t,"display","none"),this}static toggle(t){return u.isObject(t)===!1?this:(this.css(t,"display")!=="none"?this.hide(t):this.show(t),this)}static getSize(t){return u.isObject(t)===!1?!1:{width:this.getWidth(t),height:this.getHeight(t)}}static getWidth(t){return u.isObject(t)?t.offsetWidth:!1}static getHeight(t){return u.isObject(t)?t.offsetHeight:!1}static getScrollPosition(t){let e=0,r=0;switch(typeof t){case"undefined":t=document.documentElement,e=t.scrollLeft,r=t.scrollTop;break;case"object":e=t.scrollLeft,r=t.scrollTop;break}return u.isObject(t)===!1?!1:{left:e-(t.clientLeft||0),top:r-(t.clientTop||0)}}static getScrollTop(t){return this.getScrollPosition(t).top}static getScrollLeft(t){return this.getScrollPosition(t).left}static getWindowSize(){let t=window,e=document,r=e.documentElement,s=e.getElementsByTagName("body")[0],i=t.innerWidth||r.clientWidth||s.clientWidth,a=t.innerHeight||r.clientHeight||s.clientHeight;return{width:i,height:a}}static getDocumentSize(){let t=document,e=t.body,r=t.documentElement,s=Math.max(e.scrollHeight,e.offsetHeight,r.clientHeight,r.scrollHeight,r.offsetHeight);return{width:Math.max(e.scrollWidth,e.offsetWidth,r.clientWidth,r.scrollWidth,r.offsetWidth),height:s}}static getDocumentHeight(){return this.getDocumentSize().height}static position(t,e=1){let r={x:0,y:0};if(u.isObject(t)===!1)return r;let s=0;for(;t&&(e===0||s<e);)s++,r.x+=t.offsetLeft+t.clientLeft,r.y+=t.offsetTop+t.clientTop,t=t.offsetParent;return r}static addClass(t,e){if(u.isObject(t)===!1||e==="")return this;if(typeof e=="string"){let i=e.split(" ");for(var r=0,s=i.length;r<s;r++)t.classList.add(e)}return this}static removeClass(t,e){return u.isObject(t)===!1||e===""?this:(typeof e>"u"?t.className="":t.classList.remove(e),this)}static hasClass(t,e){return u.isObject(t)===!1||e===""?!1:t.classList.contains(e)}static toggleClass(t,e){return u.isObject(t)===!1?this:(t.classList.toggle(e),this)}},Lt=(t,e,r)=>{b.setAttr(t,e,r)},_t=(t,e,r)=>{t.checked=t.value==r},Ht=(t,e,r)=>{r=r==1,nt(t,e,r)},nt=(t,e,r)=>{t[e]=r},It=(t,e)=>b.getAttr(t,e),Nt=(t,e)=>t[e],Rt=class extends at{constructor(t,e,r,s){super(s),this.element=t,this.attr=this.getAttrBind(e),this.addSetMethod(t,this.attr),this.filter=typeof r=="string"?this.setupFilter(r):r}addSetMethod(t,e){if(e.substring(4,1)==="-")return this.setValue=Lt,this.getValue=It,this;this.getValue=Nt;let r=t.type;if(r)switch(r){case"checkbox":this.setValue=Ht;return;case"radio":this.setValue=_t;return}return this.setValue=nt,this}getAttrBind(t){if(t)return t;let e="textContent",r=this.element;if(!r||typeof r!="object")return e;let s=r.tagName.toLowerCase();if(s==="input"||s==="textarea"||s==="select"){let i=r.type;if(!i)return e="value",e;switch(i){case"checkbox":e="checked";break;case"file":e="files";break;default:e="value"}}return e}setupFilter(t){let e=/(\[\[[^\]]+\]\])/;return r=>t.replace(e,r)}set(t){let e=this.element;return!e||typeof e!="object"?this:(this.filter&&(t=this.filter(t)),this.setValue(e,this.attr,t),this)}get(){let t=this.element;return!t||typeof t!="object"?"":this.getValue(t,this.attr)}callBack(t,e){return e!==this.element&&this.set(t),this}},Ut=class extends it{constructor(t){super(),this.element=null,this.data=null,this.pubSub=t}addElement(t,e,r){return this.element=new Rt(t,e,r,this.pubSub)}addData(t,e){return this.data=new Mt(t,e,this.pubSub)}unsubscribeSource(t){return t&&t.unsubscribe(),this}unsubscribe(){return this.unsubscribeSource(this.element),this.unsubscribeSource(this.data),this.element=null,this.data=null,this}},J=-1,ot=class{constructor(){this.callBacks=new Map,this.lastToken=-1}get(t){return this.callBacks.has(t)||this.callBacks.set(t,[]),this.callBacks.get(t)}reset(){this.callBacks.clear(),this.lastToken=-1,J=-1}on(t,e){let r=++J;return this.get(t).push({token:r,callBack:e}),String(r)}off(t,e){let r=this.callBacks.get(t);if(!r)return;let s=r.findIndex(i=>i.token===e);s!==-1&&r.splice(s,1)}remove(t){this.callBacks.delete(t)}publish(t,...e){let r=this.callBacks.get(t);if(r)for(let{callBack:s}of r)!s||s.apply(this,e)}},Wt=class{constructor(){this.version="1.0.1",this.attr="bindId",this.blockedKeys=[20,37,38,39,40],this.connections=new Ot,this.pubSub=new ot,this.idCount=0,this.setup()}setup(){this.setupEvents()}bind(t,e,r,s){let i=r,a=null;if(r.indexOf(":")!==-1){let p=r.split(":");p.length>1&&(i=p[1],a=p[0])}let n=this.setupConnection(t,e,i,a,s),h=n.element,c=e.get(i);return typeof c<"u"?h.set(c):(c=h.get(),c!==""&&n.data.set(c)),this}setupConnection(t,e,r,s,i){let a=this.getBindId(t),n=new Ut(this.pubSub);n.addData(e,r).subscribe(a);let h=`${e.getDataId()}:${r}`;return n.addElement(t,s,i).subscribe(h),this.addConnection(a,"bind",n),n}addConnection(t,e,r){return this.connections.add(t,e,r),this}setBindId(t){let e="db-"+this.idCount++;return t.dataset&&(t.dataset[this.attr]=e),t[this.attr]=e,e}getBindId(t){return t[this.attr]||this.setBindId(t)}unbind(t){let e=t[this.attr];return e&&this.connections.remove(e),this}watch(t,e,r,s){if(u.isObject(t)===!1)return this;let i=new Bt;i.addSource(e).subscribe(r,s);let a=this.getBindId(t),n=e.getDataId()+":"+r;this.addConnection(a,n,i);let h=e.get(r);return typeof h<"u"&&s(h),this}unwatch(t,e,r){if(u.isObject(t)===!1)return this;let s=t[this.attr];if(s){let i=e.getDataId()+":"+r;this.connections.remove(s,i)}return this}publish(t,e,r){return this.pubSub.publish(t,e,r),this}isDataBound(t){return t&&t[this.attr]||null}isBlocked(t){return t.type!=="keyup"?!1:this.blockedKeys.indexOf(t.keyCode)!==-1}bindHandler(t){if(this.isBlocked(t))return!0;let e=t.target||t.srcElement,r=this.isDataBound(e);if(r!==null){let s=this.connections.get(r,"bind");if(s){let i=s.element.get();this.pubSub.publish(r,i,e)}}t.stopPropagation()}setupEvents(){this.changeHandler=this.bindHandler.bind(this),this.addEvents()}addEvents(){d.on(["change","paste","input"],document,this.changeHandler,!1)}removeEvents(){d.off(["change","paste","input"],document,this.changeHandler,!1)}},v=new Wt,T=t=>t.data?t.data:t.context&&t.context.data?t.context.data:null,Ft={class:"className",text:"textContent",for:"htmlFor",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",celpadding:"cellPadding",useMap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},N=t=>Ft[t]||t,lt=t=>typeof t=="string"&&t.substring(0,2)==="on"?t.substring(2):t,A=class{static create(t,e,r,s){let i=document.createElement(t);return this.addAttributes(i,e),s===!0?this.prepend(r,i):this.append(r,i),i}static addAttributes(t,e){if(!e||typeof e!="object")return;let r=e.type;typeof r<"u"&&b.setAttr(t,"type",r);for(let[s,i]of Object.entries(e))s==="innerHTML"?t.innerHTML=i:s.indexOf("-")!==-1?b.setAttr(t,s,i):this.addAttr(t,s,i)}static addHtml(t,e){return typeof e>"u"||e===""?this:(/(?:<[a-z][\s\S]*>)/i.test(e)?t.innerHTML=e:t.textContent=e,this)}static addAttr(t,e,r){if(!(r===""||!e))if(typeof r=="function")e=lt(e),d.add(e,t,r);else{let s=N(e);t[s]=r}}static createDocFragment(){return document.createDocumentFragment()}static createText(t,e){let r=document.createTextNode(t);return e&&this.append(e,r),r}static createComment(t,e){let r=document.createComment(t);return e&&this.append(e,r),r}static setupSelectOptions(t,e,r){if(!u.isObject(t)||!u.isArray(e))return!1;e.forEach(s=>{let i=new Option(s.label,s.value);t.options.add(i),r!==null&&i.value==r&&(i.selected=!0)})}static removeElementData(t){let e=t.childNodes;if(e){let i=e.length-1;for(var r=i;r>=0;r--){var s=e[r];!s||this.removeElementData(s)}}f.remove(t),t.bindId&&v.unbind(t)}static removeElement(t){let e;return!t||!(e=t.parentNode)?this:(this.removeElementData(t),e.removeChild(t),this)}static removeChild(t){return this.removeElement(t),this}static removeAll(t){if(!u.isObject(t))return this;let e=t.childNodes;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&this.removeElementData(e[r]);return t.innerHTML="",this}static changeParent(t,e){return e.appendChild(t),this}static append(t,e){return t.appendChild(e),this}static prepend(t,e,r){let s=r||t.firstChild;return t.insertBefore(e,s),this}static clone(t,e=!1){return u.isObject(t)?t.cloneNode(e):!1}},S=class extends A{static create(t,e,r,s){let i=document.createElement(t);return this.addAttributes(i,e,s),r.appendChild(i),i}static addAttributes(t,e,r){!e||e.length<1||e.forEach(s=>{let{key:i,value:a}=s;this.addAttr(t,i,a,r)})}static addAttr(t,e,r,s){if(r===""||!e)return;if(e==="innerHTML"){t.innerHTML=r;return}if(typeof r=="function"){e=lt(e),d.add(e,t,function(a){r.call(this,a,s)});return}if(e.substr(4,1)==="-"){b.setAttr(t,e,r);return}let i=N(e);t[i]=r}static addContent(t,e){!e||(e.textContent!==null?t.textContent=e.textContent:e.innerHTML&&(t.innerHTML=e.innerHTML))}static append(t,e){t.appendChild(e)}},K=/(\[\[(.*?(?:\[\d+\])?)\]\])/g,E={isWatching(t){return Array.isArray(t)?typeof t[0]=="string"&&this.hasParams(t[0]):this.hasParams(t)},hasParams(t){return u.isString(t)&&t.includes("[[")},_getWatcherProps(t){let e=/\[\[(.*?)(\[\d+\])?\]\]/g,r=t.match(e);return r===null?null:(e=/(\[\[|\]\])/g,r.map(s=>s.replace(e,"")))},updateAttr(t,e,r){switch(e){case"text":case"textContent":t.textContent=r;break;default:S.addAttr(t,e,r);break}},_getWatcherCallBack(t,e,r,s,i){return()=>{let a=0,n=r.replace(K,function(){let h=i?e[a]:e;a++;let c=h.get(arguments[2]);return typeof c<"u"?c:""});this.updateAttr(t,s,n)}},getValue(t,e){typeof t=="string"&&(t={value:t});let r=t.value;return Array.isArray(r)===!1?[r,T(e)]:(r.length<2&&r.push(T(e)),r)},getPropValues(t,e,r){let s=[];for(var i=0,a=e.length;i<a;i++){var n=r?t[i]:t,h=n.get(e[i]);h=typeof h<"u"?h:"",s.push(h)}return s},getCallBack(t,e,r,s,i){let a,n=t.callBack;if(typeof n=="function"){let h=s.match(K)||[],c=h&&h.length>1;a=(p,m)=>{p=c!==!0?p:this.getPropValues(r,h,i),n(p,e,m)}}else{let h=t.attr||"textContent";a=this._getWatcherCallBack(e,r,s,h,i)}return a},addDataWatcher(t,e,r){let s=this.getValue(e,r),i=s[1];if(!i)return;let a=s[0],n=Array.isArray(i),h=this.getCallBack(e,t,i,a,n),c=this._getWatcherProps(a);for(var p=0,m=c.length;p<m;p++){var g=n?i[p]:i;this.addWatcher(t,g,c[p],h)}},setup(t,e,r){if(e){if(Array.isArray(e)){let s=[e[0],e[1]],i=e[2];typeof i=="function"?e={value:s,callBack:i}:e={attr:i,value:[e[0],e[1]]}}this.addDataWatcher(t,e,r)}},addWatcher(t,e,r,s){v.watch(t,e,r,s)}},qt=t=>typeof t!="string"?t:ht(t),ht=t=>[{tag:"text",textContent:t}],Vt=t=>{if(!t)return{props:{},children:[]};let e=t[0];return typeof e=="string"?{props:{},children:ht(e)}:Array.isArray(e)?E.isWatching(e)===!1?{props:{},children:e}:{props:{watch:e},children:[]}:{props:e||{},children:qt(t[1])}},o=t=>(...e)=>{let{props:r,children:s}=Vt(e);return t(r,s)},ct=t=>{let e={};if(!u.isObject(t))return e;let r=y.clone(t);return Object.keys(r).forEach(s=>{let i=r[s];typeof i!="function"&&(e[s]=i)}),e};function X(t,e){let r=isNaN(Number(e)),s=r?e:`[${e}]`;return t===""?s:r?`${t}.${s}`:`${t}${s}`}function ut(t,e="",r=""){return{get(s,i,a){let n=s[i];if(e===""&&i in s)return typeof n=="function"?n.bind(s):n;let h=s[r]||s;if(n=Reflect.get(h,i,a),y.isPlainObject(n)||Array.isArray(n)){let c=X(e,i);return new Proxy(n,ut(t,c,r))}return n},set(s,i,a,n){if(e===""&&i in s)return s[i]=a,!0;let h=X(e,i);return t.set(h,a),!0}}}var zt=(t,e="stage")=>new Proxy(t,ut(t,"",e)),Yt=0,R=class{constructor(t){this.dirty=!1,this.links={},this._init(),this.setup(),this.dataTypeId="bd",this.eventSub=new ot;let e=ct(t);return this.set(e),zt(this)}setup(){this.stage={}}_init(){let t=++Yt;this._dataNumber=t,this._id="dt-"+t,this._dataId=this._id+":"}getDataId(){return this._id}remove(){}on(t,e){let r=t+":change";return this.eventSub.on(r,e)}off(t,e){let r=t+":change";this.eventSub.off(r,e)}_setAttr(t,e,r=this,s=!1){let i=this.stage[t];e!==i&&(this.stage[t]=e,this._publish(t,e,r,i))}_publish(t,e,r,s){let i=t+":change";this.eventSub.publish(i,e,r),r=r||this,v.publish(this._dataId+t,e,r)}set(...t){if(typeof t[0]!="object")return this._setAttr(...t),this;let[e,r,s]=t;return Object.entries(e).forEach(([i,a])=>{typeof a!="function"&&this._setAttr(i,a,r,s)}),this}getModelData(){return this.stage}_deleteAttr(t,e){delete t[e]}toggle(t){if(!(typeof t>"u"))return this.set(t,!this.get(t)),this}increment(t){if(typeof t>"u")return;let e=this.get(t);return this.set(t,++e),this}decrement(t){if(typeof t>"u")return;let e=this.get(t);return this.set(t,--e),this}concat(t,e){if(typeof t>"u")return;let r=this.get(t);return this.set(t,r+e),this}ifNull(t,e){return this.get(t)===null&&this.set(t,e),this}setKey(t){return this.key=t,this}resume(t){let e=this.key;if(!e)return this;let r,s=localStorage.getItem(e);return s===null?t&&(r=t):r=JSON.parse(s),r?(this.set(r),this):this}store(){let t=this.key;if(!t)return!1;let e=this.get();if(!e)return!1;let r=JSON.stringify(e);return localStorage.setItem(t,r),!0}delete(t){if(typeof t<"u"){this._deleteAttr(this.stage,t);return}this.setup()}_getAttr(t,e){return t[e]}get(t){return typeof t<"u"?this._getAttr(this.stage,t):this.getModelData()}link(t,e,r){if(arguments.length===1&&t.isData===!0&&(e=t.get()),typeof e!="object")return this.remoteLink(t,e,r);let s=[];return Object.entries(e).forEach(([i])=>{s.push(this.remoteLink(t,i))}),s}remoteLink(t,e,r){let s=r||e,i=t.get(e);typeof i<"u"&&this.get(e)!==i&&this.set(e,i);let a=t.on(e,(h,c)=>{if(c===this)return!1;this.set(s,h,t)});this.addLink(a,t);let n=this.on(s,(h,c)=>{if(c===t)return!1;t.set(e,h,this)});return t.addLink(n,this),a}addLink(t,e){this.links[t]=e}unlink(t){if(t){this.removeLink(t);return}let e=this.links;y.isEmpty(e)||(Object.entries(e).forEach(([r,s])=>{this.removeLink(s,!1)}),this.links={})}removeLink(t,e=!0){let r=this.links[t];r&&r.off(t),e!==!1&&delete this.links[t]}};R.prototype.isData=!0;var k={deepDataPattern:/(\w+)|(?:\[(\d)\))/g,hasDeepData(t){return t.indexOf(".")!==-1||t.indexOf("[")!==-1},getSegments(t){let e=this.deepDataPattern;return t.match(e)}},U=class extends R{setup(){this.attributes={},this.stage={}}_updateAttr(t,e,r){if(!k.hasDeepData(e)){t[e]=r;return}let s,i=k.getSegments(e),a=i.length,n=a-1;for(var h=0;h<a;h++){if(s=i[h],h===n){t[s]=r;break}t[s]===void 0&&(t[s]=isNaN(s)?{}:[]),t=t[s]}}_setAttr(t,e,r,s){typeof e!="object"&&e===this.get(t)||(!r&&s!==!0?this._updateAttr(this.attributes,t,e):this.dirty===!1&&(this.dirty=!0),this._updateAttr(this.stage,t,e),r=r||this,this._publish(t,e,r))}linkAttr(t,e){let r=t.get(e);if(r)for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&this.link(t,e+"."+s,s)}scope(t,e){let r=this.get(t);if(!r)return!1;e=e||this.constructor;let s=new e(r);return s.linkAttr(this,t),s}splice(t,e){return this.delete(t+"["+e+"]"),this.refresh(t),this}push(t,e){let r=this.get(t);return Array.isArray(r)===!1&&(r=[]),r.push(e),this.set(t,r),this}unshift(t,e){let r=this.get(t);return Array.isArray(r)===!1&&(r=[]),r.unshift(e),this.set(t,r),this}shift(t){let e=this.get(t);if(Array.isArray(e)===!1)return null;let r=e.shift();return this.set(t,e),r}pop(t){let e=this.get(t);if(Array.isArray(e)===!1)return null;let r=e.pop();return this.set(t,e),r}refresh(t){return this.set(t,this.get(t)),this}_publish(t,e,r){this.publish(t,e,r)}publishDeep(t,e,r){if(!k.hasDeepData(t)){this.publish(t,e,r);return}let s,i=k.getSegments(t),a=i.length,n=a-1,h="",c=this.stage;for(var p=0;p<a;p++){s=i[p],c=c[s],p>0?isNaN(s)&&(h+="."+s):h=s;var m;if(p===n)m=e;else{var g=i[p+1];if(isNaN(g)===!1){h+="["+g+"]";continue}var P={};P[g]=c[g],m=P}this.publish(h,m,r)}}publish(t,e,r){if(t=t||"",this._publishAttr(t,e,r),!e||typeof e!="object")return;let s,i;if(Array.isArray(e)){let h=e.length;for(var a=0;a<h;a++)i=e[a],s=t+"["+a+"]",this._checkPublish(s,i,r)}else for(var n in e)!Object.prototype.hasOwnProperty.call(e,n)||(i=e[n],s=t+"."+n,this._checkPublish(s,i,r))}_checkPublish(t,e,r){!e||typeof e!="object"?this._publishAttr(t,e,r):this.publish(t,e,r)}_publishAttr(t,e,r){v.publish(this._dataId+t,e,r);let s=t+":change";this.eventSub.publish(s,e,r)}mergeStage(){this.attributes=y.clone(this.stage),this.dirty=!1}getModelData(){return this.mergeStage(),this.attributes}revert(){this.set(this.attributes),this.dirty=!1}_deleteAttr(t,e){k.hasDeepData(e)||delete t[e];let r=k.getSegments(e),s=r.length,i=s-1;for(var a=0;a<s;a++){var n=r[a],h=t[n];if(h===void 0)break;if(a===i){if(Array.isArray(t)){t.splice(n,1);break}delete t[n];break}t=h}}_getAttr(t,e){if(!k.hasDeepData(e))return t[e];let r=k.getSegments(e),s=r.length,i=s-1;for(var a=0;a<s;a++){var n=r[a],h=t[n];if(h===void 0)break;if(t=h,a===i)return t}}},$t={"\n":"\\n","\r":"\\n"," ":"\\t"},Jt=(t,e)=>{typeof t!="string"&&(t=String(t));let r=e?/[\n\r\t]/g:/\t/g;return t.replace(r,s=>$t[s])},G=(t,e)=>{if(typeof t!="string")return t;t=Jt(t,e),t=encodeURIComponent(t);let r=/%22/g;return t.replace(r,'"')},pt=(t,e)=>{let r=typeof t;return r==="undefined"?t:r!=="object"?(t=G(t),t):(Object.entries(t).forEach(([s,i])=>{i!==null&&(t[s]=typeof i=="string"?pt(i,e):G(i,e))}),t)};function Kt(t){return typeof t<"u"&&t.length>0?JSON.parse(t):!1}function dt(t){return typeof t<"u"?JSON.stringify(t):null}var ft=class{static prepareJsonUrl(t,e=!1){let r=typeof t=="object"?y.clone(t):t,s=pt(r,e);return dt(s)}static xmlParse(t){return typeof t>"u"?!1:new DOMParser().parseFromString(t,"text/xml")}};B(ft,"json",{encode:dt,decode:Kt});var Xt=class{constructor(t){this.model=t,this.objectType=this.objectType||"item",this.url="",this.validateCallBack=null,this.init()}init(){let t=this.model;t&&t.url&&(this.url=t.url)}isValid(){let t=this.validate();if(t!==!1){let e=this.validateCallBack;typeof e=="function"&&e(t)}return t}validate(){return!0}getDefaultParams(){return""}setupParams(t){let e=this.getDefaultParams();return t=this.addParams(t,e),t}objectToString(t){let e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r+"="+t[r]);return e.join("&")}addParams(t,e){if(t=t||{},typeof t=="string"&&(t=w.parseQueryString(t,!1)),!e)return this._isFormData(t)?t:this.objectToString(t);if(typeof e=="string"&&(e=w.parseQueryString(e,!1)),this._isFormData(t))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.append(r,e[r]);else t=Object.assign(t,e),t=this.objectToString(t);return t}get(t,e){let r=this.model.get("id"),s="op=get&id="+r,i=this.model;return this._get("",s,t,e,a=>{if(a){let n=this.getObject(a);n&&i.set(n)}})}getObject(t){return t[this.objectType]||t||!1}setupObjectData(){let t=this.model.get();return this.objectType+"="+ft.prepareJsonUrl(t)}setup(t,e){if(!this.isValid())return!1;let r="op=setup&"+this.setupObjectData();return this._put("",r,t,e)}add(t,e){if(!this.isValid())return!1;let r="op=add&"+this.setupObjectData();return this._post("",r,t,e)}update(t,e){if(!this.isValid())return!1;let r="op=update&"+this.setupObjectData();return this._patch("",r,t,e)}delete(t,e){let r=this.model.get("id"),s="op=delete&id="+r;return this._delete("",s,t,e)}all(t,e,r,s,i){i=i||"",r=isNaN(r)?0:r,s=isNaN(s)?50:s;let a="op=all&option="+i+"&start="+r+"&stop="+s;return this._get("",a,t,e)}getUrl(t){let e=this.url;return t?t[0]==="?"?e+t:e+="/"+t:e}setupRequest(t,e,r,s,i){let a={url:this.getUrl(t),method:e,params:r,completed:(n,h)=>{typeof i=="function"&&i(n),this.getResponse(n,s,h)}};return this._isFormData(r)&&(a.headers={}),rt(a)}_isFormData(t){return t instanceof FormData}request(t,e,r,s){return this._request("","POST",t,e,r,s)}_get(t,e,r,s,i){return e=this.setupParams(e),e=this.addParams(e,r),t=t||"",e&&(t+="?"+e),this.setupRequest(t,"GET","",s,i)}_post(t,e,r,s,i){return this._request(t,"POST",e,r,s,i)}_put(t,e,r,s,i){return this._request(t,"PUT",e,r,s,i)}_patch(t,e,r,s,i){return this._request(t,"PATCH",e,r,s,i)}_delete(t,e,r,s,i){return this._request(t,"DELETE",e,r,s,i)}_request(t,e,r,s,i,a){return r=this.setupParams(r),r=this.addParams(r,s),this.setupRequest(t,e,r,i,a)}getResponse(t,e,r){typeof e=="function"&&e(t,r)}static extend(t){if(!t)return!1;let e=this;class r extends e{constructor(i){super(i)}}return Object.assign(r.prototype,t),r}},Gt=t=>{let e={};if(!u.isObject(t)||!t.defaults)return e;let{defaults:r}=t;return Object.keys(r).forEach(s=>{let i=r[s];typeof i!="function"&&(e[s]=i)}),delete t.defaults,e},Qt=t=>{if(!t||typeof t.xhr!="object")return{};let e={...t.xhr};return delete t.xhr,e},Zt=0,gt=class extends U{constructor(t){let e=super(t);return this.initialize(),e}setup(){this.attributes={},this.stage={},this.xhr=null}initialize(){}static extend(t={}){let e=this,r=Qt(t),s=this.prototype.service.extend(r),i=Gt(t);class a extends e{constructor(h){let c={...i,...ct(h)};super(c),this.xhr=new s(this)}dataTypeId=`bm${Zt++}`}return Object.assign(a.prototype,t),a.prototype.service=s,a}};gt.prototype.service=Xt;var W=class extends R{_publish(t,e,r,s){let i=t+":change";this.eventSub.publish(i,e,r),r=r||this,v.publish(this._dataId+t,e,r)}},te=class extends W{constructor(t){super(),this.id=t}setup(){this.stage={},this.id=null}addAction(t,e){typeof e<"u"&&this.set(t,e)}getState(t){return this.get(t)}removeAction(t,e){if(e){this.off(t,e);return}let r=this.stage;typeof r[t]<"u"&&delete r[t]}},C=class{static restore(t,e){this.targets.set(t,e)}static getTarget(t){return this.targets.has(t)||this.targets.set(t,new te(t)),this.targets.get(t)}static getActionState(t,e){return this.getTarget(t).get(e)}static add(t,e,r){let s=this.getTarget(t);return e&&s.addAction(e,r),s}static addAction(t,e,r){return this.add(t,e,r)}static removeAction(t,e,r){this.off(t,e,r)}static on(t,e,r){let s=this.getTarget(t);return e?s.on(e,r):null}static off(t,e,r){this.remove(t,e,r)}static remove(t,e,r){let s=this.targets,i=s.get(t);if(i){if(e){i.off(e,r);return}this.targets.delete(t)}}static set(t,e,r){this.getTarget(t).set(e,r)}};B(C,"targets",new Map);var ee=class{constructor(){this.events=[]}addEvents(t){t.length<1||t.forEach(e=>{this.on(...e)})}on(t,e,r,s){d.on(t,e,r,s),this.events.push({event:t,obj:e,callBack:r,capture:s})}off(t,e,r,s){d.off(t,e,r,s);let i,a=this.events;for(var n=0,h=a.length;n<h;n++)if(i=a[n],i.event===t&&i.obj===e){a.splice(n,1);break}}set(){this.events.forEach(t=>{d.on(t.event,t.obj,t.callBack,t.capture)})}unset(){this.events.forEach(t=>{d.off(t.event,t.obj,t.callBack,t.capture)})}reset(){this.unset(),this.events=[]}},re=class{constructor(t,e){this.remoteStates=[];let r=this.convertStates(e);this.addStatesToTarget(t,r)}addStates(t,e){let r=this.convertStates(e);this.addStatesToTarget(t,r)}createState(t,e,r,s){return{action:t,state:e,callBack:r,targetId:s,token:null}}convertStates(t){let e=[];for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(r==="remotes"){this.setupRemoteStates(t[r],e);continue}var s=null,i=null,a=t[r];a&&typeof a=="object"&&(i=a.callBack,s=a.id||a.targetId,a=a.state),e.push(this.createState(r,a,i,s))}return e}setupRemoteStates(t,e){let r;for(var s=0,i=t.length;s<i;s++)if(r=t[s],!!r){for(var a in r)if(!(!Object.prototype.hasOwnProperty.call(r,a)||a==="id")){var n=null,h=r[a],c=h!==null?h:void 0;c&&typeof c=="object"&&(n=c.callBack,c=c.state),e.push(this.createState(a,c,n,r.id))}}}removeRemoteStates(){let t=this.remoteStates;t&&this.removeActions(t)}removeActions(t){if(!(t.length<1))for(var e=0,r=t.length;e<r;e++){var s=t[e];C.remove(s.targetId,s.action,s.token)}}restore(t){C.restore(t.id);let e=this.remoteStates;if(e)for(var r=0,s=e.length;r<s;r++){var i=e[r];i.token=this.bindRemoteState(t,i.action,i.targetId)}}bindRemoteState(t,e,r){let s=C.getTarget(r);return t.link(s,e)}addStatesToTarget(t,e){let r=this.remoteStates;for(var s=0,i=e.length;s<i;s++){var a=e[s],n=this.addAction(t,a);a.targetId&&(a.token=n,r.push(a))}r.length<1&&(this.remoteStates=null)}addAction(t,e){let r,s=e.action,i=e.targetId;i&&(r=this.bindRemoteState(t,s,i)),typeof e.state<"u"&&t.addAction(s,e.state);let a=e.callBack;return typeof a=="function"&&t.on(s,a),r}},se=t=>typeof t!="string"?t:yt(t),yt=t=>[{tag:"text",textContent:t}],ie=t=>{if(!t)return{props:{},children:[]};let e=t[0];return typeof e=="string"?{props:{},children:yt(e)}:Array.isArray(e)?{props:{},children:e}:{props:e||{},children:se(t[1])}};f.addType("components",t=>{if(!t)return;let e=t.component;e&&e.rendered===!0&&e.prepareDestroy()});var ae=0,bt=class{constructor(...t){this.isUnit=!0,this.data=null,this.persist=!1,this.children=null,this.nest=null,this.state=null,this.panel=null,this.parent=null,this.init();let{props:e,children:r}=ie(t);this.setupProps(e),this.children??=r,this.onCreated(),this.rendered=!1,this.container=null}init(){this.id="cp-"+ae++}setupProps(t){if(!(!t||typeof t!="object"))for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(this[e]=t[e])}getParentContext(){return this.parent?this.parent.getContext():null}setupContext(){let t=this.getParentContext(),e=this.setContext(t);if(e){this.context=e;return}this.context=t,this.setupAddingContext()}setupAddingContext(){let t=this.context,e=this.addContext(t);if(!e)return;let r=e[0];!r||(this.addingContext=!0,this.contextBranchName=r,this.addContextBranch(r,e[1]))}addContextBranch(t,e){this.context??={},this.context[t]=e}setContext(t){return null}addContext(t){return null}removeContext(){!this.addingContext||this.removeContextBranch(this.contextBranchName)}removeContextBranch(t){!t||delete this.context[t]}getContext(){return this.context}onCreated(){}render(){return{}}_cacheRoot(t){return t&&(t.id||(t.id=this.getId()),t.cache="panel",t)}_createLayout(){return this.persist?this._layout||(this._layout=this.render()):this.render()}prepareLayout(){let t=this._createLayout();return this._cacheRoot(t)}afterBuild(){f.add(this.panel,"components",{component:this}),this.rendered=!0,this.afterLayout()}afterLayout(){this.afterSetup()}if(t,e){return t?e||t:null}map(t,e){let r=[];if(!t||t.length<1)return r;for(var s=0,i=t.length;s<i;s++){let a=e(t[s],s);r.push(a)}return r}removeAll(t){return A.removeAll(t)}getId(t){let e=this.id;return typeof t=="string"&&(e+="-"+t),e}initialize(){this.setupContext(),this.beforeSetup()}beforeSetup(){}afterSetup(){}setup(t){this.container=t,this.initialize()}remove(){this.prepareDestroy(),this.removeContext();let t=this.panel||this.id;A.removeElement(t)}prepareDestroy(){this.rendered=!1,this.beforeDestroy()}beforeDestroy(){}destroy(){this.remove()}},mt=class extends bt{constructor(...t){super(...t),this.isComponent=!0,this.stateTargetId=null}initialize(){this.setupContext(),this.addStates(),this.beforeSetup()}afterLayout(){this.addEvents(),this.afterSetup()}setupStateTarget(t){let e=t||this.stateTargetId||this.id;this.state=C.getTarget(e)}setupStates(){return{}}addStates(){let t=this.state;if(t){this.stateHelper.restore(t);return}let e=this.setupStates();y.isEmpty(e)||(this.setupStateTarget(),this.stateHelper=new re(this.state,e))}removeStates(){let t=this.state;!t||(this.stateHelper.removeRemoteStates(),t.remove())}setupEventHelper(){this.events||(this.events=new ee)}setupEvents(){return[]}addEvents(){let t=this.setupEvents();t.length<1||(this.setupEventHelper(),this.events.addEvents(t))}removeEvents(){let t=this.events;t&&t.reset()}prepareDestroy(){this.rendered=!1,this.beforeDestroy(),this.removeEvents(),this.removeStates(),this.removeContext(),this.data&&this.persist===!1&&this.data.unlink()}},ne={created:"onCreated",state:"setupStates",events:"setupEvents",before:"beforeSetup",render:"render",after:"afterSetup",destroy:"beforeDestroy"},oe=t=>typeof t=="function"?t:()=>t,le=t=>{let e={};return t&&Object.entries(t).forEach(([r,s])=>{let i=ne[r]||r;e[i]=oe(s)}),e},Q=(t,e)=>{class r extends t{}return Object.assign(r.prototype,e),r},F=t=>{if(!t)return null;let e,r=typeof t;return r==="object"&&t.render?(e=le(t),Q(mt,e)):(e={render:r==="function"?t:()=>t},Q(bt,e))};var he=(t,e)=>({name:t,callBack:e}),I={keys:[],items:{},add(t,e){return this.keys.push(t),this.items[t]=he(t,e),this},get(t){return this.items[t]||null},all(){return this.keys}},Z=(t,e)=>({attr:t,directive:e}),D=(t,e)=>({key:t,value:e}),ce=(t,e,r,s)=>({tag:t,attr:e,directives:r,children:s}),vt=class{static getTag(t){return t.tag||"div"}static setupChildren(t){t.nest&&(t.children=t.nest,delete t.nest)}static setElementContent(t,e,r,s){return t==="text"?(s.push({tag:"text",textContent:e}),!0):t==="html"||t==="innerHTML"?(r.push(D("innerHTML",e)),!0):!1}static setTextAsWatcher(t,e,r){let s={attr:N(e),value:r};t.push(Z(D(e,s),I.get("watch")))}static setButtonType(t,e,r){if(t==="button"){let s=e.type||"button";r.push(D("type",s))}}static parse(t,e){let r=[],s=[],i=this.getTag(t);this.setButtonType(i,t,r),this.setupChildren(t);let a=[];var n,h;for(var c in t){if(!y.hasOwnProp(t,c)||c==="tag"||(n=t[c],n==null))continue;if((h=I.get(c))!==null){s.push(Z(D(c,n),h));continue}let p=typeof n;if(p==="object"){if(c==="children"){a=a.concat(n);continue}if(E.isWatching(n)){this.setTextAsWatcher(s,c,n);continue}a.push(n);continue}if(p==="function"){let m=n;n=function(g){m.call(this,g,e)}}if(E.isWatching(n)){this.setTextAsWatcher(s,c,n);continue}this.setElementContent(c,n,r,a)||r.push(D(c,n))}return ce(i,r,s,a)}},xt=class{createNode(t,e,r){}},ue=class extends xt{createNode(t,e,r){let s=t.tag;if(s==="text"){let i=t.attr[0],a=i?i.value:"";return S.createText(a,e)}else if(s==="comment"){let i=t.attr[0],a=i?i.value:"";return S.createComment(a,e)}return S.create(s,t.attr,e,r)}},pe=class extends xt{createNode(t,e,r){let s=t.tag;if(s==="text"){let i=t.attr[0],a=i?i.value:""}else if(s==="comment"){let i=t.attr[0],a=i?i.value:""}}},de=class{static browserIsSupported(){return window}static setup(){return this.browserIsSupported()?new ue:new pe}},fe=de.setup(),x=class{static render(t,e,r){if(!t)return null;if(typeof t=="object"&&t.isUnit===!0)return this.createComponent(t,e,r),t;let s=F(t),i=new s;return this.createComponent(i,e,r),i}static build(t,e,r){let s=S.createDocFragment();return(Array.isArray(t)?t:[t]).forEach(i=>this.buildElement(i,s,r)),e&&typeof e=="object"&&e.appendChild(s),s}static rebuild(t,e,r){return S.removeAll(e),this.build(t,e,r)}static buildElement(t,e,r){if(t){if(t.isUnit===!0){this.createComponent(t,e,r);return}this.createElement(t,e,r)}}static createElement(t,e,r){let s=vt.parse(t,r),i=this.createNode(s,e,r);this.cache(i,t.cache,r),s.children.forEach(n=>{n!==null&&this.buildElement(n,i,r)});let a=s.directives;a&&a.length&&this.setDirectives(i,a,r)}static setDirectives(t,e,r){e.forEach(s=>{this.handleDirective(t,s,r)})}static handleDirective(t,e,r){e.directive.callBack(t,e.attr.value,r)}static cache(t,e,r){r&&e&&(r[e]=t)}static createComponent(t,e,r){let s=t;s.parent=r,r&&r.persist===!0&&s.persist!==!1&&(s.persist=!0),s.cache&&r&&(r[s.cache]=s),s.setup(e);let i=s.prepareLayout();this.build(i,s.container,s),s.afterBuild(),t.component&&typeof t.onCreated=="function"&&t.onCreated(s)}static createNode(t,e,r){return fe.createNode(t,e,r)}};j.augment({buildLayout(t,e,r){x.build(t,e,r)}});var q=[],ge=t=>q.indexOf(t)!==-1,ye=t=>({tag:"script",src:t.src,async:!1,load(e){q.push(t.src);let r=t.load;r&&r()}}),be=t=>({tag:"link",rel:"stylesheet",type:"text/css",href:t.src,load(e){q.push(t.src);let r=t.load;r&&r()}}),me=class{constructor(t){this.percent=0,this.loaded=0,this.total=0,this.callBack=t||null}add(t){this.total++;let e,r=this.update.bind(this);t.indexOf(".css")!==-1?e=be({load:r,src:t}):e=ye({load:r,src:t}),x.build(e,document.head)}addFiles(t){!t||t.forEach(e=>{ge(e)||this.add(e)})}update(){if(this.updateProgress()<100)return;let t=this.callBack;t&&t()}updateProgress(){return++this.loaded,this.percent=Math.floor(this.loaded/this.total*100)}},ve=(t,e)=>{import(t).then(r=>{e&&e(r)})},xe=t=>t?typeof t?.prototype?.constructor=="function":!1,ke=(t,e,r)=>{let s=x.build(t,null,r),i=s.firstChild;return e.after(s),i},we=t=>({tag:"comment",textContent:"import placeholder",onCreated:t.onCreated}),Se=F({render(){return we({onCreated:t=>{if(this.src){if(this.depends){new me(()=>{this.loadAndRender(t)}).addFiles(this.depends);return}this.loadAndRender(t)}}})},getLayout(t){let e=t.default;if(!e)return null;let r=this.callBack;return r?e=r(e):xe(e)?(e=new e,e.route=this.route,this.persist&&(e.persist=!0)):e=e(),this.layout=e},loadAndRender(t){ve(this.src,e=>{this.loaded=!0;let r=this.layout||this.getLayout(e);this.layoutRoot=ke(r,t,this.parent)})},shouldUpdate(t){return this.updateLayout===!0?!0:this.updateLayout=t&&t.isUnit&&typeof t.update=="function"},updateModuleLayout(t){let e=this.layout;this.shouldUpdate(e)&&e.update(t)},update(t){this.loaded===!0&&this.updateModuleLayout(t)},beforeDestroy(){!this.layoutRoot||A.removeElement(this.layoutRoot)}}),je=t=>new Se(t),V=(t,e,r,s)=>{let i,a,n;if(Array.isArray(r[0])){r.forEach(h=>{!h||V(t,e,h,s)});return}if(r.length<3?[i,a]=r:[e,i,a]=r,!(!e||!i)){switch(typeof a){case"object":n=h=>{Te(t,a,h)};break;case"function":n=h=>{Ae(t,a,i,h,s)};break}v.watch(t,e,i,n)}},Ae=(t,e,r,s,i)=>{let a=e(s,t,i);switch(typeof a){case"object":if(i&&a&&a.isUnit===!0&&i.persist===!0&&i.state){let n=r+":"+s,h=i.state,c=h.get(n);typeof c<"u"&&(a=c),h.set(n,a)}Ce(a,t,i);break;case"string":A.addHtml(t,a);break}},Ce=(t,e,r)=>{x.rebuild(t,e,r)},Te=(t,e,r)=>{for(let[s,i]of Object.entries(e))!s||(i===r?b.addClass(t,s):b.removeClass(t,s))},kt=(t,e,r)=>{let s=T(r);V(t,s,e,r)},De=(t,e,r)=>{!e||e&&b.setAttr(t,"role",e)},Ee=t=>(e,r)=>{let s=r?"true":"false";b.setAttr(e,t,s)},Oe=(t,e,r)=>{if(!e)return;let s=e.role;s&&(b.setAttr(t,"role",s),e.role=null),Object.entries(e).forEach(([i,a])=>{if(a===null)return;let n=`aria-${i}`;Array.isArray(a)?(a.push(Ee(n)),kt(t,a,r)):b.setAttr(t,n,a)})};f.addType("context",t=>{if(!t)return!1;t.parent.removeContextBranch(t.branch)});var z=t=>t?t.getContext():null,Pe=(t,e,r)=>{if(typeof e!="function")return;let s=z(r),i=e(s);if(!i)return;let a=vt.parse(i,r);S.addAttributes(t,a.attr,r),x.setDirectives(t,a.directives,r)},Be=(t,e,r)=>{if(typeof e!="function")return;let s=z(r);e(s)},Me=(t,e,r)=>{if(typeof e!="function"||!r)return;let s=z(r),i=e(s);!i||r.addContextBranch(i[0],i[1])},Le=(t,e,r)=>{},_e=(t,e,r)=>{!e||!r||e(r,t)},He=(t,e,r)=>{!e||!r||e(r.data,t)},Ie=(t,e,r)=>{!e||!r||e(r.state,t)},Ne=(t,e,r)=>{if(!(!e||!r)&&r.stateHelper){let s=r.state,i=e(s);r.stateHelper.addStates(i)}},Re=(t,e,r)=>{let s,i,a;if(typeof e=="string"){if(s=T(r),!s)return;i=e}else if(Array.isArray(e)){if(typeof e[0]!="object"){let n=T(r);if(!n)return;e.unshift(n)}[s,i,a]=e}v.bind(t,s,i,a)},Ue=(t,e,r)=>{let s,i,a,n;if(e.length<3){let c=T(r);if(!c)return;s=c,[i,a,n]=e}else[s,i,a,n]=e;let h=n!==!1;v.watch(t,s,i,c=>{if(A.removeAll(t),!c||c.length<1)return;let p=[];return c.forEach((m,g)=>{let P=h?s.scope(i+"["+g+"]"):null,Y=a(c[g],g,P);Y!==null&&p.push(Y)}),x.build(p,t,r)})},We=(t,e,r)=>{let s=e[0];if(!s||s.length<1)return;let i=e[1],a=[];s.forEach((n,h)=>{if(!n)return;let c=i(n,h);c!==null&&a.push(c)}),x.build(a,t,r)},Fe=(t,e,r)=>{e(t)};f.addType("destroyed",t=>{if(!t)return!1;t.callBack(t.ele)});var qe=(t,e,r)=>{Ve(t,e)},Ve=(t,e)=>{f.add(t,"destroyed",{ele:t,callBack:e})},ze=(t,e,r)=>{V(t,r.state,e,r)},Ye=(t,e,r)=>{if(e)if(Array.isArray(e)&&typeof e[0]!="string")for(var s=0,i=e.length;s<i;s++)E.setup(t,e[s],r);else E.setup(t,e,r)},$e=0,wt=class{constructor(t){this.router=t,this.locationId="base-app-router-"+$e++,this.callBack=this.check.bind(this)}setup(){return this.addEvent(),this}check(t){}addEvent(){return this}},Je=class extends wt{addEvent(){return d.on("popstate",window,this.callBack),this}removeEvent(){return d.off("popstate",window,this.callBack),this}check(t){let e=t.state;if(!e||e.location!==this.locationId)return!1;t.preventDefault(),t.stopPropagation(),this.router.checkActiveRoutes(e.uri)}createState(t,e={}){return{location:this.locationId,...e,uri:t}}addState(t,e,r=!1){let s=window.history,i=s.state;if(i&&i.uri===t)return this;let a=this.createState(t,e);return s[r===!1?"pushState":"replaceState"](a,null,t),this}},Ke=class extends wt{addEvent(){return d.on("hashchange",window,this.callBack),this}removeEvent(){return d.off("hashchange",window,this.callBack),this}check(t){this.router.checkActiveRoutes(t.newURL)}addState(t,e,r){return window.location.hash=t,this}},Xe=class{static browserIsSupported(){return"history"in window&&"pushState"in window.history}static setup(t){return this.browserIsSupported()?new Je(t).setup():new Ke(t).setup()}},Ge=class{constructor(t,e){this.route=t,this.template=e.component,this.component=null,this.hasTemplate=!1,this.setup=!1,this.container=e.container,this.persist=e.persist,this.parent=e.parent,this.setupTemplate()}focus(t){this.setup===!1&&this.create(),this.update(t)}setupTemplate(){let t=this.template;if(typeof t=="string"&&(t=this.template=window[t],!t))return;let e=typeof t;e==="function"?this.initializeComponent():e==="object"&&this.initializeTemplateObject(),this.hasTemplate=!0}initializeComponent(){this.component=new this.template({route:this.route,persist:this.persist,parent:this.parent})}initializeTemplateObject(){this.template.isUnit||(this.template=F(this.template));let t=this.template;this.persist=t.persist!==!1,Object.assign(t,{route:this.route,persist:this.persist,parent:this.parent}),this.component=t}create(){if(!this.hasTemplate)return;this.setup=!0;let t=this.component;(!this.persist||!t)&&(t=this.component=this.template),x.render(t,this.container,this.parent)}remove(){if(this.setup!==!0)return;this.setup=!1;let t=this.component;!t||(typeof t.destroy=="function"&&t.destroy(),this.persist===!1&&(this.component=null))}update(t){let e=this.component;!e||typeof e.update=="function"&&e.update(t)}},Qe=t=>{if(!t.length)return null;let e={};return t.forEach(r=>{e[r]=null}),e},Ze=t=>{let e=[];if(!t)return e;let r=/[*?]/g;t=t.replace(r,"");let s=/:(.[^./?&($]+)\?*/g,i=t.match(s);return i===null||i.forEach(a=>{a&&(a=a.replace(":",""),e.push(a))}),e},tr=t=>t.replace(/\//g,"/"),er=t=>t.replace(/(\/):[^/(]*?\?/g,e=>e.replace(/\//g,"(?:$|/)")),rr=t=>(t=t.replace(/(\?\/+\*?)/g,"?/*"),t.replace(/(:[^/?&($]+)/g,e=>e.indexOf(".")<0?"([^/|?]+)":"([^/|?]+.*)")),sr=t=>t.replace(/(\*)/g,".*"),ir=(t,e)=>t+=e[e.length-1]==="*"?"":"$",ar=t=>{if(!t)return"";let e=tr(t);return e=er(e),e=rr(e),e=sr(e),e=ir(e,t),e},nr=0,or=class extends W{constructor(t,e){let r=t.baseUri,s=Ze(r),i=Qe(s),a=super(i);return this.uri=r,this.paramKeys=s,this.titleCallBack=e,this.setupRoute(t),this.set("active",!1),a}setup(){this.stage={},this.id=null,this.uri=null,this.uriQuery=null,this.controller=null,this.paramKeys=null,this.titleCallBack=null,this.path=null,this.referralPath=null,this.params=null,this.callBack=null,this.title=null}setupRoute(t){this.id=t.id||"bs-rte-"+nr++,this.path=null,this.referralPath=null;let e=ar(this.uri);this.uriQuery=new RegExp("^"+e),this.params=null,this.setupComponentHelper(t),this.callBack=t.callBack,this.title=t.title}setTitle(t){this.titleCallBack(this,t)}deactivate(){this.set("active",!1);let t=this.controller;t&&t.remove()}getLayout(t){if(t.component)return t.component;let e=t.import;return e?(typeof e=="string"&&(e={src:e}),je(e)):null}setupComponentHelper(t){let e=this.getLayout(t);if(!e)return;let{container:r,persist:s=!1,parent:i}=t,a={component:e,container:r,persist:s,parent:i};this.controller=new Ge(this,a)}resume(t){let e=this.controller;e&&(e.container=t)}setPath(t,e){this.path=t,this.referralPath=e}select(){this.set("active",!0);let t=this.stage,e=this.callBack;typeof e=="function"&&e(t);let r=this.controller;r&&r.focus(t);let s=this.path;if(!s)return;let i=s.split("#")[1];!i||this.scrollToId(i)}scrollToId(t){if(!t)return;let e=document.getElementById(t);!e||e.scrollIntoView(!0)}match(t){let e=!1,r=t.match(this.uriQuery);return r===null?(this.resetParams(),e):(Array.isArray(r)&&(r.shift(),e=r,this.setParams(r)),e)}resetParams(){this.stage={}}setParams(t){if(!Array.isArray(t))return;let e=this.paramKeys;if(!e)return;let r={};e.forEach((s,i)=>{typeof s<"u"&&(r[s]=t[i])}),this.set(r)}getParams(){return this.stage}},lr=t=>{let e=/\w\S*/;return t.replace(e,r=>r.charAt(0).toUpperCase()+r.substring(1).toLowerCase())},hr=(t,e)=>{if(t.indexOf(":")===-1)return t;let r=e.stage;for(let[s,i]of Object.entries(r)){let a=new RegExp(":"+s,"gi");t=t.replace(a,i)}return t},cr=(t,e,r)=>e&&(typeof e=="function"&&(e=e(t.stage)),e=hr(e,t),e=lr(e),r!==""&&(e+=" - "+r),e),ur={removeSlashes(t){return typeof t!="string"?"":(t.substring(0,1)==="/"&&(t=t.substring(1)),t.substring(-1)==="/"&&(t=t.substring(0,t.length-1)),t)}};f.addType("routes",t=>{if(!t)return!1;let e=t.route;e&&O.removeRoute(e)});f.addType("switch",t=>{if(!t)return!1;let e=t.id;O.removeSwitch(e)});var pr=class{constructor(){this.version="1.0.2",this.baseURI="/",this.title="",this.lastPath=null,this.path=null,this.history=null,this.callBackLink=null,this.location=window.location,this.routes=[],this.switches={},this.switchCount=0,this.data=new U({path:""})}setupHistory(){this.history=Xe.setup(this)}createRoute(t){let e=t.uri||"*";return t.baseUri=this.createURI(e),new or(t,this.updateTitle.bind(this))}add(t){if(typeof t!="object"){let r=arguments;t={uri:r[0],component:r[1],callBack:r[2],title:r[3],id:r[4],container:r[5]}}let e=this.createRoute(t);return this.addRoute(e),e}addRoute(t){this.routes.push(t),this.checkRoute(t,this.getPath())}resume(t,e){t.resume(e),this.addRoute(t)}getBasePath(){if(!this.basePath){let t=this.baseURI||"";t[t.length-1]!=="/"&&(t+="/"),this.basePath=t}return this.basePath}createURI(t){return this.getBasePath()+ur.removeSlashes(t)}getRoute(t){let e=this.routes,r=e.length;if(r>0)for(var s=0;s<r;s++){var i=e[s];if(i.uri===t)return i}return!1}getRouteById(t){let e=this.routes,r=e.length;if(r>0)for(var s=0;s<r;s++){var i=e[s];if(i.id===t)return i}return!1}removeRoute(t){let e=this.routes,r=e.indexOf(t);r>-1&&e.splice(r,1)}addSwitch(t){let e=this.switchCount++,r=this.getSwitchGroup(e);return t.forEach(s=>{let i=this.createRoute(s);r.push(i)}),this.checkGroup(r,this.getPath()),e}resumeSwitch(t,e){let r=this.switchCount++,s=this.getSwitchGroup(r);return t.forEach(i=>{let a=i.component.route;a.resume(e),s.push(a)}),this.checkGroup(s,this.getPath()),r}getSwitchGroup(t){return this.switches[t]=[]}removeSwitch(t){let e=this.switches;e[t]&&delete e[t]}remove(t){t=this.createURI(t);let e=this.getRoute(t);return e!==!1&&this.removeRoute(e),this}setup(t,e){this.baseURI=t||"/",this.updateBaseTag(this.baseURI),this.title=typeof e<"u"?e:"",this.setupHistory(),this.data.path=this.getPath(),this.callBackLink=this.checkLink.bind(this),d.on("click",document,this.callBackLink);let r=this.getEndPoint();return this.navigate(r,null,!0),this}updateBaseTag(t){let e=document.getElementsByTagName("base");e.length&&(e[0].href=t)}getParentLink(t){let e=t.parentNode;for(;e!==null;){if(e.nodeName.toLowerCase()==="a")return e;e=e.parentNode}return!1}checkLink(t){if(t.ctrlKey===!0)return!0;let e=t.target||t.srcElement;if(e.nodeName.toLowerCase()!=="a"&&(e=this.getParentLink(e),e===!1)||e.target==="_blank"||b.data(e,"cancel-route"))return!0;let r=e.getAttribute("href");if(typeof r<"u"){let s=this.baseURI,i=s!=="/"?r.replace(s,""):r;return this.navigate(i),t.preventDefault(),t.stopPropagation(),!1}}reset(){return this.routes=[],this.switches=[],this.switchCount=0,this}activate(){return this.checkActiveRoutes(),this}navigate(t,e,r){return t=this.createURI(t),this.history.addState(t,e,r),this.activate(),this}updatePath(){let t=this.getPath();this.data.path=t}updateTitle(t){if(!t||!t.title)return this;let e=t.title;document.title=cr(t,e,this.title)}checkActiveRoutes(t){this.lastPath=this.path,t=t||this.getPath(),this.path=t;let e=this.routes,r=e.length,s;for(var i=0;i<r;i++)s=e[i],!(typeof s>"u")&&this.checkRoute(s,t);this.checkSwitches(t),this.updatePath()}checkSwitches(t){let e=this.switches;for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var s=e[r];this.checkGroup(s,t)}}checkGroup(t,e){let r=!1,s,i,a,n,h=!1;for(var c=0,p=t.length;c<p;c++)if(s=t[c],!(typeof s>"u")){if(c===0&&(i=s),!a&&s.get("active")&&(a=s),r!==!1){h&&s.deactivate();continue}r=s.match(e),r!==!1&&(n=s,s.controller&&(this.select(s),h=!0))}if(n===void 0){this.select(i),a&&i!==a&&a.deactivate();return}a?h&&n!==a&&a.deactivate():i&&h===!1&&this.select(i)}checkRoute(t,e){let r=this.check(t,e);return r!==!1?this.select(t):t.deactivate(),r}check(t,e){return t?(e=e||this.getPath(),t.match(e)!==!1):!1}select(t){!t||(t.setPath(this.path,this.lastPath),t.select(),this.updateTitle(t))}getEndPoint(){return this.getPath().replace(this.baseURI,"")||"/"}destroy(){d.off("click",document,this.callBackLink)}getPath(){let t=this.location,e=this.path=t.pathname;return this.history.type==="hash"?t.hash.replace("#",""):e+t.search+t.hash}},O=new pr,dr=(t,e,r)=>{!e||(Array.isArray(e)?e.forEach(s=>{tt(t,s,r)}):tt(t,e,r))},tt=(t,e,r)=>{e.container=t,e.parent=r;let s=O.add(e);fr(t,s)},fr=(t,e)=>{f.add(t,"routes",{route:e})},gr=(t,e,r)=>{let s=e[0];e.forEach(a=>{a.container=t,a.parent=r});let i=O.addSwitch(e);yr(t,i)},yr=(t,e)=>{f.add(t,"switch",{id:e})};I.add("cache",Le).add("onCreated",Fe).add("onDestroyed",qe).add("bind",Re).add("onSet",kt).add("onState",ze).add("watch",Ye).add("useParent",_e).add("useData",He).add("useState",Ie).add("addState",Ne).add("map",We).add("for",Ue).add("useContext",Be).add("addContext",Me).add("context",Pe).add("role",De).add("aria",Oe).add("route",dr).add("switch",gr);j.augment({Ajax:rt,Html:A,dataBinder:v,Data:U,SimpleData:W,Model:gt,State:C,Builder:x,router:O,Component:mt});var l=(t,e)=>({...t,children:e}),fs=t=>({...t,tag:"DOCTYPE"}),gs=o((t,e)=>l({...t,tag:"html"},e)),ys=o((t,e)=>l({...t,tag:"script"},e)),bs=o((t,e)=>l({...t,tag:"style"},e)),ms=o((t,e)=>l({...t,tag:"head"},e)),vs=t=>({...t}),xs=t=>({...t,tag:"meta"}),ks=o((t,e)=>l({...t,tag:"body"},e)),ws=o((t,e)=>l(t,e)),Ss=o((t,e)=>l({...t,tag:"dialog"},e)),js=o((t,e)=>l({...t,tag:"span"},e)),As=o((t,e)=>l({...t,tag:"p"},e)),Cs=o((t,e)=>l({...t,tag:"a"},e)),br=o((t,e)=>l({...t,tag:"button"},e)),Ts=o((t,e)=>br({...t,type:"submit"},e)),Ds=o((t,e)=>l({...t,tag:"ul"},e)),Es=o((t,e)=>l({...t,tag:"li"},e)),Os=o(t=>l({...t,tag:"img"},null)),Ps=o(t=>l({...t,tag:"br"},null)),Bs=o(t=>l({...t,tag:"hr"},null)),Ms=o((t,e)=>l({...t,tag:"text"},e)),Ls=o((t,e)=>l({...t,tag:"h1"},e)),_s=o((t,e)=>l({...t,tag:"h2"},e)),Hs=o((t,e)=>l({...t,tag:"h3"},e)),Is=o((t,e)=>l({...t,tag:"h4"},e)),Ns=o((t,e)=>l({...t,tag:"h5"},e)),Rs=o((t,e)=>l({...t,tag:"h6"},e)),mr=o(t=>l({...t,tag:"input"},null)),Us=o((t,e)=>l({...t,tag:"label"},e)),Ws=o(t=>mr({...t,type:"checkbox"})),Fs=o((t,e)=>l({...t,tag:"section"},e)),qs=o((t,e)=>l({...t,tag:"article"},e)),Vs=o((t,e)=>l({...t,tag:"header"},e)),zs=o((t,e)=>l({...t,tag:"footer"},e)),Ys=o((t,e)=>l({...t,tag:"nav"},e)),$s=o((t,e)=>l({...t,tag:"aside"},e)),Js=o((t,e)=>l({...t,tag:"figure"},e)),Ks=o((t,e)=>l({...t,tag:"figcaption"},e)),Xs=o((t,e)=>l({...t,tag:"main"},e)),Gs=o((t,e)=>l({...t,tag:"video"},e)),Qs=o((t,e)=>l({...t,tag:"audio"},e)),Zs=o((t,e)=>l({...t,tag:"table"},e)),ti=o((t,e)=>l({...t,tag:"tr"},e)),ei=o((t,e)=>l({...t,tag:"th"},e)),ri=o((t,e)=>l({...t,tag:"td"},e)),si=o((t,e)=>l({...t,tag:"thead"},e)),ii=o((t,e)=>l({...t,tag:"tbody"},e)),ai=o((t,e)=>l({...t,tag:"tfoot"},e)),ni=o((t,e)=>l({...t,tag:"form"},e)),oi=o((t,e)=>l({...t,tag:"select"},e)),li=o((t,e)=>l({...t,tag:"option"},e)),hi=o((t,e)=>l({...t,tag:"textarea"},e)),ci=o((t,e)=>l({...t,tag:"canvas"},e)),ui=o((t,e)=>l({...t,tag:"progress"},e)),pi=o((t,e)=>l({...t,tag:"blockquote"},e)),di=o((t,e)=>l({...t,tag:"pre"},e)),fi=o((t,e)=>l({...t,tag:"code"},e)),gi=o((t,e)=>l({...t,tag:"ol"},e)),yi=o((t,e)=>l({...t,tag:"dl"},e)),bi=o((t,e)=>l({...t,tag:"dt"},e)),mi=o((t,e)=>l({...t,tag:"dd"},e)),vi=o((t,e)=>l({...t,tag:"fieldset"},e)),xi=o((t,e)=>l({...t,tag:"legend"},e)),ki=o((t,e)=>l({...t,tag:"meter"},e)),wi=o((t,e)=>l({...t,tag:"iframe"},e)),Si=o((t,e)=>l({...t,tag:"details"},e)),ji=o((t,e)=>l({...t,tag:"summary"},e)),Ai=o((t,e)=>l({...t,tag:"em"},e)),Ci=o((t,e)=>l({...t,tag:"strong"},e)),Ti=o((t,e)=>l({...t,tag:"small"},e)),Di=o((t,e)=>l({...t,tag:"s"},e)),Ei=o((t,e)=>l({...t,tag:"cite"},e)),Oi=o((t,e)=>l({...t,tag:"q"},e)),Pi=o((t,e)=>l({...t,tag:"dfn"},e)),Bi=o((t,e)=>l({...t,tag:"abbr"},e)),Mi=o((t,e)=>l({...t,tag:"data"},e)),Li=o((t,e)=>l({...t,tag:"time"},e)),_i=o((t,e)=>l({...t,tag:"var"},e)),Hi=o((t,e)=>l({...t,tag:"samp"},e)),Ii=o((t,e)=>l({...t,tag:"kbd"},e)),Ni=o((t,e)=>l({...t,tag:"sub"},e)),Ri=o((t,e)=>l({...t,tag:"sup"},e)),Ui=o((t,e)=>l({...t,tag:"i"},e)),Wi=o((t,e)=>l({...t,tag:"b"},e)),Fi=o((t,e)=>l({...t,tag:"u"},e)),qi=o((t,e)=>l({...t,tag:"mark"},e)),Vi=o((t,e)=>l({...t,tag:"ruby"},e)),zi=o((t,e)=>l({...t,tag:"rt"},e)),Yi=o((t,e)=>l({...t,tag:"rp"},e)),$i=o((t,e)=>l({...t,tag:"bdi"},e)),Ji=o((t,e)=>l({...t,tag:"bdo"},e)),Ki=o(t=>l({...t,tag:"wbr"},null));export{Cs as A,Bi as Abbr,qs as Article,$s as Aside,Qs as Audio,Wi as B,$i as Bdi,Ji as Bdo,pi as Blockquote,ks as Body,Ps as Br,br as Button,ci as Canvas,Ws as Checkbox,Ei as Cite,fi as Code,Mi as Data,mi as Dd,Si as Details,Pi as Dfn,Ss as Dialog,ws as Div,yi as Dl,fs as Doctype,bi as Dt,Ai as Em,vi as Fieldset,Ks as Figcaption,Js as Figure,zs as Footer,ni as Form,Ls as H1,_s as H2,Hs as H3,Is as H4,Ns as H5,Rs as H6,ms as Head,Vs as Header,Bs as Hr,gs as Html,Ui as I,wi as Iframe,Os as Img,mr as Input,Ii as Kbd,Us as Label,xi as Legend,Es as Li,Xs as Main,qi as Mark,xs as Meta,ki as Meter,Ys as Nav,gi as Ol,li as Option,As as P,di as Pre,ui as Progress,Oi as Q,Yi as Rp,zi as Rt,Vi as Ruby,Di as S,Hi as Samp,ys as Script,Fs as Section,oi as Select,Ti as Small,js as Span,Ci as Strong,bs as Style,Ni as Sub,Ts as SubmitButton,ji as Summary,Ri as Sup,Zs as Table,ii as Tbody,ri as Td,Ms as Text,hi as Textarea,ai as Tfoot,ei as Th,si as Thead,Li as Time,vs as Title,ti as Tr,Fi as U,Ds as Ul,_i as Var,Gs as Video,Ki as Wbr};
1
+ var Pt=Object.defineProperty,Bt=(t,e,r)=>e in t?Pt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,H=(t,e,r)=>(Bt(t,typeof e!="symbol"?e+"":e,r),r),_=class{static toArray(t){return Array.prototype.slice.call(t)}static inArray(t,e,r){return!t||typeof t!="object"?-1:t.indexOf(e,r)}},u=class{static getType(t){let e=typeof t;return e!=="object"?e:this.isArray(t)?"array":e}static isUndefined(t){return typeof t>"u"}static isObject(t){return t&&typeof t=="object"&&this.isArray(t)===!1}static isFunction(t){return typeof t=="function"}static isString(t){return typeof t=="string"}static isArray(t){return Array.isArray(t)}},b={create(t){return Object.create(t)},extendObject(t,e){if(typeof t>"u"||typeof e>"u")return!1;for(var r in t)this.hasOwnProp(t,r)&&typeof e[r]>"u"&&(e[r]=t[r]);return e},clone(t){return t?JSON.parse(JSON.stringify(t)):{}},getClassObject(t){return typeof t=="function"?t.prototype:t},extendClass(t,e){let r=this.getClassObject(t),s=this.getClassObject(e);if(typeof r!="object"||typeof s!="object")return!1;let i=Object.create(r);for(var a in s)i[a]=s[a];return i},hasOwnProp(t,e){return Object.prototype.hasOwnProperty.call(t,e)},isPlainObject(t){return t&&Object.prototype.toString.call(t)==="[object Object]"},isEmpty(t){if(u.isObject(t)===!1)return!0;for(var e in t)if(this.hasOwnProp(t,e))return!1;return!0}},U={types:{},add(t,e){this.types[t]=e},get(t){return this.types[t]||!1},remove(t){delete this.types[t]}},Mt=class{constructor(){this.types=new Map}add(t,e){this.types.has(t)||this.types.set(t,[]),this.types.get(t).push(e)}get(t){return this.types.get(t)||!1}removeByCallBack(t,e){typeof t=="function"&&t(e)}removeType(t){if(!this.types.has(t))return;let e=this.types.get(t);if(!e.length)return;let r,s=U.get(t);if(s){for(var i=0,a=e.length;i<a;i++)r=e[i],r&&(e[i]=null,this.removeByCallBack(s,r));this.types.delete(t)}}remove(t){if(t){this.removeType(t);return}this.types.forEach((e,r)=>{!r||this.removeType(r)}),this.types.clear()}},f=class{static addType(t,e){U.add(t,e)}static removeType(t){U.remove(t)}static getTrackingId(t){return t.trackingId||(t.trackingId=`dt${this.trackingCount++}`)}static add(t,e,r){let s=this.getTrackingId(t);this.find(s).add(e,r)}static get(t,e){let r=t.trackingId,s=this.trackers.get(r);return s?e?s.get(e):s:!1}static find(t){return this.trackers.has(t)||this.trackers.set(t,new Mt),this.trackers.get(t)}static isEmpty(t){return!t||typeof t!="object"?!0:t.size===0}static remove(t,e){let r=t.trackingId;if(!r||!this.trackers.has(r))return;let s=this.trackers.get(r);if(!e){s.remove(),this.trackers.delete(r);return}s.remove(e),this.isEmpty(s.types)&&this.trackers.delete(r)}};H(f,"trackers",new Map),H(f,"trackingCount",0);var W=t=>{let e=0;for(let[r,s]of Object.entries(t))e++,typeof t[r]=="object"&&(e+=W(t[r]));return e},ut=(t,e)=>{let r=!1;if(typeof t!="object"||typeof e!="object")return r;for(let[s,i]of Object.entries(t)){if(!b.hasOwnProp(e,s))break;let a=e[s];if(typeof i!=typeof a)break;if(typeof i=="object"){if(r=ut(i,a),r!==!0)break}else if(i===a)r=!0;else break}return r},Lt=(t,e)=>{let r=W(t),s=W(e);return r!==s?!1:ut(t,e)},Ht=(t,e)=>{let r=typeof t;return r!==typeof e?!1:r==="object"?Lt(t,e):t===e},d={getEvents(t){return u.isObject(t)===!1?[]:f.get(t,"events")},create(t,e,r,s=!1,i=!1,a=null){return i=i===!0,{event:t,obj:e,fn:r,capture:s,swapped:i,originalFn:a}},on(t,e,r,s){return Array.isArray(t)?t.forEach(i=>this.add(i,e,r,s)):this.add(t,e,r,s),this},off(t,e,r,s){if(Array.isArray(t)){var i;t.forEach(a=>this.remove(a,e,r,s))}else this.remove(t,e,r,s);return this},add(t,e,r,s=!1,i=!1,a=null){if(u.isObject(e)===!1)return this;let n=this.create(t,e,r,s,i,a);return f.add(e,"events",n),e.addEventListener(t,r,s),this},remove(t,e,r,s=!1){let i=this.getEvent(t,e,r,s);return i===!1?this:(typeof i=="object"&&this.removeEvent(i),this)},removeEvent(t){return typeof t=="object"&&t.obj.removeEventListener(t.event,t.fn,t.capture),this},getEvent(t,e,r,s){if(typeof e!="object")return!1;let i=this.getEvents(e);if(!i||i.length<1)return!1;let a=this.create(t,e,r,s);return this.search(a,i)},search(t,e){let r,s=this.isSwappable(t.event);for(var i=0,a=e.length;i<a;i++)if(r=e[i],!(r.event!==t.event||r.obj!==t.obj)&&(r.fn===t.fn||s===!0&&r.originalFn===t.fn))return r;return!1},removeEvents(t){return u.isObject(t)===!1?this:(f.remove(t,"events"),this)},swap:["DOMMouseScroll","wheel","mousewheel","mousemove","popstate"],addSwapped(t){this.swap.push(t)},isSwappable(t){return this.swap.includes(t)}};f.addType("events",t=>{d.removeEvent(t)});var Nt={events:d,addListener(t,e,r,s){return this.events.add(t,e,r,s),this},on(t,e,r,s){let i=this.events;return Array.isArray(t)?t.forEach(a=>{i.add(a,e,r,s)}):i.add(t,e,r,s),this},off(t,e,r,s){let i=this.events;return Array.isArray(t)?t.forEach(a=>{i.remove(a,e,r,s)}):i.remove(t,e,r,s),this},removeListener(t,e,r,s){return this.events.remove(t,e,r,s),this},_createEvent(t,e,r,s){let i;switch(e){case"HTMLEvents":i=new Event(t);break;case"MouseEvents":i=new MouseEvent(t,r);break;default:i=new CustomEvent(t,s);break}return i},createEvent(t,e,r,s){if(u.isObject(e)===!1)return!1;let i={pointerX:0,pointerY:0,button:0,view:window,detail:1,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,bubbles:!0,cancelable:!0,relatedTarget:null};u.isObject(r)&&(i=Object.assign(i,r));let a=this._getEventType(t);return this._createEvent(t,a,i,s)},_getEventType(t){let e={HTMLEvents:/^(?:load|unload|abort|error|select|change|submit|reset|focus|blur|resize|scroll)$/,MouseEvents:/^(?:click|dblclick|mouse(?:down|up|over|move|out))$/},r="CustomEvent";for(let[s,i]of Object.entries(e))if(t.match(i)){r=s;break}return r},trigger(t,e,r){if(u.isObject(e)===!1)return this;let s=typeof t=="string"?this.createEvent(t,e,null,r):t;return e.dispatchEvent(s),this},mouseWheelEventType:null,getWheelEventType(){let t=()=>{let e="wheel";return"onmousewheel"in self?e="mousewheel":"DOMMouseScroll"in self&&(e="DOMMouseScroll"),e};return this.mouseWheelEventType||(this.mouseWheelEventType=t())},onMouseWheel(t,e,r,s=!1){typeof e>"u"&&(e=window);let i=n=>{let h=Math.max(-1,Math.min(1,-n.deltaY||n.wheelDelta||-n.detail));typeof t=="function"&&t(h,n),r===!0&&n.preventDefault()},a=this.getWheelEventType();return this.events.add(a,e,i,s,!0,t),this},offMouseWheel(t,e,r=!1){typeof e>"u"&&(e=window);let s=this.getWheelEventType();return this.off(s,e,t,r),this},preventDefault(t){return typeof t.preventDefault=="function"?t.preventDefault():t.returnValue=!1,this},stopPropagation(t){return typeof t.stopPropagation=="function"?t.stopPropagation():t.cancelBubble=!0,this}},F=class{constructor(){this.version="3.0.89",this.errors=[],this.dataTracker=f}augment(t){return u.isObject(t)?(Object.entries(t).forEach(([e,r])=>{this.constructor.prototype[e]=r}),this):this}override(t,e,r,s){return(t[e]=r).apply(t,_.toArray(s))}getLastError(){let t=this.errors;return t.length?t.pop():!1}addError(t){this.errors.push(t)}getProperty(t,e,r){if(u.isObject(t)===!1)return"";let s=t[e];return typeof s<"u"?s:typeof r<"u"?r:""}createCallBack(t,e,r=[],s=!1){return typeof e!="function"?!1:(...i)=>(s===!0&&(r=r.concat(i)),e.apply(t,r))}bind(t,e){return e.bind(t)}};F.prototype.extend=function(){return F.prototype}();var j=new F;j.augment({...b,...Nt,...u,equals:Ht});var I=t=>{if(typeof t!="string")return"";let e=1e3;return t.substring(0,e)},k=class{static parseQueryString(t,e){typeof t!="string"&&(t=window.location.search),t=I(t);let r={},s=/([^?=&]+)(=([^&]*))?/g;return t.replace(s,function(i,a,n,h){r[a]=e!==!1?decodeURIComponent(h):h}),r}static camelCase(t){t=I(t);let e=/(-|\s|_)+\w{1}/g;return t.replace(e,r=>r[1].toUpperCase())}static uncamelCase(t,e="-"){t=I(t);let r=/([A-Z]{1,})/g;return t.replace(r,s=>e+s.toLowerCase()).toLowerCase()}},tt={url:"",responseType:"json",method:"POST",fixedParams:"",headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"},beforeSend:[],async:!0,crossDomain:!1,withCredentials:!1,completed:null,failed:null,aborted:null,progress:null};j.augment({xhrSettings:tt,addFixedParams(t){this.xhrSettings.fixedParams=t},beforeSend(t){this.xhrSettings.beforeSend.push(t)},ajaxSettings(t){typeof t=="object"&&(this.xhrSettings=b.extendClass(j.xhrSettings,t))},resetAjaxSettings(){this.xhrSettings=tt}});var pt=(...t)=>new It(t).xhr,It=class{constructor(t){this.settings=null,this.xhr=null,this.setup(t)}setup(t){this.getXhrSettings(t);let e=this.xhr=this.createXHR();if(e===!1)return!1;let{method:r,url:s,async:i}=this.settings;e.open(r,s,i),this.setupHeaders(),this.addXhrEvents(),this.beforeSend(),e.send(this.getParams())}beforeSend(){let t=j.xhrSettings.beforeSend;if(t.length<1)return;let e=this.xhr,r=this.settings;for(var s=0,i=t.length;s<i;s++){var a=t[s];a&&a(e,r)}}objectToString(t){let e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r+"="+encodeURIComponent(t[r]));return e.join("&")}setupParams(t,e){let r=typeof t;if(!e)return!(t instanceof FormData)&&r==="object"&&(t=this.objectToString(t)),t;let s=typeof e;if(r==="string")return s!=="string"&&(e=this.objectToString(e)),t+=(t===""?"?":"&")+e,t;if(s==="string"&&(e=k.parseQueryString(e,!1)),t instanceof FormData)for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.append(i,e[i]);else r==="object"&&(t=b.clone(t),t=Object.assign(e,t),t=this.objectToString(t));return t}getParams(){let t=this.settings,e=t.fixedParams,r=t.params;return r?r=this.setupParams(r,e):e&&(r=this.setupParams(e)),r}getXhrSettings(t){let e=this.settings=Object.create(j.xhrSettings);if(t.length>=2&&typeof t[0]!="object")for(var r=0,s=t.length;r<s;r++){var i=t[r];switch(r){case 0:e.url=i;break;case 1:e.params=i;break;case 2:e.completed=i,e.failed=i;break;case 3:e.responseType=i||"json";break;case 4:e.method=i?i.toUpperCase():"POST";break;case 5:e.async=typeof i<"u"?i:!0;break}}else e=this.settings=b.extendClass(this.settings,t[0]),typeof e.completed=="function"&&(typeof e.failed!="function"&&(e.failed=e.completed),typeof e.aborted!="function"&&(e.aborted=e.failed))}createXHR(){let t=this.settings,e=new XMLHttpRequest;return e.responseType=t.responseType,t.withCredentials===!0&&(e.withCredentials=!0),e}setupHeaders(){let t=this.settings;if(!t&&typeof t.headers!="object")return;let e=t.headers;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&this.xhr.setRequestHeader(r,e[r])}update(t,e){let r=this.xhr,s=()=>{d.removeEvents(r.upload),d.removeEvents(r)},i=this.settings;if(!i)return!1;switch(e||t.type){case"load":if(typeof i.completed=="function"){let a=this.getResponseData();i.completed(a,this.xhr)}s();break;case"error":typeof i.failed=="function"&&i.failed(!1,this.xhr),s();break;case"progress":typeof i.progress=="function"&&i.progress(t);break;case"abort":typeof i.aborted=="function"&&i.aborted(!1,this.xhr),s();break}}getResponseData(){let t=this.xhr,e=t.responseType;return!e||e==="text"?t.responseText:t.response}addXhrEvents(){if(!this.settings)return;let t=this.xhr,e=this.update.bind(this);d.on(["load","error","abort"],t,e),d.on("progress",t.upload,e)}},Rt=class{constructor(){this.connections=new Map}add(t,e,r){return this.find(t).set(e,r),r}get(t,e){let r=this.connections.get(t);return r&&r.get(e)||!1}find(t){let e=this.connections.get(t);if(e)return e;let r=new Map;return this.connections.set(t,r),r}remove(t,e){let r=this.connections.get(t);if(!r)return;let s;if(e)s=r.get(e),s&&(s.unsubscribe(),r.delete(e)),r.size===0&&this.connections.delete(t);else{for(let i of r)s=r.get(i),s&&s.unsubscribe();this.connections.delete(t)}}},dt=class{constructor(){this.msg=null,this.token=null}setToken(t){this.token=t}},_t=class extends dt{constructor(t){super(),this.data=t}subscribe(t,e){this.msg=t,this.token=this.data.on(t,e)}unsubscribe(){this.data.off(this.msg,this.token)}},ft=class{unsubscribe(){}},Ut=class extends ft{constructor(){super(),this.source=null}addSource(t){return this.source=new _t(t)}unsubscribe(){this.source.unsubscribe(),this.source=null}},gt=class extends dt{constructor(t){super(),this.pubSub=t}subscribe(t){this.msg=t;let e=this.callBack.bind(this);this.token=this.pubSub.on(t,e)}unsubscribe(){this.pubSub.off(this.msg,this.token)}callBack(){}},Wt=class extends gt{constructor(t,e,r){super(r),this.data=t,this.prop=e}set(t){this.data.set(this.prop,t)}get(){return this.data.get(this.prop)}callBack(t,e){this.data!==e&&this.data.set(this.prop,t,e)}},m=class{static getById(t){return typeof t!="string"?!1:document.getElementById(t)||!1}static getByName(t){if(typeof t!="string")return!1;let e=document.getElementsByName(t);return e?_.toArray(e):!1}static getBySelector(t,e){if(typeof t!="string")return!1;if(e=e||!1,e===!0)return document.querySelector(t)||!1;let r=document.querySelectorAll(t);return r?r.length===1?r[0]:_.toArray(r):!1}static html(t,e){return u.isObject(t)===!1?!1:u.isUndefined(e)===!1?(t.innerHTML=e,this):t.innerHTML}static setCss(t,e,r){return u.isObject(t)===!1||u.isUndefined(e)?this:(e=k.uncamelCase(e),t.style[e]=r,this)}static getCss(t,e){if(!t||typeof e>"u")return!1;e=k.uncamelCase(e);let r=t.style[e];if(r!=="")return r;let s=null,i=t.currentStyle;if(i&&(s=i[e]))return s;let a=window.getComputedStyle(t,null);return a?a[e]:r}static css(t,e,r){return typeof r<"u"?(this.setCss(t,e,r),this):this.getCss(t,e)}static removeAttr(t,e){return u.isObject(t)&&t.removeAttribute(e),this}static setAttr(t,e,r){t.setAttribute(e,r)}static getAttr(t,e){return t.getAttribute(e)}static attr(t,e,r){return u.isObject(t)===!1?!1:typeof r<"u"?(this.setAttr(t,e,r),this):this.getAttr(t,e)}static _checkDataPrefix(t){return typeof t!="string"||(t=k.uncamelCase(t),t.substring(0,5)!=="data-"&&(t="data-"+t)),t}static removeDataPrefix(t){return typeof t=="string"&&t.substring(0,5)==="data-"&&(t=t.substring(5)),t}static setData(t,e,r){e=this.removeDataPrefix(e),e=k.camelCase(e),t.dataset[e]=r}static getData(t,e){return e=k.camelCase(this.removeDataPrefix(e)),t.dataset[e]}static data(t,e,r){return u.isObject(t)===!1?!1:typeof r<"u"?(this.setData(t,e,r),this):this.getData(t,e)}static find(t,e){return!t||typeof e!="string"?[]:t.querySelectorAll(e)}static show(t){if(u.isObject(t)===!1)return this;let e=this.data(t,"style-display"),r=typeof e=="string"?e:"";return this.css(t,"display",r),this}static hide(t){if(u.isObject(t)===!1)return this;let e=this.css(t,"display");return e!=="none"&&e&&this.data(t,"style-display",e),this.css(t,"display","none"),this}static toggle(t){return u.isObject(t)===!1?this:(this.css(t,"display")!=="none"?this.hide(t):this.show(t),this)}static getSize(t){return u.isObject(t)===!1?!1:{width:this.getWidth(t),height:this.getHeight(t)}}static getWidth(t){return u.isObject(t)?t.offsetWidth:!1}static getHeight(t){return u.isObject(t)?t.offsetHeight:!1}static getScrollPosition(t){let e=0,r=0;switch(typeof t){case"undefined":t=document.documentElement,e=t.scrollLeft,r=t.scrollTop;break;case"object":e=t.scrollLeft,r=t.scrollTop;break}return u.isObject(t)===!1?!1:{left:e-(t.clientLeft||0),top:r-(t.clientTop||0)}}static getScrollTop(t){return this.getScrollPosition(t).top}static getScrollLeft(t){return this.getScrollPosition(t).left}static getWindowSize(){let t=window,e=document,r=e.documentElement,s=e.getElementsByTagName("body")[0],i=t.innerWidth||r.clientWidth||s.clientWidth,a=t.innerHeight||r.clientHeight||s.clientHeight;return{width:i,height:a}}static getDocumentSize(){let t=document,e=t.body,r=t.documentElement,s=Math.max(e.scrollHeight,e.offsetHeight,r.clientHeight,r.scrollHeight,r.offsetHeight);return{width:Math.max(e.scrollWidth,e.offsetWidth,r.clientWidth,r.scrollWidth,r.offsetWidth),height:s}}static getDocumentHeight(){return this.getDocumentSize().height}static position(t,e=1){let r={x:0,y:0};if(u.isObject(t)===!1)return r;let s=0;for(;t&&(e===0||s<e);)s++,r.x+=t.offsetLeft+t.clientLeft,r.y+=t.offsetTop+t.clientTop,t=t.offsetParent;return r}static addClass(t,e){if(u.isObject(t)===!1||e==="")return this;if(typeof e=="string"){let i=e.split(" ");for(var r=0,s=i.length;r<s;r++)t.classList.add(e)}return this}static removeClass(t,e){return u.isObject(t)===!1||e===""?this:(typeof e>"u"?t.className="":t.classList.remove(e),this)}static hasClass(t,e){return u.isObject(t)===!1||e===""?!1:t.classList.contains(e)}static toggleClass(t,e){return u.isObject(t)===!1?this:(t.classList.toggle(e),this)}},Ft=(t,e,r)=>{m.setAttr(t,e,r)},$t=(t,e,r)=>{t.checked=t.value==r},qt=(t,e,r)=>{r=r==1,bt(t,e,r)},bt=(t,e,r)=>{t[e]=r},Vt=(t,e)=>m.getAttr(t,e),zt=(t,e)=>t[e],Yt=class extends gt{constructor(t,e,r,s){super(s),this.element=t,this.attr=this.getAttrBind(e),this.addSetMethod(t,this.attr),this.filter=typeof r=="string"?this.setupFilter(r):r}addSetMethod(t,e){if(e.substring(4,1)==="-")return this.setValue=Ft,this.getValue=Vt,this;this.getValue=zt;let r=t.type;if(r)switch(r){case"checkbox":this.setValue=qt;return;case"radio":this.setValue=$t;return}return this.setValue=bt,this}getAttrBind(t){if(t)return t;let e="textContent",r=this.element;if(!r||typeof r!="object")return e;let s=r.tagName.toLowerCase();if(s==="input"||s==="textarea"||s==="select"){let i=r.type;if(!i)return e="value",e;switch(i){case"checkbox":e="checked";break;case"file":e="files";break;default:e="value"}}return e}setupFilter(t){let e=/(\[\[[^\]]+\]\])/;return r=>t.replace(e,r)}set(t){let e=this.element;return!e||typeof e!="object"?this:(this.filter&&(t=this.filter(t)),this.setValue(e,this.attr,t),this)}get(){let t=this.element;return!t||typeof t!="object"?"":this.getValue(t,this.attr)}callBack(t,e){return e!==this.element&&this.set(t),this}},Jt=class extends ft{constructor(t){super(),this.element=null,this.data=null,this.pubSub=t}addElement(t,e,r){return this.element=new Yt(t,e,r,this.pubSub)}addData(t,e){return this.data=new Wt(t,e,this.pubSub)}unsubscribeSource(t){return t&&t.unsubscribe(),this}unsubscribe(){return this.unsubscribeSource(this.element),this.unsubscribeSource(this.data),this.element=null,this.data=null,this}},et=-1,mt=class{constructor(){this.callBacks=new Map,this.lastToken=-1}get(t){return this.callBacks.has(t)||this.callBacks.set(t,[]),this.callBacks.get(t)}reset(){this.callBacks.clear(),this.lastToken=-1,et=-1}on(t,e){let r=++et;return this.get(t).push({token:r,callBack:e}),String(r)}off(t,e){let r=this.callBacks.get(t);if(!r)return;let s=r.findIndex(i=>i.token===e);s!==-1&&r.splice(s,1)}remove(t){this.callBacks.delete(t)}publish(t,...e){let r=this.callBacks.get(t);if(r)for(let{callBack:s}of r)!s||s.apply(this,e)}},Gt=class{constructor(){this.version="1.0.1",this.attr="bindId",this.blockedKeys=[20,37,38,39,40],this.connections=new Rt,this.pubSub=new mt,this.idCount=0,this.setup()}setup(){!document||this.setupEvents()}bind(t,e,r,s){let i=r,a=null;if(r.indexOf(":")!==-1){let p=r.split(":");p.length>1&&(i=p[1],a=p[0])}let n=this.setupConnection(t,e,i,a,s),h=n.element,c=e.get(i);return typeof c<"u"?h.set(c):(c=h.get(),c!==""&&n.data.set(c)),this}setupConnection(t,e,r,s,i){let a=this.getBindId(t),n=new Jt(this.pubSub);n.addData(e,r).subscribe(a);let h=`${e.getDataId()}:${r}`;return n.addElement(t,s,i).subscribe(h),this.addConnection(a,"bind",n),n}addConnection(t,e,r){return this.connections.add(t,e,r),this}setBindId(t){let e="db-"+this.idCount++;return t.dataset&&(t.dataset[this.attr]=e),t[this.attr]=e,e}getBindId(t){return t[this.attr]||this.setBindId(t)}unbind(t){let e=t[this.attr];return e&&this.connections.remove(e),this}watch(t,e,r,s){if(u.isObject(t)===!1)return this;let i=new Ut;i.addSource(e).subscribe(r,s);let a=this.getBindId(t),n=e.getDataId()+":"+r;this.addConnection(a,n,i);let h=e.get(r);return typeof h<"u"&&s(h),this}unwatch(t,e,r){if(u.isObject(t)===!1)return this;let s=t[this.attr];if(s){let i=e.getDataId()+":"+r;this.connections.remove(s,i)}return this}publish(t,e,r){return this.pubSub.publish(t,e,r),this}isDataBound(t){return t&&t[this.attr]||null}isBlocked(t){return t.type!=="keyup"?!1:this.blockedKeys.indexOf(t.keyCode)!==-1}bindHandler(t){if(this.isBlocked(t))return!0;let e=t.target||t.srcElement,r=this.isDataBound(e);if(r!==null){let s=this.connections.get(r,"bind");if(s){let i=s.element.get();this.pubSub.publish(r,i,e)}}t.stopPropagation()}setupEvents(){this.changeHandler=this.bindHandler.bind(this),this.addEvents()}addEvents(){d.on(["change","paste","input"],document,this.changeHandler,!1)}removeEvents(){d.off(["change","paste","input"],document,this.changeHandler,!1)}},w=new Gt,T=t=>t.data?t.data:t.context&&t.context.data?t.context.data:null,Kt={class:"className",text:"textContent",for:"htmlFor",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",celpadding:"cellPadding",useMap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},q=t=>Kt[t]||t,V=t=>typeof t=="string"&&t.substring(0,2)==="on"?t.substring(2):t,E=class{static create(t,e,r,s){let i=document.createElement(t);return this.addAttributes(i,e),s===!0?this.prepend(r,i):this.append(r,i),i}static addAttributes(t,e){if(!e||typeof e!="object")return;let r=e.type;typeof r<"u"&&m.setAttr(t,"type",r);for(let[s,i]of Object.entries(e))s==="innerHTML"?t.innerHTML=i:s.indexOf("-")!==-1?m.setAttr(t,s,i):this.addAttr(t,s,i)}static addHtml(t,e){return typeof e>"u"||e===""?this:(/(?:<[a-z][\s\S]*>)/i.test(e)?t.innerHTML=e:t.textContent=e,this)}static addAttr(t,e,r){if(!(r===""||!e))if(typeof r=="function")e=V(e),d.add(e,t,r);else{let s=q(e);t[s]=r}}static createDocFragment(){return document.createDocumentFragment()}static createText(t,e){let r=document.createTextNode(t);return e&&this.append(e,r),r}static createComment(t,e){let r=document.createComment(t);return e&&this.append(e,r),r}static setupSelectOptions(t,e,r){if(!u.isObject(t)||!u.isArray(e))return!1;e.forEach(s=>{let i=new Option(s.label,s.value);t.options.add(i),r!==null&&i.value==r&&(i.selected=!0)})}static removeElementData(t){let e=t.childNodes;if(e){let i=e.length-1;for(var r=i;r>=0;r--){var s=e[r];!s||this.removeElementData(s)}}f.remove(t),t.bindId&&w.unbind(t)}static removeElement(t){let e;return!t||!(e=t.parentNode)?this:(this.removeElementData(t),e.removeChild(t),this)}static removeChild(t){return this.removeElement(t),this}static removeAll(t){if(!u.isObject(t))return this;let e=t.childNodes;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&this.removeElementData(e[r]);return t.innerHTML="",this}static changeParent(t,e){return e.appendChild(t),this}static append(t,e){return t.appendChild(e),this}static prepend(t,e,r){let s=r||t.firstChild;return t.insertBefore(e,s),this}static clone(t,e=!1){return u.isObject(t)?t.cloneNode(e):!1}},S=class extends E{static create(t,e,r,s){let i=document.createElement(t);return this.addAttributes(i,e,s),r.appendChild(i),i}static addAttributes(t,e,r){!e||e.length<1||e.forEach(s=>{let{key:i,value:a}=s;this.addAttr(t,i,a,r)})}static addAttr(t,e,r,s){if(r===""||!e)return;if(e==="innerHTML"){t.innerHTML=r;return}if(typeof r=="function"){e=V(e),d.add(e,t,function(a){r.call(this,a,s)});return}if(e.substr(4,1)==="-"){m.setAttr(t,e,r);return}let i=q(e);t[i]=r}static addContent(t,e){!e||(e.textContent!==null?t.textContent=e.textContent:e.innerHTML&&(t.innerHTML=e.innerHTML))}static append(t,e){t.appendChild(e)}},rt=/(\[\[(.*?(?:\[\d+\])?)\]\])/g,O={isWatching(t){return Array.isArray(t)?typeof t[0]=="string"&&this.hasParams(t[0]):this.hasParams(t)},hasParams(t){return u.isString(t)&&t.includes("[[")},_getWatcherProps(t){let e=/\[\[(.*?)(\[\d+\])?\]\]/g,r=t.match(e);return r===null?null:(e=/(\[\[|\]\])/g,r.map(s=>s.replace(e,"")))},updateAttr(t,e,r){switch(e){case"text":case"textContent":t.textContent=r;break;default:S.addAttr(t,e,r);break}},_getWatcherCallBack(t,e,r,s,i){return()=>{let a=0,n=r.replace(rt,function(){let h=i?e[a]:e;a++;let c=h.get(arguments[2]);return typeof c<"u"?c:""});this.updateAttr(t,s,n)}},getValue(t,e){typeof t=="string"&&(t={value:t});let r=t.value;return Array.isArray(r)===!1?[r,T(e)]:(r.length<2&&r.push(T(e)),r)},getPropValues(t,e,r){let s=[];for(var i=0,a=e.length;i<a;i++){var n=r?t[i]:t,h=n.get(e[i]);h=typeof h<"u"?h:"",s.push(h)}return s},getCallBack(t,e,r,s,i){let a,n=t.callBack;if(typeof n=="function"){let h=s.match(rt)||[],c=h&&h.length>1;a=(p,y)=>{p=c!==!0?p:this.getPropValues(r,h,i),n(p,e,y)}}else{let h=t.attr||"textContent";a=this._getWatcherCallBack(e,r,s,h,i)}return a},addDataWatcher(t,e,r){let s=this.getValue(e,r),i=s[1];if(!i)return;let a=s[0],n=Array.isArray(i),h=this.getCallBack(e,t,i,a,n),c=this._getWatcherProps(a);for(var p=0,y=c.length;p<y;p++){var g=n?i[p]:i;this.addWatcher(t,g,c[p],h)}},setup(t,e,r){if(e){if(Array.isArray(e)){let s=[e[0],e[1]],i=e[2];typeof i=="function"?e={value:s,callBack:i}:e={attr:i,value:[e[0],e[1]]}}this.addDataWatcher(t,e,r)}},addWatcher(t,e,r,s){w.watch(t,e,r,s)}},Xt=t=>typeof t!="string"?t:yt(t),yt=t=>[{tag:"text",textContent:t}],Qt=t=>{if(!t)return{props:{},children:[]};let e=t[0];return typeof e=="string"?{props:{},children:yt(e)}:Array.isArray(e)?O.isWatching(e)===!1?{props:{},children:e}:{props:{watch:e},children:[]}:{props:e||{},children:Xt(t[1])}},o=t=>(...e)=>{let{props:r,children:s}=Qt(e);return t(r,s)};function st(t,e){let r=isNaN(Number(e)),s=r?e:`[${e}]`;return t===""?s:r?`${t}.${s}`:`${t}${s}`}function vt(t,e="",r=""){return{get(s,i,a){let n=s[i];if(e===""&&i in s)return typeof n=="function"?n.bind(s):n;let h=s[r]||s;if(n=Reflect.get(h,i,a),b.isPlainObject(n)||Array.isArray(n)){let c=st(e,i);return new Proxy(n,vt(t,c,r))}return n},set(s,i,a,n){if(e===""&&i in s)return s[i]=a,!0;let h=st(e,i);return t.set(h,a),!0}}}var Zt=(t,e="stage")=>new Proxy(t,vt(t,"",e)),it=class{static resume(t,e){if(!t)return null;let r,s=localStorage.getItem(t);return s===null?e&&(r=e):r=JSON.parse(s),r}static store(t,e){if(!t||!e)return!1;let r=JSON.stringify(e);return localStorage.setItem(t,r),!0}static remove(t){return t?(localStorage.removeItem(t),!0):!1}},xt=t=>{let e={};if(!u.isObject(t))return e;let r=b.clone(t);return Object.keys(r).forEach(s=>{let i=r[s];typeof i!="function"&&(e[s]=i)}),e},te=0,A={CHANGE:"change",DELETE:"delete"},at=(t,e)=>`${t}:${e}`,z=class{constructor(t){this.dirty=!1,this.links={},this._init(),this.setup(),this.dataTypeId="bd",this.eventSub=new mt;let e=xt(t);return this.set(e),Zt(this)}setup(){this.stage={}}_init(){let t=++te;this._dataNumber=t,this._id=`dt-${t}`,this._dataId=`${this._id}:`}getDataId(){return this._id}remove(){}on(t,e){let r=at(t,A.CHANGE);return this.eventSub.on(r,e)}off(t,e){let r=t+A.CHANGE;this.eventSub.off(r,e)}_setAttr(t,e,r=this,s=!1){let i=this.stage[t];e!==i&&(this.stage[t]=e,this._publish(t,e,r,A.CHANGE))}publishLocalEvent(t,e,r,s){let i=at(t,s);this.eventSub.publish(i,e,r)}_publish(t,e,r,s){this.publishLocalEvent(t,e,r,s),r=r||this,w.publish(this._dataId+t,e,r)}set(...t){if(typeof t[0]!="object")return this._setAttr(...t),this;let[e,r,s]=t;return Object.entries(e).forEach(([i,a])=>{typeof a!="function"&&this._setAttr(i,a,r,s)}),this}getModelData(){return this.stage}_deleteAttr(t,e,r=this){delete t[e],this.publishLocalEvent(e,null,r,A.DELETE)}toggle(t){if(!(typeof t>"u"))return this.set(t,!this.get(t)),this}increment(t){if(typeof t>"u")return;let e=this.get(t);return this.set(t,++e),this}decrement(t){if(typeof t>"u")return;let e=this.get(t);return this.set(t,--e),this}concat(t,e){if(typeof t>"u")return;let r=this.get(t);return this.set(t,r+e),this}ifNull(t,e){return this.get(t)===null&&this.set(t,e),this}setKey(t){return this.key=t,this}resume(t){let e=it.resume(this.key,t);return e?(this.set(e),this):this}store(){let t=this.get();return it.store(this.key,t)}delete(t){if(typeof t=="string"){this._deleteAttr(this.stage,t);return}this.setup()}_getAttr(t,e){return t[e]}get(t){return typeof t<"u"?this._getAttr(this.stage,t):this.getModelData()}link(t,e,r){if(arguments.length===1&&t.isData===!0&&(e=t.get()),typeof e!="object")return this.remoteLink(t,e,r);let s=[];return Object.entries(e).forEach(([i])=>{s.push(this.remoteLink(t,i))}),s}remoteLink(t,e,r){let s=r||e,i=t.get(e);typeof i<"u"&&this.get(e)!==i&&this.set(e,i);let a=t.on(e,(h,c)=>{if(c===this)return!1;this.set(s,h,t)});this.addLink(a,t);let n=this.on(s,(h,c)=>{if(c===t)return!1;t.set(e,h,this)});return t.addLink(n,this),a}addLink(t,e){this.links[t]=e}unlink(t){if(t){this.removeLink(t);return}let e=this.links;b.isEmpty(e)||(Object.entries(e).forEach(([r,s])=>{this.removeLink(s,!1)}),this.links={})}removeLink(t,e=!0){let r=this.links[t];r&&r.off(t),e!==!1&&delete this.links[t]}};z.prototype.isData=!0;var x={deepDataPattern:/(\w+)|(?:\[(\d)\))/g,hasDeepData(t){return t.indexOf(".")!==-1||t.indexOf("[")!==-1},getSegments(t){let e=this.deepDataPattern;return t.match(e)}},M=class{static set(t,e,r){if(!x.hasDeepData(e)){t[e]=r;return}let s,i=x.getSegments(e),a=i.length,n=a-1;for(var h=0;h<a;h++){if(s=i[h],h===n){t[s]=r;break}t[s]===void 0&&(t[s]=isNaN(s)?{}:[]),t=t[s]}}static delete(t,e){if(!x.hasDeepData(e)){delete t[e];return}let r=x.getSegments(e),s=r.length,i=s-1;for(var a=0;a<s;a++){var n=r[a],h=t[n];if(h===void 0)break;if(a===i){if(Array.isArray(t)){t.splice(n,1);break}delete t[n];break}t=h}}static get(t,e){if(!x.hasDeepData(e))return t[e];let r=x.getSegments(e),s=r.length,i=s-1;for(var a=0;a<s;a++){var n=r[a],h=t[n];if(h===void 0)break;if(t=h,a===i)return t}}},nt=class{static publishDeep(t,e,r,s){if(!x.hasDeepData(e)){this.publish(e,r,s);return}let i,a=x.getSegments(e),n=a.length,h=n-1,c="";for(var p=0;p<n;p++){i=a[p],t=t[i],p>0?isNaN(i)&&(c+="."+i):c=i;var y;if(p===h)y=r;else{var g=a[p+1];if(isNaN(g)===!1){c+="["+g+"]";continue}var B={};B[g]=t[g],y=B}this.publish(c,y,s)}}static publish(t,e,r){if(t=t||"",r(t,e),!(!e||typeof e!="object")){if(Array.isArray(e)){this.publishArray(t,e,r);return}this.publishObject(t,e,r)}}static publishArray(t,e,r){let s,i,a=e.length;for(var n=0;n<a;n++)i=e[n],s=t+"["+n+"]",this._checkPublish(s,i,r)}static publishObject(t,e,r){let s,i;for(var a in e)!Object.prototype.hasOwnProperty.call(e,a)||(i=e[a],s=t+"."+a,this._checkPublish(s,i,r))}static _checkPublish(t,e,r){if(!e||typeof e!="object"){r(t,e);return}this.publish(t,e,r)}},Y=class extends z{setup(){this.attributes={},this.stage={}}_setAttr(t,e,r,s){typeof e!="object"&&e===this.get(t)||(!r&&s!==!0?M.set(this.attributes,t,e):this.dirty===!1&&(this.dirty=!0),M.set(this.stage,t,e),r=r||this,this._publish(t,e,r,A.CHANGE))}linkAttr(t,e){let r=t.get(e);if(r)for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&this.link(t,e+"."+s,s)}scope(t,e){let r=this.get(t);if(!r)return!1;e=e||this.constructor;let s=new e(r);return s.linkAttr(this,t),s}splice(t,e){return this.delete(t+"["+e+"]"),this.refresh(t),this}push(t,e){let r=this.get(t);return Array.isArray(r)===!1&&(r=[]),r.push(e),this.set(t,r),this}unshift(t,e){let r=this.get(t);return Array.isArray(r)===!1&&(r=[]),r.unshift(e),this.set(t,r),this}shift(t){let e=this.get(t);if(Array.isArray(e)===!1)return null;let r=e.shift();return this.set(t,e),r}pop(t){let e=this.get(t);if(Array.isArray(e)===!1)return null;let r=e.pop();return this.set(t,e),r}refresh(t){return this.set(t,this.get(t)),this}_publish(t,e,r,s){let i=(a,n)=>this._publishAttr(a,n,r,s);nt.publish(t,e,i)}_publishAttr(t,e,r,s){let i=this._dataId+t;w.publish(i,e,r),this.publishLocalEvent(t,e,r,s)}mergeStage(){this.attributes=b.clone(this.stage),this.dirty=!1}getModelData(){return this.mergeStage(),this.attributes}revert(){this.set(this.attributes),this.dirty=!1}_deleteAttr(t,e,r=this){M.delete(t,e);let s=(i,a)=>this.publishLocalEvent(i,a,r,A.DELETE);nt.publish(e,e,s)}_getAttr(t,e){return M.get(t,e)}},ee={"\n":"\\n","\r":"\\n"," ":"\\t"},re=(t,e)=>{typeof t!="string"&&(t=String(t));let r=e?/[\n\r\t]/g:/\t/g;return t.replace(r,s=>ee[s])},ot=(t,e)=>{if(typeof t!="string")return t;t=re(t,e),t=encodeURIComponent(t);let r=/%22/g;return t.replace(r,'"')},kt=(t,e)=>{let r=typeof t;return r==="undefined"?t:r!=="object"?(t=ot(t),t):(Object.entries(t).forEach(([s,i])=>{i!==null&&(t[s]=typeof i=="string"?kt(i,e):ot(i,e))}),t)};function se(t){return typeof t<"u"&&t.length>0?JSON.parse(t):!1}function wt(t){return typeof t<"u"?JSON.stringify(t):null}var St=class{static prepareJsonUrl(t,e=!1){let r=typeof t=="object"?b.clone(t):t,s=kt(r,e);return wt(s)}static xmlParse(t){return typeof t>"u"?!1:new DOMParser().parseFromString(t,"text/xml")}};H(St,"json",{encode:wt,decode:se});var ie=class{constructor(t){this.model=t,this.objectType=this.objectType||"item",this.url="",this.validateCallBack=null,this.init()}init(){let t=this.model;t&&t.url&&(this.url=t.url)}isValid(){let t=this.validate();if(t!==!1){let e=this.validateCallBack;typeof e=="function"&&e(t)}return t}validate(){return!0}getDefaultParams(){return""}setupParams(t){let e=this.getDefaultParams();return t=this.addParams(t,e),t}objectToString(t){let e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r+"="+t[r]);return e.join("&")}addParams(t,e){if(t=t||{},typeof t=="string"&&(t=k.parseQueryString(t,!1)),!e)return this._isFormData(t)?t:this.objectToString(t);if(typeof e=="string"&&(e=k.parseQueryString(e,!1)),this._isFormData(t))for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.append(r,e[r]);else t=Object.assign(t,e),t=this.objectToString(t);return t}get(t,e){let r=this.model.get("id"),s="op=get&id="+r,i=this.model;return this._get("",s,t,e,a=>{if(a){let n=this.getObject(a);n&&i.set(n)}})}getObject(t){return t[this.objectType]||t||!1}setupObjectData(){let t=this.model.get();return this.objectType+"="+St.prepareJsonUrl(t)}setup(t,e){if(!this.isValid())return!1;let r="op=setup&"+this.setupObjectData();return this._put("",r,t,e)}add(t,e){if(!this.isValid())return!1;let r="op=add&"+this.setupObjectData();return this._post("",r,t,e)}update(t,e){if(!this.isValid())return!1;let r="op=update&"+this.setupObjectData();return this._patch("",r,t,e)}delete(t,e){let r=this.model.get("id"),s="op=delete&id="+r;return this._delete("",s,t,e)}all(t,e,r,s,i){i=i||"",r=isNaN(r)?0:r,s=isNaN(s)?50:s;let a="op=all&option="+i+"&start="+r+"&stop="+s;return this._get("",a,t,e)}getUrl(t){let e=this.url;return t?t[0]==="?"?e+t:e+="/"+t:e}setupRequest(t,e,r,s,i){let a={url:this.getUrl(t),method:e,params:r,completed:(n,h)=>{typeof i=="function"&&i(n),this.getResponse(n,s,h)}};return this._isFormData(r)&&(a.headers={}),pt(a)}_isFormData(t){return t instanceof FormData}request(t,e,r,s){return this._request("","POST",t,e,r,s)}_get(t,e,r,s,i){return e=this.setupParams(e),e=this.addParams(e,r),t=t||"",e&&(t+="?"+e),this.setupRequest(t,"GET","",s,i)}_post(t,e,r,s,i){return this._request(t,"POST",e,r,s,i)}_put(t,e,r,s,i){return this._request(t,"PUT",e,r,s,i)}_patch(t,e,r,s,i){return this._request(t,"PATCH",e,r,s,i)}_delete(t,e,r,s,i){return this._request(t,"DELETE",e,r,s,i)}_request(t,e,r,s,i,a){return r=this.setupParams(r),r=this.addParams(r,s),this.setupRequest(t,e,r,i,a)}getResponse(t,e,r){typeof e=="function"&&e(t,r)}static extend(t){if(!t)return!1;let e=this;class r extends e{constructor(i){super(i)}}return Object.assign(r.prototype,t),r}},ae=t=>{let e={};if(!u.isObject(t)||!t.defaults)return e;let{defaults:r}=t;return Object.keys(r).forEach(s=>{let i=r[s];typeof i!="function"&&(e[s]=i)}),delete t.defaults,e},ne=t=>{if(!t||typeof t.xhr!="object")return{};let e={...t.xhr};return delete t.xhr,e},oe=0,jt=class extends Y{constructor(t){let e=super(t);return this.initialize(),e}setup(){this.attributes={},this.stage={},this.xhr=null}initialize(){}static extend(t={}){let e=this,r=ne(t),s=this.prototype.service.extend(r),i=ae(t);class a extends e{constructor(h){let c={...i,...xt(h)};super(c),this.xhr=new s(this)}dataTypeId=`bm${oe++}`}return Object.assign(a.prototype,t),a.prototype.service=s,a}};jt.prototype.service=ie;var J=class extends z{},le=class extends J{constructor(t){super(),this.id=t}setup(){this.stage={},this.id=null}addAction(t,e){typeof e<"u"&&this.set(t,e)}getState(t){return this.get(t)}removeAction(t,e){if(e){this.off(t,e);return}let r=this.stage;typeof r[t]<"u"&&delete r[t]}},C=class{static restore(t,e){this.targets.set(t,e)}static getTarget(t){return this.targets.has(t)||this.targets.set(t,new le(t)),this.targets.get(t)}static getActionState(t,e){return this.getTarget(t).get(e)}static add(t,e,r){let s=this.getTarget(t);return e&&s.addAction(e,r),s}static addAction(t,e,r){return this.add(t,e,r)}static removeAction(t,e,r){this.off(t,e,r)}static on(t,e,r){let s=this.getTarget(t);return e?s.on(e,r):null}static off(t,e,r){this.remove(t,e,r)}static remove(t,e,r){let s=this.targets,i=s.get(t);if(i){if(e){i.off(e,r);return}this.targets.delete(t)}}static set(t,e,r){this.getTarget(t).set(e,r)}};H(C,"targets",new Map);var he=class{constructor(){this.events=[]}addEvents(t){t.length<1||t.forEach(e=>{this.on(...e)})}on(t,e,r,s){d.on(t,e,r,s),this.events.push({event:t,obj:e,callBack:r,capture:s})}off(t,e,r,s){d.off(t,e,r,s);let i,a=this.events;for(var n=0,h=a.length;n<h;n++)if(i=a[n],i.event===t&&i.obj===e){a.splice(n,1);break}}set(){this.events.forEach(t=>{d.on(t.event,t.obj,t.callBack,t.capture)})}unset(){this.events.forEach(t=>{d.off(t.event,t.obj,t.callBack,t.capture)})}reset(){this.unset(),this.events=[]}},ce=class{constructor(t,e){this.remoteStates=[];let r=this.convertStates(e);this.addStatesToTarget(t,r)}addStates(t,e){let r=this.convertStates(e);this.addStatesToTarget(t,r)}createState(t,e,r,s){return{action:t,state:e,callBack:r,targetId:s,token:null}}convertStates(t){let e=[];for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){if(r==="remotes"){this.setupRemoteStates(t[r],e);continue}var s=null,i=null,a=t[r];a&&typeof a=="object"&&(i=a.callBack,s=a.id||a.targetId,a=a.state),e.push(this.createState(r,a,i,s))}return e}setupRemoteStates(t,e){let r;for(var s=0,i=t.length;s<i;s++)if(r=t[s],!!r){for(var a in r)if(!(!Object.prototype.hasOwnProperty.call(r,a)||a==="id")){var n=null,h=r[a],c=h!==null?h:void 0;c&&typeof c=="object"&&(n=c.callBack,c=c.state),e.push(this.createState(a,c,n,r.id))}}}removeRemoteStates(){let t=this.remoteStates;t&&this.removeActions(t)}removeActions(t){if(!(t.length<1))for(var e=0,r=t.length;e<r;e++){var s=t[e];C.remove(s.targetId,s.action,s.token)}}restore(t){C.restore(t.id);let e=this.remoteStates;if(e)for(var r=0,s=e.length;r<s;r++){var i=e[r];i.token=this.bindRemoteState(t,i.action,i.targetId)}}bindRemoteState(t,e,r){let s=C.getTarget(r);return t.link(s,e)}addStatesToTarget(t,e){let r=this.remoteStates;for(var s=0,i=e.length;s<i;s++){var a=e[s],n=this.addAction(t,a);a.targetId&&(a.token=n,r.push(a))}r.length<1&&(this.remoteStates=null)}addAction(t,e){let r,s=e.action,i=e.targetId;i&&(r=this.bindRemoteState(t,s,i)),typeof e.state<"u"&&t.addAction(s,e.state);let a=e.callBack;return typeof a=="function"&&t.on(s,a),r}},ue=t=>typeof t!="string"?t:Et(t),Et=t=>[{tag:"text",textContent:t}],pe=t=>{if(!t)return{props:{},children:[]};let e=t[0];return typeof e=="string"?{props:{},children:Et(e)}:Array.isArray(e)?{props:{},children:e}:{props:e||{},children:ue(t[1])}};f.addType("components",t=>{if(!t)return;let e=t.component;e&&e.rendered===!0&&e.prepareDestroy()});var de=0,At=class{constructor(...t){this.isUnit=!0,this.data=null,this.persist=!1,this.children=null,this.nest=null,this.state=null,this.panel=null,this.parent=null,this.init();let{props:e,children:r}=pe(t);this.setupProps(e),this.children??=r,this.onCreated(),this.rendered=!1,this.container=null}init(){this.id="cp-"+de++}setupProps(t){if(!(!t||typeof t!="object"))for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(this[e]=t[e])}getParentContext(){return this.parent?this.parent.getContext():null}setupContext(){let t=this.getParentContext(),e=this.setContext(t);if(e){this.context=e;return}this.context=t,this.setupAddingContext()}setupAddingContext(){let t=this.context,e=this.addContext(t);if(!e)return;let r=e[0];!r||(this.addingContext=!0,this.contextBranchName=r,this.addContextBranch(r,e[1]))}addContextBranch(t,e){this.context??={},this.context[t]=e}setContext(t){return null}addContext(t){return null}removeContext(){!this.addingContext||this.removeContextBranch(this.contextBranchName)}removeContextBranch(t){!t||delete this.context[t]}getContext(){return this.context}onCreated(){}render(){return{}}_cacheRoot(t){return t&&(t.id||(t.id=this.getId()),t.cache="panel",t)}_createLayout(){return this.persist?this._layout||(this._layout=this.render()):this.render()}prepareLayout(){let t=this._createLayout();return this._cacheRoot(t)}afterBuild(){f.add(this.panel,"components",{component:this}),this.rendered=!0,this.afterLayout()}afterLayout(){this.afterSetup()}if(t,e){return t?e||t:null}map(t,e){let r=[];if(!t||t.length<1)return r;for(var s=0,i=t.length;s<i;s++){let a=e(t[s],s);r.push(a)}return r}removeAll(t){return E.removeAll(t)}getId(t){let e=this.id;return typeof t=="string"&&(e+="-"+t),e}initialize(){this.setupContext(),this.beforeSetup()}beforeSetup(){}afterSetup(){}setup(t){this.container=t,this.initialize()}remove(){this.prepareDestroy(),this.removeContext();let t=this.panel||this.id;E.removeElement(t)}prepareDestroy(){this.rendered=!1,this.beforeDestroy()}beforeDestroy(){}destroy(){this.remove()}},Ct=class extends At{constructor(...t){super(...t),this.isComponent=!0,this.stateTargetId=null,this._setupData()}setData(){return null}_setupData(){if(this.data)return;let t=this.setData();t&&(this.data=t)}initialize(){this.setupContext(),this.addStates(),this.beforeSetup()}afterLayout(){this.addEvents(),this.afterSetup()}setupStateTarget(t){let e=t||this.stateTargetId||this.id;this.state=C.getTarget(e)}setupStates(){return{}}addStates(){let t=this.state;if(t){this.stateHelper.restore(t);return}let e=this.setupStates();b.isEmpty(e)||(this.setupStateTarget(),this.stateHelper=new ce(this.state,e))}removeStates(){let t=this.state;!t||(this.stateHelper.removeRemoteStates(),t.remove())}setupEventHelper(){this.events||(this.events=new he)}setupEvents(){return[]}addEvents(){let t=this.setupEvents();t.length<1||(this.setupEventHelper(),this.events.addEvents(t))}removeEvents(){let t=this.events;t&&t.reset()}prepareDestroy(){this.rendered=!1,this.beforeDestroy(),this.removeEvents(),this.removeStates(),this.removeContext(),this.data&&this.persist===!1&&this.data.unlink()}},fe={created:"onCreated",state:"setupStates",events:"setupEvents",before:"beforeSetup",render:"render",after:"afterSetup",destroy:"beforeDestroy"},ge=t=>typeof t=="function"?t:()=>t,be=t=>{let e={};return t&&Object.entries(t).forEach(([r,s])=>{let i=fe[r]||r;e[i]=ge(s)}),e},lt=(t,e)=>{class r extends t{}return Object.assign(r.prototype,e),r},G=t=>{if(!t)return null;let e,r=typeof t;return r==="object"&&t.render?(e=be(t),lt(Ct,e)):(e={render:r==="function"?t:()=>t},lt(At,e))};var me=(t,e)=>({name:t,callBack:e}),$={keys:[],items:{},add(t,e){return this.keys.push(t),this.items[t]=me(t,e),this},get(t){return this.items[t]||null},all(){return this.keys}},ht=(t,e)=>({attr:t,directive:e}),D=(t,e)=>({key:t,value:e}),ye=(t,e,r,s)=>({tag:t,attr:e,directives:r,children:s}),N=class{static getTag(t){return t.tag||"div"}static setupChildren(t){t.nest&&(t.children=t.nest,delete t.nest)}static setElementContent(t,e,r,s){return t==="text"?(s.push({tag:"text",textContent:e}),!0):t==="html"||t==="innerHTML"?(r.push(D("innerHTML",e)),!0):!1}static setTextAsWatcher(t,e,r){let s={attr:q(e),value:r};t.push(ht(D(e,s),$.get("watch")))}static setButtonType(t,e,r){if(t==="button"){let s=e.type||"button";r.push(D("type",s))}}static parse(t,e){let r=[],s=[],i=this.getTag(t);this.setButtonType(i,t,r),this.setupChildren(t);let a=[];var n,h;for(var c in t){if(!b.hasOwnProp(t,c)||c==="tag"||(n=t[c],n==null))continue;if((h=$.get(c))!==null){s.push(ht(D(c,n),h));continue}let p=typeof n;if(p==="object"){if(c==="children"){a=a.concat(n);continue}if(O.isWatching(n)){this.setTextAsWatcher(s,c,n);continue}a.push(n);continue}if(p==="function"){let y=n;n=function(g){y.call(this,g,e)}}if(O.isWatching(n)){this.setTextAsWatcher(s,c,n);continue}this.setElementContent(c,n,r,a)||r.push(D(c,n))}return ye(i,r,s,a)}},Tt=class{build(t,e,r){}createComponent(t,e,r){let s=t;s.parent=r,r&&r.persist===!0&&s.persist!==!1&&(s.persist=!0),s.cache&&r&&(r[s.cache]=s),s.setup(e);let i=s.prepareLayout();this.build(i,s.container,s),s.afterBuild(),t.component&&typeof t.onCreated=="function"&&t.onCreated(s)}removeAll(t){}},ve=class extends Tt{build(t,e,r){let s=S.createDocFragment();return(Array.isArray(t)?t:[t]).forEach(i=>this.buildElement(i,s,r)),e&&typeof e=="object"&&e.appendChild(s),s}buildElement(t,e,r){if(t){if(t.isUnit===!0){this.createComponent(t,e,r);return}this.createElement(t,e,r)}}createElement(t,e,r){let s=N.parse(t,r),i=this.createNode(s,e,r);this.cache(i,t.cache,r),s.children.forEach(n=>{n!==null&&this.buildElement(n,i,r)});let a=s.directives;a&&a.length&&this.setDirectives(i,a,r)}setDirectives(t,e,r){e.forEach(s=>{this.handleDirective(t,s,r)})}handleDirective(t,e,r){e.directive.callBack(t,e.attr.value,r)}cache(t,e,r){r&&e&&(r[e]=t)}createNode(t,e,r){let s=t.tag;if(s==="text"){let i=t.attr[0],a=i?i.value:"";return S.createText(a,e)}else if(s==="comment"){let i=t.attr[0],a=i?i.value:"";return S.createComment(a,e)}return S.create(s,t.attr,e,r)}removeAll(t){S.removeAll(t)}},xe=["area","base","br","col","embed","hr","img","input","link","meta","source"],R=class{static create(t,e={},r=""){let s=this.createAttributes(e);return xe.includes(t)?`<${t} ${s} />`:`<${t} ${s}>`+r+`</${t}>`}static createAttributes(t=[]){return!t||t.length<1?"":t.map(e=>{let{key:r,value:s}=e;return typeof s=="function"&&(r="on"+V(r)),`${r}="${s}"`}).join(" ")}static createText(t){return t}static createComment(t){return`<!-- ${t} -->`}},ke=class extends Tt{build(t,e,r){return(Array.isArray(t)?t:[t]).map(s=>this.buildElement(s,r)).join("")}buildElement(t,e){return t?t.isUnit===!0?this.createComponent(t,e):this.createElement(t,e):""}createElement(t,e){let r=N.parse(t,e),s=r.children.map(i=>i!==null?this.buildElement(i,e):"").join("");return this.createNode(r,s)}createNode(t,e){let r=t.tag;if(r==="text"){let s=t.attr[0],i=s?s.value:"";return R.createText(i)}else if(r==="comment"){let s=t.attr[0],i=s?s.value:"";return R.createComment(i)}return R.create(r,t.attr,e)}removeAll(t){}},we=class{static browserIsSupported(){return window&&typeof window.document=="object"}static setup(){return this.browserIsSupported()?new ve:new ke}},L=we.setup(),Se=t=>typeof t=="object"&&t.isUnit===!0,je=t=>{let e=G(t);return new e},v=class{static render(t,e,r){return t?(Se(t)||(t=je(t)),L.createComponent(t,e,r),t):null}static build(t,e,r){return L.build(t,e,r)}static rebuild(t,e,r){return L.removeAll(e),this.build(t,e,r)}static buildElement(t,e,r){if(t){if(t.isUnit===!0){this.createComponent(t,e,r);return}this.createElement(t,e,r)}}static createElement(t,e,r){let s=N.parse(t,r),i=this.createNode(s,e,r);this.cache(i,t.cache,r),s.children.forEach(n=>{n!==null&&this.buildElement(n,i,r)});let a=s.directives;a&&a.length&&this.setDirectives(i,a,r)}static setDirectives(t,e,r){e.forEach(s=>{this.handleDirective(t,s,r)})}static handleDirective(t,e,r){e.directive.callBack(t,e.attr.value,r)}static cache(t,e,r){r&&e&&(r[e]=t)}static createComponent(t,e,r){let s=t;s.parent=r,r&&r.persist===!0&&s.persist!==!1&&(s.persist=!0),s.cache&&r&&(r[s.cache]=s),s.setup(e);let i=s.prepareLayout();this.build(i,s.container,s),s.afterBuild(),t.component&&typeof t.onCreated=="function"&&t.onCreated(s)}static createNode(t,e,r){return L.createNode(t,e,r)}};j.augment({buildLayout(t,e,r){v.build(t,e,r)}});var K=[],Ee=t=>K.indexOf(t)!==-1,Ae=t=>({tag:"script",src:t.src,async:!1,load(e){K.push(t.src);let r=t.load;r&&r()}}),Ce=t=>({tag:"link",rel:"stylesheet",type:"text/css",href:t.src,load(e){K.push(t.src);let r=t.load;r&&r()}}),Te=class{constructor(t){this.percent=0,this.loaded=0,this.total=0,this.callBack=t||null}add(t){this.total++;let e,r=this.update.bind(this);t.indexOf(".css")!==-1?e=Ce({load:r,src:t}):e=Ae({load:r,src:t}),v.build(e,document.head)}addFiles(t){!t||t.forEach(e=>{Ee(e)||this.add(e)})}update(){if(this.updateProgress()<100)return;let t=this.callBack;t&&t()}updateProgress(){return++this.loaded,this.percent=Math.floor(this.loaded/this.total*100)}},De=(t,e)=>{let r=t;typeof t=="string"&&(r=import(t)),r.then(s=>{e&&e(s)})},Oe=t=>t?typeof t?.prototype?.constructor=="function":!1,Pe=(t,e,r)=>{let s=v.build(t,null,r),i=s.firstChild;return e.after(s),i},Be=t=>({tag:"comment",textContent:"import placeholder",onCreated:t.onCreated}),Me=G({render(){return Be({onCreated:t=>{if(this.src){if(this.depends){new Te(()=>{this.loadAndRender(t)}).addFiles(this.depends);return}this.loadAndRender(t)}}})},getLayout(t){let e=t.default;if(!e)return null;let r=this.callBack;return r?e=r(e):Oe(e)?(e=new e,e.route=this.route,this.persist&&(e.persist=!0)):e=e(),this.layout=e},loadAndRender(t){De(this.src,e=>{this.loaded=!0;let r=this.layout||this.getLayout(e);this.layoutRoot=Pe(r,t,this.parent)})},shouldUpdate(t){return this.updateLayout===!0?!0:this.updateLayout=t&&t.isUnit&&typeof t.update=="function"},updateModuleLayout(t){let e=this.layout;this.shouldUpdate(e)&&e.update(t)},update(t){this.loaded===!0&&this.updateModuleLayout(t)},beforeDestroy(){!this.layoutRoot||E.removeElement(this.layoutRoot)}}),Le=t=>(typeof t=="string"&&(t={src:t}),new Me(t)),X=(t,e,r,s)=>{if(Array.isArray(r[0])){r.forEach(i=>{!i||X(t,e,i,s)});return}He(t,e,r,s)},He=(t,e,r,s)=>{let i,a;if(r.length<3?[i,a]=r:[e,i,a]=r,!e||!i)return;let n=Ne(t,i,a,s);w.watch(t,e,i,n)},Ne=(t,e,r,s)=>typeof r=="object"?i=>{We(t,r,i)}:i=>{Ie(t,r,e,i,s)},Ie=(t,e,r,s,i)=>{let a=e(s,t,i);switch(typeof a){case"object":a=Re(i,r,s,a),Ue(a,t,i);break;case"string":E.addHtml(t,a);break}},Re=(t,e,r,s)=>!t||!s||s.isUnit!==!0||t.persist!==!0||!t.state?s:_e(t,e,r,s),_e=(t,e,r,s)=>{let i=e+":"+r,a=t.state,n=a.get(i);return typeof n<"u"&&(s=n),a.set(i,s),s},Ue=(t,e,r)=>{v.rebuild(t,e,r)},We=(t,e,r)=>{for(let[s,i]of Object.entries(e))!s||(i===r?m.addClass(t,s):m.removeClass(t,s))},Dt=(t,e,r)=>{let s=T(r);X(t,s,e,r)},Fe=(t,e,r)=>{!e||e&&m.setAttr(t,"role",e)},$e=t=>(e,r)=>{let s=r?"true":"false";m.setAttr(e,t,s)},qe=(t,e,r)=>{if(!e)return;let s=e.role;s&&(m.setAttr(t,"role",s),e.role=null),Object.entries(e).forEach(([i,a])=>{if(a===null)return;let n=`aria-${i}`;Array.isArray(a)?(a.push($e(n)),Dt(t,a,r)):m.setAttr(t,n,a)})};f.addType("context",t=>{if(!t)return!1;t.parent.removeContextBranch(t.branch)});var Q=t=>t?t.getContext():null,Ve=(t,e,r)=>{if(typeof e!="function")return;let s=Q(r),i=e(s);if(!i)return;let a=N.parse(i,r);S.addAttributes(t,a.attr,r),v.setDirectives(t,a.directives,r)},ze=(t,e,r)=>{if(typeof e!="function")return;let s=Q(r);e(s)},Ye=(t,e,r)=>{if(typeof e!="function"||!r)return;let s=Q(r),i=e(s);!i||r.addContextBranch(i[0],i[1])},Je=(t,e,r)=>{},Ge=(t,e,r)=>{!e||!r||e(r,t)},Ke=(t,e,r)=>{!e||!r||e(r.data,t)},Xe=(t,e,r)=>{!e||!r||e(r.state,t)},Qe=(t,e,r)=>{if(!(!e||!r)&&r.stateHelper){let s=r.state,i=e(s);r.stateHelper.addStates(i)}},Ze=(t,e,r)=>{let s,i,a;if(typeof e=="string"){if(s=T(r),!s)return;i=e}else if(Array.isArray(e)){if(typeof e[0]!="object"){let n=T(r);if(!n)return;e.unshift(n)}[s,i,a]=e}w.bind(t,s,i,a)},tr=(t,e,r)=>{let s,i,a,n;if(e.length<3){let c=T(r);if(!c)return;s=c,[i,a,n]=e}else[s,i,a,n]=e;let h=n!==!1;w.watch(t,s,i,c=>{if(E.removeAll(t),!c||c.length<1)return;let p=[];return c.forEach((y,g)=>{let B=h?s.scope(i+"["+g+"]"):null,Z=a(c[g],g,B);Z!==null&&p.push(Z)}),v.build(p,t,r)})},er=(t,e,r)=>{let s=e[0];if(!s||s.length<1)return;let i=e[1],a=[];s.forEach((n,h)=>{if(!n)return;let c=i(n,h);c!==null&&a.push(c)}),v.build(a,t,r)},rr=(t,e,r)=>{e(t)};f.addType("destroyed",t=>{if(!t)return!1;t.callBack(t.ele)});var sr=(t,e,r)=>{ir(t,e)},ir=(t,e)=>{f.add(t,"destroyed",{ele:t,callBack:e})},ar=(t,e,r)=>{X(t,r.state,e,r)},nr=(t,e,r)=>{if(e)if(Array.isArray(e)&&typeof e[0]!="string")for(var s=0,i=e.length;s<i;s++)O.setup(t,e[s],r);else O.setup(t,e,r)},or=0,Ot=class{constructor(t){this.router=t,this.locationId="base-app-router-"+or++,this.callBack=this.check.bind(this)}setup(){return this.addEvent(),this}check(t){}addEvent(){return this}},lr=class extends Ot{addEvent(){return d.on("popstate",window,this.callBack),this}removeEvent(){return d.off("popstate",window,this.callBack),this}check(t){let e=t.state;if(!e||e.location!==this.locationId)return!1;t.preventDefault(),t.stopPropagation(),this.router.checkActiveRoutes(e.uri)}createState(t,e={}){return{location:this.locationId,...e,uri:t}}addState(t,e,r=!1){let s=window.history,i=s.state;if(i&&i.uri===t)return this;let a=this.createState(t,e);return s[r===!1?"pushState":"replaceState"](a,null,t),this}},hr=class extends Ot{addEvent(){return d.on("hashchange",window,this.callBack),this}removeEvent(){return d.off("hashchange",window,this.callBack),this}check(t){this.router.checkActiveRoutes(t.newURL)}addState(t,e,r){return window.location.hash=t,this}},cr=class{static browserIsSupported(){return"history"in window&&"pushState"in window.history}static setup(t){return this.browserIsSupported()?new lr(t).setup():new hr(t).setup()}},ur=class{constructor(t,e){this.route=t,this.template=e.component,this.component=null,this.hasTemplate=!1,this.setup=!1,this.container=e.container,this.persist=e.persist,this.parent=e.parent,this.setupTemplate()}focus(t){this.setup===!1&&this.create(),this.update(t)}setupTemplate(){let t=this.template;if(typeof t=="string"&&(t=this.template=window[t],!t))return;let e=typeof t;e==="function"?this.initializeComponent():e==="object"&&this.initializeTemplateObject(),this.hasTemplate=!0}initializeComponent(){this.component=new this.template({route:this.route,persist:this.persist,parent:this.parent})}initializeTemplateObject(){this.template.isUnit||(this.template=G(this.template));let t=this.template;this.persist=t.persist!==!1,Object.assign(t,{route:this.route,persist:this.persist,parent:this.parent}),this.component=t}create(){if(!this.hasTemplate)return;this.setup=!0;let t=this.component;(!this.persist||!t)&&(t=this.component=this.template),v.render(t,this.container,this.parent)}remove(){if(this.setup!==!0)return;this.setup=!1;let t=this.component;!t||(typeof t.destroy=="function"&&t.destroy(),this.persist===!1&&(this.component=null))}update(t){let e=this.component;!e||typeof e.update=="function"&&e.update(t)}},pr=t=>{if(!t.length)return null;let e={};return t.forEach(r=>{e[r]=null}),e},dr=t=>{let e=[];if(!t)return e;let r=/[*?]/g;t=t.replace(r,"");let s=/:(.[^./?&($]+)\?*/g,i=t.match(s);return i===null||i.forEach(a=>{a&&(a=a.replace(":",""),e.push(a))}),e},fr=t=>t.replace(/\//g,"/"),gr=t=>t.replace(/(\/):[^/(]*?\?/g,e=>e.replace(/\//g,"(?:$|/)")),br=t=>(t=t.replace(/(\?\/+\*?)/g,"?/*"),t.replace(/(:[^/?&($]+)/g,e=>e.indexOf(".")<0?"([^/|?]+)":"([^/|?]+.*)")),mr=t=>t.replace(/(\*)/g,".*"),yr=(t,e)=>t+=e[e.length-1]==="*"?"":"$",vr=t=>{if(!t)return"";let e=fr(t);return e=gr(e),e=br(e),e=mr(e),e=yr(e,t),e},xr=0,kr=class extends J{constructor(t,e){let r=t.baseUri,s=dr(r),i=pr(s),a=super(i);return this.uri=r,this.paramKeys=s,this.titleCallBack=e,this.setupRoute(t),this.set("active",!1),a}setup(){this.stage={},this.id=null,this.uri=null,this.uriQuery=null,this.controller=null,this.paramKeys=null,this.titleCallBack=null,this.path=null,this.referralPath=null,this.params=null,this.callBack=null,this.title=null}setupRoute(t){this.id=t.id||"bs-rte-"+xr++,this.path=null,this.referralPath=null;let e=vr(this.uri);this.uriQuery=new RegExp("^"+e),this.params=null,this.setupComponentHelper(t),this.callBack=t.callBack,this.title=t.title}setTitle(t){this.titleCallBack(this,t)}deactivate(){this.set("active",!1);let t=this.controller;t&&t.remove()}getLayout(t){if(t.component)return t.component;let e=t.import;return e?Le(e):null}setupComponentHelper(t){let e=this.getLayout(t);if(!e)return;let{container:r,persist:s=!1,parent:i}=t,a={component:e,container:r,persist:s,parent:i};this.controller=new ur(this,a)}resume(t){let e=this.controller;e&&(e.container=t)}setPath(t,e){this.path=t,this.referralPath=e}select(){this.set("active",!0);let t=this.stage,e=this.callBack;typeof e=="function"&&e(t);let r=this.controller;r&&r.focus(t);let s=this.path;if(!s)return;let i=s.split("#")[1];!i||this.scrollToId(i)}scrollToId(t){if(!t)return;let e=document.getElementById(t);!e||e.scrollIntoView(!0)}match(t){let e=!1,r=t.match(this.uriQuery);return r===null?(this.resetParams(),e):(Array.isArray(r)&&(r.shift(),e=r,this.setParams(r)),e)}resetParams(){this.stage={}}setParams(t){if(!Array.isArray(t))return;let e=this.paramKeys;if(!e)return;let r={};e.forEach((s,i)=>{typeof s<"u"&&(r[s]=t[i])}),this.set(r)}getParams(){return this.stage}},wr=t=>{let e=/\w\S*/;return t.replace(e,r=>r.charAt(0).toUpperCase()+r.substring(1).toLowerCase())},Sr=(t,e)=>{if(t.indexOf(":")===-1)return t;let r=e.stage;for(let[s,i]of Object.entries(r)){let a=new RegExp(":"+s,"gi");t=t.replace(a,i)}return t},jr=(t,e,r)=>e&&(typeof e=="function"&&(e=e(t.stage)),e=Sr(e,t),e=wr(e),r!==""&&(e+=" - "+r),e),Er={removeSlashes(t){return typeof t!="string"?"":(t.substring(0,1)==="/"&&(t=t.substring(1)),t.substring(-1)==="/"&&(t=t.substring(0,t.length-1)),t)}};f.addType("routes",t=>{if(!t)return!1;let e=t.route;e&&P.removeRoute(e)});f.addType("switch",t=>{if(!t)return!1;let e=t.id;P.removeSwitch(e)});var Ar=class{constructor(){this.version="1.0.2",this.baseURI="/",this.title="",this.lastPath=null,this.path=null,this.history=null,this.callBackLink=null,this.location=window.location,this.routes=[],this.switches={},this.switchCount=0,this.data=new Y({path:""})}setupHistory(){this.history=cr.setup(this)}createRoute(t){let e=t.uri||"*";return t.baseUri=this.createURI(e),new kr(t,this.updateTitle.bind(this))}add(t){if(typeof t!="object"){let r=arguments;t={uri:r[0],component:r[1],callBack:r[2],title:r[3],id:r[4],container:r[5]}}let e=this.createRoute(t);return this.addRoute(e),e}addRoute(t){this.routes.push(t),this.checkRoute(t,this.getPath())}resume(t,e){t.resume(e),this.addRoute(t)}getBasePath(){if(!this.basePath){let t=this.baseURI||"";t[t.length-1]!=="/"&&(t+="/"),this.basePath=t}return this.basePath}createURI(t){return this.getBasePath()+Er.removeSlashes(t)}getRoute(t){let e=this.routes,r=e.length;if(r>0)for(var s=0;s<r;s++){var i=e[s];if(i.uri===t)return i}return!1}getRouteById(t){let e=this.routes,r=e.length;if(r>0)for(var s=0;s<r;s++){var i=e[s];if(i.id===t)return i}return!1}removeRoute(t){let e=this.routes,r=e.indexOf(t);r>-1&&e.splice(r,1)}addSwitch(t){let e=this.switchCount++,r=this.getSwitchGroup(e);return t.forEach(s=>{let i=this.createRoute(s);r.push(i)}),this.checkGroup(r,this.getPath()),e}resumeSwitch(t,e){let r=this.switchCount++,s=this.getSwitchGroup(r);return t.forEach(i=>{let a=i.component.route;a.resume(e),s.push(a)}),this.checkGroup(s,this.getPath()),r}getSwitchGroup(t){return this.switches[t]=[]}removeSwitch(t){let e=this.switches;e[t]&&delete e[t]}remove(t){t=this.createURI(t);let e=this.getRoute(t);return e!==!1&&this.removeRoute(e),this}setup(t,e){this.baseURI=t||"/",this.updateBaseTag(this.baseURI),this.title=typeof e<"u"?e:"",this.setupHistory(),this.data.path=this.getPath(),this.callBackLink=this.checkLink.bind(this),d.on("click",document,this.callBackLink);let r=this.getEndPoint();return this.navigate(r,null,!0),this}updateBaseTag(t){let e=document.getElementsByTagName("base");e.length&&(e[0].href=t)}getParentLink(t){let e=t.parentNode;for(;e!==null;){if(e.nodeName.toLowerCase()==="a")return e;e=e.parentNode}return!1}checkLink(t){if(t.ctrlKey===!0)return!0;let e=t.target||t.srcElement;if(e.nodeName.toLowerCase()!=="a"&&(e=this.getParentLink(e),e===!1)||e.target==="_blank"||m.data(e,"cancel-route"))return!0;let r=e.getAttribute("href");if(typeof r<"u"){let s=this.baseURI,i=s!=="/"?r.replace(s,""):r;return this.navigate(i),t.preventDefault(),t.stopPropagation(),!1}}reset(){return this.routes=[],this.switches=[],this.switchCount=0,this}activate(){return this.checkActiveRoutes(),this}navigate(t,e,r){return t=this.createURI(t),this.history.addState(t,e,r),this.activate(),this}updatePath(){let t=this.getPath();this.data.path=t}updateTitle(t){if(!t||!t.title)return this;let e=t.title;document.title=jr(t,e,this.title)}checkActiveRoutes(t){this.lastPath=this.path,t=t||this.getPath(),this.path=t;let e=this.routes,r=e.length,s;for(var i=0;i<r;i++)s=e[i],!(typeof s>"u")&&this.checkRoute(s,t);this.checkSwitches(t),this.updatePath()}checkSwitches(t){let e=this.switches;for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var s=e[r];this.checkGroup(s,t)}}checkGroup(t,e){let r=!1,s,i,a,n,h=!1;for(var c=0,p=t.length;c<p;c++)if(s=t[c],!(typeof s>"u")){if(c===0&&(i=s),!a&&s.get("active")&&(a=s),r!==!1){h&&s.deactivate();continue}r=s.match(e),r!==!1&&(n=s,s.controller&&(this.select(s),h=!0))}if(n===void 0){this.select(i),a&&i!==a&&a.deactivate();return}a?h&&n!==a&&a.deactivate():i&&h===!1&&this.select(i)}checkRoute(t,e){let r=this.check(t,e);return r!==!1?this.select(t):t.deactivate(),r}check(t,e){return t?(e=e||this.getPath(),t.match(e)!==!1):!1}select(t){!t||(t.setPath(this.path,this.lastPath),t.select(),this.updateTitle(t))}getEndPoint(){return this.getPath().replace(this.baseURI,"")||"/"}destroy(){d.off("click",document,this.callBackLink)}getPath(){let t=this.location,e=this.path=t.pathname;return this.history.type==="hash"?t.hash.replace("#",""):e+t.search+t.hash}},P=new Ar,Cr=(t,e,r)=>{!e||(Array.isArray(e)?e.forEach(s=>{ct(t,s,r)}):ct(t,e,r))},ct=(t,e,r)=>{e.container=t,e.parent=r;let s=P.add(e);Tr(t,s)},Tr=(t,e)=>{f.add(t,"routes",{route:e})},Dr=(t,e,r)=>{let s=e[0];e.forEach(a=>{a.container=t,a.parent=r});let i=P.addSwitch(e);Or(t,i)},Or=(t,e)=>{f.add(t,"switch",{id:e})};$.add("cache",Je).add("onCreated",rr).add("onDestroyed",sr).add("bind",Ze).add("onSet",Dt).add("onState",ar).add("watch",nr).add("useParent",Ge).add("useData",Ke).add("useState",Xe).add("addState",Qe).add("map",er).add("for",tr).add("useContext",ze).add("addContext",Ye).add("context",Ve).add("role",Fe).add("aria",qe).add("route",Cr).add("switch",Dr);j.augment({Ajax:pt,Html:E,dataBinder:w,Data:Y,SimpleData:J,Model:jt,State:C,Builder:v,router:P,Component:Ct});var l=(t,e)=>({...t,children:e}),Bs=t=>({...t,tag:"DOCTYPE"}),Ms=o((t,e)=>l({...t,tag:"html"},e)),Ls=o((t,e)=>l({...t,tag:"script"},e)),Hs=o((t,e)=>l({...t,tag:"style"},e)),Ns=o((t,e)=>l({...t,tag:"head"},e)),Is=t=>({...t}),Rs=t=>({...t,tag:"meta"}),_s=o((t,e)=>l({...t,tag:"body"},e)),Us=o((t,e)=>l(t,e)),Ws=o((t,e)=>l({...t,tag:"dialog"},e)),Fs=o((t,e)=>l({...t,tag:"span"},e)),$s=o((t,e)=>l({...t,tag:"p"},e)),qs=o((t,e)=>l({...t,tag:"a"},e)),Pr=o((t,e)=>l({...t,tag:"button"},e)),Vs=o((t,e)=>Pr({...t,type:"submit"},e)),zs=o((t,e)=>l({...t,tag:"ul"},e)),Ys=o((t,e)=>l({...t,tag:"li"},e)),Js=o(t=>l({...t,tag:"img"},null)),Gs=o(t=>l({...t,tag:"br"},null)),Ks=o(t=>l({...t,tag:"hr"},null)),Xs=o((t,e)=>l({...t,tag:"text"},e)),Qs=o((t,e)=>l({...t,tag:"h1"},e)),Zs=o((t,e)=>l({...t,tag:"h2"},e)),ti=o((t,e)=>l({...t,tag:"h3"},e)),ei=o((t,e)=>l({...t,tag:"h4"},e)),ri=o((t,e)=>l({...t,tag:"h5"},e)),si=o((t,e)=>l({...t,tag:"h6"},e)),Br=o(t=>l({...t,tag:"input"},null)),ii=o((t,e)=>l({...t,tag:"label"},e)),ai=o(t=>Br({...t,type:"checkbox"})),ni=o((t,e)=>l({...t,tag:"section"},e)),oi=o((t,e)=>l({...t,tag:"article"},e)),li=o((t,e)=>l({...t,tag:"header"},e)),hi=o((t,e)=>l({...t,tag:"footer"},e)),ci=o((t,e)=>l({...t,tag:"nav"},e)),ui=o((t,e)=>l({...t,tag:"aside"},e)),pi=o((t,e)=>l({...t,tag:"figure"},e)),di=o((t,e)=>l({...t,tag:"figcaption"},e)),fi=o((t,e)=>l({...t,tag:"main"},e)),gi=o((t,e)=>l({...t,tag:"video"},e)),bi=o((t,e)=>l({...t,tag:"audio"},e)),mi=o((t,e)=>l({...t,tag:"table"},e)),yi=o((t,e)=>l({...t,tag:"tr"},e)),vi=o((t,e)=>l({...t,tag:"th"},e)),xi=o((t,e)=>l({...t,tag:"td"},e)),ki=o((t,e)=>l({...t,tag:"thead"},e)),wi=o((t,e)=>l({...t,tag:"tbody"},e)),Si=o((t,e)=>l({...t,tag:"tfoot"},e)),ji=o((t,e)=>l({...t,tag:"form"},e)),Ei=o((t,e)=>l({...t,tag:"select"},e)),Ai=o((t,e)=>l({...t,tag:"option"},e)),Ci=o((t,e)=>l({...t,tag:"textarea"},e)),Ti=o((t,e)=>l({...t,tag:"canvas"},e)),Di=o((t,e)=>l({...t,tag:"progress"},e)),Oi=o((t,e)=>l({...t,tag:"blockquote"},e)),Pi=o((t,e)=>l({...t,tag:"pre"},e)),Bi=o((t,e)=>l({...t,tag:"code"},e)),Mi=o((t,e)=>l({...t,tag:"ol"},e)),Li=o((t,e)=>l({...t,tag:"dl"},e)),Hi=o((t,e)=>l({...t,tag:"dt"},e)),Ni=o((t,e)=>l({...t,tag:"dd"},e)),Ii=o((t,e)=>l({...t,tag:"fieldset"},e)),Ri=o((t,e)=>l({...t,tag:"legend"},e)),_i=o((t,e)=>l({...t,tag:"meter"},e)),Ui=o((t,e)=>l({...t,tag:"iframe"},e)),Wi=o((t,e)=>l({...t,tag:"details"},e)),Fi=o((t,e)=>l({...t,tag:"summary"},e)),$i=o((t,e)=>l({...t,tag:"em"},e)),qi=o((t,e)=>l({...t,tag:"strong"},e)),Vi=o((t,e)=>l({...t,tag:"small"},e)),zi=o((t,e)=>l({...t,tag:"s"},e)),Yi=o((t,e)=>l({...t,tag:"cite"},e)),Ji=o((t,e)=>l({...t,tag:"q"},e)),Gi=o((t,e)=>l({...t,tag:"dfn"},e)),Ki=o((t,e)=>l({...t,tag:"abbr"},e)),Xi=o((t,e)=>l({...t,tag:"data"},e)),Qi=o((t,e)=>l({...t,tag:"time"},e)),Zi=o((t,e)=>l({...t,tag:"var"},e)),ta=o((t,e)=>l({...t,tag:"samp"},e)),ea=o((t,e)=>l({...t,tag:"kbd"},e)),ra=o((t,e)=>l({...t,tag:"sub"},e)),sa=o((t,e)=>l({...t,tag:"sup"},e)),ia=o((t,e)=>l({...t,tag:"i"},e)),aa=o((t,e)=>l({...t,tag:"b"},e)),na=o((t,e)=>l({...t,tag:"u"},e)),oa=o((t,e)=>l({...t,tag:"mark"},e)),la=o((t,e)=>l({...t,tag:"ruby"},e)),ha=o((t,e)=>l({...t,tag:"rt"},e)),ca=o((t,e)=>l({...t,tag:"rp"},e)),ua=o((t,e)=>l({...t,tag:"bdi"},e)),pa=o((t,e)=>l({...t,tag:"bdo"},e)),da=o(t=>l({...t,tag:"wbr"},null));export{qs as A,Ki as Abbr,oi as Article,ui as Aside,bi as Audio,aa as B,ua as Bdi,pa as Bdo,Oi as Blockquote,_s as Body,Gs as Br,Pr as Button,Ti as Canvas,ai as Checkbox,Yi as Cite,Bi as Code,Xi as Data,Ni as Dd,Wi as Details,Gi as Dfn,Ws as Dialog,Us as Div,Li as Dl,Bs as Doctype,Hi as Dt,$i as Em,Ii as Fieldset,di as Figcaption,pi as Figure,hi as Footer,ji as Form,Qs as H1,Zs as H2,ti as H3,ei as H4,ri as H5,si as H6,Ns as Head,li as Header,Ks as Hr,Ms as Html,ia as I,Ui as Iframe,Js as Img,Br as Input,ea as Kbd,ii as Label,Ri as Legend,Ys as Li,fi as Main,oa as Mark,Rs as Meta,_i as Meter,ci as Nav,Mi as Ol,Ai as Option,$s as P,Pi as Pre,Di as Progress,Ji as Q,ca as Rp,ha as Rt,la as Ruby,zi as S,ta as Samp,Ls as Script,ni as Section,Ei as Select,Vi as Small,Fs as Span,qi as Strong,Hs as Style,ra as Sub,Vs as SubmitButton,Fi as Summary,sa as Sup,mi as Table,wi as Tbody,xi as Td,Xs as Text,Ci as Textarea,Si as Tfoot,vi as Th,ki as Thead,Qi as Time,Is as Title,yi as Tr,na as U,zs as Ul,Zi as Var,gi as Video,da as Wbr};
2
2
  //# sourceMappingURL=atoms.js.map