@praxisui/core 8.0.0-beta.8 → 8.0.0-beta.81

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.
@@ -1,9 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Type, Provider, ErrorHandler, EnvironmentProviders, OnChanges, EventEmitter, SimpleChanges, OnInit, OnDestroy, ElementRef, Renderer2 } from '@angular/core';
2
+ import { InjectionToken, Type, Provider, ErrorHandler, EnvironmentProviders, OnChanges, EventEmitter, SimpleChanges, OnInit, OnDestroy, ElementRef, AfterViewInit, Renderer2 } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { Observable, BehaviorSubject } from 'rxjs';
5
- import { HttpHeaders, HttpContext, HttpClient, HttpParams, HttpInterceptorFn, HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpFeature, HttpFeatureKind, HttpContextToken } from '@angular/common/http';
6
- import { ValidationErrors, ValidatorFn, AsyncValidatorFn, FormControl, FormGroup } from '@angular/forms';
5
+ import { HttpHeaders, HttpContext, HttpClient, HttpParams, HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpInterceptorFn, HttpFeature, HttpFeatureKind, HttpContextToken } from '@angular/common/http';
6
+ import * as _praxisui_core from '@praxisui/core';
7
+ import { ValidationErrors, ValidatorFn, AsyncValidatorFn, FormGroup, AbstractControl, FormControl } from '@angular/forms';
7
8
  import { ThemePalette, DateAdapter } from '@angular/material/core';
8
9
  import { ActivatedRoute } from '@angular/router';
9
10
  import { MatDialogRef } from '@angular/material/dialog';
@@ -76,20 +77,250 @@ interface LocateRequest {
76
77
  sort?: string[];
77
78
  }
78
79
 
79
- interface OptionSourceMetadata {
80
+ type OptionSourceType = 'RESOURCE_ENTITY' | 'DISTINCT_DIMENSION' | 'CATEGORICAL_BUCKET' | 'LIGHT_LOOKUP' | 'STATIC_CANONICAL';
81
+ type OptionSourceSearchMode = 'none' | 'starts-with' | 'contains' | 'exact';
82
+ type OptionSourceCachePolicy = 'none' | 'request-scope' | 'session-scope' | 'etag-aware';
83
+ type LookupOpenDetailMode = 'samePage' | 'newTab' | 'drawer' | 'modal' | 'route';
84
+ type LookupStatusTone = 'success' | 'warning' | 'danger' | 'neutral';
85
+ type LookupDialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
86
+ type LookupFilterFieldType = 'text' | 'enum' | 'date' | 'number' | 'reference';
87
+ type LookupFilterOperator = 'contains' | 'startsWith' | 'equals' | 'in' | 'before' | 'after' | 'between' | 'gt' | 'gte' | 'lt' | 'lte';
88
+ type EntityLookupSelectedLayout = 'card' | 'inline' | 'compact' | 'token';
89
+ type EntityLookupResultLayout = 'list' | 'denseList' | 'table' | 'card';
90
+ type EntityLookupDisplayPreset = 'compact' | 'rich' | 'directory' | 'status' | 'reference' | 'hierarchical';
91
+ type EntityLookupUsage = 'form' | 'filter' | 'table-cell' | 'dashboard' | 'wizard' | 'review';
92
+ type EntityLookupDensity = 'compact' | 'comfortable' | 'rich';
93
+ type EntityLookupDisplayFieldPresentation = 'text' | 'chip' | 'badge' | 'date' | 'currency' | 'metric';
94
+ interface EntityLookupDisplayFieldMetadata {
95
+ key?: string;
96
+ propertyPath?: string;
97
+ label?: string;
98
+ icon?: string;
99
+ presentation?: EntityLookupDisplayFieldPresentation | string;
100
+ tone?: LookupStatusTone | 'info' | string;
101
+ format?: string;
102
+ }
103
+ interface EntityLookupRichFieldMetadata extends EntityLookupDisplayFieldMetadata {
104
+ value?: unknown;
105
+ }
106
+ type EntityLookupSinglePayloadMode = 'id' | 'entityRef';
107
+ type EntityLookupMultiplePayloadMode = 'ids' | 'entityRefs';
108
+ type EntityLookupPayloadMode = EntityLookupSinglePayloadMode | EntityLookupMultiplePayloadMode;
109
+ interface EntityLookupCollectionMetadata {
110
+ multiple?: boolean;
111
+ maxSelections?: number;
112
+ }
113
+ interface LookupSelectionPolicyMetadata {
114
+ selectablePropertyPath?: string;
115
+ statusPropertyPath?: string;
116
+ allowedStatuses?: string[];
117
+ blockedStatuses?: string[];
118
+ allowRetainInvalidExistingValue?: boolean;
119
+ disabledReasonTemplate?: string;
120
+ validationMessageTemplate?: string;
121
+ }
122
+ interface LookupCapabilitiesMetadata {
123
+ filter?: boolean;
124
+ byIds?: boolean;
125
+ detail?: boolean;
126
+ create?: boolean;
127
+ edit?: boolean;
128
+ navigateToDetail?: boolean;
129
+ multiSelect?: boolean;
130
+ recent?: boolean;
131
+ favorites?: boolean;
132
+ auditSnapshot?: boolean;
133
+ }
134
+ interface LookupDetailMetadata {
135
+ hrefTemplate?: string;
136
+ routeTemplate?: string;
137
+ openDetailMode?: LookupOpenDetailMode;
138
+ kind?: 'surface' | 'route' | 'href' | string;
139
+ surfaceId?: string;
140
+ presentation?: 'modal' | 'drawer' | string;
141
+ preferredWidget?: string;
142
+ mode?: 'view' | 'edit' | 'create' | string;
143
+ }
144
+ interface LookupCreateMetadata {
145
+ hrefTemplate?: string;
146
+ routeTemplate?: string;
147
+ openMode?: LookupOpenDetailMode;
148
+ }
149
+ interface LookupFilterDefinitionMetadata {
150
+ field: string;
151
+ label?: string;
152
+ type: LookupFilterFieldType;
153
+ operators: LookupFilterOperator[];
154
+ defaultOperator?: LookupFilterOperator;
155
+ optionsSource?: string;
156
+ required?: boolean;
157
+ hidden?: boolean;
158
+ }
159
+ interface LookupSortOptionMetadata {
80
160
  key: string;
161
+ field: string;
162
+ direction: 'asc' | 'desc';
163
+ label?: string;
164
+ }
165
+ interface LookupFilteringMetadata {
166
+ availableFilters?: LookupFilterDefinitionMetadata[];
167
+ defaultFilters?: Record<string, unknown[]>;
168
+ sortOptions?: LookupSortOptionMetadata[];
169
+ defaultSort?: string;
170
+ quickFilterFields?: string[];
171
+ searchPlaceholder?: string;
172
+ }
173
+ interface LookupDialogMetadata {
174
+ enabled?: boolean;
175
+ title?: string;
176
+ size?: LookupDialogSize;
177
+ previewPanel?: boolean;
178
+ allowColumnChooser?: boolean;
179
+ allowSavedViews?: boolean;
180
+ resultColumns?: LookupResultColumnMetadata[];
181
+ openActionLabel?: string;
182
+ applyActionLabel?: string;
183
+ cancelActionLabel?: string;
184
+ }
185
+ type LookupResultColumnKind = 'code' | 'label' | 'description' | 'status' | 'disabledReason' | 'custom';
186
+ interface LookupResultColumnMetadata {
187
+ field: string;
188
+ label?: string;
189
+ kind?: LookupResultColumnKind;
190
+ width?: string;
191
+ }
192
+ interface LookupFilterRequest {
193
+ field: string;
194
+ operator: LookupFilterOperator;
195
+ value: unknown;
196
+ }
197
+ interface OptionSourceFilterRequest<ID = string | number, FD = unknown> {
198
+ filter?: FD | null;
199
+ filters?: LookupFilterRequest[];
200
+ search?: string;
201
+ sort?: string;
202
+ includeIds?: ID[];
203
+ }
204
+ interface EntityLookupActionsMetadata {
205
+ showDetail?: boolean;
206
+ showChange?: boolean;
207
+ showCopyCode?: boolean;
208
+ showCopyId?: boolean;
209
+ showCreate?: boolean;
210
+ showClear?: boolean;
211
+ }
212
+ interface EntityLookupDisplayMetadata {
213
+ preset?: EntityLookupDisplayPreset | string;
214
+ usage?: EntityLookupUsage | string;
215
+ density?: EntityLookupDensity | string;
216
+ selectedLayout?: EntityLookupSelectedLayout;
217
+ resultLayout?: EntityLookupResultLayout;
218
+ primaryPropertyPath?: string;
219
+ fields?: EntityLookupDisplayFieldMetadata[];
220
+ secondaryPropertyPaths?: string[];
221
+ badgePropertyPaths?: string[];
222
+ avatarPropertyPath?: string;
223
+ showCode?: boolean;
224
+ showDescription?: boolean;
225
+ showStatus?: boolean;
226
+ showAvatar?: boolean;
227
+ showBadges?: boolean;
228
+ showDisabledReason?: boolean;
229
+ showResultCount?: boolean;
230
+ statusToneMap?: Record<string, LookupStatusTone>;
231
+ badgeKeys?: string[];
232
+ maxVisibleBadges?: number;
233
+ detailActionLabel?: string;
234
+ changeActionLabel?: string;
235
+ copyCodeActionLabel?: string;
236
+ copyIdActionLabel?: string;
237
+ createActionLabel?: string;
238
+ clearActionLabel?: string;
239
+ actions?: EntityLookupActionsMetadata;
240
+ }
241
+ interface EntityRef<ID = string | number> {
242
+ id: ID;
81
243
  type?: string;
244
+ }
245
+ interface EntityLookupResultExtra {
246
+ code?: string;
247
+ description?: string;
248
+ status?: string;
249
+ statusLabel?: string;
250
+ statusTone?: LookupStatusTone;
251
+ selectable?: boolean;
252
+ disabledReason?: string;
253
+ detailHref?: string;
254
+ detailRoute?: string;
255
+ resourcePath?: string;
256
+ entityKey?: string;
257
+ richFields?: EntityLookupRichFieldMetadata[];
258
+ badges?: string[];
259
+ tags?: string[];
260
+ riskLevel?: string;
261
+ homologationStatus?: string;
262
+ [key: string]: unknown;
263
+ }
264
+ interface EntityLookupResult<ID = string | number> {
265
+ id: ID;
266
+ label: string;
267
+ extra?: EntityLookupResultExtra;
268
+ }
269
+ type EntityLookupResultState = 'selectable' | 'blocked' | 'legacy';
270
+ interface EntityLookupResultStateContext {
271
+ allowRetainInvalidExistingValue?: boolean;
272
+ }
273
+ interface OptionSourceMetadata {
274
+ key: string;
275
+ type?: OptionSourceType;
82
276
  resourcePath?: string;
83
277
  filterField?: string;
84
278
  propertyPath?: string;
85
279
  labelPropertyPath?: string;
86
280
  valuePropertyPath?: string;
87
281
  dependsOn?: string[];
282
+ entityKey?: string;
283
+ codePropertyPath?: string;
284
+ descriptionPropertyPaths?: string[];
285
+ statusPropertyPath?: string;
286
+ disabledPropertyPath?: string;
287
+ disabledReasonPropertyPath?: string;
288
+ searchPropertyPaths?: string[];
289
+ dependencyFilterMap?: Record<string, string>;
290
+ selectionPolicy?: LookupSelectionPolicyMetadata;
291
+ capabilities?: LookupCapabilitiesMetadata;
292
+ detail?: LookupDetailMetadata;
293
+ create?: LookupCreateMetadata;
294
+ display?: EntityLookupDisplayMetadata;
295
+ filtering?: LookupFilteringMetadata;
88
296
  excludeSelfField?: boolean;
89
- searchMode?: string;
297
+ searchMode?: OptionSourceSearchMode;
90
298
  pageSize?: number;
91
299
  includeIds?: boolean;
92
- }
300
+ cachePolicy?: OptionSourceCachePolicy;
301
+ }
302
+ declare function isEntityLookupResultSelectable(result?: Pick<EntityLookupResult<any>, 'extra'> | null): boolean;
303
+ declare function isEntityLookupPayloadMode(value: unknown): value is EntityLookupPayloadMode;
304
+ declare function isEntityLookupSinglePayloadMode(value: unknown): value is EntityLookupSinglePayloadMode;
305
+ declare function isEntityLookupMultiplePayloadMode(value: unknown): value is EntityLookupMultiplePayloadMode;
306
+ declare function isLookupFilterFieldType(value: unknown): value is LookupFilterFieldType;
307
+ declare function isLookupFilterOperator(value: unknown): value is LookupFilterOperator;
308
+ declare function isLookupDialogSize(value: unknown): value is LookupDialogSize;
309
+ declare function normalizeLookupFilterRequest(filter: LookupFilterRequest): LookupFilterRequest;
310
+ declare function serializeOptionSourceFilterRequest<ID = string | number, FD = unknown>(filter: FD | null | undefined, options?: {
311
+ filters?: LookupFilterRequest[] | null;
312
+ search?: string | null;
313
+ sort?: string | null;
314
+ includeIds?: ID[] | null;
315
+ }): OptionSourceFilterRequest<ID, FD>;
316
+ declare function resolveEntityLookupPayloadMode(payloadMode: unknown, multiple?: boolean): EntityLookupPayloadMode;
317
+ declare function isEntityLookupPayloadModeCompatible(payloadMode: unknown, multiple?: boolean): boolean;
318
+ declare function serializeEntityLookupValueForPayload(value: unknown, options?: {
319
+ payloadMode?: unknown;
320
+ multiple?: boolean;
321
+ entityType?: string;
322
+ }): unknown;
323
+ declare function classifyEntityLookupResult(result?: Pick<EntityLookupResult<any>, 'extra'> | null, context?: EntityLookupResultStateContext): EntityLookupResultState;
93
324
 
94
325
  type RuleContextRoot = 'form' | 'row' | 'computed' | 'meta' | 'source' | 'event' | 'payload' | 'state' | 'context';
95
326
  type PraxisNativeJsonLogicOperator = 'var' | '==' | '===' | '!=' | '!==' | '>' | '>=' | '<' | '<=' | '!' | '!!' | 'and' | 'or' | 'if' | 'in' | 'cat' | 'substr' | '+' | '-' | '*' | '/' | '%' | 'min' | 'max' | 'merge' | 'map' | 'filter' | 'reduce' | 'all' | 'some' | 'none';
@@ -146,12 +377,15 @@ interface RichBlockRuleSet {
146
377
  expr: JsonLogicExpression;
147
378
  }>;
148
379
  }
380
+ type RichCapabilityMode = 'all' | 'any';
149
381
  interface RichBlockBaseNode extends RichBlockRuleSet {
150
382
  id?: string;
151
383
  testId?: string;
152
384
  className?: string;
153
385
  style?: Record<string, string | number>;
154
386
  bindings?: RichBlockContextConfig;
387
+ requiresCapabilities?: string[];
388
+ capabilityMode?: RichCapabilityMode;
155
389
  }
156
390
  interface RichTextNode extends RichBlockBaseNode {
157
391
  type: 'text';
@@ -170,6 +404,14 @@ interface RichImageNode extends RichBlockBaseNode {
170
404
  alt?: string;
171
405
  altExpr?: string;
172
406
  }
407
+ interface RichLinkNode extends RichBlockBaseNode {
408
+ type: 'link';
409
+ label?: string;
410
+ labelExpr?: string;
411
+ href: string;
412
+ target?: '_blank' | '_self';
413
+ rel?: string;
414
+ }
173
415
  interface RichBadgeNode extends RichBlockBaseNode {
174
416
  type: 'badge';
175
417
  label?: string;
@@ -200,7 +442,23 @@ interface RichProgressNode extends RichBlockBaseNode {
200
442
  labelExpr?: string;
201
443
  showPercent?: boolean;
202
444
  }
203
- type RichPresenterNode = RichTextNode | RichIconNode | RichImageNode | RichBadgeNode | RichAvatarNode | RichMetricNode | RichProgressNode;
445
+ interface RichActionRef {
446
+ actionId: string;
447
+ payload?: unknown;
448
+ payloadExpr?: string;
449
+ availabilityExpr?: string;
450
+ confirmMessage?: string;
451
+ }
452
+ interface RichActionButtonNode extends RichBlockBaseNode {
453
+ type: 'actionButton';
454
+ label?: string;
455
+ labelExpr?: string;
456
+ icon?: string;
457
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
458
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
459
+ action: RichActionRef;
460
+ }
461
+ type RichPresenterNode = RichTextNode | RichIconNode | RichImageNode | RichLinkNode | RichBadgeNode | RichAvatarNode | RichMetricNode | RichProgressNode | RichActionButtonNode;
204
462
  interface RichComposeNode extends RichBlockBaseNode {
205
463
  type: 'compose';
206
464
  direction?: 'row' | 'column';
@@ -208,6 +466,39 @@ interface RichComposeNode extends RichBlockBaseNode {
208
466
  wrap?: boolean;
209
467
  items: RichPresenterNode[];
210
468
  }
469
+ type RichCardVariant = 'plain' | 'outlined' | 'elevated' | 'filled' | 'transparent';
470
+ type RichCardTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
471
+ type RichCardSize = 'sm' | 'md' | 'lg';
472
+ type RichCardDensity = 'compact' | 'comfortable';
473
+ type RichCardOrientation = 'vertical' | 'horizontal';
474
+ type RichCardMediaKind = 'image' | 'video' | 'icon' | 'avatar';
475
+ type RichCardMediaPlacement = 'top' | 'leading' | 'trailing' | 'background';
476
+ interface RichCardMedia {
477
+ kind: RichCardMediaKind;
478
+ src?: string;
479
+ srcExpr?: string;
480
+ alt?: string;
481
+ altExpr?: string;
482
+ icon?: string;
483
+ label?: string;
484
+ labelExpr?: string;
485
+ placement?: RichCardMediaPlacement;
486
+ aspectRatio?: string;
487
+ }
488
+ type RichCardInteractionMode = 'none' | 'action' | 'selectable';
489
+ interface RichCardInteraction {
490
+ mode: RichCardInteractionMode;
491
+ action?: RichActionRef;
492
+ selected?: boolean;
493
+ selectedExpr?: string;
494
+ }
495
+ interface RichCardAccessibility {
496
+ role?: 'article' | 'group' | 'button';
497
+ ariaLabel?: string;
498
+ ariaLabelExpr?: string;
499
+ ariaLabelledBy?: string;
500
+ ariaDescribedBy?: string;
501
+ }
211
502
  interface RichCardNode extends RichBlockBaseNode {
212
503
  type: 'card';
213
504
  title?: string;
@@ -215,6 +506,303 @@ interface RichCardNode extends RichBlockBaseNode {
215
506
  subtitle?: string;
216
507
  subtitleExpr?: string;
217
508
  content: Array<RichPresenterNode | RichComposeNode>;
509
+ media?: RichCardMedia;
510
+ headerAction?: RichActionButtonNode;
511
+ header?: RichBlockNode[];
512
+ body?: RichBlockNode[];
513
+ footer?: RichBlockNode[];
514
+ actions?: RichActionButtonNode[];
515
+ aside?: RichBlockNode[];
516
+ variant?: RichCardVariant;
517
+ tone?: RichCardTone;
518
+ size?: RichCardSize;
519
+ density?: RichCardDensity;
520
+ orientation?: RichCardOrientation;
521
+ loading?: boolean;
522
+ loadingExpr?: string;
523
+ active?: boolean;
524
+ activeExpr?: string;
525
+ interaction?: RichCardInteraction;
526
+ accessibility?: RichCardAccessibility;
527
+ }
528
+ interface RichCalloutNode extends RichBlockBaseNode {
529
+ type: 'callout';
530
+ tone?: 'info' | 'success' | 'warning' | 'danger' | 'neutral';
531
+ icon?: string;
532
+ title?: string;
533
+ titleExpr?: string;
534
+ message?: string;
535
+ messageExpr?: string;
536
+ actions?: RichActionButtonNode[];
537
+ }
538
+ type RichCtaGroupLayout = 'stacked' | 'split';
539
+ interface RichCtaGroupNode extends RichBlockBaseNode {
540
+ type: 'ctaGroup';
541
+ title?: string;
542
+ titleExpr?: string;
543
+ subtitle?: string;
544
+ subtitleExpr?: string;
545
+ message?: string;
546
+ messageExpr?: string;
547
+ layout?: RichCtaGroupLayout;
548
+ actions: RichActionButtonNode[];
549
+ }
550
+ interface RichKeyValueItem {
551
+ id?: string;
552
+ label?: string;
553
+ labelExpr?: string;
554
+ value?: string;
555
+ valueExpr?: string;
556
+ badge?: string;
557
+ badgeExpr?: string;
558
+ icon?: string;
559
+ }
560
+ interface RichKeyValueListNode extends RichBlockBaseNode {
561
+ type: 'keyValueList';
562
+ title?: string;
563
+ titleExpr?: string;
564
+ layout?: 'stacked' | 'inline';
565
+ items: RichKeyValueItem[];
566
+ }
567
+ type RichPropertySheetColumns = 1 | 2;
568
+ type RichPropertySheetTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
569
+ interface RichPropertySheetItem {
570
+ id?: string;
571
+ label?: string;
572
+ labelExpr?: string;
573
+ value?: string;
574
+ valueExpr?: string;
575
+ hint?: string;
576
+ hintExpr?: string;
577
+ icon?: string;
578
+ tone?: RichPropertySheetTone;
579
+ }
580
+ interface RichPropertySheetNode extends RichBlockBaseNode {
581
+ type: 'propertySheet';
582
+ title?: string;
583
+ titleExpr?: string;
584
+ columns?: RichPropertySheetColumns;
585
+ items: RichPropertySheetItem[];
586
+ }
587
+ type RichStatGroupLayout = 'stacked' | 'inline' | 'grid';
588
+ type RichStatTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
589
+ interface RichStatItem {
590
+ id?: string;
591
+ label?: string;
592
+ labelExpr?: string;
593
+ value?: string;
594
+ valueExpr?: string;
595
+ caption?: string;
596
+ captionExpr?: string;
597
+ icon?: string;
598
+ tone?: RichStatTone;
599
+ }
600
+ interface RichStatGroupNode extends RichBlockBaseNode {
601
+ type: 'statGroup';
602
+ title?: string;
603
+ titleExpr?: string;
604
+ subtitle?: string;
605
+ subtitleExpr?: string;
606
+ layout?: RichStatGroupLayout;
607
+ items: RichStatItem[];
608
+ }
609
+ type RichTabsAppearance = 'underline' | 'pills';
610
+ interface RichTabsItem extends RichBlockRuleSet {
611
+ id?: string;
612
+ label?: string;
613
+ labelExpr?: string;
614
+ icon?: string;
615
+ badge?: string;
616
+ badgeExpr?: string;
617
+ requiresCapabilities?: string[];
618
+ capabilityMode?: RichCapabilityMode;
619
+ content: RichBlockNode[];
620
+ }
621
+ interface RichTabsNode extends RichBlockBaseNode {
622
+ type: 'tabs';
623
+ title?: string;
624
+ titleExpr?: string;
625
+ subtitle?: string;
626
+ subtitleExpr?: string;
627
+ appearance?: RichTabsAppearance;
628
+ defaultTabId?: string;
629
+ items: RichTabsItem[];
630
+ }
631
+ interface RichEmptyStateNode extends RichBlockBaseNode {
632
+ type: 'emptyState';
633
+ icon?: string;
634
+ title?: string;
635
+ titleExpr?: string;
636
+ message?: string;
637
+ messageExpr?: string;
638
+ actions?: RichActionButtonNode[];
639
+ }
640
+ interface RichRecordSummaryField {
641
+ id?: string;
642
+ label?: string;
643
+ labelExpr?: string;
644
+ value?: string;
645
+ valueExpr?: string;
646
+ }
647
+ interface RichRecordSummaryNode extends RichBlockBaseNode {
648
+ type: 'recordSummary';
649
+ title?: string;
650
+ titleExpr?: string;
651
+ subtitle?: string;
652
+ subtitleExpr?: string;
653
+ meta?: string;
654
+ metaExpr?: string;
655
+ fields: RichRecordSummaryField[];
656
+ actions?: RichActionButtonNode[];
657
+ }
658
+ type RichLookupResultStatus = 'idle' | 'resolved' | 'empty' | 'error';
659
+ interface RichLookupResultField {
660
+ id?: string;
661
+ label?: string;
662
+ labelExpr?: string;
663
+ value?: string;
664
+ valueExpr?: string;
665
+ hint?: string;
666
+ hintExpr?: string;
667
+ }
668
+ interface RichLookupResultNode extends RichBlockBaseNode {
669
+ type: 'lookupResult';
670
+ title?: string;
671
+ titleExpr?: string;
672
+ subtitle?: string;
673
+ subtitleExpr?: string;
674
+ status?: RichLookupResultStatus;
675
+ statusExpr?: string;
676
+ emptyText?: string;
677
+ emptyTextExpr?: string;
678
+ errorText?: string;
679
+ errorTextExpr?: string;
680
+ meta?: string;
681
+ metaExpr?: string;
682
+ fields: RichLookupResultField[];
683
+ actions?: RichActionButtonNode[];
684
+ }
685
+ interface RichLookupCardNode extends RichBlockBaseNode {
686
+ type: 'lookupCard';
687
+ title?: string;
688
+ titleExpr?: string;
689
+ subtitle?: string;
690
+ subtitleExpr?: string;
691
+ icon?: string;
692
+ status?: RichLookupResultStatus;
693
+ statusExpr?: string;
694
+ emptyText?: string;
695
+ emptyTextExpr?: string;
696
+ errorText?: string;
697
+ errorTextExpr?: string;
698
+ meta?: string;
699
+ metaExpr?: string;
700
+ ctaLabel?: string;
701
+ ctaLabelExpr?: string;
702
+ ctaIcon?: string;
703
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
704
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
705
+ action: RichActionRef;
706
+ fields: RichLookupResultField[];
707
+ secondaryActions?: RichActionButtonNode[];
708
+ }
709
+ interface RichRelatedRecordNode extends RichBlockBaseNode {
710
+ type: 'relatedRecord';
711
+ title?: string;
712
+ titleExpr?: string;
713
+ subtitle?: string;
714
+ subtitleExpr?: string;
715
+ relationLabel?: string;
716
+ relationLabelExpr?: string;
717
+ icon?: string;
718
+ meta?: string;
719
+ metaExpr?: string;
720
+ ctaLabel?: string;
721
+ ctaLabelExpr?: string;
722
+ ctaIcon?: string;
723
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
724
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
725
+ action?: RichActionRef;
726
+ fields: RichLookupResultField[];
727
+ secondaryActions?: RichActionButtonNode[];
728
+ }
729
+ interface RichActionCardNode extends RichBlockBaseNode {
730
+ type: 'actionCard';
731
+ title?: string;
732
+ titleExpr?: string;
733
+ subtitle?: string;
734
+ subtitleExpr?: string;
735
+ message?: string;
736
+ messageExpr?: string;
737
+ icon?: string;
738
+ meta?: string;
739
+ metaExpr?: string;
740
+ ctaLabel?: string;
741
+ ctaLabelExpr?: string;
742
+ ctaIcon?: string;
743
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
744
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
745
+ action: RichActionRef;
746
+ secondaryActions?: RichActionButtonNode[];
747
+ }
748
+ interface RichFormLauncherNode extends RichBlockBaseNode {
749
+ type: 'formLauncher';
750
+ title?: string;
751
+ titleExpr?: string;
752
+ subtitle?: string;
753
+ subtitleExpr?: string;
754
+ description?: string;
755
+ descriptionExpr?: string;
756
+ icon?: string;
757
+ formId?: string;
758
+ ctaLabel?: string;
759
+ ctaLabelExpr?: string;
760
+ ctaIcon?: string;
761
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
762
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
763
+ action: RichActionRef;
764
+ secondaryActions?: RichActionButtonNode[];
765
+ }
766
+ interface RichCollapsibleCardNode extends RichBlockBaseNode {
767
+ type: 'collapsibleCard';
768
+ title?: string;
769
+ titleExpr?: string;
770
+ subtitle?: string;
771
+ subtitleExpr?: string;
772
+ icon?: string;
773
+ defaultExpanded?: boolean;
774
+ actions?: RichActionButtonNode[];
775
+ content: RichBlockNode[];
776
+ }
777
+ interface RichDisclosureNode extends RichBlockBaseNode {
778
+ type: 'disclosure';
779
+ title?: string;
780
+ titleExpr?: string;
781
+ subtitle?: string;
782
+ subtitleExpr?: string;
783
+ icon?: string;
784
+ appearance?: 'plain' | 'card';
785
+ defaultExpanded?: boolean;
786
+ actions?: RichActionButtonNode[];
787
+ content: RichBlockNode[];
788
+ }
789
+ interface RichAccordionItem {
790
+ id?: string;
791
+ title?: string;
792
+ titleExpr?: string;
793
+ subtitle?: string;
794
+ subtitleExpr?: string;
795
+ icon?: string;
796
+ defaultExpanded?: boolean;
797
+ actions?: RichActionButtonNode[];
798
+ content: RichBlockNode[];
799
+ }
800
+ interface RichAccordionNode extends RichBlockBaseNode {
801
+ type: 'accordion';
802
+ title?: string;
803
+ titleExpr?: string;
804
+ multi?: boolean;
805
+ items: RichAccordionItem[];
218
806
  }
219
807
  interface RichMediaBlockNode extends RichBlockBaseNode {
220
808
  type: 'mediaBlock';
@@ -232,16 +820,37 @@ interface RichTimelineItem {
232
820
  subtitleExpr?: string;
233
821
  meta?: string;
234
822
  metaExpr?: string;
823
+ opposite?: string;
824
+ oppositeExpr?: string;
235
825
  icon?: string;
236
826
  iconExpr?: string;
237
827
  badge?: string;
238
828
  badgeExpr?: string;
239
- }
829
+ markerColor?: RichTimelineColor;
830
+ markerStyle?: RichTimelineMarkerStyle;
831
+ connectorColor?: RichTimelineColor;
832
+ connectorVariant?: RichTimelineConnectorVariant;
833
+ }
834
+ type RichTimelinePosition = 'left' | 'right' | 'alternate' | 'alternate-reverse';
835
+ type RichTimelineOrientation = 'vertical' | 'horizontal';
836
+ type RichTimelineOrder = 'normal' | 'reverse';
837
+ type RichTimelineConnectorVariant = 'solid' | 'dashed' | 'none';
838
+ type RichTimelineMarkerVariant = 'dot' | 'icon' | 'number';
839
+ type RichTimelineMarkerStyle = 'filled' | 'outlined';
840
+ type RichTimelineColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'info' | 'neutral';
240
841
  interface RichTimelineNode extends RichBlockBaseNode {
241
842
  type: 'timeline';
242
843
  title?: string;
243
844
  titleExpr?: string;
244
845
  emptyText?: string;
846
+ orientation?: RichTimelineOrientation;
847
+ order?: RichTimelineOrder;
848
+ position?: RichTimelinePosition;
849
+ connectorVariant?: RichTimelineConnectorVariant;
850
+ connectorColor?: RichTimelineColor;
851
+ markerVariant?: RichTimelineMarkerVariant;
852
+ markerColor?: RichTimelineColor;
853
+ markerStyle?: RichTimelineMarkerStyle;
245
854
  items: RichTimelineItem[];
246
855
  }
247
856
  type CorePresetKind = 'surface-open' | 'widget-page-layout' | 'widget-page-theme' | 'editorial-theme' | 'editorial-compliance' | 'editorial-solution' | 'rich-block';
@@ -271,6 +880,13 @@ interface CorePresetDiscoveryRegistry {
271
880
  }
272
881
  interface RichBlockHostCapabilities {
273
882
  dispatchAction?(actionId: string, payload?: unknown): void | Promise<void>;
883
+ confirmAction?(request: {
884
+ actionId: string;
885
+ message: string;
886
+ payload?: unknown;
887
+ }): boolean | Promise<boolean>;
888
+ isActionAvailable?(actionId: string): boolean;
889
+ hasCapability?(capabilityId: string): boolean;
274
890
  resolveEmbed?(kind: 'component' | 'templateRef' | 'formRef' | 'tableRef' | 'chartRef', ref: string, inputs?: Record<string, unknown>): unknown;
275
891
  resolvePreset?(ref: CorePresetRef): unknown;
276
892
  loadData?(request: {
@@ -283,7 +899,7 @@ interface RichBlockHostCapabilities {
283
899
  onLoadError?: 'hide' | 'error' | 'placeholder';
284
900
  };
285
901
  }
286
- type RichPrimitiveNode = RichPresenterNode | RichComposeNode | RichCardNode | RichMediaBlockNode | RichTimelineNode;
902
+ type RichPrimitiveNode = RichPresenterNode | RichComposeNode | RichCardNode | RichCalloutNode | RichCtaGroupNode | RichKeyValueListNode | RichPropertySheetNode | RichStatGroupNode | RichTabsNode | RichEmptyStateNode | RichRecordSummaryNode | RichLookupResultNode | RichLookupCardNode | RichRelatedRecordNode | RichActionCardNode | RichFormLauncherNode | RichCollapsibleCardNode | RichDisclosureNode | RichAccordionNode | RichMediaBlockNode | RichTimelineNode;
287
903
  type RichBlockNode = RichPrimitiveNode | RichPresetReferenceNode;
288
904
  interface RichContentDocument {
289
905
  kind: 'praxis.rich-content';
@@ -293,6 +909,372 @@ interface RichContentDocument {
293
909
  }
294
910
  declare function createEmptyRichContentDocument(): RichContentDocument;
295
911
 
912
+ type GlobalActionResult = {
913
+ success: boolean;
914
+ data?: any;
915
+ error?: string;
916
+ };
917
+ interface NavigationOpenRoutePayload {
918
+ path: string;
919
+ query?: Record<string, string | number | boolean | null | undefined>;
920
+ fragment?: string;
921
+ replaceUrl?: boolean;
922
+ state?: Record<string, unknown>;
923
+ }
924
+ interface GlobalActionRef {
925
+ actionId: string;
926
+ payload?: any;
927
+ payloadExpr?: string;
928
+ meta?: {
929
+ label?: string;
930
+ icon?: string;
931
+ emitLocal?: boolean;
932
+ confirmation?: any;
933
+ [key: string]: any;
934
+ };
935
+ }
936
+ type GlobalActionContext = {
937
+ sourceId?: string;
938
+ widgetKey?: string;
939
+ output?: string;
940
+ payload?: any;
941
+ pageContext?: Record<string, any> | null;
942
+ meta?: Record<string, any>;
943
+ runtime?: {
944
+ row?: any;
945
+ item?: any;
946
+ selection?: any;
947
+ formData?: any;
948
+ value?: any;
949
+ state?: any;
950
+ };
951
+ };
952
+ type GlobalActionHandler = (payload?: any, context?: GlobalActionContext) => Promise<GlobalActionResult> | GlobalActionResult;
953
+ interface GlobalActionHandlerEntry {
954
+ id: string;
955
+ handler: GlobalActionHandler;
956
+ }
957
+ interface GlobalDialogService {
958
+ alert: (payload: {
959
+ title?: string;
960
+ message?: string;
961
+ okLabel?: string;
962
+ variant?: string;
963
+ }) => Promise<any> | any;
964
+ confirm: (payload: {
965
+ title?: string;
966
+ message?: string;
967
+ confirmLabel?: string;
968
+ cancelLabel?: string;
969
+ type?: 'danger' | 'warning' | 'info';
970
+ }) => Promise<boolean> | boolean;
971
+ prompt: (payload: {
972
+ title?: string;
973
+ message?: string;
974
+ placeholder?: string;
975
+ defaultValue?: string;
976
+ okLabel?: string;
977
+ cancelLabel?: string;
978
+ }) => Promise<any> | any;
979
+ open: (payload: {
980
+ componentId?: string;
981
+ inputs?: any;
982
+ size?: any;
983
+ data?: any;
984
+ }) => Promise<any> | any;
985
+ }
986
+ interface GlobalToastService {
987
+ success: (message: string, opts?: any) => void;
988
+ error: (message: string, opts?: any) => void;
989
+ }
990
+ interface GlobalAnalyticsService {
991
+ track: (eventName: string, payload?: any) => void;
992
+ }
993
+ interface GlobalApiClient {
994
+ get: (url: string, params?: Record<string, any>) => Promise<any> | any;
995
+ post: (url: string, body?: any) => Promise<any> | any;
996
+ patch: (url: string, body?: any) => Promise<any> | any;
997
+ }
998
+ interface GlobalRouteGuardResolver {
999
+ resolve: (guardId: string) => any;
1000
+ }
1001
+
1002
+ type PraxisExportFormat = 'excel' | 'pdf' | 'csv' | 'json' | 'print';
1003
+ type PraxisExportScope = 'auto' | 'selected' | 'filtered' | 'currentPage' | 'all';
1004
+ type PraxisCollectionComponentType = 'table' | 'list' | string;
1005
+ type PraxisCollectionSelectionMode = 'none' | 'single' | 'multiple';
1006
+ type PraxisExportSortDirection = 'asc' | 'desc';
1007
+ interface PraxisCollectionSelectionState<T = unknown> {
1008
+ mode: PraxisCollectionSelectionMode;
1009
+ keyField?: string;
1010
+ selectedKeys?: Array<string | number>;
1011
+ selectedItems?: T[];
1012
+ allMatchingSelected?: boolean;
1013
+ excludedKeys?: Array<string | number>;
1014
+ }
1015
+ interface PraxisCollectionExportLocalization {
1016
+ locale?: string;
1017
+ timeZone?: string;
1018
+ }
1019
+ interface PraxisCollectionExportFieldPresentation {
1020
+ semanticType?: string;
1021
+ format?: string;
1022
+ currency?: string;
1023
+ locale?: string;
1024
+ timeZone?: string;
1025
+ trueLabel?: string;
1026
+ falseLabel?: string;
1027
+ nullDisplay?: string;
1028
+ valueMapping?: Record<string, string>;
1029
+ }
1030
+ interface PraxisCollectionExportCsvOptions {
1031
+ delimiter?: ',' | ';' | '|' | '\t' | string;
1032
+ encoding?: 'utf-8' | 'utf-16' | 'iso-8859-1' | string;
1033
+ includeBom?: boolean;
1034
+ lineEnding?: 'crlf' | 'lf' | string;
1035
+ excelCompatibility?: boolean;
1036
+ includeSepDirective?: boolean;
1037
+ }
1038
+ interface PraxisCollectionExportExcelOptions {
1039
+ sheetName?: string;
1040
+ freezeHeaders?: boolean;
1041
+ autoFitColumns?: boolean;
1042
+ typedCells?: boolean;
1043
+ includeFormulas?: boolean;
1044
+ }
1045
+ interface PraxisCollectionExportFormatOptions {
1046
+ csv?: PraxisCollectionExportCsvOptions;
1047
+ excel?: PraxisCollectionExportExcelOptions;
1048
+ }
1049
+ interface PraxisCollectionExportField<T = unknown> {
1050
+ key: string;
1051
+ label?: string;
1052
+ visible?: boolean;
1053
+ exportable?: boolean;
1054
+ type?: string;
1055
+ valuePath?: string;
1056
+ format?: string;
1057
+ presentation?: PraxisCollectionExportFieldPresentation;
1058
+ valueGetter?: (item: T) => unknown;
1059
+ formatter?: (value: unknown, item: T) => unknown;
1060
+ }
1061
+ interface PraxisCollectionSortDescriptor {
1062
+ field: string;
1063
+ direction: PraxisExportSortDirection;
1064
+ }
1065
+ interface PraxisCollectionPaginationState {
1066
+ pageIndex?: number;
1067
+ pageNumber?: number;
1068
+ pageSize?: number;
1069
+ totalItems?: number;
1070
+ }
1071
+ interface PraxisCollectionExportSource<T = unknown> {
1072
+ loadedItems?: T[];
1073
+ resourcePath?: string;
1074
+ query?: Record<string, unknown>;
1075
+ filters?: unknown;
1076
+ sort?: PraxisCollectionSortDescriptor[] | unknown;
1077
+ pagination?: PraxisCollectionPaginationState | unknown;
1078
+ }
1079
+ interface PraxisCollectionExportRequest<T = unknown> extends PraxisCollectionExportSource<T> {
1080
+ componentType: PraxisCollectionComponentType;
1081
+ componentId?: string;
1082
+ format: PraxisExportFormat;
1083
+ scope: PraxisExportScope;
1084
+ selection?: PraxisCollectionSelectionState<T>;
1085
+ fields?: PraxisCollectionExportField<T>[];
1086
+ includeHeaders?: boolean;
1087
+ applyFormatting?: boolean;
1088
+ maxRows?: number;
1089
+ fileName?: string;
1090
+ formatOptions?: PraxisCollectionExportFormatOptions;
1091
+ localization?: PraxisCollectionExportLocalization;
1092
+ metadata?: Record<string, unknown>;
1093
+ }
1094
+ interface PraxisCollectionExportResult {
1095
+ status: 'completed' | 'deferred';
1096
+ format: PraxisExportFormat;
1097
+ scope: PraxisExportScope;
1098
+ fileName?: string;
1099
+ mimeType?: string;
1100
+ content?: string | Blob;
1101
+ downloadUrl?: string;
1102
+ jobId?: string;
1103
+ rowCount?: number;
1104
+ warnings?: string[];
1105
+ metadata?: Record<string, unknown>;
1106
+ }
1107
+ interface PraxisCollectionExportProvider {
1108
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportResult | Promise<PraxisCollectionExportResult>;
1109
+ }
1110
+ interface PraxisExportSecurityPolicy {
1111
+ escapeFormulaValues: boolean;
1112
+ formulaPrefixes: readonly string[];
1113
+ formulaEscapePrefix: string;
1114
+ }
1115
+ declare const PRAXIS_EXPORT_FORMULA_PREFIXES: readonly ["=", "+", "-", "@", "\t", "\r"];
1116
+ declare const PRAXIS_DEFAULT_EXPORT_SECURITY_POLICY: PraxisExportSecurityPolicy;
1117
+ declare function resolvePraxisExportScope<T>(request: PraxisCollectionExportRequest<T>): Exclude<PraxisExportScope, 'auto'>;
1118
+ declare function resolvePraxisCollectionExportItems<T>(request: PraxisCollectionExportRequest<T>): T[];
1119
+ declare function resolvePraxisExportFields<T>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportField<T>[];
1120
+ declare function readPraxisExportValue(item: unknown, path: string): unknown;
1121
+ declare function escapePraxisExportCell(value: unknown, policy?: PraxisExportSecurityPolicy): string;
1122
+ declare function serializePraxisCollectionToCsv<T>(request: PraxisCollectionExportRequest<T>, policy?: PraxisExportSecurityPolicy): string;
1123
+ declare function serializePraxisCollectionToJson<T>(request: PraxisCollectionExportRequest<T>): string;
1124
+ declare function hasPraxisCollectionExportArtifact(result: PraxisCollectionExportResult | null | undefined): boolean;
1125
+ declare function assertPraxisCollectionExportArtifact(result: PraxisCollectionExportResult | null | undefined): asserts result is PraxisCollectionExportResult;
1126
+
1127
+ type PraxisRuntimeEffectTrigger = 'on-condition-enter' | 'on-value-change' | 'while-true';
1128
+ interface PraxisEffectPolicy {
1129
+ trigger?: PraxisRuntimeEffectTrigger;
1130
+ distinct?: boolean;
1131
+ distinctBy?: string;
1132
+ debounceMs?: number;
1133
+ missingValuePolicy?: 'propagate-undefined' | 'skip' | 'use-default';
1134
+ errorPolicy?: 'diagnostic' | 'drop' | 'halt-page';
1135
+ runOnInitialEvaluation?: boolean;
1136
+ }
1137
+ interface PraxisRuntimeConditionalEffectRule<TEffect = unknown> extends PraxisConditionalRule<JsonLogicExpression | null> {
1138
+ id?: string;
1139
+ effects: TEffect[];
1140
+ policy?: PraxisEffectPolicy;
1141
+ priority?: number;
1142
+ enabled?: boolean;
1143
+ description?: string;
1144
+ }
1145
+ interface PraxisRuntimeGlobalActionEffect {
1146
+ id?: string;
1147
+ kind: 'global-action';
1148
+ globalAction: GlobalActionRef;
1149
+ }
1150
+ interface PraxisConditionalEffectDiagnostic {
1151
+ ruleId?: string;
1152
+ effectId?: string;
1153
+ code: 'missing-effect' | 'invalid-effect' | 'invalid-condition' | 'policy-blocked' | 'execution-failed';
1154
+ details?: string[];
1155
+ }
1156
+ interface PraxisEffectDistinctKeyInput {
1157
+ componentId?: string;
1158
+ ruleId?: string;
1159
+ effectId?: string;
1160
+ actionId?: string;
1161
+ contextKey?: string;
1162
+ distinctBy?: string;
1163
+ value?: unknown;
1164
+ }
1165
+ declare function isPraxisRuntimeGlobalActionEffect(value: unknown): value is PraxisRuntimeGlobalActionEffect;
1166
+ declare function normalizePraxisEffectPolicy(policy: PraxisEffectPolicy | null | undefined): PraxisEffectPolicy;
1167
+ declare function buildPraxisEffectDistinctKey(input: PraxisEffectDistinctKeyInput): string;
1168
+
1169
+ /**
1170
+ * Contratos compartilhados de discovery semantico consumidos pelo runtime Angular.
1171
+ *
1172
+ * `resourcePath` continua sendo o endereco operacional do recurso.
1173
+ * `resourceKey` representa a identidade semantica estavel devolvida pelo backend para
1174
+ * surfaces, actions e capabilities.
1175
+ *
1176
+ * O runtime usa `resourceKey` para preservar contexto semantico e gerar ids estaveis de
1177
+ * abertura, enquanto `resourcePath`, `path`, `method` e `schemaUrl` seguem responsaveis pelo
1178
+ * comportamento operacional.
1179
+ */
1180
+
1181
+ interface ResourceAvailabilityDecision {
1182
+ allowed: boolean;
1183
+ reason?: string | null;
1184
+ metadata?: Record<string, any>;
1185
+ }
1186
+ type ResourceSurfaceKind = 'FORM' | 'PARTIAL_FORM' | 'VIEW' | 'READ_PROJECTION';
1187
+ type ResourceSurfaceScope = 'COLLECTION' | 'ITEM';
1188
+ type ResourceActionScope = 'COLLECTION' | 'ITEM';
1189
+ type ResourceDiscoveryRel = 'surfaces' | 'actions' | 'capabilities';
1190
+ type ResourceCrudOperationId = 'create' | 'view' | 'edit' | 'delete';
1191
+ type ResourceCapabilityOperationId = ResourceCrudOperationId | 'export' | string;
1192
+ type ResourceExportMaxRows = Partial<Record<PraxisExportFormat, number>> & Record<string, number | undefined>;
1193
+ interface ResourceSurfaceCatalogItem {
1194
+ id: string;
1195
+ resourceKey: string;
1196
+ kind: ResourceSurfaceKind;
1197
+ scope: ResourceSurfaceScope;
1198
+ title: string;
1199
+ description?: string | null;
1200
+ intent?: string | null;
1201
+ operationId: string;
1202
+ path: string;
1203
+ method: string;
1204
+ schemaId: string;
1205
+ schemaUrl: string;
1206
+ availability: ResourceAvailabilityDecision;
1207
+ order: number;
1208
+ tags: string[];
1209
+ }
1210
+ interface ResourceSurfaceCatalogResponse {
1211
+ resourceKey: string;
1212
+ resourcePath: string;
1213
+ group?: string | null;
1214
+ resourceId?: string | number | null;
1215
+ surfaces: ResourceSurfaceCatalogItem[];
1216
+ }
1217
+ interface ResourceActionCatalogItem {
1218
+ id: string;
1219
+ resourceKey: string;
1220
+ scope: ResourceActionScope;
1221
+ title: string;
1222
+ description?: string | null;
1223
+ operationId: string;
1224
+ path: string;
1225
+ method: string;
1226
+ requestSchemaId?: string | null;
1227
+ requestSchemaUrl?: string | null;
1228
+ responseSchemaId?: string | null;
1229
+ responseSchemaUrl?: string | null;
1230
+ availability: ResourceAvailabilityDecision;
1231
+ order: number;
1232
+ successMessage?: string | null;
1233
+ tags: string[];
1234
+ }
1235
+ interface ResourceActionCatalogResponse {
1236
+ resourceKey: string;
1237
+ resourcePath: string;
1238
+ group?: string | null;
1239
+ resourceId?: string | number | null;
1240
+ actions: ResourceActionCatalogItem[];
1241
+ }
1242
+ interface ResourceCapabilityOperation {
1243
+ id: ResourceCapabilityOperationId;
1244
+ supported: boolean;
1245
+ scope: ResourceSurfaceScope;
1246
+ preferredMethod?: string | null;
1247
+ preferredRel?: string | null;
1248
+ availability?: ResourceAvailabilityDecision | null;
1249
+ formats?: PraxisExportFormat[];
1250
+ scopes?: PraxisExportScope[];
1251
+ maxRows?: ResourceExportMaxRows;
1252
+ async?: boolean | null;
1253
+ }
1254
+ type ResourceCapabilityOperations = Partial<Record<ResourceCrudOperationId | 'export', ResourceCapabilityOperation>> & Record<string, ResourceCapabilityOperation | undefined>;
1255
+ interface ResourceCapabilitySnapshot {
1256
+ resourceKey: string;
1257
+ resourcePath: string;
1258
+ group?: string | null;
1259
+ resourceId?: string | number | null;
1260
+ canonicalOperations: Record<string, boolean>;
1261
+ operations?: ResourceCapabilityOperations;
1262
+ surfaces: ResourceSurfaceCatalogItem[];
1263
+ actions: ResourceActionCatalogItem[];
1264
+ }
1265
+ interface ResourceCapabilityDigest {
1266
+ source: 'schema-x-ui-resource';
1267
+ resourcePath: string;
1268
+ canonicalOperations: Record<string, boolean>;
1269
+ filterExpressionSupported: boolean;
1270
+ }
1271
+
1272
+ interface TableTooltipConfig {
1273
+ text?: string;
1274
+ position?: 'top' | 'right' | 'bottom' | 'left' | 'above' | 'below' | 'before' | 'after';
1275
+ bgColor?: string;
1276
+ delayMs?: number;
1277
+ }
296
1278
  /**
297
1279
  * Nova arquitetura modular do TableConfig v2.0
298
1280
  * Preparada para crescimento exponencial e alinhada com as 5 abas do editor
@@ -359,6 +1341,8 @@ interface ColumnDefinition {
359
1341
  };
360
1342
  /** Tipo do renderizador */
361
1343
  type: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose';
1344
+ /** Tooltip associado ao renderer efetivo da célula. */
1345
+ tooltip?: TableTooltipConfig;
362
1346
  /** Configuração de ícone (Material/SVG por nome) */
363
1347
  icon?: {
364
1348
  /** Nome fixo do ícone (ex.: 'check_circle') */
@@ -404,6 +1388,8 @@ interface ColumnDefinition {
404
1388
  variant?: 'filled' | 'outlined' | 'soft';
405
1389
  /** Ícone opcional dentro do badge */
406
1390
  icon?: string;
1391
+ /** Tooltip opcional associado ao indicador visual */
1392
+ tooltip?: TableTooltipConfig;
407
1393
  };
408
1394
  /** Link (sanitizado) */
409
1395
  link?: {
@@ -436,6 +1422,8 @@ interface ColumnDefinition {
436
1422
  color?: string;
437
1423
  icon?: string;
438
1424
  variant?: 'filled' | 'outlined' | 'soft';
1425
+ /** Tooltip opcional associado ao chip */
1426
+ tooltip?: TableTooltipConfig;
439
1427
  };
440
1428
  /** Barra de progresso leve */
441
1429
  progress?: {
@@ -458,9 +1446,12 @@ interface ColumnDefinition {
458
1446
  srcField?: string;
459
1447
  alt?: string;
460
1448
  altField?: string;
1449
+ initialsField?: string;
461
1450
  initialsExpr?: string;
462
1451
  shape?: 'square' | 'rounded' | 'circle';
463
1452
  size?: number;
1453
+ backgroundColor?: string;
1454
+ textColor?: string;
464
1455
  };
465
1456
  /** Alternância (toggle) com ação */
466
1457
  toggle?: {
@@ -516,6 +1507,7 @@ interface ColumnDefinition {
516
1507
  color?: string;
517
1508
  variant?: 'filled' | 'outlined' | 'soft';
518
1509
  icon?: string;
1510
+ tooltip?: TableTooltipConfig;
519
1511
  };
520
1512
  } | {
521
1513
  type: 'link';
@@ -550,6 +1542,7 @@ interface ColumnDefinition {
550
1542
  color?: string;
551
1543
  icon?: string;
552
1544
  variant?: 'filled' | 'outlined' | 'soft';
1545
+ tooltip?: TableTooltipConfig;
553
1546
  };
554
1547
  } | {
555
1548
  type: 'progress';
@@ -565,9 +1558,12 @@ interface ColumnDefinition {
565
1558
  srcField?: string;
566
1559
  alt?: string;
567
1560
  altField?: string;
1561
+ initialsField?: string;
568
1562
  initialsExpr?: string;
569
1563
  shape?: 'square' | 'rounded' | 'circle';
570
1564
  size?: number;
1565
+ backgroundColor?: string;
1566
+ textColor?: string;
571
1567
  };
572
1568
  } | {
573
1569
  type: 'toggle';
@@ -614,8 +1610,14 @@ interface ColumnDefinition {
614
1610
  };
615
1611
  /** Overrides condicionais do renderer por linha (first‑match wins) */
616
1612
  conditionalRenderers?: Array<{
1613
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
1614
+ id?: string;
617
1615
  condition: JsonLogicExpression | null;
618
- renderer: Partial<ColumnDefinition['renderer']>;
1616
+ renderer?: Partial<ColumnDefinition['renderer']>;
1617
+ /** Tooltip condicional aplicado quando a regra vencer. */
1618
+ tooltip?: TableTooltipConfig;
1619
+ /** Efeitos visuais canonicos que podem produzir renderer, tooltip ou animacao. */
1620
+ effects?: Array<Record<string, unknown>>;
619
1621
  description?: string;
620
1622
  enabled?: boolean;
621
1623
  }>;
@@ -624,11 +1626,16 @@ interface ColumnDefinition {
624
1626
  * Cada regra contém uma expressão canônica em `condition` e o efeito visual a aplicar.
625
1627
  */
626
1628
  conditionalStyles?: Array<{
1629
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
1630
+ id?: string;
627
1631
  condition: JsonLogicExpression | null;
1632
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
1633
+ effects?: Array<Record<string, unknown>>;
628
1634
  cssClass?: string;
629
1635
  style?: {
630
1636
  [key: string]: string;
631
1637
  };
1638
+ tooltip?: Record<string, unknown>;
632
1639
  description?: string;
633
1640
  }>;
634
1641
  /** Estado serializado do construtor visual de regras (round‑trip) */
@@ -686,6 +1693,8 @@ interface TableBehaviorConfig {
686
1693
  sorting?: SortingConfig;
687
1694
  /** Configurações de filtragem */
688
1695
  filtering?: FilteringConfig;
1696
+ /** Configurações de agrupamento de linhas */
1697
+ grouping?: GroupingConfig;
689
1698
  /** Configurações de seleção de linhas */
690
1699
  selection?: SelectionConfig;
691
1700
  /** Configurações de interação do usuário */
@@ -920,6 +1929,14 @@ interface SortingConfig {
920
1929
  preserveSort?: boolean;
921
1930
  };
922
1931
  }
1932
+ interface GroupingConfig {
1933
+ /** Habilitar agrupamento */
1934
+ enabled: boolean;
1935
+ /** Campos usados para agrupamento */
1936
+ fields: string[];
1937
+ /** Se os grupos iniciam expandidos */
1938
+ expanded?: boolean;
1939
+ }
923
1940
  interface FilteringConfig {
924
1941
  /** Habilitar filtragem */
925
1942
  enabled: boolean;
@@ -1336,6 +2353,10 @@ interface ToolbarAction {
1336
2353
  disabled?: boolean;
1337
2354
  /** Função a executar */
1338
2355
  action: string;
2356
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2357
+ globalAction?: GlobalActionRef;
2358
+ /** Efeitos runtime canonicos executados quando a acao da toolbar e acionada */
2359
+ effects?: PraxisRuntimeGlobalActionEffect[];
1339
2360
  /** Tooltip */
1340
2361
  tooltip?: string;
1341
2362
  /** Tecla de atalho */
@@ -1348,6 +2369,8 @@ interface ToolbarAction {
1348
2369
  order?: number;
1349
2370
  /** Visibilidade condicional */
1350
2371
  visibleWhen?: JsonLogicExpression | null;
2372
+ /** Desabilitacao condicional */
2373
+ disabledWhen?: JsonLogicExpression | null;
1351
2374
  /** Sub-ações (para menus) */
1352
2375
  children?: ToolbarAction[];
1353
2376
  }
@@ -1405,6 +2428,11 @@ interface RowActionsConfig {
1405
2428
  menuIcon?: string;
1406
2429
  /** Cor do botão do menu de ações (overflow) */
1407
2430
  menuButtonColor?: 'basic' | 'primary' | 'accent' | 'warn';
2431
+ /** Descoberta HATEOAS/capabilities para enriquecer ações de linha */
2432
+ discovery?: {
2433
+ /** Habilitar descoberta contextual de actions/capabilities para a linha */
2434
+ enabled?: boolean;
2435
+ };
1408
2436
  /** Configurações do cabeçalho da coluna de ações */
1409
2437
  header?: {
1410
2438
  /** Texto exibido no cabeçalho (ex.: "Ações") */
@@ -1446,6 +2474,12 @@ interface RowAction {
1446
2474
  disabled?: boolean;
1447
2475
  /** Função a executar */
1448
2476
  action: string;
2477
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2478
+ globalAction?: GlobalActionRef;
2479
+ /** Efeitos runtime canonicos executados quando a acao por linha e acionada */
2480
+ effects?: PraxisRuntimeGlobalActionEffect[];
2481
+ /** Surface de registro canonica aberta por esta acao de linha */
2482
+ recordSurface?: ResourceSurfaceCatalogItem;
1449
2483
  /** Tooltip */
1450
2484
  tooltip?: string;
1451
2485
  /** Requer confirmação */
@@ -1484,6 +2518,10 @@ interface BulkAction {
1484
2518
  color?: string;
1485
2519
  /** Função a executar */
1486
2520
  action: string;
2521
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2522
+ globalAction?: GlobalActionRef;
2523
+ /** Efeitos runtime canonicos executados quando a acao em lote e acionada */
2524
+ effects?: PraxisRuntimeGlobalActionEffect[];
1487
2525
  /** Requer confirmação */
1488
2526
  requiresConfirmation?: boolean;
1489
2527
  /** Mínimo de itens selecionados */
@@ -1713,14 +2751,12 @@ interface ExportConfig {
1713
2751
  /** Templates personalizados */
1714
2752
  templates?: ExportTemplate[];
1715
2753
  }
1716
- type ExportFormat = 'excel' | 'pdf' | 'csv' | 'json' | 'print';
2754
+ type ExportFormat = PraxisExportFormat;
1717
2755
  interface GeneralExportConfig {
1718
2756
  /** Incluir cabeçalhos */
1719
2757
  includeHeaders: boolean;
1720
- /** Incluir filtros aplicados na exportação */
1721
- respectFilters: boolean;
1722
- /** Incluir apenas linhas selecionadas */
1723
- selectedRowsOnly?: boolean;
2758
+ /** Escopo canônico dos dados exportados */
2759
+ scope: PraxisExportScope;
1724
2760
  /** Máximo de linhas para exportar */
1725
2761
  maxRows?: number;
1726
2762
  /** Nome do arquivo padrão */
@@ -2242,12 +3278,26 @@ interface TableConfigV2 {
2242
3278
  */
2243
3279
  rowConditionalStyles?: Array<{
2244
3280
  condition: JsonLogicExpression | null;
3281
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
3282
+ effects?: Array<Record<string, unknown>>;
2245
3283
  cssClass?: string;
2246
3284
  style?: {
2247
3285
  [key: string]: string;
2248
3286
  };
2249
3287
  description?: string;
2250
3288
  }>;
3289
+ /** Regras condicionais de linha para tooltip e animacao derivados de efeitos visuais. */
3290
+ rowConditionalRenderers?: Array<{
3291
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
3292
+ id?: string;
3293
+ condition: JsonLogicExpression | null;
3294
+ tooltip?: Record<string, unknown>;
3295
+ animation?: Record<string, unknown>;
3296
+ /** Efeitos visuais canonicos que podem produzir tooltip ou animacao de linha. */
3297
+ effects?: Array<Record<string, unknown>>;
3298
+ description?: string;
3299
+ enabled?: boolean;
3300
+ }>;
2251
3301
  /** Estado serializado do construtor para regras de linha (round‑trip) */
2252
3302
  _rowStyleRulesState?: any;
2253
3303
  }
@@ -2293,6 +3343,7 @@ declare const FieldDataType: {
2293
3343
  readonly FILE: "file";
2294
3344
  readonly URL: "url";
2295
3345
  readonly BOOLEAN: "boolean";
3346
+ readonly ARRAY: "array";
2296
3347
  readonly JSON: "json";
2297
3348
  };
2298
3349
  type FieldDataType = typeof FieldDataType[keyof typeof FieldDataType];
@@ -2343,6 +3394,7 @@ declare const FieldControlType: {
2343
3394
  readonly DRAWER: "drawer";
2344
3395
  readonly DROP_DOWN_TREE: "dropDownTree";
2345
3396
  readonly EMAIL_INPUT: "email";
3397
+ readonly ENTITY_LOOKUP: "entityLookup";
2346
3398
  readonly EXPANSION_PANEL: "expansionPanel";
2347
3399
  readonly FILE_SAVER: "fileSaver";
2348
3400
  readonly FILE_SELECT: "fileSelect";
@@ -2579,11 +3631,57 @@ interface ValidatorOptions {
2579
3631
  /** Custom error display position */
2580
3632
  errorPosition?: 'bottom' | 'top' | 'tooltip';
2581
3633
  }
2582
- interface ConditionalValidationRule {
2583
- /** Canonical Json Logic guard evaluated against the `form` root. */
2584
- condition: JsonLogicExpression | null;
2585
- /** Validators applied when the guard resolves to true. */
2586
- validators: Omit<ValidatorOptions, 'conditionalValidation'>;
3634
+ interface ConditionalValidationRule {
3635
+ /** Canonical Json Logic guard evaluated against the `form` root. */
3636
+ condition: JsonLogicExpression | null;
3637
+ /** Validators applied when the guard resolves to true. */
3638
+ validators: Omit<ValidatorOptions, 'conditionalValidation'>;
3639
+ }
3640
+ interface FieldArrayOperations {
3641
+ add?: boolean;
3642
+ edit?: boolean;
3643
+ remove?: boolean;
3644
+ [key: string]: any;
3645
+ }
3646
+ interface FieldArrayCollectionValidation {
3647
+ uniqueBy?: string[];
3648
+ exactlyOne?: {
3649
+ field: string;
3650
+ value?: any;
3651
+ message?: string;
3652
+ };
3653
+ atLeastOne?: {
3654
+ field: string;
3655
+ value?: any;
3656
+ message?: string;
3657
+ };
3658
+ sumEquals?: {
3659
+ field: string;
3660
+ targetField?: string;
3661
+ value?: number;
3662
+ message?: string;
3663
+ };
3664
+ [key: string]: any;
3665
+ }
3666
+ interface FieldArrayConfig {
3667
+ itemType?: 'object';
3668
+ mode?: 'cards';
3669
+ itemSchemaRef?: string;
3670
+ itemIdentityField?: string;
3671
+ minItems?: number;
3672
+ maxItems?: number;
3673
+ addLabel?: string;
3674
+ emptyState?: string;
3675
+ itemTitleTemplate?: string;
3676
+ operations?: FieldArrayOperations;
3677
+ deleteMode?: 'removeFromPayload';
3678
+ itemSchema?: {
3679
+ fields?: FieldMetadata[];
3680
+ properties?: Record<string, any>;
3681
+ [key: string]: any;
3682
+ };
3683
+ collectionValidation?: FieldArrayCollectionValidation;
3684
+ [key: string]: any;
2587
3685
  }
2588
3686
  /**
2589
3687
  * Configuration for field options in selection components.
@@ -2697,6 +3795,10 @@ interface FieldMetadata extends ComponentMetadata {
2697
3795
  controlType: FieldControlType;
2698
3796
  /** Data type for processing and validation */
2699
3797
  dataType?: FieldDataType;
3798
+ /** Canonical metadata for editable collection fields (`controlType: "array"`). */
3799
+ array?: FieldArrayConfig;
3800
+ /** Optional top-level alias for collection validators mirrored into `array.collectionValidation`. */
3801
+ collectionValidation?: FieldArrayCollectionValidation;
2700
3802
  /** Display order in form */
2701
3803
  order?: number;
2702
3804
  /** Logical grouping of related fields */
@@ -2967,6 +4069,8 @@ interface FieldDefinition {
2967
4069
  layout?: 'horizontal' | 'vertical';
2968
4070
  disabled?: boolean;
2969
4071
  readOnly?: boolean;
4072
+ array?: FieldArrayConfig;
4073
+ collectionValidation?: FieldArrayCollectionValidation;
2970
4074
  multiple?: boolean;
2971
4075
  editable?: boolean;
2972
4076
  validationMode?: string;
@@ -3144,13 +4248,39 @@ declare function buildHeaders(entry: ApiUrlEntry): HttpHeaders | undefined;
3144
4248
  * // fields: [{ name: 'email', label: 'E-mail', type: 'string', controlType: 'input', required: true, email: true }]
3145
4249
  */
3146
4250
  declare class SchemaNormalizerService {
4251
+ private clonePlain;
4252
+ private resolveSchemaRef;
4253
+ private normalizeObjectSchema;
4254
+ private normalizeArrayConfig;
4255
+ private finalizeArrayConfig;
4256
+ private normalizeInlineItemSchemaFields;
4257
+ private normalizeInlineItemSchemaField;
3147
4258
  /** Convert value to boolean. Accepts boolean, string or number. */
3148
4259
  private parseBoolean;
3149
4260
  /** Ensure an array of strings from various inputs. */
3150
4261
  private parseStringArray;
4262
+ private parseNonBlankStringArray;
4263
+ private parseStringRecord;
4264
+ private parseSelectionPolicy;
4265
+ private parseLookupCapabilities;
4266
+ private parseLookupDetail;
4267
+ private parseLookupDisplay;
4268
+ private parseLookupDisplayField;
4269
+ private parseLookupCreate;
4270
+ private parseLookupFilterOperatorArray;
4271
+ private parseLookupSortDirection;
4272
+ private parseLookupDialogSize;
4273
+ private parseLookupDialog;
4274
+ private parseLookupResultColumn;
4275
+ private parseLookupFilterDefinition;
4276
+ private parseDefaultFilters;
4277
+ private parseLookupFiltering;
3151
4278
  /** Parse option arrays into `{ key, value }` objects. */
3152
4279
  private parseOptions;
3153
4280
  private parseOptionSource;
4281
+ private parseOptionSourceType;
4282
+ private parseOptionSourceSearchMode;
4283
+ private parseLookupOpenDetailMode;
3154
4284
  private parseValuePresentation;
3155
4285
  /**
3156
4286
  * Converte string/Function em função real.
@@ -3185,6 +4315,7 @@ declare class SchemaNormalizerService {
3185
4315
  * @returns FieldDefinition[] prontos para mapeamento/uso no restante do sistema.
3186
4316
  */
3187
4317
  normalizeSchema(schema: any): FieldDefinition[];
4318
+ private normalizeSchemaWithRoot;
3188
4319
  private resolveFieldType;
3189
4320
  static ɵfac: i0.ɵɵFactoryDeclaration<SchemaNormalizerService, never>;
3190
4321
  static ɵprov: i0.ɵɵInjectableDeclaration<SchemaNormalizerService>;
@@ -3219,7 +4350,7 @@ type LegacyTableConfig = TableConfig;
3219
4350
  /**
3220
4351
  * @deprecated Use createDefaultTableConfig instead
3221
4352
  */
3222
- declare const DEFAULT_TABLE_CONFIG: TableConfigV2;
4353
+ declare const DEFAULT_TABLE_CONFIG: _praxisui_core.TableConfigModern;
3223
4354
 
3224
4355
  type GlobalDialogAriaRole = 'dialog' | 'alertdialog';
3225
4356
  interface GlobalDialogPosition {
@@ -3541,6 +4672,8 @@ interface OptionSourceRequestOptions<ID = string | number> extends CrudOperation
3541
4672
  includeIds?: ID[];
3542
4673
  observeVersionHeader?: boolean;
3543
4674
  search?: string;
4675
+ sortKey?: string;
4676
+ filters?: LookupFilterRequest[];
3544
4677
  }
3545
4678
  interface BatchDeleteProgress<ID = string | number> {
3546
4679
  id: ID;
@@ -3596,6 +4729,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3596
4729
  private _schemaCache?;
3597
4730
  private schemaCacheReady?;
3598
4731
  private _lastResourceMeta;
4732
+ private _lastResourceCapabilityDigest;
3599
4733
  private _lastSchemaInfo;
3600
4734
  /**
3601
4735
  * Cria a instância do serviço genérico.
@@ -3632,10 +4766,10 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3632
4766
  * Fluxo de schemas (grid e filtro)
3633
4767
  *
3634
4768
  * - Grid/Lista (colunas e metadados do DTO principal):
3635
- * 1) getSchema() chama GET {resource}/schemas (ex.: /api/human-resources/funcionarios/schemas)
3636
- * 2) O backend responde 302 para /schemas/filtered com query params:
3637
- * - path: {basePath}/all (ex.: /api/human-resources/funcionarios/all)
3638
- * - operation: get
4769
+ * 1) getSchema() deriva a superfície canônica de busca/listagem do recurso
4770
+ * 2) Em seguida chama /schemas/filtered com query params:
4771
+ * - path: {basePath}/filter (ex.: /api/human-resources/funcionarios/filter)
4772
+ * - operation: post
3639
4773
  * - schemaType: response
3640
4774
  * 3) O serviço normaliza o schema retornado (x-ui) para montagem de grids e formulários.
3641
4775
  *
@@ -3653,8 +4787,8 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3653
4787
  * Obtém o schema (metadados) do recurso, útil para construção dinâmica de grids e formulários.
3654
4788
  *
3655
4789
  * Fluxo:
3656
- * - Faz GET {resource}/schemas; o backend redireciona (302) para /schemas/filtered
3657
- * com path={basePath}/all, operation=get, schemaType=response.
4790
+ * - Chama /schemas/filtered para a superfície canônica de busca/listagem:
4791
+ * path={basePath}/filter, operation=post, schemaType=response.
3658
4792
  * - O resultado é normalizado e usado para montar colunas de grid e formulários (x-ui).
3659
4793
  *
3660
4794
  * Exemplo:
@@ -3664,9 +4798,13 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3664
4798
  * ```
3665
4799
  */
3666
4800
  getSchema(options?: CrudOperationOptions): Observable<FieldDefinition[]>;
4801
+ private updateLastResourceMetadataFromSchema;
4802
+ private normalizeCanonicalCapabilities;
4803
+ private shouldRememberFilteredSchemaEndpointUnavailable;
3667
4804
  private fetchDirectSchema;
3668
4805
  /** Retorna o campo identificador do recurso (ex.: 'id', 'codigo'), quando derivado do schema. */
3669
4806
  getResourceIdField(): string | undefined;
4807
+ getResourceCapabilityDigest(): ResourceCapabilityDigest | null;
3670
4808
  /** Retorna o último schemaId e hash conhecidos após getSchema()/getFilteredSchema(). */
3671
4809
  getLastSchemaInfo(): {
3672
4810
  schemaId?: string;
@@ -3910,6 +5048,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3910
5048
  * @throws Error quando o ID é obrigatório mas não fornecido, ou quando o serviço não está configurado
3911
5049
  */
3912
5050
  private getEndpointUrl;
5051
+ private resolveEntityEndpointTemplate;
3913
5052
  private getResourceBaseUrl;
3914
5053
  /**
3915
5054
  * Resolve `/schemas/filtered` base URL honoring ApiUrlConfig (supports APIs on another origin).
@@ -3927,6 +5066,9 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3927
5066
  private resolveRangeAliases;
3928
5067
  private findExistingKey;
3929
5068
  private normalizeRangeBound;
5069
+ private isDateValue;
5070
+ private formatDateOnly;
5071
+ private tryParseLocalizedRangeNumber;
3930
5072
  private isRangeValue;
3931
5073
  private isPlainObject;
3932
5074
  private updateRangeFieldHints;
@@ -4014,39 +5156,39 @@ declare class TableConfigService {
4014
5156
  /**
4015
5157
  * Obtém configuração de paginação
4016
5158
  */
4017
- getPaginationConfig(): PaginationConfig | undefined;
5159
+ getPaginationConfig(): _praxisui_core.PaginationConfig | undefined;
4018
5160
  /**
4019
5161
  * Obtém configuração de ordenação
4020
5162
  */
4021
- getSortingConfig(): SortingConfig | undefined;
5163
+ getSortingConfig(): _praxisui_core.SortingConfig | undefined;
4022
5164
  /**
4023
5165
  * Obtém configuração de filtragem
4024
5166
  */
4025
- getFilteringConfig(): FilteringConfig | undefined;
5167
+ getFilteringConfig(): _praxisui_core.FilteringConfig | undefined;
4026
5168
  /**
4027
5169
  * Obtém configuração de seleção
4028
5170
  */
4029
- getSelectionConfig(): SelectionConfig | undefined;
5171
+ getSelectionConfig(): _praxisui_core.SelectionConfig | undefined;
4030
5172
  /**
4031
5173
  * Obtém configuração da toolbar
4032
5174
  */
4033
- getToolbarConfig(): ToolbarConfig | undefined;
5175
+ getToolbarConfig(): _praxisui_core.ToolbarConfig | undefined;
4034
5176
  /**
4035
5177
  * Obtém configuração de ações
4036
5178
  */
4037
- getActionsConfig(): TableActionsConfig | undefined;
5179
+ getActionsConfig(): _praxisui_core.TableActionsConfig | undefined;
4038
5180
  /**
4039
5181
  * Obtém configuração de aparência
4040
5182
  */
4041
- getAppearanceConfig(): TableAppearanceConfig | undefined;
5183
+ getAppearanceConfig(): _praxisui_core.TableAppearanceConfig | undefined;
4042
5184
  /**
4043
5185
  * Obtém configuração de mensagens
4044
5186
  */
4045
- getMessagesConfig(): MessagesConfig | undefined;
5187
+ getMessagesConfig(): _praxisui_core.MessagesConfig | undefined;
4046
5188
  /**
4047
5189
  * Obtém configuração de localização
4048
5190
  */
4049
- getLocalizationConfig(): LocalizationConfig | undefined;
5191
+ getLocalizationConfig(): _praxisui_core.LocalizationConfig | undefined;
4050
5192
  /**
4051
5193
  * Reset para configuração padrão
4052
5194
  */
@@ -4254,74 +5396,6 @@ declare class ApiConfigStorage implements AsyncConfigStorage {
4254
5396
  static ɵprov: i0.ɵɵInjectableDeclaration<ApiConfigStorage>;
4255
5397
  }
4256
5398
 
4257
- type GlobalActionResult = {
4258
- success: boolean;
4259
- data?: any;
4260
- error?: string;
4261
- };
4262
- type GlobalActionContext = {
4263
- sourceId?: string;
4264
- widgetKey?: string;
4265
- output?: string;
4266
- payload?: any;
4267
- pageContext?: Record<string, any> | null;
4268
- meta?: Record<string, any>;
4269
- runtime?: {
4270
- row?: any;
4271
- item?: any;
4272
- selection?: any;
4273
- formData?: any;
4274
- value?: any;
4275
- state?: any;
4276
- };
4277
- };
4278
- type GlobalActionHandler = (payload?: any, context?: GlobalActionContext) => Promise<GlobalActionResult> | GlobalActionResult;
4279
- interface GlobalActionHandlerEntry {
4280
- id: string;
4281
- handler: GlobalActionHandler;
4282
- }
4283
- interface GlobalDialogService {
4284
- alert: (payload: {
4285
- title?: string;
4286
- message?: string;
4287
- variant?: string;
4288
- }) => Promise<any> | any;
4289
- confirm: (payload: {
4290
- title?: string;
4291
- message?: string;
4292
- confirmLabel?: string;
4293
- cancelLabel?: string;
4294
- type?: 'danger' | 'warning' | 'info';
4295
- }) => Promise<boolean> | boolean;
4296
- prompt: (payload: {
4297
- title?: string;
4298
- message?: string;
4299
- placeholder?: string;
4300
- defaultValue?: string;
4301
- }) => Promise<any> | any;
4302
- open: (payload: {
4303
- componentId?: string;
4304
- inputs?: any;
4305
- size?: any;
4306
- data?: any;
4307
- }) => Promise<any> | any;
4308
- }
4309
- interface GlobalToastService {
4310
- success: (message: string, opts?: any) => void;
4311
- error: (message: string, opts?: any) => void;
4312
- }
4313
- interface GlobalAnalyticsService {
4314
- track: (eventName: string, payload?: any) => void;
4315
- }
4316
- interface GlobalApiClient {
4317
- get: (url: string, params?: Record<string, any>) => Promise<any> | any;
4318
- post: (url: string, body?: any) => Promise<any> | any;
4319
- patch: (url: string, body?: any) => Promise<any> | any;
4320
- }
4321
- interface GlobalRouteGuardResolver {
4322
- resolve: (guardId: string) => any;
4323
- }
4324
-
4325
5399
  declare class GlobalActionService {
4326
5400
  private readonly handlers;
4327
5401
  private readonly router;
@@ -4339,9 +5413,16 @@ declare class GlobalActionService {
4339
5413
  register(id: string, handler: GlobalActionHandler): void;
4340
5414
  has(id: string): boolean;
4341
5415
  execute(id: string, payload?: any, context?: GlobalActionContext): Promise<GlobalActionResult>;
5416
+ executeRef(ref: GlobalActionRef | null | undefined, context?: GlobalActionContext): Promise<GlobalActionResult>;
5417
+ private resolvePayloadExpr;
5418
+ private lookupPath;
4342
5419
  private registerBuiltins;
4343
5420
  private handleApi;
5421
+ private handleNavigationOpenRoute;
4344
5422
  private handleRouteRegister;
5423
+ private buildNavigationUrl;
5424
+ private buildQueryString;
5425
+ private buildFragment;
4345
5426
  static ɵfac: i0.ɵɵFactoryDeclaration<GlobalActionService, never>;
4346
5427
  static ɵprov: i0.ɵɵInjectableDeclaration<GlobalActionService>;
4347
5428
  }
@@ -4397,13 +5478,16 @@ interface SurfaceOpenPayload {
4397
5478
 
4398
5479
  declare class SurfaceBindingRuntimeService {
4399
5480
  resolveWidget(widget: WidgetDefinition, bindings: SurfaceBinding[] | undefined, actionPayload?: any, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): WidgetDefinition;
5481
+ resolveSurfacePayload<T extends SurfaceOpenPayload>(surfacePayload: T, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): T;
4400
5482
  extractByPath(obj: any, path?: string): any;
4401
- resolveTemplate(node: any, context: any, key?: string): any;
5483
+ resolveTemplate(node: any, context: any, key?: string, path?: string[]): any;
4402
5484
  private isDeferredTemplateExpressionKey;
5485
+ private tryParseStructuredTemplate;
4403
5486
  setValueAtPath<T extends object>(obj: T, rawPath: string, value: any): T;
4404
5487
  private buildContext;
4405
5488
  private resolveBindingValue;
4406
5489
  private normalizeTargetPath;
5490
+ private normalizeWidgetTargetPath;
4407
5491
  private tokenizePath;
4408
5492
  private clone;
4409
5493
  static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceBindingRuntimeService, never>;
@@ -5189,6 +6273,19 @@ interface MaterialSelectMetadata extends FieldMetadata {
5189
6273
  /** Inline/runtime compatibility for selected option icon color. */
5190
6274
  optionSelectedIconColor?: string;
5191
6275
  }
6276
+ interface MaterialEntityLookupMetadata extends Omit<MaterialSelectMetadata, 'controlType' | 'multiple' | 'maxSelections'>, EntityLookupDisplayMetadata, EntityLookupCollectionMetadata {
6277
+ controlType: typeof FieldControlType.ENTITY_LOOKUP | typeof FieldControlType.INLINE_ENTITY_LOOKUP;
6278
+ lookupIdKey?: string;
6279
+ lookupLabelKey?: string;
6280
+ lookupSubtitleKey?: string;
6281
+ lookupSeparator?: string;
6282
+ payloadMode?: EntityLookupPayloadMode;
6283
+ dialog?: LookupDialogMetadata;
6284
+ searchPlaceholder?: string;
6285
+ resetLabel?: string;
6286
+ ariaLabel?: string;
6287
+ dependencyLoadOnChange?: 'respectLoadOn' | 'immediate' | 'manual';
6288
+ }
5192
6289
  /**
5193
6290
  * Metadata for Material Autocomplete components.
5194
6291
  *
@@ -5242,9 +6339,28 @@ interface MaterialButtonToggleMetadata extends FieldMetadata {
5242
6339
  /** Toggle button options */
5243
6340
  toggleOptions?: Array<{
5244
6341
  value: any;
5245
- text: string;
6342
+ text?: string;
5246
6343
  label?: string;
6344
+ disabled?: boolean;
5247
6345
  }>;
6346
+ /** Allow multiple selected toggle buttons */
6347
+ multiple?: boolean;
6348
+ /** Maximum selected options when multiple is enabled */
6349
+ maxSelections?: number;
6350
+ /** Button toggle appearance */
6351
+ appearance?: 'legacy' | 'standard';
6352
+ /** Theme color */
6353
+ color?: ThemePalette;
6354
+ /** Backend resource for dynamic option loading */
6355
+ resourcePath?: string;
6356
+ /** Canonical metadata-driven source for derived options */
6357
+ optionSource?: OptionSourceMetadata;
6358
+ /** Additional filter criteria for backend requests */
6359
+ filterCriteria?: Record<string, any>;
6360
+ /** Key for option label when loading from backend */
6361
+ optionLabelKey?: string;
6362
+ /** Key for option value when loading from backend */
6363
+ optionValueKey?: string;
5248
6364
  }
5249
6365
  /**
5250
6366
  * Metadata for Material Transfer List component.
@@ -5421,6 +6537,8 @@ interface MaterialDatepickerMetadata extends FieldMetadata {
5421
6537
  controlType: typeof FieldControlType.DATE_PICKER;
5422
6538
  /** Date format for display */
5423
6539
  dateFormat?: string;
6540
+ /** Allows manual typing in the input. Set false to force calendar selection. */
6541
+ manualInput?: boolean;
5424
6542
  /** Minimum selectable date */
5425
6543
  minDate?: Date | string;
5426
6544
  /** Maximum selectable date */
@@ -5454,6 +6572,8 @@ interface MaterialDateRangeMetadata extends FieldMetadata {
5454
6572
  startAriaLabel?: string;
5455
6573
  /** Accessibility label for end date input */
5456
6574
  endAriaLabel?: string;
6575
+ /** Compact inline chip display mode. */
6576
+ inlineChipDisplay?: 'value' | 'label-value';
5457
6577
  /** Start view (month, year, multi-year) */
5458
6578
  startView?: 'month' | 'year' | 'multi-year';
5459
6579
  /** Enable sidebar shortcuts overlay (phase 1). */
@@ -5489,8 +6609,13 @@ interface MaterialDateRangeMetadata extends FieldMetadata {
5489
6609
  * - `confirm`: keeps selection as draft and only commits on explicit confirmation
5490
6610
  */
5491
6611
  inlineQuickPresetsApplyMode?: 'auto' | 'confirm';
5492
- /** Position of shortcuts sidebar relative to the form field. */
5493
- shortcutsPosition?: 'left' | 'right';
6612
+ /**
6613
+ * Preferred position of shortcuts panel relative to the form field.
6614
+ * Defaults to `auto`, which tries a viewport-safe below placement before
6615
+ * side placements. Explicit `left`/`right` remain preferences and may fall
6616
+ * back when there is not enough viewport space.
6617
+ */
6618
+ shortcutsPosition?: 'auto' | 'below' | 'left' | 'right';
5494
6619
  /** Apply immediately when clicking a shortcut. Defaults to true. */
5495
6620
  applyOnShortcutClick?: boolean;
5496
6621
  /** Timezone identifier (e.g., 'America/Sao_Paulo') for normalization. */
@@ -5543,6 +6668,8 @@ interface MaterialPriceRangeMetadata extends FieldMetadata {
5543
6668
  endLabel?: string;
5544
6669
  /** Hide labels for start/end sub-inputs (compact mode). */
5545
6670
  hideSubLabels?: boolean;
6671
+ /** Inline chip display when the range has a value. Defaults to value only. */
6672
+ inlineChipDisplay?: 'value' | 'label-value';
5546
6673
  /** Layout dos inputs (lado a lado ou em linhas). */
5547
6674
  layout?: 'row' | 'column';
5548
6675
  /** Espaçamento entre os inputs (px ou CSS). */
@@ -5596,6 +6723,21 @@ interface InlineRangeDistributionConfig {
5596
6723
  bins?: Array<number | InlineRangeDistributionBin> | string;
5597
6724
  /** Optional normalization ceiling; defaults to the highest bin value. */
5598
6725
  maxValue?: number;
6726
+ /**
6727
+ * Color strategy for histogram bars.
6728
+ * `selection` highlights bars covered by the current slider value/range using theme tokens.
6729
+ * `gradient` applies a configurable gradient to the selected bars.
6730
+ * `theme` keeps all bars on the neutral themed baseline.
6731
+ */
6732
+ colorMode?: 'theme' | 'selection' | 'gradient';
6733
+ /** Optional selected bar color; defaults to the app theme primary color. */
6734
+ selectedColor?: string;
6735
+ /** Optional unselected bar color; defaults to the app theme outline variant color. */
6736
+ unselectedColor?: string;
6737
+ /** Optional first color stop for selected gradient bars. */
6738
+ gradientStartColor?: string;
6739
+ /** Optional final color stop for selected gradient bars. */
6740
+ gradientEndColor?: string;
5599
6741
  /** Optional minimum visible ratio in the [0..1] range for non-zero bars. */
5600
6742
  minBarRatio?: number;
5601
6743
  /** Alias for `minBarRatio`. */
@@ -5639,6 +6781,33 @@ interface RangeSliderQuickPresetLabels {
5639
6781
  fromMid?: string;
5640
6782
  full?: string;
5641
6783
  }
6784
+ interface RangeSliderMark {
6785
+ /** Numeric value represented by this mark. */
6786
+ value: number;
6787
+ /** Optional label rendered next to the mark. */
6788
+ label?: string;
6789
+ /** Optional semantic tone for platform styling. */
6790
+ tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6791
+ /** Optional disabled hint for authoring and future restricted-value mode. */
6792
+ disabled?: boolean;
6793
+ }
6794
+ type RangeSliderSemanticTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6795
+ interface RangeSliderSemanticBand {
6796
+ /** Inclusive start value for the band. */
6797
+ start: number;
6798
+ /** Inclusive end value for the band. */
6799
+ end: number;
6800
+ /** Optional label for accessibility, reports and authoring surfaces. */
6801
+ label?: string;
6802
+ /** Semantic tone used by the platform theme. */
6803
+ tone?: RangeSliderSemanticTone;
6804
+ /** Optional explicit color for specialized domain palettes. */
6805
+ color?: string;
6806
+ }
6807
+ type RangeSliderTrackMode = 'normal' | 'inverted' | 'none';
6808
+ type RangeSliderValueLabelDisplay = 'off' | 'auto' | 'on';
6809
+ type RangeSliderScalePreset = 'linear' | 'percent' | 'log' | 'pow2';
6810
+ type RangeSliderValueFormat = 'number' | 'percent' | 'currency' | 'compact' | 'storage';
5642
6811
  interface MaterialRangeSliderMetadata extends FieldMetadata {
5643
6812
  controlType: typeof FieldControlType.RANGE_SLIDER;
5644
6813
  /** Slider mode */
@@ -5647,18 +6816,36 @@ interface MaterialRangeSliderMetadata extends FieldMetadata {
5647
6816
  min?: number;
5648
6817
  /** Maximum allowed value */
5649
6818
  max?: number;
5650
- /** Step for value increments */
5651
- step?: number;
6819
+ /** Step for value increments. `null` is reserved for mark-restricted values. */
6820
+ step?: number | null;
5652
6821
  /** Whether to show the thumb label */
5653
6822
  thumbLabel?: boolean;
6823
+ /** Controls when the value label is displayed. */
6824
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
6825
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
6826
+ valueLabelFormat?: RangeSliderValueFormat | string;
5654
6827
  /** Tick configuration */
5655
6828
  showTicks?: boolean | 'auto';
6829
+ /** Rich mark labels along the slider track. */
6830
+ marks?: boolean | RangeSliderMark[] | string;
6831
+ /** Semantic bands rendered behind the slider track for domain meaning. */
6832
+ semanticBands?: RangeSliderSemanticBand[] | string;
6833
+ /** Track presentation mode. */
6834
+ track?: RangeSliderTrackMode;
6835
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
6836
+ shiftStep?: number;
6837
+ /** Visual density hint. */
6838
+ size?: 'small' | 'medium' | 'large';
5656
6839
  /** Use discrete slider */
5657
6840
  discrete?: boolean;
5658
6841
  /** Display vertically */
5659
6842
  vertical?: boolean;
5660
6843
  /** Invert slider direction */
5661
6844
  invert?: boolean;
6845
+ /** Prevent active thumb swapping when range thumbs overlap. */
6846
+ disableThumbSwap?: boolean;
6847
+ /** Declarative scale preset used to format displayed values. */
6848
+ scale?: RangeSliderScalePreset | string;
5662
6849
  /** Minimum distance between start and end */
5663
6850
  minDistance?: number;
5664
6851
  /** Maximum distance between start and end */
@@ -5836,6 +7023,8 @@ interface MaterialButtonMetadata extends FieldMetadata {
5836
7023
  buttonIconPosition?: 'before' | 'after';
5837
7024
  /** Button action/command */
5838
7025
  action?: string;
7026
+ /** Structured global action executed through GlobalActionService. */
7027
+ globalAction?: GlobalActionRef;
5839
7028
  /** Disable button ripple effect */
5840
7029
  disableRipple?: boolean;
5841
7030
  /** Confirmation message for destructive actions */
@@ -5883,35 +7072,55 @@ interface MaterialSliderMetadata extends FieldMetadata {
5883
7072
  min?: number;
5884
7073
  /** Maximum value */
5885
7074
  max?: number;
5886
- /** Step increment */
5887
- step?: number;
7075
+ /** Step increment. `null` is reserved for mark-restricted values. */
7076
+ step?: number | null;
5888
7077
  /** Show value label */
5889
7078
  thumbLabel?: boolean;
7079
+ /** Controls when the value label is displayed. */
7080
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
7081
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
7082
+ valueLabelFormat?: RangeSliderValueFormat | string;
7083
+ /** Rich mark labels along the slider track. */
7084
+ marks?: boolean | RangeSliderMark[] | string;
7085
+ /** Semantic bands rendered behind the slider track for domain meaning. */
7086
+ semanticBands?: RangeSliderSemanticBand[] | string;
7087
+ /**
7088
+ * Optional mini histogram/bars rendered above the slider track.
7089
+ * Accepts array shorthand, object config, or JSON string for editor compatibility.
7090
+ */
7091
+ inlineDistribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
7092
+ /**
7093
+ * Alias accepted by slider components for compact payloads.
7094
+ */
7095
+ distribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
7096
+ /** Track presentation mode. */
7097
+ track?: RangeSliderTrackMode;
7098
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
7099
+ shiftStep?: number;
7100
+ /** Visual density hint. */
7101
+ size?: 'small' | 'medium' | 'large';
5890
7102
  /** Slider orientation */
5891
7103
  vertical?: boolean;
5892
7104
  /** Slider color theme */
5893
7105
  color?: ThemePalette;
5894
7106
  /** Display tick marks along the slider track */
5895
- showTicks?: boolean;
7107
+ showTicks?: boolean | 'auto';
5896
7108
  /** Invert slider direction */
5897
7109
  invert?: boolean;
7110
+ /** Declarative scale preset used to format displayed values. */
7111
+ scale?: RangeSliderScalePreset | string;
5898
7112
  }
5899
7113
  /**
5900
7114
  * Specialized metadata for Material Rating components.
5901
7115
  *
5902
- * ⚠️ COMPONENTE NÃO IMPLEMENTADO - Interface de planejamento
5903
- *
5904
- * Para implementar: criar MaterialRatingComponent em components/material-rating/
5905
- * e registrar no ComponentRegistryService
5906
- *
5907
7116
  * Handles star rating or numeric rating selection.
5908
7117
  */
5909
7118
  interface MaterialRatingMetadata extends FieldMetadata {
5910
7119
  controlType: typeof FieldControlType.RATING;
5911
7120
  /** Maximum rating value */
5912
7121
  max?: number;
5913
- /** Rating precision (0.1, 0.5, 1) */
5914
- precision?: number;
7122
+ /** Rating precision (`0.5` or `half` enables half-step interaction) */
7123
+ precision?: number | 'item' | 'half';
5915
7124
  /** Rating icon (default: star) */
5916
7125
  icon?: string;
5917
7126
  /** Empty icon (default: star_border) */
@@ -6582,6 +7791,18 @@ declare class DynamicFormService {
6582
7791
  * Indica se o campo deve ser tratado como seleção múltipla (valor padrão []).
6583
7792
  */
6584
7793
  private isMultipleField;
7794
+ private isArrayMetadata;
7795
+ private getArrayConfig;
7796
+ private getArrayItemFields;
7797
+ createArrayItemGroupFromMetadata(meta: FieldMetadata, value?: Record<string, any>): FormGroup;
7798
+ private ensureArrayItemIdentityControl;
7799
+ private createArrayControlFromMetadata;
7800
+ private buildArrayValidators;
7801
+ private buildArrayCountValidator;
7802
+ private uniqueKeyForItem;
7803
+ private normalizeUniqueValue;
7804
+ private arrayValues;
7805
+ private readPath;
6585
7806
  /**
6586
7807
  * Envelopa um ValidatorFn Angular para padronizar a saída de erro com mensagem.
6587
7808
  * Útil quando deseja-se forçar uma mensagem customizada em um validador nativo.
@@ -6604,7 +7825,7 @@ declare class DynamicFormService {
6604
7825
  * - Aplica validadores específicos de UI quando aplicável.
6605
7826
  * - Valor inicial: [] para campos múltiplos quando ausente; caso contrário defaultValue.
6606
7827
  */
6607
- createControlFromField(field: FieldDefinition): FormControl;
7828
+ createControlFromField(field: FieldDefinition): AbstractControl;
6608
7829
  /**
6609
7830
  * Cria um FormControl a partir de FieldMetadata.
6610
7831
  * - Aplica ValidatorOptions (normalizados) e validadores de UI por tipo.
@@ -6616,6 +7837,11 @@ declare class DynamicFormService {
6616
7837
  defaultValue?: any;
6617
7838
  disabled?: boolean;
6618
7839
  }): FormControl;
7840
+ createAbstractControlFromMetadata(meta: FieldMetadata & {
7841
+ validators?: ValidatorOptions;
7842
+ defaultValue?: any;
7843
+ disabled?: boolean;
7844
+ }): AbstractControl;
6619
7845
  /**
6620
7846
  * Reconfigura um controle existente a partir de FieldDefinition.
6621
7847
  * Atualiza: validators, asyncValidators, estado enabled/disabled e defaultValue (com suporte a múltiplos).
@@ -6815,8 +8041,27 @@ interface ComponentDocMeta {
6815
8041
  /** Optional title shown by hosts when opening the editor. */
6816
8042
  title?: string;
6817
8043
  };
8044
+ /** Optional canonical AI authoring manifest reference published by the component owner. */
8045
+ authoringManifestRef?: {
8046
+ /** Component id used by the manifest registry/backend. */
8047
+ componentId: string;
8048
+ /** Optional manifest version when the owner can publish it statically. */
8049
+ version?: string;
8050
+ /** Stable source symbol, registry id, or manifest module name. */
8051
+ source?: string;
8052
+ /** Optional content hash when available. */
8053
+ hash?: string;
8054
+ };
6818
8055
  /** Tags or categories for search */
6819
8056
  tags?: string[];
8057
+ /** Optional insertion presets exposed by visual builders without changing the component contract. */
8058
+ insertionPresets?: Array<{
8059
+ id: string;
8060
+ label: string;
8061
+ description?: string;
8062
+ icon?: string;
8063
+ inputs?: Record<string, unknown>;
8064
+ }>;
6820
8065
  /** Source library for the component */
6821
8066
  lib?: string;
6822
8067
  /** Optional layout hints for grid placement */
@@ -6919,6 +8164,7 @@ declare class PraxisI18nService {
6919
8164
  getLocale(): string;
6920
8165
  getFallbackLocale(): string;
6921
8166
  t(key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
8167
+ tForLocale(locale: string, key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
6922
8168
  resolve(message: PraxisTextValue | null | undefined, fallback?: string, namespace?: string): string;
6923
8169
  formatDate(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
6924
8170
  formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
@@ -7028,6 +8274,52 @@ declare class TelemetryService {
7028
8274
  static ɵprov: i0.ɵɵInjectableDeclaration<TelemetryService>;
7029
8275
  }
7030
8276
 
8277
+ declare class PraxisCollectionExportService {
8278
+ private readonly provider;
8279
+ private readonly securityPolicy;
8280
+ constructor(provider: PraxisCollectionExportProvider | null, securityPolicy: PraxisExportSecurityPolicy);
8281
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8282
+ exportLocalCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportResult;
8283
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisCollectionExportService, [{ optional: true; }, null]>;
8284
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisCollectionExportService>;
8285
+ }
8286
+
8287
+ interface PraxisCollectionExportHttpProviderOptions {
8288
+ endpoint?: string | ((request: PraxisCollectionExportRequest<any>) => string);
8289
+ apiUrlKey?: string;
8290
+ headers?: Record<string, string | string[]>;
8291
+ withCredentials?: boolean;
8292
+ includeLoadedItems?: boolean;
8293
+ }
8294
+ declare const PRAXIS_COLLECTION_EXPORT_PROVIDER: InjectionToken<PraxisCollectionExportProvider>;
8295
+ declare const PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS: InjectionToken<PraxisCollectionExportHttpProviderOptions>;
8296
+ declare const PRAXIS_EXPORT_SECURITY_POLICY: InjectionToken<PraxisExportSecurityPolicy>;
8297
+ declare function providePraxisCollectionExportProvider(provider: PraxisCollectionExportProvider): Provider;
8298
+
8299
+ declare class PraxisHttpCollectionExportProvider implements PraxisCollectionExportProvider {
8300
+ private readonly http;
8301
+ private readonly apiUrlConfig;
8302
+ private readonly options;
8303
+ constructor(http: HttpClient, apiUrlConfig: ApiUrlConfig | null, options: PraxisCollectionExportHttpProviderOptions | null);
8304
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8305
+ private resolveEndpoint;
8306
+ private resolveUrl;
8307
+ private normalizePathForBase;
8308
+ private resolveApiBaseUrl;
8309
+ private buildHeaders;
8310
+ private buildRequestBody;
8311
+ private normalizeResponse;
8312
+ private normalizeExportHeaders;
8313
+ private isExportResultEnvelope;
8314
+ private readNumberHeader;
8315
+ private readBooleanHeader;
8316
+ private readWarningHeader;
8317
+ private mergeWarnings;
8318
+ private resolveFileName;
8319
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisHttpCollectionExportProvider, [null, { optional: true; }, { optional: true; }]>;
8320
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisHttpCollectionExportProvider>;
8321
+ }
8322
+
7031
8323
  type FieldSelectorRegistryMap = Record<string, FieldControlType>;
7032
8324
  declare const FIELD_SELECTOR_REGISTRY_BASE: InjectionToken<FieldSelectorRegistryMap>;
7033
8325
  declare const FIELD_SELECTOR_REGISTRY_OVERRIDES: InjectionToken<FieldSelectorRegistryMap[]>;
@@ -7094,121 +8386,32 @@ declare class PraxisLoadingInterceptor implements HttpInterceptor {
7094
8386
  private renderer?;
7095
8387
  constructor(orchestrator: LoadingOrchestrator, renderer?: PraxisLoadingRenderer | undefined);
7096
8388
  intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
7097
- static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLoadingInterceptor, [null, { optional: true; }]>;
7098
- static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLoadingInterceptor>;
7099
- }
7100
-
7101
- declare class DefaultLoadingRenderer implements PraxisLoadingRenderer {
7102
- private readonly rootId;
7103
- private readonly styleId;
7104
- show(ctx: LoadingContext): void;
7105
- update(ctx: LoadingContext): void;
7106
- hide(ctx: LoadingContext): void;
7107
- private keyOf;
7108
- private defaultLabel;
7109
- private ensureRoot;
7110
- private ensureStyles;
7111
- private getDocument;
7112
- static ɵfac: i0.ɵɵFactoryDeclaration<DefaultLoadingRenderer, never>;
7113
- static ɵprov: i0.ɵɵInjectableDeclaration<DefaultLoadingRenderer>;
7114
- }
7115
-
7116
- declare class PraxisLayerScaleStyleService {
7117
- private readonly doc;
7118
- private readonly styleId;
7119
- constructor();
7120
- ensureInstalled(): void;
7121
- static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLayerScaleStyleService, never>;
7122
- static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLayerScaleStyleService>;
7123
- }
7124
-
7125
- /**
7126
- * Contratos compartilhados de discovery semantico consumidos pelo runtime Angular.
7127
- *
7128
- * `resourcePath` continua sendo o endereco operacional do recurso.
7129
- * `resourceKey` representa a identidade semantica estavel devolvida pelo backend para
7130
- * surfaces, actions e capabilities.
7131
- *
7132
- * O runtime usa `resourceKey` para preservar contexto semantico e gerar ids estaveis de
7133
- * abertura, enquanto `resourcePath`, `path`, `method` e `schemaUrl` seguem responsaveis pelo
7134
- * comportamento operacional.
7135
- */
7136
- interface ResourceAvailabilityDecision {
7137
- allowed: boolean;
7138
- reason?: string | null;
7139
- metadata?: Record<string, any>;
7140
- }
7141
- type ResourceSurfaceKind = 'FORM' | 'PARTIAL_FORM' | 'VIEW' | 'READ_PROJECTION';
7142
- type ResourceSurfaceScope = 'COLLECTION' | 'ITEM';
7143
- type ResourceActionScope = 'COLLECTION' | 'ITEM';
7144
- type ResourceDiscoveryRel = 'surfaces' | 'actions' | 'capabilities';
7145
- type ResourceCrudOperationId = 'create' | 'view' | 'edit' | 'delete';
7146
- interface ResourceSurfaceCatalogItem {
7147
- id: string;
7148
- resourceKey: string;
7149
- kind: ResourceSurfaceKind;
7150
- scope: ResourceSurfaceScope;
7151
- title: string;
7152
- description?: string | null;
7153
- intent?: string | null;
7154
- operationId: string;
7155
- path: string;
7156
- method: string;
7157
- schemaId: string;
7158
- schemaUrl: string;
7159
- availability: ResourceAvailabilityDecision;
7160
- order: number;
7161
- tags: string[];
7162
- }
7163
- interface ResourceSurfaceCatalogResponse {
7164
- resourceKey: string;
7165
- resourcePath: string;
7166
- group?: string | null;
7167
- resourceId?: string | number | null;
7168
- surfaces: ResourceSurfaceCatalogItem[];
7169
- }
7170
- interface ResourceActionCatalogItem {
7171
- id: string;
7172
- resourceKey: string;
7173
- scope: ResourceActionScope;
7174
- title: string;
7175
- description?: string | null;
7176
- operationId: string;
7177
- path: string;
7178
- method: string;
7179
- requestSchemaId?: string | null;
7180
- requestSchemaUrl?: string | null;
7181
- responseSchemaId?: string | null;
7182
- responseSchemaUrl?: string | null;
7183
- availability: ResourceAvailabilityDecision;
7184
- order: number;
7185
- successMessage?: string | null;
7186
- tags: string[];
7187
- }
7188
- interface ResourceActionCatalogResponse {
7189
- resourceKey: string;
7190
- resourcePath: string;
7191
- group?: string | null;
7192
- resourceId?: string | number | null;
7193
- actions: ResourceActionCatalogItem[];
7194
- }
7195
- interface ResourceCapabilityOperation {
7196
- id: ResourceCrudOperationId;
7197
- supported: boolean;
7198
- scope: ResourceSurfaceScope;
7199
- preferredMethod?: string | null;
7200
- preferredRel?: string | null;
7201
- availability?: ResourceAvailabilityDecision | null;
8389
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLoadingInterceptor, [null, { optional: true; }]>;
8390
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLoadingInterceptor>;
7202
8391
  }
7203
- interface ResourceCapabilitySnapshot {
7204
- resourceKey: string;
7205
- resourcePath: string;
7206
- group?: string | null;
7207
- resourceId?: string | number | null;
7208
- canonicalOperations: Record<string, boolean>;
7209
- operations?: Partial<Record<ResourceCrudOperationId, ResourceCapabilityOperation>>;
7210
- surfaces: ResourceSurfaceCatalogItem[];
7211
- actions: ResourceActionCatalogItem[];
8392
+
8393
+ declare class DefaultLoadingRenderer implements PraxisLoadingRenderer {
8394
+ private readonly rootId;
8395
+ private readonly styleId;
8396
+ show(ctx: LoadingContext): void;
8397
+ update(ctx: LoadingContext): void;
8398
+ hide(ctx: LoadingContext): void;
8399
+ private keyOf;
8400
+ private defaultLabel;
8401
+ private ensureRoot;
8402
+ private ensureStyles;
8403
+ private getDocument;
8404
+ static ɵfac: i0.ɵɵFactoryDeclaration<DefaultLoadingRenderer, never>;
8405
+ static ɵprov: i0.ɵɵInjectableDeclaration<DefaultLoadingRenderer>;
8406
+ }
8407
+
8408
+ declare class PraxisLayerScaleStyleService {
8409
+ private readonly doc;
8410
+ private readonly styleId;
8411
+ constructor();
8412
+ ensureInstalled(): void;
8413
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLayerScaleStyleService, never>;
8414
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLayerScaleStyleService>;
7212
8415
  }
7213
8416
 
7214
8417
  interface ResourceDiscoveryRequestOptions {
@@ -7246,6 +8449,466 @@ declare class ResourceDiscoveryService {
7246
8449
  static ɵprov: i0.ɵɵInjectableDeclaration<ResourceDiscoveryService>;
7247
8450
  }
7248
8451
 
8452
+ declare const DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION: "praxis.ai.context-hints.domain-catalog/v0.2";
8453
+ interface DomainCatalogRelease {
8454
+ releaseKey: string;
8455
+ serviceKey?: string;
8456
+ status?: string;
8457
+ version?: string;
8458
+ createdAt?: string;
8459
+ resourceKey?: string;
8460
+ [key: string]: unknown;
8461
+ }
8462
+ interface DomainCatalogGovernancePayload {
8463
+ classification?: string;
8464
+ dataCategory?: string;
8465
+ complianceTags?: string[];
8466
+ aiUsage?: {
8467
+ visibility?: string;
8468
+ purpose?: string;
8469
+ restrictions?: string[];
8470
+ [key: string]: unknown;
8471
+ };
8472
+ [key: string]: unknown;
8473
+ }
8474
+ interface DomainCatalogItem<TPayload = Record<string, unknown>> {
8475
+ itemKey: string;
8476
+ type?: string;
8477
+ payload?: TPayload;
8478
+ [key: string]: unknown;
8479
+ }
8480
+ interface DomainCatalogResourceProbe {
8481
+ resourceKey: string;
8482
+ query: string;
8483
+ limit?: number;
8484
+ }
8485
+ type DomainCatalogContextHintItemType = 'context' | 'node' | 'edge' | 'binding' | 'evidence' | 'governance' | 'vocabulary' | 'relationship';
8486
+ type DomainCatalogContextHintIntent = 'authoring' | 'explain' | 'validate' | 'ai-access-control';
8487
+ type DomainCatalogRecommendedAuthoringFlow = 'shared_rule_authoring' | 'component_authoring' | 'ui_composition_authoring';
8488
+ type DomainCatalogRecommendedRuleType = 'privacy' | 'compliance' | 'validation' | 'selection_eligibility' | 'workflow_action_policy' | 'approval_policy' | string;
8489
+ interface DomainCatalogRelationshipHint {
8490
+ enabled?: boolean;
8491
+ federated?: boolean;
8492
+ serviceKey?: string | null;
8493
+ sourceNodeKey?: string | null;
8494
+ targetNodeKey?: string | null;
8495
+ edgeType?: string | null;
8496
+ query?: string | null;
8497
+ limit?: number;
8498
+ }
8499
+ interface DomainCatalogContextHint {
8500
+ schemaVersion?: typeof DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION;
8501
+ resourceKey?: string | null;
8502
+ query?: string | null;
8503
+ releaseId?: string | null;
8504
+ releaseKey?: string | null;
8505
+ serviceKey?: string | null;
8506
+ type?: DomainCatalogContextHintItemType;
8507
+ itemTypes?: DomainCatalogContextHintItemType[];
8508
+ intent?: DomainCatalogContextHintIntent | null;
8509
+ contextKey?: string | null;
8510
+ nodeType?: string | null;
8511
+ recommendedAuthoringFlow?: DomainCatalogRecommendedAuthoringFlow | null;
8512
+ recommendedRuleType?: DomainCatalogRecommendedRuleType | null;
8513
+ limit?: number;
8514
+ relationships?: DomainCatalogRelationshipHint | null;
8515
+ }
8516
+ interface DomainCatalogGovernanceContext {
8517
+ resourceKey: string;
8518
+ query: string;
8519
+ releaseKey: string | null;
8520
+ items: DomainCatalogItem<DomainCatalogGovernancePayload>[];
8521
+ }
8522
+
8523
+ interface DomainCatalogRequestOptions extends ResourceDiscoveryRequestOptions {
8524
+ serviceKey?: string;
8525
+ limit?: number;
8526
+ headers?: HttpHeaders | Record<string, string | string[]>;
8527
+ }
8528
+ interface DomainCatalogGovernanceRequestOptions extends DomainCatalogRequestOptions {
8529
+ resourceKey: string;
8530
+ query: string;
8531
+ }
8532
+ declare class DomainCatalogService {
8533
+ private readonly http;
8534
+ private readonly discovery;
8535
+ listReleases(options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease[]>;
8536
+ listItems(releaseKey: string, options?: DomainCatalogRequestOptions & {
8537
+ type?: string;
8538
+ query?: string;
8539
+ }): Observable<DomainCatalogItem[]>;
8540
+ findLatestReleaseForResource(resourceKey: string, options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease | null>;
8541
+ getGovernanceContext(options: DomainCatalogGovernanceRequestOptions): Observable<DomainCatalogGovernanceContext>;
8542
+ private resolveHeaders;
8543
+ private releaseMatchesResource;
8544
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainCatalogService, never>;
8545
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainCatalogService>;
8546
+ }
8547
+
8548
+ type DomainKnowledgeAuthorType = 'human' | 'llm' | 'system' | string;
8549
+ type DomainKnowledgeChangeSetStatus = 'proposed' | 'approved' | 'rejected' | 'superseded' | 'applied' | string;
8550
+ type DomainKnowledgeValidationStatus = 'valid' | 'invalid' | 'pending' | string;
8551
+ type DomainKnowledgeOperationType = 'add_evidence' | 'update_evidence' | 'deprecate_evidence' | 'add_relationship' | 'update_concept' | string;
8552
+ interface DomainKnowledgeChangeSetTarget {
8553
+ tenantId?: string | null;
8554
+ environment?: string | null;
8555
+ subjectType?: string | null;
8556
+ conceptKey?: string | null;
8557
+ evidenceKey?: string | null;
8558
+ relationshipKey?: string | null;
8559
+ }
8560
+ interface DomainKnowledgePatchOperation {
8561
+ operationId: string;
8562
+ operationType: DomainKnowledgeOperationType;
8563
+ target?: DomainKnowledgeChangeSetTarget | null;
8564
+ reason?: string | null;
8565
+ evidenceRefs?: string[] | null;
8566
+ confidence?: number | null;
8567
+ payload?: Record<string, unknown> | null;
8568
+ }
8569
+ interface DomainKnowledgeChangeSetRequest {
8570
+ changeSetKey: string;
8571
+ status?: DomainKnowledgeChangeSetStatus | null;
8572
+ authorType?: DomainKnowledgeAuthorType | null;
8573
+ authorId?: string | null;
8574
+ intent?: string | null;
8575
+ reason?: string | null;
8576
+ patch: DomainKnowledgePatchOperation[];
8577
+ }
8578
+ interface DomainKnowledgeSafeOperationSummary {
8579
+ operationId?: string | null;
8580
+ operationType?: DomainKnowledgeOperationType | null;
8581
+ targetSubjectType?: string | null;
8582
+ targetConceptKey?: string | null;
8583
+ evidenceRefCount?: number | null;
8584
+ confidence?: number | null;
8585
+ }
8586
+ interface DomainKnowledgeChangeSet {
8587
+ id: string;
8588
+ tenantId?: string | null;
8589
+ environment?: string | null;
8590
+ changeSetKey?: string | null;
8591
+ status?: DomainKnowledgeChangeSetStatus | null;
8592
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8593
+ authorType?: DomainKnowledgeAuthorType | null;
8594
+ authorId?: string | null;
8595
+ intent?: string | null;
8596
+ reason?: string | null;
8597
+ operationCount?: number | null;
8598
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8599
+ reviewerId?: string | null;
8600
+ reviewedAt?: string | null;
8601
+ appliedAt?: string | null;
8602
+ createdAt?: string | null;
8603
+ updatedAt?: string | null;
8604
+ }
8605
+ interface DomainKnowledgeChangeSetFilters {
8606
+ status?: DomainKnowledgeChangeSetStatus;
8607
+ }
8608
+ interface DomainKnowledgeValidationIssue {
8609
+ operationId?: string | null;
8610
+ code?: string | null;
8611
+ message?: string | null;
8612
+ severity?: string | null;
8613
+ }
8614
+ interface DomainKnowledgeValidationResponse {
8615
+ valid: boolean;
8616
+ changeSetId?: string | null;
8617
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8618
+ issues?: DomainKnowledgeValidationIssue[] | null;
8619
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8620
+ }
8621
+ type DomainKnowledgeTimelineEventVisibility = 'safe' | string;
8622
+ interface DomainKnowledgeChangeSetTimelineEventResponse {
8623
+ eventType: string;
8624
+ occurredAt?: string | null;
8625
+ actorType?: string | null;
8626
+ actor?: string | null;
8627
+ summary?: string | null;
8628
+ status?: DomainKnowledgeChangeSetStatus | null;
8629
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8630
+ operationCount?: number | null;
8631
+ operationTypes?: DomainKnowledgeOperationType[] | null;
8632
+ targetConceptKeys?: string[] | null;
8633
+ visibility?: DomainKnowledgeTimelineEventVisibility | null;
8634
+ }
8635
+ interface DomainKnowledgeChangeSetTimelineResponse {
8636
+ changeSetId: string;
8637
+ tenantId?: string | null;
8638
+ environment?: string | null;
8639
+ changeSetKey?: string | null;
8640
+ status?: DomainKnowledgeChangeSetStatus | null;
8641
+ authorType?: DomainKnowledgeAuthorType | null;
8642
+ authorId?: string | null;
8643
+ reviewerId?: string | null;
8644
+ events: DomainKnowledgeChangeSetTimelineEventResponse[];
8645
+ }
8646
+ interface DomainKnowledgeStatusTransitionRequest {
8647
+ status: Exclude<DomainKnowledgeChangeSetStatus, 'proposed'> | DomainKnowledgeChangeSetStatus;
8648
+ reviewerId?: string | null;
8649
+ reason?: string | null;
8650
+ }
8651
+
8652
+ interface DomainKnowledgeRequestOptions extends ResourceDiscoveryRequestOptions {
8653
+ headers?: HttpHeaders | Record<string, string | string[]>;
8654
+ }
8655
+ declare class DomainKnowledgeService {
8656
+ private readonly http;
8657
+ private readonly discovery;
8658
+ createChangeSet(request: DomainKnowledgeChangeSetRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8659
+ listChangeSets(filters?: DomainKnowledgeChangeSetFilters, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet[]>;
8660
+ getChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8661
+ validateChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeValidationResponse>;
8662
+ transitionChangeSetStatus(changeSetId: string, request: DomainKnowledgeStatusTransitionRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8663
+ applyChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8664
+ getChangeSetTimeline(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSetTimelineResponse>;
8665
+ private buildParams;
8666
+ private resolveHeaders;
8667
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainKnowledgeService, never>;
8668
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainKnowledgeService>;
8669
+ }
8670
+
8671
+ type DomainRuleStatus = 'draft' | 'active' | 'inactive' | 'deprecated' | string;
8672
+ type DomainRuleCreatedByType = 'human' | 'llm' | 'system' | string;
8673
+ type DomainRuleAppliedByType = 'human' | 'llm' | 'system' | string;
8674
+ type DomainRuleTargetLayer = 'form' | 'table' | 'api' | 'workflow' | 'workflow_action' | 'approval_policy' | 'policy' | 'option_source' | 'backend_validation' | string;
8675
+ interface DomainRuleDecisionDiagnostics extends Record<string, unknown> {
8676
+ decisionKind?: string | null;
8677
+ authoringMode?: string | null;
8678
+ decisionStage?: string | null;
8679
+ decisionSource?: string | null;
8680
+ canonicalOwner?: string | null;
8681
+ materializationModel?: string | null;
8682
+ runtimeSurfacesAreDerived?: boolean | null;
8683
+ }
8684
+ interface DomainRuleDefinitionRequest {
8685
+ ruleKey: string;
8686
+ version?: number | null;
8687
+ ruleType?: string | null;
8688
+ status?: DomainRuleStatus | null;
8689
+ contextKey?: string | null;
8690
+ resourceKey?: string | null;
8691
+ serviceKey?: string | null;
8692
+ semanticOwner?: string | null;
8693
+ steward?: string | null;
8694
+ sourceReleaseId?: string | null;
8695
+ sourceChangeSetId?: string | null;
8696
+ definition?: Record<string, unknown> | null;
8697
+ parameters?: Record<string, unknown> | null;
8698
+ condition?: Record<string, unknown> | null;
8699
+ governance?: Record<string, unknown> | null;
8700
+ validationResult?: Record<string, unknown> | null;
8701
+ createdByType?: DomainRuleCreatedByType | null;
8702
+ createdBy?: string | null;
8703
+ approvedBy?: string | null;
8704
+ }
8705
+ interface DomainRuleDefinition extends DomainRuleDefinitionRequest {
8706
+ id: string;
8707
+ tenantId?: string | null;
8708
+ environment?: string | null;
8709
+ createdAt?: string | null;
8710
+ updatedAt?: string | null;
8711
+ approvedAt?: string | null;
8712
+ activatedAt?: string | null;
8713
+ }
8714
+ interface DomainRuleDefinitionFilters {
8715
+ resourceKey?: string;
8716
+ status?: DomainRuleStatus;
8717
+ ruleType?: string;
8718
+ ruleKey?: string;
8719
+ }
8720
+ type DomainRuleTimelineEventVisibility = 'safe' | string;
8721
+ interface DomainRuleTimelineEventResponse {
8722
+ eventType: string;
8723
+ occurredAt?: string | null;
8724
+ actorType?: DomainRuleAppliedByType | null;
8725
+ actor?: string | null;
8726
+ summary?: string | null;
8727
+ targetLayer?: DomainRuleTargetLayer | null;
8728
+ targetArtifactType?: string | null;
8729
+ targetArtifactKey?: string | null;
8730
+ sourceHash?: string | null;
8731
+ visibility?: DomainRuleTimelineEventVisibility | null;
8732
+ }
8733
+ interface DomainRuleTimelineResponse {
8734
+ ruleDefinitionId: string;
8735
+ tenantId?: string | null;
8736
+ environment?: string | null;
8737
+ ruleKey?: string | null;
8738
+ ruleType?: string | null;
8739
+ resourceKey?: string | null;
8740
+ events: DomainRuleTimelineEventResponse[];
8741
+ }
8742
+ interface DomainRuleStatusTransitionRequest {
8743
+ status: DomainRuleStatus;
8744
+ decidedByType?: DomainRuleAppliedByType | null;
8745
+ decidedBy?: string | null;
8746
+ decisionNotes?: Record<string, unknown> | null;
8747
+ }
8748
+ interface DomainRuleIntakeRequest {
8749
+ prompt: string;
8750
+ assistantMessage?: string | null;
8751
+ ruleKey?: string | null;
8752
+ ruleType?: string | null;
8753
+ contextKey?: string | null;
8754
+ resourceKey?: string | null;
8755
+ serviceKey?: string | null;
8756
+ definition?: Record<string, unknown> | null;
8757
+ parameters?: Record<string, unknown> | null;
8758
+ condition?: Record<string, unknown> | null;
8759
+ governance?: Record<string, unknown> | null;
8760
+ createdByType?: DomainRuleCreatedByType | null;
8761
+ createdBy?: string | null;
8762
+ }
8763
+ interface DomainRuleIntakeResponse {
8764
+ intakeId: string;
8765
+ tenantId?: string | null;
8766
+ environment?: string | null;
8767
+ ruleKey?: string | null;
8768
+ ruleType?: string | null;
8769
+ contextKey?: string | null;
8770
+ resourceKey?: string | null;
8771
+ serviceKey?: string | null;
8772
+ status?: DomainRuleStatus | null;
8773
+ grounding?: (Record<string, unknown> & {
8774
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8775
+ }) | null;
8776
+ definition?: DomainRuleDefinition | null;
8777
+ createdAt?: string | null;
8778
+ }
8779
+ interface DomainRuleMaterializationRequest {
8780
+ ruleDefinitionId: string;
8781
+ materializationKey: string;
8782
+ targetLayer?: DomainRuleTargetLayer | null;
8783
+ targetArtifactType?: string | null;
8784
+ targetArtifactKey?: string | null;
8785
+ targetPointer?: string | null;
8786
+ targetReleaseKey?: string | null;
8787
+ materializedRuleId?: string | null;
8788
+ status?: DomainRuleStatus | null;
8789
+ materializedPayload?: Record<string, unknown> | null;
8790
+ sourceHash?: string | null;
8791
+ validationResult?: Record<string, unknown> | null;
8792
+ appliedByType?: DomainRuleAppliedByType | null;
8793
+ appliedBy?: string | null;
8794
+ }
8795
+ interface DomainRuleMaterialization extends DomainRuleMaterializationRequest {
8796
+ id: string;
8797
+ tenantId?: string | null;
8798
+ environment?: string | null;
8799
+ ruleKey?: string | null;
8800
+ ruleVersion?: number | null;
8801
+ createdAt?: string | null;
8802
+ updatedAt?: string | null;
8803
+ appliedAt?: string | null;
8804
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8805
+ }
8806
+ interface DomainRuleMaterializationFilters {
8807
+ ruleDefinitionId?: string;
8808
+ targetLayer?: DomainRuleTargetLayer;
8809
+ targetArtifactType?: string;
8810
+ targetArtifactKey?: string;
8811
+ status?: DomainRuleStatus;
8812
+ }
8813
+ interface DomainRuleSimulationRequest {
8814
+ ruleDefinitionId?: string | null;
8815
+ ruleKey?: string | null;
8816
+ ruleType?: string | null;
8817
+ contextKey?: string | null;
8818
+ resourceKey?: string | null;
8819
+ serviceKey?: string | null;
8820
+ definition?: Record<string, unknown> | null;
8821
+ parameters?: Record<string, unknown> | null;
8822
+ condition?: Record<string, unknown> | null;
8823
+ governance?: Record<string, unknown> | null;
8824
+ }
8825
+ interface DomainRuleSimulationResponse {
8826
+ simulationId: string;
8827
+ ruleDefinitionId?: string | null;
8828
+ tenantId?: string | null;
8829
+ environment?: string | null;
8830
+ ruleKey?: string | null;
8831
+ ruleVersion?: number | null;
8832
+ ruleType?: string | null;
8833
+ contextKey?: string | null;
8834
+ resourceKey?: string | null;
8835
+ serviceKey?: string | null;
8836
+ result?: string | null;
8837
+ grounding?: Record<string, unknown> | null;
8838
+ existingCoverage?: unknown[] | null;
8839
+ predictedMaterializations?: unknown[] | null;
8840
+ requiredApprovals?: unknown[] | null;
8841
+ warnings?: unknown[] | null;
8842
+ explainability?: Record<string, unknown> | null;
8843
+ simulatedAt?: string | null;
8844
+ }
8845
+ type DomainRuleMaterializationOutcomeResolution = 'created' | 'reused' | 'selected_existing' | 'selected_explicit' | 'skipped' | 'blocked' | string;
8846
+ interface DomainRulePublicationMaterializationOutcome {
8847
+ resolution?: DomainRuleMaterializationOutcomeResolution | null;
8848
+ materializationKey?: string | null;
8849
+ targetLayer?: DomainRuleTargetLayer | null;
8850
+ targetArtifactType?: string | null;
8851
+ targetArtifactKey?: string | null;
8852
+ targetPointer?: string | null;
8853
+ statusAtResolution?: DomainRuleStatus | null;
8854
+ sourceHash?: string | null;
8855
+ reason?: string | null;
8856
+ }
8857
+ interface DomainRulePublicationDiagnostics {
8858
+ materializationOutcomes?: DomainRulePublicationMaterializationOutcome[] | null;
8859
+ }
8860
+ interface DomainRuleExplainability extends Record<string, unknown> {
8861
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8862
+ publicationDiagnostics?: DomainRulePublicationDiagnostics | null;
8863
+ }
8864
+ interface DomainRulePublicationRequest {
8865
+ ruleDefinitionId: string;
8866
+ materializationIds?: string[] | null;
8867
+ applyEligibleMaterializations?: boolean | null;
8868
+ publishedByType?: DomainRuleAppliedByType | null;
8869
+ publishedBy?: string | null;
8870
+ publicationNotes?: Record<string, unknown> | null;
8871
+ }
8872
+ interface DomainRulePublicationResponse {
8873
+ publicationId: string;
8874
+ tenantId?: string | null;
8875
+ environment?: string | null;
8876
+ publicationStatus?: string | null;
8877
+ publicationReadiness?: string | null;
8878
+ ruleDefinitionId?: string | null;
8879
+ ruleKey?: string | null;
8880
+ ruleVersion?: number | null;
8881
+ ruleType?: string | null;
8882
+ resourceKey?: string | null;
8883
+ serviceKey?: string | null;
8884
+ definition?: DomainRuleDefinition | null;
8885
+ materializations?: DomainRuleMaterialization[] | null;
8886
+ explainability?: DomainRuleExplainability | null;
8887
+ processedAt?: string | null;
8888
+ }
8889
+
8890
+ interface DomainRuleRequestOptions extends ResourceDiscoveryRequestOptions {
8891
+ headers?: HttpHeaders | Record<string, string | string[]>;
8892
+ }
8893
+ declare class DomainRuleService {
8894
+ private readonly http;
8895
+ private readonly discovery;
8896
+ intake(request: DomainRuleIntakeRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleIntakeResponse>;
8897
+ createDefinition(request: DomainRuleDefinitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8898
+ listDefinitions(filters?: DomainRuleDefinitionFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition[]>;
8899
+ transitionDefinitionStatus(definitionId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8900
+ getDefinitionTimeline(definitionId: string, options?: DomainRuleRequestOptions): Observable<DomainRuleTimelineResponse>;
8901
+ simulate(request: DomainRuleSimulationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleSimulationResponse>;
8902
+ publish(request: DomainRulePublicationRequest, options?: DomainRuleRequestOptions): Observable<DomainRulePublicationResponse>;
8903
+ createMaterialization(request: DomainRuleMaterializationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8904
+ listMaterializations(filters?: DomainRuleMaterializationFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization[]>;
8905
+ transitionMaterializationStatus(materializationId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8906
+ private buildParams;
8907
+ private resolveHeaders;
8908
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainRuleService, never>;
8909
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainRuleService>;
8910
+ }
8911
+
7249
8912
  interface ResourceActionOpenAdapterOptions {
7250
8913
  resourcePath: string;
7251
8914
  resourceId?: string | number | null;
@@ -7288,16 +8951,42 @@ declare class ResourceSurfaceOpenAdapterService {
7288
8951
  toPayload(surface: ResourceSurfaceCatalogItem, options: ResourceSurfaceOpenAdapterOptions): SurfaceOpenPayload;
7289
8952
  private buildBasePayload;
7290
8953
  private buildStableInstanceId;
8954
+ private withInputBefore;
7291
8955
  private normalizeResourcePath;
7292
8956
  private resolveFormMode;
7293
8957
  private isCollectionView;
7294
8958
  private isWritableFormSurface;
8959
+ private isReadableFormSurface;
7295
8960
  private buildIdBinding;
7296
8961
  private clone;
7297
8962
  static ɵfac: i0.ɵɵFactoryDeclaration<ResourceSurfaceOpenAdapterService, never>;
7298
8963
  static ɵprov: i0.ɵɵInjectableDeclaration<ResourceSurfaceOpenAdapterService>;
7299
8964
  }
7300
8965
 
8966
+ type SurfaceOpenMaterializationContext = {
8967
+ payload?: unknown;
8968
+ runtime?: unknown;
8969
+ };
8970
+ declare class SurfaceOpenMaterializerService {
8971
+ private readonly discovery;
8972
+ materialize(payload: SurfaceOpenPayload, context?: SurfaceOpenMaterializationContext): Promise<SurfaceOpenPayload>;
8973
+ private shouldMaterializeItemReadProjection;
8974
+ private resolveResourceId;
8975
+ private resolveItemReadUrl;
8976
+ private resolveSchemaFields;
8977
+ private materializeArrayAsTable;
8978
+ private projectTableInputs;
8979
+ private buildLocalTableConfig;
8980
+ private inferColumnsFromData;
8981
+ private mergeMaterializationContext;
8982
+ private stableSurfaceId;
8983
+ private unwrapRestData;
8984
+ private normalizeError;
8985
+ private readPath;
8986
+ static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceOpenMaterializerService, never>;
8987
+ static ɵprov: i0.ɵɵInjectableDeclaration<SurfaceOpenMaterializerService>;
8988
+ }
8989
+
7301
8990
  type ResolvedCrudOperationSource = 'explicit' | 'capability' | 'surface' | 'link' | 'convention';
7302
8991
  interface ExplicitCrudResolutionContract {
7303
8992
  schemaUrl?: string | null;
@@ -7982,8 +9671,15 @@ type GlobalActionCatalogEntry = {
7982
9671
  required?: string[];
7983
9672
  example?: any;
7984
9673
  };
9674
+ param?: {
9675
+ required?: boolean;
9676
+ label?: string;
9677
+ placeholder?: string;
9678
+ hint?: string;
9679
+ example?: string;
9680
+ };
7985
9681
  };
7986
- declare const GLOBAL_ACTION_CATALOG$1: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
9682
+ declare const GLOBAL_ACTION_CATALOG: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
7987
9683
  declare function provideGlobalActionCatalog(entries: GlobalActionCatalogEntry[]): Provider;
7988
9684
  declare function getGlobalActionCatalog(catalog: ReadonlyArray<GlobalActionCatalogEntry[]> | null | undefined): GlobalActionCatalogEntry[];
7989
9685
  declare const PRAXIS_GLOBAL_ACTION_CATALOG: GlobalActionCatalogEntry[];
@@ -7994,22 +9690,6 @@ interface GlobalSurfaceService {
7994
9690
  }
7995
9691
  declare const GLOBAL_SURFACE_SERVICE: InjectionToken<GlobalSurfaceService>;
7996
9692
 
7997
- type GlobalActionId = 'navigate' | 'openUrl' | 'surface.open' | 'showAlert' | 'log' | 'openDialog' | 'confirm' | 'alert' | 'prompt' | 'submitForm' | 'resetForm' | 'validateForm' | 'clearValidation' | 'saveFormDraft' | 'loadFormDraft' | 'clearFormDraft' | 'apiCall' | 'download' | 'copyToClipboard' | 'refreshOptions' | 'loadDependentData';
7998
- type GlobalActionParam = {
7999
- required?: boolean;
8000
- label?: string;
8001
- placeholder?: string;
8002
- hint?: string;
8003
- example?: string;
8004
- };
8005
- interface GlobalActionSpec {
8006
- id: GlobalActionId;
8007
- label: string;
8008
- description: string;
8009
- param?: GlobalActionParam;
8010
- }
8011
- declare const GLOBAL_ACTION_CATALOG: GlobalActionSpec[];
8012
-
8013
9693
  declare const SURFACE_OPEN_I18N_NAMESPACE = "surfaceOpen";
8014
9694
  declare const SURFACE_OPEN_I18N_CONFIG: Partial<PraxisI18nConfig>;
8015
9695
 
@@ -8112,6 +9792,8 @@ declare const DYNAMIC_PAGE_CONFIG_EDITOR: InjectionToken<Type<any>>;
8112
9792
 
8113
9793
  declare const PRAXIS_LOADING_CTX: HttpContextToken<LoadingContext | null>;
8114
9794
 
9795
+ declare function providePraxisHttpCollectionExportProvider(options?: PraxisCollectionExportHttpProviderOptions): Provider[];
9796
+
8115
9797
  declare const PRAXIS_JSON_LOGIC_OPERATORS: InjectionToken<PraxisJsonLogicOperatorDefinition[]>;
8116
9798
  declare function providePraxisJsonLogicOperator(definition: PraxisJsonLogicOperatorDefinition): Provider;
8117
9799
  declare function providePraxisJsonLogicOperatorOverride(definition: PraxisJsonLogicOperatorDefinition): Provider;
@@ -8203,8 +9885,16 @@ interface ComponentPortEndpointRef {
8203
9885
  direction: 'input' | 'output';
8204
9886
  componentType?: string;
8205
9887
  bindingPath?: string;
9888
+ nestedPath?: ComponentPortPathSegment[];
8206
9889
  };
8207
9890
  }
9891
+ interface ComponentPortPathSegment {
9892
+ kind: 'widget' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
9893
+ id?: string;
9894
+ key?: string;
9895
+ index?: number;
9896
+ componentType?: string;
9897
+ }
8208
9898
  interface StateEndpointRef {
8209
9899
  kind: 'state';
8210
9900
  ref: {
@@ -8213,7 +9903,11 @@ interface StateEndpointRef {
8213
9903
  writable?: boolean;
8214
9904
  };
8215
9905
  }
8216
- type EndpointRef = ComponentPortEndpointRef | StateEndpointRef;
9906
+ interface GlobalActionEndpointRef {
9907
+ kind: 'global-action';
9908
+ ref: GlobalActionRef;
9909
+ }
9910
+ type EndpointRef = ComponentPortEndpointRef | StateEndpointRef | GlobalActionEndpointRef;
8217
9911
  type LinkIntent = 'event-propagation' | 'state-write' | 'state-read' | 'command-dispatch' | 'selection-sync' | 'data-projection' | 'status-propagation';
8218
9912
  interface LinkPolicy {
8219
9913
  debounceMs?: number;
@@ -8244,7 +9938,7 @@ interface CompositionLink {
8244
9938
 
8245
9939
  type DiagnosticSeverity = 'info' | 'warning' | 'error' | 'fatal';
8246
9940
  type DiagnosticPhase = 'catalog-lint' | 'page-lint' | 'semantic-validation' | 'runtime-bootstrap' | 'runtime-dispatch' | 'runtime-transform' | 'runtime-state' | 'runtime-delivery' | 'runtime-diagnostic';
8247
- type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
9941
+ type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'global-action' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
8248
9942
  interface DiagnosticSubjectRef {
8249
9943
  kind: DiagnosticSubjectKind;
8250
9944
  pageId?: string;
@@ -8252,6 +9946,7 @@ interface DiagnosticSubjectRef {
8252
9946
  widgetType?: string;
8253
9947
  portId?: string;
8254
9948
  statePath?: string;
9949
+ actionId?: string;
8255
9950
  linkId?: string;
8256
9951
  transformIndex?: number;
8257
9952
  eventId?: string;
@@ -8447,6 +10142,7 @@ interface FormActionButton {
8447
10142
  disabled?: boolean;
8448
10143
  type?: 'button' | 'submit' | 'reset';
8449
10144
  action?: string;
10145
+ globalAction?: GlobalActionRef;
8450
10146
  tooltip?: string;
8451
10147
  loading?: boolean;
8452
10148
  size?: 'small' | 'medium' | 'large';
@@ -8594,7 +10290,7 @@ interface FieldsetLayout {
8594
10290
  rows: FormRowLayout[];
8595
10291
  hiddenCondition?: JsonLogicExpression | null;
8596
10292
  }
8597
- type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column';
10293
+ type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
8598
10294
  interface FormLayoutRule {
8599
10295
  id: string;
8600
10296
  name: string;
@@ -8733,6 +10429,29 @@ interface EditorialFormTemplateBuildOptions {
8733
10429
  */
8734
10430
  declare function buildFormConfigFromEditorialTemplate(template: EditorialFormTemplate, options?: EditorialFormTemplateBuildOptions): FormConfig;
8735
10431
 
10432
+ interface FormFieldLayoutItem {
10433
+ kind: 'field';
10434
+ id: string;
10435
+ fieldName: string;
10436
+ }
10437
+ interface FormRichContentLayoutItem {
10438
+ kind: 'richContent';
10439
+ id: string;
10440
+ document: RichContentDocument;
10441
+ layout?: 'block' | 'inline';
10442
+ rootClassName?: string | null;
10443
+ }
10444
+ type FormLayoutItem = FormFieldLayoutItem | FormRichContentLayoutItem;
10445
+ interface FormLayoutItemsColumnLike {
10446
+ fields?: unknown;
10447
+ items?: unknown;
10448
+ }
10449
+ declare function createFieldLayoutItem(fieldName: string, index?: number): FormFieldLayoutItem;
10450
+ declare function isFormLayoutItem(value: unknown): value is FormLayoutItem;
10451
+ declare function normalizeFormLayoutItems(column: FormLayoutItemsColumnLike | null | undefined): FormLayoutItem[];
10452
+ declare function getFormLayoutFieldNames(items: readonly FormLayoutItem[] | null | undefined): string[];
10453
+ declare function getFormColumnFieldNames(column: FormLayoutItemsColumnLike | null | undefined): string[];
10454
+
8736
10455
  type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
8737
10456
  interface ColumnSpan {
8738
10457
  xs?: number;
@@ -8764,7 +10483,10 @@ interface ColumnHidden {
8764
10483
  }
8765
10484
  type ColumnAlign = 'start' | 'center' | 'end' | 'stretch';
8766
10485
  interface FormColumn {
10486
+ /** Legacy field-name list accepted as migration input while items becomes canonical. */
8767
10487
  fields: string[];
10488
+ /** Canonical ordered layout items for fields and visual blocks. */
10489
+ items?: FormLayoutItem[];
8768
10490
  id: string;
8769
10491
  title?: string;
8770
10492
  span?: ColumnSpan;
@@ -8838,8 +10560,10 @@ interface FormSectionHeaderAction {
8838
10560
  label: string;
8839
10561
  /** Icon rendered in the section header action slot. */
8840
10562
  icon: string;
8841
- /** Optional action name emitted by the runtime; defaults to `id` when omitted. */
10563
+ /** Optional local action name emitted by the runtime; defaults to `id` when omitted. */
8842
10564
  action?: string;
10565
+ /** Optional structured global action executed by hosts through GlobalActionService. */
10566
+ globalAction?: GlobalActionRef;
8843
10567
  /** Optional tooltip override. Falls back to `label` when omitted. */
8844
10568
  tooltip?: string;
8845
10569
  /** Optional theme color mapped to Angular Material button tones. */
@@ -8934,6 +10658,8 @@ interface FormConfig {
8934
10658
  messages?: FormMessagesLayout;
8935
10659
  /** Form rules for dynamic behavior */
8936
10660
  formRules?: FormLayoutRule[];
10661
+ /** Conditional command rules evaluated after form rule values stabilize. */
10662
+ formCommandRules?: PraxisRuntimeConditionalEffectRule<PraxisRuntimeGlobalActionEffect>[];
8937
10663
  /**
8938
10664
  * Raw state emitted by the visual rule builder.
8939
10665
  * Stored separately to allow round-trip editing without losing metadata.
@@ -9144,6 +10870,7 @@ interface FormInitializationError {
9144
10870
  }
9145
10871
  interface FormCustomActionEvent {
9146
10872
  actionId: string;
10873
+ globalAction?: GlobalActionRef;
9147
10874
  formData: any;
9148
10875
  isValid: boolean;
9149
10876
  source: 'button' | 'shortcut' | 'section-header';
@@ -9167,7 +10894,7 @@ interface RulePropertyDefinition {
9167
10894
  }>;
9168
10895
  category?: 'content' | 'appearance' | 'behavior' | 'layout' | 'validation';
9169
10896
  }
9170
- type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column', RulePropertyDefinition[]>;
10897
+ type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', RulePropertyDefinition[]>;
9171
10898
  declare const RULE_PROPERTY_SCHEMA: RulePropertySchema;
9172
10899
 
9173
10900
  type EditorialOrientation = 'horizontal' | 'vertical';
@@ -10089,6 +11816,43 @@ declare function createPersistedPage(identity: PageIdentity, page: WidgetPageDef
10089
11816
  status?: PersistedPageConfig['status'];
10090
11817
  }): PersistedPageConfig;
10091
11818
 
11819
+ type RecordRelatedSurfaceOperationId = 'dynamicPage.surface.discover' | 'dynamicPage.surface.open' | 'dynamicPage.surface.query';
11820
+ interface RecordRelatedSurfaceEndpoint {
11821
+ widget: string;
11822
+ componentType?: string;
11823
+ nestedPath?: ComponentPortPathSegment[];
11824
+ port?: string;
11825
+ childWidgetKey?: string;
11826
+ resourcePath?: string | null;
11827
+ }
11828
+ interface RecordRelatedSurfaceContext {
11829
+ id: string;
11830
+ label: string;
11831
+ relation: string;
11832
+ operationId: RecordRelatedSurfaceOperationId;
11833
+ source: RecordRelatedSurfaceEndpoint;
11834
+ target: RecordRelatedSurfaceEndpoint;
11835
+ resourceSurface?: ResourceSurfaceCatalogItem;
11836
+ statePath?: string;
11837
+ description?: string | null;
11838
+ }
11839
+ interface RecordRelatedSurfaceContextPack {
11840
+ source: 'dynamic-page-composition' | 'resource-capabilities' | 'mixed';
11841
+ surfaces: RecordRelatedSurfaceContext[];
11842
+ }
11843
+
11844
+ interface DomainKnowledgeTimelineRichContentOptions {
11845
+ title?: string;
11846
+ emptyText?: string;
11847
+ }
11848
+ declare function domainKnowledgeTimelineToRichContentDocument(timeline: DomainKnowledgeChangeSetTimelineResponse, options?: DomainKnowledgeTimelineRichContentOptions): RichContentDocument;
11849
+
11850
+ interface DomainRuleTimelineRichContentOptions {
11851
+ title?: string;
11852
+ emptyText?: string;
11853
+ }
11854
+ declare function domainRuleTimelineToRichContentDocument(timeline: DomainRuleTimelineResponse, options?: DomainRuleTimelineRichContentOptions): RichContentDocument;
11855
+
10092
11856
  /**
10093
11857
  * Navigation/back behavior configuration used by form hosts (e.g., CRUD dialogs/routes).
10094
11858
  * Moved from @praxisui/crud to @praxisui/core to avoid circular deps between
@@ -10108,16 +11872,59 @@ interface BackConfig {
10108
11872
  confirmOnDirty?: boolean;
10109
11873
  }
10110
11874
 
11875
+ declare const PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION: "praxis.query-filter-expression.v1";
11876
+ interface PraxisDataQueryContextMeta extends Record<string, unknown> {
11877
+ domainCatalog?: DomainCatalogContextHint | null;
11878
+ }
10111
11879
  interface PraxisDataQueryContext {
10112
11880
  filters?: Record<string, unknown> | null;
11881
+ filterExpression?: PraxisQueryFilterExpression | null;
10113
11882
  sort?: string[] | null;
10114
11883
  limit?: number | null;
10115
11884
  page?: {
10116
11885
  index?: number | null;
10117
11886
  size?: number | null;
10118
11887
  } | null;
10119
- meta?: Record<string, unknown> | null;
11888
+ meta?: PraxisDataQueryContextMeta | null;
11889
+ }
11890
+ interface PraxisQueryFilterExpression {
11891
+ schemaVersion: typeof PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION;
11892
+ root: PraxisQueryFilterNode;
11893
+ projection?: {
11894
+ filters?: Record<string, unknown> | null;
11895
+ lossless: boolean;
11896
+ reason?: string;
11897
+ } | null;
11898
+ governance?: PraxisQueryFilterGovernance | null;
11899
+ }
11900
+ interface PraxisQueryFilterGovernance extends Record<string, unknown> {
11901
+ source?: 'selected-records' | 'manual' | 'workflow' | 'ai-authored';
11902
+ decisionId?: string;
11903
+ explanation?: string;
11904
+ }
11905
+ type PraxisQueryFilterNode = PraxisQueryFilterGroup | PraxisQueryFilterPredicate;
11906
+ interface PraxisQueryFilterGroup {
11907
+ kind: 'group';
11908
+ operator: 'all' | 'any';
11909
+ clauses: PraxisQueryFilterNode[];
11910
+ }
11911
+ interface PraxisQueryFilterPredicate {
11912
+ kind: 'predicate';
11913
+ field: string;
11914
+ operator: PraxisQueryFilterPredicateOperator;
11915
+ value?: unknown;
11916
+ values?: unknown[];
11917
+ label?: string;
11918
+ source?: PraxisQueryFilterPredicateSource;
11919
+ }
11920
+ type PraxisQueryFilterPredicateOperator = 'equals' | 'notEquals' | 'in' | 'notIn' | 'contains' | 'startsWith' | 'between' | 'gte' | 'lte' | 'isNull' | 'isNotNull';
11921
+ interface PraxisQueryFilterPredicateSource extends Record<string, unknown> {
11922
+ kind: 'selected-records' | 'manual' | 'workflow' | 'current-context';
11923
+ field?: string;
11924
+ selectedIds?: Array<string | number>;
10120
11925
  }
11926
+ declare function normalizePraxisQueryFilterNode(node?: Record<string, unknown> | null): PraxisQueryFilterNode | null;
11927
+ declare function normalizePraxisQueryFilterExpression(expression?: Partial<PraxisQueryFilterExpression> | null): PraxisQueryFilterExpression | null;
10121
11928
  declare function normalizePraxisDataQueryContext(context?: PraxisDataQueryContext | null): PraxisDataQueryContext | null;
10122
11929
  declare function resolvePraxisFilterCriteria(filterCriteria?: Record<string, unknown> | null, queryContext?: PraxisDataQueryContext | null): Record<string, unknown>;
10123
11930
 
@@ -10456,7 +12263,7 @@ interface GlobalActionField {
10456
12263
  dependsOnValue?: string;
10457
12264
  }
10458
12265
  interface GlobalActionUiSchema {
10459
- id: GlobalActionId;
12266
+ id: string;
10460
12267
  label: string;
10461
12268
  fields: GlobalActionField[];
10462
12269
  editorMode?: 'default' | 'surface-open';
@@ -10464,6 +12271,33 @@ interface GlobalActionUiSchema {
10464
12271
  declare const GLOBAL_ACTION_UI_SCHEMAS: GlobalActionUiSchema[];
10465
12272
  declare function getGlobalActionUiSchema(id: string | undefined): GlobalActionUiSchema | undefined;
10466
12273
 
12274
+ type GlobalActionValidationCode = 'globalAction.actionId.required' | 'globalAction.payload.required' | 'globalAction.payload.type';
12275
+ interface GlobalActionValidationIssue {
12276
+ code: GlobalActionValidationCode;
12277
+ path?: string;
12278
+ actionId?: string;
12279
+ requiredKeys?: string[];
12280
+ missingKeys?: string[];
12281
+ expectedType?: string;
12282
+ actualType?: string;
12283
+ }
12284
+ interface GlobalActionValidationTarget {
12285
+ ref: GlobalActionRef | null | undefined;
12286
+ catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null;
12287
+ path?: string;
12288
+ }
12289
+ declare function normalizeGlobalActionRef(ref: GlobalActionRef | null | undefined): GlobalActionRef | null;
12290
+ declare function isGlobalActionRef(value: unknown): value is GlobalActionRef;
12291
+ declare function getRequiredGlobalActionPayloadKeys(actionId: string | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12292
+ declare function hasMeaningfulGlobalActionPayloadValue(value: any): boolean;
12293
+ declare function getMissingGlobalActionPayloadKeys(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12294
+ declare function isRequiredGlobalActionParamPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12295
+ declare function isRequiredGlobalActionPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12296
+ declare function getGlobalActionPayloadActualType(value: unknown): string;
12297
+ declare function getGlobalActionPayloadTypeIssue(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): Pick<GlobalActionValidationIssue, 'expectedType' | 'actualType'> | null;
12298
+ declare function validateGlobalActionRef(ref: GlobalActionRef | null | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null, path?: string): GlobalActionValidationIssue[];
12299
+ declare function validateGlobalActionRefs(targets: GlobalActionValidationTarget[]): GlobalActionValidationIssue[];
12300
+
10467
12301
  interface SurfaceOpenPreset {
10468
12302
  id: string;
10469
12303
  label: string;
@@ -10592,6 +12426,209 @@ interface AiConcept {
10592
12426
  }
10593
12427
  type AiConceptPack = Record<string, AiConcept>;
10594
12428
 
12429
+ /**
12430
+ * Representa o contrato canônico de authoring executável de um componente.
12431
+ */
12432
+ interface ComponentAuthoringManifest {
12433
+ /** Versão do schema do manifesto (ex: 1.0.0) */
12434
+ schemaVersion: string;
12435
+ /** Identificador único do componente no registry (ex: praxis-table) */
12436
+ componentId: string;
12437
+ /** Nome do pacote npm que possui o componente (ex: @praxisui/table) */
12438
+ ownerPackage: string;
12439
+ /** ID do schema de configuração (ex: TableConfig) */
12440
+ configSchemaId: string;
12441
+ /** Versão do manifesto específico deste componente */
12442
+ manifestVersion: string;
12443
+ /** Inputs que o componente aceita em runtime */
12444
+ runtimeInputs: ManifestInput[];
12445
+ /** Alvos que podem ser editados via AI */
12446
+ editableTargets: ManifestTarget[];
12447
+ /** Operações atômicas permitidas */
12448
+ operations: ManifestOperation[];
12449
+ /** Validadores de integridade da configuração */
12450
+ validators: ManifestValidator[];
12451
+ /** Requisitos para round-trip sem perda de informação */
12452
+ roundTripRequirements?: string[];
12453
+ /**
12454
+ * Exemplos de intenção → operação para uso em Few-Shot e evals.
12455
+ * Obrigatório: o gate de aceitação rejeita manifestos sem examples.
12456
+ * Deve conter ao menos um exemplo negativo (isPositive: false).
12457
+ */
12458
+ examples: ManifestExample[];
12459
+ /**
12460
+ * Perfis opcionais para familias de componentes que compartilham um manifesto
12461
+ * base, mas precisam expor semantica granular por componente/controlType.
12462
+ */
12463
+ controlProfiles?: ManifestControlProfile[];
12464
+ }
12465
+ interface ManifestInput {
12466
+ name: string;
12467
+ type: string;
12468
+ description?: string;
12469
+ allowedValues?: any[];
12470
+ }
12471
+ interface ManifestTarget {
12472
+ kind: string;
12473
+ resolver: string;
12474
+ description: string;
12475
+ }
12476
+ /**
12477
+ * Política de submissão para campos locais num formulário.
12478
+ * - 'omit': campo não é incluído no payload de submissão (default para campos locais).
12479
+ * - 'include': campo é sempre incluído no payload.
12480
+ * - 'includeWhenDirty': campo é incluído apenas se o valor foi alterado pelo usuário.
12481
+ * NOTA: 'transient' NÃO é um valor válido; use source:'local' + transient:true no schema de input.
12482
+ */
12483
+ type SubmitPolicy = 'omit' | 'include' | 'includeWhenDirty';
12484
+ type ManifestSubmissionImpact = 'none' | 'visual-only' | 'config-only' | 'affects-submission' | 'affects-schema-backed-data' | 'affects-remote-binding';
12485
+ interface ManifestOperation {
12486
+ operationId: string;
12487
+ title: string;
12488
+ /**
12489
+ * Escopo da operação.
12490
+ * - 'global': opera sobre a configuração raiz; target.required deve ser false.
12491
+ * - Outros valores: opera sobre um alvo específico; target.required deve ser true.
12492
+ * O valor 'target' é reservado para uso futuro e não deve ser usado.
12493
+ */
12494
+ scope: 'global' | 'column' | 'section' | 'row' | 'cell' | 'field' | 'rule' | 'itemTemplate' | 'itemAction' | 'selection' | 'layout' | 'rowLayout' | 'dataBinding' | 'interaction' | 'expansion' | 'rules' | 'meta' | 'skin' | 'templating' | 'toolbarUi' | 'export' | 'localization' | 'accessibility' | 'eventMapping' | 'controlType' | 'controlAlias' | 'editorialDescriptor' | 'selectorMapping' | 'fieldMetadataPath' | 'runtimeCoverage' | 'editorCoverage';
12495
+ /**
12496
+ * @deprecated Use `target.kind` em vez disso.
12497
+ * Mantido para compatibilidade retroativa com ferramentas que lêem o registry.
12498
+ * Deve ser igual a `target.kind` quando `target` estiver presente.
12499
+ */
12500
+ targetKind?: string;
12501
+ /**
12502
+ * Definição estruturada do alvo da operação.
12503
+ * Obrigatório para operações com scope diferente de 'global'.
12504
+ * Usado pelo backend para resolver o alvo antes de compilar o patch.
12505
+ */
12506
+ target?: {
12507
+ /** Tipo do alvo (ex: column, rule) */
12508
+ kind: string;
12509
+ /** Resolver canônico usado para localizar o alvo (ex: column-by-field) */
12510
+ resolver: string;
12511
+ /** Política para lidar com ambiguidades na resolução */
12512
+ ambiguityPolicy?: 'fail' | 'first' | 'all';
12513
+ /** Se o alvo é obrigatório para a operação */
12514
+ required: boolean;
12515
+ };
12516
+ /** Schema JSON do payload de entrada da operação */
12517
+ inputSchema: any;
12518
+ /**
12519
+ * Efeitos que a operação causa na configuração.
12520
+ * Usado pelo backend para compilar o patch de forma determinística.
12521
+ */
12522
+ effects: ManifestEffect[];
12523
+ /** Se true, a operação é destrutiva e pode causar perda de dados/configuração */
12524
+ destructive?: boolean;
12525
+ /**
12526
+ * Se true, o agente DEVE solicitar confirmação explícita antes de aplicar.
12527
+ * Obrigatório para todas as operações com destructive:true.
12528
+ */
12529
+ requiresConfirmation?: boolean;
12530
+ /** IDs dos validadores que devem ser executados para esta operação */
12531
+ validators?: string[];
12532
+ /**
12533
+ * Caminhos (JSON Path-like) na configuração afetados por esta operação.
12534
+ * Deve cobrir todos os paths tocados pelos effects.
12535
+ * Usado pelo backend para validação de acesso e auditoria de mudanças.
12536
+ */
12537
+ affectedPaths: string[];
12538
+ /**
12539
+ * Impacto declarado da operação sobre submissão, configuração visual ou binding remoto.
12540
+ * Boolean permanece aceito para manifests legados; manifests semanticamente validados devem usar
12541
+ * ManifestSubmissionImpact para evitar inferencia fragil no backend.
12542
+ */
12543
+ submissionImpact: ManifestSubmissionImpact | boolean;
12544
+ /**
12545
+ * Condições de estado que devem ser verdadeiras antes de executar a operação.
12546
+ * Usado pelo backend para validação prévia ao patch.
12547
+ * Ex: ['config-initialized', 'target-exists']
12548
+ */
12549
+ preconditions: string[];
12550
+ }
12551
+ /**
12552
+ * Efeito atômico sobre a configuração.
12553
+ * Usa discriminated union por `kind` para documentar quais campos são obrigatórios:
12554
+ *
12555
+ * - 'merge-object': path obrigatório; funde o payload no objeto no path.
12556
+ * - 'merge-by-key': path + key obrigatórios; funde pelo campo-chave em uma coleção.
12557
+ * - 'append-unique': path + key obrigatórios; adiciona item se não existir (deduplicação por key).
12558
+ * - 'remove-by-key': path + key obrigatórios; remove item da coleção pelo valor da key.
12559
+ * - 'reorder-by-key': path + key obrigatórios; reordena coleção por key.
12560
+ * - 'set-value': path obrigatório; seta o valor diretamente no path.
12561
+ * - 'compile-domain-patch': handler obrigatório; delega compilação a um handler especializado.
12562
+ */
12563
+ interface ManifestEffect {
12564
+ kind: 'merge-object' | 'merge-by-key' | 'append-unique' | 'remove-by-key' | 'reorder-by-key' | 'set-value' | 'compile-domain-patch';
12565
+ /** Path JSON-like na configuração onde o efeito é aplicado. Obrigatório para todos os kinds exceto 'compile-domain-patch'. */
12566
+ path?: string;
12567
+ /** Chave de identidade em coleções. Obrigatório para merge-by-key, append-unique, remove-by-key, reorder-by-key. */
12568
+ key?: string;
12569
+ /** Valor literal para efeitos set-value quando o valor não vem do input da operação. */
12570
+ value?: unknown;
12571
+ /** Caminho opcional dentro do input da operação usado por efeitos set-value. */
12572
+ inputPath?: string;
12573
+ /** ID do handler especializado. Obrigatório quando kind é 'compile-domain-patch'. */
12574
+ handler?: string;
12575
+ handlerContract?: ManifestDomainPatchHandlerContract;
12576
+ }
12577
+ interface ManifestDomainPatchHandlerContract {
12578
+ reads: string[];
12579
+ writes: string[];
12580
+ identityKeys: string[];
12581
+ inputSchema?: any;
12582
+ failureModes: string[];
12583
+ description: string;
12584
+ }
12585
+ interface ManifestValidator {
12586
+ validatorId: string;
12587
+ level: 'error' | 'warning' | 'info';
12588
+ code: string;
12589
+ description: string;
12590
+ }
12591
+ interface ManifestExample {
12592
+ id: string;
12593
+ request: string;
12594
+ operationId: string;
12595
+ target?: string;
12596
+ params?: any;
12597
+ isPositive?: boolean;
12598
+ }
12599
+ interface ManifestControlProfile {
12600
+ /** Identificador estavel do perfil dentro do manifesto familiar. */
12601
+ profileId: string;
12602
+ /** Nome curto usado por ferramentas de authoring. */
12603
+ title: string;
12604
+ /** Explica a semantica que este perfil adiciona sobre o manifesto base. */
12605
+ description: string;
12606
+ /** Regras deterministicas para projetar o perfil em componentes do registry. */
12607
+ appliesTo: ManifestControlProfileApplicability;
12608
+ /** Alvos adicionais ou refinados que este perfil torna editaveis. */
12609
+ editableTargets?: ManifestTarget[];
12610
+ /** Operacoes especificas do perfil/controlType. */
12611
+ operations: ManifestOperation[];
12612
+ /** Validadores especificos do perfil/controlType. */
12613
+ validators: ManifestValidator[];
12614
+ /** Exemplos/evals especificos do perfil/controlType. */
12615
+ examples: ManifestExample[];
12616
+ /** Requisitos adicionais de round-trip para este perfil. */
12617
+ roundTripRequirements?: string[];
12618
+ }
12619
+ interface ManifestControlProfileApplicability {
12620
+ /** IDs de componentes do registry que devem receber este perfil. */
12621
+ componentIds?: string[];
12622
+ /** Selectors publicos que devem receber este perfil. */
12623
+ selectors?: string[];
12624
+ /** Control types canonicos ou aliases que devem receber este perfil. */
12625
+ controlTypes?: string[];
12626
+ /** Tags de ComponentDocMeta usadas como fallback de classificacao. */
12627
+ tags?: string[];
12628
+ /** Tipos do input `metadata` usados como fallback de classificacao. */
12629
+ metadataInputTypes?: string[];
12630
+ }
12631
+
10595
12632
  /**
10596
12633
  * Catálogo de capacidades genéricas de FieldMetadata para uso da IA.
10597
12634
  * Baseado em projects/praxis-core/src/lib/models/component-metadata.interface.ts
@@ -10613,7 +12650,7 @@ declare function getFieldMetadataCapabilities(): Capability$1[];
10613
12650
  * Paths follow WidgetPageDefinition shape under "page".
10614
12651
  */
10615
12652
 
10616
- declare module "./index" {
12653
+ declare module "./praxisui-core" {
10617
12654
  interface AiCapabilityCategoryMap {
10618
12655
  page: true;
10619
12656
  layout: true;
@@ -10621,6 +12658,7 @@ declare module "./index" {
10621
12658
  shell: true;
10622
12659
  connections: true;
10623
12660
  context: true;
12661
+ state: true;
10624
12662
  }
10625
12663
  }
10626
12664
  type CapabilityCategory = AiCapabilityCategory;
@@ -10651,7 +12689,11 @@ interface ComponentActionParam {
10651
12689
  }
10652
12690
  interface ComponentContextAction {
10653
12691
  id: string;
10654
- keywords?: string[];
12692
+ /**
12693
+ * Natural-language examples for LLM grounding only.
12694
+ * Runtime code must not use these strings for keyword routing.
12695
+ */
12696
+ intentExamples?: string[];
10655
12697
  patchTemplate: any;
10656
12698
  safetyNotes?: string;
10657
12699
  /**
@@ -10707,10 +12749,14 @@ interface ComponentMergePatch<TConfig extends Record<string, unknown> = Record<s
10707
12749
 
10708
12750
  declare const DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK: ComponentContextPack;
10709
12751
 
12752
+ declare const DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK: ComponentContextPack;
12753
+
10710
12754
  interface WidgetEventPathSegment {
10711
- kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
12755
+ kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group' | 'widget';
10712
12756
  id?: string;
12757
+ key?: string;
10713
12758
  index?: number;
12759
+ componentType?: string;
10714
12760
  }
10715
12761
  interface WidgetEventEnvelope {
10716
12762
  /** Optional top-level page widget key that owns the event tree. */
@@ -10732,6 +12778,50 @@ interface WidgetResolutionDiagnostic {
10732
12778
  error?: unknown;
10733
12779
  }
10734
12780
 
12781
+ interface WidgetEventPathNormalizeOptions {
12782
+ /** Optional owner component id used to strip only the top-level container segment. */
12783
+ ownerComponentId?: string;
12784
+ }
12785
+ interface WidgetEventPathNormalizeInput {
12786
+ path?: WidgetEventPathSegment[];
12787
+ sourceChildWidgetKey?: string;
12788
+ sourceComponentId?: string;
12789
+ }
12790
+ declare function normalizeWidgetEventPath(event: WidgetEventEnvelope | WidgetEventPathNormalizeInput, options?: WidgetEventPathNormalizeOptions): ComponentPortPathSegment[];
12791
+
12792
+ interface NestedWidgetResolution {
12793
+ ownerWidgetKey: string;
12794
+ nestedPath: ComponentPortPathSegment[];
12795
+ widget: WidgetDefinition;
12796
+ componentId: string;
12797
+ childWidgetKey: string;
12798
+ }
12799
+ interface NestedWidgetInputPatchResult {
12800
+ widget: WidgetInstance;
12801
+ changed: boolean;
12802
+ }
12803
+ declare class NestedWidgetConfigAccessor {
12804
+ listNestedWidgets(owner: WidgetInstance): NestedWidgetResolution[];
12805
+ resolveNestedWidget(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined): WidgetDefinition | undefined;
12806
+ setNestedWidgetInput(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined, inputName: string, value: unknown): NestedWidgetInputPatchResult;
12807
+ private listNestedWidgetsInDefinition;
12808
+ private resolveNestedWidgetInDefinition;
12809
+ private setNestedWidgetInputInDefinition;
12810
+ private listChildWidgetLocations;
12811
+ private listTabsWidgetLocations;
12812
+ private listExpansionWidgetLocations;
12813
+ private resolveWidgetArrayLocation;
12814
+ private resolveTabsWidgetArray;
12815
+ private resolveExpansionWidgetArray;
12816
+ private findBySegment;
12817
+ private segmentIdentity;
12818
+ private asWidgetDefinitions;
12819
+ private isWidgetDefinition;
12820
+ private resolveChildWidgetKey;
12821
+ private clone;
12822
+ private isEqual;
12823
+ }
12824
+
10735
12825
  type EditorialContentFormat = 'plain' | 'markdown';
10736
12826
  interface EditorialLinkDefinition {
10737
12827
  label: string;
@@ -10935,17 +13025,27 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
10935
13025
  widgetDiagnostic: EventEmitter<WidgetResolutionDiagnostic>;
10936
13026
  private compRef?;
10937
13027
  private currentId?;
13028
+ private currentUsesInitialBindings;
13029
+ private currentInitialBindingSignature;
10938
13030
  private outputSubs;
10939
13031
  /** Dispatch a shell action to the inner widget instance when supported. */
10940
13032
  dispatchAction(action: WidgetShellActionEvent): boolean;
10941
13033
  ngOnInit(): void;
10942
13034
  ngOnChanges(changes: SimpleChanges): void;
10943
13035
  ngOnDestroy(): void;
13036
+ renderNow(): void;
10944
13037
  private parseWidget;
10945
13038
  private tryRender;
10946
13039
  private createComponent;
10947
13040
  private destroyCurrent;
13041
+ private shouldUseInitialInputBindings;
10948
13042
  private bindInputs;
13043
+ private initialBindingSignature;
13044
+ private orderedInputEntries;
13045
+ private resolveAndCoerceValue;
13046
+ private withInferredIdentityInputs;
13047
+ private normalizeMaterializedRuntimeInputs;
13048
+ private inferResourcePathFromSchemaUrl;
10949
13049
  private bindOutputs;
10950
13050
  private resolveValue;
10951
13051
  private get widgetDefinition();
@@ -10953,6 +13053,8 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
10953
13053
  private lookup;
10954
13054
  private validateAgainstMetadata;
10955
13055
  private coercePrimitive;
13056
+ private stableStringify;
13057
+ private stableSerializableValue;
10956
13058
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetLoaderDirective, never>;
10957
13059
  static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicWidgetLoaderDirective, "[dynamicWidgetLoader]", ["dynamicWidgetLoader"], { "widget": { "alias": "dynamicWidgetLoader"; "required": false; }; "ownerWidgetKey": { "alias": "ownerWidgetKey"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "autoWireOutputs": { "alias": "autoWireOutputs"; "required": false; }; }, { "widgetEvent": "widgetEvent"; "widgetDiagnostic": "widgetDiagnostic"; }, never, never, true, never>;
10958
13060
  }
@@ -10963,6 +13065,7 @@ declare const BUILTIN_SHELL_PRESETS: Record<string, NonNullable<Appearance>>;
10963
13065
  declare class WidgetShellComponent implements OnChanges {
10964
13066
  private readonly i18n;
10965
13067
  get hostCollapsed(): boolean;
13068
+ get dragSurfaceInteractive(): boolean;
10966
13069
  shell?: WidgetShellConfig | null;
10967
13070
  context?: Record<string, any> | null;
10968
13071
  dragSurfaceEnabled: boolean;
@@ -10975,7 +13078,10 @@ declare class WidgetShellComponent implements OnChanges {
10975
13078
  collapsed: boolean;
10976
13079
  expanded: boolean;
10977
13080
  fullscreen: boolean;
10978
- ngOnChanges(): void;
13081
+ private initializedWindowState;
13082
+ private lastWindowStateInputs?;
13083
+ ngOnChanges(changes: SimpleChanges): void;
13084
+ private syncInitialWindowState;
10979
13085
  get shellEnabled(): boolean;
10980
13086
  get showHeader(): boolean;
10981
13087
  get headerActions(): ActionList;
@@ -10994,6 +13100,8 @@ declare class WidgetShellComponent implements OnChanges {
10994
13100
  private isVisible;
10995
13101
  private resolvePresetAppearance;
10996
13102
  private mergeAppearance;
13103
+ private readWindowStateInputs;
13104
+ private areWindowStateInputsEqual;
10997
13105
  private isInteractiveHeaderTarget;
10998
13106
  private t;
10999
13107
  static ɵfac: i0.ɵɵFactoryDeclaration<WidgetShellComponent, never>;
@@ -11031,6 +13139,7 @@ declare class WidgetPageStateRuntimeService {
11031
13139
  private evaluateDerivedJsonLogic;
11032
13140
  private resolveCaseValue;
11033
13141
  private resolveTemplate;
13142
+ private isPageStateTemplatePath;
11034
13143
  private normalizeDependencyPath;
11035
13144
  private readPath;
11036
13145
  private isPlainObject;
@@ -11059,6 +13168,86 @@ interface WidgetPageComposition {
11059
13168
  context: Record<string, unknown>;
11060
13169
  }
11061
13170
 
13171
+ interface NestedPortCatalogRegistry {
13172
+ get(id: string): Pick<ComponentDocMeta, 'ports'> | undefined;
13173
+ }
13174
+ interface ResolvedNestedPort {
13175
+ ownerWidgetKey: string;
13176
+ ownerComponentId?: string;
13177
+ nestedPath: ComponentPortPathSegment[];
13178
+ containerPath?: ComponentPortPathSegment[];
13179
+ port: PortContract;
13180
+ componentId: string;
13181
+ childWidgetKey: string;
13182
+ }
13183
+ interface NestedPortCatalogDiagnostic {
13184
+ code: 'NESTED_WIDGET_METADATA_MISSING' | 'NESTED_WIDGET_KEY_MISSING';
13185
+ severity: 'warning' | 'error';
13186
+ ownerWidgetKey: string;
13187
+ nestedPath: ComponentPortPathSegment[];
13188
+ componentId?: string;
13189
+ message: string;
13190
+ }
13191
+ interface NestedPortCatalogResult {
13192
+ ports: ResolvedNestedPort[];
13193
+ diagnostics: NestedPortCatalogDiagnostic[];
13194
+ }
13195
+ declare class NestedPortCatalogService {
13196
+ private readonly accessor;
13197
+ constructor(accessor?: NestedWidgetConfigAccessor);
13198
+ resolve(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry): NestedPortCatalogResult;
13199
+ resolveEndpoint(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry, options: {
13200
+ ownerWidgetKey: string;
13201
+ nestedPath: ComponentPortPathSegment[];
13202
+ portId: string;
13203
+ direction: PortContract['direction'];
13204
+ }): ResolvedNestedPort | undefined;
13205
+ private hasStableTerminalKey;
13206
+ private containerPath;
13207
+ private isSamePath;
13208
+ private clone;
13209
+ }
13210
+
13211
+ type SemanticEndpointRef = EndpointRef & {
13212
+ ref: EndpointRef['ref'] & {
13213
+ semanticKind?: TransformSemanticKind;
13214
+ };
13215
+ };
13216
+ type SemanticCompositionLink = CompositionLink & {
13217
+ from: SemanticEndpointRef;
13218
+ to: SemanticEndpointRef;
13219
+ transform?: TransformPipeline;
13220
+ };
13221
+ interface CompositionValidatorContext {
13222
+ page?: Pick<WidgetPageDefinition, 'widgets'>;
13223
+ registry?: NestedPortCatalogRegistry;
13224
+ links?: SemanticCompositionLink[];
13225
+ }
13226
+ declare class CompositionValidatorService {
13227
+ private readonly nestedPortCatalog;
13228
+ private readonly jsonLogic;
13229
+ constructor(nestedPortCatalog?: NestedPortCatalogService, jsonLogic?: PraxisJsonLogicService);
13230
+ validateLink(link: SemanticCompositionLink, context?: CompositionValidatorContext): DiagnosticRecord[];
13231
+ private validateEndpointDirections;
13232
+ private validateBindingPathBridge;
13233
+ private validateNestedComponentEndpoints;
13234
+ private validateNestedPortCatalog;
13235
+ private projectCatalogDiagnostics;
13236
+ private validateNestedWidgetEventCoexistence;
13237
+ private validateStateWrites;
13238
+ private validateGlobalActionTarget;
13239
+ private validateCondition;
13240
+ private validateTransformCatalog;
13241
+ private validateSemanticCompatibility;
13242
+ private endpointSemanticKind;
13243
+ private areSemanticKindsCompatible;
13244
+ private areKindsDirectlyCompatible;
13245
+ private createDiagnostic;
13246
+ private formatNestedPath;
13247
+ private nestedEndpointSubject;
13248
+ private isSameNestedPath;
13249
+ }
13250
+
11062
13251
  interface CompositionRuntimeStoreInit {
11063
13252
  pageId?: string;
11064
13253
  status?: RuntimeSnapshotStatus;
@@ -11132,13 +13321,16 @@ interface LinkExecutionContext {
11132
13321
  lastDeliveredAt?: string;
11133
13322
  }
11134
13323
  interface LinkExecutionDelivery {
11135
- kind: 'state' | 'component-port';
13324
+ kind: 'state' | 'component-port' | 'global-action';
11136
13325
  value: unknown;
11137
13326
  statePath?: string;
11138
13327
  stateLayer?: 'values' | 'derived' | 'transient';
11139
13328
  widgetKey?: string;
11140
13329
  portId?: string;
11141
13330
  bindingPath?: string;
13331
+ nestedPath?: ComponentPortPathSegment[];
13332
+ actionId?: string;
13333
+ actionRef?: GlobalActionRef;
11142
13334
  }
11143
13335
  interface LinkExecutionResult {
11144
13336
  status: 'delivered' | 'skipped' | 'failed';
@@ -11208,6 +13400,7 @@ interface CompositionRuntimeEngineOptions {
11208
13400
  linkExecutor?: LinkExecutorService;
11209
13401
  stateRuntime?: WidgetPageStateRuntimeService;
11210
13402
  traceService?: RuntimeTraceService;
13403
+ compositionValidator?: CompositionValidatorService;
11211
13404
  }
11212
13405
  interface CompositionStateWidgetPreviewOptions {
11213
13406
  widgets?: WidgetInstance[];
@@ -11224,7 +13417,9 @@ declare class CompositionRuntimeEngine {
11224
13417
  private readonly linkExecutor;
11225
13418
  private readonly stateRuntime;
11226
13419
  private readonly traceService;
13420
+ private readonly compositionValidator;
11227
13421
  private readonly pathAccessor;
13422
+ private readonly nestedWidgetAccessor;
11228
13423
  private definition;
11229
13424
  private readonly now;
11230
13425
  constructor(options?: CompositionRuntimeEngineOptions);
@@ -11236,11 +13431,13 @@ declare class CompositionRuntimeEngine {
11236
13431
  private createLinkSnapshot;
11237
13432
  private applyBootstrapHydration;
11238
13433
  private materializeDerivedState;
13434
+ private validateComposition;
11239
13435
  private createDerivedDiagnostic;
11240
13436
  private clonePreviewWidgets;
11241
13437
  private cloneJson;
11242
13438
  private extractDerivedNodeKey;
11243
13439
  private appendDiagnosticTraceEntries;
13440
+ private createNestedWidgetEventBridgeDiagnostics;
11244
13441
  }
11245
13442
 
11246
13443
  interface CompositionRuntimeFacadeOptions {
@@ -11331,8 +13528,12 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11331
13528
  pageIdentity?: PageIdentity;
11332
13529
  /** Optional instance key for pages rendered multiple times. */
11333
13530
  componentInstanceId?: string;
13531
+ /** Enables a contextual authoring assistant entrypoint for the selected widget. */
13532
+ showWidgetAssistantButton: boolean;
11334
13533
  pageChange: EventEmitter<WidgetPageDefinition>;
11335
13534
  widgetEvent: EventEmitter<WidgetEventEnvelope>;
13535
+ widgetSelectionChange: EventEmitter<string | null>;
13536
+ widgetAssistantRequested: EventEmitter<string>;
11336
13537
  widgetDiagnosticsChange: EventEmitter<Record<string, WidgetResolutionDiagnostic>>;
11337
13538
  widgets: i0.WritableSignal<WidgetInstance[]>;
11338
13539
  renderedGroups: i0.WritableSignal<RenderedWidgetGroup[]>;
@@ -11351,7 +13552,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11351
13552
  private pageColumnCount;
11352
13553
  private activeTabs;
11353
13554
  private widgetDiagnostics;
11354
- private selectedCanvasWidgetKey;
13555
+ private selectedWidgetKey;
11355
13556
  private blockedCanvasWidgetKey;
11356
13557
  private canvasPreviewState;
11357
13558
  private canvasPreviewInvalidState;
@@ -11362,6 +13563,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11362
13563
  private persistenceReady;
11363
13564
  private warnedMissingKey;
11364
13565
  private runtimeEventSequence;
13566
+ private readonly widgetShellRenderCache;
11365
13567
  private readonly compositionFactory;
11366
13568
  private readonly compositionRuntime;
11367
13569
  private compositionDefinition?;
@@ -11373,6 +13575,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11373
13575
  private readonly route;
11374
13576
  private readonly conn;
11375
13577
  private readonly stateRuntime;
13578
+ private readonly nestedWidgetAccessor;
11376
13579
  private readonly settingsPanel;
11377
13580
  private readonly defaultShellEditor;
11378
13581
  private readonly defaultPageEditor;
@@ -11381,37 +13584,92 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11381
13584
  ngOnChanges(changes: SimpleChanges): void;
11382
13585
  onWidgetEvent(fromKey: string, evt: WidgetEventEnvelope): void;
11383
13586
  private applyWidgetInputPatchToPage;
13587
+ private resolveWidgetInputPatchNestedPath;
11384
13588
  private extractWidgetInputPatch;
11385
13589
  private buildStateRuntime;
11386
13590
  private bootstrapCompositionAdapter;
11387
13591
  private applyEditShellActions;
11388
- private withShellActions;
11389
13592
  private applyBootstrapCompositionHydration;
13593
+ private applyRecordRelatedSurfaceAiContext;
13594
+ private buildRecordRelatedSurfacesBySource;
13595
+ private isTableRowClickToStateLink;
13596
+ private isStateToTableQueryContextLink;
13597
+ private resolveRecordSurfaceId;
13598
+ private resolveRecordSurfaceLabel;
13599
+ private resolveRecordSurfaceTabLabel;
13600
+ private humanizeRecordSurfaceLabel;
13601
+ private resolveRecordSurfaceChildWidgetKey;
13602
+ private recordSurfaceSourceKey;
13603
+ private recordSurfaceNestedPathSignature;
13604
+ private parseRecordSurfaceNestedPathSignature;
13605
+ private stringOrNull;
13606
+ private isRecord;
13607
+ private maybeOpenRecordRelatedSurface;
13608
+ private applyRecordSurfaceSourceState;
13609
+ private findRecordSurfaceTabIndex;
13610
+ private shouldMaterializeSelectedIndexInput;
11390
13611
  private reportStateDiagnostics;
11391
13612
  private dispatchWidgetEventToComposition;
13613
+ private matchesRuntimeSourceRef;
13614
+ private matchesLegacyWidgetEventSource;
13615
+ private areNestedPathsEqual;
11392
13616
  private stateFromCompositionSnapshot;
11393
13617
  private applyCompositionWidgetDeliveries;
13618
+ private executeCompositionGlobalActionDeliveries;
13619
+ private resolveCompositionGlobalActionRef;
11394
13620
  private buildStateContext;
11395
13621
  private cloneStateValues;
11396
13622
  private cloneGrouping;
11397
13623
  private resolveShellTemplates;
13624
+ private enrichRuntimeWidgetInputs;
13625
+ private buildRichContentHostCapabilities;
13626
+ private dispatchRichContentAction;
13627
+ private isRichContentActionAvailable;
13628
+ private hasRichContentCapability;
11398
13629
  private resolveComponentBindingPath;
11399
13630
  private buildRuntimeEventId;
11400
- private shouldInjectEditShellActions;
11401
- private canOpenWidgetShellSettings;
13631
+ canOpenWidgetShellSettings(): boolean;
13632
+ canOpenWidgetComponentSettings(key: string): boolean;
13633
+ componentSettingsLabel(): string;
13634
+ componentSettingsTooltip(): string;
13635
+ widgetSettingsLabel(): string;
13636
+ widgetSettingsTooltip(): string;
13637
+ widgetAssistantLabel(): string;
13638
+ widgetAssistantTooltip(): string;
13639
+ requestWidgetAssistant(widgetKey: string): void;
13640
+ widgetRemoveLabel(): string;
13641
+ moreWidgetActionsLabel(): string;
13642
+ widgetContextToolbarLabel(widgetKey: string): string;
13643
+ widgetContextLabel(widget: WidgetInstance): string;
13644
+ widgetContextTooltip(widget: WidgetInstance): string;
13645
+ shouldRenderWidgetContextOverlay(widget: WidgetInstance): boolean;
13646
+ widgetShellForRender(widget: WidgetInstance): WidgetShellConfig | null | undefined;
13647
+ private resolveWidgetDisplayName;
13648
+ private shouldProjectWidgetHeaderActions;
13649
+ private hasVisibleWidgetShellHeader;
13650
+ private hasVisibleShellActions;
13651
+ private hasVisibleWindowActions;
13652
+ private buildProjectedWidgetShellActions;
13653
+ private widgetShellActionSignature;
13654
+ private isVisibleShellAction;
11402
13655
  private areStateValuesEqual;
11403
13656
  onWidgetDiagnostic(widgetKey: string, diagnostic: WidgetResolutionDiagnostic): void;
11404
13657
  onShellAction(fromKey: string, evt: WidgetShellActionEvent): void;
11405
13658
  private handleSetInputCommand;
11406
13659
  private mergeOrder;
11407
13660
  private maybeExecuteMappedAction;
11408
- private maybeExecuteGlobalCommand;
11409
13661
  private resolveActionPayload;
11410
13662
  private resolveTemplate;
11411
13663
  private lookup;
11412
13664
  openWidgetShellSettings(key: string): void;
11413
13665
  openWidgetComponentSettings(key: string): void;
11414
13666
  private applyWidgetComponentInputs;
13667
+ confirmAndRemoveWidget(widgetKey: string): Promise<void>;
13668
+ removeSelectedWidget(): void;
13669
+ removeSelectedCanvasWidget(): void;
13670
+ private removeWidgetReferences;
13671
+ private linkReferencesWidget;
13672
+ private endpointReferencesWidget;
11415
13673
  openPageSettings(): void;
11416
13674
  private applyWidgetShell;
11417
13675
  private applyPageLayout;
@@ -11435,8 +13693,14 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11435
13693
  private resolveDeviceKind;
11436
13694
  isCanvasMode(): boolean;
11437
13695
  shouldAutoWireOutputs(widget: WidgetInstance | RenderedWidgetInstance): boolean;
11438
- selectCanvasWidget(widgetKey: string): void;
13696
+ private hasCompositionOutputLinks;
13697
+ selectWidget(widgetKey: string): void;
13698
+ selectWidgetFromHostEvent(widgetKey: string, event: Event): void;
11439
13699
  isCanvasWidgetSelected(widgetKey: string): boolean;
13700
+ isWidgetSelected(widgetKey: string): boolean;
13701
+ private shouldPreserveInnerWidgetInteraction;
13702
+ selectCanvasWidget(widgetKey: string): void;
13703
+ getPageSnapshot(): WidgetPageDefinition;
11440
13704
  isCanvasWidgetBlocked(widgetKey: string): boolean;
11441
13705
  canvasPreviewItem(): WidgetPageCanvasItem | null;
11442
13706
  canvasPreviewGridColumn(): string | null;
@@ -11449,6 +13713,8 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11449
13713
  private applyWidgetLayoutOverrides;
11450
13714
  private applyCanvasLayoutToWidgets;
11451
13715
  private startCanvasInteraction;
13716
+ private cancelCanvasInteractionForWidget;
13717
+ private isCanvasOverlayInteraction;
11452
13718
  private currentCanvasMetrics;
11453
13719
  private currentCanvasItem;
11454
13720
  private resolveCanvasInteractionDelta;
@@ -11506,7 +13772,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11506
13772
  private sanitizeSegment;
11507
13773
  private assertNoLegacyConnections;
11508
13774
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetPageComponent, never>;
11509
- static ɵcmp: i0.ɵɵComponentDeclaration<DynamicWidgetPageComponent, "praxis-dynamic-page", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showPageSettingsButton": { "alias": "showPageSettingsButton"; "required": false; }; "shellEditorComponent": { "alias": "shellEditorComponent"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; }, { "pageChange": "pageChange"; "widgetEvent": "widgetEvent"; "widgetDiagnosticsChange": "widgetDiagnosticsChange"; }, never, never, true, never>;
13775
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicWidgetPageComponent, "praxis-dynamic-page", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showPageSettingsButton": { "alias": "showPageSettingsButton"; "required": false; }; "shellEditorComponent": { "alias": "shellEditorComponent"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "showWidgetAssistantButton": { "alias": "showWidgetAssistantButton"; "required": false; }; }, { "pageChange": "pageChange"; "widgetEvent": "widgetEvent"; "widgetSelectionChange": "widgetSelectionChange"; "widgetAssistantRequested": "widgetAssistantRequested"; "widgetDiagnosticsChange": "widgetDiagnosticsChange"; }, never, never, true, never>;
11510
13776
  }
11511
13777
 
11512
13778
  /** Metadata for Praxis Dynamic Page component */
@@ -11516,7 +13782,7 @@ declare const PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA: ComponentDocMeta;
11516
13782
  */
11517
13783
  declare function providePraxisDynamicPageMetadata(): Provider;
11518
13784
 
11519
- declare class PraxisSurfaceHostComponent {
13785
+ declare class PraxisSurfaceHostComponent implements AfterViewInit, OnChanges {
11520
13786
  title?: string;
11521
13787
  subtitle?: string;
11522
13788
  icon?: string;
@@ -11528,6 +13794,11 @@ declare class PraxisSurfaceHostComponent {
11528
13794
  * modal/drawer hosts. Inline consumers may opt into rendering it again.
11529
13795
  */
11530
13796
  renderTitleInsideBody: boolean;
13797
+ private widgetLoader?;
13798
+ private renderQueued;
13799
+ ngAfterViewInit(): void;
13800
+ ngOnChanges(changes: SimpleChanges): void;
13801
+ private scheduleWidgetRender;
11531
13802
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisSurfaceHostComponent, never>;
11532
13803
  static ɵcmp: i0.ɵɵComponentDeclaration<PraxisSurfaceHostComponent, "praxis-surface-host", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "widget": { "alias": "widget"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "renderTitleInsideBody": { "alias": "renderTitleInsideBody"; "required": false; }; }, {}, never, never, true, never>;
11533
13804
  }
@@ -11651,7 +13922,7 @@ declare function normalizeFormConfig(config: FormConfig): FormConfig;
11651
13922
 
11652
13923
  /** Minimal metadata about the backend schema source. */
11653
13924
  interface SchemaMetaInfo {
11654
- /** API path used to resolve the schema (e.g., /api/employees/all or /filter) */
13925
+ /** API path used to resolve the schema (e.g., /api/employees/filter) */
11655
13926
  path: string;
11656
13927
  /** Operation used when fetching the schema (get|post) */
11657
13928
  operation: string;
@@ -11725,6 +13996,12 @@ interface SchemaIdParams {
11725
13996
  }
11726
13997
  declare function normalizePath(p: string): string;
11727
13998
  declare function buildSchemaId(params: SchemaIdParams): string;
13999
+ /**
14000
+ * Produces a deterministic, storage-safe segment for places that impose short
14001
+ * identifier limits. This must not replace the semantic schemaId stored in
14002
+ * payloads or metadata.
14003
+ */
14004
+ declare function buildSchemaIdStorageKeySegment(schemaId: string): string;
11728
14005
 
11729
14006
  interface FetchWithEtagParams {
11730
14007
  url: string;
@@ -11904,5 +14181,5 @@ declare function provideFormHookPresets(presets: Array<FormHookPreset>): Provide
11904
14181
  /** Register a whitelist of allowed hook ids/patterns. */
11905
14182
  declare function provideHookWhitelist(allowed: Array<string | RegExp>): Provider[];
11906
14183
 
11907
- export { API_CONFIG_STORAGE_OPTIONS, API_URL, ASYNC_CONFIG_STORAGE, AllowedFileTypes, AnalyticsPresentationResolver, AnalyticsSchemaContractService, AnalyticsStatsRequestBuilderService, ApiConfigStorage, ApiEndpoint, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, BUILTIN_SHELL_PRESETS, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentKeyService, ComponentMetadataRegistry, CompositionRuntimeFacade, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_TABLE_CONFIG, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG$1 as GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_CATALOG as GLOBAL_ACTION_SPEC_CATALOG, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_SURFACE_SERVICE, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_TOKEN_TO_CONTROL_TYPE, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_FOOTER_LINKS_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_HERO_BANNER_METADATA, PRAXIS_I18N_CONFIG, PRAXIS_I18N_TRANSLATOR, PRAXIS_JSON_LOGIC_OPERATORS, PRAXIS_LAYER_SCALE_DEFAULTS, PRAXIS_LAYER_SCALE_VARS, PRAXIS_LEGAL_NOTICE_METADATA, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_RICH_TEXT_BLOCK_METADATA, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisI18nService, PraxisIconDirective, PraxisIconPickerComponent, PraxisJsonLogicError, PraxisJsonLogicService, PraxisLayerScaleStyleService, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRichTextBlockComponent, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, RESOURCE_DISCOVERY_I18N_CONFIG, RESOURCE_DISCOVERY_I18N_NAMESPACE, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceActionOpenAdapterService, ResourceDiscoveryService, ResourceQuickConnectComponent, ResourceSurfaceOpenAdapterService, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_DRAWER_BRIDGE, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, SurfaceOpenActionEditorComponent, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$1 as applyLocalCustomizations, applyLocalCustomizations as applyLocalFormCustomizations, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildPraxisLayerScaleCss, buildSchemaId, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createEmptyRichContentDocument, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getGlobalActionCatalog, getGlobalActionUiSchema, getReferencedFieldMetadata, getTextTransformer, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isInlineFilterControlType, isRangeValidForFilter, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormMetadata, normalizePath, normalizePraxisDataQueryContext, normalizeResourceAvailabilityReasonCode, normalizeStart, normalizeUnknownError, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisDynamicPageMetadata, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisIconDefaults, providePraxisJsonLogicOperator, providePraxisJsonLogicOperatorOverride, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRichTextBlockMetadata, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveDefaultValuePresentationFormat, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisFilterCriteria, resolveResourceAvailabilityReasonKey, resolveSpan, resolveValuePresentation, resolveValuePresentationLocale, slugify, stripMasksHook, supportsImplicitValuePresentation, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, translateResourceAvailabilityReason, translateResourceDiscoveryText, translateUnavailableWorkflowMessage, trim, uniqueAsyncValidator, urlValidator, withMessage, withPraxisHttpLoading };
11908
- export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnalyticsIntent, AnalyticsPresentationDecision, AnalyticsPresentationFamily, AnalyticsPresentationResolverOptions, AnalyticsSchemaContractRequest, AnalyticsSourceKind, AnalyticsStatsGranularity, AnalyticsStatsMetricOperation, AnalyticsStatsOperation, AnalyticsStatsOrderBy, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AsyncConfigStorage, BackConfig, BaseMaterialInputMetadata, BatchDeleteOptions, BatchDeleteProgress, BatchDeleteResult, BorderConfig, Breakpoint, BuiltValidators, BulkAction, BulkActionsConfig, CacheAdapter, CacheConfig, CacheEntry, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, ComponentActionParam, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentEditorialResolveOptions, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ComponentMetadataEditorialBindingDescriptor, ComponentMetadataEditorialDescriptor, ComponentPortEndpointRef, CompositionLink, CompositionRuntimeFacadeOptions, ConditionalValidationRule, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CorePresetDescriptor, CorePresetDiscoveryRegistry, CorePresetKind, CorePresetRef, CrudConfigureOptions, CrudOperationOptions, CrudOperationResolutionContext, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DiagnosticPhase, DiagnosticRecord, DiagnosticSeverity, DiagnosticSource, DiagnosticSubjectKind, DiagnosticSubjectRef, DraggingConfig, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, EditorialBlock, EditorialBlockBase, EditorialBlockKind, EditorialBlockOverride, EditorialBlockSurface, EditorialBlockTone, EditorialBlockVisibilityRule, EditorialCompliancePreset, EditorialComponentDocMeta, EditorialConnectorStyle, EditorialContentFormat, EditorialContextFieldContract, EditorialContextSummaryBlock, EditorialCustomWidgetBlock, EditorialDataCollectionBlock, EditorialDensity, EditorialFaqAccordionBlock, EditorialFaqItem, EditorialFormCompliancePreset, EditorialFormShellPreset, EditorialFormTemplate, EditorialFormTemplateBuildOptions, EditorialFormTemplateContextField, EditorialFormTemplateDefaults, EditorialFormTemplateLayoutPreset, EditorialFormTemplateMetadata, EditorialFormTemplateReference, EditorialHeroBlock, EditorialIconSpec, EditorialInfoCardItem, EditorialInfoCardsBlock, EditorialIntroHeroBlock, EditorialIntroHeroHighlightItem, EditorialJourney, EditorialJourneyOverride, EditorialJourneyStep, EditorialLayoutConfig, EditorialLayoutSpacing, EditorialLinkDefinition, EditorialLinkItem, EditorialMetaItem, EditorialMotionConfig, EditorialOrientation, EditorialPolicyItem, EditorialPolicyListBlock, EditorialPresentationShellVariant, EditorialPresentationalAction, EditorialPresentationalVisibilityRule, EditorialProblemType, EditorialResponsiveLayoutConfig, EditorialReviewField, EditorialReviewSection, EditorialReviewSectionField, EditorialReviewSectionsBlock, EditorialReviewSummaryBlock, EditorialRichTextBlock, EditorialSelectionCardItem, EditorialSelectionCardsBlock, EditorialShellVariant, EditorialSolutionDefinition, EditorialSolutionPreset, EditorialStepKind, EditorialStepVisualConfig, EditorialStepVisualVariant, EditorialStepperConfig, EditorialStepperVariant, EditorialSuccessPanelBlock, EditorialSurfaceVariant, EditorialTemplateInstance, EditorialTemplateInstanceOverrides, EditorialTemplateRef, EditorialTemplateSource, EditorialThemeBorderWidthTokens, EditorialThemeColorTokens, EditorialThemePreset, EditorialThemeRadiusTokens, EditorialThemeShadowTokens, EditorialThemeTokens, EditorialThemeTypographyTokens, EditorialTimelineStep, EditorialTimelineStepsBlock, EditorialWidgetAppearance, EditorialWidgetDefinition, EditorialWidgetInputs, EditorialWizardPresentation, ElevationConfig, EmptyAction, EmptyStateConfig, EndpointConfig, EndpointRef, EnhancedValidationConfig, ExcelExportConfig, ExcelStylingConfig, ExplicitCrudResolutionContract, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldSelectorRegistryMap, FieldSource, FieldSubmitPolicy, FieldsetLayout, FilterOptions, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormCustomActionEvent, FormEntityEvent, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormInitializationError, FormLayout, FormLayoutRule, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormReadyEvent, FormRow, FormRowLayout, FormRuleTargetType, FormSection, FormSectionHeaderAction, FormSectionHeaderConfig, FormSectionHeaderEmptyState, FormSectionHeaderMode, FormSectionHeaderSize, FormSubmitEvent, FormValidationEvent, FormValueChangeEvent, FormattingLocaleConfig, GeneralExportConfig, GetSchemaParams, GlobalActionCatalogEntry, GlobalActionContext, GlobalActionField, GlobalActionFieldOption, GlobalActionFieldType, GlobalActionHandler, GlobalActionHandlerEntry, GlobalActionId, GlobalActionParam, GlobalActionResult, GlobalActionSpec, GlobalActionUiSchema, GlobalAiConfig, GlobalAiEmbeddingConfig, GlobalAiProvider, GlobalAnalyticsService, GlobalApiClient, GlobalCacheConfig, GlobalConfig, GlobalCrudActionDefaults, GlobalCrudConfig, GlobalCrudDefaults, GlobalDialogAction, GlobalDialogAnimation, GlobalDialogAriaRole, GlobalDialogConfig, GlobalDialogConfigEntry, GlobalDialogPosition, GlobalDialogService, GlobalDialogStyles, GlobalDynamicFieldsAsyncSelectConfig, GlobalDynamicFieldsCascadeConfig, GlobalDynamicFieldsConfig, GlobalI18nConfig, GlobalRouteGuardResolver, GlobalSurfaceService, GlobalTableConfig, GlobalToastService, HateoasLink, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HookResolver, InlineFilterControlType, InlineMonthRangeMetadata, InlinePeriodRangeFiscalCalendar, InlinePeriodRangeGranularity, InlinePeriodRangeMetadata, InlinePeriodRangePreset, InlineRangeDistributionBin, InlineRangeDistributionConfig, InlineYearRangeMetadata, InteractionConfig, JsonExportConfig, JsonLogicArguments, JsonLogicArray, JsonLogicDataRecord, JsonLogicDerivedValueExpression, JsonLogicExpression, JsonLogicOperationExpression, JsonLogicPrimitive, JsonLogicRecord, JsonLogicValue, JsonLogicVarExpression, JsonLogicVarReference, KeyboardAccessibilityConfig, LazyLoadingConfig, LegacyCompositionLinkInput, LegacyLinkCondition, LegacyLinkMetaPolicy, LegacyTableConfig, LegalNoticeAppearance, LegalNoticeSeverity, LinkIntent, LinkMetadata, LinkPolicy, LoadingConfig, LoadingContext, LoadingPhase$1 as LoadingPhase, LoadingScope, LoadingState, LoadingPhase as LoadingStatePhase, LocalizationConfig, LocateRequest, LoggerConfig, LoggerContext, LoggerEvent, LoggerLevel, LoggerLogOptions, LoggerNormalizedError, LoggerPIIConfig, LoggerSink, LoggerTelemetryPayload, LoggerThrottleConfig, MarginConfig, MaterialAutocompleteMetadata, MaterialButtonMetadata, MaterialButtonToggleMetadata, MaterialCheckboxMetadata, MaterialChipsMetadata, MaterialColorInputMetadata, MaterialColorPickerMetadata, MaterialCpfCnpjMetadata, MaterialCurrencyMetadata, MaterialDateInputMetadata, MaterialDateRangeMetadata, MaterialDatepickerMetadata, MaterialDatetimeLocalInputMetadata, MaterialDesignConfig, MaterialEmailInputMetadata, MaterialEmailMetadata, MaterialInputMetadata, MaterialMonthInputMetadata, MaterialMultiSelectTreeMetadata, MaterialNumericMetadata, MaterialPasswordMetadata, MaterialPhoneMetadata, MaterialPriceRangeMetadata, MaterialRadioMetadata, MaterialRangeSliderMetadata, MaterialRatingMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, MaterialSelectionListMetadata, MaterialSliderMetadata, MaterialTextareaMetadata, MaterialTimeInputMetadata, MaterialTimeRangeMetadata, MaterialTimeTrackShift, MaterialTimepickerMetadata, MaterialToggleMetadata, MaterialTransferListMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialYearInputMetadata, MemoryConfig, MessageTemplate, MessagesConfig, NestedFieldsetLayout, NormalizedError, NumberLocaleConfig, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceMetadata, OptionSourceRequestOptions, OverlayDecider, OverlayDecision, OverlayDecisionContext, OverlayDecisionMatrix, OverlayPattern, OverlayRange, OverlayRule, OverlayRuleMatch, OverlayThresholds, Page, PageIdentity, PageableRequest, PaginationConfig, PartialFieldMetadata, PdfExportConfig, PerformanceConfig, PersistedPageConfig, PersistedPageDefinitionWithIds, PersistedWidgetInstance, PlainObject, PluginConfig, PollingConfig, PortCardinality, PortCompatibilityRuleSet, PortContract, PortDirection, PortExposure, PortSchemaKind, PortSchemaMode, PortSchemaRef, PortSemanticKind, PraxisAnalyticsBindings, PraxisAnalyticsDefaults, PraxisAnalyticsDimensionBinding, PraxisAnalyticsDistributionStatsRequest, PraxisAnalyticsExecutionMetric, PraxisAnalyticsGroupByStatsRequest, PraxisAnalyticsInteractions, PraxisAnalyticsMetricBinding, PraxisAnalyticsOptions, PraxisAnalyticsPresentationHints, PraxisAnalyticsProjection, PraxisAnalyticsSortRule, PraxisAnalyticsSource, PraxisAnalyticsStatsExecutionPlan, PraxisAnalyticsStatsMetricRequest, PraxisAnalyticsStatsRequest, PraxisAnalyticsTimeSeriesStatsRequest, PraxisAuthContext, PraxisBuiltinCustomRuleOperator, PraxisConditionalRule, PraxisConditionalRuleMatchInput, PraxisCustomRuleOperator, PraxisDataQueryContext, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHostRuleOperator, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisIconDefaultsOptions, PraxisJsonLogicEvaluationContext, PraxisJsonLogicEvaluationOptions, PraxisJsonLogicEvaluationResult, PraxisJsonLogicIssueCode, PraxisJsonLogicOperatorDefinition, PraxisJsonLogicOperatorDescriptor, PraxisJsonLogicOperatorHelpers, PraxisJsonLogicOperatorMetadata, PraxisJsonLogicOperatorPurity, PraxisJsonLogicOperatorReturnType, PraxisJsonLogicOperatorSource, PraxisJsonLogicRuntimeValue, PraxisJsonLogicValidationIssue, PraxisJsonLogicValidationOptions, PraxisJsonLogicValidationResult, PraxisLayerScale, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisNativeJsonLogicOperator, PraxisRuleContextDescriptor, PraxisRuleOperator, PraxisTextValue, PraxisToastOptions, PraxisTranslationParams, PraxisXUiAnalytics, PriceRangeValue, RangeSliderInlineTexts, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderValue, RenderingConfig, ResizingConfig, ResolveCrudOperationRequest, ResolvePresetOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedCrudOperation, ResolvedCrudOperationSource, ResolvedValuePresentation, ResourceActionCatalogItem, ResourceActionCatalogResponse, ResourceActionOpenAdapterOptions, ResourceActionScope, ResourceAvailabilityDecision, ResourceCapabilityOperation, ResourceCapabilitySnapshot, ResourceCrudOperationId, ResourceDiscoveryRel, ResourceDiscoveryRequestOptions, ResourceLinkSource, ResourceSurfaceCatalogItem, ResourceSurfaceCatalogResponse, ResourceSurfaceKind, ResourceSurfaceOpenAdapterOptions, ResourceSurfaceScope, ResponsiveConfig, RestApiLinks, RestApiResponse, RichAvatarNode, RichBadgeNode, RichBlockBaseNode, RichBlockContextConfig, RichBlockContextScope, RichBlockHostCapabilities, RichBlockNode, RichBlockRuleSet, RichCardNode, RichComposeNode, RichContentDocument, RichIconNode, RichImageNode, RichMediaBlockNode, RichMetricNode, RichPresenterNode, RichPresetReferenceNode, RichPrimitiveNode, RichProgressNode, RichTextAppearance, RichTextNode, RichTextVariant, RichTimelineItem, RichTimelineNode, RowAction, RowActionsConfig, RuleContextRoot, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, RuntimeLinkSnapshot, RuntimeLinkStatus, RuntimePayloadSummary, RuntimeSnapshot, RuntimeSnapshotStatus, RuntimeStateSnapshot, RuntimeTraceEntry, RuntimeTracePhase, SchemaIdParams, SchemaMetaInfo, SchemaViewerContext, SelectionConfig, SerializableFieldMetadata, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateEndpointRef, StateMessagesConfig, SurfaceBinding, SurfaceBindingMode, SurfaceDrawerBridge, SurfaceDrawerOpenContent, SurfaceDrawerOpenOptions, SurfaceDrawerRef, SurfaceDrawerResult, SurfaceDrawerWidthPreset, SurfaceOpenPayload, SurfaceOpenPreset, SurfacePresentation, SurfaceSizeConfig, SyncConfig, SyncResult, TableActionsConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableDetailActionBarAction, TableDetailActionBarNode, TableDetailActionNode, TableDetailAllowedNode, TableDetailBaseNode, TableDetailCardGridCardNode, TableDetailCardGridNode, TableDetailCardNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, TableDetailEmbedBaseNode, TableDetailInlineSchemaDocument, TableDetailLayoutNode, TableDetailListItemAction, TableDetailListItemContextConfig, TableDetailListItemSchema, TableDetailListNode, TableDetailMediaBlockNode, TableDetailRefNode, TableDetailRichListNode, TableDetailRichTextNode, TableDetailSchemaNode, TableDetailTabNode, TableDetailTabsNode, TableDetailTemplateRefNode, TableDetailTimelineItemSchema, TableDetailTimelineNode, TableDetailTimelineStaticItem, TableDetailValueNode, TableExpansionConfig, TableLocalDataModeConfig, TelemetryEvent, TelemetryLoggerSinkOptions, TelemetryTransport, TextTransformApply, TextTransformName, ThemeConfig, ToolbarAction, ToolbarConfig, ToolbarFilterConfig, ToolbarLayoutConfig, ToolbarSettingsConfig, TransformBinding, TransformBindingSource, TransformCatalogCategory, TransformCatalogEntry, TransformKind, TransformLegacyReplacement, TransformOutputHint, TransformPhase, TransformPipeline, TransformSemanticKind, TransformStep, TypographyConfig, UserContextSource, UserContextSummaryAppearance, UserContextSummaryField, ValidationContext, ValidationError, ValidationMessagesConfig, ValidationResult, ValidationRule, ValidatorFunction, ValidatorOptions, ValueKind$1 as ValueKind, ValuePresentationConfig, ValuePresentationResolutionContext, ValuePresentationStyle, ValuePresentationType, VirtualizationConfig, WidgetDefinition, WidgetDerivedStateNode, WidgetEventEnvelope, WidgetEventPathSegment, WidgetInstance, WidgetPageCanvasCollisionPolicy, WidgetPageCanvasConstraints, WidgetPageCanvasItem, WidgetPageCanvasItemOverride, WidgetPageCanvasLayout, WidgetPageCanvasLayoutVariant, WidgetPageCompositionDefinition, WidgetPageDefinition, WidgetPageDeviceKind, WidgetPageDeviceLayouts, WidgetPageDevicePolicy, WidgetPageGroupingDefinition, WidgetPageGroupingOverride, WidgetPageGroupingTabDefinition, WidgetPageLayout, WidgetPageLayoutPresetDefinition, WidgetPageLayoutVariant, WidgetPageOrientation, WidgetPageSlotAssignments, WidgetPageSlotDefinition, WidgetPageStateDefinition, WidgetPageStateInput, WidgetPageStateRuntimeSnapshot, WidgetPageThemePresetDefinition, WidgetPageWidgetLayoutOverride, WidgetPageWidgetSuggestion, WidgetResolutionDiagnostic, WidgetResolutionPhase, WidgetShellAction, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellBodyLayout, WidgetShellConfig, WidgetShellWindowActions, WidgetStateNode };
14184
+ export { API_CONFIG_STORAGE_OPTIONS, API_URL, ASYNC_CONFIG_STORAGE, AllowedFileTypes, AnalyticsPresentationResolver, AnalyticsSchemaContractService, AnalyticsStatsRequestBuilderService, ApiConfigStorage, ApiEndpoint, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, BUILTIN_SHELL_PRESETS, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentKeyService, ComponentMetadataRegistry, CompositionRuntimeFacade, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_TABLE_CONFIG, DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK, DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DomainCatalogService, DomainKnowledgeService, DomainRuleService, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_SURFACE_SERVICE, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_TOKEN_TO_CONTROL_TYPE, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NestedPortCatalogService, NestedWidgetConfigAccessor, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS, PRAXIS_COLLECTION_EXPORT_PROVIDER, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_EXPORT_SECURITY_POLICY, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_EXPORT_FORMULA_PREFIXES, PRAXIS_EXPORT_SECURITY_POLICY, PRAXIS_FOOTER_LINKS_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_HERO_BANNER_METADATA, PRAXIS_I18N_CONFIG, PRAXIS_I18N_TRANSLATOR, PRAXIS_JSON_LOGIC_OPERATORS, PRAXIS_LAYER_SCALE_DEFAULTS, PRAXIS_LAYER_SCALE_VARS, PRAXIS_LEGAL_NOTICE_METADATA, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION, PRAXIS_RICH_TEXT_BLOCK_METADATA, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisCollectionExportService, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisHttpCollectionExportProvider, PraxisI18nService, PraxisIconDirective, PraxisIconPickerComponent, PraxisJsonLogicError, PraxisJsonLogicService, PraxisLayerScaleStyleService, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRichTextBlockComponent, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, RESOURCE_DISCOVERY_I18N_CONFIG, RESOURCE_DISCOVERY_I18N_NAMESPACE, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceActionOpenAdapterService, ResourceDiscoveryService, ResourceQuickConnectComponent, ResourceSurfaceOpenAdapterService, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_DRAWER_BRIDGE, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, SurfaceOpenActionEditorComponent, SurfaceOpenMaterializerService, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$1 as applyLocalCustomizations, applyLocalCustomizations as applyLocalFormCustomizations, assertPraxisCollectionExportArtifact, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildPraxisEffectDistinctKey, buildPraxisLayerScaleCss, buildSchemaId, buildSchemaIdStorageKeySegment, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, classifyEntityLookupResult, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createEmptyRichContentDocument, createFieldLayoutItem, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, domainKnowledgeTimelineToRichContentDocument, domainRuleTimelineToRichContentDocument, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, escapePraxisExportCell, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getFormColumnFieldNames, getFormLayoutFieldNames, getGlobalActionCatalog, getGlobalActionPayloadActualType, getGlobalActionPayloadTypeIssue, getGlobalActionUiSchema, getMissingGlobalActionPayloadKeys, getReferencedFieldMetadata, getRequiredGlobalActionPayloadKeys, getTextTransformer, hasMeaningfulGlobalActionPayloadValue, hasPraxisCollectionExportArtifact, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isEntityLookupMultiplePayloadMode, isEntityLookupPayloadMode, isEntityLookupPayloadModeCompatible, isEntityLookupResultSelectable, isEntityLookupSinglePayloadMode, isFormLayoutItem, isGlobalActionRef, isInlineFilterControlType, isLookupDialogSize, isLookupFilterFieldType, isLookupFilterOperator, isPraxisRuntimeGlobalActionEffect, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormLayoutItems, normalizeFormMetadata, normalizeGlobalActionRef, normalizeLookupFilterRequest, normalizePath, normalizePraxisDataQueryContext, normalizePraxisEffectPolicy, normalizePraxisQueryFilterExpression, normalizePraxisQueryFilterNode, normalizeResourceAvailabilityReasonCode, normalizeStart, normalizeUnknownError, normalizeWidgetEventPath, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisCollectionExportProvider, providePraxisDynamicPageMetadata, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpCollectionExportProvider, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisIconDefaults, providePraxisJsonLogicOperator, providePraxisJsonLogicOperatorOverride, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRichTextBlockMetadata, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, readPraxisExportValue, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveDefaultValuePresentationFormat, resolveEntityLookupPayloadMode, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisCollectionExportItems, resolvePraxisExportFields, resolvePraxisExportScope, resolvePraxisFilterCriteria, resolveResourceAvailabilityReasonKey, resolveSpan, resolveValuePresentation, resolveValuePresentationLocale, serializeEntityLookupValueForPayload, serializeOptionSourceFilterRequest, serializePraxisCollectionToCsv, serializePraxisCollectionToJson, slugify, stripMasksHook, supportsImplicitValuePresentation, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, translateResourceAvailabilityReason, translateResourceDiscoveryText, translateUnavailableWorkflowMessage, trim, uniqueAsyncValidator, urlValidator, validateGlobalActionRef, validateGlobalActionRefs, withMessage, withPraxisHttpLoading };
14185
+ export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnalyticsIntent, AnalyticsPresentationDecision, AnalyticsPresentationFamily, AnalyticsPresentationResolverOptions, AnalyticsSchemaContractRequest, AnalyticsSourceKind, AnalyticsStatsGranularity, AnalyticsStatsMetricOperation, AnalyticsStatsOperation, AnalyticsStatsOrderBy, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AsyncConfigStorage, BackConfig, BaseMaterialInputMetadata, BatchDeleteOptions, BatchDeleteProgress, BatchDeleteResult, BorderConfig, Breakpoint, BuiltValidators, BulkAction, BulkActionsConfig, CacheAdapter, CacheConfig, CacheEntry, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, ComponentActionParam, ComponentAuthoringManifest, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentEditorialResolveOptions, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ComponentMetadataEditorialBindingDescriptor, ComponentMetadataEditorialDescriptor, ComponentPortEndpointRef, ComponentPortPathSegment, CompositionLink, CompositionRuntimeFacadeOptions, ConditionalValidationRule, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CorePresetDescriptor, CorePresetDiscoveryRegistry, CorePresetKind, CorePresetRef, CrudConfigureOptions, CrudOperationOptions, CrudOperationResolutionContext, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DiagnosticPhase, DiagnosticRecord, DiagnosticSeverity, DiagnosticSource, DiagnosticSubjectKind, DiagnosticSubjectRef, DomainCatalogContextHint, DomainCatalogContextHintIntent, DomainCatalogContextHintItemType, DomainCatalogGovernanceContext, DomainCatalogGovernancePayload, DomainCatalogGovernanceRequestOptions, DomainCatalogItem, DomainCatalogRecommendedAuthoringFlow, DomainCatalogRecommendedRuleType, DomainCatalogRelationshipHint, DomainCatalogRelease, DomainCatalogRequestOptions, DomainCatalogResourceProbe, DomainKnowledgeAuthorType, DomainKnowledgeChangeSet, DomainKnowledgeChangeSetFilters, DomainKnowledgeChangeSetRequest, DomainKnowledgeChangeSetStatus, DomainKnowledgeChangeSetTarget, DomainKnowledgeChangeSetTimelineEventResponse, DomainKnowledgeChangeSetTimelineResponse, DomainKnowledgeOperationType, DomainKnowledgePatchOperation, DomainKnowledgeRequestOptions, DomainKnowledgeSafeOperationSummary, DomainKnowledgeStatusTransitionRequest, DomainKnowledgeTimelineEventVisibility, DomainKnowledgeTimelineRichContentOptions, DomainKnowledgeValidationIssue, DomainKnowledgeValidationResponse, DomainKnowledgeValidationStatus, DomainRuleAppliedByType, DomainRuleCreatedByType, DomainRuleDecisionDiagnostics, DomainRuleDefinition, DomainRuleDefinitionFilters, DomainRuleDefinitionRequest, DomainRuleExplainability, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleMaterialization, DomainRuleMaterializationFilters, DomainRuleMaterializationOutcomeResolution, DomainRuleMaterializationRequest, DomainRulePublicationDiagnostics, DomainRulePublicationMaterializationOutcome, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleRequestOptions, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleStatus, DomainRuleStatusTransitionRequest, DomainRuleTargetLayer, DomainRuleTimelineEventResponse, DomainRuleTimelineEventVisibility, DomainRuleTimelineResponse, DomainRuleTimelineRichContentOptions, DraggingConfig, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, EditorialBlock, EditorialBlockBase, EditorialBlockKind, EditorialBlockOverride, EditorialBlockSurface, EditorialBlockTone, EditorialBlockVisibilityRule, EditorialCompliancePreset, EditorialComponentDocMeta, EditorialConnectorStyle, EditorialContentFormat, EditorialContextFieldContract, EditorialContextSummaryBlock, EditorialCustomWidgetBlock, EditorialDataCollectionBlock, EditorialDensity, EditorialFaqAccordionBlock, EditorialFaqItem, EditorialFormCompliancePreset, EditorialFormShellPreset, EditorialFormTemplate, EditorialFormTemplateBuildOptions, EditorialFormTemplateContextField, EditorialFormTemplateDefaults, EditorialFormTemplateLayoutPreset, EditorialFormTemplateMetadata, EditorialFormTemplateReference, EditorialHeroBlock, EditorialIconSpec, EditorialInfoCardItem, EditorialInfoCardsBlock, EditorialIntroHeroBlock, EditorialIntroHeroHighlightItem, EditorialJourney, EditorialJourneyOverride, EditorialJourneyStep, EditorialLayoutConfig, EditorialLayoutSpacing, EditorialLinkDefinition, EditorialLinkItem, EditorialMetaItem, EditorialMotionConfig, EditorialOrientation, EditorialPolicyItem, EditorialPolicyListBlock, EditorialPresentationShellVariant, EditorialPresentationalAction, EditorialPresentationalVisibilityRule, EditorialProblemType, EditorialResponsiveLayoutConfig, EditorialReviewField, EditorialReviewSection, EditorialReviewSectionField, EditorialReviewSectionsBlock, EditorialReviewSummaryBlock, EditorialRichTextBlock, EditorialSelectionCardItem, EditorialSelectionCardsBlock, EditorialShellVariant, EditorialSolutionDefinition, EditorialSolutionPreset, EditorialStepKind, EditorialStepVisualConfig, EditorialStepVisualVariant, EditorialStepperConfig, EditorialStepperVariant, EditorialSuccessPanelBlock, EditorialSurfaceVariant, EditorialTemplateInstance, EditorialTemplateInstanceOverrides, EditorialTemplateRef, EditorialTemplateSource, EditorialThemeBorderWidthTokens, EditorialThemeColorTokens, EditorialThemePreset, EditorialThemeRadiusTokens, EditorialThemeShadowTokens, EditorialThemeTokens, EditorialThemeTypographyTokens, EditorialTimelineStep, EditorialTimelineStepsBlock, EditorialWidgetAppearance, EditorialWidgetDefinition, EditorialWidgetInputs, EditorialWizardPresentation, ElevationConfig, EmptyAction, EmptyStateConfig, EndpointConfig, EndpointRef, EnhancedValidationConfig, EntityLookupActionsMetadata, EntityLookupCollectionMetadata, EntityLookupDensity, EntityLookupDisplayFieldMetadata, EntityLookupDisplayFieldPresentation, EntityLookupDisplayMetadata, EntityLookupDisplayPreset, EntityLookupMultiplePayloadMode, EntityLookupPayloadMode, EntityLookupResult, EntityLookupResultExtra, EntityLookupResultLayout, EntityLookupResultState, EntityLookupResultStateContext, EntityLookupRichFieldMetadata, EntityLookupSelectedLayout, EntityLookupSinglePayloadMode, EntityLookupUsage, EntityRef, ExcelExportConfig, ExcelStylingConfig, ExplicitCrudResolutionContract, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldArrayCollectionValidation, FieldArrayConfig, FieldArrayOperations, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldSelectorRegistryMap, FieldSource, FieldSubmitPolicy, FieldsetLayout, FilterOptions, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormCustomActionEvent, FormEntityEvent, FormFieldLayoutItem, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormInitializationError, FormLayout, FormLayoutItem, FormLayoutItemsColumnLike, FormLayoutRule, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormReadyEvent, FormRichContentLayoutItem, FormRow, FormRowLayout, FormRuleTargetType, FormSection, FormSectionHeaderAction, FormSectionHeaderConfig, FormSectionHeaderEmptyState, FormSectionHeaderMode, FormSectionHeaderSize, FormSubmitEvent, FormValidationEvent, FormValueChangeEvent, FormattingLocaleConfig, GeneralExportConfig, GetSchemaParams, GlobalActionCatalogEntry, GlobalActionContext, GlobalActionEndpointRef, GlobalActionField, GlobalActionFieldOption, GlobalActionFieldType, GlobalActionHandler, GlobalActionHandlerEntry, GlobalActionRef, GlobalActionResult, GlobalActionUiSchema, GlobalActionValidationCode, GlobalActionValidationIssue, GlobalActionValidationTarget, GlobalAiConfig, GlobalAiEmbeddingConfig, GlobalAiProvider, GlobalAnalyticsService, GlobalApiClient, GlobalCacheConfig, GlobalConfig, GlobalCrudActionDefaults, GlobalCrudConfig, GlobalCrudDefaults, GlobalDialogAction, GlobalDialogAnimation, GlobalDialogAriaRole, GlobalDialogConfig, GlobalDialogConfigEntry, GlobalDialogPosition, GlobalDialogService, GlobalDialogStyles, GlobalDynamicFieldsAsyncSelectConfig, GlobalDynamicFieldsCascadeConfig, GlobalDynamicFieldsConfig, GlobalI18nConfig, GlobalRouteGuardResolver, GlobalSurfaceService, GlobalTableConfig, GlobalToastService, GroupingConfig, HateoasLink, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HookResolver, InlineFilterControlType, InlineMonthRangeMetadata, InlinePeriodRangeFiscalCalendar, InlinePeriodRangeGranularity, InlinePeriodRangeMetadata, InlinePeriodRangePreset, InlineRangeDistributionBin, InlineRangeDistributionConfig, InlineYearRangeMetadata, InteractionConfig, JsonExportConfig, JsonLogicArguments, JsonLogicArray, JsonLogicDataRecord, JsonLogicDerivedValueExpression, JsonLogicExpression, JsonLogicOperationExpression, JsonLogicPrimitive, JsonLogicRecord, JsonLogicValue, JsonLogicVarExpression, JsonLogicVarReference, KeyboardAccessibilityConfig, LazyLoadingConfig, LegacyCompositionLinkInput, LegacyLinkCondition, LegacyLinkMetaPolicy, LegacyTableConfig, LegalNoticeAppearance, LegalNoticeSeverity, LinkIntent, LinkMetadata, LinkPolicy, LoadingConfig, LoadingContext, LoadingPhase$1 as LoadingPhase, LoadingScope, LoadingState, LoadingPhase as LoadingStatePhase, LocalizationConfig, LocateRequest, LoggerConfig, LoggerContext, LoggerEvent, LoggerLevel, LoggerLogOptions, LoggerNormalizedError, LoggerPIIConfig, LoggerSink, LoggerTelemetryPayload, LoggerThrottleConfig, LookupCapabilitiesMetadata, LookupCreateMetadata, LookupDetailMetadata, LookupDialogMetadata, LookupDialogSize, LookupFilterDefinitionMetadata, LookupFilterFieldType, LookupFilterOperator, LookupFilterRequest, LookupFilteringMetadata, LookupOpenDetailMode, LookupResultColumnKind, LookupResultColumnMetadata, LookupSelectionPolicyMetadata, LookupSortOptionMetadata, LookupStatusTone, ManifestControlProfile, ManifestControlProfileApplicability, ManifestDomainPatchHandlerContract, ManifestEffect, ManifestExample, ManifestInput, ManifestOperation, ManifestSubmissionImpact, ManifestTarget, ManifestValidator, MarginConfig, MaterialAutocompleteMetadata, MaterialButtonMetadata, MaterialButtonToggleMetadata, MaterialCheckboxMetadata, MaterialChipsMetadata, MaterialColorInputMetadata, MaterialColorPickerMetadata, MaterialCpfCnpjMetadata, MaterialCurrencyMetadata, MaterialDateInputMetadata, MaterialDateRangeMetadata, MaterialDatepickerMetadata, MaterialDatetimeLocalInputMetadata, MaterialDesignConfig, MaterialEmailInputMetadata, MaterialEmailMetadata, MaterialEntityLookupMetadata, MaterialInputMetadata, MaterialMonthInputMetadata, MaterialMultiSelectTreeMetadata, MaterialNumericMetadata, MaterialPasswordMetadata, MaterialPhoneMetadata, MaterialPriceRangeMetadata, MaterialRadioMetadata, MaterialRangeSliderMetadata, MaterialRatingMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, MaterialSelectionListMetadata, MaterialSliderMetadata, MaterialTextareaMetadata, MaterialTimeInputMetadata, MaterialTimeRangeMetadata, MaterialTimeTrackShift, MaterialTimepickerMetadata, MaterialToggleMetadata, MaterialTransferListMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialYearInputMetadata, MemoryConfig, MessageTemplate, MessagesConfig, NavigationOpenRoutePayload, NestedFieldsetLayout, NestedPortCatalogDiagnostic, NestedPortCatalogRegistry, NestedPortCatalogResult, NestedWidgetInputPatchResult, NestedWidgetResolution, NormalizedError, NumberLocaleConfig, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceCachePolicy, OptionSourceFilterRequest, OptionSourceMetadata, OptionSourceRequestOptions, OptionSourceSearchMode, OptionSourceType, OverlayDecider, OverlayDecision, OverlayDecisionContext, OverlayDecisionMatrix, OverlayPattern, OverlayRange, OverlayRule, OverlayRuleMatch, OverlayThresholds, Page, PageIdentity, PageableRequest, PaginationConfig, PartialFieldMetadata, PdfExportConfig, PerformanceConfig, PersistedPageConfig, PersistedPageDefinitionWithIds, PersistedWidgetInstance, PlainObject, PluginConfig, PollingConfig, PortCardinality, PortCompatibilityRuleSet, PortContract, PortDirection, PortExposure, PortSchemaKind, PortSchemaMode, PortSchemaRef, PortSemanticKind, PraxisAnalyticsBindings, PraxisAnalyticsDefaults, PraxisAnalyticsDimensionBinding, PraxisAnalyticsDistributionStatsRequest, PraxisAnalyticsExecutionMetric, PraxisAnalyticsGroupByStatsRequest, PraxisAnalyticsInteractions, PraxisAnalyticsMetricBinding, PraxisAnalyticsOptions, PraxisAnalyticsPresentationHints, PraxisAnalyticsProjection, PraxisAnalyticsSortRule, PraxisAnalyticsSource, PraxisAnalyticsStatsExecutionPlan, PraxisAnalyticsStatsMetricRequest, PraxisAnalyticsStatsRequest, PraxisAnalyticsTimeSeriesStatsRequest, PraxisAuthContext, PraxisBuiltinCustomRuleOperator, PraxisCollectionComponentType, PraxisCollectionExportCsvOptions, PraxisCollectionExportExcelOptions, PraxisCollectionExportField, PraxisCollectionExportFieldPresentation, PraxisCollectionExportFormatOptions, PraxisCollectionExportHttpProviderOptions, PraxisCollectionExportLocalization, PraxisCollectionExportProvider, PraxisCollectionExportRequest, PraxisCollectionExportResult, PraxisCollectionExportSource, PraxisCollectionPaginationState, PraxisCollectionSelectionMode, PraxisCollectionSelectionState, PraxisCollectionSortDescriptor, PraxisConditionalEffectDiagnostic, PraxisConditionalRule, PraxisConditionalRuleMatchInput, PraxisCustomRuleOperator, PraxisDataQueryContext, PraxisDataQueryContextMeta, PraxisEffectDistinctKeyInput, PraxisEffectPolicy, PraxisExportFormat, PraxisExportScope, PraxisExportSecurityPolicy, PraxisExportSortDirection, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHostRuleOperator, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisIconDefaultsOptions, PraxisJsonLogicEvaluationContext, PraxisJsonLogicEvaluationOptions, PraxisJsonLogicEvaluationResult, PraxisJsonLogicIssueCode, PraxisJsonLogicOperatorDefinition, PraxisJsonLogicOperatorDescriptor, PraxisJsonLogicOperatorHelpers, PraxisJsonLogicOperatorMetadata, PraxisJsonLogicOperatorPurity, PraxisJsonLogicOperatorReturnType, PraxisJsonLogicOperatorSource, PraxisJsonLogicRuntimeValue, PraxisJsonLogicValidationIssue, PraxisJsonLogicValidationOptions, PraxisJsonLogicValidationResult, PraxisLayerScale, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisNativeJsonLogicOperator, PraxisQueryFilterExpression, PraxisQueryFilterGovernance, PraxisQueryFilterGroup, PraxisQueryFilterNode, PraxisQueryFilterPredicate, PraxisQueryFilterPredicateOperator, PraxisQueryFilterPredicateSource, PraxisRuleContextDescriptor, PraxisRuleOperator, PraxisRuntimeConditionalEffectRule, PraxisRuntimeEffectTrigger, PraxisRuntimeGlobalActionEffect, PraxisTextValue, PraxisToastOptions, PraxisTranslationParams, PraxisXUiAnalytics, PriceRangeValue, RangeSliderInlineTexts, RangeSliderMark, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderScalePreset, RangeSliderSemanticBand, RangeSliderSemanticTone, RangeSliderTrackMode, RangeSliderValue, RangeSliderValueFormat, RangeSliderValueLabelDisplay, RecordRelatedSurfaceContext, RecordRelatedSurfaceContextPack, RecordRelatedSurfaceEndpoint, RecordRelatedSurfaceOperationId, RenderingConfig, ResizingConfig, ResolveCrudOperationRequest, ResolvePresetOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedCrudOperation, ResolvedCrudOperationSource, ResolvedNestedPort, ResolvedValuePresentation, ResourceActionCatalogItem, ResourceActionCatalogResponse, ResourceActionOpenAdapterOptions, ResourceActionScope, ResourceAvailabilityDecision, ResourceCapabilityDigest, ResourceCapabilityOperation, ResourceCapabilityOperationId, ResourceCapabilityOperations, ResourceCapabilitySnapshot, ResourceCrudOperationId, ResourceDiscoveryRel, ResourceDiscoveryRequestOptions, ResourceExportMaxRows, ResourceLinkSource, ResourceSurfaceCatalogItem, ResourceSurfaceCatalogResponse, ResourceSurfaceKind, ResourceSurfaceOpenAdapterOptions, ResourceSurfaceScope, ResponsiveConfig, RestApiLinks, RestApiResponse, RichAccordionItem, RichAccordionNode, RichActionButtonNode, RichActionCardNode, RichActionRef, RichAvatarNode, RichBadgeNode, RichBlockBaseNode, RichBlockContextConfig, RichBlockContextScope, RichBlockHostCapabilities, RichBlockNode, RichBlockRuleSet, RichCalloutNode, RichCapabilityMode, RichCardAccessibility, RichCardDensity, RichCardInteraction, RichCardInteractionMode, RichCardMedia, RichCardMediaKind, RichCardMediaPlacement, RichCardNode, RichCardOrientation, RichCardSize, RichCardTone, RichCardVariant, RichCollapsibleCardNode, RichComposeNode, RichContentDocument, RichCtaGroupLayout, RichCtaGroupNode, RichDisclosureNode, RichEmptyStateNode, RichFormLauncherNode, RichIconNode, RichImageNode, RichKeyValueItem, RichKeyValueListNode, RichLinkNode, RichLookupCardNode, RichLookupResultField, RichLookupResultNode, RichLookupResultStatus, RichMediaBlockNode, RichMetricNode, RichPresenterNode, RichPresetReferenceNode, RichPrimitiveNode, RichProgressNode, RichPropertySheetColumns, RichPropertySheetItem, RichPropertySheetNode, RichPropertySheetTone, RichRecordSummaryField, RichRecordSummaryNode, RichRelatedRecordNode, RichStatGroupLayout, RichStatGroupNode, RichStatItem, RichStatTone, RichTabsAppearance, RichTabsItem, RichTabsNode, RichTextAppearance, RichTextNode, RichTextVariant, RichTimelineColor, RichTimelineConnectorVariant, RichTimelineItem, RichTimelineMarkerStyle, RichTimelineMarkerVariant, RichTimelineNode, RichTimelineOrder, RichTimelineOrientation, RichTimelinePosition, RowAction, RowActionsConfig, RuleContextRoot, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, RuntimeLinkSnapshot, RuntimeLinkStatus, RuntimePayloadSummary, RuntimeSnapshot, RuntimeSnapshotStatus, RuntimeStateSnapshot, RuntimeTraceEntry, RuntimeTracePhase, SchemaIdParams, SchemaMetaInfo, SchemaViewerContext, SelectionConfig, SerializableFieldMetadata, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateEndpointRef, StateMessagesConfig, SubmitPolicy, SurfaceBinding, SurfaceBindingMode, SurfaceDrawerBridge, SurfaceDrawerOpenContent, SurfaceDrawerOpenOptions, SurfaceDrawerRef, SurfaceDrawerResult, SurfaceDrawerWidthPreset, SurfaceOpenPayload, SurfaceOpenPreset, SurfacePresentation, SurfaceSizeConfig, SyncConfig, SyncResult, TableActionsConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableDetailActionBarAction, TableDetailActionBarNode, TableDetailActionNode, TableDetailAllowedNode, TableDetailBaseNode, TableDetailCardGridCardNode, TableDetailCardGridNode, TableDetailCardNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, TableDetailEmbedBaseNode, TableDetailInlineSchemaDocument, TableDetailLayoutNode, TableDetailListItemAction, TableDetailListItemContextConfig, TableDetailListItemSchema, TableDetailListNode, TableDetailMediaBlockNode, TableDetailRefNode, TableDetailRichListNode, TableDetailRichTextNode, TableDetailSchemaNode, TableDetailTabNode, TableDetailTabsNode, TableDetailTemplateRefNode, TableDetailTimelineItemSchema, TableDetailTimelineNode, TableDetailTimelineStaticItem, TableDetailValueNode, TableExpansionConfig, TableLocalDataModeConfig, TableTooltipConfig, TelemetryEvent, TelemetryLoggerSinkOptions, TelemetryTransport, TextTransformApply, TextTransformName, ThemeConfig, ToolbarAction, ToolbarConfig, ToolbarFilterConfig, ToolbarLayoutConfig, ToolbarSettingsConfig, TransformBinding, TransformBindingSource, TransformCatalogCategory, TransformCatalogEntry, TransformKind, TransformLegacyReplacement, TransformOutputHint, TransformPhase, TransformPipeline, TransformSemanticKind, TransformStep, TypographyConfig, UserContextSource, UserContextSummaryAppearance, UserContextSummaryField, ValidationContext, ValidationError, ValidationMessagesConfig, ValidationResult, ValidationRule, ValidatorFunction, ValidatorOptions, ValueKind$1 as ValueKind, ValuePresentationConfig, ValuePresentationResolutionContext, ValuePresentationStyle, ValuePresentationType, VirtualizationConfig, WidgetDefinition, WidgetDerivedStateNode, WidgetEventEnvelope, WidgetEventPathNormalizeInput, WidgetEventPathNormalizeOptions, WidgetEventPathSegment, WidgetInstance, WidgetPageCanvasCollisionPolicy, WidgetPageCanvasConstraints, WidgetPageCanvasItem, WidgetPageCanvasItemOverride, WidgetPageCanvasLayout, WidgetPageCanvasLayoutVariant, WidgetPageCompositionDefinition, WidgetPageDefinition, WidgetPageDeviceKind, WidgetPageDeviceLayouts, WidgetPageDevicePolicy, WidgetPageGroupingDefinition, WidgetPageGroupingOverride, WidgetPageGroupingTabDefinition, WidgetPageLayout, WidgetPageLayoutPresetDefinition, WidgetPageLayoutVariant, WidgetPageOrientation, WidgetPageSlotAssignments, WidgetPageSlotDefinition, WidgetPageStateDefinition, WidgetPageStateInput, WidgetPageStateRuntimeSnapshot, WidgetPageThemePresetDefinition, WidgetPageWidgetLayoutOverride, WidgetPageWidgetSuggestion, WidgetResolutionDiagnostic, WidgetResolutionPhase, WidgetShellAction, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellBodyLayout, WidgetShellConfig, WidgetShellWindowActions, WidgetStateNode };