@servlyadmin/runtime-core 0.1.26 → 0.1.28

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 CHANGED
@@ -19524,14 +19524,8 @@ function resolveFunctionBinding(binding, context) {
19524
19524
  }
19525
19525
  function attachEventHandlers(domElement, element, eventHandlers, context, elementState, isRootElement = false, state) {
19526
19526
  const elementId = element.i;
19527
- const isDebug = true;
19528
- if (isDebug) {
19529
- console.log(`[Servly:attachEventHandlers] Element: ${elementId}, isRoot: ${isRootElement}, renderStackSize: ${state?.renderingStack?.size}`);
19530
- }
19531
- if (eventHandlers && eventHandlers[elementId]) {
19532
- const handlers = eventHandlers[elementId];
19533
- if (isDebug) console.log(`[Servly:attachEventHandlers] Explicit handlers for ${elementId}:`, Object.keys(handlers));
19534
- for (const [eventName, handler] of Object.entries(handlers)) {
19527
+ if (eventHandlers?.[elementId]) {
19528
+ for (const [eventName, handler] of Object.entries(eventHandlers[elementId])) {
19535
19529
  const domEventName = eventName.replace(/^on/, "").toLowerCase();
19536
19530
  elementState.eventListeners.set(domEventName, handler);
19537
19531
  domElement.addEventListener(domEventName, handler);
@@ -19540,9 +19534,8 @@ function attachEventHandlers(domElement, element, eventHandlers, context, elemen
19540
19534
  const config = element.configuration || {};
19541
19535
  for (const eventPropName of Object.keys(EVENT_HANDLERS)) {
19542
19536
  const handlerConfig = config[eventPropName];
19543
- if (handlerConfig && handlerConfig.plugins && handlerConfig.plugins.length > 0) {
19537
+ if (handlerConfig?.plugins?.length) {
19544
19538
  const domEventName = toDomEventName(eventPropName);
19545
- if (isDebug) console.log(`[Servly:attachEventHandlers] Servly plugin handler ${eventPropName} on ${elementId}`);
19546
19539
  if (!elementState.eventListeners.has(domEventName)) {
19547
19540
  if (state?.eventSystem) {
19548
19541
  const handler = state.eventSystem.createHandler(elementId, handlerConfig, context);
@@ -19552,7 +19545,6 @@ function attachEventHandlers(domElement, element, eventHandlers, context, elemen
19552
19545
  const handler = (e) => {
19553
19546
  if (handlerConfig.preventDefault) e.preventDefault();
19554
19547
  if (handlerConfig.stopPropagation) e.stopPropagation();
19555
- console.log(`[Servly] Event ${eventPropName} triggered on ${elementId}`, handlerConfig.plugins);
19556
19548
  };
19557
19549
  elementState.eventListeners.set(domEventName, handler);
19558
19550
  domElement.addEventListener(domEventName, handler);
@@ -19565,33 +19557,35 @@ function attachEventHandlers(domElement, element, eventHandlers, context, elemen
19565
19557
  for (const [propName, binding] of Object.entries(bindings)) {
19566
19558
  if (propName.startsWith("on") && propName.length > 2) {
19567
19559
  const handler = resolveFunctionBinding(binding, context);
19568
- if (handler) {
19560
+ if (handler && !elementState.eventListeners.has(propName.slice(2).toLowerCase())) {
19569
19561
  const domEventName = propName.slice(2).toLowerCase();
19570
- if (isDebug) console.log(`[Servly:attachEventHandlers] Binding handler ${propName} on ${elementId}`);
19571
- if (!elementState.eventListeners.has(domEventName)) {
19572
- elementState.eventListeners.set(domEventName, handler);
19573
- domElement.addEventListener(domEventName, handler);
19574
- }
19562
+ elementState.eventListeners.set(domEventName, handler);
19563
+ domElement.addEventListener(domEventName, handler);
19575
19564
  }
19576
19565
  }
19577
19566
  }
19578
19567
  }
19579
19568
  if (isRootElement && context.props && state?.renderingStack?.size === 0) {
19580
- const contextFunctionProps = Object.entries(context.props).filter(([k, v]) => k.startsWith("on") && typeof v === "function");
19581
- if (isDebug && contextFunctionProps.length > 0) {
19582
- console.log(`[Servly:attachEventHandlers] ROOT element ${elementId} attaching context props:`, contextFunctionProps.map(([k]) => k));
19583
- }
19584
- for (const [propName, value] of contextFunctionProps) {
19585
- const domEventName = propName.slice(2).toLowerCase();
19586
- if (!elementState.eventListeners.has(domEventName)) {
19587
- const handler = value;
19588
- elementState.eventListeners.set(domEventName, handler);
19589
- domElement.addEventListener(domEventName, handler);
19590
- if (isDebug) console.log(`[Servly:attachEventHandlers] Attached ${propName} to root element ${elementId}`);
19569
+ for (const [propName, value] of Object.entries(context.props)) {
19570
+ if (propName.startsWith("on") && typeof value === "function") {
19571
+ const domEventName = propName.slice(2).toLowerCase();
19572
+ if (!elementState.eventListeners.has(domEventName)) {
19573
+ elementState.eventListeners.set(domEventName, value);
19574
+ domElement.addEventListener(domEventName, value);
19575
+ }
19591
19576
  }
19592
19577
  }
19593
- } else if (isDebug && isRootElement) {
19594
- console.log(`[Servly:attachEventHandlers] ROOT element ${elementId} NOT attaching context props (renderStackSize=${state?.renderingStack?.size})`);
19578
+ }
19579
+ if (!isRootElement && elementState.eventListeners.size > 0) {
19580
+ for (const [eventName, originalHandler] of elementState.eventListeners) {
19581
+ const wrappedHandler = (e) => {
19582
+ e.stopPropagation();
19583
+ return originalHandler(e);
19584
+ };
19585
+ domElement.removeEventListener(eventName, originalHandler);
19586
+ domElement.addEventListener(eventName, wrappedHandler);
19587
+ elementState.eventListeners.set(eventName, wrappedHandler);
19588
+ }
19595
19589
  }
19596
19590
  }
19597
19591
  function detachEventHandlers(elementState) {
@@ -19770,9 +19764,6 @@ function getValueByPath2(obj, path) {
19770
19764
  return current;
19771
19765
  }
19772
19766
  function renderElement(element, tree, context, eventHandlers, elementStates, state, isRootElement = false) {
19773
- if (element.isComponentView) {
19774
- console.log("[Servly] Element has isComponentView=true:", element.i, "componentId:", element.componentId);
19775
- }
19776
19767
  if (element.isComponentView) {
19777
19768
  return renderComponentViewElement(element, tree, context, eventHandlers, elementStates, state, isRootElement);
19778
19769
  }
@@ -19784,8 +19775,11 @@ function renderElement(element, tree, context, eventHandlers, elementStates, sta
19784
19775
  }
19785
19776
  const elementBindings = element.configuration?.bindings?.inputs;
19786
19777
  const resolvedInputs = elementBindings ? resolveComponentViewInputs(elementBindings, context, context.props) : {};
19778
+ const nonFunctionInputs = Object.fromEntries(
19779
+ Object.entries(resolvedInputs).filter(([, v]) => typeof v !== "function")
19780
+ );
19787
19781
  const elementContext = {
19788
- props: { ...context.props, ...resolvedInputs },
19782
+ props: { ...context.props, ...nonFunctionInputs },
19789
19783
  state: context.state,
19790
19784
  context: context.context
19791
19785
  };
@@ -19841,45 +19835,24 @@ function renderIconElement(element, context, eventHandlers, elementStates, state
19841
19835
  return wrapper;
19842
19836
  }
19843
19837
  function renderComponentViewElement(element, tree, context, eventHandlers, elementStates, state, isRootElement) {
19844
- console.log("[Servly] renderComponentViewElement called:", {
19845
- elementId: element.i,
19846
- componentId: element.componentId,
19847
- isComponentView: element.isComponentView,
19848
- hasViews: !!state.views,
19849
- viewsKeys: state.views ? Array.from(state.views.keys()).slice(0, 5) : []
19850
- });
19851
19838
  const componentViewId = `${element.componentId}-${element.i}`;
19852
19839
  if (globalRenderingStack.has(componentViewId)) {
19853
19840
  const placeholder = document.createElement("div");
19854
19841
  placeholder.className = "border-2 border-red-500 border-dashed p-4 bg-red-50";
19855
- placeholder.innerHTML = `<p class="text-red-600 text-sm">Recursive component: ${element.componentId}</p>`;
19842
+ placeholder.innerHTML = `<p class="text-red-600 text-sm">\u{1F504} Recursive: ${element.componentId}</p>`;
19856
19843
  return placeholder;
19857
19844
  }
19858
19845
  let viewLayout;
19859
19846
  if (state.views?.has(element.componentId)) {
19860
- const view = state.views.get(element.componentId);
19861
- viewLayout = view?.layout;
19862
- console.log("[Servly] Found view in views map:", element.componentId, "layout length:", viewLayout?.length);
19863
- }
19864
- if (!viewLayout && state.componentRegistry) {
19847
+ viewLayout = state.views.get(element.componentId)?.layout;
19848
+ } else if (state.componentRegistry) {
19865
19849
  const component = state.componentRegistry.get(element.componentId);
19866
- if (component) {
19867
- viewLayout = component.layout;
19868
- console.log("[Servly] Found view in registry:", element.componentId);
19869
- }
19870
- }
19871
- if (!viewLayout && state.views === void 0 && state.viewsArray) {
19872
- const viewsArray = state.viewsArray;
19873
- const found = viewsArray.find((v) => v.id === element.componentId);
19874
- if (found) {
19875
- viewLayout = found.layout;
19876
- }
19850
+ if (component) viewLayout = component.layout;
19877
19851
  }
19878
19852
  if (!viewLayout) {
19879
- console.warn(`[Servly] Component not found: ${element.componentId}. Element ID: ${element.i}. Available in views: ${state.views ? Array.from(state.views.keys()).join(", ") : "none"}. Registry has: ${state.componentRegistry?.has(element.componentId) ? "yes" : "no"}`);
19880
19853
  const placeholder = document.createElement("div");
19881
19854
  placeholder.className = "border-2 border-yellow-500 border-dashed p-4 bg-yellow-50";
19882
- placeholder.innerHTML = `<p class="text-yellow-600 text-sm">Component not found: ${element.componentId}</p>`;
19855
+ placeholder.innerHTML = `<p class="text-yellow-600 text-sm">\u26A0\uFE0F Not found: ${element.componentId}</p>`;
19883
19856
  return placeholder;
19884
19857
  }
19885
19858
  const bindings = element.configuration?.bindings?.inputs || {};
@@ -19896,11 +19869,6 @@ function renderComponentViewElement(element, tree, context, eventHandlers, eleme
19896
19869
  wrapper.className = "contents";
19897
19870
  const viewTree = buildTree(viewLayout);
19898
19871
  const viewRoots = viewLayout.filter((el) => !el.parent || el.parent === null);
19899
- console.log("[Servly] viewRoots found:", {
19900
- count: viewRoots.length,
19901
- rootIds: viewRoots.map((r) => r.i),
19902
- allElementIds: viewLayout.map((el) => ({ id: el.i, parent: el.parent }))
19903
- });
19904
19872
  const nestedState = {
19905
19873
  ...state,
19906
19874
  elements: viewLayout,
@@ -19911,7 +19879,6 @@ function renderComponentViewElement(element, tree, context, eventHandlers, eleme
19911
19879
  };
19912
19880
  nestedState.renderingStack.add(componentViewId);
19913
19881
  for (const root of viewRoots) {
19914
- console.log("[Servly] Rendering root element:", root.i, "componentId:", root.componentId, "type:", root.type);
19915
19882
  const rootElement = renderElement(
19916
19883
  root,
19917
19884
  viewTree,
@@ -19921,7 +19888,6 @@ function renderComponentViewElement(element, tree, context, eventHandlers, eleme
19921
19888
  nestedState,
19922
19889
  true
19923
19890
  );
19924
- console.log("[Servly] Root element rendered:", rootElement?.tagName, "innerHTML length:", rootElement?.innerHTML?.length);
19925
19891
  wrapper.appendChild(rootElement);
19926
19892
  }
19927
19893
  const elementState = {
@@ -19933,12 +19899,6 @@ function renderComponentViewElement(element, tree, context, eventHandlers, eleme
19933
19899
  eventListeners: /* @__PURE__ */ new Map()
19934
19900
  };
19935
19901
  elementStates.set(element.i, elementState);
19936
- console.log("[Servly] Returning wrapper:", {
19937
- id: wrapper.id,
19938
- className: wrapper.className,
19939
- childCount: wrapper.children.length,
19940
- innerHTML: wrapper.innerHTML.substring(0, 200)
19941
- });
19942
19902
  return wrapper;
19943
19903
  } finally {
19944
19904
  globalRenderingStack.delete(componentViewId);
package/dist/index.js CHANGED
@@ -2728,14 +2728,8 @@ function resolveFunctionBinding(binding, context) {
2728
2728
  }
2729
2729
  function attachEventHandlers(domElement, element, eventHandlers, context, elementState, isRootElement = false, state) {
2730
2730
  const elementId = element.i;
2731
- const isDebug = true;
2732
- if (isDebug) {
2733
- console.log(`[Servly:attachEventHandlers] Element: ${elementId}, isRoot: ${isRootElement}, renderStackSize: ${state?.renderingStack?.size}`);
2734
- }
2735
- if (eventHandlers && eventHandlers[elementId]) {
2736
- const handlers = eventHandlers[elementId];
2737
- if (isDebug) console.log(`[Servly:attachEventHandlers] Explicit handlers for ${elementId}:`, Object.keys(handlers));
2738
- for (const [eventName, handler] of Object.entries(handlers)) {
2731
+ if (eventHandlers?.[elementId]) {
2732
+ for (const [eventName, handler] of Object.entries(eventHandlers[elementId])) {
2739
2733
  const domEventName = eventName.replace(/^on/, "").toLowerCase();
2740
2734
  elementState.eventListeners.set(domEventName, handler);
2741
2735
  domElement.addEventListener(domEventName, handler);
@@ -2744,9 +2738,8 @@ function attachEventHandlers(domElement, element, eventHandlers, context, elemen
2744
2738
  const config = element.configuration || {};
2745
2739
  for (const eventPropName of Object.keys(EVENT_HANDLERS)) {
2746
2740
  const handlerConfig = config[eventPropName];
2747
- if (handlerConfig && handlerConfig.plugins && handlerConfig.plugins.length > 0) {
2741
+ if (handlerConfig?.plugins?.length) {
2748
2742
  const domEventName = toDomEventName(eventPropName);
2749
- if (isDebug) console.log(`[Servly:attachEventHandlers] Servly plugin handler ${eventPropName} on ${elementId}`);
2750
2743
  if (!elementState.eventListeners.has(domEventName)) {
2751
2744
  if (state?.eventSystem) {
2752
2745
  const handler = state.eventSystem.createHandler(elementId, handlerConfig, context);
@@ -2756,7 +2749,6 @@ function attachEventHandlers(domElement, element, eventHandlers, context, elemen
2756
2749
  const handler = (e) => {
2757
2750
  if (handlerConfig.preventDefault) e.preventDefault();
2758
2751
  if (handlerConfig.stopPropagation) e.stopPropagation();
2759
- console.log(`[Servly] Event ${eventPropName} triggered on ${elementId}`, handlerConfig.plugins);
2760
2752
  };
2761
2753
  elementState.eventListeners.set(domEventName, handler);
2762
2754
  domElement.addEventListener(domEventName, handler);
@@ -2769,33 +2761,35 @@ function attachEventHandlers(domElement, element, eventHandlers, context, elemen
2769
2761
  for (const [propName, binding] of Object.entries(bindings)) {
2770
2762
  if (propName.startsWith("on") && propName.length > 2) {
2771
2763
  const handler = resolveFunctionBinding(binding, context);
2772
- if (handler) {
2764
+ if (handler && !elementState.eventListeners.has(propName.slice(2).toLowerCase())) {
2773
2765
  const domEventName = propName.slice(2).toLowerCase();
2774
- if (isDebug) console.log(`[Servly:attachEventHandlers] Binding handler ${propName} on ${elementId}`);
2775
- if (!elementState.eventListeners.has(domEventName)) {
2776
- elementState.eventListeners.set(domEventName, handler);
2777
- domElement.addEventListener(domEventName, handler);
2778
- }
2766
+ elementState.eventListeners.set(domEventName, handler);
2767
+ domElement.addEventListener(domEventName, handler);
2779
2768
  }
2780
2769
  }
2781
2770
  }
2782
2771
  }
2783
2772
  if (isRootElement && context.props && state?.renderingStack?.size === 0) {
2784
- const contextFunctionProps = Object.entries(context.props).filter(([k, v]) => k.startsWith("on") && typeof v === "function");
2785
- if (isDebug && contextFunctionProps.length > 0) {
2786
- console.log(`[Servly:attachEventHandlers] ROOT element ${elementId} attaching context props:`, contextFunctionProps.map(([k]) => k));
2787
- }
2788
- for (const [propName, value] of contextFunctionProps) {
2789
- const domEventName = propName.slice(2).toLowerCase();
2790
- if (!elementState.eventListeners.has(domEventName)) {
2791
- const handler = value;
2792
- elementState.eventListeners.set(domEventName, handler);
2793
- domElement.addEventListener(domEventName, handler);
2794
- if (isDebug) console.log(`[Servly:attachEventHandlers] Attached ${propName} to root element ${elementId}`);
2773
+ for (const [propName, value] of Object.entries(context.props)) {
2774
+ if (propName.startsWith("on") && typeof value === "function") {
2775
+ const domEventName = propName.slice(2).toLowerCase();
2776
+ if (!elementState.eventListeners.has(domEventName)) {
2777
+ elementState.eventListeners.set(domEventName, value);
2778
+ domElement.addEventListener(domEventName, value);
2779
+ }
2795
2780
  }
2796
2781
  }
2797
- } else if (isDebug && isRootElement) {
2798
- console.log(`[Servly:attachEventHandlers] ROOT element ${elementId} NOT attaching context props (renderStackSize=${state?.renderingStack?.size})`);
2782
+ }
2783
+ if (!isRootElement && elementState.eventListeners.size > 0) {
2784
+ for (const [eventName, originalHandler] of elementState.eventListeners) {
2785
+ const wrappedHandler = (e) => {
2786
+ e.stopPropagation();
2787
+ return originalHandler(e);
2788
+ };
2789
+ domElement.removeEventListener(eventName, originalHandler);
2790
+ domElement.addEventListener(eventName, wrappedHandler);
2791
+ elementState.eventListeners.set(eventName, wrappedHandler);
2792
+ }
2799
2793
  }
2800
2794
  }
2801
2795
  function detachEventHandlers(elementState) {
@@ -2974,9 +2968,6 @@ function getValueByPath2(obj, path) {
2974
2968
  return current;
2975
2969
  }
2976
2970
  function renderElement(element, tree, context, eventHandlers, elementStates, state, isRootElement = false) {
2977
- if (element.isComponentView) {
2978
- console.log("[Servly] Element has isComponentView=true:", element.i, "componentId:", element.componentId);
2979
- }
2980
2971
  if (element.isComponentView) {
2981
2972
  return renderComponentViewElement(element, tree, context, eventHandlers, elementStates, state, isRootElement);
2982
2973
  }
@@ -2988,8 +2979,11 @@ function renderElement(element, tree, context, eventHandlers, elementStates, sta
2988
2979
  }
2989
2980
  const elementBindings = element.configuration?.bindings?.inputs;
2990
2981
  const resolvedInputs = elementBindings ? resolveComponentViewInputs(elementBindings, context, context.props) : {};
2982
+ const nonFunctionInputs = Object.fromEntries(
2983
+ Object.entries(resolvedInputs).filter(([, v]) => typeof v !== "function")
2984
+ );
2991
2985
  const elementContext = {
2992
- props: { ...context.props, ...resolvedInputs },
2986
+ props: { ...context.props, ...nonFunctionInputs },
2993
2987
  state: context.state,
2994
2988
  context: context.context
2995
2989
  };
@@ -3045,45 +3039,24 @@ function renderIconElement(element, context, eventHandlers, elementStates, state
3045
3039
  return wrapper;
3046
3040
  }
3047
3041
  function renderComponentViewElement(element, tree, context, eventHandlers, elementStates, state, isRootElement) {
3048
- console.log("[Servly] renderComponentViewElement called:", {
3049
- elementId: element.i,
3050
- componentId: element.componentId,
3051
- isComponentView: element.isComponentView,
3052
- hasViews: !!state.views,
3053
- viewsKeys: state.views ? Array.from(state.views.keys()).slice(0, 5) : []
3054
- });
3055
3042
  const componentViewId = `${element.componentId}-${element.i}`;
3056
3043
  if (globalRenderingStack.has(componentViewId)) {
3057
3044
  const placeholder = document.createElement("div");
3058
3045
  placeholder.className = "border-2 border-red-500 border-dashed p-4 bg-red-50";
3059
- placeholder.innerHTML = `<p class="text-red-600 text-sm">Recursive component: ${element.componentId}</p>`;
3046
+ placeholder.innerHTML = `<p class="text-red-600 text-sm">\u{1F504} Recursive: ${element.componentId}</p>`;
3060
3047
  return placeholder;
3061
3048
  }
3062
3049
  let viewLayout;
3063
3050
  if (state.views?.has(element.componentId)) {
3064
- const view = state.views.get(element.componentId);
3065
- viewLayout = view?.layout;
3066
- console.log("[Servly] Found view in views map:", element.componentId, "layout length:", viewLayout?.length);
3067
- }
3068
- if (!viewLayout && state.componentRegistry) {
3051
+ viewLayout = state.views.get(element.componentId)?.layout;
3052
+ } else if (state.componentRegistry) {
3069
3053
  const component = state.componentRegistry.get(element.componentId);
3070
- if (component) {
3071
- viewLayout = component.layout;
3072
- console.log("[Servly] Found view in registry:", element.componentId);
3073
- }
3074
- }
3075
- if (!viewLayout && state.views === void 0 && state.viewsArray) {
3076
- const viewsArray = state.viewsArray;
3077
- const found = viewsArray.find((v) => v.id === element.componentId);
3078
- if (found) {
3079
- viewLayout = found.layout;
3080
- }
3054
+ if (component) viewLayout = component.layout;
3081
3055
  }
3082
3056
  if (!viewLayout) {
3083
- console.warn(`[Servly] Component not found: ${element.componentId}. Element ID: ${element.i}. Available in views: ${state.views ? Array.from(state.views.keys()).join(", ") : "none"}. Registry has: ${state.componentRegistry?.has(element.componentId) ? "yes" : "no"}`);
3084
3057
  const placeholder = document.createElement("div");
3085
3058
  placeholder.className = "border-2 border-yellow-500 border-dashed p-4 bg-yellow-50";
3086
- placeholder.innerHTML = `<p class="text-yellow-600 text-sm">Component not found: ${element.componentId}</p>`;
3059
+ placeholder.innerHTML = `<p class="text-yellow-600 text-sm">\u26A0\uFE0F Not found: ${element.componentId}</p>`;
3087
3060
  return placeholder;
3088
3061
  }
3089
3062
  const bindings = element.configuration?.bindings?.inputs || {};
@@ -3100,11 +3073,6 @@ function renderComponentViewElement(element, tree, context, eventHandlers, eleme
3100
3073
  wrapper.className = "contents";
3101
3074
  const viewTree = buildTree(viewLayout);
3102
3075
  const viewRoots = viewLayout.filter((el) => !el.parent || el.parent === null);
3103
- console.log("[Servly] viewRoots found:", {
3104
- count: viewRoots.length,
3105
- rootIds: viewRoots.map((r) => r.i),
3106
- allElementIds: viewLayout.map((el) => ({ id: el.i, parent: el.parent }))
3107
- });
3108
3076
  const nestedState = {
3109
3077
  ...state,
3110
3078
  elements: viewLayout,
@@ -3115,7 +3083,6 @@ function renderComponentViewElement(element, tree, context, eventHandlers, eleme
3115
3083
  };
3116
3084
  nestedState.renderingStack.add(componentViewId);
3117
3085
  for (const root of viewRoots) {
3118
- console.log("[Servly] Rendering root element:", root.i, "componentId:", root.componentId, "type:", root.type);
3119
3086
  const rootElement = renderElement(
3120
3087
  root,
3121
3088
  viewTree,
@@ -3125,7 +3092,6 @@ function renderComponentViewElement(element, tree, context, eventHandlers, eleme
3125
3092
  nestedState,
3126
3093
  true
3127
3094
  );
3128
- console.log("[Servly] Root element rendered:", rootElement?.tagName, "innerHTML length:", rootElement?.innerHTML?.length);
3129
3095
  wrapper.appendChild(rootElement);
3130
3096
  }
3131
3097
  const elementState = {
@@ -3137,12 +3103,6 @@ function renderComponentViewElement(element, tree, context, eventHandlers, eleme
3137
3103
  eventListeners: /* @__PURE__ */ new Map()
3138
3104
  };
3139
3105
  elementStates.set(element.i, elementState);
3140
- console.log("[Servly] Returning wrapper:", {
3141
- id: wrapper.id,
3142
- className: wrapper.className,
3143
- childCount: wrapper.children.length,
3144
- innerHTML: wrapper.innerHTML.substring(0, 200)
3145
- });
3146
3106
  return wrapper;
3147
3107
  } finally {
3148
3108
  globalRenderingStack.delete(componentViewId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servlyadmin/runtime-core",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "description": "Framework-agnostic core renderer for Servly components",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",