@praxisui/rich-content 10.0.0-rc.19 → 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.
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@praxisui/rich-content",
3
- "version": "10.0.0-rc.19",
3
+ "version": "10.0.0-rc.21",
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.19",
9
+ "@praxisui/core": "^10.0.0-rc.21",
10
10
  "@angular/forms": "^21.0.0",
11
11
  "rxjs": "~7.8.0"
12
12
  },
@@ -22,7 +22,7 @@ declare class PraxisRichContent {
22
22
  readonly context: _angular_core.InputSignal<JsonLogicDataRecord>;
23
23
  readonly hostCapabilities: _angular_core.InputSignal<RichBlockHostCapabilities>;
24
24
  readonly layout: _angular_core.InputSignal<"block" | "inline">;
25
- rootClassName: string;
25
+ rootClassName: string | null | undefined;
26
26
  nodeAction: EventEmitter<RichActionRef>;
27
27
  get safeRootClassName(): string;
28
28
  private readonly tabsSelection;
@@ -40,6 +40,7 @@ declare class PraxisRichContent {
40
40
  resolveNodeClasses(node: RichBlockNode): string[];
41
41
  resolveNodeStyles(node: RichBlockNode): Record<string, string | number>;
42
42
  resolveNodeStyleValue(node: RichBlockNode, name: string): string | number | null;
43
+ resolveBadgeIconSize(node: RichBlockNode): string | null;
43
44
  resolveText(node: Extract<RichPresenterNode, {
44
45
  type: 'text';
45
46
  }>): string;
@@ -320,7 +321,7 @@ type EditableTopLevelNodeType = EditableTopLevelNode['type'];
320
321
  type EditablePresenterNode = RichPresenterNode;
321
322
  type EditablePresenterNodeType = EditablePresenterNode['type'];
322
323
  type EditableCardContentNodeType = EditablePresenterNodeType | 'compose';
323
- type EditableComposeChildNodeType = EditablePresenterNodeType | 'actionCard' | 'card' | 'callout' | 'statGroup' | 'keyValueList';
324
+ type EditableComposeChildNodeType = EditablePresenterNodeType | 'compose' | 'actionCard' | 'card' | 'callout' | 'statGroup' | 'keyValueList';
324
325
 
325
326
  type EditableTimelineItemField = 'title' | 'titleExpr' | 'subtitle' | 'subtitleExpr' | 'meta' | 'metaExpr' | 'opposite' | 'oppositeExpr' | 'icon' | 'iconExpr' | 'badge' | 'badgeExpr' | 'markerColor' | 'markerStyle' | 'connectorColor' | 'connectorVariant';
326
327
  type DecisionPackageStringField = 'title' | 'titleExpr' | 'subtitle' | 'subtitleExpr' | 'summary' | 'summaryExpr' | 'status' | 'statusExpr' | 'owner' | 'ownerExpr' | 'policySource' | 'policySourceExpr' | 'version' | 'versionExpr' | 'confidenceExpr' | 'risk' | 'riskExpr' | 'lastReviewed' | 'lastReviewedExpr' | 'supersedes' | 'supersedesExpr';
@@ -356,6 +357,10 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
356
357
  readonly advancedJsonOnlyNodeFields: readonly ["bindings", "disabledWhen", "loadWhen", "classWhen", "styleWhen"];
357
358
  readonly presetOptions: _praxisui_rich_content.RichBlockPresetDefinition[];
358
359
  selectedChildItemIndex: number | null;
360
+ selectedCardChildSection: 'header' | 'content' | 'footer' | 'aside' | 'actions' | null;
361
+ selectedComposeChildIndex: number | null;
362
+ detailedStyleOpenMap: Record<string, boolean>;
363
+ badgeLongPreviewMap: Record<string, boolean>;
359
364
  iconPickerOpen: boolean;
360
365
  iconPickerSearch: string;
361
366
  activeIconCallback: ((icon: string) => void) | null;
@@ -382,6 +387,7 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
382
387
  private initialInputs;
383
388
  private pendingRemoval;
384
389
  private advancedJsonFieldDrafts;
390
+ private advancedJsonDraftOwners;
385
391
  ngOnChanges(changes: SimpleChanges): void;
386
392
  ngOnInit(): void;
387
393
  getSettingsValue(): PraxisRichContentEditorValue | null;
@@ -404,8 +410,12 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
404
410
  setStringField(index: number, field: string, value: string): void;
405
411
  getNumberField(node: RichBlockNode, field: string): number | null;
406
412
  setNumberField(index: number, field: string, value: number | string | null): void;
407
- getActionButtonField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage'): string;
408
- setActionButtonField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage', value: string): void;
413
+ getActionButtonField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson'): string;
414
+ getActionButtonPayloadJson(index: number): string;
415
+ setActionButtonField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson', value: string): void;
416
+ getActionRoutePath(actionRef: unknown): string;
417
+ getActionPayloadJson(actionRef: unknown, path: string): string;
418
+ getActionPayloadJsonError(path: string): string;
409
419
  getObjectStringField(value: unknown, field: string): string;
410
420
  getBooleanField(node: RichBlockNode, field: string): boolean;
411
421
  setBooleanField(index: number, field: string, value: boolean): void;
@@ -423,25 +433,26 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
423
433
  setCardInteractionField(index: number, field: string, value: string): void;
424
434
  getCardInteractionBooleanField(index: number, field: string): boolean;
425
435
  setCardInteractionBooleanField(index: number, field: string, value: boolean): void;
426
- getCardInteractionActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage'): string;
427
- setCardInteractionActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage', value: string): void;
436
+ getCardInteractionActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson'): string;
437
+ setCardInteractionActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson', value: string): void;
428
438
  getCardAccessibilityField(index: number, field: string): string;
429
439
  setCardAccessibilityField(index: number, field: string, value: string): void;
430
440
  addCardSlotNode(index: number, slot: 'header' | 'footer' | 'aside'): void;
431
- addCardSlotNodeOfType(index: number, slot: 'header' | 'footer' | 'aside', type: EditablePresenterNodeType): void;
432
- setCardSlotStringField(index: number, slot: 'header' | 'footer' | 'aside', itemIndex: number, field: string, value: string): void;
441
+ addCardSlotNodeOfType(index: number, slot: 'header' | 'footer' | 'aside', type: EditableCardContentNodeType): void;
442
+ moveCardSlotItem(index: number, slot: 'header' | 'footer' | 'aside', itemIndex: number, delta: number): void;
443
+ setCardSlotStringField(index: number, slot: 'header' | 'footer' | 'aside', itemIndex: number, field: string, value: string, path?: string): void;
433
444
  setCardSlotNumberField(index: number, slot: 'header' | 'footer' | 'aside', itemIndex: number, field: string, value: number | string | null): void;
434
- changeCardSlotType(index: number, slot: 'header' | 'footer' | 'aside', itemIndex: number, type: EditablePresenterNodeType): void;
445
+ changeCardSlotType(index: number, slot: 'header' | 'footer' | 'aside', itemIndex: number, type: EditableCardContentNodeType): void;
435
446
  confirmCardSlotRemoval(index: number, slot: 'header' | 'footer' | 'aside', itemIndex: number): void;
436
447
  getCardActions(index: number): RichActionButtonNode[];
437
448
  addCardAction(index: number): void;
438
449
  addCardActionPreset(index: number, preset: 'primary' | 'secondary'): void;
439
- setCardActionField(index: number, actionIndex: number, field: string, value: string): void;
450
+ setCardActionField(index: number, actionIndex: number, field: string, value: string, path?: string): void;
440
451
  confirmCardActionRemoval(index: number, actionIndex: number): void;
441
452
  getNodeActions(index: number): RichActionButtonNode[];
442
453
  addNodeAction(index: number): void;
443
454
  addNodeActionPreset(index: number, preset: 'primary' | 'secondary'): void;
444
- setNodeActionField(index: number, actionIndex: number, field: string, value: string): void;
455
+ setNodeActionField(index: number, actionIndex: number, field: string, value: string, path?: string): void;
445
456
  confirmNodeActionRemoval(index: number, actionIndex: number): void;
446
457
  getKeyValueItemField(index: number, itemIndex: number, field: 'label' | 'valueExpr'): string;
447
458
  setKeyValueItemField(index: number, itemIndex: number, field: 'label' | 'valueExpr', value: string): void;
@@ -451,26 +462,26 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
451
462
  setLookupResultField(index: number, itemIndex: number, field: 'label' | 'valueExpr' | 'hint', value: string): void;
452
463
  getLookupCardField(index: number, itemIndex: number, field: 'label' | 'valueExpr' | 'hint'): string;
453
464
  setLookupCardField(index: number, itemIndex: number, field: 'label' | 'valueExpr' | 'hint', value: string): void;
454
- getLookupCardActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage'): string;
455
- setLookupCardActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage', value: string): void;
465
+ getLookupCardActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson'): string;
466
+ setLookupCardActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson', value: string): void;
456
467
  getLookupCardSecondaryActions(index: number): RichActionButtonNode[];
457
468
  addLookupCardSecondaryAction(index: number): void;
458
469
  addLookupCardSecondaryActionPreset(index: number, preset: 'primary' | 'secondary'): void;
459
- setLookupCardSecondaryActionField(index: number, actionIndex: number, field: string, value: string): void;
470
+ setLookupCardSecondaryActionField(index: number, actionIndex: number, field: string, value: string, path?: string): void;
460
471
  confirmLookupCardSecondaryActionRemoval(index: number, actionIndex: number): void;
461
472
  getRelatedRecordField(index: number, itemIndex: number, field: 'label' | 'valueExpr' | 'hint'): string;
462
473
  setRelatedRecordField(index: number, itemIndex: number, field: 'label' | 'valueExpr' | 'hint', value: string): void;
463
- getRelatedRecordActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage'): string;
464
- setRelatedRecordActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage', value: string): void;
474
+ getRelatedRecordActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson'): string;
475
+ setRelatedRecordActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson', value: string): void;
465
476
  getRelatedRecordSecondaryActions(index: number): RichActionButtonNode[];
466
477
  addRelatedRecordSecondaryAction(index: number): void;
467
478
  addRelatedRecordSecondaryActionPreset(index: number, preset: 'primary' | 'secondary'): void;
468
- setRelatedRecordSecondaryActionField(index: number, actionIndex: number, field: string, value: string): void;
479
+ setRelatedRecordSecondaryActionField(index: number, actionIndex: number, field: string, value: string, path?: string): void;
469
480
  confirmRelatedRecordSecondaryActionRemoval(index: number, actionIndex: number): void;
470
481
  getPropertySheetItemField(index: number, itemIndex: number, field: 'label' | 'valueExpr' | 'hint'): string;
471
482
  setPropertySheetItemField(index: number, itemIndex: number, field: 'label' | 'valueExpr' | 'hint', value: string): void;
472
- getActionCardActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage'): string;
473
- setActionCardActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage', value: string): void;
483
+ getActionCardActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson'): string;
484
+ setActionCardActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson', value: string): void;
474
485
  getStatGroupItemField(index: number, itemIndex: number, field: 'label' | 'valueExpr' | 'caption' | 'icon' | 'tone'): string;
475
486
  setStatGroupItemField(index: number, itemIndex: number, field: 'label' | 'valueExpr' | 'caption' | 'icon' | 'tone', value: string): void;
476
487
  getStatGroupItemProgressField(index: number, itemIndex: number, field: 'variant' | 'tone' | 'valueExpr'): string;
@@ -494,7 +505,7 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
494
505
  getActionCardSecondaryActions(index: number): RichActionButtonNode[];
495
506
  addActionCardSecondaryAction(index: number): void;
496
507
  addActionCardSecondaryActionPreset(index: number, preset: 'primary' | 'secondary'): void;
497
- setActionCardSecondaryActionField(index: number, actionIndex: number, field: string, value: string): void;
508
+ setActionCardSecondaryActionField(index: number, actionIndex: number, field: string, value: string, path?: string): void;
498
509
  confirmActionCardSecondaryActionRemoval(index: number, actionIndex: number): void;
499
510
  setDecisionPackageField(index: number, field: DecisionPackageStringField, value: string): void;
500
511
  getDecisionPackageEvidence(index: number): DecisionPackageEvidence[];
@@ -505,19 +516,19 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
505
516
  getDecisionPackagePrimaryAction(index: number): RichActionButtonNode | null;
506
517
  addDecisionPackagePrimaryAction(index: number): void;
507
518
  addDecisionPackagePrimaryActionPreset(index: number, preset: 'primary' | 'secondary'): void;
508
- setDecisionPackagePrimaryActionField(index: number, field: string, value: string): void;
519
+ setDecisionPackagePrimaryActionField(index: number, field: string, value: string, path?: string): void;
509
520
  removeDecisionPackagePrimaryAction(index: number): void;
510
521
  getDecisionPackageSecondaryActions(index: number): RichActionButtonNode[];
511
522
  addDecisionPackageSecondaryAction(index: number): void;
512
523
  addDecisionPackageSecondaryActionPreset(index: number, preset: 'primary' | 'secondary'): void;
513
- setDecisionPackageSecondaryActionField(index: number, actionIndex: number, field: string, value: string): void;
524
+ setDecisionPackageSecondaryActionField(index: number, actionIndex: number, field: string, value: string, path?: string): void;
514
525
  confirmDecisionPackageSecondaryActionRemoval(index: number, actionIndex: number): void;
515
- getFormLauncherActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage'): string;
516
- setFormLauncherActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage', value: string): void;
526
+ getFormLauncherActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson'): string;
527
+ setFormLauncherActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage' | 'payloadPath' | 'payloadJson', value: string): void;
517
528
  getFormLauncherSecondaryActions(index: number): RichActionButtonNode[];
518
529
  addFormLauncherSecondaryAction(index: number): void;
519
530
  addFormLauncherSecondaryActionPreset(index: number, preset: 'primary' | 'secondary'): void;
520
- setFormLauncherSecondaryActionField(index: number, actionIndex: number, field: string, value: string): void;
531
+ setFormLauncherSecondaryActionField(index: number, actionIndex: number, field: string, value: string, path?: string): void;
521
532
  confirmFormLauncherSecondaryActionRemoval(index: number, actionIndex: number): void;
522
533
  addAccordionItem(index: number): void;
523
534
  getAccordionItemField(index: number, itemIndex: number, field: 'title' | 'subtitle' | 'icon'): string;
@@ -527,7 +538,7 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
527
538
  getAccordionItemActions(index: number, itemIndex: number): RichActionButtonNode[];
528
539
  addAccordionItemAction(index: number, itemIndex: number): void;
529
540
  addAccordionItemActionPreset(index: number, itemIndex: number, preset: 'primary' | 'secondary'): void;
530
- setAccordionItemActionField(index: number, itemIndex: number, actionIndex: number, field: string, value: string): void;
541
+ setAccordionItemActionField(index: number, itemIndex: number, actionIndex: number, field: string, value: string, path?: string): void;
531
542
  confirmAccordionItemActionRemoval(index: number, itemIndex: number, actionIndex: number): void;
532
543
  confirmAccordionItemRemoval(index: number, itemIndex: number): void;
533
544
  getVisibleWhenPath(node: RichBlockNode): string;
@@ -553,6 +564,12 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
553
564
  private getAdvancedJsonFieldKey;
554
565
  private getDocumentContextFieldKey;
555
566
  private updateDocumentContext;
567
+ setCardComposeStringField(cardIndex: number, contentIndex: number, field: 'layout' | 'direction' | 'gap' | 'minColumnWidth' | 'alignItems' | 'className', value: string): void;
568
+ setCardComposeWrap(cardIndex: number, contentIndex: number, checked: boolean): void;
569
+ addCardComposeItem(cardIndex: number, contentIndex: number): void;
570
+ setCardComposeItemStringField(cardIndex: number, contentIndex: number, itemIndex: number, field: string, value: string): void;
571
+ changeCardComposeItemType(cardIndex: number, contentIndex: number, itemIndex: number, type: EditableComposeChildNodeType): void;
572
+ confirmCardComposeItemRemoval(cardIndex: number, contentIndex: number, itemIndex: number): void;
556
573
  private setAdvancedJsonFieldInvalid;
557
574
  private clearAdvancedJsonFieldState;
558
575
  private hasAdvancedJsonFieldErrors;
@@ -564,19 +581,24 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
564
581
  cancelRemoval(): void;
565
582
  isRemovalPending(scope: string, index: number): boolean;
566
583
  addCardContentNode(cardIndex: number): void;
567
- setCardContentStringField(cardIndex: number, contentIndex: number, field: string, value: string): void;
584
+ moveCardContentNode(cardIndex: number, itemIndex: number, delta: number): void;
585
+ setCardContentStringField(cardIndex: number, contentIndex: number, field: string, value: string, path?: string): void;
568
586
  setCardContentNumberField(cardIndex: number, contentIndex: number, field: string, value: number | string | null): void;
569
587
  changeCardContentType(cardIndex: number, contentIndex: number, type: EditableCardContentNodeType): void;
570
- setCardComposeStringField(cardIndex: number, contentIndex: number, field: 'direction' | 'gap', value: string): void;
571
- setCardComposeWrap(cardIndex: number, contentIndex: number, value: boolean): void;
572
- addCardComposeItem(cardIndex: number, contentIndex: number): void;
573
- confirmCardComposeItemRemoval(cardIndex: number, contentIndex: number, itemIndex: number): void;
574
- changeCardComposeItemType(cardIndex: number, contentIndex: number, itemIndex: number, type: EditableComposeChildNodeType): void;
575
- setCardComposeItemStringField(cardIndex: number, contentIndex: number, itemIndex: number, field: string, value: string): void;
576
- setCardComposeItemNumberField(cardIndex: number, contentIndex: number, itemIndex: number, field: string, value: number | string | null): void;
588
+ setComposeByPathStringField(segments: ReadonlyArray<string | number>, field: 'layout' | 'direction' | 'gap' | 'minColumnWidth' | 'alignItems' | 'className', value: string): void;
589
+ setComposeByPathColumns(segments: ReadonlyArray<string | number>, value: string): void;
590
+ setComposeByPathWrap(segments: ReadonlyArray<string | number>, value: boolean): void;
591
+ addComposeByPathItem(segments: ReadonlyArray<string | number>): void;
592
+ moveComposeByPathItem(segments: ReadonlyArray<string | number>, itemIndex: number, delta: number): void;
593
+ confirmComposeByPathItemRemoval(segments: ReadonlyArray<string | number>, itemIndex: number): void;
594
+ changeComposeByPathItemType(segments: ReadonlyArray<string | number>, itemIndex: number, type: EditableComposeChildNodeType): void;
595
+ setComposeByPathItemStringField(segments: ReadonlyArray<string | number>, itemIndex: number, field: string, value: string, path?: string): void;
596
+ setComposeByPathItemNumberField(segments: ReadonlyArray<string | number>, itemIndex: number, field: string, value: number | string | null): void;
597
+ private resolveNodeBySegments;
598
+ private ensureComposeNodeBySegments;
577
599
  confirmCardContentRemoval(cardIndex: number, contentIndex: number): void;
578
600
  addComposeItem(composeIndex: number): void;
579
- setComposeItemStringField(composeIndex: number, itemIndex: number, field: string, value: string): void;
601
+ setComposeItemStringField(composeIndex: number, itemIndex: number, field: string, value: string, path?: string): void;
580
602
  setComposeItemNumberField(composeIndex: number, itemIndex: number, field: string, value: number | string | null): void;
581
603
  changeComposeItemType(composeIndex: number, itemIndex: number, type: EditableComposeChildNodeType): void;
582
604
  confirmComposeItemRemoval(composeIndex: number, itemIndex: number): void;
@@ -591,10 +613,49 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
591
613
  getActionCardActionId(node: unknown): string;
592
614
  setActionCardActionId(node: unknown, actionId: string): void;
593
615
  getActionCardRoutePath(node: unknown): string;
594
- setActionCardRoutePath(node: unknown, routePath: string): void;
616
+ setActionCardRoutePath(node: unknown, routePath: string, path?: string): void;
617
+ setActionCardPayloadJson(node: unknown, payloadJson: string, path?: string): void;
618
+ setActionCardSubfield(node: unknown, field: 'payloadExpr' | 'availabilityExpr' | 'confirmMessage', value: string): void;
595
619
  resolveNodeIcon(node: unknown): string;
596
620
  resolveNodeDisplayName(node: unknown, index: number): string;
597
621
  selectComposeChild(nodeIndex: number, childIndex: number): void;
622
+ isCardNode(node: unknown): boolean;
623
+ resolveCardTitle(node: unknown, nodeIndex: number): string;
624
+ getCardStructureChildren(node: unknown): Array<{
625
+ section: 'header' | 'content' | 'footer' | 'aside' | 'actions';
626
+ sectionLabel: string;
627
+ itemIndex: number;
628
+ composeItemIndex?: number;
629
+ depth?: 1 | 2;
630
+ node: unknown;
631
+ }>;
632
+ selectCardChild(nodeIndex: number, section: 'header' | 'content' | 'footer' | 'aside' | 'actions', childIndex: number): void;
633
+ selectCardComposeChild(nodeIndex: number, section: 'header' | 'content' | 'footer' | 'aside' | 'actions', slotItemIndex: number, composeItemIndex: number): void;
634
+ getNodeStyleValue(node: RichBlockNode, prop: string): string;
635
+ setNodeStyleValue(node: RichBlockNode, prop: string, value: string): void;
636
+ setNodeBorderWidth(node: RichBlockNode, value: string): void;
637
+ getIconContainerSize(node: RichBlockNode): string;
638
+ setIconContainerSize(node: RichBlockNode, value: string): void;
639
+ getVisualPreviewStyles(node: RichBlockNode): Record<string, string>;
640
+ hasVisualStyleOverrides(node: RichBlockNode, kind: 'icon' | 'badge'): boolean;
641
+ resetIconVisualStyle(node: RichBlockNode): void;
642
+ resetBadgeVisualStyle(node: RichBlockNode): void;
643
+ getIconSurfacePreset(node: RichBlockNode): 'none' | 'softTile' | 'circleBadge' | 'outlinedTile' | 'elevatedTile' | 'custom';
644
+ applyIconSurfacePreset(node: RichBlockNode, preset: string): void;
645
+ getBadgeStylePreset(node: RichBlockNode): 'default' | 'softPill' | 'solidPill' | 'outlinedTag' | 'compactSquare' | 'custom';
646
+ applyBadgeStylePreset(node: RichBlockNode, preset: string): void;
647
+ isDetailedStyleOpen(node: RichBlockNode, path: string, kind: 'icon' | 'badge'): boolean;
648
+ onDetailedStyleToggle(path: string, event: Event): void;
649
+ isBadgeLongPreview(path: string): boolean;
650
+ toggleBadgeLongPreview(path: string): void;
651
+ getBadgePreviewLabel(node: RichBlockNode, path: string): string;
652
+ getColorPickerHex(rawColor: string, fallbackHex: string): string;
653
+ isCustomShadowValue(val: string): boolean;
654
+ getVisualDimensionWarning(node: RichBlockNode, kind: 'icon' | 'badge'): string | null;
655
+ hasLowContrastWarning(node: RichBlockNode): boolean;
656
+ hasDynamicStyleWhen(node: RichBlockNode): boolean;
657
+ private parseHexRgb;
658
+ private relativeLuminance;
598
659
  openIconPicker(callback: (icon: string) => void): void;
599
660
  closeIconPicker(): void;
600
661
  selectIcon(icon: string): void;
@@ -632,13 +693,12 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
632
693
  addPageHeaderChild(index: number, region: PageHeaderRegion): void;
633
694
  removePageHeaderChild(index: number, region: PageHeaderRegion, childIndex: number): void;
634
695
  movePageHeaderChild(index: number, region: PageHeaderRegion, childIndex: number, delta: number): void;
635
- setPageHeaderChildField(index: number, region: PageHeaderRegion, childIndex: number, field: string, value: string): void;
696
+ setPageHeaderChildField(index: number, region: PageHeaderRegion, childIndex: number, field: string, value: string, path?: string): void;
636
697
  setPageHeaderChildNumber(index: number, region: PageHeaderRegion, childIndex: number, field: string, value: number | string | null): void;
637
698
  private ensureCardNode;
638
699
  private pruneEmptyCardInteraction;
639
700
  private ensureCardSlotNodes;
640
701
  private ensureCardContentNodes;
641
- private ensureCardComposeNode;
642
702
  private ensureCardActions;
643
703
  private ensureActionButtonNode;
644
704
  private ensureComposeNode;
@@ -665,6 +725,14 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
665
725
  private ensureAccordionNode;
666
726
  private ensureAccordionItemActions;
667
727
  private setActionNodeField;
728
+ private applyActionPayloadEdit;
729
+ private getActionPayloadFieldKey;
730
+ private parseAdvancedJsonDraftPath;
731
+ private formatAdvancedJsonDraftPath;
732
+ private findAdvancedJsonDraftOwnerPath;
733
+ private trackAdvancedJsonDraftOwner;
734
+ private reconcileAdvancedJsonDraftOwners;
735
+ private rebindAdvancedJsonDraftOwners;
668
736
  private createActionPreset;
669
737
  private ensureTimelineNode;
670
738
  private parseDocument;