@praxisui/page-builder 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,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/page-builder",
3
- "version": "10.0.0-rc.19",
3
+ "version": "10.0.0-rc.21",
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.19",
12
- "@praxisui/core": "^10.0.0-rc.19",
13
- "@praxisui/settings-panel": "^10.0.0-rc.19",
11
+ "@praxisui/ai": "^10.0.0-rc.21",
12
+ "@praxisui/core": "^10.0.0-rc.21",
13
+ "@praxisui/settings-panel": "^10.0.0-rc.21",
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, WidgetPageDataSourceKind, WidgetPageDataSourceMethod, WidgetPageDataSourceErrorPolicy, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, PageIdentity, WidgetStateNode, WidgetDerivedStateNode, WidgetPageDataSourceDefinition, 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';
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';
@@ -1091,6 +1091,7 @@ declare class CanvasConstraintEditorModel {
1091
1091
  width: number;
1092
1092
  height: number;
1093
1093
  };
1094
+ private resolveFriendlyWidgetTitle;
1094
1095
  }
1095
1096
 
1096
1097
  type EditorTabId$1 = 'canvas' | 'grouping' | 'devices' | 'context' | 'state' | 'limits';
@@ -1105,6 +1106,21 @@ type GroupingNodeGroup$1 = FormGroup<{
1105
1106
  side: FormControl<string>;
1106
1107
  tabsJson: FormControl<string>;
1107
1108
  }>;
1109
+ type DataSourceNodeGroup$1 = FormGroup<{
1110
+ id: FormControl<string>;
1111
+ kind: FormControl<string>;
1112
+ resourcePath: FormControl<string>;
1113
+ endpointKey: FormControl<string>;
1114
+ method: FormControl<string>;
1115
+ targetStatePath: FormControl<string>;
1116
+ errorPolicy: FormControl<string>;
1117
+ refreshIntervalMs: FormControl<number | null>;
1118
+ autoFetch: FormControl<string>;
1119
+ description: FormControl<string>;
1120
+ queryJson: FormControl<string>;
1121
+ transformJson: FormControl<string>;
1122
+ fallbackJson: FormControl<string>;
1123
+ }>;
1108
1124
  type DeviceVariantForm = FormGroup<{
1109
1125
  columns: FormControl<number | null>;
1110
1126
  rowUnit: FormControl<string>;
@@ -1230,6 +1246,7 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1230
1246
  readonly contextControl: FormControl<string>;
1231
1247
  readonly stateControl: FormControl<string>;
1232
1248
  readonly dataSourcesControl: FormControl<string>;
1249
+ readonly dataSourceNodes: FormArray<DataSourceNodeGroup$1>;
1233
1250
  readonly groupingNodes: FormArray<GroupingNodeGroup$1>;
1234
1251
  readonly deviceForms: Record<DeviceKey, DeviceVariantForm>;
1235
1252
  readonly isDirty$: BehaviorSubject<boolean>;
@@ -1244,6 +1261,13 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1244
1261
  readonly canvasLimits: CanvasConstraintEditorModel;
1245
1262
  readonly limitsTargetControl: FormControl<number>;
1246
1263
  readonly limitsError: WritableSignal<string | null>;
1264
+ readonly previousAdjustableHeights: WritableSignal<{
1265
+ key: string;
1266
+ title: string;
1267
+ scope: string;
1268
+ scopeLabel: string;
1269
+ heightPx: number;
1270
+ }[]>;
1247
1271
  readonly limitsErrorMatcher: {
1248
1272
  isErrorState: (control: FormControl | null) => boolean;
1249
1273
  };
@@ -1255,6 +1279,8 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1255
1279
  readonly stackedDevices: Set<DeviceKey>;
1256
1280
  readonly activeDevice: WritableSignal<DeviceKey>;
1257
1281
  private hydrating;
1282
+ private syncingDataSources;
1283
+ private guidedDataSourcesInvalid;
1258
1284
  private renderedCandidate;
1259
1285
  private renderedValidationFingerprint;
1260
1286
  private readonly tabOrder;
@@ -1267,6 +1293,17 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1267
1293
  get dirtyStateLabel(): string;
1268
1294
  get nonLimitError(): string | null;
1269
1295
  get limitsSummaryError(): string | null;
1296
+ get blockedGeometryWidgets(): Array<{
1297
+ targetIndex: number;
1298
+ key: string;
1299
+ title: string;
1300
+ scope: string;
1301
+ scopeLabel: string;
1302
+ heightPx: number | null;
1303
+ message: string;
1304
+ }>;
1305
+ navigateToBlockedLimit(targetIndex?: number): void;
1306
+ switchBlockedWidgetsToAutoHeight(): void;
1270
1307
  get selectedLayoutPresetLabel(): string;
1271
1308
  get selectedThemePresetLabel(): string;
1272
1309
  get selectedLayoutPresetEntry(): LayoutPresetEntry | null;
@@ -1287,6 +1324,9 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1287
1324
  private stackedCanvas;
1288
1325
  addGroupingNode(seed?: WidgetPageGroupingDefinition): void;
1289
1326
  removeGroupingNode(index: number): void;
1327
+ addDataSourceNode(seed?: Partial<WidgetPageDataSourceDefinition>): void;
1328
+ removeDataSourceNode(index: number): void;
1329
+ dataSourceLabel(index: number): string;
1290
1330
  layoutPresetSummary(preset: LayoutPresetEntry): string;
1291
1331
  slotsSummary(preset: LayoutPresetEntry): string;
1292
1332
  requiredSlotsSummary(preset: LayoutPresetEntry): string;
@@ -1306,6 +1346,11 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1306
1346
  protected refreshRenderedValidation(): void;
1307
1347
  private createDeviceVariantForm;
1308
1348
  private createGroupingNodeGroup;
1349
+ private createDataSourceNodeGroup;
1350
+ private replaceDataSourceNodes;
1351
+ private buildDataSourcesFromNodes;
1352
+ private syncDataSourcesJsonFromNodes;
1353
+ private syncDataSourceNodesFromJson;
1309
1354
  private hydrate;
1310
1355
  private replaceGroupingNodes;
1311
1356
  private buildCurrentPage;
@@ -1323,10 +1368,13 @@ declare class DynamicPageConfigEditorComponent implements OnInit, SettingsValueP
1323
1368
  private parseJson;
1324
1369
  private parseRecordJson;
1325
1370
  private parseDataSourcesJson;
1371
+ private isValidDataSourceTransform;
1372
+ private validateDataSourceEntry;
1326
1373
  private isValidDataSourcesPayload;
1327
1374
  private parseGroupingTabs;
1328
1375
  private parseGroupingOverrides;
1329
1376
  private parseWidgetOverrides;
1377
+ private validateWidgetOverrides;
1330
1378
  private isGroupingTab;
1331
1379
  private isGroupingOverride;
1332
1380
  private isWidgetOverride;
@@ -1555,6 +1603,7 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
1555
1603
  private stringifyGroupingWidgetKeys;
1556
1604
  private buildGrouping;
1557
1605
  private hydrateDeviceLayoutControls;
1606
+ private deviceOverridesError;
1558
1607
  private buildDeviceLayouts;
1559
1608
  private createDeviceLayoutForm;
1560
1609
  private patchDeviceLayoutForm;
@@ -1566,6 +1615,9 @@ declare class PageConfigEditorComponent implements SettingsValueProvider$1 {
1566
1615
  private createDataSourceNodeGroup;
1567
1616
  private syncDataSourceNodesFromControl;
1568
1617
  private syncDataSourcesControlFromNodes;
1618
+ private isPlainRecord;
1619
+ private isValidDataSourceTransform;
1620
+ private validateDataSourceEntry;
1569
1621
  private isValidDataSourcesPayload;
1570
1622
  private buildDataSourcesFromNodes;
1571
1623
  private buildDataSources;