@neuralfog/elemix 0.1.5 → 0.1.6

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.js CHANGED
@@ -1 +1 @@
1
- "use strict";var a=Object.defineProperty;var l=(o,e,t)=>e in o?a(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var s=(o,e,t)=>l(o,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./types-D5TcFW7H.js"),d=require("@neuralfog/elemix-renderer"),c=require("./renderers-CTogHRY2.js"),h=require("./reactive.js"),p=require("./app.js");class u{constructor(e){s(this,"locked",!1);s(this,"scheduledRenderTriggers",new Set);this.component=e}schedule(e,t=!1){this.component.template&&(e&&this.scheduledRenderTriggers.add(e),this.locked||(this.locked=!0,c.activeRenderers.add(this),setTimeout(()=>{var i,r;this.render(Array.from(this.scheduledRenderTriggers)),this.scheduledRenderTriggers.clear(),this.locked=!1,c.activeRenderers.delete(this),t&&((r=(i=this.component).onMount)==null||r.call(i))},0)))}render(e){var t,i;this.component.template&&(d.render(this.component.template(),this.component.root),(i=(t=this.component).onRender)==null||i.call(t,e))}}class m{constructor(e){this.component=e}initialize(){const e=this.component.constructor.prototype.stateProperties;if(e)for(const[t,i]of e){const r=this.component;r[t]=new h.Reactive(r[t],i).subscribe(this.component).value}}}class f{constructor(e){s(this,"data",{});this.component=e}initialize(){this.data=new h.Reactive(this.data,n.RenderTrigger.PROPS).subscribe(this.component).value}setReactive(e,t){this.data[e]=t}set(e,t){if(typeof t=="object"&&t!==null){this.setReactive(e,t);return}const i=this.data[e];if(typeof t=="function"){this.data[e]||this.setReactive(e,t);return}i!==t&&this.setReactive(e,t)}}class g{constructor(e){s(this,"styles");this.component=e,this.styles=this.component.constructor.$styles}initialize(){if(this.component.shadowRoot&&this.styles.length){const e=new CSSStyleSheet;e.replaceSync(this.styles.join(" "));const t=p.App.config.baseStyles||[];this.component.shadowRoot.adoptedStyleSheets=[...t,e]}}}class R extends HTMLElement{constructor(){super();s(this,"$props",new f(this));s(this,"$renderer",new u(this));s(this,"$localState",new m(this));s(this,"$styles",new g(this));s(this,"template");s(this,"onRender");s(this,"beforeMount");s(this,"onMount");s(this,"onDispose");this.attachShadow({mode:"open"})}get root(){return this.shadowRoot}get props(){return this.$props.data}get styles(){return this.$styles}connectedCallback(){var t;this.$styles.initialize(),this.$props.initialize(),this.$localState.initialize(),(t=this.beforeMount)==null||t.call(this),this.render(n.RenderTrigger.ON_MOUNT,!0)}disconnectedCallback(){var t;c.activeRenderers.delete(this.$renderer),this.unsubscribeFromSignals(),(t=this.onDispose)==null||t.call(this)}render(t,i=!1){this.$renderer.schedule(t,i)}unsubscribeFromSignals(){for(const t of this.constructor.$signals)t.unsubscribe(this)}}exports.RenderTrigger=n.RenderTrigger;exports.html=n.html;exports.Component=R;
1
+ "use strict";var a=Object.defineProperty;var d=(s,e,t)=>e in s?a(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var r=(s,e,t)=>d(s,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./types-D5TcFW7H.js"),l=require("@neuralfog/elemix-renderer"),n=require("./renderers-CTogHRY2.js"),h=require("./reactive.js"),p=require("./app.js");class u{constructor(e){r(this,"locked",!1);r(this,"scheduledRenderTriggers",new Set);this.component=e}schedule(e,t=!1){this.component.template()&&(e&&this.scheduledRenderTriggers.add(e),this.locked||(this.locked=!0,n.activeRenderers.add(this),setTimeout(()=>{this.render(Array.from(this.scheduledRenderTriggers)),this.scheduledRenderTriggers.clear(),this.locked=!1,n.activeRenderers.delete(this),t&&this.component.onMount()},0)))}render(e){l.render(this.component.template(),this.component.root),this.component.onRender(e)}}class g{constructor(e){this.component=e}initialize(){const e=this.component.constructor.prototype.stateProperties;if(e)for(const[t,i]of e){const c=this.component;c[t]=new h.Reactive(c[t],i).subscribe(this.component).value}}}class m{constructor(e){r(this,"data",{});this.component=e}initialize(){this.data=new h.Reactive(this.data,o.RenderTrigger.PROPS).subscribe(this.component).value}setReactive(e,t){this.data[e]=t}set(e,t){if(typeof t=="object"&&t!==null){this.setReactive(e,t);return}const i=this.data[e];if(typeof t=="function"){this.data[e]||this.setReactive(e,t);return}i!==t&&this.setReactive(e,t)}}class f{constructor(e){r(this,"styles");this.component=e,this.styles=this.component.constructor.$styles}initialize(){if(this.component.shadowRoot&&this.styles.length){const e=new CSSStyleSheet;e.replaceSync(this.styles.join(" "));const t=p.App.config.baseStyles||[];this.component.shadowRoot.adoptedStyleSheets=[...t,e]}}}class R extends HTMLElement{constructor(){super();r(this,"$props",new m(this));r(this,"$renderer",new u(this));r(this,"$localState",new g(this));r(this,"$styles",new f(this));this.attachShadow({mode:"open"})}get root(){return this.shadowRoot}get props(){return this.$props.data}get styles(){return this.$styles}connectedCallback(){this.$styles.initialize(),this.$props.initialize(),this.$localState.initialize(),this.beforeMount(),this.render(o.RenderTrigger.ON_MOUNT,!0)}disconnectedCallback(){n.activeRenderers.delete(this.$renderer),this.unsubscribeFromSignals(),this.onDispose()}template(){}onRender(t){}beforeMount(){}onMount(){}onDispose(){}render(t,i=!1){this.$renderer.schedule(t,i)}unsubscribeFromSignals(){for(const t of this.constructor.$signals)t.unsubscribe(this)}}exports.RenderTrigger=o.RenderTrigger;exports.html=o.html;exports.Component=R;
@@ -11,11 +11,11 @@ export declare class Component<ComponentProps = unknown> extends HTMLElement {
11
11
  constructor();
12
12
  connectedCallback(): void;
13
13
  disconnectedCallback(): void;
14
- template?: () => Template;
15
- onRender?: (renderTriggers?: RenderTriggerType[]) => void;
16
- beforeMount?: () => void;
17
- onMount?: () => void;
18
- onDispose?: () => void;
14
+ template(): Template;
15
+ onRender(renderTriggers?: RenderTriggerType[]): void;
16
+ beforeMount(): void;
17
+ onMount(): void;
18
+ onDispose(): void;
19
19
  render(renderTrigger?: RenderTriggerType, isConnectedCallback?: boolean): void;
20
20
  private unsubscribeFromSignals;
21
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralfog/elemix",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "license": "MIT",
5
5
  "author": "brownhounds",
6
6
  "main": "dist/index.js",