@praxisui/rich-content 10.0.0-rc.29 → 10.0.0-rc.30

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-16T14:27:38.517Z",
3
+ "generatedAt": "2026-10-16T15:16:17.774Z",
4
4
  "packageName": "@praxisui/rich-content",
5
- "packageVersion": "10.0.0-rc.29",
5
+ "packageVersion": "10.0.0-rc.30",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 1,
@@ -968,8 +968,8 @@ function validateRuleExpression(value, path, issues, required = false) {
968
968
  }
969
969
  return;
970
970
  }
971
- if (!isRecord(value) && !Array.isArray(value)) {
972
- addIssue(issues, path, 'editor.validation.ruleExpression', 'Rules must use Json Logic objects or arrays.');
971
+ if (typeof value !== 'boolean' && !isRecord(value) && !Array.isArray(value)) {
972
+ addIssue(issues, path, 'editor.validation.ruleExpression', 'Rules must use Json Logic objects, arrays, or boolean literals.');
973
973
  }
974
974
  }
975
975
  function validateStyleObject(value, path, issues, required = false) {
@@ -1392,10 +1392,14 @@ class PraxisRichContent {
1392
1392
  if (!this.supportsRequiredCapabilities(node)) {
1393
1393
  return false;
1394
1394
  }
1395
- if (node.visibleWhen && !this.evaluateRule(node.visibleWhen, false)) {
1395
+ if (node.visibleWhen !== undefined &&
1396
+ node.visibleWhen !== null &&
1397
+ !this.evaluateRule(node.visibleWhen, false)) {
1396
1398
  return false;
1397
1399
  }
1398
- if (node.loadWhen && !this.evaluateRule(node.loadWhen, false)) {
1400
+ if (node.loadWhen !== undefined &&
1401
+ node.loadWhen !== null &&
1402
+ !this.evaluateRule(node.loadWhen, false)) {
1399
1403
  return false;
1400
1404
  }
1401
1405
  return true;
@@ -1535,7 +1539,7 @@ class PraxisRichContent {
1535
1539
  }
1536
1540
  const minWidth = node.minColumnWidth?.trim() || '280px';
1537
1541
  const mode = node.columns === 'auto-fill' ? 'auto-fill' : 'auto-fit';
1538
- return `repeat(${mode}, minmax(${minWidth}, 1fr))`;
1542
+ return `repeat(${mode}, minmax(min(${minWidth}, 100%), 1fr))`;
1539
1543
  }
1540
1544
  resolveComposeAlignItems(node) {
1541
1545
  if (node.alignItems) {
@@ -2822,10 +2826,17 @@ class PraxisRichContent {
2822
2826
  }
2823
2827
  isTabsItemVisible(item) {
2824
2828
  return (this.supportsItemRequiredCapabilities(item) &&
2825
- (!item.visibleWhen || this.evaluateRule(item.visibleWhen, false)) &&
2826
- (!item.loadWhen || this.evaluateRule(item.loadWhen, false)));
2829
+ (item.visibleWhen === undefined ||
2830
+ item.visibleWhen === null ||
2831
+ this.evaluateRule(item.visibleWhen, false)) &&
2832
+ (item.loadWhen === undefined ||
2833
+ item.loadWhen === null ||
2834
+ this.evaluateRule(item.loadWhen, false)));
2827
2835
  }
2828
2836
  evaluateRule(expression, fallback) {
2837
+ if (typeof expression === 'boolean') {
2838
+ return expression;
2839
+ }
2829
2840
  try {
2830
2841
  return !!this.jsonLogic.evaluate(expression, this.buildEvaluationContext());
2831
2842
  }
@@ -8353,8 +8364,8 @@ function validateRuleExpression(value, path, issues, required = false) {
8353
8364
  }
8354
8365
  return;
8355
8366
  }
8356
- if (!isRecord(value) && !Array.isArray(value)) {
8357
- addIssue(issues, path, 'editor.validation.ruleExpression', 'Rules must use Json Logic objects or arrays.');
8367
+ if (typeof value !== 'boolean' && !isRecord(value) && !Array.isArray(value)) {
8368
+ addIssue(issues, path, 'editor.validation.ruleExpression', 'Rules must use Json Logic objects, arrays, or boolean literals.');
8358
8369
  }
8359
8370
  }
8360
8371
  function validateStyleObject(value, path, issues, required = false) {
@@ -10761,7 +10772,7 @@ class PraxisRichContentConfigEditor {
10761
10772
  if (field === 'bindings') {
10762
10773
  return isPlainRecord(value);
10763
10774
  }
10764
- return value === null || isPlainRecord(value);
10775
+ return (typeof value === 'boolean' || value === null || isPlainRecord(value));
10765
10776
  }
10766
10777
  getAdvancedJsonFieldShapeError(field) {
10767
10778
  if (field === 'classWhen' || field === 'styleWhen') {
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@praxisui/rich-content",
3
- "version": "10.0.0-rc.29",
3
+ "version": "10.0.0-rc.30",
4
4
  "description": "Rich content rendering and authoring primitives for Praxis UI surfaces, including semantic blocks and page-builder integration.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
8
  "@angular/material": "^21.0.0",
9
- "@praxisui/core": "^10.0.0-rc.29",
9
+ "@praxisui/core": "^10.0.0-rc.30",
10
10
  "@angular/forms": "^21.0.0",
11
11
  "rxjs": "~7.8.0"
12
12
  },