New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

crs-binding

Package Overview
Dependencies
Maintainers
1
Versions
143
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

crs-binding - npm Package Compare versions

Comparing version 0.0.50 to 0.0.51

2

crs-bindable-element.js

@@ -1,1 +0,1 @@

class t extends HTMLElement{get html(){return""}constructor(){super(),crsbinding.events.enableEvents(this),crsbinding.dom.enableEvents(this)}dispose(){crsbinding.events.disableEvents(this),crsbinding.dom.disableEvents(this)}async connectedCallback(){this.innerHTML=await fetch(this.html).then(t=>t.text()),await crsbinding.parsers.parseElements(this.children,this),crsbinding.expression.updateUI(this),this.dispatchEvent(new CustomEvent("ready"))}async disconnectedCallback(){this.dispose(),null!=this.observer&&(this.observer.disconnect(),this.attributesChangedHandler=null,this.observer=null),crsbinding.observation.releaseBinding(this)}getProperty(t){let e=this[`_${t}`];return null==e&&null!=this.getAttribute&&(e=this.getAttribute(t)),e}setProperty(t,e){this[`_${t}`]=e,crsbinding.events.notifyPropertyChanged(this,t)}observeAttributes(t){this.attributesChangedHandler=this.attributesChanged.bind(this),this.observer=new MutationObserver(this.attributesChangedHandler),this.observer.observe(this,{attributes:!0,attributeFilter:t,attributeOldValue:!0})}attributesChanged(t){for(let e of t){const t=`${e.attributeName}AttributeChanged`;null!=this[t]&&this[t](e.target[e.attributeName],e.oldValue)}}}export{t as BindableElement};
class t extends HTMLElement{constructor(){super(),crsbinding.events.enableEvents(this),crsbinding.dom.enableEvents(this)}dispose(){crsbinding.events.disableEvents(this),crsbinding.dom.disableEvents(this)}async connectedCallback(){null!=this.html&&(this.innerHTML=await fetch(this.html).then(t=>t.text()),await crsbinding.parsers.parseElements(this.children,this),crsbinding.expression.updateUI(this)),this.dispatchEvent(new CustomEvent("ready"))}async disconnectedCallback(){this.dispose(),null!=this.observer&&(this.observer.disconnect(),this.attributesChangedHandler=null,this.observer=null),crsbinding.observation.releaseBinding(this)}getProperty(t){let e=this[`_${t}`];return null==e&&null!=this.getAttribute&&(e=this.getAttribute(t)),e}setProperty(t,e){this[`_${t}`]=e,crsbinding.events.notifyPropertyChanged(this,t)}observeAttributes(t){this.attributesChangedHandler=this.attributesChanged.bind(this),this.observer=new MutationObserver(this.attributesChangedHandler),this.observer.observe(this,{attributes:!0,attributeFilter:t,attributeOldValue:!0})}attributesChanged(t){for(let e of t){const t=`${e.attributeName}AttributeChanged`;null!=this[t]&&this[t](e.target[e.attributeName],e.oldValue)}}}export{t as BindableElement};

@@ -1,1 +0,1 @@

const e=Object.getPrototypeOf((async function(){})).constructor;function t(t,n,i){n=n||[];let s=!0,r=!1,l="context";if(null!=i&&(null!=i.sanitize&&(s=i.sanitize),null!=i.async&&(r=i.async),null!=i.ctxName&&(l=i.ctxName)),crsbinding._expFn.has(t)){const e=crsbinding._expFn.get(t);return e.count+=1,e}let o,a=t;if(1==s){if(o=crsbinding.expression.sanitize(t,l),crsbinding._expFn.has(o.expression)){const e=crsbinding._expFn.get(o.expression);return e.count+=1,e}a=!0===o.isLiteral?["return `",o.expression,"`"].join(""):`return ${o.expression}`}else o={expression:t};const _={function:1==r?new e(l,...n,a):new Function(l,...n,a),parameters:o,count:1};return crsbinding._expFn.set(o.expression,_),_}const n="_isArray";function i(e){e[n]=!0,null==e._events&&crsbinding.events.enableEvents(e);for(let t=0;t<e.length;t++)e[t]=crsbinding.observation.observe(e[t]),e[t].__index=t;return new Proxy(e,{get:o})}function s(e){crsbinding.events.disableEvents(e),e.forEach(e=>crsbinding.observation.releaseObserved(e))}const r=["pop","slice","splice"],l=["push"];function o(e,t){const n=e[t];return"function"==typeof n?(...n)=>{const i=e[t](...n);return-1!=r.indexOf(t)?function(e,t){if(null==t)return;if(crsbinding.events.notifyPropertyChanged(e,"items-deleted",t),Array.isArray(t))for(let e of t)a(e);else a(t)}(e,i):-1!=l.indexOf(t)&&function(e,t){if(null==t)return;const n=[];if(Array.isArray(t))for(let i of t)_(e,i,n);else _(e,t);crsbinding.events.notifyPropertyChanged(e,"items-added",{items:t,indexes:n})}(e,n),i}:n}function a(e){crsbinding.observation.releaseObserved(e)}function _(e,t,n){const i=e.indexOf(t);n.push(i),e[i]=crsbinding.observation.observe(t)}const c="_isProxy",h="__backup";function d(e){if(1==e._isArray)return s(e);crsbinding.events.disableEvents(e);const t=Object.keys(e);for(let n of t)Array.isArray(e[n])&&s(e[n]);null!=e.dispose&&(e._disposing=!0,e.dispose()),delete e[c],delete e[h]}function p(e,t){return e[t]}function u(e,t,n){return"_disposing"==t||1==e._disposing||(!!(null!=n&&n.indexOf&&n.indexOf(".")>0)||function(e,t,n){const i=e[h],s=e[t];e[t]=function(e,t){if(e&&1==e._isProxy&&t&&1!=t._isProxy)return crsbinding.observation.observe(t,e);return t}(e[t],n),crsbinding.events.notifyPropertyChanged(e,t),null!=e.propertyChanged&&e.propertyChanged(n,s);!function(e){return e&&"object"==typeof e&&1==e[c]}(s)?-1==x.indexOf(t)&&-1==t.indexOf("__")&&(i[t]=s):d(s);return!0}(e,t,n))}const x=["isProxy","_isProxy","element"];function f(e){if(-1==e.indexOf("("))return e;const t=[];for(let n of e.split(".")){if(-1!=n.indexOf("("))break;t.push(n)}return t.join(".")}const m=["true","false","-","+","=","<",">","(",")","{","}","/","&","|","=","!","'","`",'"'," ","$",".",",","?",":"],g=[".","(",")",","],v=["'",'"',"`"],b=["'",'"'];function y(e,t,n){return t.length>0&&(e.push(t.join("")),t.length=0),e.push(n),!1}class O{constructor(e,t,n,i,s){this._element=e,this._context=t,this._property=n,this._value=i,this._ctxName=s||"context",this._eventsToRemove=[],this._isNamedContext="context"!=this._ctxName,crsbinding.providerManager.register(this),this.initialize().catch(e=>{throw e})}dispose(){this._eventsToRemove.forEach(e=>{crsbinding.events.removeOn(this._context,e.value,e.callback)}),this._eventsToRemove.length=0,this._eventsToRemove=null,this._element=null,this._context=null,this._property=null,this._value=null,this._ctxName=null}async initialize(){}listenOnPath(e,t){if(1!=Array.isArray(e))this._isNamedContext&&(e=e.replace(`${this._ctxName}.`,"")),-1==e.indexOf(".")?crsbinding.events.listenOn(this._context,e,t):crsbinding.events.listenOnPath(this._context,e,t),this._eventsToRemove.push({value:e,callback:t});else for(let n of e)this.listenOnPath(n,t)}}const j='requestAnimationFrame(() => element.__property__ = value || "")',w='element.setAttribute("__property__", value || "")',E="requestAnimationFrame(() => element.__property__ = (__exp__) ? __true__ : __false__)",C='element.dataset["__property__"] = value || ""',A="\nif (element.__classList!=null) {\n const remove = Array.isArray(element.__classList) ? element.__classList : [element.__classList];\n remove.forEach(cls => element.classList.remove(cls));\n}",N="\nelement.__classList = value;\nconst add = Array.isArray(value) ? value : [value];\nadd.forEach(cls => element.classList.add(cls));",H=`${A} ${N}`,P=`\n ${A}\n\n if (__exp__) {\n ${N.split("value").join("__true__")}\n }\n else {\n ${N.split("value").join("__false__")}\n }\n`;class $ extends O{dispose(){null!=this._expObj&&(crsbinding.expression.release(this._expObj),delete this._expObj),null!=this._getObj&&(crsbinding.expression.release(this._getObj),delete this._getObj),this._exp=null,this._eventHandler=null,super.dispose()}async initialize(){if("$context"==this._value)return this.setContext();this._eventHandler=this.propertyChanged.bind(this),this._exp=function(e){let t;if("classlist"==e._property.toLocaleLowerCase())return H;if(-1!=e._property.indexOf("data-")){const t=e._property.replace("data-","");return C.split("__property__").join(t)}return(t=-1==e._property.indexOf("-")?j:w).split("__property__").join(e._property)}(this),this._expObj=crsbinding.expression.compile(this._exp,["element","value"],{sanitize:!1,ctxName:this._ctxName}),-1!=this._value.indexOf(".")&&(this._getObj=crsbinding.expression.compile(this._value,null,{ctxName:this._ctxName})),this.listenOnPath(this._value,this._eventHandler)}setContext(){null!=this._element&&null!=this._property&&(this._element[this._property]=this._context)}propertyChanged(e,t){let n=t;null!=this._getObj&&(n=this._getObj.function(this._context)),crsbinding.idleTaskManager.add(this._expObj.function(this._context,this._element,n))}}class k extends ${dispose(){this._element.removeEventListener("change",this._changeHandler),this._changeHandler=null,crsbinding.expression.release(this._setObj),delete this._setObj,super.dispose()}async initialize(){await super.initialize(),this._changeHandler=this._change.bind(this),this._element.addEventListener("change",this._changeHandler);const e=1==this._isNamedContext?`${this._value} = value`:`context.${this._value} = value`;this._setObj=crsbinding.expression.compile(e,["value"],{sanitize:!1,ctxName:this._ctxName})}_change(e){let t=e.target[this._property];const n=`_${e.target.type||"text"}`;null!=this[n]&&(t=this[n](t,e.target)),this._setObj.function(this._context,t),e.stopPropagation()}_number(e){return Number(e)}_date(e){return new Date(e)}_checkbox(e,t){return 1==t.checked}}function z(e,t,n,i,s){return"context"==s?function(e,t,n,i){const s=new Function("context",`return context.${i}`);T(e,n,s(t))}(e,t,n,i):function(e,t,n,i,s){const r=new Function(s,`return ${i}`);T(e,n,r(t))}(e,t,n,i,s),null}function T(e,t,n){if(-1==t.indexOf("data-"))e[t]=n;else{const i=t.replace("data-","");e.dataset[i]=n}}class L extends O{constructor(e,t,n,i,s){super(e,t,n,i,s),this._eventHandler=this.event.bind(this),this._element.addEventListener(this._property,this._eventHandler)}dispose(){this._element.removeEventListener(this._property,this._eventHandler),this._eventHandler=null,this._fn=null,super.dispose()}async initialize(){let e=`context.${this._value}`.split("$event").join("event");-1==e.indexOf(")")&&(e=`${e}.call(context)`),this._fn=new Function("context",e)}event(e){crsbinding.idleTaskManager.add(this._fn(this._context)),e.stopPropagation()}}class F extends O{constructor(e,t,n,i,s){super(e,t,n,i,s),this._eventHandler=this._change.bind(this),this._expObj=crsbinding.expression.compile(e.innerText,null,{ctxName:this._ctxName});for(let e of this._expObj.parameters.properties)this.listenOnPath(e,this._eventHandler)}dispose(){crsbinding.expression.release(this._expObj),this._expObj=null,super.dispose(),this._eventHandler=null}_change(){null!=this._expObj&&(this._element.innerText=this._expObj.function(this._context))}}class I extends O{get ar(){return this._ar}set ar(e){null!=this._ar&&(crsbinding.events.removeOn(this._ar,"items-added",this._itemsAddedHandler),crsbinding.events.removeOn(this._ar,"items-deleted",this._itemsDeletedHandler)),this._ar=e,null!=this._ar&&(crsbinding.events.on(this._ar,"items-added",this._itemsAddedHandler),crsbinding.events.on(this._ar,"items-deleted",this._itemsDeletedHandler))}constructor(e,t,n,i,s){super(e,t,n,i,s),this._itemsAddedHandler=this._itemsAdded.bind(this),this._itemsDeletedHandler=this._itemsDeleted.bind(this)}dispose(){this.ar=null,crsbinding.expression.release(this._forExp),this._forExp=null,this._itemsAddedHandler=null,this._itemsDeletedHandler=null,this._singular=null,this._plural=null,this._container=null,this._collectionChangedHandler=null,super.dispose()}async initialize(){this._container=this._element.parentElement,this._container.removeChild(this._element);const e=this._value.split("of");this._singular=e[0].trim(),this._plural=e[1].trim();const t=M.split("_p").join(this._singular).split("_c").join("context"==this._ctxName?`context.${this._plural}`:this._plural);this._forExp=crsbinding.expression.compile(t,["callback"],{sanitize:!1,async:!0,ctxName:this._ctxName}),this._collectionChangedHandler=this._collectionChanged.bind(this),this.listenOnPath(this._plural,this._collectionChangedHandler)}async _collectionChanged(e,t){if(Array.isArray(t))this.ar=t;else{const e=new Function("context",`return context.${this._plural}`);this.ar=e(this._context)}await this._renderItems()}async _renderItems(){if(await crsbinding.observation.releaseChildBinding(this._container),this._container.innerHTML="",null==this.ar)return;const e=document.createDocumentFragment();await this._forExp.function(this._context,async t=>{const n=this._element.content.cloneNode(!0);await crsbinding.parsers.parseElement(n,t,this._singular),e.appendChild(n)}),this._container.appendChild(e),crsbinding.expression.updateUI(this.ar),null==this._container.__providers&&(this._container.__providers=[]),this._container.__providers.push(this.id)}async _itemsAdded(){await this._renderItems()}async _itemsDeleted(){await this._renderItems()}}const M="for (_p of _c || []) {await callback(_p);}";class D extends O{constructor(e,t,n,i,s){super(e,t,n,i,s)}dispose(){crsbinding.expression.release(this._expObj),delete this._expObj,this._eventHandler=null,super.dispose()}async initialize(){this._eventHandler=this.propertyChanged.bind(this),-1==this._value.indexOf("?")?this._initCndAttr():-1!=this._value.indexOf(":")?this._initCndValue():this._initCndAttrValue()}_initCndAttr(){const e=crsbinding.expression.sanitize(this._value,this._ctxName),t=R.split("__exp__").join(e.expression).split("__attr__").join(this._property).split("__attr-value__").join(this._property);this._expObj=crsbinding.expression.compile(t,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(e.properties,this._eventHandler)}_initCndValue(){const e=crsbinding.expression.sanitize(this._value,this._ctxName),t=e.expression.split("?"),n=t[1].split(":"),i=q.split("__exp__").join(t[0].trim()).split("__attr__").join(this._property).split("__true__").join(n[0].trim()).split("__false__").join(n[1].trim());this._expObj=crsbinding.expression.compile(i,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(e.properties,this._eventHandler)}_initCndAttrValue(){const e=crsbinding.expression.sanitize(this._value,this._ctxName),t=e.expression.split("?"),n=R.split("__exp__").join(t[0].trim()).split("__attr__").join(this._property).split("__attr-value__").join(t[1].trim());this._expObj=crsbinding.expression.compile(n,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(e.properties,this._eventHandler)}propertyChanged(){crsbinding.idleTaskManager.add(this._expObj.function(this._context,this._element))}}const R='\nif (__exp__) {\n element.setAttribute("__attr__", "__attr-value__");\n}\nelse {\n element.removeAttribute("__attr__");\n}\n',q='\nif (__exp__) {\n element.setAttribute("__attr__", "__true__");\n}\nelse {\n element.setAttribute("__attr__", "__false__");\n}\n';class V extends O{constructor(e,t,n,i,s){super(e,t,n,i,s)}dispose(){crsbinding.expression.release(this._expObj),delete this._expObj,this._eventHandler=null,super.dispose()}async initialize(){this._eventHandler=this.propertyChanged.bind(this);const e=this._value.split("?"),t=crsbinding.expression.sanitize(e[0],this._ctxName),n=t.expression,i=e[1].split(":"),s=i[0].trim(),r=i.length>1?i[1].trim():"[]",l=P.split("__property__").join(this._property).split("__exp__").join(n).split("__true__").join(s).split("__false__").join(r);this._expObj=crsbinding.expression.compile(l,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(t.properties,this._eventHandler)}propertyChanged(){crsbinding.idleTaskManager.add(this._expObj.function(this._context,this._element))}}class B extends O{constructor(e,t,n,i,s){super(e,t,n,i,s)}dispose(){crsbinding.expression.release(this._expObj),delete this._expObj,this._eventHandler=null,super.dispose()}async initialize(){this._eventHandler=this.propertyChanged.bind(this);const e=crsbinding.expression.sanitize(this._value,this._ctxName),t=e.expression.split("?"),n=t[0].trim(),i=t[1].split(":"),s=i[0].trim(),r=i.length>1?i[1].trim():'""',l=E.split("__property__").join(this._property).split("__exp__").join(n).split("__true__").join(s).split("__false__").join(r);this._expObj=crsbinding.expression.compile(l,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(e.properties,this._eventHandler)}propertyChanged(){crsbinding.idleTaskManager.add(this._expObj.function(this._context,this._element))}}class Q extends O{constructor(e,t,n,i,s){super(e,t,n,i,s),this._eventHandler=this._change.bind(this),this._expObj=crsbinding.expression.compile(i,null,{ctxName:this._ctxName});for(let e of this._expObj.parameters.properties)this.listenOnPath(e,this._eventHandler)}dispose(){crsbinding.expression.release(this._expObj),this._expObj=null,super.dispose(),this._eventHandler=null}_change(){if(null==this._expObj)return;const e=this._expObj.function(this._context);this._element.setAttribute(this._property,e)}}class U{static bind(e,t,n,i,s){return-1!=["value","checked"].indexOf(n)?new k(e,t,n,i,s):(console.log("forced a one way on non event properties of element"),this["one-way"](e,t,n,i,s))}static"two-way"(e,t,n,i,s){return this.bind(e,t,n,i,s)}static"one-way"(e,t,n,i,s){return new $(e,t,n,i,s)}static once(e,t,n,i,s){return z(e,t,n,i,s)}static call(e,t,n,i,s){return new L(e,t,n,i,s)}static delegate(e,t,n,i,s){return new L(e,t,n,i,s)}static inner(e,t,n,i,s){return new F(e,t,n,i,s)}static for(e,t,n,i,s){return new I(e,t,n,i,s)}static if(e,t,n,i,s){return"classlist"==n.toLowerCase()?new V(e,t,n,i,s):-1!=n.toLowerCase().indexOf("style.")?new B(e,t,n,i,s):new D(e,t,n,i,s)}static attr(e,t,n,i,s){return new Q(e,t,n,i,s)}}async function W(e,t,n="context"){for(let i of e||[])await G(i,t,n)}async function G(e,t,n="context"){await W(e.children,t,n);const i=Array.from(e.attributes||[]).filter(e=>"TEMPLATE"==e.ownerElement.tagName&&"for"==e.name||-1!=e.name.indexOf(".")||0==(e.value||"").indexOf("${"));await async function(e,t,n){for(let i of e)await J(i,t,n)}(i,t,n),e.children&&0==e.children.length&&-1!=(e.innerText||"").indexOf("${")&&U.inner(e,t,null,null,n)}async function J(e,t,n){const i=e.name.split(".");let s=2==i.length?i[0]:i.slice(0,i.length-1).join("."),r="for"==s?s:i[i.length-1];0==s.length&&"$"==e.value[0]&&(s=r,r="attr"),U[r](e.ownerElement,t,s,e.value,n),e.ownerElement.removeAttribute(e.nodeName)}async function K(e){await crsbinding.providerManager.releaseElement(e)}globalThis.requestIdleCallback=globalThis.requestIdleCallback||function(e){const t=Date.now();return setTimeout((function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})}),1)},globalThis.cancelIdleCallback=globalThis.cancelIdleCallback||function(e){clearTimeout(e)};function S(e){if(0==e.isProxy)return;if(Array.isArray(e))return X(e);const t=e.constructor.properties||Object.keys(e).filter(e=>-1==e.indexOf("__")&&"_isProxy"!=e);for(let n of t)crsbinding.events.notifyPropertyChanged(e,n),Array.isArray(e[n])&&X(e[n])}function X(e){e.forEach(e=>S(e))}function Y(e,t,n){crsbinding.events.on(e,t.trim(),n)}function Z(e,t){this.addEventListener(e,t),this._domEvents.push({event:e,callback:t})}function ee(e,t){const n=this._domEvents.find(n=>n.event==e&&n.callback==t);null!=n&&(this.removeEventListener(n.event,n.callback),this._domEvents.splice(this._domEvents.indexOf(n),1),n.callback=null,n.event=null)}const te={_expFn:new Map,idleTaskManager:new class{constructor(){this.processing=!1,this._list=[]}dispose(){this._list=null}add(e){e&&this._list.push(e),!this.processing&&this._processQueue()}_processQueue(){if(null==requestIdleCallback)return this._runNextFunction();this.processing=!0,requestIdleCallback(e=>{for(;(e.timeRemaining()>0||e.didTimeout)&&this._list.length;)this._runNextFunction();this.processing=!1},{timeout:1e3})}_runNextFunction(){let e=this._list.shift();e&&e()}},providerManager:new class{constructor(){this._nextId=0,this.items=new Map}async register(e){e.id=this._nextId,null==e._element.__providers&&Reflect.set(e._element,"__providers",[]),e._element.__providers.push(this._nextId),this.items.set(this._nextId,e),this._nextId+=1}async releaseElement(e){for(let t of e.children||[])await this.releaseElement(t);if(null!=e.__providers){for(let t of e.__providers){const e=this.items.get(t);this.items.delete(t),e&&e.dispose()}e.__providers=null}}},expression:{sanitize:function(e,t="context"){const n="context"!=t,i=`${t}.`,s=function(e,t){let n=[],i=[],s=!1;for(let t=0;t<e.length;t++){const r=e[t];1==s&&"$"==r&&"{"==e[t+1]&&(s=!1),1==s?-1==b.indexOf(r)?i.push(r):(y(n,i,r),s=!1):-1!=m.indexOf(r)?(y(n,i,r),-1!=b.indexOf(r)&&(s=!0)):i.push(r)}i.length>0&&n.push(i.join(""));null!=t&&(n=function e(t,n){const i=t.indexOf(n);if(-1==i)return t;"."==t[i+1]&&(t.splice(i,2),-1!=t.indexOf(n)&&e(t,n));return t}(n,t));return n}(e,n?t:null);if(1==s.length)return{isLiteral:!1,expression:`${i}${s[0]}`,properties:[e]};const r=[],l=-1!=e.indexOf("${");let o=null,a=[],_=[];for(let e=0;e<s.length;e++){const t=s[e];-1!=v.indexOf(o)||-1!=m.indexOf(t)&&-1==g.indexOf(t)?(o=t,a.length>0&&(0!=l&&"}"!=o||(_.push(e-a.length),r.push(f(`${a.join("")}`))),a.length=0)):(a.push(t),o=t)}n&&a.length>0&&(0!=l&&"}"!=o||(_.push(s.length-1),r.push(f(`${a.join("")}`)))),0==_.length&&-1!=e.indexOf(".")&&_.push(0);for(let e=0;e<_.length;e++)s.splice(e+_[e],0,i);return{isLiteral:l,expression:s.join(""),properties:r}},compile:t,release:function(e){if(null==e||"object"!=typeof e)return;const t=e.parameters.expression;if(crsbinding._expFn.has(t)){const e=crsbinding._expFn.get(t);e.count-=1,0==e.count&&(e.function=null,e.parameters=null,crsbinding._expFn.delete(t))}},updateUI:S},observation:{observe:function(e,t){if(e[c]=!0,crsbinding.events.enableEvents(e),Array.isArray(e))return i(e);e[h]={},null!=t&&(e.__events=t.__events,delete t.__events);const n=Object.keys(e);for(let t of n)Array.isArray(e[t])&&(e[t]=i(e[t]));return new Proxy(e,{get:p,set:u})},releaseObserved:d,releaseBinding:K,releaseChildBinding:async function(e){for(let t of e.children)await K(t)}},parsers:{parseElement:G,parseElements:W},events:{enableEvents:function(e){e.__events=new Map,e.__conditions=new Map},disableEvents:function(e){null!=e.__events&&(e.__events.forEach(e=>{e.length=0}),e.__events.clear(),delete e.__events),e.__conditions&&(e.__conditions.forEach(e=>{delete e.fn,delete e.properties}),e.__conditions.clear(),delete e.__conditions)},when:function(e,n,i){let s=e.__events.get(n)||[];s=[...s,i],e.__events.set(n,s);const r=t(n);let l=e.__conditions.get(n);if(null==l){l={fn:()=>{if(1==r.function(e))for(let e of s)e()},properties:r.parameters.properties.slice(0)},e.__conditions.set(n,l)}const o=r.parameters.properties;for(let t of o)crsbinding.events.on(e,t,l.fn)},on:function(e,t,n){if(null==e||null==e.__events)return;let i=e.__events.get(t)||[];i=[...i,n],e.__events.set(t,i)},notifyPropertyChanged:function(e,t,n){if(null==e.__events||0==e.__events.has(t))return;const i=e.__events.get(t);for(let s of i)s(t,e[t],n);const s=`${t}Changed`;null!=e[s]&&e[s].call(e,n)},removeOn:function(e,t,n){if(null==e||null==e.__events)return;const i=e.__events.get(t)||[],s=i.indexOf(n);-1!=s&&(i.splice(s,1),e.__events.set(t,i)),0==i.length&&e.__events.delete(t)},removeWhen:function(e,t,n){crsbinding.events.removeOn(e,t,n);const i=e.__conditions.get(t);for(let t of i.properties)crsbinding.events.removeOn(e,t,i.fn);delete i.fn,delete i.properties,e.__conditions.delete(t)},listenOn:Y,listenOnPath:function(e,t,n){let i=e;const s=t.split(".");for(let e=0;e<s.length;e++){const t=s[e];e==s.length-1?Y(i,t,n):(null==i[t]&&(i[t]=crsbinding.observation.observe({})),Y(i,t,n),i=i[t])}}},dom:{enableEvents:function(e){e._domEvents=[],e.registerEvent=Z,e.unregisterEvent=ee},disableEvents:function(e){if(null!=e._domEvents){for(let t of e._domEvents)t.callback=null,t.event=null;e._domEvents.length=0,delete e._domEvents,delete e.registerEvent,delete e.unregisterEvent}}}};globalThis.crsbinding=te;export{te as crsbinding};
const e=Object.getPrototypeOf((async function(){})).constructor;function t(t,n,i){n=n||[];let s=!0,r=!1,l="context";if(null!=i&&(null!=i.sanitize&&(s=i.sanitize),null!=i.async&&(r=i.async),null!=i.ctxName&&(l=i.ctxName)),crsbinding._expFn.has(t)){const e=crsbinding._expFn.get(t);return e.count+=1,e}let o,a=t;if(1==s){if(o=crsbinding.expression.sanitize(t,l),crsbinding._expFn.has(o.expression)){const e=crsbinding._expFn.get(o.expression);return e.count+=1,e}a=!0===o.isLiteral?["return `",o.expression,"`"].join(""):`return ${o.expression}`}else o={expression:t};const _={function:1==r?new e(l,...n,a):new Function(l,...n,a),parameters:o,count:1};return crsbinding._expFn.set(o.expression,_),_}function n(e,t,i){if(-1!=t.indexOf("."))return function(e,t,i){const s=t.split(".");for(let t of s)n(e,t,i),e=e[t]}(e,t,i);if(null==e||null==e.__events)return;const s=e.__events.get(t)||[],r=s.indexOf(i);-1!=r&&(s.splice(r,1),e.__events.set(t,s)),0==s.length&&e.__events.delete(t)}const i="__isArray";function s(e){e[i]=!0,null==e._events&&crsbinding.events.enableEvents(e);for(let t=0;t<e.length;t++)e[t]=crsbinding.observation.observe(e[t]),e[t].__index=t;return new Proxy(e,{get:a})}function r(e){crsbinding.events.disableEvents(e),e.forEach(e=>crsbinding.observation.releaseObserved(e))}const l=["pop","slice","splice"],o=["push"];function a(e,t){const n=e[t];return"function"==typeof n?(...n)=>{const i=e[t](...n);return-1!=l.indexOf(t)?function(e,t){if(null==t)return;if(crsbinding.events.notifyPropertyChanged(e,"items-deleted",t),Array.isArray(t))for(let e of t)_(e);else _(t)}(e,i):-1!=o.indexOf(t)&&function(e,t){if(null==t)return;const n=[];if(Array.isArray(t))for(let i of t)c(e,i,n);else c(e,t);crsbinding.events.notifyPropertyChanged(e,"items-added",{items:t,indexes:n})}(e,n),i}:n}function _(e){crsbinding.observation.releaseObserved(e)}function c(e,t,n){const i=e.indexOf(t);n.push(i),e[i]=crsbinding.observation.observe(t)}const h="__isProxy",d="__backup";function p(e){if(1==e.__isArray)return r(e);crsbinding.events.disableEvents(e);const t=Object.keys(e);for(let n of t)Array.isArray(e[n])&&r(e[n]);null!=e.dispose&&(e._disposing=!0,e.dispose()),delete e[h],delete e[d]}function u(e,t){return e[t]}function x(e,t,n){return"_disposing"==t||1==e._disposing||(!!(null!=n&&n.indexOf&&n.indexOf(".")>0)||function(e,t,n){const i=e[d],s=e[t];e[t]=function(e,t){if(e&&1==e.__isProxy&&t&&1!=t.__isProxy)return crsbinding.observation.observe(t,e);return t}(e[t],n),crsbinding.events.notifyPropertyChanged(e,t),null!=e.propertyChanged&&e.propertyChanged(n,s);!function(e){return e&&"object"==typeof e&&1==e[h]}(s)?-1==f.indexOf(t)&&-1==t.indexOf("__")&&(i[t]=s):p(s);return!0}(e,t,n))}const f=["__isProxy","element"];function m(e){if(-1==e.indexOf("("))return e;const t=[];for(let n of e.split(".")){if(-1!=n.indexOf("("))break;t.push(n)}return t.join(".")}const v=["true","false","-","+","=","<",">","(",")","{","}","/","&","|","=","!","'","`",'"'," ","$",".",",","?",":","null","undefined"],g=[".","(",")",","],b=["'",'"',"`"],y=["'",'"'];function O(e,t,n){return t.length>0&&(e.push(t.join("")),t.length=0),e.push(n),!1}class j{constructor(e,t,n,i,s){this._element=e,this._context=t,this._property=n,this._value=i,this._ctxName=s||"context",this._eventsToRemove=[],this._isNamedContext="context"!=this._ctxName,crsbinding.providerManager.register(this),this.initialize().catch(e=>{throw e}),-1!=this._element.nodeName.indexOf("-")&&this._property==this._ctxName&&(this._element[this._property]=this._context)}dispose(){this._eventsToRemove.forEach(e=>{crsbinding.events.removeOn(this._context,e.value,e.callback)}),this._eventsToRemove.length=0,this._eventsToRemove=null,this._element=null,this._context=null,this._property=null,this._value=null,this._ctxName=null}async initialize(){}listenOnPath(e,t){if(1!=Array.isArray(e))this._isNamedContext&&(e=e.replace(`${this._ctxName}.`,"")),-1==e.indexOf(".")?crsbinding.events.listenOn(this._context,e,t):crsbinding.events.listenOnPath(this._context,e,t),this._eventsToRemove.push({value:e,callback:t});else for(let n of e)this.listenOnPath(n,t)}removeOn(e,t){crsbinding.events.removeOn(this._context,e,t)}}const w='requestAnimationFrame(() => element.__property__ = value || "")',E='element.setAttribute("__property__", value || "")',N="requestAnimationFrame(() => element.__property__ = (__exp__) ? __true__ : __false__)",C='element.dataset["__property__"] = value || ""',A="\nif (element.__classList!=null) {\n const remove = Array.isArray(element.__classList) ? element.__classList : [element.__classList];\n remove.forEach(cls => element.classList.remove(cls));\n}",H="\nelement.__classList = value;\nconst add = Array.isArray(value) ? value : [value];\nadd.forEach(cls => element.classList.add(cls));",$=`${A} ${H}`,P=`\n ${A}\n\n if (__exp__) {\n ${H.split("value").join("__true__")}\n }\n else {\n ${H.split("value").join("__false__")}\n }\n`;class k extends j{dispose(){const e=`${this._ctxName}.`;0==this._value.indexOf(e)&&(this._value=this._value.replace(e,"")),this.removeOn(this._value,this._eventHandler),null!=this._expObj&&(crsbinding.expression.release(this._expObj),delete this._expObj),null!=this._getObj&&(crsbinding.expression.release(this._getObj),delete this._getObj),this._exp=null,this._eventHandler=null,super.dispose()}async initialize(){if("$context"==this._value)return this.setContext();this._eventHandler=this.propertyChanged.bind(this),this._exp=function(e){let t;if("classlist"==e._property.toLocaleLowerCase())return $;if(-1!=e._property.indexOf("data-")){const t=e._property.replace("data-","");return C.split("__property__").join(t)}return(t=-1==e._property.indexOf("-")?w:E).split("__property__").join(e._property)}(this),this._expObj=crsbinding.expression.compile(this._exp,["element","value"],{sanitize:!1,ctxName:this._ctxName}),-1!=this._value.indexOf(".")&&(this._getObj=crsbinding.expression.compile(this._value,null,{ctxName:this._ctxName})),this.listenOnPath(this._value,this._eventHandler)}setContext(){null!=this._element&&null!=this._property&&(this._element[this._property]=this._context)}propertyChanged(e,t){let n=t;null!=this._getObj&&(n=this._getObj.function(this._context)),crsbinding.idleTaskManager.add(this._expObj.function(this._context,this._element,n))}}class z extends k{dispose(){this._element.removeEventListener("change",this._changeHandler),this._changeHandler=null,crsbinding.expression.release(this._setObj),delete this._setObj,super.dispose()}async initialize(){await super.initialize(),this._changeHandler=this._change.bind(this),this._element.addEventListener("change",this._changeHandler);const e=1==this._isNamedContext?`${this._value} = value`:`context.${this._value} = value`;this._setObj=crsbinding.expression.compile(e,["value"],{sanitize:!1,ctxName:this._ctxName})}_change(e){let t=e.target[this._property];const n=`_${e.target.type||"text"}`;null!=this[n]&&(t=this[n](t,e.target)),this._setObj.function(this._context,t),e.stopPropagation()}_number(e){return Number(e)}_date(e){return new Date(e)}_checkbox(e,t){return 1==t.checked}}function T(e,t,n,i,s){return"context"==s?function(e,t,n,i){const s=new Function("context",`return context.${i}`);L(e,n,s(t))}(e,t,n,i):function(e,t,n,i,s){const r=new Function(s,`return ${i}`);L(e,n,r(t))}(e,t,n,i,s),null}function L(e,t,n){if(-1==t.indexOf("data-"))e[t]=n;else{const i=t.replace("data-","");e.dataset[i]=n}}class F extends j{constructor(e,t,n,i,s){super(e,t,n,i,s),this._eventHandler=this.event.bind(this),this._element.addEventListener(this._property,this._eventHandler)}dispose(){this._element.removeEventListener(this._property,this._eventHandler),this._eventHandler=null,this._fn=null,super.dispose()}async initialize(){let e=`context.${this._value}`.split("$event").join("event");-1==e.indexOf(")")&&(e=`${e}.call(context)`),this._fn=new Function("context",e)}event(e){crsbinding.idleTaskManager.add(this._fn(this._context)),e.stopPropagation()}}class I extends j{constructor(e,t,n,i,s){super(e,t,n,i,s),this._eventHandler=this._change.bind(this),this._expObj=crsbinding.expression.compile(e.innerText,null,{ctxName:this._ctxName});for(let e of this._expObj.parameters.properties)this.listenOnPath(e,this._eventHandler);this._change()}dispose(){crsbinding.expression.release(this._expObj),this._expObj=null,super.dispose(),this._eventHandler=null}_change(){null!=this._expObj&&(this._element.innerText=this._expObj.function(this._context))}}class M extends j{get ar(){return this._ar}set ar(e){null!=this._ar&&(crsbinding.events.removeOn(this._ar,"items-added",this._itemsAddedHandler),crsbinding.events.removeOn(this._ar,"items-deleted",this._itemsDeletedHandler)),this._ar=e,null!=this._ar&&(crsbinding.events.on(this._ar,"items-added",this._itemsAddedHandler),crsbinding.events.on(this._ar,"items-deleted",this._itemsDeletedHandler))}constructor(e,t,n,i,s){super(e,t,n,i,s),this._itemsAddedHandler=this._itemsAdded.bind(this),this._itemsDeletedHandler=this._itemsDeleted.bind(this)}dispose(){this.ar=null,crsbinding.expression.release(this._forExp),this._forExp=null,this._itemsAddedHandler=null,this._itemsDeletedHandler=null,this._singular=null,this._plural=null,this._container=null,this._collectionChangedHandler=null,super.dispose()}async initialize(){this._container=this._element.parentElement,this._container.removeChild(this._element);const e=this._value.split("of");this._singular=e[0].trim(),this._plural=e[1].trim();const t=D.split("_p").join(this._singular).split("_c").join("context"==this._ctxName?`context.${this._plural}`:this._plural);this._forExp=crsbinding.expression.compile(t,["callback"],{sanitize:!1,async:!0,ctxName:this._ctxName}),this._collectionChangedHandler=this._collectionChanged.bind(this),this.listenOnPath(this._plural,this._collectionChangedHandler)}async _collectionChanged(e,t){if(Array.isArray(t))this.ar=t;else{const e=new Function("context",`return context.${this._plural}`);this.ar=e(this._context)}await this._renderItems()}async _renderItems(){if(await crsbinding.observation.releaseChildBinding(this._container),this._container.innerHTML="",null==this.ar)return;const e=document.createDocumentFragment();await this._forExp.function(this._context,async t=>{const n=this._element.content.cloneNode(!0);await crsbinding.parsers.parseElement(n,t,this._singular),e.appendChild(n)}),this._container.appendChild(e),crsbinding.expression.updateUI(this.ar),null==this._container.__providers&&(this._container.__providers=[]),this._container.__providers.push(this.id)}async _itemsAdded(){await this._renderItems()}async _itemsDeleted(){await this._renderItems()}}const D="for (_p of _c || []) {await callback(_p);}";class R extends j{constructor(e,t,n,i,s){super(e,t,n,i,s)}dispose(){crsbinding.expression.release(this._expObj),delete this._expObj,this._eventHandler=null,super.dispose()}async initialize(){this._eventHandler=this.propertyChanged.bind(this),-1==this._value.indexOf("?")?this._initCndAttr():-1!=this._value.indexOf(":")?this._initCndValue():this._initCndAttrValue()}_initCndAttr(){const e=crsbinding.expression.sanitize(this._value,this._ctxName),t=q.split("__exp__").join(e.expression).split("__attr__").join(this._property).split("__attr-value__").join(this._property);this._expObj=crsbinding.expression.compile(t,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(e.properties,this._eventHandler)}_initCndValue(){const e=crsbinding.expression.sanitize(this._value,this._ctxName),t=e.expression.split("?"),n=t[1].split(":"),i=V.split("__exp__").join(t[0].trim()).split("__attr__").join(this._property).split("__true__").join(n[0].trim()).split("__false__").join(n[1].trim());this._expObj=crsbinding.expression.compile(i,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(e.properties,this._eventHandler)}_initCndAttrValue(){const e=crsbinding.expression.sanitize(this._value,this._ctxName),t=e.expression.split("?"),n=q.split("__exp__").join(t[0].trim()).split("__attr__").join(this._property).split("__attr-value__").join(t[1].trim());this._expObj=crsbinding.expression.compile(n,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(e.properties,this._eventHandler)}propertyChanged(){crsbinding.idleTaskManager.add(this._expObj.function(this._context,this._element))}}const q='\nif (__exp__) {\n element.setAttribute("__attr__", "__attr-value__");\n}\nelse {\n element.removeAttribute("__attr__");\n}\n',V='\nif (__exp__) {\n element.setAttribute("__attr__", "__true__");\n}\nelse {\n element.setAttribute("__attr__", "__false__");\n}\n';class B extends j{constructor(e,t,n,i,s){super(e,t,n,i,s)}dispose(){crsbinding.expression.release(this._expObj),delete this._expObj,this._eventHandler=null,super.dispose()}async initialize(){this._eventHandler=this.propertyChanged.bind(this);const e=this._value.split("?"),t=crsbinding.expression.sanitize(e[0],this._ctxName),n=t.expression,i=e[1].split(":"),s=i[0].trim(),r=i.length>1?i[1].trim():"[]",l=P.split("__property__").join(this._property).split("__exp__").join(n).split("__true__").join(s).split("__false__").join(r);this._expObj=crsbinding.expression.compile(l,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(t.properties,this._eventHandler)}propertyChanged(){crsbinding.idleTaskManager.add(this._expObj.function(this._context,this._element))}}class Q extends j{constructor(e,t,n,i,s){super(e,t,n,i,s)}dispose(){crsbinding.expression.release(this._expObj),delete this._expObj,this._eventHandler=null,super.dispose()}async initialize(){this._eventHandler=this.propertyChanged.bind(this);const e=crsbinding.expression.sanitize(this._value,this._ctxName),t=e.expression.split("?"),n=t[0].trim(),i=t[1].split(":"),s=i[0].trim(),r=i.length>1?i[1].trim():'""',l=N.split("__property__").join(this._property).split("__exp__").join(n).split("__true__").join(s).split("__false__").join(r);this._expObj=crsbinding.expression.compile(l,["element"],{sanitize:!1,ctxName:this._ctxName}),this.listenOnPath(e.properties,this._eventHandler)}propertyChanged(){crsbinding.idleTaskManager.add(this._expObj.function(this._context,this._element))}}class U extends j{constructor(e,t,n,i,s){super(e,t,n,i,s),this._eventHandler=this._change.bind(this),this._expObj=crsbinding.expression.compile(i,null,{ctxName:this._ctxName});for(let e of this._expObj.parameters.properties)this.listenOnPath(e,this._eventHandler)}dispose(){crsbinding.expression.release(this._expObj),this._expObj=null,super.dispose(),this._eventHandler=null}_change(){if(null==this._expObj)return;const e=this._expObj.function(this._context);this._element.setAttribute(this._property,e)}}class W{static bind(e,t,n,i,s){return-1!=["value","checked"].indexOf(n)?new z(e,t,n,i,s):this["one-way"](e,t,n,i,s)}static"two-way"(e,t,n,i,s){return this.bind(e,t,n,i,s)}static"one-way"(e,t,n,i,s){return new k(e,t,n,i,s)}static once(e,t,n,i,s){return T(e,t,n,i,s)}static call(e,t,n,i,s){return new F(e,t,n,i,s)}static delegate(e,t,n,i,s){return new F(e,t,n,i,s)}static inner(e,t,n,i,s){return new I(e,t,n,i,s)}static for(e,t,n,i,s){return new M(e,t,n,i,s)}static if(e,t,n,i,s){return"classlist"==n.toLowerCase()?new B(e,t,n,i,s):-1!=n.toLowerCase().indexOf("style.")?new Q(e,t,n,i,s):new R(e,t,n,i,s)}static attr(e,t,n,i,s){return new U(e,t,n,i,s)}}async function G(e,t,n="context"){for(let i of e||[])await J(i,t,n)}async function J(e,t,n="context"){await G(e.children,t,n);const i=Array.from(e.attributes||[]).filter(e=>"TEMPLATE"==e.ownerElement.tagName&&"for"==e.name||-1!=e.name.indexOf(".")||0==(e.value||"").indexOf("${"));await async function(e,t,n){for(let i of e)await K(i,t,n)}(i,t,n),e.children&&0==e.children.length&&-1!=(e.innerText||"").indexOf("${")&&W.inner(e,t,null,null,n)}async function K(e,t,n){const i=e.name.split(".");let s=2==i.length?i[0]:i.slice(0,i.length-1).join("."),r="for"==s?s:i[i.length-1];0==s.length&&"$"==e.value[0]&&(s=r,r="attr"),W[r](e.ownerElement,t,s,e.value,n),e.ownerElement.removeAttribute(e.nodeName)}async function S(e){await crsbinding.providerManager.releaseElement(e)}globalThis.requestIdleCallback=globalThis.requestIdleCallback||function(e){const t=Date.now();return setTimeout((function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})}),1)},globalThis.cancelIdleCallback=globalThis.cancelIdleCallback||function(e){clearTimeout(e)};function X(e){if(0==e.__isProxy)return;if(Array.isArray(e))return Y(e);const t=e.constructor.properties||Object.keys(e).filter(e=>-1==e.indexOf("__")&&"__isProxy"!=e);for(let n of t)crsbinding.events.notifyPropertyChanged(e,n),Array.isArray(e[n])&&Y(e[n])}function Y(e){e.forEach(e=>X(e))}function Z(e,t,n){crsbinding.events.on(e,t.trim(),n)}function ee(e,t){this.addEventListener(e,t),this._domEvents.push({event:e,callback:t})}function te(e,t){const n=this._domEvents.find(n=>n.event==e&&n.callback==t);null!=n&&(this.removeEventListener(n.event,n.callback),this._domEvents.splice(this._domEvents.indexOf(n),1),n.callback=null,n.event=null)}const ne={_expFn:new Map,idleTaskManager:new class{constructor(){this.processing=!1,this._list=[]}dispose(){this._list=null}add(e){e&&this._list.push(e),!this.processing&&this._processQueue()}_processQueue(){if(null==requestIdleCallback)return this._runNextFunction();this.processing=!0,requestIdleCallback(e=>{for(;(e.timeRemaining()>0||e.didTimeout)&&this._list.length;)this._runNextFunction();this.processing=!1},{timeout:1e3})}_runNextFunction(){let e=this._list.shift();e&&e()}},providerManager:new class{constructor(){this._nextId=0,this.items=new Map}async register(e){e.id=this._nextId,null==e._element.__providers&&Reflect.set(e._element,"__providers",[]),e._element.__providers.push(this._nextId),this.items.set(this._nextId,e),this._nextId+=1}async releaseElement(e){for(let t of e.children||[])await this.releaseElement(t);if(null!=e.__providers){for(let t of e.__providers){const e=this.items.get(t);this.items.delete(t),e&&e.dispose()}e.__providers=null}}},expression:{sanitize:function(e,t="context"){const n="context"!=t,i=`${t}.`,s=function(e,t){let n=[],i=[],s=!1;for(let t=0;t<e.length;t++){const r=e[t];1==s&&"$"==r&&"{"==e[t+1]&&(s=!1),1==s?-1==y.indexOf(r)?i.push(r):(O(n,i,r),s=!1):-1!=v.indexOf(r)?(O(n,i,r),-1!=y.indexOf(r)&&(s=!0)):i.push(r)}i.length>0&&n.push(i.join(""));null!=t&&(n=function e(t,n){const i=t.indexOf(n);if(-1==i)return t;"."==t[i+1]&&(t.splice(i,2),-1!=t.indexOf(n)&&e(t,n));return t}(n,t));return n}(e,n?t:null);if(1==s.length)return{isLiteral:!1,expression:`${i}${s[0]}`,properties:[e]};const r=[],l=-1!=e.indexOf("${");let o=null,a=[],_=[];for(let e=0;e<s.length;e++){const t=s[e];-1!=b.indexOf(o)||-1!=v.indexOf(t)&&-1==g.indexOf(t)?(o=t,a.length>0&&(0!=l&&"}"!=o||(_.push(e-a.length),r.push(m(`${a.join("")}`))),a.length=0)):(a.push(t),o=t)}n&&a.length>0&&(0!=l&&"}"!=o||(_.push(s.length-1),r.push(m(`${a.join("")}`)))),0==_.length&&-1!=e.indexOf(".")&&_.push(0);for(let e=0;e<_.length;e++)s.splice(e+_[e],0,i);return{isLiteral:l,expression:s.join(""),properties:r}},compile:t,release:function(e){if(null==e||"object"!=typeof e)return;const t=e.parameters.expression;if(crsbinding._expFn.has(t)){const e=crsbinding._expFn.get(t);e.count-=1,0==e.count&&(e.function=null,e.parameters=null,crsbinding._expFn.delete(t))}},updateUI:X},observation:{observe:function(e,t){if(e[h]=!0,crsbinding.events.enableEvents(e),Array.isArray(e))return s(e);e[d]={},null!=t&&(e.__events=t.__events,delete t.__events);const n=Object.keys(e);for(let t of n)Array.isArray(e[t])&&(e[t]=s(e[t]));return new Proxy(e,{get:u,set:x})},releaseObserved:p,releaseBinding:S,releaseChildBinding:async function(e){for(let t of e.children)await S(t)}},parsers:{parseElement:J,parseElements:G},events:{enableEvents:function(e){e.__events=new Map,e.__conditions=new Map},disableEvents:function(e){null!=e.__events&&(e.__events.forEach(e=>{e.length=0}),e.__events.clear(),delete e.__events),e.__conditions&&(e.__conditions.forEach(e=>{delete e.fn,delete e.properties}),e.__conditions.clear(),delete e.__conditions)},when:function(e,n,i){let s=e.__events.get(n)||[];s=[...s,i],e.__events.set(n,s);const r=t(n);let l=e.__conditions.get(n);if(null==l){l={fn:()=>{if(1==r.function(e))for(let e of s)e()},properties:r.parameters.properties.slice(0)},e.__conditions.set(n,l)}const o=r.parameters.properties;for(let t of o)crsbinding.events.on(e,t,l.fn)},on:function(e,t,n){if(null==e||null==e.__events)return;let i=e.__events.get(t)||[];i=[...i,n],e.__events.set(t,i)},notifyPropertyChanged:function(e,t,n){if(null==e.__events||0==e.__events.has(t))return;const i=e.__events.get(t);for(let s of i)s(t,e[t],n);const s=`${t}Changed`;null!=e[s]&&e[s].call(e,n)},removeOn:n,removeWhen:function(e,t,n){crsbinding.events.removeOn(e,t,n);const i=e.__conditions.get(t);for(let t of i.properties)crsbinding.events.removeOn(e,t,i.fn);delete i.fn,delete i.properties,e.__conditions.delete(t)},listenOn:Z,listenOnPath:function(e,t,n){let i=e;const s=t.split(".");for(let e=0;e<s.length;e++){const t=s[e];e==s.length-1?Z(i,t,n):(null==i[t]&&(i[t]=crsbinding.observation.observe({})),Z(i,t,n),i=i[t])}}},dom:{enableEvents:function(e){e._domEvents=[],e.registerEvent=ee,e.unregisterEvent=te},disableEvents:function(e){if(null!=e._domEvents){for(let t of e._domEvents)t.callback=null,t.event=null;e._domEvents.length=0,delete e._domEvents,delete e.registerEvent,delete e.unregisterEvent}}}};globalThis.crsbinding=ne;export{ne as crsbinding};

@@ -1,1 +0,1 @@

const e=Object.getPrototypeOf((async function(){})).constructor;function n(e){e.__events=new Map,e.__conditions=new Map}function t(e){null!=e.__events&&(e.__events.forEach(e=>{e.length=0}),e.__events.clear(),delete e.__events),e.__conditions&&(e.__conditions.forEach(e=>{delete e.fn,delete e.properties}),e.__conditions.clear(),delete e.__conditions)}function s(n,t,s){let i=n.__events.get(t)||[];i=[...i,s],n.__events.set(t,i);const o=function(n,t,s){t=t||[];let i=!0,o=!1,r="context";if(null!=s&&(null!=s.sanitize&&(i=s.sanitize),null!=s.async&&(o=s.async),null!=s.ctxName&&(r=s.ctxName)),crsbinding._expFn.has(n)){const e=crsbinding._expFn.get(n);return e.count+=1,e}let c,_=n;if(1==i){if(c=crsbinding.expression.sanitize(n,r),crsbinding._expFn.has(c.expression)){const e=crsbinding._expFn.get(c.expression);return e.count+=1,e}_=!0===c.isLiteral?["return `",c.expression,"`"].join(""):`return ${c.expression}`}else c={expression:n};const l={function:1==o?new e(r,...t,_):new Function(r,...t,_),parameters:c,count:1};return crsbinding._expFn.set(c.expression,l),l}(t);let r=n.__conditions.get(t);if(null==r){r={fn:()=>{if(1==o.function(n))for(let e of i)e()},properties:o.parameters.properties.slice(0)},n.__conditions.set(t,r)}const c=o.parameters.properties;for(let e of c)crsbinding.events.on(n,e,r.fn)}function i(e,n,t){crsbinding.events.removeOn(e,n,t);const s=e.__conditions.get(n);for(let n of s.properties)crsbinding.events.removeOn(e,n,s.fn);delete s.fn,delete s.properties,e.__conditions.delete(n)}function o(e,n,t){if(null==e||null==e.__events)return;let s=e.__events.get(n)||[];s=[...s,t],e.__events.set(n,s)}function r(e,n,t){if(null==e||null==e.__events)return;const s=e.__events.get(n)||[],i=s.indexOf(t);-1!=i&&(s.splice(i,1),e.__events.set(n,s)),0==s.length&&e.__events.delete(n)}function c(e,n,t){if(null==e.__events||0==e.__events.has(n))return;const s=e.__events.get(n);for(let i of s)i(n,e[n],t);const i=`${n}Changed`;null!=e[i]&&e[i].call(e,t)}export{t as disableEvents,n as enableEvents,c as notifyPropertyChanged,o as on,r as removeOn,i as removeWhen,s as when};
const e=Object.getPrototypeOf((async function(){})).constructor;function n(e){e.__events=new Map,e.__conditions=new Map}function t(e){null!=e.__events&&(e.__events.forEach(e=>{e.length=0}),e.__events.clear(),delete e.__events),e.__conditions&&(e.__conditions.forEach(e=>{delete e.fn,delete e.properties}),e.__conditions.clear(),delete e.__conditions)}function s(n,t,s){let i=n.__events.get(t)||[];i=[...i,s],n.__events.set(t,i);const o=function(n,t,s){t=t||[];let i=!0,o=!1,r="context";if(null!=s&&(null!=s.sanitize&&(i=s.sanitize),null!=s.async&&(o=s.async),null!=s.ctxName&&(r=s.ctxName)),crsbinding._expFn.has(n)){const e=crsbinding._expFn.get(n);return e.count+=1,e}let c,_=n;if(1==i){if(c=crsbinding.expression.sanitize(n,r),crsbinding._expFn.has(c.expression)){const e=crsbinding._expFn.get(c.expression);return e.count+=1,e}_=!0===c.isLiteral?["return `",c.expression,"`"].join(""):`return ${c.expression}`}else c={expression:n};const l={function:1==o?new e(r,...t,_):new Function(r,...t,_),parameters:c,count:1};return crsbinding._expFn.set(c.expression,l),l}(t);let r=n.__conditions.get(t);if(null==r){r={fn:()=>{if(1==o.function(n))for(let e of i)e()},properties:o.parameters.properties.slice(0)},n.__conditions.set(t,r)}const c=o.parameters.properties;for(let e of c)crsbinding.events.on(n,e,r.fn)}function i(e,n,t){crsbinding.events.removeOn(e,n,t);const s=e.__conditions.get(n);for(let n of s.properties)crsbinding.events.removeOn(e,n,s.fn);delete s.fn,delete s.properties,e.__conditions.delete(n)}function o(e,n,t){if(null==e||null==e.__events)return;let s=e.__events.get(n)||[];s=[...s,t],e.__events.set(n,s)}function r(e,n,t){if(-1!=n.indexOf("."))return function(e,n,t){const s=n.split(".");for(let n of s)r(e,n,t),e=e[n]}(e,n,t);if(null==e||null==e.__events)return;const s=e.__events.get(n)||[],i=s.indexOf(t);-1!=i&&(s.splice(i,1),e.__events.set(n,s)),0==s.length&&e.__events.delete(n)}function c(e,n,t){if(null==e.__events||0==e.__events.has(n))return;const s=e.__events.get(n);for(let i of s)i(n,e[n],t);const i=`${n}Changed`;null!=e[i]&&e[i].call(e,t)}export{t as disableEvents,n as enableEvents,c as notifyPropertyChanged,o as on,r as removeOn,i as removeWhen,s as when};

@@ -1,1 +0,1 @@

class e{static get properties(){return["title"]}get title(){return this._title}set title(e){this._title=e}get element(){return this._element}set element(e){null!=e&&(e.style.display="none"),this._element=e}constructor(e){this.element=e}async connectedCallback(){this.isProxy=!0,crsbinding.events.enableEvents(this),crsbinding.parsers.parseElement(this.element,this).then(()=>this._loaded()).catch(e=>console.error(e))}async disconnectedCallback(){await crsbinding.observation.releaseBinding(this.element),crsbinding.events.disableEvents(this)}getProperty(e){let t=this[`_${e}`];return null==t&&null!=this.getAttribute&&(t=this.getAttribute(e)),t}setProperty(e,t){this[`_${e}`]=t,crsbinding.events.notifyPropertyChanged(this,e)}_loaded(){crsbinding.expression.updateUI(this),this.element.style.display="block"}}export{e as ViewBase};
class e{static get properties(){return["title"]}get title(){return this._title}set title(e){this._title=e}get element(){return this._element}set element(e){null!=e&&(e.style.display="none"),this._element=e}constructor(e){this.element=e}async connectedCallback(){this.__isProxy=!0,crsbinding.events.enableEvents(this),crsbinding.parsers.parseElement(this.element,this).then(()=>this._loaded()).catch(e=>console.error(e))}async disconnectedCallback(){await crsbinding.observation.releaseBinding(this.element),crsbinding.events.disableEvents(this)}getProperty(e){let t=this[`_${e}`];return null==t&&null!=this.getAttribute&&(t=this.getAttribute(e)),t}setProperty(e,t){this[`_${e}`]=t,crsbinding.events.notifyPropertyChanged(this,e)}_loaded(){crsbinding.expression.updateUI(this),this.element.style.display="block"}}export{e as ViewBase};
{
"name": "crs-binding",
"version": "0.0.50",
"version": "0.0.51",
"description": "",

@@ -5,0 +5,0 @@ "main": "index.js",

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc