@praxisui/page-builder 10.0.0-rc.25 → 10.0.0-rc.26

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/page-builder",
3
- "version": "10.0.0-rc.25",
3
+ "version": "10.0.0-rc.26",
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.25",
12
- "@praxisui/core": "^10.0.0-rc.25",
13
- "@praxisui/settings-panel": "^10.0.0-rc.25",
11
+ "@praxisui/ai": "^10.0.0-rc.26",
12
+ "@praxisui/core": "^10.0.0-rc.26",
13
+ "@praxisui/settings-panel": "^10.0.0-rc.26",
14
14
  "rxjs": "~7.8.0"
15
15
  },
16
16
  "dependencies": {
@@ -344,7 +344,7 @@ interface ConnectionEditorNode {
344
344
  states: ConnectionEditorPort[];
345
345
  }
346
346
  type ConnectionEditorDiagnosticSeverity = 'error' | 'warning';
347
- type ConnectionEditorDiagnosticCode = 'endpoint-widget-missing' | 'endpoint-unresolved' | 'endpoint-not-declared' | 'nested-path-terminal-missing' | 'nested-path-not-declared' | 'state-path-not-declared' | 'feedback-cycle-unguarded' | 'feedback-cycle-guarded';
347
+ type ConnectionEditorDiagnosticCode = 'endpoint-widget-missing' | 'endpoint-unresolved' | 'endpoint-not-declared' | 'nested-path-terminal-missing' | 'nested-path-not-declared' | 'state-path-not-declared' | 'feedback-cycle-unguarded' | 'feedback-cycle-guarded' | 'competing-query-owner';
348
348
  interface ConnectionEditorDiagnostic {
349
349
  code: ConnectionEditorDiagnosticCode;
350
350
  severity: ConnectionEditorDiagnosticSeverity;
@@ -1094,6 +1094,47 @@ declare class CanvasConstraintEditorModel {
1094
1094
  private resolveFriendlyWidgetTitle;
1095
1095
  }
1096
1096
 
1097
+ interface GuidedDataSourceQueryConfig {
1098
+ mode: 'group-by' | 'timeseries' | 'collection';
1099
+ groupByField?: string;
1100
+ metricField?: string;
1101
+ metricOp?: 'count' | 'sum' | 'avg' | 'min' | 'max';
1102
+ period?: 'day' | 'week' | 'month' | 'year';
1103
+ pageSize?: number;
1104
+ }
1105
+ interface GuidedDataSourceTransformConfig {
1106
+ kind: 'group-by-map' | 'timeseries-last' | 'path';
1107
+ path?: string;
1108
+ mappingsText?: string;
1109
+ totalField?: string;
1110
+ weightedAverageField?: string;
1111
+ weightedAverageDecimals?: number;
1112
+ ratioTargetField?: string;
1113
+ ratioNumeratorField?: string;
1114
+ ratioDenominatorField?: string;
1115
+ ratioScale?: number;
1116
+ ratioDecimals?: number;
1117
+ }
1118
+ interface GuidedDerivedMeasureConfig {
1119
+ targetPath: string;
1120
+ kind: 'ratio-percent' | 'weighted-average' | 'format-value' | 'template';
1121
+ numeratorPath?: string;
1122
+ denominatorPath?: string;
1123
+ sourcePath?: string;
1124
+ decimals?: number;
1125
+ format?: 'percent' | 'number' | 'currency';
1126
+ templateExpression?: string;
1127
+ }
1128
+ interface CollectionScreenComposerConfig {
1129
+ resourcePath: string;
1130
+ title: string;
1131
+ groupByField: string;
1132
+ includeHeader: boolean;
1133
+ includeIndicators: boolean;
1134
+ filterMode: 'table-integrated' | 'external-filter-bar';
1135
+ collectionKind: 'table' | 'list';
1136
+ detailSurface: 'none' | 'drawer' | 'modal';
1137
+ }
1097
1138
  type EditorTabId$1 = 'canvas' | 'grouping' | 'devices' | 'context' | 'state' | 'limits';
1098
1139
  type DeviceKey = 'desktop' | 'tablet' | 'mobile';
1099
1140
  type GroupingNodeGroup$1 = FormGroup<{
@@ -1274,6 +1315,8 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1274
1315
  private readonly injectedData;
1275
1316
  readonly isHostedInSettingsPanel: boolean;
1276
1317
  private readonly i18n;
1318
+ private readonly dataSourceRuntime;
1319
+ private readonly stateRuntime;
1277
1320
  private pageInput;
1278
1321
  private snapshot;
1279
1322
  readonly stackedDevices: Set<DeviceKey>;
@@ -1283,6 +1326,27 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1283
1326
  private guidedDataSourcesInvalid;
1284
1327
  private renderedCandidate;
1285
1328
  private renderedValidationFingerprint;
1329
+ private stagedWidgets;
1330
+ private stagedComposition;
1331
+ readonly composerResourcePathControl: FormControl<string>;
1332
+ readonly composerTitleControl: FormControl<string>;
1333
+ readonly composerGroupFieldControl: FormControl<string>;
1334
+ readonly composerIncludeHeaderControl: FormControl<boolean>;
1335
+ readonly composerIncludeIndicatorsControl: FormControl<boolean>;
1336
+ readonly composerFilterModeControl: FormControl<"table-integrated" | "external-filter-bar">;
1337
+ readonly composerCollectionKindControl: FormControl<"table" | "list">;
1338
+ readonly composerDetailSurfaceControl: FormControl<"none" | "modal" | "drawer">;
1339
+ readonly composerMessage: WritableSignal<string>;
1340
+ readonly binderTokenControl: FormControl<string>;
1341
+ readonly binderWidgetControl: FormControl<string>;
1342
+ readonly binderInputPathControl: FormControl<string>;
1343
+ readonly binderMessage: WritableSignal<string>;
1344
+ readonly derivedPathControl: FormControl<string>;
1345
+ readonly derivedKindControl: FormControl<"template" | "format-value" | "ratio-percent" | "weighted-average">;
1346
+ readonly derivedNumeratorControl: FormControl<string>;
1347
+ readonly derivedDenominatorControl: FormControl<string>;
1348
+ readonly derivedFormatControl: FormControl<"number" | "boolean" | "integer" | "percent" | "currency">;
1349
+ readonly derivedDecimalsControl: FormControl<number>;
1286
1350
  private readonly tabOrder;
1287
1351
  constructor();
1288
1352
  ngOnInit(): void;
@@ -1327,6 +1391,58 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1327
1391
  addDataSourceNode(seed?: Partial<WidgetPageDataSourceDefinition>): void;
1328
1392
  removeDataSourceNode(index: number): void;
1329
1393
  dataSourceLabel(index: number): string;
1394
+ applyGuidedDataSourceQuery(index: number, config: GuidedDataSourceQueryConfig): void;
1395
+ applyGuidedDataSourceTransform(index: number, config: GuidedDataSourceTransformConfig): void;
1396
+ getDataSourcePreview(index: number): {
1397
+ status: 'ok' | 'error';
1398
+ sourceKind: 'live' | 'sample';
1399
+ value?: unknown;
1400
+ formattedJson?: string;
1401
+ error?: string;
1402
+ tokens: string[];
1403
+ };
1404
+ addGuidedDerivedMeasure(config?: Partial<GuidedDerivedMeasureConfig>): boolean;
1405
+ getDerivedStatePreview(): {
1406
+ entries: Array<{
1407
+ key: string;
1408
+ value: unknown;
1409
+ formattedValue: string;
1410
+ token: string;
1411
+ }>;
1412
+ diagnostics: string[];
1413
+ };
1414
+ availableStateBindingTokens(): string[];
1415
+ bindablePageWidgets(): Array<{
1416
+ key: string;
1417
+ title: string;
1418
+ componentId: string;
1419
+ }>;
1420
+ bindStateTokenToWidget(widgetKey?: string, inputPath?: string, stateToken?: string): boolean;
1421
+ currentWidgetStateBindings(): Array<{
1422
+ widgetKey: string;
1423
+ widgetTitle: string;
1424
+ inputPath: string;
1425
+ token: string;
1426
+ }>;
1427
+ composeCollectionScreen(overrides?: Partial<CollectionScreenComposerConfig>): WidgetPageDefinition | null;
1428
+ quickCanvasWidgets(): Array<{
1429
+ key: string;
1430
+ label: string;
1431
+ col: number;
1432
+ row: number;
1433
+ colSpan: number;
1434
+ rowSpan: number;
1435
+ }>;
1436
+ setWidgetCanvasSpan(widgetKey: string, colSpan: number, rowSpan?: number): void;
1437
+ duplicateFilterOwners(): Array<{
1438
+ tableKey: string;
1439
+ tableTitle: string;
1440
+ externalSourceKeys: string[];
1441
+ linkIds: string[];
1442
+ }>;
1443
+ consolidateFilterOwnership(tableKey: string, mode: 'keep-table-toolbar' | 'keep-external-link'): void;
1444
+ private resolveWidgetTitle;
1445
+ private isFilterLinkTargetingWidget;
1330
1446
  layoutPresetSummary(preset: LayoutPresetEntry): string;
1331
1447
  slotsSummary(preset: LayoutPresetEntry): string;
1332
1448
  requiredSlotsSummary(preset: LayoutPresetEntry): string;
@@ -1351,6 +1467,7 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1351
1467
  private buildDataSourcesFromNodes;
1352
1468
  private syncDataSourcesJsonFromNodes;
1353
1469
  private syncDataSourceNodesFromJson;
1470
+ private inferPageResourcePath;
1354
1471
  private hydrate;
1355
1472
  private replaceGroupingNodes;
1356
1473
  private buildCurrentPage;
@@ -1363,6 +1480,7 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1363
1480
  private invalidate;
1364
1481
  private refreshPanelState;
1365
1482
  get layoutPresetOptions(): WidgetPageDefinition['layoutPresetOptions'];
1483
+ private effectivePageInput;
1366
1484
  private currentPageInput;
1367
1485
  private parsePage;
1368
1486
  private parseJson;
@@ -1389,6 +1507,12 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1389
1507
  private applyShellPresetToContext;
1390
1508
  private lookupPresetLabel;
1391
1509
  private defaultCanvas;
1510
+ private parseKeyValuePairs;
1511
+ private buildSamplePayloadForDataSource;
1512
+ private collectStateTokensForValue;
1513
+ private assignNestedValue;
1514
+ private collectWidgetBindingsRecursive;
1515
+ private humanizeResourceTitle;
1392
1516
  private clone;
1393
1517
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageConfigEditorComponent, never>;
1394
1518
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicPageConfigEditorComponent, "praxis-dynamic-page-config-editor", never, { "page": { "alias": "page"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "presets": { "alias": "presets"; "required": false; }; "pagePreset": { "alias": "pagePreset"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
@@ -2833,4 +2957,4 @@ declare function isComponentDocMeta(value: unknown): value is ComponentDocMeta;
2833
2957
  declare function providePraxisPageBuilderWidgets(widgets?: Array<Provider | ComponentDocMeta>): Provider[];
2834
2958
 
2835
2959
  export { ComponentPaletteDialogComponent, ConfirmDialogComponent, ConnectionEditorComponent, DynamicPageBuilderComponent, DynamicPageConfigEditorComponent, FloatingToolbarComponent, PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS, PAGE_BUILDER_AI_CAPABILITIES, PAGE_BUILDER_COMPONENT_CONTEXT_PACK, PAGE_BUILDER_WIDGET_AI_CATALOGS, PLACEHOLDER, PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST, PRAXIS_PAGE_BUILDER_COMPONENT_METADATA, PageBuilderAgenticAuthoringService, PageConfigEditorComponent, TileToolbarComponent, UiCompositionResourcePreflightService, WidgetShellEditorComponent, clearWidgetAiCatalogs, compileUiCompositionPlan, getPageAiCatalog, getWidgetAiCapabilities, isComponentDocMeta, preflightUiCompositionPlan, preflightUiCompositionPlanResources, providePageBuilderWidgetAiCatalogs, providePraxisPageBuilderMetadata, providePraxisPageBuilderWidgets, registerWidgetAiCatalog, registerWidgetAiCatalogs, resolveUiCompositionPlanTemplate, validateUiCompositionPlan, verifyUiCompositionAuthoringSource };
2836
- export type { Capability, CapabilityCatalog, CapabilityCategory, ComponentPaletteData, ComponentPaletteSelection, ConfirmDialogData, PageBuilderAgenticAuthoringAttachmentSummary, PageBuilderAgenticAuthoringCandidate, PageBuilderAgenticAuthoringComponentCapabilitiesResult, PageBuilderAgenticAuthoringComponentCapability, PageBuilderAgenticAuthoringComponentCapabilityCatalog, PageBuilderAgenticAuthoringComponentCapabilityExample, PageBuilderAgenticAuthoringComponentFieldAlias, PageBuilderAgenticAuthoringConversationMessage, PageBuilderAgenticAuthoringGateResult, PageBuilderAgenticAuthoringIntentResolutionRequest, PageBuilderAgenticAuthoringIntentResolutionResult, PageBuilderAgenticAuthoringOptions, PageBuilderAgenticAuthoringPendingClarification, PageBuilderAgenticAuthoringPromptRequest, PageBuilderAgenticAuthoringProvider, PageBuilderAgenticAuthoringQuickReply, PageBuilderAgenticAuthoringResourceCandidatesRequest, PageBuilderAgenticAuthoringResourceCandidatesResult, PageBuilderAgenticAuthoringSharedRuleHandoff, PageBuilderAgenticAuthoringTarget, PageBuilderAgenticAuthoringTurnStreamConnectionError, PageBuilderAgenticAuthoringTurnStreamEvent, PageBuilderAgenticAuthoringTurnStreamRequest, PageBuilderAgenticAuthoringTurnStreamStartResponse, PageBuilderApplyRequest, PageBuilderApplyResult, PageBuilderAuthoringCapabilities, PageBuilderCompiledFormPatch, PageBuilderMinimalFormPlanResult, PageBuilderPreviewDiagnostics, PageBuilderPreviewResult, PageBuilderProjectKnowledgeAudit, UiCompositionAuthoringSourceDiagnostic, UiCompositionAuthoringSourceDiagnosticCode, UiCompositionAuthoringSourceVerification, UiCompositionAuthoringSourceVerificationContext, UiCompositionPlan, UiCompositionPlanAuthoringInput, UiCompositionPlanAuthoringSource, UiCompositionPlanBinding, UiCompositionPlanCompileResult, UiCompositionPlanComponentPortEndpoint, UiCompositionPlanContextScope, UiCompositionPlanContextScopeTarget, UiCompositionPlanContextValue, UiCompositionPlanDiagnostic, UiCompositionPlanEndpoint, UiCompositionPlanGlobalActionEndpoint, UiCompositionPlanGlobalActionSourceEndpoint, UiCompositionPlanInputSource, UiCompositionPlanPreflightResult, UiCompositionPlanSelectCase, UiCompositionPlanSelectionSync, UiCompositionPlanSelectionSyncMapping, UiCompositionPlanSourceEndpoint, UiCompositionPlanStateEndpoint, UiCompositionPlanTargetEndpoint, UiCompositionPlanTemplateMaterialization, UiCompositionPlanTemplateRef, UiCompositionPlanTemplateReference, UiCompositionPlanTemplateResolutionResult, UiCompositionPlanTemplateRevision, UiCompositionPlanTransform, UiCompositionPlanTransformOutput, UiCompositionPlanWidget, UiCompositionResourceSchemaRequest, UiCompositionResourceSchemaResolution, UiCompositionResourceSchemaResolver, ValueKind };
2960
+ export type { Capability, CapabilityCatalog, CapabilityCategory, CollectionScreenComposerConfig, ComponentPaletteData, ComponentPaletteSelection, ConfirmDialogData, GuidedDataSourceQueryConfig, GuidedDataSourceTransformConfig, GuidedDerivedMeasureConfig, PageBuilderAgenticAuthoringAttachmentSummary, PageBuilderAgenticAuthoringCandidate, PageBuilderAgenticAuthoringComponentCapabilitiesResult, PageBuilderAgenticAuthoringComponentCapability, PageBuilderAgenticAuthoringComponentCapabilityCatalog, PageBuilderAgenticAuthoringComponentCapabilityExample, PageBuilderAgenticAuthoringComponentFieldAlias, PageBuilderAgenticAuthoringConversationMessage, PageBuilderAgenticAuthoringGateResult, PageBuilderAgenticAuthoringIntentResolutionRequest, PageBuilderAgenticAuthoringIntentResolutionResult, PageBuilderAgenticAuthoringOptions, PageBuilderAgenticAuthoringPendingClarification, PageBuilderAgenticAuthoringPromptRequest, PageBuilderAgenticAuthoringProvider, PageBuilderAgenticAuthoringQuickReply, PageBuilderAgenticAuthoringResourceCandidatesRequest, PageBuilderAgenticAuthoringResourceCandidatesResult, PageBuilderAgenticAuthoringSharedRuleHandoff, PageBuilderAgenticAuthoringTarget, PageBuilderAgenticAuthoringTurnStreamConnectionError, PageBuilderAgenticAuthoringTurnStreamEvent, PageBuilderAgenticAuthoringTurnStreamRequest, PageBuilderAgenticAuthoringTurnStreamStartResponse, PageBuilderApplyRequest, PageBuilderApplyResult, PageBuilderAuthoringCapabilities, PageBuilderCompiledFormPatch, PageBuilderMinimalFormPlanResult, PageBuilderPreviewDiagnostics, PageBuilderPreviewResult, PageBuilderProjectKnowledgeAudit, UiCompositionAuthoringSourceDiagnostic, UiCompositionAuthoringSourceDiagnosticCode, UiCompositionAuthoringSourceVerification, UiCompositionAuthoringSourceVerificationContext, UiCompositionPlan, UiCompositionPlanAuthoringInput, UiCompositionPlanAuthoringSource, UiCompositionPlanBinding, UiCompositionPlanCompileResult, UiCompositionPlanComponentPortEndpoint, UiCompositionPlanContextScope, UiCompositionPlanContextScopeTarget, UiCompositionPlanContextValue, UiCompositionPlanDiagnostic, UiCompositionPlanEndpoint, UiCompositionPlanGlobalActionEndpoint, UiCompositionPlanGlobalActionSourceEndpoint, UiCompositionPlanInputSource, UiCompositionPlanPreflightResult, UiCompositionPlanSelectCase, UiCompositionPlanSelectionSync, UiCompositionPlanSelectionSyncMapping, UiCompositionPlanSourceEndpoint, UiCompositionPlanStateEndpoint, UiCompositionPlanTargetEndpoint, UiCompositionPlanTemplateMaterialization, UiCompositionPlanTemplateRef, UiCompositionPlanTemplateReference, UiCompositionPlanTemplateResolutionResult, UiCompositionPlanTemplateRevision, UiCompositionPlanTransform, UiCompositionPlanTransformOutput, UiCompositionPlanWidget, UiCompositionResourceSchemaRequest, UiCompositionResourceSchemaResolution, UiCompositionResourceSchemaResolver, ValueKind };