@praxisui/core 9.0.22 → 9.0.23

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.
@@ -37708,6 +37708,10 @@ class DynamicWidgetPageComponent {
37708
37708
  changed: true,
37709
37709
  };
37710
37710
  }
37711
+ inputPatch = this.projectInputPatchToOwnerContract(widgets[widgetIndex], inputPatch);
37712
+ if (!inputPatch) {
37713
+ return { page, changed: false };
37714
+ }
37711
37715
  const currentInputs = this.cloneStateValues(widgets[widgetIndex].definition.inputs || {});
37712
37716
  let nextInputs = currentInputs;
37713
37717
  let patchChanged = false;
@@ -37791,6 +37795,19 @@ class DynamicWidgetPageComponent {
37791
37795
  }
37792
37796
  return { [inputName]: this.cloneStateValues(evt.payload) };
37793
37797
  }
37798
+ projectInputPatchToOwnerContract(widget, inputPatch) {
37799
+ const existingInputs = widget.definition?.inputs || {};
37800
+ const declaredInputs = new Set(this.componentMetadata
37801
+ ?.get(widget.definition?.id || '')
37802
+ ?.inputs?.map((input) => input.name.split('.')[0].trim())
37803
+ .filter(Boolean) || []);
37804
+ const projected = Object.entries(inputPatch).filter(([path]) => {
37805
+ const root = String(path || '').trim().split('.')[0];
37806
+ return !!root && (Object.prototype.hasOwnProperty.call(existingInputs, root)
37807
+ || declaredInputs.has(root));
37808
+ });
37809
+ return projected.length ? Object.fromEntries(projected) : null;
37810
+ }
37794
37811
  buildStateRuntime(state, pageContext) {
37795
37812
  return this.stateRuntime.buildRuntimeSnapshot(state, this.buildStateContext(pageContext));
37796
37813
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/core",
3
- "version": "9.0.22",
3
+ "version": "9.0.23",
4
4
  "description": "Core library for Praxis UI Workspace: types, tokens, services and utilities shared across @praxisui/* packages.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
@@ -16427,6 +16427,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
16427
16427
  private resolveWidgetInputPatchNestedPath;
16428
16428
  private extractWidgetInputPatch;
16429
16429
  private extractImplicitInputPatchFromChangeOutput;
16430
+ private projectInputPatchToOwnerContract;
16430
16431
  private buildStateRuntime;
16431
16432
  private bootstrapCompositionAdapter;
16432
16433
  private applyEditShellActions;