@praxisui/page-builder 10.0.0-rc.20 → 10.0.0-rc.21
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.
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-10-
|
|
3
|
+
"generatedAt": "2026-10-15T04:35:19.773Z",
|
|
4
4
|
"packageName": "@praxisui/page-builder",
|
|
5
|
-
"packageVersion": "10.0.0-rc.
|
|
5
|
+
"packageVersion": "10.0.0-rc.21",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 1,
|
|
@@ -14257,18 +14257,26 @@ class DynamicPageConfigEditorComponent {
|
|
|
14257
14257
|
}, 50);
|
|
14258
14258
|
}
|
|
14259
14259
|
switchBlockedWidgetsToAutoHeight() {
|
|
14260
|
+
this.refreshPanelState();
|
|
14260
14261
|
const preserved = [...this.previousAdjustableHeights()];
|
|
14261
|
-
|
|
14262
|
-
|
|
14262
|
+
const processed = new Set();
|
|
14263
|
+
// Validation reports one blocking target at a time. Revalidate each change
|
|
14264
|
+
// so another affected height can surface without guessing from a global error.
|
|
14265
|
+
while (processed.size < this.canvasLimits.targets.length) {
|
|
14266
|
+
const index = this.canvasLimits.targets.findIndex((_, candidateIndex) => {
|
|
14267
|
+
if (processed.has(candidateIndex))
|
|
14268
|
+
return false;
|
|
14269
|
+
const controls = this.canvasLimits.form.at(candidateIndex)?.controls;
|
|
14270
|
+
return !!controls && controls.heightMode.value !== 'auto'
|
|
14271
|
+
&& (!!controls.heightPx.getError('canvasLimit') || !!controls.offsetTopPx.getError('canvasLimit'));
|
|
14272
|
+
});
|
|
14273
|
+
if (index < 0)
|
|
14274
|
+
break;
|
|
14275
|
+
processed.add(index);
|
|
14276
|
+
const target = this.canvasLimits.targets[index];
|
|
14263
14277
|
const group = this.canvasLimits.form.at(index);
|
|
14264
|
-
if (!group)
|
|
14265
|
-
continue;
|
|
14266
|
-
const hasHeightError = !!group.controls.heightPx.getError('canvasLimit') || !!group.controls.offsetTopPx.getError('canvasLimit');
|
|
14267
|
-
const isFixedWithActiveError = !!this.limitsError() && group.controls.heightMode.value === 'fixed';
|
|
14268
|
-
if (!hasHeightError && !isFixedWithActiveError)
|
|
14269
|
-
continue;
|
|
14270
14278
|
const currentHeight = group.controls.heightPx.value;
|
|
14271
|
-
if (typeof currentHeight === 'number') {
|
|
14279
|
+
if (typeof currentHeight === 'number' && Number.isFinite(currentHeight)) {
|
|
14272
14280
|
const scopeLabel = target.scope === 'base' ? this.tx('editor.limits.base', 'Base layout') : this.deviceLabels[target.scope];
|
|
14273
14281
|
const existingIndex = preserved.findIndex(item => item.key === target.key && item.scope === target.scope);
|
|
14274
14282
|
const entry = { key: target.key, title: target.title, scope: target.scope, scopeLabel, heightPx: currentHeight };
|
|
@@ -14278,12 +14286,10 @@ class DynamicPageConfigEditorComponent {
|
|
|
14278
14286
|
preserved.push(entry);
|
|
14279
14287
|
}
|
|
14280
14288
|
group.patchValue({ heightMode: 'auto', heightPx: null, offsetTopPx: null }, { emitEvent: false });
|
|
14281
|
-
changed = true;
|
|
14282
|
-
}
|
|
14283
|
-
if (changed) {
|
|
14284
|
-
this.previousAdjustableHeights.set(preserved);
|
|
14285
14289
|
this.refreshPanelState();
|
|
14286
14290
|
}
|
|
14291
|
+
if (processed.size)
|
|
14292
|
+
this.previousAdjustableHeights.set(preserved);
|
|
14287
14293
|
}
|
|
14288
14294
|
get selectedLayoutPresetLabel() { return this.tx('editor.summary.layout', 'Layout: {{label}}').replace('{{label}}', this.lookupPresetLabel(this.layoutPresetEntries, this.layoutPresetControl.value, this.tx('editor.fallback.manual', 'manual'))); }
|
|
14289
14295
|
get selectedThemePresetLabel() { return this.tx('editor.summary.theme', 'Theme: {{label}}').replace('{{label}}', this.lookupPresetLabel(this.themePresetEntries, this.themePresetControl.value, this.tx('editor.layout.layoutDefault', 'Layout default'))); }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/page-builder",
|
|
3
|
-
"version": "10.0.0-rc.
|
|
3
|
+
"version": "10.0.0-rc.21",
|
|
4
4
|
"description": "Page and widget builder utilities for Praxis UI (grid, dynamic widgets, editors).",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"@angular/forms": "^21.0.0",
|
|
9
9
|
"@angular/cdk": "^21.0.0",
|
|
10
10
|
"@angular/material": "^21.0.0",
|
|
11
|
-
"@praxisui/ai": "^10.0.0-rc.
|
|
12
|
-
"@praxisui/core": "^10.0.0-rc.
|
|
13
|
-
"@praxisui/settings-panel": "^10.0.0-rc.
|
|
11
|
+
"@praxisui/ai": "^10.0.0-rc.21",
|
|
12
|
+
"@praxisui/core": "^10.0.0-rc.21",
|
|
13
|
+
"@praxisui/settings-panel": "^10.0.0-rc.21",
|
|
14
14
|
"rxjs": "~7.8.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|