@praxisui/page-builder 10.0.0-rc.3 → 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.
- package/README.md +81 -3
- package/ai/component-registry.json +98 -58
- package/fesm2022/praxisui-page-builder.mjs +2774 -517
- package/package.json +4 -4
- package/types/praxisui-page-builder.d.ts +259 -29
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/page-builder",
|
|
3
|
-
"version": "10.0.0-rc.
|
|
3
|
+
"version": "10.0.0-rc.30",
|
|
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.
|
|
12
|
-
"@praxisui/core": "^10.0.0-rc.
|
|
13
|
-
"@praxisui/settings-panel": "^10.0.0-rc.
|
|
11
|
+
"@praxisui/ai": "^10.0.0-rc.30",
|
|
12
|
+
"@praxisui/core": "^10.0.0-rc.30",
|
|
13
|
+
"@praxisui/settings-panel": "^10.0.0-rc.30",
|
|
14
14
|
"rxjs": "~7.8.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
@@ -2,7 +2,7 @@ import { MatDialogRef, MatDialog } from '@angular/material/dialog';
|
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { EventEmitter, OnInit, WritableSignal, InjectionToken, Provider, OnChanges, OnDestroy, Type, SimpleChanges } from '@angular/core';
|
|
4
4
|
import * as _praxisui_core from '@praxisui/core';
|
|
5
|
-
import { ComponentDocMeta, WidgetShellConfig, ComponentMetadataRegistry, PraxisI18nService, SettingsEditorSection, EndpointRef, PraxisTextValue, WidgetShellPresetCategory, CompositionLink, WidgetShellAction, WidgetPageAuthoringCapabilities, PortContract, ComponentPortPathSegment, LinkIntent, WidgetPageDefinition, SurfaceOpenActionEditorComponent, TransformKind, TransformPipeline, SurfaceOpenPayload, WidgetPageDeviceKind, SettingsValueProvider as SettingsValueProvider$1, WidgetShellPresetDefinition, WidgetPageCanvasLayout, WidgetPageGroupingDefinition, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, PageIdentity, WidgetStateNode, WidgetDerivedStateNode, AiCapability, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, WidgetPageDeviceLayouts, WidgetPageSlotAssignments, WidgetPageStateInput, WidgetInstance, TransformOutputHint, TransformSemanticKind, ConfigAuthoringSource, DomainKnowledgeChangeSetRequest, DomainKnowledgeChangeSet, DomainKnowledgeChangeSetTimelineResponse, DomainKnowledgeChangeSetFilters, DomainKnowledgeValidationResponse, DomainKnowledgeStatusTransitionRequest, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleDefinitionRequest, DomainRuleDefinition, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleStatusTransitionRequest, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleMaterializationFilters, DomainRuleMaterialization, DomainRuleTimelineResponse, PraxisRuntimeComponentObservationEnvelope, ComponentContextPack, ComponentAuthoringManifest, DiagnosticRecord, NestedPortCatalogRegistry, CompositionValidatorService, ApiUrlEntry, DynamicWidgetPageComponent, ConfigDocument, WidgetEventEnvelope, ObservabilityAgenticTurnMetrics, SettingsPanelBridge, ObservabilityAgenticTurnMetricBucket, RichTimelineItem } from '@praxisui/core';
|
|
5
|
+
import { ComponentDocMeta, WidgetShellConfig, ComponentMetadataRegistry, PraxisI18nService, SettingsEditorSection, EndpointRef, PraxisTextValue, WidgetShellPresetCategory, CompositionLink, WidgetShellAction, WidgetPageAuthoringCapabilities, PortContract, ComponentPortPathSegment, LinkIntent, WidgetPageDefinition, SurfaceOpenActionEditorComponent, TransformKind, TransformPipeline, SurfaceOpenPayload, WidgetPageDeviceKind, SettingsValueProvider as SettingsValueProvider$1, WidgetShellPresetDefinition, WidgetPageCanvasLayout, WidgetPageGroupingDefinition, WidgetPageDataSourceDefinition, WidgetPageDataSourceKind, WidgetPageDataSourceMethod, WidgetPageDataSourceErrorPolicy, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, PageIdentity, WidgetStateNode, WidgetDerivedStateNode, AiCapability, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, WidgetPageDeviceLayouts, WidgetPageSlotAssignments, WidgetPageStateInput, WidgetInstance, TransformOutputHint, TransformSemanticKind, ConfigAuthoringSource, DomainKnowledgeChangeSetRequest, DomainKnowledgeChangeSet, DomainKnowledgeChangeSetTimelineResponse, DomainKnowledgeChangeSetFilters, DomainKnowledgeValidationResponse, DomainKnowledgeStatusTransitionRequest, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleDefinitionRequest, DomainRuleDefinition, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleStatusTransitionRequest, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleMaterializationFilters, DomainRuleMaterialization, DomainRuleTimelineResponse, PraxisRuntimeComponentObservationEnvelope, ComponentContextPack, ComponentAuthoringManifest, DiagnosticRecord, NestedPortCatalogRegistry, CompositionValidatorService, ApiUrlEntry, DynamicWidgetPageComponent, ConfigDocument, WidgetPagePersistenceState, WidgetEventEnvelope, ObservabilityAgenticTurnMetrics, SettingsPanelBridge, ObservabilityAgenticTurnMetricBucket, RichTimelineItem } from '@praxisui/core';
|
|
6
6
|
import * as rxjs from 'rxjs';
|
|
7
7
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
8
8
|
import { FormGroup, FormControl, FormArray, AbstractControl } from '@angular/forms';
|
|
@@ -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;
|
|
@@ -1091,8 +1091,50 @@ declare class CanvasConstraintEditorModel {
|
|
|
1091
1091
|
width: number;
|
|
1092
1092
|
height: number;
|
|
1093
1093
|
};
|
|
1094
|
+
private resolveFriendlyWidgetTitle;
|
|
1094
1095
|
}
|
|
1095
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
|
+
}
|
|
1096
1138
|
type EditorTabId$1 = 'canvas' | 'grouping' | 'devices' | 'context' | 'state' | 'limits';
|
|
1097
1139
|
type DeviceKey = 'desktop' | 'tablet' | 'mobile';
|
|
1098
1140
|
type GroupingNodeGroup$1 = FormGroup<{
|
|
@@ -1105,6 +1147,21 @@ type GroupingNodeGroup$1 = FormGroup<{
|
|
|
1105
1147
|
side: FormControl<string>;
|
|
1106
1148
|
tabsJson: FormControl<string>;
|
|
1107
1149
|
}>;
|
|
1150
|
+
type DataSourceNodeGroup$1 = FormGroup<{
|
|
1151
|
+
id: FormControl<string>;
|
|
1152
|
+
kind: FormControl<string>;
|
|
1153
|
+
resourcePath: FormControl<string>;
|
|
1154
|
+
endpointKey: FormControl<string>;
|
|
1155
|
+
method: FormControl<string>;
|
|
1156
|
+
targetStatePath: FormControl<string>;
|
|
1157
|
+
errorPolicy: FormControl<string>;
|
|
1158
|
+
refreshIntervalMs: FormControl<number | null>;
|
|
1159
|
+
autoFetch: FormControl<string>;
|
|
1160
|
+
description: FormControl<string>;
|
|
1161
|
+
queryJson: FormControl<string>;
|
|
1162
|
+
transformJson: FormControl<string>;
|
|
1163
|
+
fallbackJson: FormControl<string>;
|
|
1164
|
+
}>;
|
|
1108
1165
|
type DeviceVariantForm = FormGroup<{
|
|
1109
1166
|
columns: FormControl<number | null>;
|
|
1110
1167
|
rowUnit: FormControl<string>;
|
|
@@ -1186,6 +1243,7 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
|
|
|
1186
1243
|
key: string;
|
|
1187
1244
|
number: number;
|
|
1188
1245
|
label: string;
|
|
1246
|
+
widgetKey?: string;
|
|
1189
1247
|
col: number;
|
|
1190
1248
|
row: number;
|
|
1191
1249
|
colSpan: number;
|
|
@@ -1228,6 +1286,8 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
|
|
|
1228
1286
|
readonly shellPresetControl: FormControl<string>;
|
|
1229
1287
|
readonly contextControl: FormControl<string>;
|
|
1230
1288
|
readonly stateControl: FormControl<string>;
|
|
1289
|
+
readonly dataSourcesControl: FormControl<string>;
|
|
1290
|
+
readonly dataSourceNodes: FormArray<DataSourceNodeGroup$1>;
|
|
1231
1291
|
readonly groupingNodes: FormArray<GroupingNodeGroup$1>;
|
|
1232
1292
|
readonly deviceForms: Record<DeviceKey, DeviceVariantForm>;
|
|
1233
1293
|
readonly isDirty$: BehaviorSubject<boolean>;
|
|
@@ -1242,19 +1302,51 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
|
|
|
1242
1302
|
readonly canvasLimits: CanvasConstraintEditorModel;
|
|
1243
1303
|
readonly limitsTargetControl: FormControl<number>;
|
|
1244
1304
|
readonly limitsError: WritableSignal<string | null>;
|
|
1305
|
+
readonly previousAdjustableHeights: WritableSignal<{
|
|
1306
|
+
key: string;
|
|
1307
|
+
title: string;
|
|
1308
|
+
scope: string;
|
|
1309
|
+
scopeLabel: string;
|
|
1310
|
+
heightPx: number;
|
|
1311
|
+
}[]>;
|
|
1245
1312
|
readonly limitsErrorMatcher: {
|
|
1246
1313
|
isErrorState: (control: FormControl | null) => boolean;
|
|
1247
1314
|
};
|
|
1248
1315
|
private readonly injectedData;
|
|
1249
1316
|
readonly isHostedInSettingsPanel: boolean;
|
|
1250
1317
|
private readonly i18n;
|
|
1318
|
+
private readonly dataSourceRuntime;
|
|
1319
|
+
private readonly stateRuntime;
|
|
1251
1320
|
private pageInput;
|
|
1252
1321
|
private snapshot;
|
|
1253
1322
|
readonly stackedDevices: Set<DeviceKey>;
|
|
1254
1323
|
readonly activeDevice: WritableSignal<DeviceKey>;
|
|
1255
1324
|
private hydrating;
|
|
1325
|
+
private syncingDataSources;
|
|
1326
|
+
private guidedDataSourcesInvalid;
|
|
1256
1327
|
private renderedCandidate;
|
|
1257
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>;
|
|
1258
1350
|
private readonly tabOrder;
|
|
1259
1351
|
constructor();
|
|
1260
1352
|
ngOnInit(): void;
|
|
@@ -1265,6 +1357,17 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
|
|
|
1265
1357
|
get dirtyStateLabel(): string;
|
|
1266
1358
|
get nonLimitError(): string | null;
|
|
1267
1359
|
get limitsSummaryError(): string | null;
|
|
1360
|
+
get blockedGeometryWidgets(): Array<{
|
|
1361
|
+
targetIndex: number;
|
|
1362
|
+
key: string;
|
|
1363
|
+
title: string;
|
|
1364
|
+
scope: string;
|
|
1365
|
+
scopeLabel: string;
|
|
1366
|
+
heightPx: number | null;
|
|
1367
|
+
message: string;
|
|
1368
|
+
}>;
|
|
1369
|
+
navigateToBlockedLimit(targetIndex?: number): void;
|
|
1370
|
+
switchBlockedWidgetsToAutoHeight(): void;
|
|
1268
1371
|
get selectedLayoutPresetLabel(): string;
|
|
1269
1372
|
get selectedThemePresetLabel(): string;
|
|
1270
1373
|
get selectedLayoutPresetEntry(): LayoutPresetEntry | null;
|
|
@@ -1285,6 +1388,61 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
|
|
|
1285
1388
|
private stackedCanvas;
|
|
1286
1389
|
addGroupingNode(seed?: WidgetPageGroupingDefinition): void;
|
|
1287
1390
|
removeGroupingNode(index: number): void;
|
|
1391
|
+
addDataSourceNode(seed?: Partial<WidgetPageDataSourceDefinition>): void;
|
|
1392
|
+
removeDataSourceNode(index: number): void;
|
|
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;
|
|
1288
1446
|
layoutPresetSummary(preset: LayoutPresetEntry): string;
|
|
1289
1447
|
slotsSummary(preset: LayoutPresetEntry): string;
|
|
1290
1448
|
requiredSlotsSummary(preset: LayoutPresetEntry): string;
|
|
@@ -1304,6 +1462,12 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
|
|
|
1304
1462
|
protected refreshRenderedValidation(): void;
|
|
1305
1463
|
private createDeviceVariantForm;
|
|
1306
1464
|
private createGroupingNodeGroup;
|
|
1465
|
+
private createDataSourceNodeGroup;
|
|
1466
|
+
private replaceDataSourceNodes;
|
|
1467
|
+
private buildDataSourcesFromNodes;
|
|
1468
|
+
private syncDataSourcesJsonFromNodes;
|
|
1469
|
+
private syncDataSourceNodesFromJson;
|
|
1470
|
+
private inferPageResourcePath;
|
|
1307
1471
|
private hydrate;
|
|
1308
1472
|
private replaceGroupingNodes;
|
|
1309
1473
|
private buildCurrentPage;
|
|
@@ -1316,13 +1480,19 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
|
|
|
1316
1480
|
private invalidate;
|
|
1317
1481
|
private refreshPanelState;
|
|
1318
1482
|
get layoutPresetOptions(): WidgetPageDefinition['layoutPresetOptions'];
|
|
1483
|
+
private effectivePageInput;
|
|
1319
1484
|
private currentPageInput;
|
|
1320
1485
|
private parsePage;
|
|
1321
1486
|
private parseJson;
|
|
1322
1487
|
private parseRecordJson;
|
|
1488
|
+
private parseDataSourcesJson;
|
|
1489
|
+
private isValidDataSourceTransform;
|
|
1490
|
+
private validateDataSourceEntry;
|
|
1491
|
+
private isValidDataSourcesPayload;
|
|
1323
1492
|
private parseGroupingTabs;
|
|
1324
1493
|
private parseGroupingOverrides;
|
|
1325
1494
|
private parseWidgetOverrides;
|
|
1495
|
+
private validateWidgetOverrides;
|
|
1326
1496
|
private isGroupingTab;
|
|
1327
1497
|
private isGroupingOverride;
|
|
1328
1498
|
private isWidgetOverride;
|
|
@@ -1337,6 +1507,12 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
|
|
|
1337
1507
|
private applyShellPresetToContext;
|
|
1338
1508
|
private lookupPresetLabel;
|
|
1339
1509
|
private defaultCanvas;
|
|
1510
|
+
private parseKeyValuePairs;
|
|
1511
|
+
private buildSamplePayloadForDataSource;
|
|
1512
|
+
private collectStateTokensForValue;
|
|
1513
|
+
private assignNestedValue;
|
|
1514
|
+
private collectWidgetBindingsRecursive;
|
|
1515
|
+
private humanizeResourceTitle;
|
|
1340
1516
|
private clone;
|
|
1341
1517
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageConfigEditorComponent, never>;
|
|
1342
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>;
|
|
@@ -1408,11 +1584,29 @@ type GroupingNodeGroup = FormGroup<{
|
|
|
1408
1584
|
side: FormControl<string>;
|
|
1409
1585
|
tabsJson: FormControl<string>;
|
|
1410
1586
|
}>;
|
|
1587
|
+
type DataSourceNodeGroup = FormGroup<{
|
|
1588
|
+
id: FormControl<string>;
|
|
1589
|
+
kind: FormControl<string>;
|
|
1590
|
+
resourcePath: FormControl<string>;
|
|
1591
|
+
endpointKey: FormControl<string>;
|
|
1592
|
+
method: FormControl<string>;
|
|
1593
|
+
targetStatePath: FormControl<string>;
|
|
1594
|
+
errorPolicy: FormControl<string>;
|
|
1595
|
+
refreshIntervalMs: FormControl<number | null>;
|
|
1596
|
+
autoFetch: FormControl<string>;
|
|
1597
|
+
queryJson: FormControl<string>;
|
|
1598
|
+
transformJson: FormControl<string>;
|
|
1599
|
+
fallbackJson: FormControl<string>;
|
|
1600
|
+
description: FormControl<string>;
|
|
1601
|
+
}>;
|
|
1411
1602
|
declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
|
|
1412
1603
|
protected readonly derivedOperators: readonly ["merge-objects", "pick", "omit"];
|
|
1413
1604
|
protected readonly mergeStrategies: readonly ["replace", "merge", "append", "remove-keys"];
|
|
1414
1605
|
protected readonly valueModes: readonly ["json", "string", "number", "boolean", "null"];
|
|
1415
1606
|
protected readonly groupingKinds: readonly ["section", "tabs", "hero", "rail"];
|
|
1607
|
+
protected readonly dataSourceKinds: WidgetPageDataSourceKind[];
|
|
1608
|
+
protected readonly dataSourceMethods: WidgetPageDataSourceMethod[];
|
|
1609
|
+
protected readonly dataSourceErrorPolicies: WidgetPageDataSourceErrorPolicy[];
|
|
1416
1610
|
protected readonly layoutPresetEntries: Array<(typeof BUILTIN_PAGE_LAYOUT_PRESETS)[string]>;
|
|
1417
1611
|
protected readonly themePresetEntries: Array<(typeof BUILTIN_PAGE_THEME_PRESETS)[string]>;
|
|
1418
1612
|
readonly page: _angular_core.InputSignal<string | PageDefinition | null>;
|
|
@@ -1432,9 +1626,11 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
|
|
|
1432
1626
|
readonly groupingControl: FormControl<string>;
|
|
1433
1627
|
readonly deviceLayoutsControl: FormControl<string>;
|
|
1434
1628
|
readonly stateValuesControl: FormControl<string>;
|
|
1629
|
+
readonly dataSourcesControl: FormControl<string>;
|
|
1435
1630
|
readonly groupingNodes: FormArray<GroupingNodeGroup>;
|
|
1436
1631
|
readonly schemaNodes: FormArray<SchemaNodeGroup>;
|
|
1437
1632
|
readonly derivedNodes: FormArray<DerivedNodeGroup>;
|
|
1633
|
+
readonly dataSourceNodes: FormArray<DataSourceNodeGroup>;
|
|
1438
1634
|
readonly deviceDesktopForm: FormGroup<{
|
|
1439
1635
|
orientation: FormControl<string>;
|
|
1440
1636
|
columns: FormControl<number | null>;
|
|
@@ -1471,6 +1667,8 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
|
|
|
1471
1667
|
private lastGrouping;
|
|
1472
1668
|
private lastDeviceLayouts;
|
|
1473
1669
|
private lastStateValues;
|
|
1670
|
+
private lastDataSources;
|
|
1671
|
+
private dataSourcesEditSource;
|
|
1474
1672
|
private readonly dirtySubject;
|
|
1475
1673
|
private readonly validSubject;
|
|
1476
1674
|
private readonly busySubject;
|
|
@@ -1492,6 +1690,7 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
|
|
|
1492
1690
|
protected get selectedShellPresetLabel(): string;
|
|
1493
1691
|
protected get contextExample(): string;
|
|
1494
1692
|
protected get stateValuesExample(): string;
|
|
1693
|
+
protected get dataSourcesExample(): string;
|
|
1495
1694
|
protected get layoutPresetHint(): string;
|
|
1496
1695
|
protected get themePresetHint(): string;
|
|
1497
1696
|
protected get shellPresetHint(): string;
|
|
@@ -1515,6 +1714,8 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
|
|
|
1515
1714
|
config?: WidgetDerivedStateNode;
|
|
1516
1715
|
}): void;
|
|
1517
1716
|
removeDerivedNode(index: number): void;
|
|
1717
|
+
addDataSourceNode(seed?: WidgetPageDataSourceDefinition): void;
|
|
1718
|
+
removeDataSourceNode(index: number): void;
|
|
1518
1719
|
addGroupingNode(seed?: WidgetPageGroupingDefinition): void;
|
|
1519
1720
|
removeGroupingNode(index: number): void;
|
|
1520
1721
|
setActiveTab(tab: EditorTabId): void;
|
|
@@ -1526,11 +1727,24 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
|
|
|
1526
1727
|
private stringifyGroupingWidgetKeys;
|
|
1527
1728
|
private buildGrouping;
|
|
1528
1729
|
private hydrateDeviceLayoutControls;
|
|
1730
|
+
private deviceOverridesError;
|
|
1529
1731
|
private buildDeviceLayouts;
|
|
1530
1732
|
private createDeviceLayoutForm;
|
|
1531
1733
|
private patchDeviceLayoutForm;
|
|
1532
1734
|
private buildDeviceLayoutVariant;
|
|
1533
1735
|
private hydrateStateEditor;
|
|
1736
|
+
private hydrateDataSourcesEditor;
|
|
1737
|
+
private normalizeDataSourcesArray;
|
|
1738
|
+
private replaceDataSourceNodes;
|
|
1739
|
+
private createDataSourceNodeGroup;
|
|
1740
|
+
private syncDataSourceNodesFromControl;
|
|
1741
|
+
private syncDataSourcesControlFromNodes;
|
|
1742
|
+
private isPlainRecord;
|
|
1743
|
+
private isValidDataSourceTransform;
|
|
1744
|
+
private validateDataSourceEntry;
|
|
1745
|
+
private isValidDataSourcesPayload;
|
|
1746
|
+
private buildDataSourcesFromNodes;
|
|
1747
|
+
private buildDataSources;
|
|
1534
1748
|
private replaceSchemaNodes;
|
|
1535
1749
|
private replaceDerivedNodes;
|
|
1536
1750
|
private createSchemaNodeGroup;
|
|
@@ -2153,7 +2367,7 @@ type BuilderCanvasLayout = {
|
|
|
2153
2367
|
rowUnit?: string;
|
|
2154
2368
|
gap?: string;
|
|
2155
2369
|
autoRows?: 'fixed' | 'content';
|
|
2156
|
-
collisionPolicy?: 'block' | 'swap';
|
|
2370
|
+
collisionPolicy?: 'block' | 'swap' | 'push-down';
|
|
2157
2371
|
items: Record<string, BuilderCanvasItem>;
|
|
2158
2372
|
};
|
|
2159
2373
|
type BuilderPageDefinition = Omit<WidgetPageDefinition, 'widgets'> & {
|
|
@@ -2267,20 +2481,6 @@ interface AgenticAuthoringQuickReply extends PraxisAssistantShellQuickReply {
|
|
|
2267
2481
|
kind: string;
|
|
2268
2482
|
}
|
|
2269
2483
|
type AgenticAuthoringPanelLayout = PraxisAssistantShellLayout;
|
|
2270
|
-
type PageBuilderPremiumReadinessSeverity = 'info' | 'warning' | 'error';
|
|
2271
|
-
type PageBuilderPremiumReadinessActionKind = 'open-page-settings' | 'open-connections' | 'open-widget-config' | 'focus-widget';
|
|
2272
|
-
interface PageBuilderPremiumReadinessAction {
|
|
2273
|
-
kind: PageBuilderPremiumReadinessActionKind;
|
|
2274
|
-
label: string;
|
|
2275
|
-
widgetKey?: string;
|
|
2276
|
-
}
|
|
2277
|
-
interface PageBuilderPremiumReadinessIssue {
|
|
2278
|
-
id: string;
|
|
2279
|
-
severity: PageBuilderPremiumReadinessSeverity;
|
|
2280
|
-
title: string;
|
|
2281
|
-
description: string;
|
|
2282
|
-
action?: PageBuilderPremiumReadinessAction;
|
|
2283
|
-
}
|
|
2284
2484
|
type SharedRuleCockpitAction = 'definition' | 'simulation' | 'approve' | 'activate' | 'publication' | 'materializations' | 'timeline' | 'enforcement';
|
|
2285
2485
|
type ProjectKnowledgeCockpitAction = 'change-set' | 'validate' | 'approve' | 'reject' | 'apply' | 'readback';
|
|
2286
2486
|
interface SharedRuleEnforcementSummary {
|
|
@@ -2333,14 +2533,18 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
|
|
|
2333
2533
|
private readonly observabilityDashboard;
|
|
2334
2534
|
private readonly runtimeObservationRegistry;
|
|
2335
2535
|
private readonly agenticAuthoringOptions;
|
|
2536
|
+
private readonly customizationMode;
|
|
2336
2537
|
runtime?: DynamicWidgetPageComponent;
|
|
2337
2538
|
page?: WidgetPageDefinition | string;
|
|
2338
2539
|
context?: Record<string, unknown> | null;
|
|
2339
2540
|
strictValidation: boolean;
|
|
2541
|
+
/** Opt in to Core persistence; hosts managing their own documents leave this disabled. */
|
|
2340
2542
|
autoPersist: boolean;
|
|
2341
2543
|
enableCustomization: boolean;
|
|
2342
2544
|
authoringCapabilities?: PageBuilderAuthoringCapabilities | null;
|
|
2343
2545
|
showSettingsButton: boolean;
|
|
2546
|
+
showGovernanceToolbar: boolean;
|
|
2547
|
+
governanceToolbarTitle?: string;
|
|
2344
2548
|
pageIdentity?: PageIdentity;
|
|
2345
2549
|
componentInstanceId?: string;
|
|
2346
2550
|
pageEditorComponent: Type<any> | undefined;
|
|
@@ -2364,6 +2568,8 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
|
|
|
2364
2568
|
canDeleteSavedPage: boolean;
|
|
2365
2569
|
pageLifecycleBusy: boolean;
|
|
2366
2570
|
pageLifecycleResetRevision: number | string | null;
|
|
2571
|
+
readonly persistenceChange: _angular_core.OutputEmitterRef<WidgetPagePersistenceState>;
|
|
2572
|
+
private runtimePersistenceStatus;
|
|
2367
2573
|
pageChange: EventEmitter<WidgetPageDefinition>;
|
|
2368
2574
|
/** Emits only explicit visual authoring operations, never runtime state changes. */
|
|
2369
2575
|
readonly pageAuthoringChange: _angular_core.OutputEmitterRef<WidgetPageDefinition>;
|
|
@@ -2373,10 +2579,16 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
|
|
|
2373
2579
|
agenticAuthoringSharedRuleHandoff: EventEmitter<PageBuilderAgenticAuthoringSharedRuleHandoff>;
|
|
2374
2580
|
pageRestart: EventEmitter<void>;
|
|
2375
2581
|
savedPageDeleteRequested: EventEmitter<void>;
|
|
2582
|
+
customizationChange: EventEmitter<boolean>;
|
|
2376
2583
|
readonly currentPage: _angular_core.WritableSignal<WidgetPageDefinition>;
|
|
2584
|
+
readonly isCustomizing: _angular_core.WritableSignal<boolean>;
|
|
2585
|
+
readonly governancePersistence: _angular_core.WritableSignal<WidgetPagePersistenceState>;
|
|
2586
|
+
readonly isLayoutCustomized: _angular_core.Signal<boolean>;
|
|
2587
|
+
readonly isGovernanceBusy: _angular_core.Signal<boolean>;
|
|
2588
|
+
readonly governancePersistenceLabel: _angular_core.Signal<string>;
|
|
2589
|
+
readonly governanceLastSavedAt: _angular_core.Signal<string | null>;
|
|
2377
2590
|
readonly hasPageWidgets: _angular_core.Signal<boolean>;
|
|
2378
2591
|
readonly hasRecommendedConnectionSuggestion: _angular_core.Signal<boolean>;
|
|
2379
|
-
readonly premiumReadinessIssues: _angular_core.Signal<PageBuilderPremiumReadinessIssue[]>;
|
|
2380
2592
|
readonly connectionsViewerOpen: _angular_core.WritableSignal<boolean>;
|
|
2381
2593
|
readonly agenticAuthoringOpen: _angular_core.WritableSignal<boolean>;
|
|
2382
2594
|
readonly agenticAuthoringPrompt: _angular_core.WritableSignal<string>;
|
|
@@ -2439,19 +2651,28 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
|
|
|
2439
2651
|
constructor(dialog: MatDialog, settingsPanel: SettingsPanelBridge | null);
|
|
2440
2652
|
ngOnChanges(changes: SimpleChanges): void;
|
|
2441
2653
|
ngOnDestroy(): void;
|
|
2654
|
+
toggleGovernanceCustomization(): void;
|
|
2655
|
+
isCustomizationEnabled(): boolean;
|
|
2442
2656
|
showSettings(): boolean;
|
|
2443
2657
|
canInsertWidgets(): boolean;
|
|
2444
2658
|
canOpenPageSettings(): boolean;
|
|
2445
2659
|
canEditConnections(): boolean;
|
|
2446
2660
|
canPreviewPage(): boolean;
|
|
2447
2661
|
canUseAgenticAuthoring(): boolean;
|
|
2448
|
-
canRunPremiumReadinessAction(action: PageBuilderPremiumReadinessAction): boolean;
|
|
2449
2662
|
canUsePageLifecycle(): boolean;
|
|
2450
2663
|
private isAuthoringCapabilityEnabled;
|
|
2451
2664
|
isPreviewMode(): boolean;
|
|
2452
2665
|
runtimePage(): WidgetPageDefinition;
|
|
2453
2666
|
runtimeAuthoringCapabilities(): PageBuilderAuthoringCapabilities;
|
|
2454
2667
|
builderModeLabel(): string;
|
|
2668
|
+
/** Governed documents and agentic previews retain their explicit host/apply lifecycle. */
|
|
2669
|
+
runtimeAutoPersist(): boolean;
|
|
2670
|
+
/** Explicitly discard the local draft and reload the current identity's saved page. */
|
|
2671
|
+
reloadPersistedPage(defaultPage?: WidgetPageDefinition): void;
|
|
2672
|
+
/** Clear the current identity's saved document after storage acknowledgement. */
|
|
2673
|
+
resetPersistedPage(defaultPage?: WidgetPageDefinition): void;
|
|
2674
|
+
onRuntimePersistenceChange(state: WidgetPagePersistenceState): void;
|
|
2675
|
+
private syncShellPageGovernance;
|
|
2455
2676
|
onRuntimePageChange(next: WidgetPageDefinition): void;
|
|
2456
2677
|
onRuntimePageAuthoringChange(next: WidgetPageDefinition): void;
|
|
2457
2678
|
onRuntimeWidgetEvent(event: WidgetEventEnvelope): void;
|
|
@@ -2476,15 +2697,10 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
|
|
|
2476
2697
|
addWidget(selection: string | ComponentPaletteSelection): void;
|
|
2477
2698
|
private layoutHintsFor;
|
|
2478
2699
|
openPageSettings(): void;
|
|
2700
|
+
/** Retries the current persisted draft, including an intentionally empty page. */
|
|
2701
|
+
retryPersistedPage(): void;
|
|
2479
2702
|
saveCurrentPage(): void;
|
|
2480
2703
|
canSaveCurrentPage(): boolean;
|
|
2481
|
-
private evaluatePremiumReadiness;
|
|
2482
|
-
runPremiumReadinessAction(issue: PageBuilderPremiumReadinessIssue): void;
|
|
2483
|
-
private isPremiumReadinessCandidate;
|
|
2484
|
-
private hasDisconnectedOperationalWidgets;
|
|
2485
|
-
private latePrimaryChartKey;
|
|
2486
|
-
private usesLocalAnalyticData;
|
|
2487
|
-
private isAnalyticWidget;
|
|
2488
2704
|
applyConfigFromAdapter(config: PageBuilderConfig): void;
|
|
2489
2705
|
private createAdapterHost;
|
|
2490
2706
|
toggleAgenticAuthoring(): void;
|
|
@@ -2718,7 +2934,7 @@ declare class DynamicPageBuilderComponent implements OnChanges, OnDestroy {
|
|
|
2718
2934
|
authoringSourceDiagnosticText(diagnostic: UiCompositionAuthoringSourceDiagnostic): string;
|
|
2719
2935
|
tx(key: string, fallback: string): string;
|
|
2720
2936
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DynamicPageBuilderComponent, [null, { optional: true; }]>;
|
|
2721
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicPageBuilderComponent, "praxis-dynamic-page-builder", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "authoringCapabilities": { "alias": "authoringCapabilities"; "required": false; }; "showSettingsButton": { "alias": "showSettingsButton"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "componentPaletteAllowedWidgetIds": { "alias": "componentPaletteAllowedWidgetIds"; "required": false; }; "componentPaletteAllowedWidgetTags": { "alias": "componentPaletteAllowedWidgetTags"; "required": false; }; "componentPaletteAllowedPresetIds": { "alias": "componentPaletteAllowedPresetIds"; "required": false; }; "enableAgenticAuthoring": { "alias": "enableAgenticAuthoring"; "required": false; }; "agenticAuthoringProvider": { "alias": "agenticAuthoringProvider"; "required": false; }; "agenticAuthoringModel": { "alias": "agenticAuthoringModel"; "required": false; }; "agenticAuthoringApiKey": { "alias": "agenticAuthoringApiKey"; "required": false; }; "agenticAuthoringComponentId": { "alias": "agenticAuthoringComponentId"; "required": false; }; "agenticAuthoringScope": { "alias": "agenticAuthoringScope"; "required": false; }; "agenticAuthoringEtag": { "alias": "agenticAuthoringEtag"; "required": false; }; "agenticAuthoringIncludeLlmDiagnostics": { "alias": "agenticAuthoringIncludeLlmDiagnostics"; "required": false; }; "agenticAuthoringEnableStreaming": { "alias": "agenticAuthoringEnableStreaming"; "required": false; }; "agenticAuthoringVoiceInputMode": { "alias": "agenticAuthoringVoiceInputMode"; "required": false; }; "agenticAuthoringContextHints": { "alias": "agenticAuthoringContextHints"; "required": false; }; "authoringDocument": { "alias": "authoringDocument"; "required": false; }; "showPageLifecycleActions": { "alias": "showPageLifecycleActions"; "required": false; }; "canDeleteSavedPage": { "alias": "canDeleteSavedPage"; "required": false; }; "pageLifecycleBusy": { "alias": "pageLifecycleBusy"; "required": false; }; "pageLifecycleResetRevision": { "alias": "pageLifecycleResetRevision"; "required": false; }; }, { "pageChange": "pageChange"; "pageAuthoringChange": "pageAuthoringChange"; "widgetEvent": "widgetEvent"; "pageSaveRequested": "pageSaveRequested"; "agenticAuthoringApplied": "agenticAuthoringApplied"; "agenticAuthoringSharedRuleHandoff": "agenticAuthoringSharedRuleHandoff"; "pageRestart": "pageRestart"; "savedPageDeleteRequested": "savedPageDeleteRequested"; }, never, never, true, never>;
|
|
2937
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DynamicPageBuilderComponent, "praxis-dynamic-page-builder", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "authoringCapabilities": { "alias": "authoringCapabilities"; "required": false; }; "showSettingsButton": { "alias": "showSettingsButton"; "required": false; }; "showGovernanceToolbar": { "alias": "showGovernanceToolbar"; "required": false; }; "governanceToolbarTitle": { "alias": "governanceToolbarTitle"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "componentPaletteAllowedWidgetIds": { "alias": "componentPaletteAllowedWidgetIds"; "required": false; }; "componentPaletteAllowedWidgetTags": { "alias": "componentPaletteAllowedWidgetTags"; "required": false; }; "componentPaletteAllowedPresetIds": { "alias": "componentPaletteAllowedPresetIds"; "required": false; }; "enableAgenticAuthoring": { "alias": "enableAgenticAuthoring"; "required": false; }; "agenticAuthoringProvider": { "alias": "agenticAuthoringProvider"; "required": false; }; "agenticAuthoringModel": { "alias": "agenticAuthoringModel"; "required": false; }; "agenticAuthoringApiKey": { "alias": "agenticAuthoringApiKey"; "required": false; }; "agenticAuthoringComponentId": { "alias": "agenticAuthoringComponentId"; "required": false; }; "agenticAuthoringScope": { "alias": "agenticAuthoringScope"; "required": false; }; "agenticAuthoringEtag": { "alias": "agenticAuthoringEtag"; "required": false; }; "agenticAuthoringIncludeLlmDiagnostics": { "alias": "agenticAuthoringIncludeLlmDiagnostics"; "required": false; }; "agenticAuthoringEnableStreaming": { "alias": "agenticAuthoringEnableStreaming"; "required": false; }; "agenticAuthoringVoiceInputMode": { "alias": "agenticAuthoringVoiceInputMode"; "required": false; }; "agenticAuthoringContextHints": { "alias": "agenticAuthoringContextHints"; "required": false; }; "authoringDocument": { "alias": "authoringDocument"; "required": false; }; "showPageLifecycleActions": { "alias": "showPageLifecycleActions"; "required": false; }; "canDeleteSavedPage": { "alias": "canDeleteSavedPage"; "required": false; }; "pageLifecycleBusy": { "alias": "pageLifecycleBusy"; "required": false; }; "pageLifecycleResetRevision": { "alias": "pageLifecycleResetRevision"; "required": false; }; }, { "persistenceChange": "persistenceChange"; "pageChange": "pageChange"; "pageAuthoringChange": "pageAuthoringChange"; "widgetEvent": "widgetEvent"; "pageSaveRequested": "pageSaveRequested"; "agenticAuthoringApplied": "agenticAuthoringApplied"; "agenticAuthoringSharedRuleHandoff": "agenticAuthoringSharedRuleHandoff"; "pageRestart": "pageRestart"; "savedPageDeleteRequested": "savedPageDeleteRequested"; "customizationChange": "customizationChange"; }, never, never, true, never>;
|
|
2722
2938
|
}
|
|
2723
2939
|
|
|
2724
2940
|
/** Metadata for Praxis Page Builder component */
|
|
@@ -2726,5 +2942,19 @@ declare const PRAXIS_PAGE_BUILDER_COMPONENT_METADATA: ComponentDocMeta;
|
|
|
2726
2942
|
/** Provider para auto-registrar metadados do componente Page Builder. */
|
|
2727
2943
|
declare function providePraxisPageBuilderMetadata(): Provider;
|
|
2728
2944
|
|
|
2729
|
-
|
|
2730
|
-
|
|
2945
|
+
/**
|
|
2946
|
+
* Type guard that verifies if an item is a canonical ComponentDocMeta.
|
|
2947
|
+
*/
|
|
2948
|
+
declare function isComponentDocMeta(value: unknown): value is ComponentDocMeta;
|
|
2949
|
+
/**
|
|
2950
|
+
* Convenient provider factory for registering widgets in the Page Builder host.
|
|
2951
|
+
*
|
|
2952
|
+
* Accepts a list of either Angular `Provider` entries (such as `providePraxisListMetadata()`)
|
|
2953
|
+
* or direct `ComponentDocMeta` definitions (such as `PRAXIS_LIST_COMPONENT_METADATA`).
|
|
2954
|
+
* Any `ComponentDocMeta` passed will be automatically registered with the
|
|
2955
|
+
* `ComponentMetadataRegistry` during environment initialization.
|
|
2956
|
+
*/
|
|
2957
|
+
declare function providePraxisPageBuilderWidgets(widgets?: Array<Provider | ComponentDocMeta>): Provider[];
|
|
2958
|
+
|
|
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 };
|
|
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 };
|