@vectoriox/iox-builder 4.7.0 → 4.9.0

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/index.d.ts CHANGED
@@ -386,6 +386,8 @@ interface ComponentTrait {
386
386
  inline?: boolean;
387
387
  /** When set, this trait is hidden unless the named sibling trait has one of the specified values. */
388
388
  showWhen?: TraitShowCondition;
389
+ /** OPT-IN: may hold a different value per breakpoint (`responsive[bp].inputs`). See TraitConfig. */
390
+ responsive?: boolean;
389
391
  }
390
392
  type StyleTrait = ComponentTrait;
391
393
  interface StyleTraitGroup {
@@ -427,7 +429,17 @@ declare class TraitConfig {
427
429
  default?: any;
428
430
  inline?: boolean;
429
431
  showWhen?: TraitShowCondition;
430
- constructor(name: string, label: string, type: TraitInputType, options?: string[] | TraitSelectOption[] | TraitOptionMap, defaultValue?: any, inline?: boolean, showWhen?: TraitShowCondition);
432
+ /**
433
+ * OPT-IN: this trait can hold a different value per breakpoint, stored in
434
+ * `ComponentNode.responsive[bp].inputs` and resolved by the shared `resolveInputs`.
435
+ *
436
+ * Opt-in rather than universal because most traits are not layout decisions — a slider's
437
+ * `loop` or a link's `target` has one answer at every width, and offering a breakpoint control
438
+ * on all 30 slider traits would bury the three that matter. Set it only where the value is
439
+ * genuinely a per-width layout choice (slidesPerView, limit, …).
440
+ */
441
+ responsive?: boolean;
442
+ constructor(name: string, label: string, type: TraitInputType, options?: string[] | TraitSelectOption[] | TraitOptionMap, defaultValue?: any, inline?: boolean, showWhen?: TraitShowCondition, responsive?: boolean);
431
443
  }
432
444
 
433
445
  declare class GroupStyleConfig {
@@ -1428,7 +1440,11 @@ declare enum AuditCode {
1428
1440
  FixedWidth = "fixed-width",
1429
1441
  TapTarget = "tap-target",
1430
1442
  TinyText = "tiny-text",
1431
- UnboundedImage = "unbounded-image"
1443
+ UnboundedImage = "unbounded-image",
1444
+ /** A slider showing more slides than the width can carry — each one unreadably narrow. */
1445
+ SlidesOverflow = "slides-overflow",
1446
+ /** An out-of-flow node whose box lands outside the frame, so it is unreachable at this width. */
1447
+ OffscreenAbsolute = "offscreen-absolute"
1432
1448
  }
1433
1449
  declare enum AuditSeverity {
1434
1450
  Error = "error",
@@ -1442,9 +1458,15 @@ interface AuditNode {
1442
1458
  label?: string;
1443
1459
  /** Styles RESOLVED at this breakpoint (base + every wider layer + this one). */
1444
1460
  styleProps: StyleMap;
1461
+ /** Component TRAITS resolved at this breakpoint — the per-width values a media query cannot
1462
+ * express (a slider's `slidesPerView`). Absent for nodes with no traits worth auditing. */
1463
+ inputs?: Record<string, any>;
1445
1464
  /** Laid-out size in CSS px at this width. */
1446
1465
  width: number;
1447
1466
  height: number;
1467
+ /** Laid-out position in CSS px, relative to the canvas frame. Absent when not measured. */
1468
+ left?: number;
1469
+ top?: number;
1448
1470
  }
1449
1471
  interface AuditFinding {
1450
1472
  nodeId: string;
@@ -1455,6 +1477,9 @@ interface AuditFinding {
1455
1477
  message: string;
1456
1478
  /** Props to write into this breakpoint's layer to repair it; absent when no safe auto-fix. */
1457
1479
  fix?: StyleMap;
1480
+ /** TRAIT values to write into this breakpoint's layer — some failures are not fixable with CSS.
1481
+ * Applied through `setInputOverride`, the trait twin of `setOverride`. */
1482
+ inputFix?: Record<string, any>;
1458
1483
  }
1459
1484
  /**
1460
1485
  * Audit nodes laid out at `viewportWidth`. Returns findings ordered by severity (errors first),
@@ -1636,6 +1661,8 @@ declare class BuilderComponent implements OnInit, AfterViewInit, OnChanges, OnDe
1636
1661
  * `utils/responsive-audit.util.ts`.
1637
1662
  */
1638
1663
  runAudit(): void;
1664
+ /** The node's OWN trait values — the Base layer the responsive `inputs` cascade sits on top of. */
1665
+ private baseInputMapOf;
1639
1666
  /** Apply one finding's fix into the current breakpoint's layer (or the base styles at Base). */
1640
1667
  applyAuditFix(finding: AuditFinding): void;
1641
1668
  /** Apply every fixable finding, then re-measure. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-builder",
3
- "version": "4.7.0",
3
+ "version": "4.9.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",