rumious 0.0.3 → 0.0.5
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/index.cjs.js +1 -1
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.esm.min.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.min.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";class e{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class t{constructor(){this.element=null,this.props={},this.renderContext=new e(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function n(e){return Object.getPrototypeOf(e)===t}class r{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class o{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function i(e){return"function"==typeof e}class s{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){console.warn("Directive haven't handler !")}}class a extends s{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return console.warn(`Missing event handler for event: ${this.name}`),null;const n=t.get(e);if(!i(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!i(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class l extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){if("html"===this.name)e.innerHTML=this.normalizeValue(t)}}class c extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class u extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const p={on:(e,t)=>new a("on",e,t),bind:(e,t)=>new l("bind",e,t),ref:(e,t,n="element")=>new c("ref",e,t),childsRef:(e,t)=>new u("childsRef",e,t)};function f(...e){return new r("FRAGMENT",{},h(e))}function h(e){return e.map((e=>"object"==typeof e?e:new r("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...i){return n(e)?function(e,t,n){return new r("COMPONENT",{component:e,...t},new o(h(n)))}(e,t,i):e===f?f(...i):new r(e,t||{},h(i))},createFragment:f,createDirective:function(e,t,n){return function(e,t,n){return p[e]?.(t,n)}(e,t,n)}};class d extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp()}}function y(){return document.createElement("a-component")}function g(e,t,n,r){const o=function(e,t,n,r){const o=y();return o.init(e,t,n,r),o}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([e,t])=>{t instanceof s&&m(o,t,r)})),t.appendChild(o),t}function v(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof s?m(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}function m(e,t,n){t.init(e,n)}function b(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?g(e,t,b,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>b(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):v(e,n),e.children.forEach((e=>b(e,r,n))),t.appendChild(r),t)}window.customElements.define("a-component",d);class w{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}addBinding(e){this.bindings.push(e)}}class O{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const M="remove",E="replace",j="add",S=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),k=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),R=Symbol.iterator,x={mutable:"mutable",immutable:"immutable"},A={};function P(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function C(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function z(e){return Object.getPrototypeOf(e)===Set.prototype}function D(e){return Object.getPrototypeOf(e)===Map.prototype}function T(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function _(e){return!!I(e)}function I(e){return"object"!=typeof e?null:null==e?void 0:e[S]}function N(e){var t;const n=I(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function F(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,x))===x.immutable||"function"==typeof n)}function V(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=I(q(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const o=3===e.parent.type,i=o?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(o&&n.size>i||P(n,i)))return null;t.push(i)}if(e.parent)return V(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=q(3===L(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function L(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function q(e,t){return 2===L(e)?e.get(t):e[t]}function $(e,t,n){2===L(e)?e.set(t,n):e[t]=n}function U(e,t){const n=I(e);return(n?T(n):e)[t]}function W(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function B(e){if(e)for(;e.finalities.revoke.length>0;){e.finalities.revoke.pop()()}}function K(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const X=Object.prototype.propertyIsEnumerable;function H(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set){if(!z(e)){return new(0,Object.getPrototypeOf(e).constructor)(e.values())}return Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values())}if(e instanceof Map){if(!D(e)){return new(0,Object.getPrototypeOf(e).constructor)(e)}return new Map(e)}if((null==t?void 0:t.mark)&&(n=t.mark(e,x),void 0!==n)&&n!==x.mutable){if(n===x.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{X.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function Y(e){e.copy||(e.copy=H(e.original,e.options))}function G(e){if(!F(e))return N(e);if(Array.isArray(e))return e.map(G);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,G(t)]));if(!D(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Map(t)}if(e instanceof Set){const t=Array.from(e).map(G);if(!z(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Set(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=G(e[n]);return t}function Z(e){return _(e)?G(e):e}function J(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&J(e.parent))}function Q(){throw new Error("Cannot modify frozen object")}function ee(e,t,n,r,o){{n=null!=n?n:new WeakMap,r=null!=r?r:[],o=null!=o?o:[];const i=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(i);if(i&&"object"==typeof i&&-1!==e){if(r[0]===i)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${o.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(i),o.push(t)}else r.push(i)}if(Object.isFrozen(e)||_(e))return r.pop(),void o.pop();switch(L(e)){case 2:for(const[t,i]of e)ee(t,t,n,r,o),ee(i,t,n,r,o);e.set=e.clear=e.delete=Q;break;case 3:for(const t of e)ee(t,t,n,r,o);e.add=e.clear=e.delete=Q;break;case 1:Object.freeze(e);let t=0;for(const i of e)ee(i,t,n,r,o),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{ee(e[t],t,n,r,o)}))}r.pop(),o.pop()}function te(e,t){const n=L(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function ne(e,t,n){if(_(e)||!F(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,o=r?new Map:void 0;if(t.add(e),te(e,((i,s)=>{var a;if(_(s)){const t=I(s);Y(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;$(r?o:e,i,n)}else ne(s,t,n)})),o){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(o.has(e)?o.get(e):e)}))}}function re(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&ne(q(n,t),e.finalities.handledSet,e.options)}function oe(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(N(t))})))}function ie(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const o=V(e);o&&t(e,o,n,r)}e.finalized=!0}}function se(e,t,n,r){const o=I(n);o&&(o.callbacks||(o.callbacks=[]),o.callbacks.push(((i,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if(W(q(l,t),n)){let n=o.original;o.copy&&(n=o.copy),oe(e),ie(e,r,i,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,o.original)),$(l,t,n)}})),e.options.enableAutoFreeze&&o.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),F(n,e.options)&&e.finalities.draft.push((()=>{W(q(3===e.type?e.setMap:e.copy,t),n)&&re(e,t)}))}function ae(e,t,n,r){const{pathAsArray:o=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,o,i,s){n.forEach(((n,a)=>{const l=q(e,a),c=Z(q(t,a)),u=n?P(e,a)?E:j:M;if(W(l,c)&&u===E)return;const p=K(r.concat(a),s);o.push(u===M?{op:u,path:p}:{op:u,path:p,value:c}),i.push(u===j?{op:M,path:p}:u===M?{op:j,path:p,value:l}:{op:E,path:p,value:l})}))}(e,t,n,r,o);case 1:return function(e,t,n,r,o){let{original:i,assignedMap:s,options:a}=e,l=e.copy;l.length<i.length&&([i,l]=[l,i],[n,r]=[r,n]);for(let e=0;e<i.length;e+=1)if(s.get(e.toString())&&l[e]!==i[e]){const s=K(t.concat([e]),o);n.push({op:E,path:s,value:Z(l[e])}),r.push({op:E,path:s,value:Z(i[e])})}for(let e=i.length;e<l.length;e+=1){const r=K(t.concat([e]),o);n.push({op:j,path:r,value:Z(l[e])})}if(i.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=K(t.concat(["length"]),o);r.push({op:E,path:e,value:i.length})}else for(let e=l.length;i.length<e;e-=1){const n=K(t.concat([e-1]),o);r.push({op:M,path:n})}}}(e,t,n,r,o);case 3:return function({original:e,copy:t},n,r,o,i){let s=0;e.forEach((e=>{if(!t.has(e)){const t=K(n.concat([s]),i);r.push({op:M,path:t,value:e}),o.unshift({op:j,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=K(n.concat([s]),i);r.push({op:j,path:e,value:t}),o.unshift({op:M,path:e,value:t})}s+=1}))}(e,t,n,r,o)}}const le=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!F(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},ce={get size(){return T(I(this)).size},has(e){return T(I(this)).has(e)},set(e,t){const n=I(this),r=T(n);return r.has(e)&&W(r.get(e),t)||(Y(n),J(n),n.assignedMap.set(e,!0),n.copy.set(e,t),se(n,e,t,ae)),this},delete(e){if(!this.has(e))return!1;const t=I(this);return Y(t),J(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=I(this);if(this.size){Y(e),J(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){T(I(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=I(this),o=T(r).get(e),i=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,o,x))===x.mutable;if(r.options.strict&&le(o,r.options,i),i)return o;if(r.finalized||!F(o,r.options))return o;if(o!==r.original.get(e))return o;const s=A.createDraft({original:o,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return Y(r),r.copy.set(e,s),s},keys(){return T(I(this)).keys()},values(){const e=this.keys();return{[R]:()=>this.values(),next:()=>{const t=e.next();if(t.done)return t;return{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[R]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[R](){return this.entries()}},ue=Reflect.ownKeys(ce),pe=(e,t,{isValuesIterator:n})=>()=>{var r,o;const i=t.next();if(i.done)return i;const s=i.value;let a=e.setMap.get(s);const l=I(a),c=(null===(o=(r=e.options).mark)||void 0===o?void 0:o.call(r,a,x))===x.mutable;if(e.options.strict&&le(s,e.options,c),c||l||!F(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=A.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},fe={get size(){return I(this).setMap.size},has(e){const t=I(this);if(t.setMap.has(e))return!0;Y(t);const n=I(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=I(this);return this.has(e)||(Y(t),J(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),se(t,e,e,ae)),this},delete(e){if(!this.has(e))return!1;const t=I(this);Y(t),J(t);const n=I(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=I(this);Y(e),J(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=I(this);Y(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:pe(e,t,{isValuesIterator:!0})}},entries(){const e=I(this);Y(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:pe(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[R](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(fe,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const he=Reflect.ownKeys(fe),de=new WeakSet,ye={get(e,t,n){var r,o;const i=null===(r=e.copy)||void 0===r?void 0:r[t];if(i&&de.has(i))return i;if(t===S)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,x),s===x.mutable)return e.options.strict&&le(r,e.options,!0),r}const a=T(e);if(a instanceof Map&&ue.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ce,"size").get.call(e.proxy);const n=ce[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&he.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(fe,"size").get.call(e.proxy);const n=fe[t];if(n)return n.bind(e.proxy)}if(!P(a,t)){const n=C(a,t);return n?"value"in n?n.value:null===(o=n.get)||void 0===o?void 0:o.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&le(l,e.options),e.finalized||!F(l,e.options))return l;if(l===U(e.original,t)){if(Y(e),e.copy[t]=ge({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=I(e.copy[t]);return Y(n),J(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let o;if(1===e.type&&"length"!==t&&(!(Number.isInteger(o=Number(t))&&o>=0)||0!==t&&0!==o&&String(o)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const i=C(T(e),t);if(null==i?void 0:i.set)return i.set.call(e.proxy,n),!0;const s=U(T(e),t),a=I(s);return a&&W(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):(W(n,s)&&(void 0!==n||P(e.original,t))||(Y(e),J(e),P(e.original,t)&&W(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,se(e,t,n,ae)),!0)},has:(e,t)=>t in T(e),ownKeys:e=>Reflect.ownKeys(T(e)),getOwnPropertyDescriptor(e,t){const n=T(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?ye.set.call(this,e,t,void 0,e.proxy):(void 0!==U(e.original,t)||t in e.original?(Y(e),J(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function ge(e){const{original:t,parentDraft:n,key:r,finalities:o,options:i}=e,s=L(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:o,options:i,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,ye);if(o.revoke.push(c),de.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var o,i;const s=I(l);let a=3===e.type?e.setMap:e.copy;const c=q(a,r),u=I(c);if(u){let i=u.original;u.operated&&(i=N(c)),oe(u),ie(u,ae,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(o=e.options.updatedValues)&&void 0!==o?o:new WeakMap,e.options.updatedValues.set(i,u.original)),$(a,r,i)}null===(i=s.callbacks)||void 0===i||i.forEach((e=>{e(t,n)}))}))}else{const e=I(l);e.finalities.draft.push(((t,n)=>{oe(e),ie(e,ae,t,n)}))}return l}function ve(e,t,n,r,o){var i;const s=I(e),a=null!==(i=null==s?void 0:s.original)&&void 0!==i?i:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;){s.finalities.draft.pop()(n,r)}const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&B(s),o&&ee(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:E,path:[],value:t[0]}]:n,r&&l?[{op:E,path:[],value:a}]:r]}function me(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:o=!0}=e;te(n,((n,r,o)=>{const i=I(r);if(i&&t&&i.finalities===t.finalities){e.isContainDraft=!0;const t=i.original;if(o instanceof Set){const e=Array.from(o);o.clear(),e.forEach((e=>o.add(n===e?t:e)))}else $(o,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,me(e))})),o&&(e.isContainDraft||console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."),r&&console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."))}function be(e){var t;const n=I(e);if(!F(e,null==n?void 0:n.options))return e;const r=L(e);if(n&&!n.operated)return n.original;let o;function i(){o=2===r?D(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):H(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{i()}finally{n.finalized=!1}}else o=e;if(te(o,((t,r)=>{if(n&&W(q(n.original,t),r))return;const s=be(r);s!==r&&(o===e&&i(),$(o,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:o;return z(e)?new Set(o):new(Object.getPrototypeOf(e).constructor)(o)}return o}function we(e){if(!_(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return be(e)}A.createDraft=ge;const Oe=function e(t,n,r){var o,i,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...o){return e(r,(e=>t.call(this,e,...o)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},Me),c);const u=_(a)?we(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(o=c.enablePatches)&&void 0!==o&&o,h=null!==(i=c.strict)&&void 0!==i&&i,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!F(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let o,i;t.enablePatches&&(o=[],i=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,x))!==x.mutable&&F(e,t)?ge({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=ve(s,e,o,i,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!F(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw B(I(y)),e}const m=e=>{const t=I(y);if(!_(e)){if(void 0!==e&&!W(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[k];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&me({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&me({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=I(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([we(e)])}return g([e])};return v instanceof Promise?v.then(m,(e=>{throw B(I(y)),e})):m(v)};var Me;Object.prototype.constructor.toString();class Ee{constructor(e,t=null){this.value=e,this.reactor=t??new w(this,[])}produce(e){return n=e,void(t=this).set(Oe(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new O(this,"",e[0]):new O(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}class je{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Se{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class ke{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}exports.RumiousApp=class{constructor(t=document.createElement("span"),n={}){this.root=t,this.configs=n,this.renderContext=new e(this)}render(e){b(e,this.root,this.renderContext)}},exports.RumiousChildrensRef=Se,exports.RumiousComponent=t,exports.RumiousComponentElement=d,exports.RumiousComponentRef=ke,exports.RumiousElementRef=je,exports.RumiousState=Ee,exports.createChildrensRef=function(e){return new Se(e)},exports.createComponentElement=y,exports.createComponentRef=function(e){return new ke(e)},exports.createElementRef=function(e){return new je(e)},exports.createState=function(e){return new Ee(e)},exports.isComponent=n,exports.isState=function(e){return e instanceof Ee},exports.watcher=function(e,t){e.reactor.addBinding(t)};
|
1
|
+
"use strict";class e{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class t{constructor(){this.element=null,this.props={},this.renderContext=new e(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function n(e){return Object.getPrototypeOf(e)===t}class r{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class o{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function i(e){return"function"==typeof e}class s{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){console.warn("Directive haven't handler !")}}class a extends s{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return console.warn(`Missing event handler for event: ${this.name}`),null;const n=t.get(e);if(!i(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!i(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class l extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){if("html"===this.name)e.innerHTML=this.normalizeValue(t)}}class c extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class u extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const p={on:(e,t)=>new a("on",e,t),bind:(e,t)=>new l("bind",e,t),ref:(e,t)=>new c("ref",e,t),childsRef:(e,t)=>new u("childsRef",e,t)};function f(...e){return new r("FRAGMENT",{},h(e))}function h(e){return e.map((e=>"object"==typeof e?e:new r("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...i){return n(e)?function(e,t,n){return new r("COMPONENT",{component:e,...t},new o(h(n)))}(e,t,i):e===f?f(...i):new r(e,t||{},h(i))},createFragment:f,createDirective:function(e,t,n){return function(e,t,n){return p[e]?.(t,n)}(e,t,n)}};class d extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}cleanUp(){}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.element=this,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp(),this.cleanUp()}}function y(e="a-component"){let t=Math.floor(9999*Math.random())*Date.now().toString(32);return window.customElements.define(e+t,class extends d{static tag=e+t;cleanUp(){window.customElements(e+t,HTMLUnknownElement)}}),document.createElement(e)}function g(e,t,n,r){const o=function(e,t,n,r){const o=y(e.tag??"r-component");return o.init(e,t,n,r),o}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([,e])=>{e instanceof s&&m(o,e,r)})),t.appendChild(o),t}function v(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof s?m(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}function m(e,t,n){t.init(e,n)}function b(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?g(e,t,b,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>b(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):v(e,n),e.children.forEach((e=>b(e,r,n))),t.appendChild(r),t)}class w{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}removeBinding(e){for(let t=this.bindings.length-1;t>=0;t--)this.bindings[t]===e&&this.bindings.splice(t,1)}addBinding(e){this.bindings.push(e)}}class O{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const M="remove",E="replace",S="add",j=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),R=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),k=Symbol.iterator,x={mutable:"mutable",immutable:"immutable"},P={};function A(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function C(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function T(e){return Object.getPrototypeOf(e)===Set.prototype}function z(e){return Object.getPrototypeOf(e)===Map.prototype}function D(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function _(e){return!!I(e)}function I(e){return"object"!=typeof e?null:null==e?void 0:e[j]}function N(e){var t;const n=I(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function U(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,x))===x.immutable||"function"==typeof n)}function F(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=I(V(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const o=3===e.parent.type,i=o?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(o&&n.size>i||A(n,i)))return null;t.push(i)}if(e.parent)return F(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=V(3===L(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function L(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function V(e,t){return 2===L(e)?e.get(t):e[t]}function q(e,t,n){2===L(e)?e.set(t,n):e[t]=n}function $(e,t){const n=I(e);return(n?D(n):e)[t]}function X(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function B(e){if(e)for(;e.finalities.revoke.length>0;){e.finalities.revoke.pop()()}}function W(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const K=Object.prototype.propertyIsEnumerable;function H(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set){if(!T(e)){return new(0,Object.getPrototypeOf(e).constructor)(e.values())}return Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values())}if(e instanceof Map){if(!z(e)){return new(0,Object.getPrototypeOf(e).constructor)(e)}return new Map(e)}if((null==t?void 0:t.mark)&&(n=t.mark(e,x),void 0!==n)&&n!==x.mutable){if(n===x.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{K.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function Y(e){e.copy||(e.copy=H(e.original,e.options))}function Z(e){if(!U(e))return N(e);if(Array.isArray(e))return e.map(Z);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,Z(t)]));if(!z(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Map(t)}if(e instanceof Set){const t=Array.from(e).map(Z);if(!T(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Set(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=Z(e[n]);return t}function G(e){return _(e)?Z(e):e}function J(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&J(e.parent))}function Q(){throw new Error("Cannot modify frozen object")}function ee(e,t,n,r,o){{n=null!=n?n:new WeakMap,r=null!=r?r:[],o=null!=o?o:[];const i=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(i);if(i&&"object"==typeof i&&-1!==e){if(r[0]===i)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${o.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(i),o.push(t)}else r.push(i)}if(Object.isFrozen(e)||_(e))return r.pop(),void o.pop();switch(L(e)){case 2:for(const[t,i]of e)ee(t,t,n,r,o),ee(i,t,n,r,o);e.set=e.clear=e.delete=Q;break;case 3:for(const t of e)ee(t,t,n,r,o);e.add=e.clear=e.delete=Q;break;case 1:Object.freeze(e);let t=0;for(const i of e)ee(i,t,n,r,o),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{ee(e[t],t,n,r,o)}))}r.pop(),o.pop()}function te(e,t){const n=L(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function ne(e,t,n){if(_(e)||!U(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,o=r?new Map:void 0;if(t.add(e),te(e,((i,s)=>{var a;if(_(s)){const t=I(s);Y(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;q(r?o:e,i,n)}else ne(s,t,n)})),o){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(o.has(e)?o.get(e):e)}))}}function re(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&ne(V(n,t),e.finalities.handledSet,e.options)}function oe(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(N(t))})))}function ie(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const o=F(e);o&&t(e,o,n,r)}e.finalized=!0}}function se(e,t,n,r){const o=I(n);o&&(o.callbacks||(o.callbacks=[]),o.callbacks.push(((i,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if(X(V(l,t),n)){let n=o.original;o.copy&&(n=o.copy),oe(e),ie(e,r,i,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,o.original)),q(l,t,n)}})),e.options.enableAutoFreeze&&o.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),U(n,e.options)&&e.finalities.draft.push((()=>{X(V(3===e.type?e.setMap:e.copy,t),n)&&re(e,t)}))}function ae(e,t,n,r){const{pathAsArray:o=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,o,i,s){n.forEach(((n,a)=>{const l=V(e,a),c=G(V(t,a)),u=n?A(e,a)?E:S:M;if(X(l,c)&&u===E)return;const p=W(r.concat(a),s);o.push(u===M?{op:u,path:p}:{op:u,path:p,value:c}),i.push(u===S?{op:M,path:p}:u===M?{op:S,path:p,value:l}:{op:E,path:p,value:l})}))}(e,t,n,r,o);case 1:return function(e,t,n,r,o){let{original:i,assignedMap:s,options:a}=e,l=e.copy;l.length<i.length&&([i,l]=[l,i],[n,r]=[r,n]);for(let e=0;e<i.length;e+=1)if(s.get(e.toString())&&l[e]!==i[e]){const s=W(t.concat([e]),o);n.push({op:E,path:s,value:G(l[e])}),r.push({op:E,path:s,value:G(i[e])})}for(let e=i.length;e<l.length;e+=1){const r=W(t.concat([e]),o);n.push({op:S,path:r,value:G(l[e])})}if(i.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=W(t.concat(["length"]),o);r.push({op:E,path:e,value:i.length})}else for(let e=l.length;i.length<e;e-=1){const n=W(t.concat([e-1]),o);r.push({op:M,path:n})}}}(e,t,n,r,o);case 3:return function({original:e,copy:t},n,r,o,i){let s=0;e.forEach((e=>{if(!t.has(e)){const t=W(n.concat([s]),i);r.push({op:M,path:t,value:e}),o.unshift({op:S,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=W(n.concat([s]),i);r.push({op:S,path:e,value:t}),o.unshift({op:M,path:e,value:t})}s+=1}))}(e,t,n,r,o)}}const le=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!U(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},ce={get size(){return D(I(this)).size},has(e){return D(I(this)).has(e)},set(e,t){const n=I(this),r=D(n);return r.has(e)&&X(r.get(e),t)||(Y(n),J(n),n.assignedMap.set(e,!0),n.copy.set(e,t),se(n,e,t,ae)),this},delete(e){if(!this.has(e))return!1;const t=I(this);return Y(t),J(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=I(this);if(this.size){Y(e),J(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){D(I(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=I(this),o=D(r).get(e),i=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,o,x))===x.mutable;if(r.options.strict&&le(o,r.options,i),i)return o;if(r.finalized||!U(o,r.options))return o;if(o!==r.original.get(e))return o;const s=P.createDraft({original:o,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return Y(r),r.copy.set(e,s),s},keys(){return D(I(this)).keys()},values(){const e=this.keys();return{[k]:()=>this.values(),next:()=>{const t=e.next();if(t.done)return t;return{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[k]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[k](){return this.entries()}},ue=Reflect.ownKeys(ce),pe=(e,t,{isValuesIterator:n})=>()=>{var r,o;const i=t.next();if(i.done)return i;const s=i.value;let a=e.setMap.get(s);const l=I(a),c=(null===(o=(r=e.options).mark)||void 0===o?void 0:o.call(r,a,x))===x.mutable;if(e.options.strict&&le(s,e.options,c),c||l||!U(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=P.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},fe={get size(){return I(this).setMap.size},has(e){const t=I(this);if(t.setMap.has(e))return!0;Y(t);const n=I(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=I(this);return this.has(e)||(Y(t),J(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),se(t,e,e,ae)),this},delete(e){if(!this.has(e))return!1;const t=I(this);Y(t),J(t);const n=I(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=I(this);Y(e),J(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=I(this);Y(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:pe(e,t,{isValuesIterator:!0})}},entries(){const e=I(this);Y(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:pe(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[k](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(fe,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const he=Reflect.ownKeys(fe),de=new WeakSet,ye={get(e,t,n){var r,o;const i=null===(r=e.copy)||void 0===r?void 0:r[t];if(i&&de.has(i))return i;if(t===j)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,x),s===x.mutable)return e.options.strict&&le(r,e.options,!0),r}const a=D(e);if(a instanceof Map&&ue.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ce,"size").get.call(e.proxy);const n=ce[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&he.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(fe,"size").get.call(e.proxy);const n=fe[t];if(n)return n.bind(e.proxy)}if(!A(a,t)){const n=C(a,t);return n?"value"in n?n.value:null===(o=n.get)||void 0===o?void 0:o.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&le(l,e.options),e.finalized||!U(l,e.options))return l;if(l===$(e.original,t)){if(Y(e),e.copy[t]=ge({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=I(e.copy[t]);return Y(n),J(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let o;if(1===e.type&&"length"!==t&&(!(Number.isInteger(o=Number(t))&&o>=0)||0!==t&&0!==o&&String(o)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const i=C(D(e),t);if(null==i?void 0:i.set)return i.set.call(e.proxy,n),!0;const s=$(D(e),t),a=I(s);return a&&X(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):(X(n,s)&&(void 0!==n||A(e.original,t))||(Y(e),J(e),A(e.original,t)&&X(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,se(e,t,n,ae)),!0)},has:(e,t)=>t in D(e),ownKeys:e=>Reflect.ownKeys(D(e)),getOwnPropertyDescriptor(e,t){const n=D(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?ye.set.call(this,e,t,void 0,e.proxy):(void 0!==$(e.original,t)||t in e.original?(Y(e),J(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function ge(e){const{original:t,parentDraft:n,key:r,finalities:o,options:i}=e,s=L(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:o,options:i,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,ye);if(o.revoke.push(c),de.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var o,i;const s=I(l);let a=3===e.type?e.setMap:e.copy;const c=V(a,r),u=I(c);if(u){let i=u.original;u.operated&&(i=N(c)),oe(u),ie(u,ae,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(o=e.options.updatedValues)&&void 0!==o?o:new WeakMap,e.options.updatedValues.set(i,u.original)),q(a,r,i)}null===(i=s.callbacks)||void 0===i||i.forEach((e=>{e(t,n)}))}))}else{const e=I(l);e.finalities.draft.push(((t,n)=>{oe(e),ie(e,ae,t,n)}))}return l}function ve(e,t,n,r,o){var i;const s=I(e),a=null!==(i=null==s?void 0:s.original)&&void 0!==i?i:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;){s.finalities.draft.pop()(n,r)}const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&B(s),o&&ee(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:E,path:[],value:t[0]}]:n,r&&l?[{op:E,path:[],value:a}]:r]}function me(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:o=!0}=e;te(n,((n,r,o)=>{const i=I(r);if(i&&t&&i.finalities===t.finalities){e.isContainDraft=!0;const t=i.original;if(o instanceof Set){const e=Array.from(o);o.clear(),e.forEach((e=>o.add(n===e?t:e)))}else q(o,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,me(e))})),o&&(e.isContainDraft||console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."),r&&console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."))}function be(e){var t;const n=I(e);if(!U(e,null==n?void 0:n.options))return e;const r=L(e);if(n&&!n.operated)return n.original;let o;function i(){o=2===r?z(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):H(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{i()}finally{n.finalized=!1}}else o=e;if(te(o,((t,r)=>{if(n&&X(V(n.original,t),r))return;const s=be(r);s!==r&&(o===e&&i(),q(o,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:o;return T(e)?new Set(o):new(Object.getPrototypeOf(e).constructor)(o)}return o}function we(e){if(!_(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return be(e)}P.createDraft=ge;const Oe=function e(t,n,r){var o,i,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...o){return e(r,(e=>t.call(this,e,...o)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},Me),c);const u=_(a)?we(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(o=c.enablePatches)&&void 0!==o&&o,h=null!==(i=c.strict)&&void 0!==i&&i,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!U(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let o,i;t.enablePatches&&(o=[],i=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,x))!==x.mutable&&U(e,t)?ge({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=ve(s,e,o,i,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!U(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw B(I(y)),e}const m=e=>{const t=I(y);if(!_(e)){if(void 0!==e&&!X(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[R];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&me({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&me({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=I(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([we(e)])}return g([e])};return v instanceof Promise?v.then(m,(e=>{throw B(I(y)),e})):m(v)};var Me;Object.prototype.constructor.toString();class Ee{constructor(e,t=null){this.value=e,this.reactor=t??new w(this,[])}produce(e){return n=e,void(t=this).set(Oe(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new O(this,"",e[0]):new O(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}function Se(e){return new Ee(e)}class je{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Re{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class ke{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}window.RUMIOUS_CONTEXTS||(window.RUMIOUS_CONTEXTS={});class xe{constructor(e={}){this.data=e,this.events={}}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter((e=>e!==t)))}emit(e,...t){this.events[e]&&this.events[e].forEach((e=>e(...t)))}set(e,t){let n=Se(t);return this.data[e]=n,n}get(e){return this.data[e]}}exports.RumiousApp=class{constructor(t=document.createElement("span"),n={}){this.root=t,this.configs=n,this.renderContext=new e(this)}render(e){b(e,this.root,this.renderContext)}},exports.RumiousChildrensRef=Re,exports.RumiousComponent=t,exports.RumiousComponentElement=d,exports.RumiousComponentRef=ke,exports.RumiousContext=xe,exports.RumiousElementRef=je,exports.RumiousState=Ee,exports.createChildrensRef=function(e){return new Re(e)},exports.createComponentElement=y,exports.createComponentRef=function(e){return new ke(e)},exports.createContext=function(e="",t={}){return window.RUMIOUS_CONTEXTS[e]||(window.RUMIOUS_CONTEXTS[e]=new xe(t)),window.RUMIOUS_CONTEXTS[e]},exports.createElementRef=function(e){return new je(e)},exports.createState=Se,exports.isComponent=n,exports.isState=function(e){return e instanceof Ee},exports.styleHelper=function(e){let t="";for(const n in e)if(e.hasOwnProperty(n)){t+=`${n} {`;const r=e[n];for(const e in r)if(r.hasOwnProperty(e)){t+=`${e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}: ${r[e]};`}t+="} "}return t.trim()},exports.unwatch=function(e,t){e.reactor.removeBinding(t)},exports.watch=function(e,t){e.reactor.addBinding(t)};
|
package/dist/index.cjs.min.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";class e{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class t{constructor(){this.element=null,this.props={},this.renderContext=new e(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function n(e){return Object.getPrototypeOf(e)===t}class r{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class o{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function i(e){return"function"==typeof e}class s{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){}}class a extends s{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return null;const n=t.get(e);if(!i(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!i(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class l extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){"html"===this.name&&(e.innerHTML=this.normalizeValue(t))}}class c extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class u extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const p={on:(e,t)=>new a("on",e,t),bind:(e,t)=>new l("bind",e,t),ref:(e,t,n="element")=>new c("ref",e,t),childsRef:(e,t)=>new u("childsRef",e,t)};function f(...e){return new r("FRAGMENT",{},h(e))}function h(e){return e.map((e=>"object"==typeof e?e:new r("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...i){return n(e)?function(e,t,n){return new r("COMPONENT",{component:e,...t},new o(h(n)))}(e,t,i):e===f?f(...i):new r(e,t||{},h(i))},createFragment:f,createDirective:function(e,t,n){return function(e,t,n){return p[e]?.(t,n)}(e,t,n)}};class d extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp()}}function y(){return document.createElement("a-component")}function g(e,t,n){t.init(e,n)}function v(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?function(e,t,n,r){const o=function(e,t,n,r){const o=y();return o.init(e,t,n,r),o}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([e,t])=>{t instanceof s&&g(o,t,r)})),t.appendChild(o),t}(e,t,v,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>v(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):function(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof s?g(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}(e,n),e.children.forEach((e=>v(e,r,n))),t.appendChild(r),t)}window.customElements.define("a-component",d);class m{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}addBinding(e){this.bindings.push(e)}}class b{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const w="remove",O="replace",M="add",E=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),j=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),S=Symbol.iterator,k={mutable:"mutable",immutable:"immutable"},R={};function x(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function A(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function P(e){return Object.getPrototypeOf(e)===Set.prototype}function C(e){return Object.getPrototypeOf(e)===Map.prototype}function z(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function D(e){return!!T(e)}function T(e){return"object"!=typeof e?null:null==e?void 0:e[E]}function _(e){var t;const n=T(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function I(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,k))===k.immutable||"function"==typeof n)}function N(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=T(V(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const o=3===e.parent.type,i=o?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(o&&n.size>i||x(n,i)))return null;t.push(i)}if(e.parent)return N(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=V(3===F(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function F(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function V(e,t){return 2===F(e)?e.get(t):e[t]}function L(e,t,n){2===F(e)?e.set(t,n):e[t]=n}function q(e,t){const n=T(e);return(n?z(n):e)[t]}function U(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function $(e){if(e)for(;e.finalities.revoke.length>0;)e.finalities.revoke.pop()()}function W(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const B=Object.prototype.propertyIsEnumerable;function K(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set)return P(e)?Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values()):new(0,Object.getPrototypeOf(e).constructor)(e.values());if(e instanceof Map)return C(e)?new Map(e):new(0,Object.getPrototypeOf(e).constructor)(e);if((null==t?void 0:t.mark)&&(n=t.mark(e,k),void 0!==n)&&n!==k.mutable){if(n===k.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{B.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function X(e){e.copy||(e.copy=K(e.original,e.options))}function H(e){if(!I(e))return _(e);if(Array.isArray(e))return e.map(H);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,H(t)]));return C(e)?new Map(t):new(0,Object.getPrototypeOf(e).constructor)(t)}if(e instanceof Set){const t=Array.from(e).map(H);return P(e)?new Set(t):new(0,Object.getPrototypeOf(e).constructor)(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=H(e[n]);return t}function Y(e){return D(e)?H(e):e}function G(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&G(e.parent))}function Z(){throw new Error("Cannot modify frozen object")}function J(e,t,n,r,o){{n=null!=n?n:new WeakMap,r=null!=r?r:[],o=null!=o?o:[];const i=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(i);if(i&&"object"==typeof i&&-1!==e){if(r[0]===i)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${o.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(i),o.push(t)}else r.push(i)}if(Object.isFrozen(e)||D(e))return r.pop(),void o.pop();switch(F(e)){case 2:for(const[t,i]of e)J(t,t,n,r,o),J(i,t,n,r,o);e.set=e.clear=e.delete=Z;break;case 3:for(const t of e)J(t,t,n,r,o);e.add=e.clear=e.delete=Z;break;case 1:Object.freeze(e);let t=0;for(const i of e)J(i,t,n,r,o),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{J(e[t],t,n,r,o)}))}r.pop(),o.pop()}function Q(e,t){const n=F(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function ee(e,t,n){if(D(e)||!I(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,o=r?new Map:void 0;if(t.add(e),Q(e,((i,s)=>{var a;if(D(s)){const t=T(s);X(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;L(r?o:e,i,n)}else ee(s,t,n)})),o){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(o.has(e)?o.get(e):e)}))}}function te(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&ee(V(n,t),e.finalities.handledSet,e.options)}function ne(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(_(t))})))}function re(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const o=N(e);o&&t(e,o,n,r)}e.finalized=!0}}function oe(e,t,n,r){const o=T(n);o&&(o.callbacks||(o.callbacks=[]),o.callbacks.push(((i,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if(U(V(l,t),n)){let n=o.original;o.copy&&(n=o.copy),ne(e),re(e,r,i,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,o.original)),L(l,t,n)}})),e.options.enableAutoFreeze&&o.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),I(n,e.options)&&e.finalities.draft.push((()=>{U(V(3===e.type?e.setMap:e.copy,t),n)&&te(e,t)}))}function ie(e,t,n,r){const{pathAsArray:o=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,o,i,s){n.forEach(((n,a)=>{const l=V(e,a),c=Y(V(t,a)),u=n?x(e,a)?O:M:w;if(U(l,c)&&u===O)return;const p=W(r.concat(a),s);o.push(u===w?{op:u,path:p}:{op:u,path:p,value:c}),i.push(u===M?{op:w,path:p}:u===w?{op:M,path:p,value:l}:{op:O,path:p,value:l})}))}(e,t,n,r,o);case 1:return function(e,t,n,r,o){let{original:i,assignedMap:s,options:a}=e,l=e.copy;l.length<i.length&&([i,l]=[l,i],[n,r]=[r,n]);for(let e=0;e<i.length;e+=1)if(s.get(e.toString())&&l[e]!==i[e]){const s=W(t.concat([e]),o);n.push({op:O,path:s,value:Y(l[e])}),r.push({op:O,path:s,value:Y(i[e])})}for(let e=i.length;e<l.length;e+=1){const r=W(t.concat([e]),o);n.push({op:M,path:r,value:Y(l[e])})}if(i.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=W(t.concat(["length"]),o);r.push({op:O,path:e,value:i.length})}else for(let e=l.length;i.length<e;e-=1){const n=W(t.concat([e-1]),o);r.push({op:w,path:n})}}}(e,t,n,r,o);case 3:return function({original:e,copy:t},n,r,o,i){let s=0;e.forEach((e=>{if(!t.has(e)){const t=W(n.concat([s]),i);r.push({op:w,path:t,value:e}),o.unshift({op:M,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=W(n.concat([s]),i);r.push({op:M,path:e,value:t}),o.unshift({op:w,path:e,value:t})}s+=1}))}(e,t,n,r,o)}}const se=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!I(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},ae={get size(){return z(T(this)).size},has(e){return z(T(this)).has(e)},set(e,t){const n=T(this),r=z(n);return r.has(e)&&U(r.get(e),t)||(X(n),G(n),n.assignedMap.set(e,!0),n.copy.set(e,t),oe(n,e,t,ie)),this},delete(e){if(!this.has(e))return!1;const t=T(this);return X(t),G(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=T(this);if(this.size){X(e),G(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){z(T(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=T(this),o=z(r).get(e),i=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,o,k))===k.mutable;if(r.options.strict&&se(o,r.options,i),i)return o;if(r.finalized||!I(o,r.options))return o;if(o!==r.original.get(e))return o;const s=R.createDraft({original:o,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return X(r),r.copy.set(e,s),s},keys(){return z(T(this)).keys()},values(){const e=this.keys();return{[S]:()=>this.values(),next:()=>{const t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[S]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[S](){return this.entries()}},le=Reflect.ownKeys(ae),ce=(e,t,{isValuesIterator:n})=>()=>{var r,o;const i=t.next();if(i.done)return i;const s=i.value;let a=e.setMap.get(s);const l=T(a),c=(null===(o=(r=e.options).mark)||void 0===o?void 0:o.call(r,a,k))===k.mutable;if(e.options.strict&&se(s,e.options,c),c||l||!I(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=R.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},ue={get size(){return T(this).setMap.size},has(e){const t=T(this);if(t.setMap.has(e))return!0;X(t);const n=T(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=T(this);return this.has(e)||(X(t),G(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),oe(t,e,e,ie)),this},delete(e){if(!this.has(e))return!1;const t=T(this);X(t),G(t);const n=T(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=T(this);X(e),G(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=T(this);X(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:ce(e,t,{isValuesIterator:!0})}},entries(){const e=T(this);X(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:ce(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[S](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(ue,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const pe=Reflect.ownKeys(ue),fe=new WeakSet,he={get(e,t,n){var r,o;const i=null===(r=e.copy)||void 0===r?void 0:r[t];if(i&&fe.has(i))return i;if(t===E)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,k),s===k.mutable)return e.options.strict&&se(r,e.options,!0),r}const a=z(e);if(a instanceof Map&&le.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ae,"size").get.call(e.proxy);const n=ae[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&pe.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ue,"size").get.call(e.proxy);const n=ue[t];if(n)return n.bind(e.proxy)}if(!x(a,t)){const n=A(a,t);return n?"value"in n?n.value:null===(o=n.get)||void 0===o?void 0:o.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&se(l,e.options),e.finalized||!I(l,e.options))return l;if(l===q(e.original,t)){if(X(e),e.copy[t]=de({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=T(e.copy[t]);return X(n),G(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let o;if(1===e.type&&"length"!==t&&(!(Number.isInteger(o=Number(t))&&o>=0)||0!==t&&0!==o&&String(o)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const i=A(z(e),t);if(null==i?void 0:i.set)return i.set.call(e.proxy,n),!0;const s=q(z(e),t),a=T(s);return a&&U(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):(U(n,s)&&(void 0!==n||x(e.original,t))||(X(e),G(e),x(e.original,t)&&U(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,oe(e,t,n,ie)),!0)},has:(e,t)=>t in z(e),ownKeys:e=>Reflect.ownKeys(z(e)),getOwnPropertyDescriptor(e,t){const n=z(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?he.set.call(this,e,t,void 0,e.proxy):(void 0!==q(e.original,t)||t in e.original?(X(e),G(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function de(e){const{original:t,parentDraft:n,key:r,finalities:o,options:i}=e,s=F(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:o,options:i,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,he);if(o.revoke.push(c),fe.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var o,i;const s=T(l);let a=3===e.type?e.setMap:e.copy;const c=V(a,r),u=T(c);if(u){let i=u.original;u.operated&&(i=_(c)),ne(u),re(u,ie,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(o=e.options.updatedValues)&&void 0!==o?o:new WeakMap,e.options.updatedValues.set(i,u.original)),L(a,r,i)}null===(i=s.callbacks)||void 0===i||i.forEach((e=>{e(t,n)}))}))}else{const e=T(l);e.finalities.draft.push(((t,n)=>{ne(e),re(e,ie,t,n)}))}return l}function ye(e,t,n,r,o){var i;const s=T(e),a=null!==(i=null==s?void 0:s.original)&&void 0!==i?i:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;)s.finalities.draft.pop()(n,r);const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&$(s),o&&J(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:O,path:[],value:t[0]}]:n,r&&l?[{op:O,path:[],value:a}]:r]}function ge(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:o=!0}=e;Q(n,((n,r,o)=>{const i=T(r);if(i&&t&&i.finalities===t.finalities){e.isContainDraft=!0;const t=i.original;if(o instanceof Set){const e=Array.from(o);o.clear(),e.forEach((e=>o.add(n===e?t:e)))}else L(o,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,ge(e))})),o&&e.isContainDraft}function ve(e){var t;const n=T(e);if(!I(e,null==n?void 0:n.options))return e;const r=F(e);if(n&&!n.operated)return n.original;let o;function i(){o=2===r?C(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):K(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{i()}finally{n.finalized=!1}}else o=e;if(Q(o,((t,r)=>{if(n&&U(V(n.original,t),r))return;const s=ve(r);s!==r&&(o===e&&i(),L(o,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:o;return P(e)?new Set(o):new(Object.getPrototypeOf(e).constructor)(o)}return o}function me(e){if(!D(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return ve(e)}R.createDraft=de;const be=function e(t,n,r){var o,i,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...o){return e(r,(e=>t.call(this,e,...o)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},void 0),c);const u=D(a)?me(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(o=c.enablePatches)&&void 0!==o&&o,h=null!==(i=c.strict)&&void 0!==i&&i,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!I(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let o,i;t.enablePatches&&(o=[],i=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,k))!==k.mutable&&I(e,t)?de({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=ye(s,e,o,i,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!I(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw $(T(y)),e}const m=e=>{const t=T(y);if(!D(e)){if(void 0!==e&&!U(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[j];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&ge({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&ge({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=T(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([me(e)])}return g([e])};return v instanceof Promise?v.then(m,(e=>{throw $(T(y)),e})):m(v)};Object.prototype.constructor.toString();class we{constructor(e,t=null){this.value=e,this.reactor=t??new m(this,[])}produce(e){return n=e,void(t=this).set(be(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new b(this,"",e[0]):new b(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}class Oe{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Me{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Ee{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}exports.RumiousApp=class{constructor(t=document.createElement("span"),n={}){this.root=t,this.configs=n,this.renderContext=new e(this)}render(e){v(e,this.root,this.renderContext)}},exports.RumiousChildrensRef=Me,exports.RumiousComponent=t,exports.RumiousComponentElement=d,exports.RumiousComponentRef=Ee,exports.RumiousElementRef=Oe,exports.RumiousState=we,exports.createChildrensRef=function(e){return new Me(e)},exports.createComponentElement=y,exports.createComponentRef=function(e){return new Ee(e)},exports.createElementRef=function(e){return new Oe(e)},exports.createState=function(e){return new we(e)},exports.isComponent=n,exports.isState=function(e){return e instanceof we},exports.watcher=function(e,t){e.reactor.addBinding(t)};
|
1
|
+
"use strict";class e{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class t{constructor(){this.element=null,this.props={},this.renderContext=new e(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function n(e){return Object.getPrototypeOf(e)===t}class r{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class o{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function i(e){return"function"==typeof e}class s{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){}}class a extends s{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return null;const n=t.get(e);if(!i(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!i(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class l extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){"html"===this.name&&(e.innerHTML=this.normalizeValue(t))}}class c extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class u extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const p={on:(e,t)=>new a("on",e,t),bind:(e,t)=>new l("bind",e,t),ref:(e,t)=>new c("ref",e,t),childsRef:(e,t)=>new u("childsRef",e,t)};function f(...e){return new r("FRAGMENT",{},h(e))}function h(e){return e.map((e=>"object"==typeof e?e:new r("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...i){return n(e)?function(e,t,n){return new r("COMPONENT",{component:e,...t},new o(h(n)))}(e,t,i):e===f?f(...i):new r(e,t||{},h(i))},createFragment:f,createDirective:function(e,t,n){return function(e,t,n){return p[e]?.(t,n)}(e,t,n)}};class d extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}cleanUp(){}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.element=this,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp(),this.cleanUp()}}function y(e="a-component"){let t=Math.floor(9999*Math.random())*Date.now().toString(32);return window.customElements.define(e+t,class extends d{static tag=e+t;cleanUp(){window.customElements(e+t,HTMLUnknownElement)}}),document.createElement(e)}function g(e,t,n){t.init(e,n)}function v(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?function(e,t,n,r){const o=function(e,t,n,r){const o=y(e.tag??"r-component");return o.init(e,t,n,r),o}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([,e])=>{e instanceof s&&g(o,e,r)})),t.appendChild(o),t}(e,t,v,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>v(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):function(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof s?g(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}(e,n),e.children.forEach((e=>v(e,r,n))),t.appendChild(r),t)}class m{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}removeBinding(e){for(let t=this.bindings.length-1;t>=0;t--)this.bindings[t]===e&&this.bindings.splice(t,1)}addBinding(e){this.bindings.push(e)}}class b{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const w="remove",O="replace",M="add",E=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),S=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),j=Symbol.iterator,R={mutable:"mutable",immutable:"immutable"},k={};function x(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function P(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function A(e){return Object.getPrototypeOf(e)===Set.prototype}function C(e){return Object.getPrototypeOf(e)===Map.prototype}function z(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function T(e){return!!D(e)}function D(e){return"object"!=typeof e?null:null==e?void 0:e[E]}function _(e){var t;const n=D(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function I(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,R))===R.immutable||"function"==typeof n)}function N(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=D(F(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const o=3===e.parent.type,i=o?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(o&&n.size>i||x(n,i)))return null;t.push(i)}if(e.parent)return N(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=F(3===U(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function U(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function F(e,t){return 2===U(e)?e.get(t):e[t]}function L(e,t,n){2===U(e)?e.set(t,n):e[t]=n}function V(e,t){const n=D(e);return(n?z(n):e)[t]}function q(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function $(e){if(e)for(;e.finalities.revoke.length>0;)e.finalities.revoke.pop()()}function X(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const B=Object.prototype.propertyIsEnumerable;function W(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set)return A(e)?Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values()):new(0,Object.getPrototypeOf(e).constructor)(e.values());if(e instanceof Map)return C(e)?new Map(e):new(0,Object.getPrototypeOf(e).constructor)(e);if((null==t?void 0:t.mark)&&(n=t.mark(e,R),void 0!==n)&&n!==R.mutable){if(n===R.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{B.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function K(e){e.copy||(e.copy=W(e.original,e.options))}function H(e){if(!I(e))return _(e);if(Array.isArray(e))return e.map(H);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,H(t)]));return C(e)?new Map(t):new(0,Object.getPrototypeOf(e).constructor)(t)}if(e instanceof Set){const t=Array.from(e).map(H);return A(e)?new Set(t):new(0,Object.getPrototypeOf(e).constructor)(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=H(e[n]);return t}function Y(e){return T(e)?H(e):e}function Z(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&Z(e.parent))}function G(){throw new Error("Cannot modify frozen object")}function J(e,t,n,r,o){{n=null!=n?n:new WeakMap,r=null!=r?r:[],o=null!=o?o:[];const i=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(i);if(i&&"object"==typeof i&&-1!==e){if(r[0]===i)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${o.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(i),o.push(t)}else r.push(i)}if(Object.isFrozen(e)||T(e))return r.pop(),void o.pop();switch(U(e)){case 2:for(const[t,i]of e)J(t,t,n,r,o),J(i,t,n,r,o);e.set=e.clear=e.delete=G;break;case 3:for(const t of e)J(t,t,n,r,o);e.add=e.clear=e.delete=G;break;case 1:Object.freeze(e);let t=0;for(const i of e)J(i,t,n,r,o),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{J(e[t],t,n,r,o)}))}r.pop(),o.pop()}function Q(e,t){const n=U(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function ee(e,t,n){if(T(e)||!I(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,o=r?new Map:void 0;if(t.add(e),Q(e,((i,s)=>{var a;if(T(s)){const t=D(s);K(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;L(r?o:e,i,n)}else ee(s,t,n)})),o){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(o.has(e)?o.get(e):e)}))}}function te(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&ee(F(n,t),e.finalities.handledSet,e.options)}function ne(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(_(t))})))}function re(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const o=N(e);o&&t(e,o,n,r)}e.finalized=!0}}function oe(e,t,n,r){const o=D(n);o&&(o.callbacks||(o.callbacks=[]),o.callbacks.push(((i,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if(q(F(l,t),n)){let n=o.original;o.copy&&(n=o.copy),ne(e),re(e,r,i,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,o.original)),L(l,t,n)}})),e.options.enableAutoFreeze&&o.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),I(n,e.options)&&e.finalities.draft.push((()=>{q(F(3===e.type?e.setMap:e.copy,t),n)&&te(e,t)}))}function ie(e,t,n,r){const{pathAsArray:o=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,o,i,s){n.forEach(((n,a)=>{const l=F(e,a),c=Y(F(t,a)),u=n?x(e,a)?O:M:w;if(q(l,c)&&u===O)return;const p=X(r.concat(a),s);o.push(u===w?{op:u,path:p}:{op:u,path:p,value:c}),i.push(u===M?{op:w,path:p}:u===w?{op:M,path:p,value:l}:{op:O,path:p,value:l})}))}(e,t,n,r,o);case 1:return function(e,t,n,r,o){let{original:i,assignedMap:s,options:a}=e,l=e.copy;l.length<i.length&&([i,l]=[l,i],[n,r]=[r,n]);for(let e=0;e<i.length;e+=1)if(s.get(e.toString())&&l[e]!==i[e]){const s=X(t.concat([e]),o);n.push({op:O,path:s,value:Y(l[e])}),r.push({op:O,path:s,value:Y(i[e])})}for(let e=i.length;e<l.length;e+=1){const r=X(t.concat([e]),o);n.push({op:M,path:r,value:Y(l[e])})}if(i.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=X(t.concat(["length"]),o);r.push({op:O,path:e,value:i.length})}else for(let e=l.length;i.length<e;e-=1){const n=X(t.concat([e-1]),o);r.push({op:w,path:n})}}}(e,t,n,r,o);case 3:return function({original:e,copy:t},n,r,o,i){let s=0;e.forEach((e=>{if(!t.has(e)){const t=X(n.concat([s]),i);r.push({op:w,path:t,value:e}),o.unshift({op:M,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=X(n.concat([s]),i);r.push({op:M,path:e,value:t}),o.unshift({op:w,path:e,value:t})}s+=1}))}(e,t,n,r,o)}}const se=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!I(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},ae={get size(){return z(D(this)).size},has(e){return z(D(this)).has(e)},set(e,t){const n=D(this),r=z(n);return r.has(e)&&q(r.get(e),t)||(K(n),Z(n),n.assignedMap.set(e,!0),n.copy.set(e,t),oe(n,e,t,ie)),this},delete(e){if(!this.has(e))return!1;const t=D(this);return K(t),Z(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=D(this);if(this.size){K(e),Z(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){z(D(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=D(this),o=z(r).get(e),i=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,o,R))===R.mutable;if(r.options.strict&&se(o,r.options,i),i)return o;if(r.finalized||!I(o,r.options))return o;if(o!==r.original.get(e))return o;const s=k.createDraft({original:o,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return K(r),r.copy.set(e,s),s},keys(){return z(D(this)).keys()},values(){const e=this.keys();return{[j]:()=>this.values(),next:()=>{const t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[j]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[j](){return this.entries()}},le=Reflect.ownKeys(ae),ce=(e,t,{isValuesIterator:n})=>()=>{var r,o;const i=t.next();if(i.done)return i;const s=i.value;let a=e.setMap.get(s);const l=D(a),c=(null===(o=(r=e.options).mark)||void 0===o?void 0:o.call(r,a,R))===R.mutable;if(e.options.strict&&se(s,e.options,c),c||l||!I(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=k.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},ue={get size(){return D(this).setMap.size},has(e){const t=D(this);if(t.setMap.has(e))return!0;K(t);const n=D(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=D(this);return this.has(e)||(K(t),Z(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),oe(t,e,e,ie)),this},delete(e){if(!this.has(e))return!1;const t=D(this);K(t),Z(t);const n=D(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=D(this);K(e),Z(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=D(this);K(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:ce(e,t,{isValuesIterator:!0})}},entries(){const e=D(this);K(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:ce(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[j](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(ue,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const pe=Reflect.ownKeys(ue),fe=new WeakSet,he={get(e,t,n){var r,o;const i=null===(r=e.copy)||void 0===r?void 0:r[t];if(i&&fe.has(i))return i;if(t===E)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,R),s===R.mutable)return e.options.strict&&se(r,e.options,!0),r}const a=z(e);if(a instanceof Map&&le.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ae,"size").get.call(e.proxy);const n=ae[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&pe.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ue,"size").get.call(e.proxy);const n=ue[t];if(n)return n.bind(e.proxy)}if(!x(a,t)){const n=P(a,t);return n?"value"in n?n.value:null===(o=n.get)||void 0===o?void 0:o.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&se(l,e.options),e.finalized||!I(l,e.options))return l;if(l===V(e.original,t)){if(K(e),e.copy[t]=de({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=D(e.copy[t]);return K(n),Z(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let o;if(1===e.type&&"length"!==t&&(!(Number.isInteger(o=Number(t))&&o>=0)||0!==t&&0!==o&&String(o)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const i=P(z(e),t);if(null==i?void 0:i.set)return i.set.call(e.proxy,n),!0;const s=V(z(e),t),a=D(s);return a&&q(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):(q(n,s)&&(void 0!==n||x(e.original,t))||(K(e),Z(e),x(e.original,t)&&q(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,oe(e,t,n,ie)),!0)},has:(e,t)=>t in z(e),ownKeys:e=>Reflect.ownKeys(z(e)),getOwnPropertyDescriptor(e,t){const n=z(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?he.set.call(this,e,t,void 0,e.proxy):(void 0!==V(e.original,t)||t in e.original?(K(e),Z(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function de(e){const{original:t,parentDraft:n,key:r,finalities:o,options:i}=e,s=U(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:o,options:i,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,he);if(o.revoke.push(c),fe.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var o,i;const s=D(l);let a=3===e.type?e.setMap:e.copy;const c=F(a,r),u=D(c);if(u){let i=u.original;u.operated&&(i=_(c)),ne(u),re(u,ie,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(o=e.options.updatedValues)&&void 0!==o?o:new WeakMap,e.options.updatedValues.set(i,u.original)),L(a,r,i)}null===(i=s.callbacks)||void 0===i||i.forEach((e=>{e(t,n)}))}))}else{const e=D(l);e.finalities.draft.push(((t,n)=>{ne(e),re(e,ie,t,n)}))}return l}function ye(e,t,n,r,o){var i;const s=D(e),a=null!==(i=null==s?void 0:s.original)&&void 0!==i?i:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;)s.finalities.draft.pop()(n,r);const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&$(s),o&&J(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:O,path:[],value:t[0]}]:n,r&&l?[{op:O,path:[],value:a}]:r]}function ge(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:o=!0}=e;Q(n,((n,r,o)=>{const i=D(r);if(i&&t&&i.finalities===t.finalities){e.isContainDraft=!0;const t=i.original;if(o instanceof Set){const e=Array.from(o);o.clear(),e.forEach((e=>o.add(n===e?t:e)))}else L(o,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,ge(e))})),o&&e.isContainDraft}function ve(e){var t;const n=D(e);if(!I(e,null==n?void 0:n.options))return e;const r=U(e);if(n&&!n.operated)return n.original;let o;function i(){o=2===r?C(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):W(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{i()}finally{n.finalized=!1}}else o=e;if(Q(o,((t,r)=>{if(n&&q(F(n.original,t),r))return;const s=ve(r);s!==r&&(o===e&&i(),L(o,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:o;return A(e)?new Set(o):new(Object.getPrototypeOf(e).constructor)(o)}return o}function me(e){if(!T(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return ve(e)}k.createDraft=de;const be=function e(t,n,r){var o,i,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...o){return e(r,(e=>t.call(this,e,...o)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},void 0),c);const u=T(a)?me(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(o=c.enablePatches)&&void 0!==o&&o,h=null!==(i=c.strict)&&void 0!==i&&i,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!I(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let o,i;t.enablePatches&&(o=[],i=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,R))!==R.mutable&&I(e,t)?de({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=ye(s,e,o,i,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!I(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw $(D(y)),e}const m=e=>{const t=D(y);if(!T(e)){if(void 0!==e&&!q(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[S];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&ge({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&ge({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=D(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([me(e)])}return g([e])};return v instanceof Promise?v.then(m,(e=>{throw $(D(y)),e})):m(v)};Object.prototype.constructor.toString();class we{constructor(e,t=null){this.value=e,this.reactor=t??new m(this,[])}produce(e){return n=e,void(t=this).set(be(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new b(this,"",e[0]):new b(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}function Oe(e){return new we(e)}class Me{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Ee{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Se{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}window.RUMIOUS_CONTEXTS||(window.RUMIOUS_CONTEXTS={});class je{constructor(e={}){this.data=e,this.events={}}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter((e=>e!==t)))}emit(e,...t){this.events[e]&&this.events[e].forEach((e=>e(...t)))}set(e,t){let n=Oe(t);return this.data[e]=n,n}get(e){return this.data[e]}}exports.RumiousApp=class{constructor(t=document.createElement("span"),n={}){this.root=t,this.configs=n,this.renderContext=new e(this)}render(e){v(e,this.root,this.renderContext)}},exports.RumiousChildrensRef=Ee,exports.RumiousComponent=t,exports.RumiousComponentElement=d,exports.RumiousComponentRef=Se,exports.RumiousContext=je,exports.RumiousElementRef=Me,exports.RumiousState=we,exports.createChildrensRef=function(e){return new Ee(e)},exports.createComponentElement=y,exports.createComponentRef=function(e){return new Se(e)},exports.createContext=function(e="",t={}){return window.RUMIOUS_CONTEXTS[e]||(window.RUMIOUS_CONTEXTS[e]=new je(t)),window.RUMIOUS_CONTEXTS[e]},exports.createElementRef=function(e){return new Me(e)},exports.createState=Oe,exports.isComponent=n,exports.isState=function(e){return e instanceof we},exports.styleHelper=function(e){let t="";for(const n in e)if(e.hasOwnProperty(n)){t+=`${n} {`;const r=e[n];for(const e in r)r.hasOwnProperty(e)&&(t+=`${e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}: ${r[e]};`);t+="} "}return t.trim()},exports.unwatch=function(e,t){e.reactor.removeBinding(t)},exports.watch=function(e,t){e.reactor.addBinding(t)};
|
package/dist/index.esm.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
class e{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class t{constructor(){this.element=null,this.props={},this.renderContext=new e(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function n(e){return Object.getPrototypeOf(e)===t}class r{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class o{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function i(e){return"function"==typeof e}class s{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){console.warn("Directive haven't handler !")}}class a extends s{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return console.warn(`Missing event handler for event: ${this.name}`),null;const n=t.get(e);if(!i(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!i(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class l extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){if("html"===this.name)e.innerHTML=this.normalizeValue(t)}}class c extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class u extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const p={on:(e,t)=>new a("on",e,t),bind:(e,t)=>new l("bind",e,t),ref:(e,t,n="element")=>new c("ref",e,t),childsRef:(e,t)=>new u("childsRef",e,t)};function f(...e){return new r("FRAGMENT",{},h(e))}function h(e){return e.map((e=>"object"==typeof e?e:new r("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...i){return n(e)?function(e,t,n){return new r("COMPONENT",{component:e,...t},new o(h(n)))}(e,t,i):e===f?f(...i):new r(e,t||{},h(i))},createFragment:f,createDirective:function(e,t,n){return function(e,t,n){return p[e]?.(t,n)}(e,t,n)}};class d extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp()}}function y(){return document.createElement("a-component")}function g(e,t,n,r){const o=function(e,t,n,r){const o=y();return o.init(e,t,n,r),o}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([e,t])=>{t instanceof s&&b(o,t,r)})),t.appendChild(o),t}function v(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof s?b(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}function b(e,t,n){t.init(e,n)}function m(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?g(e,t,m,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>m(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):v(e,n),e.children.forEach((e=>m(e,r,n))),t.appendChild(r),t)}window.customElements.define("a-component",d);class w{constructor(t=document.createElement("span"),n={}){this.root=t,this.configs=n,this.renderContext=new e(this)}render(e){m(e,this.root,this.renderContext)}}class O{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}addBinding(e){this.bindings.push(e)}}class M{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const E="remove",j="replace",k="add",S=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),R=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),P=Symbol.iterator,A={mutable:"mutable",immutable:"immutable"},x={};function z(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function D(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function C(e){return Object.getPrototypeOf(e)===Set.prototype}function T(e){return Object.getPrototypeOf(e)===Map.prototype}function _(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function I(e){return!!N(e)}function N(e){return"object"!=typeof e?null:null==e?void 0:e[S]}function F(e){var t;const n=N(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function V(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,A))===A.immutable||"function"==typeof n)}function L(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=N($(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const o=3===e.parent.type,i=o?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(o&&n.size>i||z(n,i)))return null;t.push(i)}if(e.parent)return L(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=$(3===q(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function q(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function $(e,t){return 2===q(e)?e.get(t):e[t]}function U(e,t,n){2===q(e)?e.set(t,n):e[t]=n}function W(e,t){const n=N(e);return(n?_(n):e)[t]}function B(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function K(e){if(e)for(;e.finalities.revoke.length>0;){e.finalities.revoke.pop()()}}function X(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const H=Object.prototype.propertyIsEnumerable;function Y(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set){if(!C(e)){return new(0,Object.getPrototypeOf(e).constructor)(e.values())}return Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values())}if(e instanceof Map){if(!T(e)){return new(0,Object.getPrototypeOf(e).constructor)(e)}return new Map(e)}if((null==t?void 0:t.mark)&&(n=t.mark(e,A),void 0!==n)&&n!==A.mutable){if(n===A.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{H.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function G(e){e.copy||(e.copy=Y(e.original,e.options))}function Z(e){if(!V(e))return F(e);if(Array.isArray(e))return e.map(Z);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,Z(t)]));if(!T(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Map(t)}if(e instanceof Set){const t=Array.from(e).map(Z);if(!C(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Set(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=Z(e[n]);return t}function J(e){return I(e)?Z(e):e}function Q(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&Q(e.parent))}function ee(){throw new Error("Cannot modify frozen object")}function te(e,t,n,r,o){{n=null!=n?n:new WeakMap,r=null!=r?r:[],o=null!=o?o:[];const i=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(i);if(i&&"object"==typeof i&&-1!==e){if(r[0]===i)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${o.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(i),o.push(t)}else r.push(i)}if(Object.isFrozen(e)||I(e))return r.pop(),void o.pop();switch(q(e)){case 2:for(const[t,i]of e)te(t,t,n,r,o),te(i,t,n,r,o);e.set=e.clear=e.delete=ee;break;case 3:for(const t of e)te(t,t,n,r,o);e.add=e.clear=e.delete=ee;break;case 1:Object.freeze(e);let t=0;for(const i of e)te(i,t,n,r,o),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{te(e[t],t,n,r,o)}))}r.pop(),o.pop()}function ne(e,t){const n=q(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function re(e,t,n){if(I(e)||!V(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,o=r?new Map:void 0;if(t.add(e),ne(e,((i,s)=>{var a;if(I(s)){const t=N(s);G(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;U(r?o:e,i,n)}else re(s,t,n)})),o){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(o.has(e)?o.get(e):e)}))}}function oe(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&re($(n,t),e.finalities.handledSet,e.options)}function ie(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(F(t))})))}function se(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const o=L(e);o&&t(e,o,n,r)}e.finalized=!0}}function ae(e,t,n,r){const o=N(n);o&&(o.callbacks||(o.callbacks=[]),o.callbacks.push(((i,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if(B($(l,t),n)){let n=o.original;o.copy&&(n=o.copy),ie(e),se(e,r,i,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,o.original)),U(l,t,n)}})),e.options.enableAutoFreeze&&o.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),V(n,e.options)&&e.finalities.draft.push((()=>{B($(3===e.type?e.setMap:e.copy,t),n)&&oe(e,t)}))}function le(e,t,n,r){const{pathAsArray:o=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,o,i,s){n.forEach(((n,a)=>{const l=$(e,a),c=J($(t,a)),u=n?z(e,a)?j:k:E;if(B(l,c)&&u===j)return;const p=X(r.concat(a),s);o.push(u===E?{op:u,path:p}:{op:u,path:p,value:c}),i.push(u===k?{op:E,path:p}:u===E?{op:k,path:p,value:l}:{op:j,path:p,value:l})}))}(e,t,n,r,o);case 1:return function(e,t,n,r,o){let{original:i,assignedMap:s,options:a}=e,l=e.copy;l.length<i.length&&([i,l]=[l,i],[n,r]=[r,n]);for(let e=0;e<i.length;e+=1)if(s.get(e.toString())&&l[e]!==i[e]){const s=X(t.concat([e]),o);n.push({op:j,path:s,value:J(l[e])}),r.push({op:j,path:s,value:J(i[e])})}for(let e=i.length;e<l.length;e+=1){const r=X(t.concat([e]),o);n.push({op:k,path:r,value:J(l[e])})}if(i.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=X(t.concat(["length"]),o);r.push({op:j,path:e,value:i.length})}else for(let e=l.length;i.length<e;e-=1){const n=X(t.concat([e-1]),o);r.push({op:E,path:n})}}}(e,t,n,r,o);case 3:return function({original:e,copy:t},n,r,o,i){let s=0;e.forEach((e=>{if(!t.has(e)){const t=X(n.concat([s]),i);r.push({op:E,path:t,value:e}),o.unshift({op:k,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=X(n.concat([s]),i);r.push({op:k,path:e,value:t}),o.unshift({op:E,path:e,value:t})}s+=1}))}(e,t,n,r,o)}}const ce=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!V(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},ue={get size(){return _(N(this)).size},has(e){return _(N(this)).has(e)},set(e,t){const n=N(this),r=_(n);return r.has(e)&&B(r.get(e),t)||(G(n),Q(n),n.assignedMap.set(e,!0),n.copy.set(e,t),ae(n,e,t,le)),this},delete(e){if(!this.has(e))return!1;const t=N(this);return G(t),Q(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=N(this);if(this.size){G(e),Q(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){_(N(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=N(this),o=_(r).get(e),i=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,o,A))===A.mutable;if(r.options.strict&&ce(o,r.options,i),i)return o;if(r.finalized||!V(o,r.options))return o;if(o!==r.original.get(e))return o;const s=x.createDraft({original:o,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return G(r),r.copy.set(e,s),s},keys(){return _(N(this)).keys()},values(){const e=this.keys();return{[P]:()=>this.values(),next:()=>{const t=e.next();if(t.done)return t;return{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[P]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[P](){return this.entries()}},pe=Reflect.ownKeys(ue),fe=(e,t,{isValuesIterator:n})=>()=>{var r,o;const i=t.next();if(i.done)return i;const s=i.value;let a=e.setMap.get(s);const l=N(a),c=(null===(o=(r=e.options).mark)||void 0===o?void 0:o.call(r,a,A))===A.mutable;if(e.options.strict&&ce(s,e.options,c),c||l||!V(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=x.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},he={get size(){return N(this).setMap.size},has(e){const t=N(this);if(t.setMap.has(e))return!0;G(t);const n=N(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=N(this);return this.has(e)||(G(t),Q(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),ae(t,e,e,le)),this},delete(e){if(!this.has(e))return!1;const t=N(this);G(t),Q(t);const n=N(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=N(this);G(e),Q(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=N(this);G(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:fe(e,t,{isValuesIterator:!0})}},entries(){const e=N(this);G(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:fe(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[P](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(he,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const de=Reflect.ownKeys(he),ye=new WeakSet,ge={get(e,t,n){var r,o;const i=null===(r=e.copy)||void 0===r?void 0:r[t];if(i&&ye.has(i))return i;if(t===S)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,A),s===A.mutable)return e.options.strict&&ce(r,e.options,!0),r}const a=_(e);if(a instanceof Map&&pe.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ue,"size").get.call(e.proxy);const n=ue[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&de.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(he,"size").get.call(e.proxy);const n=he[t];if(n)return n.bind(e.proxy)}if(!z(a,t)){const n=D(a,t);return n?"value"in n?n.value:null===(o=n.get)||void 0===o?void 0:o.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&ce(l,e.options),e.finalized||!V(l,e.options))return l;if(l===W(e.original,t)){if(G(e),e.copy[t]=ve({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=N(e.copy[t]);return G(n),Q(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let o;if(1===e.type&&"length"!==t&&(!(Number.isInteger(o=Number(t))&&o>=0)||0!==t&&0!==o&&String(o)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const i=D(_(e),t);if(null==i?void 0:i.set)return i.set.call(e.proxy,n),!0;const s=W(_(e),t),a=N(s);return a&&B(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):(B(n,s)&&(void 0!==n||z(e.original,t))||(G(e),Q(e),z(e.original,t)&&B(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,ae(e,t,n,le)),!0)},has:(e,t)=>t in _(e),ownKeys:e=>Reflect.ownKeys(_(e)),getOwnPropertyDescriptor(e,t){const n=_(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?ge.set.call(this,e,t,void 0,e.proxy):(void 0!==W(e.original,t)||t in e.original?(G(e),Q(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function ve(e){const{original:t,parentDraft:n,key:r,finalities:o,options:i}=e,s=q(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:o,options:i,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,ge);if(o.revoke.push(c),ye.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var o,i;const s=N(l);let a=3===e.type?e.setMap:e.copy;const c=$(a,r),u=N(c);if(u){let i=u.original;u.operated&&(i=F(c)),ie(u),se(u,le,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(o=e.options.updatedValues)&&void 0!==o?o:new WeakMap,e.options.updatedValues.set(i,u.original)),U(a,r,i)}null===(i=s.callbacks)||void 0===i||i.forEach((e=>{e(t,n)}))}))}else{const e=N(l);e.finalities.draft.push(((t,n)=>{ie(e),se(e,le,t,n)}))}return l}function be(e,t,n,r,o){var i;const s=N(e),a=null!==(i=null==s?void 0:s.original)&&void 0!==i?i:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;){s.finalities.draft.pop()(n,r)}const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&K(s),o&&te(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:j,path:[],value:t[0]}]:n,r&&l?[{op:j,path:[],value:a}]:r]}function me(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:o=!0}=e;ne(n,((n,r,o)=>{const i=N(r);if(i&&t&&i.finalities===t.finalities){e.isContainDraft=!0;const t=i.original;if(o instanceof Set){const e=Array.from(o);o.clear(),e.forEach((e=>o.add(n===e?t:e)))}else U(o,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,me(e))})),o&&(e.isContainDraft||console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."),r&&console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."))}function we(e){var t;const n=N(e);if(!V(e,null==n?void 0:n.options))return e;const r=q(e);if(n&&!n.operated)return n.original;let o;function i(){o=2===r?T(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):Y(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{i()}finally{n.finalized=!1}}else o=e;if(ne(o,((t,r)=>{if(n&&B($(n.original,t),r))return;const s=we(r);s!==r&&(o===e&&i(),U(o,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:o;return C(e)?new Set(o):new(Object.getPrototypeOf(e).constructor)(o)}return o}function Oe(e){if(!I(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return we(e)}x.createDraft=ve;const Me=function e(t,n,r){var o,i,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...o){return e(r,(e=>t.call(this,e,...o)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},Ee),c);const u=I(a)?Oe(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(o=c.enablePatches)&&void 0!==o&&o,h=null!==(i=c.strict)&&void 0!==i&&i,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!V(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let o,i;t.enablePatches&&(o=[],i=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,A))!==A.mutable&&V(e,t)?ve({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=be(s,e,o,i,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!V(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw K(N(y)),e}const b=e=>{const t=N(y);if(!I(e)){if(void 0!==e&&!B(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[R];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&me({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&me({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=N(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([Oe(e)])}return g([e])};return v instanceof Promise?v.then(b,(e=>{throw K(N(y)),e})):b(v)};var Ee;Object.prototype.constructor.toString();class je{constructor(e,t=null){this.value=e,this.reactor=t??new O(this,[])}produce(e){return n=e,void(t=this).set(Me(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new M(this,"",e[0]):new M(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}function ke(e){return new je(e)}function Se(e){return e instanceof je}function Re(e,t){e.reactor.addBinding(t)}class Pe{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}function Ae(e){return new Pe(e)}class xe{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}function ze(e){return new xe(e)}class De{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}function Ce(e){return new De(e)}export{w as RumiousApp,xe as RumiousChildrensRef,t as RumiousComponent,d as RumiousComponentElement,De as RumiousComponentRef,Pe as RumiousElementRef,je as RumiousState,ze as createChildrensRef,y as createComponentElement,Ce as createComponentRef,Ae as createElementRef,ke as createState,n as isComponent,Se as isState,Re as watcher};
|
1
|
+
class e{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class t{constructor(){this.element=null,this.props={},this.renderContext=new e(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function n(e){return Object.getPrototypeOf(e)===t}class r{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class i{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function o(e){return"function"==typeof e}class s{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){console.warn("Directive haven't handler !")}}class a extends s{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return console.warn(`Missing event handler for event: ${this.name}`),null;const n=t.get(e);if(!o(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!o(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class l extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){if("html"===this.name)e.innerHTML=this.normalizeValue(t)}}class c extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class u extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const p={on:(e,t)=>new a("on",e,t),bind:(e,t)=>new l("bind",e,t),ref:(e,t)=>new c("ref",e,t),childsRef:(e,t)=>new u("childsRef",e,t)};function f(...e){return new r("FRAGMENT",{},h(e))}function h(e){return e.map((e=>"object"==typeof e?e:new r("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...o){return n(e)?function(e,t,n){return new r("COMPONENT",{component:e,...t},new i(h(n)))}(e,t,o):e===f?f(...o):new r(e,t||{},h(o))},createFragment:f,createDirective:function(e,t,n){return function(e,t,n){return p[e]?.(t,n)}(e,t,n)}};class d extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}cleanUp(){}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.element=this,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp(),this.cleanUp()}}function y(e="a-component"){let t=Math.floor(9999*Math.random())*Date.now().toString(32);return window.customElements.define(e+t,class extends d{static tag=e+t;cleanUp(){window.customElements(e+t,HTMLUnknownElement)}}),document.createElement(e)}function g(e,t,n,r){const i=function(e,t,n,r){const i=y(e.tag??"r-component");return i.init(e,t,n,r),i}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([,e])=>{e instanceof s&&b(i,e,r)})),t.appendChild(i),t}function v(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof s?b(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}function b(e,t,n){t.init(e,n)}function w(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?g(e,t,w,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>w(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):v(e,n),e.children.forEach((e=>w(e,r,n))),t.appendChild(r),t)}class m{constructor(t=document.createElement("span"),n={}){this.root=t,this.configs=n,this.renderContext=new e(this)}render(e){w(e,this.root,this.renderContext)}}function O(e){let t="";for(const n in e)if(e.hasOwnProperty(n)){t+=`${n} {`;const r=e[n];for(const e in r)if(r.hasOwnProperty(e)){t+=`${e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}: ${r[e]};`}t+="} "}return t.trim()}class M{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}removeBinding(e){for(let t=this.bindings.length-1;t>=0;t--)this.bindings[t]===e&&this.bindings.splice(t,1)}addBinding(e){this.bindings.push(e)}}class E{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const S="remove",j="replace",k="add",R=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),P=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),A=Symbol.iterator,x={mutable:"mutable",immutable:"immutable"},T={};function z(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function C(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function D(e){return Object.getPrototypeOf(e)===Set.prototype}function _(e){return Object.getPrototypeOf(e)===Map.prototype}function I(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function N(e){return!!U(e)}function U(e){return"object"!=typeof e?null:null==e?void 0:e[R]}function F(e){var t;const n=U(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function L(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,x))===x.immutable||"function"==typeof n)}function V(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=U($(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const i=3===e.parent.type,o=i?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(i&&n.size>o||z(n,o)))return null;t.push(o)}if(e.parent)return V(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=$(3===q(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function q(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function $(e,t){return 2===q(e)?e.get(t):e[t]}function X(e,t,n){2===q(e)?e.set(t,n):e[t]=n}function B(e,t){const n=U(e);return(n?I(n):e)[t]}function W(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function K(e){if(e)for(;e.finalities.revoke.length>0;){e.finalities.revoke.pop()()}}function H(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const Y=Object.prototype.propertyIsEnumerable;function Z(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set){if(!D(e)){return new(0,Object.getPrototypeOf(e).constructor)(e.values())}return Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values())}if(e instanceof Map){if(!_(e)){return new(0,Object.getPrototypeOf(e).constructor)(e)}return new Map(e)}if((null==t?void 0:t.mark)&&(n=t.mark(e,x),void 0!==n)&&n!==x.mutable){if(n===x.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{Y.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function G(e){e.copy||(e.copy=Z(e.original,e.options))}function J(e){if(!L(e))return F(e);if(Array.isArray(e))return e.map(J);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,J(t)]));if(!_(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Map(t)}if(e instanceof Set){const t=Array.from(e).map(J);if(!D(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Set(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=J(e[n]);return t}function Q(e){return N(e)?J(e):e}function ee(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&ee(e.parent))}function te(){throw new Error("Cannot modify frozen object")}function ne(e,t,n,r,i){{n=null!=n?n:new WeakMap,r=null!=r?r:[],i=null!=i?i:[];const o=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(o);if(o&&"object"==typeof o&&-1!==e){if(r[0]===o)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${i.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(o),i.push(t)}else r.push(o)}if(Object.isFrozen(e)||N(e))return r.pop(),void i.pop();switch(q(e)){case 2:for(const[t,o]of e)ne(t,t,n,r,i),ne(o,t,n,r,i);e.set=e.clear=e.delete=te;break;case 3:for(const t of e)ne(t,t,n,r,i);e.add=e.clear=e.delete=te;break;case 1:Object.freeze(e);let t=0;for(const o of e)ne(o,t,n,r,i),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{ne(e[t],t,n,r,i)}))}r.pop(),i.pop()}function re(e,t){const n=q(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function ie(e,t,n){if(N(e)||!L(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,i=r?new Map:void 0;if(t.add(e),re(e,((o,s)=>{var a;if(N(s)){const t=U(s);G(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;X(r?i:e,o,n)}else ie(s,t,n)})),i){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(i.has(e)?i.get(e):e)}))}}function oe(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&ie($(n,t),e.finalities.handledSet,e.options)}function se(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(F(t))})))}function ae(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const i=V(e);i&&t(e,i,n,r)}e.finalized=!0}}function le(e,t,n,r){const i=U(n);i&&(i.callbacks||(i.callbacks=[]),i.callbacks.push(((o,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if(W($(l,t),n)){let n=i.original;i.copy&&(n=i.copy),se(e),ae(e,r,o,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,i.original)),X(l,t,n)}})),e.options.enableAutoFreeze&&i.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),L(n,e.options)&&e.finalities.draft.push((()=>{W($(3===e.type?e.setMap:e.copy,t),n)&&oe(e,t)}))}function ce(e,t,n,r){const{pathAsArray:i=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,i,o,s){n.forEach(((n,a)=>{const l=$(e,a),c=Q($(t,a)),u=n?z(e,a)?j:k:S;if(W(l,c)&&u===j)return;const p=H(r.concat(a),s);i.push(u===S?{op:u,path:p}:{op:u,path:p,value:c}),o.push(u===k?{op:S,path:p}:u===S?{op:k,path:p,value:l}:{op:j,path:p,value:l})}))}(e,t,n,r,i);case 1:return function(e,t,n,r,i){let{original:o,assignedMap:s,options:a}=e,l=e.copy;l.length<o.length&&([o,l]=[l,o],[n,r]=[r,n]);for(let e=0;e<o.length;e+=1)if(s.get(e.toString())&&l[e]!==o[e]){const s=H(t.concat([e]),i);n.push({op:j,path:s,value:Q(l[e])}),r.push({op:j,path:s,value:Q(o[e])})}for(let e=o.length;e<l.length;e+=1){const r=H(t.concat([e]),i);n.push({op:k,path:r,value:Q(l[e])})}if(o.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=H(t.concat(["length"]),i);r.push({op:j,path:e,value:o.length})}else for(let e=l.length;o.length<e;e-=1){const n=H(t.concat([e-1]),i);r.push({op:S,path:n})}}}(e,t,n,r,i);case 3:return function({original:e,copy:t},n,r,i,o){let s=0;e.forEach((e=>{if(!t.has(e)){const t=H(n.concat([s]),o);r.push({op:S,path:t,value:e}),i.unshift({op:k,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=H(n.concat([s]),o);r.push({op:k,path:e,value:t}),i.unshift({op:S,path:e,value:t})}s+=1}))}(e,t,n,r,i)}}const ue=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!L(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},pe={get size(){return I(U(this)).size},has(e){return I(U(this)).has(e)},set(e,t){const n=U(this),r=I(n);return r.has(e)&&W(r.get(e),t)||(G(n),ee(n),n.assignedMap.set(e,!0),n.copy.set(e,t),le(n,e,t,ce)),this},delete(e){if(!this.has(e))return!1;const t=U(this);return G(t),ee(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=U(this);if(this.size){G(e),ee(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){I(U(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=U(this),i=I(r).get(e),o=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,i,x))===x.mutable;if(r.options.strict&&ue(i,r.options,o),o)return i;if(r.finalized||!L(i,r.options))return i;if(i!==r.original.get(e))return i;const s=T.createDraft({original:i,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return G(r),r.copy.set(e,s),s},keys(){return I(U(this)).keys()},values(){const e=this.keys();return{[A]:()=>this.values(),next:()=>{const t=e.next();if(t.done)return t;return{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[A]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[A](){return this.entries()}},fe=Reflect.ownKeys(pe),he=(e,t,{isValuesIterator:n})=>()=>{var r,i;const o=t.next();if(o.done)return o;const s=o.value;let a=e.setMap.get(s);const l=U(a),c=(null===(i=(r=e.options).mark)||void 0===i?void 0:i.call(r,a,x))===x.mutable;if(e.options.strict&&ue(s,e.options,c),c||l||!L(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=T.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},de={get size(){return U(this).setMap.size},has(e){const t=U(this);if(t.setMap.has(e))return!0;G(t);const n=U(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=U(this);return this.has(e)||(G(t),ee(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),le(t,e,e,ce)),this},delete(e){if(!this.has(e))return!1;const t=U(this);G(t),ee(t);const n=U(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=U(this);G(e),ee(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=U(this);G(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:he(e,t,{isValuesIterator:!0})}},entries(){const e=U(this);G(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:he(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[A](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(de,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const ye=Reflect.ownKeys(de),ge=new WeakSet,ve={get(e,t,n){var r,i;const o=null===(r=e.copy)||void 0===r?void 0:r[t];if(o&&ge.has(o))return o;if(t===R)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,x),s===x.mutable)return e.options.strict&&ue(r,e.options,!0),r}const a=I(e);if(a instanceof Map&&fe.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(pe,"size").get.call(e.proxy);const n=pe[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&ye.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(de,"size").get.call(e.proxy);const n=de[t];if(n)return n.bind(e.proxy)}if(!z(a,t)){const n=C(a,t);return n?"value"in n?n.value:null===(i=n.get)||void 0===i?void 0:i.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&ue(l,e.options),e.finalized||!L(l,e.options))return l;if(l===B(e.original,t)){if(G(e),e.copy[t]=be({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=U(e.copy[t]);return G(n),ee(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let i;if(1===e.type&&"length"!==t&&(!(Number.isInteger(i=Number(t))&&i>=0)||0!==t&&0!==i&&String(i)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const o=C(I(e),t);if(null==o?void 0:o.set)return o.set.call(e.proxy,n),!0;const s=B(I(e),t),a=U(s);return a&&W(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):(W(n,s)&&(void 0!==n||z(e.original,t))||(G(e),ee(e),z(e.original,t)&&W(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,le(e,t,n,ce)),!0)},has:(e,t)=>t in I(e),ownKeys:e=>Reflect.ownKeys(I(e)),getOwnPropertyDescriptor(e,t){const n=I(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?ve.set.call(this,e,t,void 0,e.proxy):(void 0!==B(e.original,t)||t in e.original?(G(e),ee(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function be(e){const{original:t,parentDraft:n,key:r,finalities:i,options:o}=e,s=q(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:i,options:o,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,ve);if(i.revoke.push(c),ge.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var i,o;const s=U(l);let a=3===e.type?e.setMap:e.copy;const c=$(a,r),u=U(c);if(u){let o=u.original;u.operated&&(o=F(c)),se(u),ae(u,ce,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(i=e.options.updatedValues)&&void 0!==i?i:new WeakMap,e.options.updatedValues.set(o,u.original)),X(a,r,o)}null===(o=s.callbacks)||void 0===o||o.forEach((e=>{e(t,n)}))}))}else{const e=U(l);e.finalities.draft.push(((t,n)=>{se(e),ae(e,ce,t,n)}))}return l}function we(e,t,n,r,i){var o;const s=U(e),a=null!==(o=null==s?void 0:s.original)&&void 0!==o?o:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;){s.finalities.draft.pop()(n,r)}const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&K(s),i&&ne(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:j,path:[],value:t[0]}]:n,r&&l?[{op:j,path:[],value:a}]:r]}function me(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:i=!0}=e;re(n,((n,r,i)=>{const o=U(r);if(o&&t&&o.finalities===t.finalities){e.isContainDraft=!0;const t=o.original;if(i instanceof Set){const e=Array.from(i);i.clear(),e.forEach((e=>i.add(n===e?t:e)))}else X(i,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,me(e))})),i&&(e.isContainDraft||console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."),r&&console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."))}function Oe(e){var t;const n=U(e);if(!L(e,null==n?void 0:n.options))return e;const r=q(e);if(n&&!n.operated)return n.original;let i;function o(){i=2===r?_(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):Z(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{o()}finally{n.finalized=!1}}else i=e;if(re(i,((t,r)=>{if(n&&W($(n.original,t),r))return;const s=Oe(r);s!==r&&(i===e&&o(),X(i,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:i;return D(e)?new Set(i):new(Object.getPrototypeOf(e).constructor)(i)}return i}function Me(e){if(!N(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return Oe(e)}T.createDraft=be;const Ee=function e(t,n,r){var i,o,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...i){return e(r,(e=>t.call(this,e,...i)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},Se),c);const u=N(a)?Me(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(i=c.enablePatches)&&void 0!==i&&i,h=null!==(o=c.strict)&&void 0!==o&&o,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!L(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let i,o;t.enablePatches&&(i=[],o=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,x))!==x.mutable&&L(e,t)?be({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=we(s,e,i,o,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!L(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw K(U(y)),e}const b=e=>{const t=U(y);if(!N(e)){if(void 0!==e&&!W(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[P];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&me({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&me({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=U(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([Me(e)])}return g([e])};return v instanceof Promise?v.then(b,(e=>{throw K(U(y)),e})):b(v)};var Se;Object.prototype.constructor.toString();class je{constructor(e,t=null){this.value=e,this.reactor=t??new M(this,[])}produce(e){return n=e,void(t=this).set(Ee(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new E(this,"",e[0]):new E(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}function ke(e){return new je(e)}function Re(e){return e instanceof je}function Pe(e,t){e.reactor.addBinding(t)}function Ae(e,t){e.reactor.removeBinding(t)}class xe{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}function Te(e){return new xe(e)}class ze{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}function Ce(e){return new ze(e)}class De{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}function _e(e){return new De(e)}window.RUMIOUS_CONTEXTS||(window.RUMIOUS_CONTEXTS={});class Ie{constructor(e={}){this.data=e,this.events={}}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter((e=>e!==t)))}emit(e,...t){this.events[e]&&this.events[e].forEach((e=>e(...t)))}set(e,t){let n=ke(t);return this.data[e]=n,n}get(e){return this.data[e]}}function Ne(e="",t={}){return window.RUMIOUS_CONTEXTS[e]||(window.RUMIOUS_CONTEXTS[e]=new Ie(t)),window.RUMIOUS_CONTEXTS[e]}export{m as RumiousApp,ze as RumiousChildrensRef,t as RumiousComponent,d as RumiousComponentElement,De as RumiousComponentRef,Ie as RumiousContext,xe as RumiousElementRef,je as RumiousState,Ce as createChildrensRef,y as createComponentElement,_e as createComponentRef,Ne as createContext,Te as createElementRef,ke as createState,n as isComponent,Re as isState,O as styleHelper,Ae as unwatch,Pe as watch};
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/dist/index.esm.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../src/render/context.js","../src/component/component.js","../src/dom/element.js","../src/utils/checker.js","../src/render/directives.js","../src/jsx/index.js","../src/component/element.js","../src/render/index.js","../src/component/render.js","../src/app/index.js","../src/state/reactive.js","../src/state/reducer.js","../node_modules/mutative/dist/mutative.esm.mjs","../src/state/state.js","../src/state/produce.js","../src/state/watcher.js","../src/ref/ref.js","../src/ref/childrens.js","../src/ref/component.js"],"sourcesContent":null,"names":["RumiousRenderContext","constructor","target","this","find","name","get","RumiousComponent","element","props","renderContext","renderer","wrapped","prepare","template","requestRender","fragment","document","createDocumentFragment","appendChild","onRender","requestCleanUp","cloned","cloneNode","replaceWith","firstChild","removeChild","onInit","onCreate","onUpdate","onDestroy","isComponent","component","Object","getPrototypeOf","RumiousElement","type","children","RumiousElementList","list","forEach","callback","isFunction","object","RumiousDirective","value","init","console","warn","RumiousEventBindingDirective","dom","fn","getHandler","handler","bind","objectName","addEventListener","RumiousPropsBindingDirective","currentState","reactor","addBinding","currentStateValue","bindAttr","evaluator","normalizeValue","toString","innerHTML","RumiousRefDirective","ref","set","RumiousChildrensRefDirective","directives","on","event","attr","_","childsRef","createFragment","normalizeChildren","map","child","nodeValue","window","RUMIOUS_JSX_SUPPORT","createElement","createComponent","createDirective","registerDirective","RumiousComponentElement","HTMLElement","super","instance","setRef","componentConstructor","connectedCallback","forwardRef","disconnectCallback","createComponentElement","handleComponentElement","container","render","componentElement","renderComponent","entries","propValue","handleDirective","handleRegularElement","startsWith","test","substring","toLowerCase","nodeType","Node","TEXT_NODE","setAttribute","setElementProps","directive","handleFragmentOrElementList","createTextNode","handleTextElement","customElements","define","RumiousApp","root","configs","RumiousReactor","bindings","react","push","RumiousReducer","state","path","trigger","args","Operation","PROXY_DRAFT","Symbol","for","RAW_RETURN_SYMBOL","iteratorSymbol","iterator","dataTypes","mutable","immutable","internal","has","key","Map","prototype","hasOwnProperty","call","getDescriptor","Reflect","descriptor","getOwnPropertyDescriptor","isBaseSetInstance","obj","Set","isBaseMapInstance","latest","proxyDraft","_a","copy","undefined","original","isDraft","getProxyDraft","getValue","isDraftable","options","markResult","Array","isArray","mark","getPath","parentCopy","parent","isSet","from","setMap","keys","indexOf","size","reverse","base","index","length","getType","Error","join","resolvePath","e","peek","isEqual","x","y","revokeProxy","finalities","revoke","pop","escapePath","pathAsArray","concat","_item","item","replace","propIsEnum","propertyIsEnumerable","shallowCopy","SubClass","values","difference","create","ownKeys","desc","enumerable","configurable","writable","defineProperty","strictCopy","enablePatches","enableAutoFreeze","getOwnPropertySymbols","ensureShallowCopy","deepClone","iterable","k","v","cloneIfNeeded","markChanged","assignedMap","operated","throwFrozenError","deepFreeze","subKey","updatedValues","stack","WeakMap","slice","isFrozen","clear","delete","add","freeze","iter","entry","handleValue","handledSet","updatedValue","finalizeAssigned","finalizeSetValue","finalizePatches","generatePatches","patches","inversePatches","finalized","basePath","markFinalization","callbacks","draft","proxyState","assignedValue","originalValue","op","generatePatchesFromAssigned","arrayLengthAssignment","generateArrayPatches","unshift","generateSetPatches","checkReadable","ignoreCheckDraftable","mapHandler","source","thisArg","_value","_key","_b","strict","createDraft","parentDraft","next","result","done","mapHandlerKeys","getNextIterator","isValuesIterator","currentDraft","proxy","setHandler","valueProxyDraft","assign","intersection","other","union","symmetricDifference","isSubsetOf","isSupersetOf","isDisjointFrom","setHandlerKeys","draftsCache","WeakSet","proxyHandler","receiver","includes","handle","Number","subProxyDraft","isInteger","String","current","currentProxyDraft","setPrototypeOf","deleteProperty","createDraftOptions","Proxy","revocable","oldProxyDraft","finalizeDraft","returnedValue","hasReturnedValue","finalize","handleReturnValue","rootDraft","useRawReturn","isRoot","isContainDraft","currentValue","arr","getCurrent","newValue","arg0","arg1","arg2","_c","mutate","arg","types","_options","baseState","finalizedState","finalizedPatches","finalizedInversePatches","draftify","error","returnValue","rawReturnValue","returnedProxyDraft","Promise","then","RumiousState","produce","recipe","reducer","computedObj","setObjectByPath","split","i","createState","isState","watcher","RumiousElementRef","html","h","query","q","querySelectorAll","text","textContent","off","removeEventListener","remove","addChild","createElementRef","RumiousChildrensRef","idx","createChildrensRef","RumiousComponentRef","createComponentRef"],"mappings":"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","x_google_ignoreList":[12]}
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/render/context.js","../src/component/component.js","../src/dom/element.js","../src/utils/checker.js","../src/render/directives.js","../src/jsx/index.js","../src/component/element.js","../src/render/index.js","../src/component/render.js","../src/app/index.js","../src/component/style.js","../src/state/reactive.js","../src/state/reducer.js","../node_modules/mutative/dist/mutative.esm.mjs","../src/state/state.js","../src/state/produce.js","../src/state/watcher.js","../src/ref/ref.js","../src/ref/childrens.js","../src/ref/component.js","../src/context/context.js"],"sourcesContent":null,"names":["RumiousRenderContext","constructor","target","this","find","name","get","RumiousComponent","element","props","renderContext","renderer","wrapped","prepare","template","requestRender","fragment","document","createDocumentFragment","appendChild","onRender","requestCleanUp","cloned","cloneNode","replaceWith","firstChild","removeChild","onInit","onCreate","onUpdate","onDestroy","isComponent","component","Object","getPrototypeOf","RumiousElement","type","children","RumiousElementList","list","forEach","callback","isFunction","object","RumiousDirective","value","init","console","warn","RumiousEventBindingDirective","dom","fn","getHandler","handler","bind","objectName","addEventListener","RumiousPropsBindingDirective","currentState","reactor","addBinding","currentStateValue","bindAttr","evaluator","normalizeValue","toString","innerHTML","RumiousRefDirective","ref","set","RumiousChildrensRefDirective","directives","on","event","attr","_","childsRef","createFragment","normalizeChildren","map","child","nodeValue","window","RUMIOUS_JSX_SUPPORT","createElement","createComponent","createDirective","registerDirective","RumiousComponentElement","HTMLElement","super","instance","cleanUp","setRef","componentConstructor","connectedCallback","forwardRef","disconnectCallback","createComponentElement","key","Math","floor","random","Date","now","customElements","define","static","HTMLUnknownElement","handleComponentElement","container","render","componentElement","tag","renderComponent","entries","propValue","handleDirective","handleRegularElement","startsWith","test","substring","toLowerCase","nodeType","Node","TEXT_NODE","setAttribute","setElementProps","directive","handleFragmentOrElementList","createTextNode","handleTextElement","RumiousApp","root","configs","styleHelper","styles","css","selector","hasOwnProperty","properties","property","replace","match","trim","RumiousReactor","bindings","react","removeBinding","i","length","splice","push","RumiousReducer","state","path","trigger","args","Operation","PROXY_DRAFT","Symbol","for","RAW_RETURN_SYMBOL","iteratorSymbol","iterator","dataTypes","mutable","immutable","internal","has","Map","prototype","call","getDescriptor","Reflect","descriptor","getOwnPropertyDescriptor","isBaseSetInstance","obj","Set","isBaseMapInstance","latest","proxyDraft","_a","copy","undefined","original","isDraft","getProxyDraft","getValue","isDraftable","options","markResult","Array","isArray","mark","getPath","parentCopy","parent","isSet","from","setMap","keys","indexOf","size","reverse","base","index","getType","Error","join","resolvePath","e","peek","isEqual","x","y","revokeProxy","finalities","revoke","pop","escapePath","pathAsArray","concat","_item","item","propIsEnum","propertyIsEnumerable","shallowCopy","SubClass","values","difference","create","ownKeys","desc","enumerable","configurable","writable","defineProperty","strictCopy","enablePatches","enableAutoFreeze","getOwnPropertySymbols","ensureShallowCopy","deepClone","iterable","k","v","cloneIfNeeded","markChanged","assignedMap","operated","throwFrozenError","deepFreeze","subKey","updatedValues","stack","WeakMap","slice","isFrozen","clear","delete","add","freeze","iter","entry","handleValue","handledSet","updatedValue","finalizeAssigned","finalizeSetValue","finalizePatches","generatePatches","patches","inversePatches","finalized","basePath","markFinalization","callbacks","draft","proxyState","assignedValue","originalValue","op","generatePatchesFromAssigned","arrayLengthAssignment","generateArrayPatches","unshift","generateSetPatches","checkReadable","ignoreCheckDraftable","mapHandler","source","thisArg","_value","_key","_b","strict","createDraft","parentDraft","next","result","done","mapHandlerKeys","getNextIterator","isValuesIterator","currentDraft","proxy","setHandler","valueProxyDraft","assign","intersection","other","union","symmetricDifference","isSubsetOf","isSupersetOf","isDisjointFrom","setHandlerKeys","draftsCache","WeakSet","proxyHandler","receiver","includes","handle","Number","subProxyDraft","isInteger","String","current","currentProxyDraft","setPrototypeOf","deleteProperty","createDraftOptions","Proxy","revocable","oldProxyDraft","finalizeDraft","returnedValue","hasReturnedValue","finalize","handleReturnValue","rootDraft","useRawReturn","isRoot","isContainDraft","currentValue","arr","getCurrent","newValue","arg0","arg1","arg2","_c","mutate","arg","types","_options","baseState","finalizedState","finalizedPatches","finalizedInversePatches","draftify","error","returnValue","rawReturnValue","returnedProxyDraft","Promise","then","RumiousState","produce","recipe","reducer","computedObj","setObjectByPath","split","createState","isState","watch","unwatch","RumiousElementRef","html","h","query","q","querySelectorAll","text","textContent","off","removeEventListener","remove","addChild","createElementRef","RumiousChildrensRef","idx","createChildrensRef","RumiousComponentRef","createComponentRef","RUMIOUS_CONTEXTS","RumiousContext","data","events","listener","filter","l","emit","createContext","globalName"],"mappings":"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","x_google_ignoreList":[13]}
|
package/dist/index.esm.min.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
class e{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class t{constructor(){this.element=null,this.props={},this.renderContext=new e(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function n(e){return Object.getPrototypeOf(e)===t}class r{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class o{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function i(e){return"function"==typeof e}class s{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){}}class a extends s{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return null;const n=t.get(e);if(!i(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!i(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class l extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){"html"===this.name&&(e.innerHTML=this.normalizeValue(t))}}class c extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class u extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const p={on:(e,t)=>new a("on",e,t),bind:(e,t)=>new l("bind",e,t),ref:(e,t,n="element")=>new c("ref",e,t),childsRef:(e,t)=>new u("childsRef",e,t)};function f(...e){return new r("FRAGMENT",{},h(e))}function h(e){return e.map((e=>"object"==typeof e?e:new r("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...i){return n(e)?function(e,t,n){return new r("COMPONENT",{component:e,...t},new o(h(n)))}(e,t,i):e===f?f(...i):new r(e,t||{},h(i))},createFragment:f,createDirective:function(e,t,n){return function(e,t,n){return p[e]?.(t,n)}(e,t,n)}};class d extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp()}}function y(){return document.createElement("a-component")}function g(e,t,n){t.init(e,n)}function v(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?function(e,t,n,r){const o=function(e,t,n,r){const o=y();return o.init(e,t,n,r),o}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([e,t])=>{t instanceof s&&g(o,t,r)})),t.appendChild(o),t}(e,t,v,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>v(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):function(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof s?g(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}(e,n),e.children.forEach((e=>v(e,r,n))),t.appendChild(r),t)}window.customElements.define("a-component",d);class b{constructor(t=document.createElement("span"),n={}){this.root=t,this.configs=n,this.renderContext=new e(this)}render(e){v(e,this.root,this.renderContext)}}class m{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}addBinding(e){this.bindings.push(e)}}class w{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const O="remove",M="replace",E="add",j=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),k=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),S=Symbol.iterator,R={mutable:"mutable",immutable:"immutable"},P={};function A(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function x(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function z(e){return Object.getPrototypeOf(e)===Set.prototype}function D(e){return Object.getPrototypeOf(e)===Map.prototype}function C(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function T(e){return!!_(e)}function _(e){return"object"!=typeof e?null:null==e?void 0:e[j]}function I(e){var t;const n=_(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function N(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,R))===R.immutable||"function"==typeof n)}function F(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=_(L(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const o=3===e.parent.type,i=o?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(o&&n.size>i||A(n,i)))return null;t.push(i)}if(e.parent)return F(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=L(3===V(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function V(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function L(e,t){return 2===V(e)?e.get(t):e[t]}function q(e,t,n){2===V(e)?e.set(t,n):e[t]=n}function U(e,t){const n=_(e);return(n?C(n):e)[t]}function $(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function W(e){if(e)for(;e.finalities.revoke.length>0;)e.finalities.revoke.pop()()}function B(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const K=Object.prototype.propertyIsEnumerable;function X(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set)return z(e)?Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values()):new(0,Object.getPrototypeOf(e).constructor)(e.values());if(e instanceof Map)return D(e)?new Map(e):new(0,Object.getPrototypeOf(e).constructor)(e);if((null==t?void 0:t.mark)&&(n=t.mark(e,R),void 0!==n)&&n!==R.mutable){if(n===R.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{K.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function H(e){e.copy||(e.copy=X(e.original,e.options))}function Y(e){if(!N(e))return I(e);if(Array.isArray(e))return e.map(Y);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,Y(t)]));return D(e)?new Map(t):new(0,Object.getPrototypeOf(e).constructor)(t)}if(e instanceof Set){const t=Array.from(e).map(Y);return z(e)?new Set(t):new(0,Object.getPrototypeOf(e).constructor)(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=Y(e[n]);return t}function G(e){return T(e)?Y(e):e}function Z(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&Z(e.parent))}function J(){throw new Error("Cannot modify frozen object")}function Q(e,t,n,r,o){{n=null!=n?n:new WeakMap,r=null!=r?r:[],o=null!=o?o:[];const i=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(i);if(i&&"object"==typeof i&&-1!==e){if(r[0]===i)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${o.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(i),o.push(t)}else r.push(i)}if(Object.isFrozen(e)||T(e))return r.pop(),void o.pop();switch(V(e)){case 2:for(const[t,i]of e)Q(t,t,n,r,o),Q(i,t,n,r,o);e.set=e.clear=e.delete=J;break;case 3:for(const t of e)Q(t,t,n,r,o);e.add=e.clear=e.delete=J;break;case 1:Object.freeze(e);let t=0;for(const i of e)Q(i,t,n,r,o),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{Q(e[t],t,n,r,o)}))}r.pop(),o.pop()}function ee(e,t){const n=V(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function te(e,t,n){if(T(e)||!N(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,o=r?new Map:void 0;if(t.add(e),ee(e,((i,s)=>{var a;if(T(s)){const t=_(s);H(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;q(r?o:e,i,n)}else te(s,t,n)})),o){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(o.has(e)?o.get(e):e)}))}}function ne(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&te(L(n,t),e.finalities.handledSet,e.options)}function re(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(I(t))})))}function oe(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const o=F(e);o&&t(e,o,n,r)}e.finalized=!0}}function ie(e,t,n,r){const o=_(n);o&&(o.callbacks||(o.callbacks=[]),o.callbacks.push(((i,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if($(L(l,t),n)){let n=o.original;o.copy&&(n=o.copy),re(e),oe(e,r,i,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,o.original)),q(l,t,n)}})),e.options.enableAutoFreeze&&o.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),N(n,e.options)&&e.finalities.draft.push((()=>{$(L(3===e.type?e.setMap:e.copy,t),n)&&ne(e,t)}))}function se(e,t,n,r){const{pathAsArray:o=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,o,i,s){n.forEach(((n,a)=>{const l=L(e,a),c=G(L(t,a)),u=n?A(e,a)?M:E:O;if($(l,c)&&u===M)return;const p=B(r.concat(a),s);o.push(u===O?{op:u,path:p}:{op:u,path:p,value:c}),i.push(u===E?{op:O,path:p}:u===O?{op:E,path:p,value:l}:{op:M,path:p,value:l})}))}(e,t,n,r,o);case 1:return function(e,t,n,r,o){let{original:i,assignedMap:s,options:a}=e,l=e.copy;l.length<i.length&&([i,l]=[l,i],[n,r]=[r,n]);for(let e=0;e<i.length;e+=1)if(s.get(e.toString())&&l[e]!==i[e]){const s=B(t.concat([e]),o);n.push({op:M,path:s,value:G(l[e])}),r.push({op:M,path:s,value:G(i[e])})}for(let e=i.length;e<l.length;e+=1){const r=B(t.concat([e]),o);n.push({op:E,path:r,value:G(l[e])})}if(i.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=B(t.concat(["length"]),o);r.push({op:M,path:e,value:i.length})}else for(let e=l.length;i.length<e;e-=1){const n=B(t.concat([e-1]),o);r.push({op:O,path:n})}}}(e,t,n,r,o);case 3:return function({original:e,copy:t},n,r,o,i){let s=0;e.forEach((e=>{if(!t.has(e)){const t=B(n.concat([s]),i);r.push({op:O,path:t,value:e}),o.unshift({op:E,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=B(n.concat([s]),i);r.push({op:E,path:e,value:t}),o.unshift({op:O,path:e,value:t})}s+=1}))}(e,t,n,r,o)}}const ae=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!N(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},le={get size(){return C(_(this)).size},has(e){return C(_(this)).has(e)},set(e,t){const n=_(this),r=C(n);return r.has(e)&&$(r.get(e),t)||(H(n),Z(n),n.assignedMap.set(e,!0),n.copy.set(e,t),ie(n,e,t,se)),this},delete(e){if(!this.has(e))return!1;const t=_(this);return H(t),Z(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=_(this);if(this.size){H(e),Z(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){C(_(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=_(this),o=C(r).get(e),i=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,o,R))===R.mutable;if(r.options.strict&&ae(o,r.options,i),i)return o;if(r.finalized||!N(o,r.options))return o;if(o!==r.original.get(e))return o;const s=P.createDraft({original:o,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return H(r),r.copy.set(e,s),s},keys(){return C(_(this)).keys()},values(){const e=this.keys();return{[S]:()=>this.values(),next:()=>{const t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[S]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[S](){return this.entries()}},ce=Reflect.ownKeys(le),ue=(e,t,{isValuesIterator:n})=>()=>{var r,o;const i=t.next();if(i.done)return i;const s=i.value;let a=e.setMap.get(s);const l=_(a),c=(null===(o=(r=e.options).mark)||void 0===o?void 0:o.call(r,a,R))===R.mutable;if(e.options.strict&&ae(s,e.options,c),c||l||!N(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=P.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},pe={get size(){return _(this).setMap.size},has(e){const t=_(this);if(t.setMap.has(e))return!0;H(t);const n=_(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=_(this);return this.has(e)||(H(t),Z(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),ie(t,e,e,se)),this},delete(e){if(!this.has(e))return!1;const t=_(this);H(t),Z(t);const n=_(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=_(this);H(e),Z(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=_(this);H(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:ue(e,t,{isValuesIterator:!0})}},entries(){const e=_(this);H(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:ue(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[S](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(pe,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const fe=Reflect.ownKeys(pe),he=new WeakSet,de={get(e,t,n){var r,o;const i=null===(r=e.copy)||void 0===r?void 0:r[t];if(i&&he.has(i))return i;if(t===j)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,R),s===R.mutable)return e.options.strict&&ae(r,e.options,!0),r}const a=C(e);if(a instanceof Map&&ce.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(le,"size").get.call(e.proxy);const n=le[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&fe.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(pe,"size").get.call(e.proxy);const n=pe[t];if(n)return n.bind(e.proxy)}if(!A(a,t)){const n=x(a,t);return n?"value"in n?n.value:null===(o=n.get)||void 0===o?void 0:o.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&ae(l,e.options),e.finalized||!N(l,e.options))return l;if(l===U(e.original,t)){if(H(e),e.copy[t]=ye({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=_(e.copy[t]);return H(n),Z(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let o;if(1===e.type&&"length"!==t&&(!(Number.isInteger(o=Number(t))&&o>=0)||0!==t&&0!==o&&String(o)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const i=x(C(e),t);if(null==i?void 0:i.set)return i.set.call(e.proxy,n),!0;const s=U(C(e),t),a=_(s);return a&&$(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):($(n,s)&&(void 0!==n||A(e.original,t))||(H(e),Z(e),A(e.original,t)&&$(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,ie(e,t,n,se)),!0)},has:(e,t)=>t in C(e),ownKeys:e=>Reflect.ownKeys(C(e)),getOwnPropertyDescriptor(e,t){const n=C(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?de.set.call(this,e,t,void 0,e.proxy):(void 0!==U(e.original,t)||t in e.original?(H(e),Z(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function ye(e){const{original:t,parentDraft:n,key:r,finalities:o,options:i}=e,s=V(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:o,options:i,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,de);if(o.revoke.push(c),he.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var o,i;const s=_(l);let a=3===e.type?e.setMap:e.copy;const c=L(a,r),u=_(c);if(u){let i=u.original;u.operated&&(i=I(c)),re(u),oe(u,se,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(o=e.options.updatedValues)&&void 0!==o?o:new WeakMap,e.options.updatedValues.set(i,u.original)),q(a,r,i)}null===(i=s.callbacks)||void 0===i||i.forEach((e=>{e(t,n)}))}))}else{const e=_(l);e.finalities.draft.push(((t,n)=>{re(e),oe(e,se,t,n)}))}return l}function ge(e,t,n,r,o){var i;const s=_(e),a=null!==(i=null==s?void 0:s.original)&&void 0!==i?i:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;)s.finalities.draft.pop()(n,r);const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&W(s),o&&Q(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:M,path:[],value:t[0]}]:n,r&&l?[{op:M,path:[],value:a}]:r]}function ve(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:o=!0}=e;ee(n,((n,r,o)=>{const i=_(r);if(i&&t&&i.finalities===t.finalities){e.isContainDraft=!0;const t=i.original;if(o instanceof Set){const e=Array.from(o);o.clear(),e.forEach((e=>o.add(n===e?t:e)))}else q(o,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,ve(e))})),o&&e.isContainDraft}function be(e){var t;const n=_(e);if(!N(e,null==n?void 0:n.options))return e;const r=V(e);if(n&&!n.operated)return n.original;let o;function i(){o=2===r?D(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):X(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{i()}finally{n.finalized=!1}}else o=e;if(ee(o,((t,r)=>{if(n&&$(L(n.original,t),r))return;const s=be(r);s!==r&&(o===e&&i(),q(o,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:o;return z(e)?new Set(o):new(Object.getPrototypeOf(e).constructor)(o)}return o}function me(e){if(!T(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return be(e)}P.createDraft=ye;const we=function e(t,n,r){var o,i,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...o){return e(r,(e=>t.call(this,e,...o)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},void 0),c);const u=T(a)?me(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(o=c.enablePatches)&&void 0!==o&&o,h=null!==(i=c.strict)&&void 0!==i&&i,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!N(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let o,i;t.enablePatches&&(o=[],i=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,R))!==R.mutable&&N(e,t)?ye({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=ge(s,e,o,i,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!N(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw W(_(y)),e}const b=e=>{const t=_(y);if(!T(e)){if(void 0!==e&&!$(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[k];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&ve({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&ve({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=_(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([me(e)])}return g([e])};return v instanceof Promise?v.then(b,(e=>{throw W(_(y)),e})):b(v)};Object.prototype.constructor.toString();class Oe{constructor(e,t=null){this.value=e,this.reactor=t??new m(this,[])}produce(e){return n=e,void(t=this).set(we(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new w(this,"",e[0]):new w(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}function Me(e){return new Oe(e)}function Ee(e){return e instanceof Oe}function je(e,t){e.reactor.addBinding(t)}class ke{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}function Se(e){return new ke(e)}class Re{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}function Pe(e){return new Re(e)}class Ae{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}function xe(e){return new Ae(e)}export{b as RumiousApp,Re as RumiousChildrensRef,t as RumiousComponent,d as RumiousComponentElement,Ae as RumiousComponentRef,ke as RumiousElementRef,Oe as RumiousState,Pe as createChildrensRef,y as createComponentElement,xe as createComponentRef,Se as createElementRef,Me as createState,n as isComponent,Ee as isState,je as watcher};
|
1
|
+
class e{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class t{constructor(){this.element=null,this.props={},this.renderContext=new e(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function n(e){return Object.getPrototypeOf(e)===t}class r{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class i{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function o(e){return"function"==typeof e}class s{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){}}class a extends s{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return null;const n=t.get(e);if(!o(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!o(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class l extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){"html"===this.name&&(e.innerHTML=this.normalizeValue(t))}}class c extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class u extends s{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const p={on:(e,t)=>new a("on",e,t),bind:(e,t)=>new l("bind",e,t),ref:(e,t)=>new c("ref",e,t),childsRef:(e,t)=>new u("childsRef",e,t)};function f(...e){return new r("FRAGMENT",{},h(e))}function h(e){return e.map((e=>"object"==typeof e?e:new r("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...o){return n(e)?function(e,t,n){return new r("COMPONENT",{component:e,...t},new i(h(n)))}(e,t,o):e===f?f(...o):new r(e,t||{},h(o))},createFragment:f,createDirective:function(e,t,n){return function(e,t,n){return p[e]?.(t,n)}(e,t,n)}};class d extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}cleanUp(){}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.element=this,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp(),this.cleanUp()}}function y(e="a-component"){let t=Math.floor(9999*Math.random())*Date.now().toString(32);return window.customElements.define(e+t,class extends d{static tag=e+t;cleanUp(){window.customElements(e+t,HTMLUnknownElement)}}),document.createElement(e)}function g(e,t,n){t.init(e,n)}function v(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?function(e,t,n,r){const i=function(e,t,n,r){const i=y(e.tag??"r-component");return i.init(e,t,n,r),i}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([,e])=>{e instanceof s&&g(i,e,r)})),t.appendChild(i),t}(e,t,v,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>v(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):function(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof s?g(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}(e,n),e.children.forEach((e=>v(e,r,n))),t.appendChild(r),t)}class b{constructor(t=document.createElement("span"),n={}){this.root=t,this.configs=n,this.renderContext=new e(this)}render(e){v(e,this.root,this.renderContext)}}function m(e){let t="";for(const n in e)if(e.hasOwnProperty(n)){t+=`${n} {`;const r=e[n];for(const e in r)r.hasOwnProperty(e)&&(t+=`${e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}: ${r[e]};`);t+="} "}return t.trim()}class w{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}removeBinding(e){for(let t=this.bindings.length-1;t>=0;t--)this.bindings[t]===e&&this.bindings.splice(t,1)}addBinding(e){this.bindings.push(e)}}class O{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const M="remove",E="replace",S="add",j=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),k=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),R=Symbol.iterator,P={mutable:"mutable",immutable:"immutable"},A={};function x(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function z(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function C(e){return Object.getPrototypeOf(e)===Set.prototype}function T(e){return Object.getPrototypeOf(e)===Map.prototype}function D(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function _(e){return!!I(e)}function I(e){return"object"!=typeof e?null:null==e?void 0:e[j]}function N(e){var t;const n=I(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function U(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,P))===P.immutable||"function"==typeof n)}function F(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=I(V(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const i=3===e.parent.type,o=i?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(i&&n.size>o||x(n,o)))return null;t.push(o)}if(e.parent)return F(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=V(3===L(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function L(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function V(e,t){return 2===L(e)?e.get(t):e[t]}function q(e,t,n){2===L(e)?e.set(t,n):e[t]=n}function $(e,t){const n=I(e);return(n?D(n):e)[t]}function X(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function B(e){if(e)for(;e.finalities.revoke.length>0;)e.finalities.revoke.pop()()}function W(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const K=Object.prototype.propertyIsEnumerable;function H(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set)return C(e)?Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values()):new(0,Object.getPrototypeOf(e).constructor)(e.values());if(e instanceof Map)return T(e)?new Map(e):new(0,Object.getPrototypeOf(e).constructor)(e);if((null==t?void 0:t.mark)&&(n=t.mark(e,P),void 0!==n)&&n!==P.mutable){if(n===P.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{K.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function Y(e){e.copy||(e.copy=H(e.original,e.options))}function Z(e){if(!U(e))return N(e);if(Array.isArray(e))return e.map(Z);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,Z(t)]));return T(e)?new Map(t):new(0,Object.getPrototypeOf(e).constructor)(t)}if(e instanceof Set){const t=Array.from(e).map(Z);return C(e)?new Set(t):new(0,Object.getPrototypeOf(e).constructor)(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=Z(e[n]);return t}function G(e){return _(e)?Z(e):e}function J(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&J(e.parent))}function Q(){throw new Error("Cannot modify frozen object")}function ee(e,t,n,r,i){{n=null!=n?n:new WeakMap,r=null!=r?r:[],i=null!=i?i:[];const o=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(o);if(o&&"object"==typeof o&&-1!==e){if(r[0]===o)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${i.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(o),i.push(t)}else r.push(o)}if(Object.isFrozen(e)||_(e))return r.pop(),void i.pop();switch(L(e)){case 2:for(const[t,o]of e)ee(t,t,n,r,i),ee(o,t,n,r,i);e.set=e.clear=e.delete=Q;break;case 3:for(const t of e)ee(t,t,n,r,i);e.add=e.clear=e.delete=Q;break;case 1:Object.freeze(e);let t=0;for(const o of e)ee(o,t,n,r,i),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{ee(e[t],t,n,r,i)}))}r.pop(),i.pop()}function te(e,t){const n=L(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function ne(e,t,n){if(_(e)||!U(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,i=r?new Map:void 0;if(t.add(e),te(e,((o,s)=>{var a;if(_(s)){const t=I(s);Y(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;q(r?i:e,o,n)}else ne(s,t,n)})),i){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(i.has(e)?i.get(e):e)}))}}function re(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&ne(V(n,t),e.finalities.handledSet,e.options)}function ie(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(N(t))})))}function oe(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const i=F(e);i&&t(e,i,n,r)}e.finalized=!0}}function se(e,t,n,r){const i=I(n);i&&(i.callbacks||(i.callbacks=[]),i.callbacks.push(((o,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if(X(V(l,t),n)){let n=i.original;i.copy&&(n=i.copy),ie(e),oe(e,r,o,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,i.original)),q(l,t,n)}})),e.options.enableAutoFreeze&&i.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),U(n,e.options)&&e.finalities.draft.push((()=>{X(V(3===e.type?e.setMap:e.copy,t),n)&&re(e,t)}))}function ae(e,t,n,r){const{pathAsArray:i=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,i,o,s){n.forEach(((n,a)=>{const l=V(e,a),c=G(V(t,a)),u=n?x(e,a)?E:S:M;if(X(l,c)&&u===E)return;const p=W(r.concat(a),s);i.push(u===M?{op:u,path:p}:{op:u,path:p,value:c}),o.push(u===S?{op:M,path:p}:u===M?{op:S,path:p,value:l}:{op:E,path:p,value:l})}))}(e,t,n,r,i);case 1:return function(e,t,n,r,i){let{original:o,assignedMap:s,options:a}=e,l=e.copy;l.length<o.length&&([o,l]=[l,o],[n,r]=[r,n]);for(let e=0;e<o.length;e+=1)if(s.get(e.toString())&&l[e]!==o[e]){const s=W(t.concat([e]),i);n.push({op:E,path:s,value:G(l[e])}),r.push({op:E,path:s,value:G(o[e])})}for(let e=o.length;e<l.length;e+=1){const r=W(t.concat([e]),i);n.push({op:S,path:r,value:G(l[e])})}if(o.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=W(t.concat(["length"]),i);r.push({op:E,path:e,value:o.length})}else for(let e=l.length;o.length<e;e-=1){const n=W(t.concat([e-1]),i);r.push({op:M,path:n})}}}(e,t,n,r,i);case 3:return function({original:e,copy:t},n,r,i,o){let s=0;e.forEach((e=>{if(!t.has(e)){const t=W(n.concat([s]),o);r.push({op:M,path:t,value:e}),i.unshift({op:S,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=W(n.concat([s]),o);r.push({op:S,path:e,value:t}),i.unshift({op:M,path:e,value:t})}s+=1}))}(e,t,n,r,i)}}const le=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!U(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},ce={get size(){return D(I(this)).size},has(e){return D(I(this)).has(e)},set(e,t){const n=I(this),r=D(n);return r.has(e)&&X(r.get(e),t)||(Y(n),J(n),n.assignedMap.set(e,!0),n.copy.set(e,t),se(n,e,t,ae)),this},delete(e){if(!this.has(e))return!1;const t=I(this);return Y(t),J(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=I(this);if(this.size){Y(e),J(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){D(I(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=I(this),i=D(r).get(e),o=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,i,P))===P.mutable;if(r.options.strict&&le(i,r.options,o),o)return i;if(r.finalized||!U(i,r.options))return i;if(i!==r.original.get(e))return i;const s=A.createDraft({original:i,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return Y(r),r.copy.set(e,s),s},keys(){return D(I(this)).keys()},values(){const e=this.keys();return{[R]:()=>this.values(),next:()=>{const t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[R]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[R](){return this.entries()}},ue=Reflect.ownKeys(ce),pe=(e,t,{isValuesIterator:n})=>()=>{var r,i;const o=t.next();if(o.done)return o;const s=o.value;let a=e.setMap.get(s);const l=I(a),c=(null===(i=(r=e.options).mark)||void 0===i?void 0:i.call(r,a,P))===P.mutable;if(e.options.strict&&le(s,e.options,c),c||l||!U(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=A.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},fe={get size(){return I(this).setMap.size},has(e){const t=I(this);if(t.setMap.has(e))return!0;Y(t);const n=I(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=I(this);return this.has(e)||(Y(t),J(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),se(t,e,e,ae)),this},delete(e){if(!this.has(e))return!1;const t=I(this);Y(t),J(t);const n=I(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=I(this);Y(e),J(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=I(this);Y(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:pe(e,t,{isValuesIterator:!0})}},entries(){const e=I(this);Y(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:pe(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[R](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(fe,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const he=Reflect.ownKeys(fe),de=new WeakSet,ye={get(e,t,n){var r,i;const o=null===(r=e.copy)||void 0===r?void 0:r[t];if(o&&de.has(o))return o;if(t===j)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,P),s===P.mutable)return e.options.strict&&le(r,e.options,!0),r}const a=D(e);if(a instanceof Map&&ue.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ce,"size").get.call(e.proxy);const n=ce[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&he.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(fe,"size").get.call(e.proxy);const n=fe[t];if(n)return n.bind(e.proxy)}if(!x(a,t)){const n=z(a,t);return n?"value"in n?n.value:null===(i=n.get)||void 0===i?void 0:i.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&le(l,e.options),e.finalized||!U(l,e.options))return l;if(l===$(e.original,t)){if(Y(e),e.copy[t]=ge({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=I(e.copy[t]);return Y(n),J(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let i;if(1===e.type&&"length"!==t&&(!(Number.isInteger(i=Number(t))&&i>=0)||0!==t&&0!==i&&String(i)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const o=z(D(e),t);if(null==o?void 0:o.set)return o.set.call(e.proxy,n),!0;const s=$(D(e),t),a=I(s);return a&&X(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):(X(n,s)&&(void 0!==n||x(e.original,t))||(Y(e),J(e),x(e.original,t)&&X(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,se(e,t,n,ae)),!0)},has:(e,t)=>t in D(e),ownKeys:e=>Reflect.ownKeys(D(e)),getOwnPropertyDescriptor(e,t){const n=D(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?ye.set.call(this,e,t,void 0,e.proxy):(void 0!==$(e.original,t)||t in e.original?(Y(e),J(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function ge(e){const{original:t,parentDraft:n,key:r,finalities:i,options:o}=e,s=L(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:i,options:o,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,ye);if(i.revoke.push(c),de.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var i,o;const s=I(l);let a=3===e.type?e.setMap:e.copy;const c=V(a,r),u=I(c);if(u){let o=u.original;u.operated&&(o=N(c)),ie(u),oe(u,ae,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(i=e.options.updatedValues)&&void 0!==i?i:new WeakMap,e.options.updatedValues.set(o,u.original)),q(a,r,o)}null===(o=s.callbacks)||void 0===o||o.forEach((e=>{e(t,n)}))}))}else{const e=I(l);e.finalities.draft.push(((t,n)=>{ie(e),oe(e,ae,t,n)}))}return l}function ve(e,t,n,r,i){var o;const s=I(e),a=null!==(o=null==s?void 0:s.original)&&void 0!==o?o:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;)s.finalities.draft.pop()(n,r);const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&B(s),i&&ee(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:E,path:[],value:t[0]}]:n,r&&l?[{op:E,path:[],value:a}]:r]}function be(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:i=!0}=e;te(n,((n,r,i)=>{const o=I(r);if(o&&t&&o.finalities===t.finalities){e.isContainDraft=!0;const t=o.original;if(i instanceof Set){const e=Array.from(i);i.clear(),e.forEach((e=>i.add(n===e?t:e)))}else q(i,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,be(e))})),i&&e.isContainDraft}function me(e){var t;const n=I(e);if(!U(e,null==n?void 0:n.options))return e;const r=L(e);if(n&&!n.operated)return n.original;let i;function o(){i=2===r?T(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):H(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{o()}finally{n.finalized=!1}}else i=e;if(te(i,((t,r)=>{if(n&&X(V(n.original,t),r))return;const s=me(r);s!==r&&(i===e&&o(),q(i,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:i;return C(e)?new Set(i):new(Object.getPrototypeOf(e).constructor)(i)}return i}function we(e){if(!_(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return me(e)}A.createDraft=ge;const Oe=function e(t,n,r){var i,o,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...i){return e(r,(e=>t.call(this,e,...i)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},void 0),c);const u=_(a)?we(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(i=c.enablePatches)&&void 0!==i&&i,h=null!==(o=c.strict)&&void 0!==o&&o,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!U(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let i,o;t.enablePatches&&(i=[],o=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,P))!==P.mutable&&U(e,t)?ge({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=ve(s,e,i,o,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!U(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw B(I(y)),e}const b=e=>{const t=I(y);if(!_(e)){if(void 0!==e&&!X(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[k];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&be({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&be({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=I(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([we(e)])}return g([e])};return v instanceof Promise?v.then(b,(e=>{throw B(I(y)),e})):b(v)};Object.prototype.constructor.toString();class Me{constructor(e,t=null){this.value=e,this.reactor=t??new w(this,[])}produce(e){return n=e,void(t=this).set(Oe(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new O(this,"",e[0]):new O(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}function Ee(e){return new Me(e)}function Se(e){return e instanceof Me}function je(e,t){e.reactor.addBinding(t)}function ke(e,t){e.reactor.removeBinding(t)}class Re{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}function Pe(e){return new Re(e)}class Ae{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}function xe(e){return new Ae(e)}class ze{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}function Ce(e){return new ze(e)}window.RUMIOUS_CONTEXTS||(window.RUMIOUS_CONTEXTS={});class Te{constructor(e={}){this.data=e,this.events={}}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter((e=>e!==t)))}emit(e,...t){this.events[e]&&this.events[e].forEach((e=>e(...t)))}set(e,t){let n=Ee(t);return this.data[e]=n,n}get(e){return this.data[e]}}function De(e="",t={}){return window.RUMIOUS_CONTEXTS[e]||(window.RUMIOUS_CONTEXTS[e]=new Te(t)),window.RUMIOUS_CONTEXTS[e]}export{b as RumiousApp,Ae as RumiousChildrensRef,t as RumiousComponent,d as RumiousComponentElement,ze as RumiousComponentRef,Te as RumiousContext,Re as RumiousElementRef,Me as RumiousState,xe as createChildrensRef,y as createComponentElement,Ce as createComponentRef,De as createContext,Pe as createElementRef,Ee as createState,n as isComponent,Se as isState,m as styleHelper,ke as unwatch,je as watch};
|
package/dist/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var Rumious=function(e){"use strict";class t{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class n{constructor(){this.element=null,this.props={},this.renderContext=new t(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function r(e){return Object.getPrototypeOf(e)===n}class o{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class i{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function s(e){return"function"==typeof e}class a{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){console.warn("Directive haven't handler !")}}class l extends a{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return console.warn(`Missing event handler for event: ${this.name}`),null;const n=t.get(e);if(!s(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!s(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class c extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){if("html"===this.name)e.innerHTML=this.normalizeValue(t)}}class u extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class p extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const f={on:(e,t)=>new l("on",e,t),bind:(e,t)=>new c("bind",e,t),ref:(e,t,n="element")=>new u("ref",e,t),childsRef:(e,t)=>new p("childsRef",e,t)};function h(...e){return new o("FRAGMENT",{},d(e))}function d(e){return e.map((e=>"object"==typeof e?e:new o("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...n){return r(e)?function(e,t,n){return new o("COMPONENT",{component:e,...t},new i(d(n)))}(e,t,n):e===h?h(...n):new o(e,t||{},d(n))},createFragment:h,createDirective:function(e,t,n){return function(e,t,n){return f[e]?.(t,n)}(e,t,n)}};class y extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp()}}function g(){return document.createElement("a-component")}function v(e,t,n,r){const o=function(e,t,n,r){const o=g();return o.init(e,t,n,r),o}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([e,t])=>{t instanceof a&&b(o,t,r)})),t.appendChild(o),t}function m(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof a?b(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}function b(e,t,n){t.init(e,n)}function w(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?v(e,t,w,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>w(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):m(e,n),e.children.forEach((e=>w(e,r,n))),t.appendChild(r),t)}window.customElements.define("a-component",y);class O{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}addBinding(e){this.bindings.push(e)}}class M{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const E="remove",j="replace",S="add",k=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),R=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),A=Symbol.iterator,P={mutable:"mutable",immutable:"immutable"},x={};function C(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function z(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function D(e){return Object.getPrototypeOf(e)===Set.prototype}function T(e){return Object.getPrototypeOf(e)===Map.prototype}function _(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function I(e){return!!N(e)}function N(e){return"object"!=typeof e?null:null==e?void 0:e[k]}function F(e){var t;const n=N(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function V(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,P))===P.immutable||"function"==typeof n)}function L(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=N($(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const o=3===e.parent.type,i=o?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(o&&n.size>i||C(n,i)))return null;t.push(i)}if(e.parent)return L(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=$(3===q(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function q(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function $(e,t){return 2===q(e)?e.get(t):e[t]}function U(e,t,n){2===q(e)?e.set(t,n):e[t]=n}function W(e,t){const n=N(e);return(n?_(n):e)[t]}function B(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function K(e){if(e)for(;e.finalities.revoke.length>0;){e.finalities.revoke.pop()()}}function X(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const H=Object.prototype.propertyIsEnumerable;function Y(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set){if(!D(e)){return new(0,Object.getPrototypeOf(e).constructor)(e.values())}return Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values())}if(e instanceof Map){if(!T(e)){return new(0,Object.getPrototypeOf(e).constructor)(e)}return new Map(e)}if((null==t?void 0:t.mark)&&(n=t.mark(e,P),void 0!==n)&&n!==P.mutable){if(n===P.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{H.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function G(e){e.copy||(e.copy=Y(e.original,e.options))}function Z(e){if(!V(e))return F(e);if(Array.isArray(e))return e.map(Z);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,Z(t)]));if(!T(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Map(t)}if(e instanceof Set){const t=Array.from(e).map(Z);if(!D(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Set(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=Z(e[n]);return t}function J(e){return I(e)?Z(e):e}function Q(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&Q(e.parent))}function ee(){throw new Error("Cannot modify frozen object")}function te(e,t,n,r,o){{n=null!=n?n:new WeakMap,r=null!=r?r:[],o=null!=o?o:[];const i=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(i);if(i&&"object"==typeof i&&-1!==e){if(r[0]===i)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${o.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(i),o.push(t)}else r.push(i)}if(Object.isFrozen(e)||I(e))return r.pop(),void o.pop();switch(q(e)){case 2:for(const[t,i]of e)te(t,t,n,r,o),te(i,t,n,r,o);e.set=e.clear=e.delete=ee;break;case 3:for(const t of e)te(t,t,n,r,o);e.add=e.clear=e.delete=ee;break;case 1:Object.freeze(e);let t=0;for(const i of e)te(i,t,n,r,o),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{te(e[t],t,n,r,o)}))}r.pop(),o.pop()}function ne(e,t){const n=q(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function re(e,t,n){if(I(e)||!V(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,o=r?new Map:void 0;if(t.add(e),ne(e,((i,s)=>{var a;if(I(s)){const t=N(s);G(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;U(r?o:e,i,n)}else re(s,t,n)})),o){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(o.has(e)?o.get(e):e)}))}}function oe(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&re($(n,t),e.finalities.handledSet,e.options)}function ie(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(F(t))})))}function se(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const o=L(e);o&&t(e,o,n,r)}e.finalized=!0}}function ae(e,t,n,r){const o=N(n);o&&(o.callbacks||(o.callbacks=[]),o.callbacks.push(((i,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if(B($(l,t),n)){let n=o.original;o.copy&&(n=o.copy),ie(e),se(e,r,i,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,o.original)),U(l,t,n)}})),e.options.enableAutoFreeze&&o.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),V(n,e.options)&&e.finalities.draft.push((()=>{B($(3===e.type?e.setMap:e.copy,t),n)&&oe(e,t)}))}function le(e,t,n,r){const{pathAsArray:o=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,o,i,s){n.forEach(((n,a)=>{const l=$(e,a),c=J($(t,a)),u=n?C(e,a)?j:S:E;if(B(l,c)&&u===j)return;const p=X(r.concat(a),s);o.push(u===E?{op:u,path:p}:{op:u,path:p,value:c}),i.push(u===S?{op:E,path:p}:u===E?{op:S,path:p,value:l}:{op:j,path:p,value:l})}))}(e,t,n,r,o);case 1:return function(e,t,n,r,o){let{original:i,assignedMap:s,options:a}=e,l=e.copy;l.length<i.length&&([i,l]=[l,i],[n,r]=[r,n]);for(let e=0;e<i.length;e+=1)if(s.get(e.toString())&&l[e]!==i[e]){const s=X(t.concat([e]),o);n.push({op:j,path:s,value:J(l[e])}),r.push({op:j,path:s,value:J(i[e])})}for(let e=i.length;e<l.length;e+=1){const r=X(t.concat([e]),o);n.push({op:S,path:r,value:J(l[e])})}if(i.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=X(t.concat(["length"]),o);r.push({op:j,path:e,value:i.length})}else for(let e=l.length;i.length<e;e-=1){const n=X(t.concat([e-1]),o);r.push({op:E,path:n})}}}(e,t,n,r,o);case 3:return function({original:e,copy:t},n,r,o,i){let s=0;e.forEach((e=>{if(!t.has(e)){const t=X(n.concat([s]),i);r.push({op:E,path:t,value:e}),o.unshift({op:S,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=X(n.concat([s]),i);r.push({op:S,path:e,value:t}),o.unshift({op:E,path:e,value:t})}s+=1}))}(e,t,n,r,o)}}const ce=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!V(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},ue={get size(){return _(N(this)).size},has(e){return _(N(this)).has(e)},set(e,t){const n=N(this),r=_(n);return r.has(e)&&B(r.get(e),t)||(G(n),Q(n),n.assignedMap.set(e,!0),n.copy.set(e,t),ae(n,e,t,le)),this},delete(e){if(!this.has(e))return!1;const t=N(this);return G(t),Q(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=N(this);if(this.size){G(e),Q(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){_(N(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=N(this),o=_(r).get(e),i=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,o,P))===P.mutable;if(r.options.strict&&ce(o,r.options,i),i)return o;if(r.finalized||!V(o,r.options))return o;if(o!==r.original.get(e))return o;const s=x.createDraft({original:o,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return G(r),r.copy.set(e,s),s},keys(){return _(N(this)).keys()},values(){const e=this.keys();return{[A]:()=>this.values(),next:()=>{const t=e.next();if(t.done)return t;return{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[A]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[A](){return this.entries()}},pe=Reflect.ownKeys(ue),fe=(e,t,{isValuesIterator:n})=>()=>{var r,o;const i=t.next();if(i.done)return i;const s=i.value;let a=e.setMap.get(s);const l=N(a),c=(null===(o=(r=e.options).mark)||void 0===o?void 0:o.call(r,a,P))===P.mutable;if(e.options.strict&&ce(s,e.options,c),c||l||!V(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=x.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},he={get size(){return N(this).setMap.size},has(e){const t=N(this);if(t.setMap.has(e))return!0;G(t);const n=N(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=N(this);return this.has(e)||(G(t),Q(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),ae(t,e,e,le)),this},delete(e){if(!this.has(e))return!1;const t=N(this);G(t),Q(t);const n=N(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=N(this);G(e),Q(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=N(this);G(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:fe(e,t,{isValuesIterator:!0})}},entries(){const e=N(this);G(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:fe(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[A](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(he,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const de=Reflect.ownKeys(he),ye=new WeakSet,ge={get(e,t,n){var r,o;const i=null===(r=e.copy)||void 0===r?void 0:r[t];if(i&&ye.has(i))return i;if(t===k)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,P),s===P.mutable)return e.options.strict&&ce(r,e.options,!0),r}const a=_(e);if(a instanceof Map&&pe.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ue,"size").get.call(e.proxy);const n=ue[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&de.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(he,"size").get.call(e.proxy);const n=he[t];if(n)return n.bind(e.proxy)}if(!C(a,t)){const n=z(a,t);return n?"value"in n?n.value:null===(o=n.get)||void 0===o?void 0:o.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&ce(l,e.options),e.finalized||!V(l,e.options))return l;if(l===W(e.original,t)){if(G(e),e.copy[t]=ve({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=N(e.copy[t]);return G(n),Q(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let o;if(1===e.type&&"length"!==t&&(!(Number.isInteger(o=Number(t))&&o>=0)||0!==t&&0!==o&&String(o)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const i=z(_(e),t);if(null==i?void 0:i.set)return i.set.call(e.proxy,n),!0;const s=W(_(e),t),a=N(s);return a&&B(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):(B(n,s)&&(void 0!==n||C(e.original,t))||(G(e),Q(e),C(e.original,t)&&B(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,ae(e,t,n,le)),!0)},has:(e,t)=>t in _(e),ownKeys:e=>Reflect.ownKeys(_(e)),getOwnPropertyDescriptor(e,t){const n=_(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?ge.set.call(this,e,t,void 0,e.proxy):(void 0!==W(e.original,t)||t in e.original?(G(e),Q(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function ve(e){const{original:t,parentDraft:n,key:r,finalities:o,options:i}=e,s=q(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:o,options:i,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,ge);if(o.revoke.push(c),ye.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var o,i;const s=N(l);let a=3===e.type?e.setMap:e.copy;const c=$(a,r),u=N(c);if(u){let i=u.original;u.operated&&(i=F(c)),ie(u),se(u,le,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(o=e.options.updatedValues)&&void 0!==o?o:new WeakMap,e.options.updatedValues.set(i,u.original)),U(a,r,i)}null===(i=s.callbacks)||void 0===i||i.forEach((e=>{e(t,n)}))}))}else{const e=N(l);e.finalities.draft.push(((t,n)=>{ie(e),se(e,le,t,n)}))}return l}function me(e,t,n,r,o){var i;const s=N(e),a=null!==(i=null==s?void 0:s.original)&&void 0!==i?i:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;){s.finalities.draft.pop()(n,r)}const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&K(s),o&&te(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:j,path:[],value:t[0]}]:n,r&&l?[{op:j,path:[],value:a}]:r]}function be(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:o=!0}=e;ne(n,((n,r,o)=>{const i=N(r);if(i&&t&&i.finalities===t.finalities){e.isContainDraft=!0;const t=i.original;if(o instanceof Set){const e=Array.from(o);o.clear(),e.forEach((e=>o.add(n===e?t:e)))}else U(o,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,be(e))})),o&&(e.isContainDraft||console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."),r&&console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."))}function we(e){var t;const n=N(e);if(!V(e,null==n?void 0:n.options))return e;const r=q(e);if(n&&!n.operated)return n.original;let o;function i(){o=2===r?T(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):Y(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{i()}finally{n.finalized=!1}}else o=e;if(ne(o,((t,r)=>{if(n&&B($(n.original,t),r))return;const s=we(r);s!==r&&(o===e&&i(),U(o,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:o;return D(e)?new Set(o):new(Object.getPrototypeOf(e).constructor)(o)}return o}function Oe(e){if(!I(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return we(e)}x.createDraft=ve;const Me=function e(t,n,r){var o,i,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...o){return e(r,(e=>t.call(this,e,...o)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},Ee),c);const u=I(a)?Oe(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(o=c.enablePatches)&&void 0!==o&&o,h=null!==(i=c.strict)&&void 0!==i&&i,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!V(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let o,i;t.enablePatches&&(o=[],i=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,P))!==P.mutable&&V(e,t)?ve({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=me(s,e,o,i,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!V(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw K(N(y)),e}const m=e=>{const t=N(y);if(!I(e)){if(void 0!==e&&!B(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[R];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&be({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&be({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=N(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([Oe(e)])}return g([e])};return v instanceof Promise?v.then(m,(e=>{throw K(N(y)),e})):m(v)};var Ee;Object.prototype.constructor.toString();class je{constructor(e,t=null){this.value=e,this.reactor=t??new O(this,[])}produce(e){return n=e,void(t=this).set(Me(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new M(this,"",e[0]):new M(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}class Se{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class ke{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Re{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}return e.RumiousApp=class{constructor(e=document.createElement("span"),n={}){this.root=e,this.configs=n,this.renderContext=new t(this)}render(e){w(e,this.root,this.renderContext)}},e.RumiousChildrensRef=ke,e.RumiousComponent=n,e.RumiousComponentElement=y,e.RumiousComponentRef=Re,e.RumiousElementRef=Se,e.RumiousState=je,e.createChildrensRef=function(e){return new ke(e)},e.createComponentElement=g,e.createComponentRef=function(e){return new Re(e)},e.createElementRef=function(e){return new Se(e)},e.createState=function(e){return new je(e)},e.isComponent=r,e.isState=function(e){return e instanceof je},e.watcher=function(e,t){e.reactor.addBinding(t)},e}({});
|
1
|
+
var Rumious=function(e){"use strict";class t{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class n{constructor(){this.element=null,this.props={},this.renderContext=new t(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function r(e){return Object.getPrototypeOf(e)===n}class o{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class i{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function s(e){return"function"==typeof e}class a{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){console.warn("Directive haven't handler !")}}class l extends a{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return console.warn(`Missing event handler for event: ${this.name}`),null;const n=t.get(e);if(!s(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!s(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class c extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){if("html"===this.name)e.innerHTML=this.normalizeValue(t)}}class u extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class p extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const f={on:(e,t)=>new l("on",e,t),bind:(e,t)=>new c("bind",e,t),ref:(e,t)=>new u("ref",e,t),childsRef:(e,t)=>new p("childsRef",e,t)};function h(...e){return new o("FRAGMENT",{},d(e))}function d(e){return e.map((e=>"object"==typeof e?e:new o("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...n){return r(e)?function(e,t,n){return new o("COMPONENT",{component:e,...t},new i(d(n)))}(e,t,n):e===h?h(...n):new o(e,t||{},d(n))},createFragment:h,createDirective:function(e,t,n){return function(e,t,n){return f[e]?.(t,n)}(e,t,n)}};class y extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}cleanUp(){}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.element=this,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp(),this.cleanUp()}}function g(e="a-component"){let t=Math.floor(9999*Math.random())*Date.now().toString(32);return window.customElements.define(e+t,class extends y{static tag=e+t;cleanUp(){window.customElements(e+t,HTMLUnknownElement)}}),document.createElement(e)}function v(e,t,n,r){const o=function(e,t,n,r){const o=g(e.tag??"r-component");return o.init(e,t,n,r),o}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([,e])=>{e instanceof a&&b(o,e,r)})),t.appendChild(o),t}function m(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof a?b(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}function b(e,t,n){t.init(e,n)}function w(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?v(e,t,w,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>w(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):m(e,n),e.children.forEach((e=>w(e,r,n))),t.appendChild(r),t)}class O{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}removeBinding(e){for(let t=this.bindings.length-1;t>=0;t--)this.bindings[t]===e&&this.bindings.splice(t,1)}addBinding(e){this.bindings.push(e)}}class M{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const E="remove",S="replace",R="add",j=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),k=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),P=Symbol.iterator,A={mutable:"mutable",immutable:"immutable"},C={};function x(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function T(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function z(e){return Object.getPrototypeOf(e)===Set.prototype}function D(e){return Object.getPrototypeOf(e)===Map.prototype}function _(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function I(e){return!!N(e)}function N(e){return"object"!=typeof e?null:null==e?void 0:e[j]}function U(e){var t;const n=N(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function F(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,A))===A.immutable||"function"==typeof n)}function L(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=N(q(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const o=3===e.parent.type,i=o?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(o&&n.size>i||x(n,i)))return null;t.push(i)}if(e.parent)return L(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=q(3===V(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function V(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function q(e,t){return 2===V(e)?e.get(t):e[t]}function $(e,t,n){2===V(e)?e.set(t,n):e[t]=n}function X(e,t){const n=N(e);return(n?_(n):e)[t]}function B(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function W(e){if(e)for(;e.finalities.revoke.length>0;){e.finalities.revoke.pop()()}}function K(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const H=Object.prototype.propertyIsEnumerable;function Y(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set){if(!z(e)){return new(0,Object.getPrototypeOf(e).constructor)(e.values())}return Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values())}if(e instanceof Map){if(!D(e)){return new(0,Object.getPrototypeOf(e).constructor)(e)}return new Map(e)}if((null==t?void 0:t.mark)&&(n=t.mark(e,A),void 0!==n)&&n!==A.mutable){if(n===A.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{H.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function Z(e){e.copy||(e.copy=Y(e.original,e.options))}function G(e){if(!F(e))return U(e);if(Array.isArray(e))return e.map(G);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,G(t)]));if(!D(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Map(t)}if(e instanceof Set){const t=Array.from(e).map(G);if(!z(e)){return new(0,Object.getPrototypeOf(e).constructor)(t)}return new Set(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=G(e[n]);return t}function J(e){return I(e)?G(e):e}function Q(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&Q(e.parent))}function ee(){throw new Error("Cannot modify frozen object")}function te(e,t,n,r,o){{n=null!=n?n:new WeakMap,r=null!=r?r:[],o=null!=o?o:[];const i=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(i);if(i&&"object"==typeof i&&-1!==e){if(r[0]===i)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${o.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(i),o.push(t)}else r.push(i)}if(Object.isFrozen(e)||I(e))return r.pop(),void o.pop();switch(V(e)){case 2:for(const[t,i]of e)te(t,t,n,r,o),te(i,t,n,r,o);e.set=e.clear=e.delete=ee;break;case 3:for(const t of e)te(t,t,n,r,o);e.add=e.clear=e.delete=ee;break;case 1:Object.freeze(e);let t=0;for(const i of e)te(i,t,n,r,o),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{te(e[t],t,n,r,o)}))}r.pop(),o.pop()}function ne(e,t){const n=V(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function re(e,t,n){if(I(e)||!F(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,o=r?new Map:void 0;if(t.add(e),ne(e,((i,s)=>{var a;if(I(s)){const t=N(s);Z(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;$(r?o:e,i,n)}else re(s,t,n)})),o){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(o.has(e)?o.get(e):e)}))}}function oe(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&re(q(n,t),e.finalities.handledSet,e.options)}function ie(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(U(t))})))}function se(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const o=L(e);o&&t(e,o,n,r)}e.finalized=!0}}function ae(e,t,n,r){const o=N(n);o&&(o.callbacks||(o.callbacks=[]),o.callbacks.push(((i,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if(B(q(l,t),n)){let n=o.original;o.copy&&(n=o.copy),ie(e),se(e,r,i,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,o.original)),$(l,t,n)}})),e.options.enableAutoFreeze&&o.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),F(n,e.options)&&e.finalities.draft.push((()=>{B(q(3===e.type?e.setMap:e.copy,t),n)&&oe(e,t)}))}function le(e,t,n,r){const{pathAsArray:o=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,o,i,s){n.forEach(((n,a)=>{const l=q(e,a),c=J(q(t,a)),u=n?x(e,a)?S:R:E;if(B(l,c)&&u===S)return;const p=K(r.concat(a),s);o.push(u===E?{op:u,path:p}:{op:u,path:p,value:c}),i.push(u===R?{op:E,path:p}:u===E?{op:R,path:p,value:l}:{op:S,path:p,value:l})}))}(e,t,n,r,o);case 1:return function(e,t,n,r,o){let{original:i,assignedMap:s,options:a}=e,l=e.copy;l.length<i.length&&([i,l]=[l,i],[n,r]=[r,n]);for(let e=0;e<i.length;e+=1)if(s.get(e.toString())&&l[e]!==i[e]){const s=K(t.concat([e]),o);n.push({op:S,path:s,value:J(l[e])}),r.push({op:S,path:s,value:J(i[e])})}for(let e=i.length;e<l.length;e+=1){const r=K(t.concat([e]),o);n.push({op:R,path:r,value:J(l[e])})}if(i.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=K(t.concat(["length"]),o);r.push({op:S,path:e,value:i.length})}else for(let e=l.length;i.length<e;e-=1){const n=K(t.concat([e-1]),o);r.push({op:E,path:n})}}}(e,t,n,r,o);case 3:return function({original:e,copy:t},n,r,o,i){let s=0;e.forEach((e=>{if(!t.has(e)){const t=K(n.concat([s]),i);r.push({op:E,path:t,value:e}),o.unshift({op:R,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=K(n.concat([s]),i);r.push({op:R,path:e,value:t}),o.unshift({op:E,path:e,value:t})}s+=1}))}(e,t,n,r,o)}}const ce=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!F(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},ue={get size(){return _(N(this)).size},has(e){return _(N(this)).has(e)},set(e,t){const n=N(this),r=_(n);return r.has(e)&&B(r.get(e),t)||(Z(n),Q(n),n.assignedMap.set(e,!0),n.copy.set(e,t),ae(n,e,t,le)),this},delete(e){if(!this.has(e))return!1;const t=N(this);return Z(t),Q(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=N(this);if(this.size){Z(e),Q(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){_(N(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=N(this),o=_(r).get(e),i=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,o,A))===A.mutable;if(r.options.strict&&ce(o,r.options,i),i)return o;if(r.finalized||!F(o,r.options))return o;if(o!==r.original.get(e))return o;const s=C.createDraft({original:o,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return Z(r),r.copy.set(e,s),s},keys(){return _(N(this)).keys()},values(){const e=this.keys();return{[P]:()=>this.values(),next:()=>{const t=e.next();if(t.done)return t;return{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[P]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[P](){return this.entries()}},pe=Reflect.ownKeys(ue),fe=(e,t,{isValuesIterator:n})=>()=>{var r,o;const i=t.next();if(i.done)return i;const s=i.value;let a=e.setMap.get(s);const l=N(a),c=(null===(o=(r=e.options).mark)||void 0===o?void 0:o.call(r,a,A))===A.mutable;if(e.options.strict&&ce(s,e.options,c),c||l||!F(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=C.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},he={get size(){return N(this).setMap.size},has(e){const t=N(this);if(t.setMap.has(e))return!0;Z(t);const n=N(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=N(this);return this.has(e)||(Z(t),Q(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),ae(t,e,e,le)),this},delete(e){if(!this.has(e))return!1;const t=N(this);Z(t),Q(t);const n=N(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=N(this);Z(e),Q(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=N(this);Z(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:fe(e,t,{isValuesIterator:!0})}},entries(){const e=N(this);Z(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:fe(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[P](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(he,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const de=Reflect.ownKeys(he),ye=new WeakSet,ge={get(e,t,n){var r,o;const i=null===(r=e.copy)||void 0===r?void 0:r[t];if(i&&ye.has(i))return i;if(t===j)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,A),s===A.mutable)return e.options.strict&&ce(r,e.options,!0),r}const a=_(e);if(a instanceof Map&&pe.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(ue,"size").get.call(e.proxy);const n=ue[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&de.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(he,"size").get.call(e.proxy);const n=he[t];if(n)return n.bind(e.proxy)}if(!x(a,t)){const n=T(a,t);return n?"value"in n?n.value:null===(o=n.get)||void 0===o?void 0:o.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&ce(l,e.options),e.finalized||!F(l,e.options))return l;if(l===X(e.original,t)){if(Z(e),e.copy[t]=ve({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=N(e.copy[t]);return Z(n),Q(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let o;if(1===e.type&&"length"!==t&&(!(Number.isInteger(o=Number(t))&&o>=0)||0!==t&&0!==o&&String(o)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const i=T(_(e),t);if(null==i?void 0:i.set)return i.set.call(e.proxy,n),!0;const s=X(_(e),t),a=N(s);return a&&B(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):(B(n,s)&&(void 0!==n||x(e.original,t))||(Z(e),Q(e),x(e.original,t)&&B(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,ae(e,t,n,le)),!0)},has:(e,t)=>t in _(e),ownKeys:e=>Reflect.ownKeys(_(e)),getOwnPropertyDescriptor(e,t){const n=_(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?ge.set.call(this,e,t,void 0,e.proxy):(void 0!==X(e.original,t)||t in e.original?(Z(e),Q(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function ve(e){const{original:t,parentDraft:n,key:r,finalities:o,options:i}=e,s=V(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:o,options:i,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,ge);if(o.revoke.push(c),ye.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var o,i;const s=N(l);let a=3===e.type?e.setMap:e.copy;const c=q(a,r),u=N(c);if(u){let i=u.original;u.operated&&(i=U(c)),ie(u),se(u,le,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(o=e.options.updatedValues)&&void 0!==o?o:new WeakMap,e.options.updatedValues.set(i,u.original)),$(a,r,i)}null===(i=s.callbacks)||void 0===i||i.forEach((e=>{e(t,n)}))}))}else{const e=N(l);e.finalities.draft.push(((t,n)=>{ie(e),se(e,le,t,n)}))}return l}function me(e,t,n,r,o){var i;const s=N(e),a=null!==(i=null==s?void 0:s.original)&&void 0!==i?i:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;){s.finalities.draft.pop()(n,r)}const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&W(s),o&&te(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:S,path:[],value:t[0]}]:n,r&&l?[{op:S,path:[],value:a}]:r]}function be(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:o=!0}=e;ne(n,((n,r,o)=>{const i=N(r);if(i&&t&&i.finalities===t.finalities){e.isContainDraft=!0;const t=i.original;if(o instanceof Set){const e=Array.from(o);o.clear(),e.forEach((e=>o.add(n===e?t:e)))}else $(o,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,be(e))})),o&&(e.isContainDraft||console.warn("The return value does not contain any draft, please use 'rawReturn()' to wrap the return value to improve performance."),r&&console.warn("The return value contains drafts, please don't use 'rawReturn()' to wrap the return value."))}function we(e){var t;const n=N(e);if(!F(e,null==n?void 0:n.options))return e;const r=V(e);if(n&&!n.operated)return n.original;let o;function i(){o=2===r?D(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):Y(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{i()}finally{n.finalized=!1}}else o=e;if(ne(o,((t,r)=>{if(n&&B(q(n.original,t),r))return;const s=we(r);s!==r&&(o===e&&i(),$(o,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:o;return z(e)?new Set(o):new(Object.getPrototypeOf(e).constructor)(o)}return o}function Oe(e){if(!I(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return we(e)}C.createDraft=ve;const Me=function e(t,n,r){var o,i,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...o){return e(r,(e=>t.call(this,e,...o)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},Ee),c);const u=I(a)?Oe(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(o=c.enablePatches)&&void 0!==o&&o,h=null!==(i=c.strict)&&void 0!==i&&i,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!F(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let o,i;t.enablePatches&&(o=[],i=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,A))!==A.mutable&&F(e,t)?ve({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=me(s,e,o,i,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!F(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw W(N(y)),e}const m=e=>{const t=N(y);if(!I(e)){if(void 0!==e&&!B(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[k];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&be({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&be({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=N(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([Oe(e)])}return g([e])};return v instanceof Promise?v.then(m,(e=>{throw W(N(y)),e})):m(v)};var Ee;Object.prototype.constructor.toString();class Se{constructor(e,t=null){this.value=e,this.reactor=t??new O(this,[])}produce(e){return n=e,void(t=this).set(Me(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new M(this,"",e[0]):new M(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}function Re(e){return new Se(e)}class je{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class ke{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Pe{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}window.RUMIOUS_CONTEXTS||(window.RUMIOUS_CONTEXTS={});class Ae{constructor(e={}){this.data=e,this.events={}}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter((e=>e!==t)))}emit(e,...t){this.events[e]&&this.events[e].forEach((e=>e(...t)))}set(e,t){let n=Re(t);return this.data[e]=n,n}get(e){return this.data[e]}}return e.RumiousApp=class{constructor(e=document.createElement("span"),n={}){this.root=e,this.configs=n,this.renderContext=new t(this)}render(e){w(e,this.root,this.renderContext)}},e.RumiousChildrensRef=ke,e.RumiousComponent=n,e.RumiousComponentElement=y,e.RumiousComponentRef=Pe,e.RumiousContext=Ae,e.RumiousElementRef=je,e.RumiousState=Se,e.createChildrensRef=function(e){return new ke(e)},e.createComponentElement=g,e.createComponentRef=function(e){return new Pe(e)},e.createContext=function(e="",t={}){return window.RUMIOUS_CONTEXTS[e]||(window.RUMIOUS_CONTEXTS[e]=new Ae(t)),window.RUMIOUS_CONTEXTS[e]},e.createElementRef=function(e){return new je(e)},e.createState=Re,e.isComponent=r,e.isState=function(e){return e instanceof Se},e.styleHelper=function(e){let t="";for(const n in e)if(e.hasOwnProperty(n)){t+=`${n} {`;const r=e[n];for(const e in r)if(r.hasOwnProperty(e)){t+=`${e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}: ${r[e]};`}t+="} "}return t.trim()},e.unwatch=function(e,t){e.reactor.removeBinding(t)},e.watch=function(e,t){e.reactor.addBinding(t)},e}({});
|
package/dist/index.min.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var Rumious=function(e){"use strict";class t{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class n{constructor(){this.element=null,this.props={},this.renderContext=new t(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function r(e){return Object.getPrototypeOf(e)===n}class o{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class i{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function s(e){return"function"==typeof e}class a{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){}}class l extends a{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return null;const n=t.get(e);if(!s(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!s(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class c extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){"html"===this.name&&(e.innerHTML=this.normalizeValue(t))}}class u extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class p extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const f={on:(e,t)=>new l("on",e,t),bind:(e,t)=>new c("bind",e,t),ref:(e,t,n="element")=>new u("ref",e,t),childsRef:(e,t)=>new p("childsRef",e,t)};function h(...e){return new o("FRAGMENT",{},d(e))}function d(e){return e.map((e=>"object"==typeof e?e:new o("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...n){return r(e)?function(e,t,n){return new o("COMPONENT",{component:e,...t},new i(d(n)))}(e,t,n):e===h?h(...n):new o(e,t||{},d(n))},createFragment:h,createDirective:function(e,t,n){return function(e,t,n){return f[e]?.(t,n)}(e,t,n)}};class y extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp()}}function g(){return document.createElement("a-component")}function v(e,t,n){t.init(e,n)}function m(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?function(e,t,n,r){const o=function(e,t,n,r){const o=g();return o.init(e,t,n,r),o}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([e,t])=>{t instanceof a&&v(o,t,r)})),t.appendChild(o),t}(e,t,m,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>m(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):function(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof a?v(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}(e,n),e.children.forEach((e=>m(e,r,n))),t.appendChild(r),t)}window.customElements.define("a-component",y);class b{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}addBinding(e){this.bindings.push(e)}}class w{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const O="remove",M="replace",E="add",j=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),S=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),k=Symbol.iterator,R={mutable:"mutable",immutable:"immutable"},A={};function P(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function x(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function C(e){return Object.getPrototypeOf(e)===Set.prototype}function z(e){return Object.getPrototypeOf(e)===Map.prototype}function D(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function T(e){return!!_(e)}function _(e){return"object"!=typeof e?null:null==e?void 0:e[j]}function I(e){var t;const n=_(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function N(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,R))===R.immutable||"function"==typeof n)}function F(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=_(L(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const o=3===e.parent.type,i=o?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(o&&n.size>i||P(n,i)))return null;t.push(i)}if(e.parent)return F(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=L(3===V(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function V(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function L(e,t){return 2===V(e)?e.get(t):e[t]}function q(e,t,n){2===V(e)?e.set(t,n):e[t]=n}function U(e,t){const n=_(e);return(n?D(n):e)[t]}function $(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function W(e){if(e)for(;e.finalities.revoke.length>0;)e.finalities.revoke.pop()()}function B(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const K=Object.prototype.propertyIsEnumerable;function X(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set)return C(e)?Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values()):new(0,Object.getPrototypeOf(e).constructor)(e.values());if(e instanceof Map)return z(e)?new Map(e):new(0,Object.getPrototypeOf(e).constructor)(e);if((null==t?void 0:t.mark)&&(n=t.mark(e,R),void 0!==n)&&n!==R.mutable){if(n===R.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{K.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function H(e){e.copy||(e.copy=X(e.original,e.options))}function Y(e){if(!N(e))return I(e);if(Array.isArray(e))return e.map(Y);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,Y(t)]));return z(e)?new Map(t):new(0,Object.getPrototypeOf(e).constructor)(t)}if(e instanceof Set){const t=Array.from(e).map(Y);return C(e)?new Set(t):new(0,Object.getPrototypeOf(e).constructor)(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=Y(e[n]);return t}function G(e){return T(e)?Y(e):e}function Z(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&Z(e.parent))}function J(){throw new Error("Cannot modify frozen object")}function Q(e,t,n,r,o){{n=null!=n?n:new WeakMap,r=null!=r?r:[],o=null!=o?o:[];const i=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(i);if(i&&"object"==typeof i&&-1!==e){if(r[0]===i)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${o.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(i),o.push(t)}else r.push(i)}if(Object.isFrozen(e)||T(e))return r.pop(),void o.pop();switch(V(e)){case 2:for(const[t,i]of e)Q(t,t,n,r,o),Q(i,t,n,r,o);e.set=e.clear=e.delete=J;break;case 3:for(const t of e)Q(t,t,n,r,o);e.add=e.clear=e.delete=J;break;case 1:Object.freeze(e);let t=0;for(const i of e)Q(i,t,n,r,o),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{Q(e[t],t,n,r,o)}))}r.pop(),o.pop()}function ee(e,t){const n=V(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function te(e,t,n){if(T(e)||!N(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,o=r?new Map:void 0;if(t.add(e),ee(e,((i,s)=>{var a;if(T(s)){const t=_(s);H(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;q(r?o:e,i,n)}else te(s,t,n)})),o){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(o.has(e)?o.get(e):e)}))}}function ne(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&te(L(n,t),e.finalities.handledSet,e.options)}function re(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(I(t))})))}function oe(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const o=F(e);o&&t(e,o,n,r)}e.finalized=!0}}function ie(e,t,n,r){const o=_(n);o&&(o.callbacks||(o.callbacks=[]),o.callbacks.push(((i,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if($(L(l,t),n)){let n=o.original;o.copy&&(n=o.copy),re(e),oe(e,r,i,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,o.original)),q(l,t,n)}})),e.options.enableAutoFreeze&&o.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),N(n,e.options)&&e.finalities.draft.push((()=>{$(L(3===e.type?e.setMap:e.copy,t),n)&&ne(e,t)}))}function se(e,t,n,r){const{pathAsArray:o=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,o,i,s){n.forEach(((n,a)=>{const l=L(e,a),c=G(L(t,a)),u=n?P(e,a)?M:E:O;if($(l,c)&&u===M)return;const p=B(r.concat(a),s);o.push(u===O?{op:u,path:p}:{op:u,path:p,value:c}),i.push(u===E?{op:O,path:p}:u===O?{op:E,path:p,value:l}:{op:M,path:p,value:l})}))}(e,t,n,r,o);case 1:return function(e,t,n,r,o){let{original:i,assignedMap:s,options:a}=e,l=e.copy;l.length<i.length&&([i,l]=[l,i],[n,r]=[r,n]);for(let e=0;e<i.length;e+=1)if(s.get(e.toString())&&l[e]!==i[e]){const s=B(t.concat([e]),o);n.push({op:M,path:s,value:G(l[e])}),r.push({op:M,path:s,value:G(i[e])})}for(let e=i.length;e<l.length;e+=1){const r=B(t.concat([e]),o);n.push({op:E,path:r,value:G(l[e])})}if(i.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=B(t.concat(["length"]),o);r.push({op:M,path:e,value:i.length})}else for(let e=l.length;i.length<e;e-=1){const n=B(t.concat([e-1]),o);r.push({op:O,path:n})}}}(e,t,n,r,o);case 3:return function({original:e,copy:t},n,r,o,i){let s=0;e.forEach((e=>{if(!t.has(e)){const t=B(n.concat([s]),i);r.push({op:O,path:t,value:e}),o.unshift({op:E,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=B(n.concat([s]),i);r.push({op:E,path:e,value:t}),o.unshift({op:O,path:e,value:t})}s+=1}))}(e,t,n,r,o)}}const ae=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!N(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},le={get size(){return D(_(this)).size},has(e){return D(_(this)).has(e)},set(e,t){const n=_(this),r=D(n);return r.has(e)&&$(r.get(e),t)||(H(n),Z(n),n.assignedMap.set(e,!0),n.copy.set(e,t),ie(n,e,t,se)),this},delete(e){if(!this.has(e))return!1;const t=_(this);return H(t),Z(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=_(this);if(this.size){H(e),Z(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){D(_(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=_(this),o=D(r).get(e),i=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,o,R))===R.mutable;if(r.options.strict&&ae(o,r.options,i),i)return o;if(r.finalized||!N(o,r.options))return o;if(o!==r.original.get(e))return o;const s=A.createDraft({original:o,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return H(r),r.copy.set(e,s),s},keys(){return D(_(this)).keys()},values(){const e=this.keys();return{[k]:()=>this.values(),next:()=>{const t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[k]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[k](){return this.entries()}},ce=Reflect.ownKeys(le),ue=(e,t,{isValuesIterator:n})=>()=>{var r,o;const i=t.next();if(i.done)return i;const s=i.value;let a=e.setMap.get(s);const l=_(a),c=(null===(o=(r=e.options).mark)||void 0===o?void 0:o.call(r,a,R))===R.mutable;if(e.options.strict&&ae(s,e.options,c),c||l||!N(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=A.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},pe={get size(){return _(this).setMap.size},has(e){const t=_(this);if(t.setMap.has(e))return!0;H(t);const n=_(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=_(this);return this.has(e)||(H(t),Z(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),ie(t,e,e,se)),this},delete(e){if(!this.has(e))return!1;const t=_(this);H(t),Z(t);const n=_(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=_(this);H(e),Z(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=_(this);H(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:ue(e,t,{isValuesIterator:!0})}},entries(){const e=_(this);H(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:ue(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[k](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(pe,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const fe=Reflect.ownKeys(pe),he=new WeakSet,de={get(e,t,n){var r,o;const i=null===(r=e.copy)||void 0===r?void 0:r[t];if(i&&he.has(i))return i;if(t===j)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,R),s===R.mutable)return e.options.strict&&ae(r,e.options,!0),r}const a=D(e);if(a instanceof Map&&ce.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(le,"size").get.call(e.proxy);const n=le[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&fe.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(pe,"size").get.call(e.proxy);const n=pe[t];if(n)return n.bind(e.proxy)}if(!P(a,t)){const n=x(a,t);return n?"value"in n?n.value:null===(o=n.get)||void 0===o?void 0:o.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&ae(l,e.options),e.finalized||!N(l,e.options))return l;if(l===U(e.original,t)){if(H(e),e.copy[t]=ye({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=_(e.copy[t]);return H(n),Z(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let o;if(1===e.type&&"length"!==t&&(!(Number.isInteger(o=Number(t))&&o>=0)||0!==t&&0!==o&&String(o)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const i=x(D(e),t);if(null==i?void 0:i.set)return i.set.call(e.proxy,n),!0;const s=U(D(e),t),a=_(s);return a&&$(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):($(n,s)&&(void 0!==n||P(e.original,t))||(H(e),Z(e),P(e.original,t)&&$(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,ie(e,t,n,se)),!0)},has:(e,t)=>t in D(e),ownKeys:e=>Reflect.ownKeys(D(e)),getOwnPropertyDescriptor(e,t){const n=D(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?de.set.call(this,e,t,void 0,e.proxy):(void 0!==U(e.original,t)||t in e.original?(H(e),Z(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function ye(e){const{original:t,parentDraft:n,key:r,finalities:o,options:i}=e,s=V(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:o,options:i,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,de);if(o.revoke.push(c),he.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var o,i;const s=_(l);let a=3===e.type?e.setMap:e.copy;const c=L(a,r),u=_(c);if(u){let i=u.original;u.operated&&(i=I(c)),re(u),oe(u,se,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(o=e.options.updatedValues)&&void 0!==o?o:new WeakMap,e.options.updatedValues.set(i,u.original)),q(a,r,i)}null===(i=s.callbacks)||void 0===i||i.forEach((e=>{e(t,n)}))}))}else{const e=_(l);e.finalities.draft.push(((t,n)=>{re(e),oe(e,se,t,n)}))}return l}function ge(e,t,n,r,o){var i;const s=_(e),a=null!==(i=null==s?void 0:s.original)&&void 0!==i?i:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;)s.finalities.draft.pop()(n,r);const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&W(s),o&&Q(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:M,path:[],value:t[0]}]:n,r&&l?[{op:M,path:[],value:a}]:r]}function ve(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:o=!0}=e;ee(n,((n,r,o)=>{const i=_(r);if(i&&t&&i.finalities===t.finalities){e.isContainDraft=!0;const t=i.original;if(o instanceof Set){const e=Array.from(o);o.clear(),e.forEach((e=>o.add(n===e?t:e)))}else q(o,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,ve(e))})),o&&e.isContainDraft}function me(e){var t;const n=_(e);if(!N(e,null==n?void 0:n.options))return e;const r=V(e);if(n&&!n.operated)return n.original;let o;function i(){o=2===r?z(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):X(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{i()}finally{n.finalized=!1}}else o=e;if(ee(o,((t,r)=>{if(n&&$(L(n.original,t),r))return;const s=me(r);s!==r&&(o===e&&i(),q(o,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:o;return C(e)?new Set(o):new(Object.getPrototypeOf(e).constructor)(o)}return o}function be(e){if(!T(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return me(e)}A.createDraft=ye;const we=function e(t,n,r){var o,i,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...o){return e(r,(e=>t.call(this,e,...o)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},void 0),c);const u=T(a)?be(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(o=c.enablePatches)&&void 0!==o&&o,h=null!==(i=c.strict)&&void 0!==i&&i,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!N(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let o,i;t.enablePatches&&(o=[],i=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,R))!==R.mutable&&N(e,t)?ye({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=ge(s,e,o,i,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!N(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw W(_(y)),e}const m=e=>{const t=_(y);if(!T(e)){if(void 0!==e&&!$(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[S];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&ve({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&ve({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=_(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([be(e)])}return g([e])};return v instanceof Promise?v.then(m,(e=>{throw W(_(y)),e})):m(v)};Object.prototype.constructor.toString();class Oe{constructor(e,t=null){this.value=e,this.reactor=t??new b(this,[])}produce(e){return n=e,void(t=this).set(we(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new w(this,"",e[0]):new w(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}class Me{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Ee{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class je{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}return e.RumiousApp=class{constructor(e=document.createElement("span"),n={}){this.root=e,this.configs=n,this.renderContext=new t(this)}render(e){m(e,this.root,this.renderContext)}},e.RumiousChildrensRef=Ee,e.RumiousComponent=n,e.RumiousComponentElement=y,e.RumiousComponentRef=je,e.RumiousElementRef=Me,e.RumiousState=Oe,e.createChildrensRef=function(e){return new Ee(e)},e.createComponentElement=g,e.createComponentRef=function(e){return new je(e)},e.createElementRef=function(e){return new Me(e)},e.createState=function(e){return new Oe(e)},e.isComponent=r,e.isState=function(e){return e instanceof Oe},e.watcher=function(e,t){e.reactor.addBinding(t)},e}({});
|
1
|
+
var Rumious=function(e){"use strict";class t{constructor(e){this.target=e}find(e){return this.target[e]}get(e){return this.target[e]}}class n{constructor(){this.element=null,this.props={},this.renderContext=new t(this),this.renderer=null,this.wrapped=null}prepare(e,t,n={},r=null){this.element=e,this.props=t,this.renderer=r,this.wrapped=n}template(){return{}}requestRender(){let e=this.template(),t=this.renderer(e,document.createDocumentFragment(),this.renderContext);this.element.appendChild(t),this.onRender()}async requestCleanUp(){if(this.element){let e=this.element.cloneNode(!0);for(this.element.replaceWith(e),this.element=e;this.element.firstChild;)this.element.removeChild(this.element.firstChild)}}onInit(){}onCreate(){}onRender(){}onUpdate(){}onDestroy(){}}function r(e){return Object.getPrototypeOf(e)===n}class i{constructor(e,t,n=[]){this.type=e,this.props=t,this.children=n}}class o{constructor(e){this.type="ELEMENT_LIST",this.children=e}forEach(e){this.children.forEach(e)}}function s(e){return"function"==typeof e}class a{constructor(e,t,n){this.type=e,this.name=t,this.value=n}init(){}}class l extends a{async init(e,t){let n=null;const r=e=>{if(!t.find(e))return null;const n=t.get(e);if(!s(n))throw`${e} is not a function!`;return n.bind(t.target)};if("string"===this.value.type)n=r(this.value.value);else if("expression"===this.value.type){if(n=this.value.value,!s(n))throw"Event handler requires a function!"}else"dynamic_value"===this.value.type&&(n=r(this.value.value.objectName));n&&e.addEventListener(this.name,n)}}class c extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive bind: require a RumiousState Object !";t.reactor.addBinding((()=>{let n=t.get();this.bindAttr(e,n)})),this.bindAttr(e,t.get())}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target),r=t.find(this.value.value.objectName);if(!r)throw"Invalid props value: Directive bind: require a RumiousState Object !";r.reactor.addBinding((()=>{let n=this.value.evaluator?.(t.target);this.bindAttr(e,n)})),this.bindAttr(e,n)}}normalizeValue(e){return"object"==typeof e?e.toString?.()??"":e}async bindAttr(e,t){"html"===this.name&&(e.innerHTML=this.normalizeValue(t))}}class u extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive ref: require a RumiousRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive ref: require a RumiousRef Object !";n.set(e)}}}class p extends a{async init(e,t){if("expression"===this.value.type){let t=this.value.value;if(!t)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";t.set(e)}else if("dynamic_value"===this.value.type){let n=this.value.evaluator?.(t.target);if(!n)throw"Invalid props value: Directive childsRef: require a RumiousChildRef Object !";n.set(e)}}}const f={on:(e,t)=>new l("on",e,t),bind:(e,t)=>new c("bind",e,t),ref:(e,t)=>new u("ref",e,t),childsRef:(e,t)=>new p("childsRef",e,t)};function h(...e){return new i("FRAGMENT",{},d(e))}function d(e){return e.map((e=>"object"==typeof e?e:new i("TEXT_ELEMENT",{nodeValue:e},[])))}window.RUMIOUS_JSX_SUPPORT={createElement:function(e,t,...n){return r(e)?function(e,t,n){return new i("COMPONENT",{component:e,...t},new o(d(n)))}(e,t,n):e===h?h(...n):new i(e,t||{},d(n))},createFragment:h,createDirective:function(e,t,n){return function(e,t,n){return f[e]?.(t,n)}(e,t,n)}};class y extends HTMLElement{constructor(){super(),this.instance=null,this.ref=null}cleanUp(){}setRef(e){this.ref=e}init(e,t,n={},r){this.instance=new e,this.instance.element=this,this.instance.prepare(this,t,n,r),this.instance.onInit()}connectedCallback(){this.instance.onCreate(),this.instance.requestRender(),this.instance.forwardRef=this.ref??{}}disconnectCallback(){this.instance.onDestroy(),this.instance.requestCleanUp(),this.cleanUp()}}function g(e="a-component"){let t=Math.floor(9999*Math.random())*Date.now().toString(32);return window.customElements.define(e+t,class extends y{static tag=e+t;cleanUp(){window.customElements(e+t,HTMLUnknownElement)}}),document.createElement(e)}function v(e,t,n){t.init(e,n)}function m(e,t,n={}){if(!e)return t;let r;return"COMPONENT"===e.type?function(e,t,n,r){const i=function(e,t,n,r){const i=g(e.tag??"r-component");return i.init(e,t,n,r),i}(e.props.component,e.props,e.children,n);return Object.entries(e.props||{}).forEach((([,e])=>{e instanceof a&&v(i,e,r)})),t.appendChild(i),t}(e,t,m,n):"FRAGMENT"===e.type||"ELEMENT_LIST"===e.type?function(e,t,n){return e.children.forEach((e=>m(e,t,n))),t}(e,t,n):(r="TEXT_ELEMENT"===e.type?function(e){return document.createTextNode(e.props.nodeValue)}(e):function(e,t){const n=document.createElement(e.type);return Object.entries(e.props||{}).forEach((([e,r])=>{e.startsWith("on")&&/^[a-zA-Z]+([A-Z][a-z]*)*$/.test(e)?n.addEventListener(e.substring(2).toLowerCase(),r):function(e,t,n,r){e.nodeType===Node.TEXT_NODE?e.nodeValue=n:n instanceof a?v(e,n,r):e.setAttribute(t,n)}(n,e,r,t)})),n}(e,n),e.children.forEach((e=>m(e,r,n))),t.appendChild(r),t)}class b{constructor(e=null,t=[]){this.target=e,this.bindings=t}react(){this.bindings.forEach((e=>e()))}removeBinding(e){for(let t=this.bindings.length-1;t>=0;t--)this.bindings[t]===e&&this.bindings.splice(t,1)}addBinding(e){this.bindings.push(e)}}class w{constructor(e,t="",n){this.state=e,this.path=t,this.fn=n}trigger(...e){let t=this.fn(...e);this.state.set(this.path,t)}}const O="remove",M="replace",E="add",S=Symbol.for("__MUTATIVE_PROXY_DRAFT__"),j=Symbol("__MUTATIVE_RAW_RETURN_SYMBOL__"),R=Symbol.iterator,k={mutable:"mutable",immutable:"immutable"},P={};function A(e,t){return e instanceof Map?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function C(e,t){if(t in e){let n=Reflect.getPrototypeOf(e);for(;n;){const e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Reflect.getPrototypeOf(n)}}}function x(e){return Object.getPrototypeOf(e)===Set.prototype}function z(e){return Object.getPrototypeOf(e)===Map.prototype}function T(e){var t;return null!==(t=e.copy)&&void 0!==t?t:e.original}function D(e){return!!_(e)}function _(e){return"object"!=typeof e?null:null==e?void 0:e[S]}function I(e){var t;const n=_(e);return n?null!==(t=n.copy)&&void 0!==t?t:n.original:e}function N(e,t){if(!e||"object"!=typeof e)return!1;let n;return Object.getPrototypeOf(e)===Object.prototype||Array.isArray(e)||e instanceof Map||e instanceof Set||!!(null==t?void 0:t.mark)&&((n=t.mark(e,k))===k.immutable||"function"==typeof n)}function U(e,t=[]){if(Object.hasOwnProperty.call(e,"key")){const n=e.parent.copy,r=_(L(n,e.key));if(null!==r&&(null==r?void 0:r.original)!==e.original)return null;const i=3===e.parent.type,o=i?Array.from(e.parent.setMap.keys()).indexOf(e.key):e.key;if(!(i&&n.size>o||A(n,o)))return null;t.push(o)}if(e.parent)return U(e.parent,t);t.reverse();try{!function(e,t){for(let n=0;n<t.length-1;n+=1){const r=t[n];if("object"!=typeof(e=L(3===F(e)?Array.from(e):e,r)))throw new Error(`Cannot resolve patch at '${t.join("/")}'.`)}}(e.copy,t)}catch(e){return null}return t}function F(e){return Array.isArray(e)?1:e instanceof Map?2:e instanceof Set?3:0}function L(e,t){return 2===F(e)?e.get(t):e[t]}function V(e,t,n){2===F(e)?e.set(t,n):e[t]=n}function q(e,t){const n=_(e);return(n?T(n):e)[t]}function $(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function X(e){if(e)for(;e.finalities.revoke.length>0;)e.finalities.revoke.pop()()}function B(e,t){return t?e:[""].concat(e).map((e=>{const t=`${e}`;return-1===t.indexOf("/")&&-1===t.indexOf("~")?t:t.replace(/~/g,"~0").replace(/\//g,"~1")})).join("/")}const W=Object.prototype.propertyIsEnumerable;function K(e,t){let n;if(Array.isArray(e))return Array.prototype.concat.call(e);if(e instanceof Set)return x(e)?Set.prototype.difference?Set.prototype.difference.call(e,new Set):new Set(e.values()):new(0,Object.getPrototypeOf(e).constructor)(e.values());if(e instanceof Map)return z(e)?new Map(e):new(0,Object.getPrototypeOf(e).constructor)(e);if((null==t?void 0:t.mark)&&(n=t.mark(e,k),void 0!==n)&&n!==k.mutable){if(n===k.immutable)return function(e){const t=Object.create(Object.getPrototypeOf(e));return Reflect.ownKeys(e).forEach((n=>{let r=Reflect.getOwnPropertyDescriptor(e,n);r.enumerable&&r.configurable&&r.writable?t[n]=e[n]:(r.writable||(r.writable=!0,r.configurable=!0),(r.get||r.set)&&(r={configurable:!0,writable:!0,enumerable:r.enumerable,value:e[n]}),Reflect.defineProperty(t,n,r))})),t}(e);if("function"==typeof n){if(t.enablePatches||t.enableAutoFreeze)throw new Error("You can't use mark and patches or auto freeze together.");return n()}throw new Error(`Unsupported mark result: ${n}`)}if("object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype){const t={};return Object.keys(e).forEach((n=>{t[n]=e[n]})),Object.getOwnPropertySymbols(e).forEach((n=>{W.call(e,n)&&(t[n]=e[n])})),t}throw new Error("Please check mark() to ensure that it is a stable marker draftable function.")}function H(e){e.copy||(e.copy=K(e.original,e.options))}function Y(e){if(!N(e))return I(e);if(Array.isArray(e))return e.map(Y);if(e instanceof Map){const t=Array.from(e.entries()).map((([e,t])=>[e,Y(t)]));return z(e)?new Map(t):new(0,Object.getPrototypeOf(e).constructor)(t)}if(e instanceof Set){const t=Array.from(e).map(Y);return x(e)?new Set(t):new(0,Object.getPrototypeOf(e).constructor)(t)}const t=Object.create(Object.getPrototypeOf(e));for(const n in e)t[n]=Y(e[n]);return t}function Z(e){return D(e)?Y(e):e}function G(e){var t;e.assignedMap=null!==(t=e.assignedMap)&&void 0!==t?t:new Map,e.operated||(e.operated=!0,e.parent&&G(e.parent))}function J(){throw new Error("Cannot modify frozen object")}function Q(e,t,n,r,i){{n=null!=n?n:new WeakMap,r=null!=r?r:[],i=null!=i?i:[];const o=n.has(e)?n.get(e):e;if(r.length>0){const e=r.indexOf(o);if(o&&"object"==typeof o&&-1!==e){if(r[0]===o)throw new Error("Forbids circular reference");throw new Error(`Forbids circular reference: ~/${i.slice(0,e).map(((e,t)=>{if("symbol"==typeof e)return`[${e.toString()}]`;const n=r[t];return"object"==typeof e&&(n instanceof Map||n instanceof Set)?Array.from(n.keys()).indexOf(e):e})).join("/")}`)}r.push(o),i.push(t)}else r.push(o)}if(Object.isFrozen(e)||D(e))return r.pop(),void i.pop();switch(F(e)){case 2:for(const[t,o]of e)Q(t,t,n,r,i),Q(o,t,n,r,i);e.set=e.clear=e.delete=J;break;case 3:for(const t of e)Q(t,t,n,r,i);e.add=e.clear=e.delete=J;break;case 1:Object.freeze(e);let t=0;for(const o of e)Q(o,t,n,r,i),t+=1;break;default:Object.freeze(e),Object.keys(e).forEach((t=>{Q(e[t],t,n,r,i)}))}r.pop(),i.pop()}function ee(e,t){const n=F(e);if(0===n)Reflect.ownKeys(e).forEach((n=>{t(n,e[n],e)}));else if(1===n){let n=0;for(const r of e)t(n,r,e),n+=1}else e.forEach(((n,r)=>t(r,n,e)))}function te(e,t,n){if(D(e)||!N(e,n)||t.has(e)||Object.isFrozen(e))return;const r=e instanceof Set,i=r?new Map:void 0;if(t.add(e),ee(e,((o,s)=>{var a;if(D(s)){const t=_(s);H(t);const n=(null===(a=t.assignedMap)||void 0===a?void 0:a.size)||t.operated?t.copy:t.original;V(r?i:e,o,n)}else te(s,t,n)})),i){const t=e,n=Array.from(t);t.clear(),n.forEach((e=>{t.add(i.has(e)?i.get(e):e)}))}}function ne(e,t){const n=3===e.type?e.setMap:e.copy;e.finalities.revoke.length>1&&e.assignedMap.get(t)&&n&&te(L(n,t),e.finalities.handledSet,e.options)}function re(e){3===e.type&&e.copy&&(e.copy.clear(),e.setMap.forEach((t=>{e.copy.add(I(t))})))}function ie(e,t,n,r){if(e.operated&&e.assignedMap&&e.assignedMap.size>0&&!e.finalized){if(n&&r){const i=U(e);i&&t(e,i,n,r)}e.finalized=!0}}function oe(e,t,n,r){const i=_(n);i&&(i.callbacks||(i.callbacks=[]),i.callbacks.push(((o,s)=>{var a;const l=3===e.type?e.setMap:e.copy;if($(L(l,t),n)){let n=i.original;i.copy&&(n=i.copy),re(e),ie(e,r,o,s),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(a=e.options.updatedValues)&&void 0!==a?a:new WeakMap,e.options.updatedValues.set(n,i.original)),V(l,t,n)}})),e.options.enableAutoFreeze&&i.finalities!==e.finalities&&(e.options.enableAutoFreeze=!1)),N(n,e.options)&&e.finalities.draft.push((()=>{$(L(3===e.type?e.setMap:e.copy,t),n)&&ne(e,t)}))}function se(e,t,n,r){const{pathAsArray:i=!0}=e.options.enablePatches;switch(e.type){case 0:case 2:return function({original:e,copy:t,assignedMap:n},r,i,o,s){n.forEach(((n,a)=>{const l=L(e,a),c=Z(L(t,a)),u=n?A(e,a)?M:E:O;if($(l,c)&&u===M)return;const p=B(r.concat(a),s);i.push(u===O?{op:u,path:p}:{op:u,path:p,value:c}),o.push(u===E?{op:O,path:p}:u===O?{op:E,path:p,value:l}:{op:M,path:p,value:l})}))}(e,t,n,r,i);case 1:return function(e,t,n,r,i){let{original:o,assignedMap:s,options:a}=e,l=e.copy;l.length<o.length&&([o,l]=[l,o],[n,r]=[r,n]);for(let e=0;e<o.length;e+=1)if(s.get(e.toString())&&l[e]!==o[e]){const s=B(t.concat([e]),i);n.push({op:M,path:s,value:Z(l[e])}),r.push({op:M,path:s,value:Z(o[e])})}for(let e=o.length;e<l.length;e+=1){const r=B(t.concat([e]),i);n.push({op:E,path:r,value:Z(l[e])})}if(o.length<l.length){const{arrayLengthAssignment:e=!0}=a.enablePatches;if(e){const e=B(t.concat(["length"]),i);r.push({op:M,path:e,value:o.length})}else for(let e=l.length;o.length<e;e-=1){const n=B(t.concat([e-1]),i);r.push({op:O,path:n})}}}(e,t,n,r,i);case 3:return function({original:e,copy:t},n,r,i,o){let s=0;e.forEach((e=>{if(!t.has(e)){const t=B(n.concat([s]),o);r.push({op:O,path:t,value:e}),i.unshift({op:E,path:t,value:e})}s+=1})),s=0,t.forEach((t=>{if(!e.has(t)){const e=B(n.concat([s]),o);r.push({op:E,path:e,value:t}),i.unshift({op:O,path:e,value:t})}s+=1}))}(e,t,n,r,i)}}const ae=(e,t,n=!1)=>{if("object"==typeof e&&null!==e&&(!N(e,t)||n))throw new Error("Strict mode: Mutable data cannot be accessed directly, please use 'unsafe(callback)' wrap.")},le={get size(){return T(_(this)).size},has(e){return T(_(this)).has(e)},set(e,t){const n=_(this),r=T(n);return r.has(e)&&$(r.get(e),t)||(H(n),G(n),n.assignedMap.set(e,!0),n.copy.set(e,t),oe(n,e,t,se)),this},delete(e){if(!this.has(e))return!1;const t=_(this);return H(t),G(t),t.original.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.copy.delete(e),!0},clear(){const e=_(this);if(this.size){H(e),G(e),e.assignedMap=new Map;for(const[t]of e.original)e.assignedMap.set(t,!1);e.copy.clear()}},forEach(e,t){T(_(this)).forEach(((n,r)=>{e.call(t,this.get(r),r,this)}))},get(e){var t,n;const r=_(this),i=T(r).get(e),o=(null===(n=(t=r.options).mark)||void 0===n?void 0:n.call(t,i,k))===k.mutable;if(r.options.strict&&ae(i,r.options,o),o)return i;if(r.finalized||!N(i,r.options))return i;if(i!==r.original.get(e))return i;const s=P.createDraft({original:i,parentDraft:r,key:e,finalities:r.finalities,options:r.options});return H(r),r.copy.set(e,s),s},keys(){return T(_(this)).keys()},values(){const e=this.keys();return{[R]:()=>this.values(),next:()=>{const t=e.next();return t.done?t:{done:!1,value:this.get(t.value)}}}},entries(){const e=this.keys();return{[R]:()=>this.entries(),next:()=>{const t=e.next();if(t.done)return t;const n=this.get(t.value);return{done:!1,value:[t.value,n]}}}},[R](){return this.entries()}},ce=Reflect.ownKeys(le),ue=(e,t,{isValuesIterator:n})=>()=>{var r,i;const o=t.next();if(o.done)return o;const s=o.value;let a=e.setMap.get(s);const l=_(a),c=(null===(i=(r=e.options).mark)||void 0===i?void 0:i.call(r,a,k))===k.mutable;if(e.options.strict&&ae(s,e.options,c),c||l||!N(s,e.options)||e.finalized||!e.original.has(s))l&&(a=l.proxy);else{const t=P.createDraft({original:s,parentDraft:e,key:s,finalities:e.finalities,options:e.options});e.setMap.set(s,t),a=t}return{done:!1,value:n?a:[a,a]}},pe={get size(){return _(this).setMap.size},has(e){const t=_(this);if(t.setMap.has(e))return!0;H(t);const n=_(e);return!(!n||!t.setMap.has(n.original))},add(e){const t=_(this);return this.has(e)||(H(t),G(t),t.assignedMap.set(e,!0),t.setMap.set(e,e),oe(t,e,e,se)),this},delete(e){if(!this.has(e))return!1;const t=_(this);H(t),G(t);const n=_(e);return n&&t.setMap.has(n.original)?(t.assignedMap.set(n.original,!1),t.setMap.delete(n.original)):(!n&&t.setMap.has(e)?t.assignedMap.set(e,!1):t.assignedMap.delete(e),t.setMap.delete(e))},clear(){if(!this.size)return;const e=_(this);H(e),G(e);for(const t of e.original)e.assignedMap.set(t,!1);e.setMap.clear()},values(){const e=_(this);H(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.values(),next:ue(e,t,{isValuesIterator:!0})}},entries(){const e=_(this);H(e);const t=e.setMap.keys();return{[Symbol.iterator]:()=>this.entries(),next:ue(e,t,{isValuesIterator:!1})}},keys(){return this.values()},[R](){return this.values()},forEach(e,t){const n=this.values();let r=n.next();for(;!r.done;)e.call(t,r.value,r.value,this),r=n.next()}};Set.prototype.difference&&Object.assign(pe,{intersection(e){return Set.prototype.intersection.call(new Set(this.values()),e)},union(e){return Set.prototype.union.call(new Set(this.values()),e)},difference(e){return Set.prototype.difference.call(new Set(this.values()),e)},symmetricDifference(e){return Set.prototype.symmetricDifference.call(new Set(this.values()),e)},isSubsetOf(e){return Set.prototype.isSubsetOf.call(new Set(this.values()),e)},isSupersetOf(e){return Set.prototype.isSupersetOf.call(new Set(this.values()),e)},isDisjointFrom(e){return Set.prototype.isDisjointFrom.call(new Set(this.values()),e)}});const fe=Reflect.ownKeys(pe),he=new WeakSet,de={get(e,t,n){var r,i;const o=null===(r=e.copy)||void 0===r?void 0:r[t];if(o&&he.has(o))return o;if(t===S)return e;let s;if(e.options.mark){const r="size"===t&&(e.original instanceof Map||e.original instanceof Set)?Reflect.get(e.original,t):Reflect.get(e.original,t,n);if(s=e.options.mark(r,k),s===k.mutable)return e.options.strict&&ae(r,e.options,!0),r}const a=T(e);if(a instanceof Map&&ce.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(le,"size").get.call(e.proxy);const n=le[t];if(n)return n.bind(e.proxy)}if(a instanceof Set&&fe.includes(t)){if("size"===t)return Object.getOwnPropertyDescriptor(pe,"size").get.call(e.proxy);const n=pe[t];if(n)return n.bind(e.proxy)}if(!A(a,t)){const n=C(a,t);return n?"value"in n?n.value:null===(i=n.get)||void 0===i?void 0:i.call(e.proxy):void 0}const l=a[t];if(e.options.strict&&ae(l,e.options),e.finalized||!N(l,e.options))return l;if(l===q(e.original,t)){if(H(e),e.copy[t]=ye({original:e.original[t],parentDraft:e,key:1===e.type?Number(t):t,finalities:e.finalities,options:e.options}),"function"==typeof s){const n=_(e.copy[t]);return H(n),G(n),n.copy}return e.copy[t]}return l},set(e,t,n){var r;if(3===e.type||2===e.type)throw new Error("Map/Set draft does not support any property assignment.");let i;if(1===e.type&&"length"!==t&&(!(Number.isInteger(i=Number(t))&&i>=0)||0!==t&&0!==i&&String(i)!==String(t)))throw new Error("Only supports setting array indices and the 'length' property.");const o=C(T(e),t);if(null==o?void 0:o.set)return o.set.call(e.proxy,n),!0;const s=q(T(e),t),a=_(s);return a&&$(a.original,n)?(e.copy[t]=n,e.assignedMap=null!==(r=e.assignedMap)&&void 0!==r?r:new Map,e.assignedMap.set(t,!1),!0):($(n,s)&&(void 0!==n||A(e.original,t))||(H(e),G(e),A(e.original,t)&&$(n,e.original[t])?e.assignedMap.delete(t):e.assignedMap.set(t,!0),e.copy[t]=n,oe(e,t,n,se)),!0)},has:(e,t)=>t in T(e),ownKeys:e=>Reflect.ownKeys(T(e)),getOwnPropertyDescriptor(e,t){const n=T(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{writable:!0,configurable:1!==e.type||"length"!==t,enumerable:r.enumerable,value:n[t]}:r},getPrototypeOf:e=>Reflect.getPrototypeOf(e.original),setPrototypeOf(){throw new Error("Cannot call 'setPrototypeOf()' on drafts")},defineProperty(){throw new Error("Cannot call 'defineProperty()' on drafts")},deleteProperty(e,t){var n;return 1===e.type?de.set.call(this,e,t,void 0,e.proxy):(void 0!==q(e.original,t)||t in e.original?(H(e),G(e),e.assignedMap.set(t,!1)):(e.assignedMap=null!==(n=e.assignedMap)&&void 0!==n?n:new Map,e.assignedMap.delete(t)),e.copy&&delete e.copy[t],!0)}};function ye(e){const{original:t,parentDraft:n,key:r,finalities:i,options:o}=e,s=F(t),a={type:s,finalized:!1,parent:n,original:t,copy:null,proxy:null,finalities:i,options:o,setMap:3===s?new Map(t.entries()):void 0};(r||"key"in e)&&(a.key=r);const{proxy:l,revoke:c}=Proxy.revocable(1===s?Object.assign([],a):a,de);if(i.revoke.push(c),he.add(l),a.proxy=l,n){const e=n;e.finalities.draft.push(((t,n)=>{var i,o;const s=_(l);let a=3===e.type?e.setMap:e.copy;const c=L(a,r),u=_(c);if(u){let o=u.original;u.operated&&(o=I(c)),re(u),ie(u,se,t,n),e.options.enableAutoFreeze&&(e.options.updatedValues=null!==(i=e.options.updatedValues)&&void 0!==i?i:new WeakMap,e.options.updatedValues.set(o,u.original)),V(a,r,o)}null===(o=s.callbacks)||void 0===o||o.forEach((e=>{e(t,n)}))}))}else{const e=_(l);e.finalities.draft.push(((t,n)=>{re(e),ie(e,se,t,n)}))}return l}function ge(e,t,n,r,i){var o;const s=_(e),a=null!==(o=null==s?void 0:s.original)&&void 0!==o?o:e,l=!!t.length;if(null==s?void 0:s.operated)for(;s.finalities.draft.length>0;)s.finalities.draft.pop()(n,r);const c=l?t[0]:s?s.operated?s.copy:s.original:e;return s&&X(s),i&&Q(c,c,null==s?void 0:s.options.updatedValues),[c,n&&l?[{op:M,path:[],value:t[0]}]:n,r&&l?[{op:M,path:[],value:a}]:r]}function ve(e){const{rootDraft:t,value:n,useRawReturn:r=!1,isRoot:i=!0}=e;ee(n,((n,r,i)=>{const o=_(r);if(o&&t&&o.finalities===t.finalities){e.isContainDraft=!0;const t=o.original;if(i instanceof Set){const e=Array.from(i);i.clear(),e.forEach((e=>i.add(n===e?t:e)))}else V(i,n,t)}else"object"==typeof r&&null!==r&&(e.value=r,e.isRoot=!1,ve(e))})),i&&e.isContainDraft}function me(e){var t;const n=_(e);if(!N(e,null==n?void 0:n.options))return e;const r=F(e);if(n&&!n.operated)return n.original;let i;function o(){i=2===r?z(e)?new Map(e):new(Object.getPrototypeOf(e).constructor)(e):3===r?Array.from(n.setMap.values()):K(e,null==n?void 0:n.options)}if(n){n.finalized=!0;try{o()}finally{n.finalized=!1}}else i=e;if(ee(i,((t,r)=>{if(n&&$(L(n.original,t),r))return;const s=me(r);s!==r&&(i===e&&o(),V(i,t,s))})),3===r){const e=null!==(t=null==n?void 0:n.original)&&void 0!==t?t:i;return x(e)?new Set(i):new(Object.getPrototypeOf(e).constructor)(i)}return i}function be(e){if(!D(e))throw new Error(`current() is only used for Draft, parameter: ${e}`);return me(e)}P.createDraft=ye;const we=function e(t,n,r){var i,o,s;if("function"==typeof t&&"function"!=typeof n)return function(r,...i){return e(r,(e=>t.call(this,e,...i)),n)};const a=t,l=n;let c=r;if("function"!=typeof n&&(c=n),void 0!==c&&"[object Object]"!==Object.prototype.toString.call(c))throw new Error(`Invalid options: ${c}, 'options' should be an object.`);c=Object.assign(Object.assign({},void 0),c);const u=D(a)?be(a):a,p=Array.isArray(c.mark)?(e,t)=>{for(const n of c.mark){if("function"!=typeof n)throw new Error(`Invalid mark: ${n}, 'mark' should be a function.`);const r=n(e,t);if(r)return r}}:c.mark,f=null!==(i=c.enablePatches)&&void 0!==i&&i,h=null!==(o=c.strict)&&void 0!==o&&o,d={enableAutoFreeze:null!==(s=c.enableAutoFreeze)&&void 0!==s&&s,mark:p,strict:h,enablePatches:f};if(!N(u,d)&&"object"==typeof u&&null!==u)throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");const[y,g]=function(e,t){var n;const r={draft:[],revoke:[],handledSet:new WeakSet};let i,o;t.enablePatches&&(i=[],o=[]);const s=(null===(n=t.mark)||void 0===n?void 0:n.call(t,e,k))!==k.mutable&&N(e,t)?ye({original:e,parentDraft:null,finalities:r,options:t}):e;return[s,(e=[])=>{const[n,r,a]=ge(s,e,i,o,t.enableAutoFreeze);return t.enablePatches?[n,r,a]:n}]}(u,d);if("function"!=typeof n){if(!N(u,d))throw new Error("Invalid base state: create() only supports plain objects, arrays, Set, Map or using mark() to mark the state as immutable.");return[y,g]}let v;try{v=l(y)}catch(e){throw X(_(y)),e}const m=e=>{const t=_(y);if(!D(e)){if(void 0!==e&&!$(e,y)&&(null==t?void 0:t.operated))throw new Error("Either the value is returned as a new non-draft value, or only the draft is modified without returning any value.");const n=null==e?void 0:e[j];if(n){const r=n[0];return d.strict&&"object"==typeof e&&null!==e&&ve({rootDraft:t,value:e,useRawReturn:!0}),g([r])}if(void 0!==e)return"object"==typeof e&&null!==e&&ve({rootDraft:t,value:e}),g([e])}if(e===y||void 0===e)return g([]);const n=_(e);if(d===n.options){if(n.operated)throw new Error("Cannot return a modified child draft.");return g([be(e)])}return g([e])};return v instanceof Promise?v.then(m,(e=>{throw X(_(y)),e})):m(v)};Object.prototype.constructor.toString();class Oe{constructor(e,t=null){this.value=e,this.reactor=t??new b(this,[])}produce(e){return n=e,void(t=this).set(we(t.get(),n));var t,n}reducer(...e){let t;return t=1===e.length?new w(this,"",e[0]):new w(this,e[0],e[1]),t.trigger.bind(t)}setObjectByPath(e="",t){if(0==e.length)return void(this.value=t);if("string"!=typeof e||!e)throw new Error("Invalid path");let n=e.split("."),r=this.value;for(let e=0;e<n.length-1;e++){let t=n[e];t in r||(r[t]={}),r=r[t]}r[n[n.length-1]]=t}set(...e){if(1===e.length)this.value=e[0];else{let t=e[0],n=e[1];this.setObjectByPath(t,n)}this.reactor.react()}get(){return this.value}}function Me(e){return new Oe(e)}class Ee{constructor(e){this.target=e}set html(e){this.target.innerHTML=e}query(e){return this.target.querySelectorAll(e)}set text(e){this.target.textContent=e}on(e,t){this.target.addEventListener(e,t)}off(e,t){this.target.removeEventListener(e,t)}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class Se{constructor(e){this.target=e}query(e){return this.target.querySelectorAll(e)}index(e){return Array.from(this.target.children)[e]}list(){return Array.from(this.target.children)}get parent(){return this.target}remove(){this.target.remove()}addChild(e){this.target.appendChild(e)}set(e){this.target=e}}class je{constructor(e){this.target=e}set(e){this.target=e,e.setRef(this)}}window.RUMIOUS_CONTEXTS||(window.RUMIOUS_CONTEXTS={});class Re{constructor(e={}){this.data=e,this.events={}}on(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}off(e,t){this.events[e]&&(this.events[e]=this.events[e].filter((e=>e!==t)))}emit(e,...t){this.events[e]&&this.events[e].forEach((e=>e(...t)))}set(e,t){let n=Me(t);return this.data[e]=n,n}get(e){return this.data[e]}}return e.RumiousApp=class{constructor(e=document.createElement("span"),n={}){this.root=e,this.configs=n,this.renderContext=new t(this)}render(e){m(e,this.root,this.renderContext)}},e.RumiousChildrensRef=Se,e.RumiousComponent=n,e.RumiousComponentElement=y,e.RumiousComponentRef=je,e.RumiousContext=Re,e.RumiousElementRef=Ee,e.RumiousState=Oe,e.createChildrensRef=function(e){return new Se(e)},e.createComponentElement=g,e.createComponentRef=function(e){return new je(e)},e.createContext=function(e="",t={}){return window.RUMIOUS_CONTEXTS[e]||(window.RUMIOUS_CONTEXTS[e]=new Re(t)),window.RUMIOUS_CONTEXTS[e]},e.createElementRef=function(e){return new Ee(e)},e.createState=Me,e.isComponent=r,e.isState=function(e){return e instanceof Oe},e.styleHelper=function(e){let t="";for(const n in e)if(e.hasOwnProperty(n)){t+=`${n} {`;const r=e[n];for(const e in r)r.hasOwnProperty(e)&&(t+=`${e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}: ${r[e]};`);t+="} "}return t.trim()},e.unwatch=function(e,t){e.reactor.removeBinding(t)},e.watch=function(e,t){e.reactor.addBinding(t)},e}({});
|