@praxisui/rich-content 9.0.0-beta.5 → 9.0.0-beta.7

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,11 +1,11 @@
1
1
  {
2
2
  "name": "@praxisui/rich-content",
3
- "version": "9.0.0-beta.5",
3
+ "version": "9.0.0-beta.7",
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
- "@praxisui/core": "^9.0.0-beta.5",
8
+ "@praxisui/core": "^9.0.0-beta.7",
9
9
  "@angular/forms": "^21.0.0",
10
10
  "rxjs": "~7.8.0"
11
11
  },
@@ -1,6 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { OnChanges, OnInit, SimpleChanges, InjectionToken, Provider } from '@angular/core';
3
- import { RichContentDocument, RichPrimitiveNode, RichPresetReferenceNode, JsonLogicDataRecord, RichBlockHostCapabilities, RichBlockNode, RichPresenterNode, RichComposeNode, RichCardNode, RichCardMedia, RichActionButtonNode, RichCalloutNode, RichCtaGroupNode, RichKeyValueListNode, RichKeyValueItem, RichEmptyStateNode, RichPropertySheetNode, RichPropertySheetItem, RichStatGroupNode, RichStatItem, RichTabsNode, RichTabsItem, RichRecordSummaryNode, RichRecordSummaryField, RichLookupResultNode, RichLookupResultField, RichLookupCardNode, RichRelatedRecordNode, RichActionCardNode, RichDecisionPackageNode, RichDecisionPackageEvidence, RichCollapsibleCardNode, RichFormLauncherNode, RichDisclosureNode, RichAccordionNode, RichAccordionItem, RichMediaBlockNode, RichTimelineNode, RichTimelineItem, RichTextNode, RichBadgeNode, RichIconNode, RichImageNode, RichLinkNode, RichMetricNode, RichProgressNode, SettingsValueProvider, CorePresetRef, CorePresetDescriptor, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, PraxisI18nDictionary, PraxisI18nConfig, PraxisI18nService } from '@praxisui/core';
3
+ import { RichContentDocument, RichPrimitiveNode, RichPresetReferenceNode, JsonLogicDataRecord, RichBlockHostCapabilities, RichBlockNode, RichPresenterNode, RichComposeNode, RichCardNode, RichCardMedia, RichActionButtonNode, RichCalloutNode, RichCtaGroupNode, RichKeyValueListNode, RichKeyValueItem, RichEmptyStateNode, RichPropertySheetNode, RichPropertySheetItem, RichStatGroupNode, RichStatItem, RichTabsNode, RichTabsItem, RichRecordSummaryNode, RichRecordSummaryField, RichLookupResultNode, RichLookupResultField, RichLookupCardNode, RichRelatedRecordNode, RichActionCardNode, RichDecisionPackageNode, RichDecisionPackageEvidence, RichCollapsibleCardNode, RichFormLauncherNode, RichDisclosureNode, RichAccordionNode, RichAccordionItem, RichMediaBlockNode, RichTimelineNode, RichTimelineItem, RichTextNode, RichBadgeNode, RichIconNode, RichAvatarNode, RichImageNode, RichLinkNode, RichMetricNode, RichProgressNode, SettingsValueProvider, CorePresetRef, CorePresetDescriptor, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, PraxisI18nDictionary, PraxisI18nConfig, PraxisI18nService } from '@praxisui/core';
4
4
  import * as _praxisui_rich_content from '@praxisui/rich-content';
5
5
  import { BehaviorSubject } from 'rxjs';
6
6
 
@@ -270,7 +270,7 @@ interface RichContentValidationResult {
270
270
  declare function validateRichContentDocument(value: unknown): RichContentValidationResult;
271
271
  declare function isValidRichContentDocument(value: unknown): value is RichContentDocument;
272
272
 
273
- type EditableTopLevelNode = RichTextNode | RichBadgeNode | RichIconNode | RichImageNode | RichLinkNode | RichMetricNode | RichProgressNode | RichActionButtonNode | RichComposeNode | RichCardNode | RichCalloutNode | RichCtaGroupNode | RichKeyValueListNode | RichPropertySheetNode | RichStatGroupNode | RichTabsNode | RichEmptyStateNode | RichRecordSummaryNode | RichLookupResultNode | RichLookupCardNode | RichRelatedRecordNode | RichActionCardNode | RichDecisionPackageNode | RichFormLauncherNode | RichCollapsibleCardNode | RichDisclosureNode | RichAccordionNode | RichMediaBlockNode | RichTimelineNode | RichPresetReferenceNode;
273
+ type EditableTopLevelNode = RichTextNode | RichBadgeNode | RichIconNode | RichAvatarNode | RichImageNode | RichLinkNode | RichMetricNode | RichProgressNode | RichActionButtonNode | RichComposeNode | RichCardNode | RichCalloutNode | RichCtaGroupNode | RichKeyValueListNode | RichPropertySheetNode | RichStatGroupNode | RichTabsNode | RichEmptyStateNode | RichRecordSummaryNode | RichLookupResultNode | RichLookupCardNode | RichRelatedRecordNode | RichActionCardNode | RichDecisionPackageNode | RichFormLauncherNode | RichCollapsibleCardNode | RichDisclosureNode | RichAccordionNode | RichMediaBlockNode | RichTimelineNode | RichPresetReferenceNode;
274
274
  type EditableTopLevelNodeType = EditableTopLevelNode['type'];
275
275
  type EditablePresenterNode = RichPresenterNode;
276
276
  type EditablePresenterNodeType = EditablePresenterNode['type'];
@@ -298,7 +298,7 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
298
298
  readonly isDirty$: BehaviorSubject<boolean>;
299
299
  readonly isValid$: BehaviorSubject<boolean>;
300
300
  readonly isBusy$: BehaviorSubject<boolean>;
301
- readonly editableNodeTypes: ("text" | "icon" | "image" | "link" | "badge" | "metric" | "progress" | "actionButton" | "compose" | "card" | "callout" | "ctaGroup" | "keyValueList" | "propertySheet" | "statGroup" | "tabs" | "emptyState" | "recordSummary" | "lookupResult" | "lookupCard" | "relatedRecord" | "actionCard" | "decisionPackage" | "formLauncher" | "collapsibleCard" | "disclosure" | "accordion" | "mediaBlock" | "timeline" | "preset")[];
301
+ readonly editableNodeTypes: ("text" | "icon" | "image" | "link" | "badge" | "avatar" | "metric" | "progress" | "actionButton" | "compose" | "card" | "callout" | "ctaGroup" | "keyValueList" | "propertySheet" | "statGroup" | "tabs" | "emptyState" | "recordSummary" | "lookupResult" | "lookupCard" | "relatedRecord" | "actionCard" | "decisionPackage" | "formLauncher" | "collapsibleCard" | "disclosure" | "accordion" | "mediaBlock" | "timeline" | "preset")[];
302
302
  readonly presenterNodeTypes: ("text" | "icon" | "image" | "link" | "badge" | "avatar" | "metric" | "progress" | "actionButton")[];
303
303
  readonly cardContentNodeTypes: EditableCardContentNodeType[];
304
304
  readonly presetOptions: _praxisui_rich_content.RichBlockPresetDefinition[];
@@ -312,6 +312,7 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
312
312
  validationIssues: RichContentValidationIssue[];
313
313
  nodeCount: number;
314
314
  nodeTypeSummary: string;
315
+ selectedNodeIndex: number;
315
316
  private initialInputs;
316
317
  private pendingRemoval;
317
318
  ngOnChanges(changes: SimpleChanges): void;
@@ -323,6 +324,7 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
323
324
  onDocumentJsonChange(): void;
324
325
  tx(key: string, fallback: string): string;
325
326
  useEmptyDocument(): void;
327
+ selectTopLevelNode(index: number): void;
326
328
  addTopLevelNode(): void;
327
329
  removeTopLevelNode(index: number): void;
328
330
  moveTopLevelNode(index: number, delta: number): void;
@@ -342,6 +344,14 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
342
344
  getCardContentNodes(index: number): Array<RichPresenterNode | RichComposeNode>;
343
345
  getCardMediaField(index: number, field: string): string;
344
346
  setCardMediaField(index: number, field: string, value: string): void;
347
+ getCardInteractionField(index: number, field: string): string;
348
+ setCardInteractionField(index: number, field: string, value: string): void;
349
+ getCardInteractionBooleanField(index: number, field: string): boolean;
350
+ setCardInteractionBooleanField(index: number, field: string, value: boolean): void;
351
+ getCardInteractionActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage'): string;
352
+ setCardInteractionActionField(index: number, field: 'actionId' | 'payloadExpr' | 'availabilityExpr' | 'confirmMessage', value: string): void;
353
+ getCardAccessibilityField(index: number, field: string): string;
354
+ setCardAccessibilityField(index: number, field: string, value: string): void;
345
355
  addCardSlotNode(index: number, slot: 'header' | 'footer' | 'aside'): void;
346
356
  addCardSlotNodeOfType(index: number, slot: 'header' | 'footer' | 'aside', type: EditablePresenterNodeType): void;
347
357
  setCardSlotStringField(index: number, slot: 'header' | 'footer' | 'aside', itemIndex: number, field: string, value: string): void;
@@ -391,8 +401,15 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
391
401
  getTabsItems(index: number): Array<RichTabsNode['items'][number]>;
392
402
  addTabsItem(index: number): void;
393
403
  removeTabsItem(index: number, itemIndex: number): void;
394
- getTabsItemField(index: number, itemIndex: number, field: 'id' | 'label' | 'icon' | 'badge'): string;
395
- setTabsItemField(index: number, itemIndex: number, field: 'id' | 'label' | 'icon' | 'badge', value: string): void;
404
+ getTabsItemField(index: number, itemIndex: number, field: 'id' | 'label' | 'labelExpr' | 'icon' | 'badge' | 'badgeExpr' | 'capabilityMode'): string;
405
+ setTabsItemField(index: number, itemIndex: number, field: 'id' | 'label' | 'labelExpr' | 'icon' | 'badge' | 'badgeExpr' | 'capabilityMode', value: string): void;
406
+ getTabsItemCapabilityList(index: number, itemIndex: number): string;
407
+ setTabsItemCapabilityList(index: number, itemIndex: number, value: string): void;
408
+ getTabsItemVisibleWhenPath(index: number, itemIndex: number): string;
409
+ getTabsItemVisibleWhenValue(index: number, itemIndex: number): string;
410
+ setTabsItemVisibleWhenPath(index: number, itemIndex: number, path: string): void;
411
+ setTabsItemVisibleWhenValue(index: number, itemIndex: number, value: string): void;
412
+ private setTabsItemSimpleVisibleWhen;
396
413
  getActionCardSecondaryActions(index: number): RichActionButtonNode[];
397
414
  addActionCardSecondaryAction(index: number): void;
398
415
  addActionCardSecondaryActionPreset(index: number, preset: 'primary' | 'secondary'): void;
@@ -478,6 +495,7 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
478
495
  private createDefaultNode;
479
496
  private getDefaultPresetRef;
480
497
  private ensureCardNode;
498
+ private pruneEmptyCardInteraction;
481
499
  private ensureCardSlotNodes;
482
500
  private ensureCardContentNodes;
483
501
  private ensureCardActions;
@@ -510,6 +528,7 @@ declare class PraxisRichContentConfigEditor implements SettingsValueProvider, On
510
528
  private ensureTimelineNode;
511
529
  private parseDocument;
512
530
  private setInvalidState;
531
+ private reconcileSelectedNodeIndex;
513
532
  private updateDocumentOverview;
514
533
  private matchesInitialState;
515
534
  private cloneInputs;