@praxisui/core 8.0.0-beta.4 → 8.0.0-beta.40

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,269 @@ 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
+ interface TableTooltipConfig {
1170
+ text?: string;
1171
+ position?: 'top' | 'right' | 'bottom' | 'left' | 'above' | 'below' | 'before' | 'after';
1172
+ bgColor?: string;
1173
+ delayMs?: number;
1174
+ }
296
1175
  /**
297
1176
  * Nova arquitetura modular do TableConfig v2.0
298
1177
  * Preparada para crescimento exponencial e alinhada com as 5 abas do editor
@@ -359,6 +1238,8 @@ interface ColumnDefinition {
359
1238
  };
360
1239
  /** Tipo do renderizador */
361
1240
  type: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose';
1241
+ /** Tooltip associado ao renderer efetivo da célula. */
1242
+ tooltip?: TableTooltipConfig;
362
1243
  /** Configuração de ícone (Material/SVG por nome) */
363
1244
  icon?: {
364
1245
  /** Nome fixo do ícone (ex.: 'check_circle') */
@@ -404,6 +1285,8 @@ interface ColumnDefinition {
404
1285
  variant?: 'filled' | 'outlined' | 'soft';
405
1286
  /** Ícone opcional dentro do badge */
406
1287
  icon?: string;
1288
+ /** Tooltip opcional associado ao indicador visual */
1289
+ tooltip?: TableTooltipConfig;
407
1290
  };
408
1291
  /** Link (sanitizado) */
409
1292
  link?: {
@@ -436,6 +1319,8 @@ interface ColumnDefinition {
436
1319
  color?: string;
437
1320
  icon?: string;
438
1321
  variant?: 'filled' | 'outlined' | 'soft';
1322
+ /** Tooltip opcional associado ao chip */
1323
+ tooltip?: TableTooltipConfig;
439
1324
  };
440
1325
  /** Barra de progresso leve */
441
1326
  progress?: {
@@ -458,9 +1343,12 @@ interface ColumnDefinition {
458
1343
  srcField?: string;
459
1344
  alt?: string;
460
1345
  altField?: string;
1346
+ initialsField?: string;
461
1347
  initialsExpr?: string;
462
1348
  shape?: 'square' | 'rounded' | 'circle';
463
1349
  size?: number;
1350
+ backgroundColor?: string;
1351
+ textColor?: string;
464
1352
  };
465
1353
  /** Alternância (toggle) com ação */
466
1354
  toggle?: {
@@ -516,6 +1404,7 @@ interface ColumnDefinition {
516
1404
  color?: string;
517
1405
  variant?: 'filled' | 'outlined' | 'soft';
518
1406
  icon?: string;
1407
+ tooltip?: TableTooltipConfig;
519
1408
  };
520
1409
  } | {
521
1410
  type: 'link';
@@ -550,6 +1439,7 @@ interface ColumnDefinition {
550
1439
  color?: string;
551
1440
  icon?: string;
552
1441
  variant?: 'filled' | 'outlined' | 'soft';
1442
+ tooltip?: TableTooltipConfig;
553
1443
  };
554
1444
  } | {
555
1445
  type: 'progress';
@@ -565,9 +1455,12 @@ interface ColumnDefinition {
565
1455
  srcField?: string;
566
1456
  alt?: string;
567
1457
  altField?: string;
1458
+ initialsField?: string;
568
1459
  initialsExpr?: string;
569
1460
  shape?: 'square' | 'rounded' | 'circle';
570
1461
  size?: number;
1462
+ backgroundColor?: string;
1463
+ textColor?: string;
571
1464
  };
572
1465
  } | {
573
1466
  type: 'toggle';
@@ -614,8 +1507,14 @@ interface ColumnDefinition {
614
1507
  };
615
1508
  /** Overrides condicionais do renderer por linha (first‑match wins) */
616
1509
  conditionalRenderers?: Array<{
1510
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
1511
+ id?: string;
617
1512
  condition: JsonLogicExpression | null;
618
- renderer: Partial<ColumnDefinition['renderer']>;
1513
+ renderer?: Partial<ColumnDefinition['renderer']>;
1514
+ /** Tooltip condicional aplicado quando a regra vencer. */
1515
+ tooltip?: TableTooltipConfig;
1516
+ /** Efeitos visuais canonicos que podem produzir renderer, tooltip ou animacao. */
1517
+ effects?: Array<Record<string, unknown>>;
619
1518
  description?: string;
620
1519
  enabled?: boolean;
621
1520
  }>;
@@ -624,11 +1523,16 @@ interface ColumnDefinition {
624
1523
  * Cada regra contém uma expressão canônica em `condition` e o efeito visual a aplicar.
625
1524
  */
626
1525
  conditionalStyles?: Array<{
1526
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
1527
+ id?: string;
627
1528
  condition: JsonLogicExpression | null;
1529
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
1530
+ effects?: Array<Record<string, unknown>>;
628
1531
  cssClass?: string;
629
1532
  style?: {
630
1533
  [key: string]: string;
631
1534
  };
1535
+ tooltip?: Record<string, unknown>;
632
1536
  description?: string;
633
1537
  }>;
634
1538
  /** Estado serializado do construtor visual de regras (round‑trip) */
@@ -686,6 +1590,8 @@ interface TableBehaviorConfig {
686
1590
  sorting?: SortingConfig;
687
1591
  /** Configurações de filtragem */
688
1592
  filtering?: FilteringConfig;
1593
+ /** Configurações de agrupamento de linhas */
1594
+ grouping?: GroupingConfig;
689
1595
  /** Configurações de seleção de linhas */
690
1596
  selection?: SelectionConfig;
691
1597
  /** Configurações de interação do usuário */
@@ -920,6 +1826,14 @@ interface SortingConfig {
920
1826
  preserveSort?: boolean;
921
1827
  };
922
1828
  }
1829
+ interface GroupingConfig {
1830
+ /** Habilitar agrupamento */
1831
+ enabled: boolean;
1832
+ /** Campos usados para agrupamento */
1833
+ fields: string[];
1834
+ /** Se os grupos iniciam expandidos */
1835
+ expanded?: boolean;
1836
+ }
923
1837
  interface FilteringConfig {
924
1838
  /** Habilitar filtragem */
925
1839
  enabled: boolean;
@@ -1336,6 +2250,10 @@ interface ToolbarAction {
1336
2250
  disabled?: boolean;
1337
2251
  /** Função a executar */
1338
2252
  action: string;
2253
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2254
+ globalAction?: GlobalActionRef;
2255
+ /** Efeitos runtime canonicos executados quando a acao da toolbar e acionada */
2256
+ effects?: PraxisRuntimeGlobalActionEffect[];
1339
2257
  /** Tooltip */
1340
2258
  tooltip?: string;
1341
2259
  /** Tecla de atalho */
@@ -1348,6 +2266,8 @@ interface ToolbarAction {
1348
2266
  order?: number;
1349
2267
  /** Visibilidade condicional */
1350
2268
  visibleWhen?: JsonLogicExpression | null;
2269
+ /** Desabilitacao condicional */
2270
+ disabledWhen?: JsonLogicExpression | null;
1351
2271
  /** Sub-ações (para menus) */
1352
2272
  children?: ToolbarAction[];
1353
2273
  }
@@ -1405,6 +2325,11 @@ interface RowActionsConfig {
1405
2325
  menuIcon?: string;
1406
2326
  /** Cor do botão do menu de ações (overflow) */
1407
2327
  menuButtonColor?: 'basic' | 'primary' | 'accent' | 'warn';
2328
+ /** Descoberta HATEOAS/capabilities para enriquecer ações de linha */
2329
+ discovery?: {
2330
+ /** Habilitar descoberta contextual de actions/capabilities para a linha */
2331
+ enabled?: boolean;
2332
+ };
1408
2333
  /** Configurações do cabeçalho da coluna de ações */
1409
2334
  header?: {
1410
2335
  /** Texto exibido no cabeçalho (ex.: "Ações") */
@@ -1446,6 +2371,10 @@ interface RowAction {
1446
2371
  disabled?: boolean;
1447
2372
  /** Função a executar */
1448
2373
  action: string;
2374
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2375
+ globalAction?: GlobalActionRef;
2376
+ /** Efeitos runtime canonicos executados quando a acao por linha e acionada */
2377
+ effects?: PraxisRuntimeGlobalActionEffect[];
1449
2378
  /** Tooltip */
1450
2379
  tooltip?: string;
1451
2380
  /** Requer confirmação */
@@ -1484,6 +2413,10 @@ interface BulkAction {
1484
2413
  color?: string;
1485
2414
  /** Função a executar */
1486
2415
  action: string;
2416
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2417
+ globalAction?: GlobalActionRef;
2418
+ /** Efeitos runtime canonicos executados quando a acao em lote e acionada */
2419
+ effects?: PraxisRuntimeGlobalActionEffect[];
1487
2420
  /** Requer confirmação */
1488
2421
  requiresConfirmation?: boolean;
1489
2422
  /** Mínimo de itens selecionados */
@@ -1713,14 +2646,12 @@ interface ExportConfig {
1713
2646
  /** Templates personalizados */
1714
2647
  templates?: ExportTemplate[];
1715
2648
  }
1716
- type ExportFormat = 'excel' | 'pdf' | 'csv' | 'json' | 'print';
2649
+ type ExportFormat = PraxisExportFormat;
1717
2650
  interface GeneralExportConfig {
1718
2651
  /** Incluir cabeçalhos */
1719
2652
  includeHeaders: boolean;
1720
- /** Incluir filtros aplicados na exportação */
1721
- respectFilters: boolean;
1722
- /** Incluir apenas linhas selecionadas */
1723
- selectedRowsOnly?: boolean;
2653
+ /** Escopo canônico dos dados exportados */
2654
+ scope: PraxisExportScope;
1724
2655
  /** Máximo de linhas para exportar */
1725
2656
  maxRows?: number;
1726
2657
  /** Nome do arquivo padrão */
@@ -2242,12 +3173,26 @@ interface TableConfigV2 {
2242
3173
  */
2243
3174
  rowConditionalStyles?: Array<{
2244
3175
  condition: JsonLogicExpression | null;
3176
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
3177
+ effects?: Array<Record<string, unknown>>;
2245
3178
  cssClass?: string;
2246
3179
  style?: {
2247
3180
  [key: string]: string;
2248
3181
  };
2249
3182
  description?: string;
2250
3183
  }>;
3184
+ /** Regras condicionais de linha para tooltip e animacao derivados de efeitos visuais. */
3185
+ rowConditionalRenderers?: Array<{
3186
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
3187
+ id?: string;
3188
+ condition: JsonLogicExpression | null;
3189
+ tooltip?: Record<string, unknown>;
3190
+ animation?: Record<string, unknown>;
3191
+ /** Efeitos visuais canonicos que podem produzir tooltip ou animacao de linha. */
3192
+ effects?: Array<Record<string, unknown>>;
3193
+ description?: string;
3194
+ enabled?: boolean;
3195
+ }>;
2251
3196
  /** Estado serializado do construtor para regras de linha (round‑trip) */
2252
3197
  _rowStyleRulesState?: any;
2253
3198
  }
@@ -2293,6 +3238,7 @@ declare const FieldDataType: {
2293
3238
  readonly FILE: "file";
2294
3239
  readonly URL: "url";
2295
3240
  readonly BOOLEAN: "boolean";
3241
+ readonly ARRAY: "array";
2296
3242
  readonly JSON: "json";
2297
3243
  };
2298
3244
  type FieldDataType = typeof FieldDataType[keyof typeof FieldDataType];
@@ -2343,6 +3289,7 @@ declare const FieldControlType: {
2343
3289
  readonly DRAWER: "drawer";
2344
3290
  readonly DROP_DOWN_TREE: "dropDownTree";
2345
3291
  readonly EMAIL_INPUT: "email";
3292
+ readonly ENTITY_LOOKUP: "entityLookup";
2346
3293
  readonly EXPANSION_PANEL: "expansionPanel";
2347
3294
  readonly FILE_SAVER: "fileSaver";
2348
3295
  readonly FILE_SELECT: "fileSelect";
@@ -2585,6 +3532,52 @@ interface ConditionalValidationRule {
2585
3532
  /** Validators applied when the guard resolves to true. */
2586
3533
  validators: Omit<ValidatorOptions, 'conditionalValidation'>;
2587
3534
  }
3535
+ interface FieldArrayOperations {
3536
+ add?: boolean;
3537
+ edit?: boolean;
3538
+ remove?: boolean;
3539
+ [key: string]: any;
3540
+ }
3541
+ interface FieldArrayCollectionValidation {
3542
+ uniqueBy?: string[];
3543
+ exactlyOne?: {
3544
+ field: string;
3545
+ value?: any;
3546
+ message?: string;
3547
+ };
3548
+ atLeastOne?: {
3549
+ field: string;
3550
+ value?: any;
3551
+ message?: string;
3552
+ };
3553
+ sumEquals?: {
3554
+ field: string;
3555
+ targetField?: string;
3556
+ value?: number;
3557
+ message?: string;
3558
+ };
3559
+ [key: string]: any;
3560
+ }
3561
+ interface FieldArrayConfig {
3562
+ itemType?: 'object';
3563
+ mode?: 'cards';
3564
+ itemSchemaRef?: string;
3565
+ itemIdentityField?: string;
3566
+ minItems?: number;
3567
+ maxItems?: number;
3568
+ addLabel?: string;
3569
+ emptyState?: string;
3570
+ itemTitleTemplate?: string;
3571
+ operations?: FieldArrayOperations;
3572
+ deleteMode?: 'removeFromPayload';
3573
+ itemSchema?: {
3574
+ fields?: FieldMetadata[];
3575
+ properties?: Record<string, any>;
3576
+ [key: string]: any;
3577
+ };
3578
+ collectionValidation?: FieldArrayCollectionValidation;
3579
+ [key: string]: any;
3580
+ }
2588
3581
  /**
2589
3582
  * Configuration for field options in selection components.
2590
3583
  *
@@ -2697,6 +3690,10 @@ interface FieldMetadata extends ComponentMetadata {
2697
3690
  controlType: FieldControlType;
2698
3691
  /** Data type for processing and validation */
2699
3692
  dataType?: FieldDataType;
3693
+ /** Canonical metadata for editable collection fields (`controlType: "array"`). */
3694
+ array?: FieldArrayConfig;
3695
+ /** Optional top-level alias for collection validators mirrored into `array.collectionValidation`. */
3696
+ collectionValidation?: FieldArrayCollectionValidation;
2700
3697
  /** Display order in form */
2701
3698
  order?: number;
2702
3699
  /** Logical grouping of related fields */
@@ -2967,6 +3964,8 @@ interface FieldDefinition {
2967
3964
  layout?: 'horizontal' | 'vertical';
2968
3965
  disabled?: boolean;
2969
3966
  readOnly?: boolean;
3967
+ array?: FieldArrayConfig;
3968
+ collectionValidation?: FieldArrayCollectionValidation;
2970
3969
  multiple?: boolean;
2971
3970
  editable?: boolean;
2972
3971
  validationMode?: string;
@@ -3144,13 +4143,39 @@ declare function buildHeaders(entry: ApiUrlEntry): HttpHeaders | undefined;
3144
4143
  * // fields: [{ name: 'email', label: 'E-mail', type: 'string', controlType: 'input', required: true, email: true }]
3145
4144
  */
3146
4145
  declare class SchemaNormalizerService {
4146
+ private clonePlain;
4147
+ private resolveSchemaRef;
4148
+ private normalizeObjectSchema;
4149
+ private normalizeArrayConfig;
4150
+ private finalizeArrayConfig;
4151
+ private normalizeInlineItemSchemaFields;
4152
+ private normalizeInlineItemSchemaField;
3147
4153
  /** Convert value to boolean. Accepts boolean, string or number. */
3148
4154
  private parseBoolean;
3149
4155
  /** Ensure an array of strings from various inputs. */
3150
4156
  private parseStringArray;
4157
+ private parseNonBlankStringArray;
4158
+ private parseStringRecord;
4159
+ private parseSelectionPolicy;
4160
+ private parseLookupCapabilities;
4161
+ private parseLookupDetail;
4162
+ private parseLookupDisplay;
4163
+ private parseLookupDisplayField;
4164
+ private parseLookupCreate;
4165
+ private parseLookupFilterOperatorArray;
4166
+ private parseLookupSortDirection;
4167
+ private parseLookupDialogSize;
4168
+ private parseLookupDialog;
4169
+ private parseLookupResultColumn;
4170
+ private parseLookupFilterDefinition;
4171
+ private parseDefaultFilters;
4172
+ private parseLookupFiltering;
3151
4173
  /** Parse option arrays into `{ key, value }` objects. */
3152
4174
  private parseOptions;
3153
4175
  private parseOptionSource;
4176
+ private parseOptionSourceType;
4177
+ private parseOptionSourceSearchMode;
4178
+ private parseLookupOpenDetailMode;
3154
4179
  private parseValuePresentation;
3155
4180
  /**
3156
4181
  * Converte string/Function em função real.
@@ -3185,6 +4210,7 @@ declare class SchemaNormalizerService {
3185
4210
  * @returns FieldDefinition[] prontos para mapeamento/uso no restante do sistema.
3186
4211
  */
3187
4212
  normalizeSchema(schema: any): FieldDefinition[];
4213
+ private normalizeSchemaWithRoot;
3188
4214
  private resolveFieldType;
3189
4215
  static ɵfac: i0.ɵɵFactoryDeclaration<SchemaNormalizerService, never>;
3190
4216
  static ɵprov: i0.ɵɵInjectableDeclaration<SchemaNormalizerService>;
@@ -3219,7 +4245,7 @@ type LegacyTableConfig = TableConfig;
3219
4245
  /**
3220
4246
  * @deprecated Use createDefaultTableConfig instead
3221
4247
  */
3222
- declare const DEFAULT_TABLE_CONFIG: TableConfigV2;
4248
+ declare const DEFAULT_TABLE_CONFIG: _praxisui_core.TableConfigModern;
3223
4249
 
3224
4250
  type GlobalDialogAriaRole = 'dialog' | 'alertdialog';
3225
4251
  interface GlobalDialogPosition {
@@ -3483,6 +4509,109 @@ declare class GlobalConfigService {
3483
4509
  static ɵprov: i0.ɵɵInjectableDeclaration<GlobalConfigService>;
3484
4510
  }
3485
4511
 
4512
+ /**
4513
+ * Contratos compartilhados de discovery semantico consumidos pelo runtime Angular.
4514
+ *
4515
+ * `resourcePath` continua sendo o endereco operacional do recurso.
4516
+ * `resourceKey` representa a identidade semantica estavel devolvida pelo backend para
4517
+ * surfaces, actions e capabilities.
4518
+ *
4519
+ * O runtime usa `resourceKey` para preservar contexto semantico e gerar ids estaveis de
4520
+ * abertura, enquanto `resourcePath`, `path`, `method` e `schemaUrl` seguem responsaveis pelo
4521
+ * comportamento operacional.
4522
+ */
4523
+
4524
+ interface ResourceAvailabilityDecision {
4525
+ allowed: boolean;
4526
+ reason?: string | null;
4527
+ metadata?: Record<string, any>;
4528
+ }
4529
+ type ResourceSurfaceKind = 'FORM' | 'PARTIAL_FORM' | 'VIEW' | 'READ_PROJECTION';
4530
+ type ResourceSurfaceScope = 'COLLECTION' | 'ITEM';
4531
+ type ResourceActionScope = 'COLLECTION' | 'ITEM';
4532
+ type ResourceDiscoveryRel = 'surfaces' | 'actions' | 'capabilities';
4533
+ type ResourceCrudOperationId = 'create' | 'view' | 'edit' | 'delete';
4534
+ type ResourceCapabilityOperationId = ResourceCrudOperationId | 'export' | string;
4535
+ type ResourceExportMaxRows = Partial<Record<PraxisExportFormat, number>> & Record<string, number | undefined>;
4536
+ interface ResourceSurfaceCatalogItem {
4537
+ id: string;
4538
+ resourceKey: string;
4539
+ kind: ResourceSurfaceKind;
4540
+ scope: ResourceSurfaceScope;
4541
+ title: string;
4542
+ description?: string | null;
4543
+ intent?: string | null;
4544
+ operationId: string;
4545
+ path: string;
4546
+ method: string;
4547
+ schemaId: string;
4548
+ schemaUrl: string;
4549
+ availability: ResourceAvailabilityDecision;
4550
+ order: number;
4551
+ tags: string[];
4552
+ }
4553
+ interface ResourceSurfaceCatalogResponse {
4554
+ resourceKey: string;
4555
+ resourcePath: string;
4556
+ group?: string | null;
4557
+ resourceId?: string | number | null;
4558
+ surfaces: ResourceSurfaceCatalogItem[];
4559
+ }
4560
+ interface ResourceActionCatalogItem {
4561
+ id: string;
4562
+ resourceKey: string;
4563
+ scope: ResourceActionScope;
4564
+ title: string;
4565
+ description?: string | null;
4566
+ operationId: string;
4567
+ path: string;
4568
+ method: string;
4569
+ requestSchemaId?: string | null;
4570
+ requestSchemaUrl?: string | null;
4571
+ responseSchemaId?: string | null;
4572
+ responseSchemaUrl?: string | null;
4573
+ availability: ResourceAvailabilityDecision;
4574
+ order: number;
4575
+ successMessage?: string | null;
4576
+ tags: string[];
4577
+ }
4578
+ interface ResourceActionCatalogResponse {
4579
+ resourceKey: string;
4580
+ resourcePath: string;
4581
+ group?: string | null;
4582
+ resourceId?: string | number | null;
4583
+ actions: ResourceActionCatalogItem[];
4584
+ }
4585
+ interface ResourceCapabilityOperation {
4586
+ id: ResourceCapabilityOperationId;
4587
+ supported: boolean;
4588
+ scope: ResourceSurfaceScope;
4589
+ preferredMethod?: string | null;
4590
+ preferredRel?: string | null;
4591
+ availability?: ResourceAvailabilityDecision | null;
4592
+ formats?: PraxisExportFormat[];
4593
+ scopes?: PraxisExportScope[];
4594
+ maxRows?: ResourceExportMaxRows;
4595
+ async?: boolean | null;
4596
+ }
4597
+ type ResourceCapabilityOperations = Partial<Record<ResourceCrudOperationId | 'export', ResourceCapabilityOperation>> & Record<string, ResourceCapabilityOperation | undefined>;
4598
+ interface ResourceCapabilitySnapshot {
4599
+ resourceKey: string;
4600
+ resourcePath: string;
4601
+ group?: string | null;
4602
+ resourceId?: string | number | null;
4603
+ canonicalOperations: Record<string, boolean>;
4604
+ operations?: ResourceCapabilityOperations;
4605
+ surfaces: ResourceSurfaceCatalogItem[];
4606
+ actions: ResourceActionCatalogItem[];
4607
+ }
4608
+ interface ResourceCapabilityDigest {
4609
+ source: 'schema-x-ui-resource';
4610
+ resourcePath: string;
4611
+ canonicalOperations: Record<string, boolean>;
4612
+ filterExpressionSupported: boolean;
4613
+ }
4614
+
3486
4615
  /**
3487
4616
  * Interface para configuração de endpoints personalizados.
3488
4617
  *
@@ -3541,6 +4670,8 @@ interface OptionSourceRequestOptions<ID = string | number> extends CrudOperation
3541
4670
  includeIds?: ID[];
3542
4671
  observeVersionHeader?: boolean;
3543
4672
  search?: string;
4673
+ sortKey?: string;
4674
+ filters?: LookupFilterRequest[];
3544
4675
  }
3545
4676
  interface BatchDeleteProgress<ID = string | number> {
3546
4677
  id: ID;
@@ -3596,6 +4727,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3596
4727
  private _schemaCache?;
3597
4728
  private schemaCacheReady?;
3598
4729
  private _lastResourceMeta;
4730
+ private _lastResourceCapabilityDigest;
3599
4731
  private _lastSchemaInfo;
3600
4732
  /**
3601
4733
  * Cria a instância do serviço genérico.
@@ -3632,10 +4764,10 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3632
4764
  * Fluxo de schemas (grid e filtro)
3633
4765
  *
3634
4766
  * - 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
4767
+ * 1) getSchema() deriva a superfície canônica de busca/listagem do recurso
4768
+ * 2) Em seguida chama /schemas/filtered com query params:
4769
+ * - path: {basePath}/filter (ex.: /api/human-resources/funcionarios/filter)
4770
+ * - operation: post
3639
4771
  * - schemaType: response
3640
4772
  * 3) O serviço normaliza o schema retornado (x-ui) para montagem de grids e formulários.
3641
4773
  *
@@ -3653,8 +4785,8 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3653
4785
  * Obtém o schema (metadados) do recurso, útil para construção dinâmica de grids e formulários.
3654
4786
  *
3655
4787
  * Fluxo:
3656
- * - Faz GET {resource}/schemas; o backend redireciona (302) para /schemas/filtered
3657
- * com path={basePath}/all, operation=get, schemaType=response.
4788
+ * - Chama /schemas/filtered para a superfície canônica de busca/listagem:
4789
+ * path={basePath}/filter, operation=post, schemaType=response.
3658
4790
  * - O resultado é normalizado e usado para montar colunas de grid e formulários (x-ui).
3659
4791
  *
3660
4792
  * Exemplo:
@@ -3664,9 +4796,13 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3664
4796
  * ```
3665
4797
  */
3666
4798
  getSchema(options?: CrudOperationOptions): Observable<FieldDefinition[]>;
4799
+ private updateLastResourceMetadataFromSchema;
4800
+ private normalizeCanonicalCapabilities;
4801
+ private shouldRememberFilteredSchemaEndpointUnavailable;
3667
4802
  private fetchDirectSchema;
3668
4803
  /** Retorna o campo identificador do recurso (ex.: 'id', 'codigo'), quando derivado do schema. */
3669
4804
  getResourceIdField(): string | undefined;
4805
+ getResourceCapabilityDigest(): ResourceCapabilityDigest | null;
3670
4806
  /** Retorna o último schemaId e hash conhecidos após getSchema()/getFilteredSchema(). */
3671
4807
  getLastSchemaInfo(): {
3672
4808
  schemaId?: string;
@@ -3927,6 +5063,9 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3927
5063
  private resolveRangeAliases;
3928
5064
  private findExistingKey;
3929
5065
  private normalizeRangeBound;
5066
+ private isDateValue;
5067
+ private formatDateOnly;
5068
+ private tryParseLocalizedRangeNumber;
3930
5069
  private isRangeValue;
3931
5070
  private isPlainObject;
3932
5071
  private updateRangeFieldHints;
@@ -4014,39 +5153,39 @@ declare class TableConfigService {
4014
5153
  /**
4015
5154
  * Obtém configuração de paginação
4016
5155
  */
4017
- getPaginationConfig(): PaginationConfig | undefined;
5156
+ getPaginationConfig(): _praxisui_core.PaginationConfig | undefined;
4018
5157
  /**
4019
5158
  * Obtém configuração de ordenação
4020
5159
  */
4021
- getSortingConfig(): SortingConfig | undefined;
5160
+ getSortingConfig(): _praxisui_core.SortingConfig | undefined;
4022
5161
  /**
4023
5162
  * Obtém configuração de filtragem
4024
5163
  */
4025
- getFilteringConfig(): FilteringConfig | undefined;
5164
+ getFilteringConfig(): _praxisui_core.FilteringConfig | undefined;
4026
5165
  /**
4027
5166
  * Obtém configuração de seleção
4028
5167
  */
4029
- getSelectionConfig(): SelectionConfig | undefined;
5168
+ getSelectionConfig(): _praxisui_core.SelectionConfig | undefined;
4030
5169
  /**
4031
5170
  * Obtém configuração da toolbar
4032
5171
  */
4033
- getToolbarConfig(): ToolbarConfig | undefined;
5172
+ getToolbarConfig(): _praxisui_core.ToolbarConfig | undefined;
4034
5173
  /**
4035
5174
  * Obtém configuração de ações
4036
5175
  */
4037
- getActionsConfig(): TableActionsConfig | undefined;
5176
+ getActionsConfig(): _praxisui_core.TableActionsConfig | undefined;
4038
5177
  /**
4039
5178
  * Obtém configuração de aparência
4040
5179
  */
4041
- getAppearanceConfig(): TableAppearanceConfig | undefined;
5180
+ getAppearanceConfig(): _praxisui_core.TableAppearanceConfig | undefined;
4042
5181
  /**
4043
5182
  * Obtém configuração de mensagens
4044
5183
  */
4045
- getMessagesConfig(): MessagesConfig | undefined;
5184
+ getMessagesConfig(): _praxisui_core.MessagesConfig | undefined;
4046
5185
  /**
4047
5186
  * Obtém configuração de localização
4048
5187
  */
4049
- getLocalizationConfig(): LocalizationConfig | undefined;
5188
+ getLocalizationConfig(): _praxisui_core.LocalizationConfig | undefined;
4050
5189
  /**
4051
5190
  * Reset para configuração padrão
4052
5191
  */
@@ -4254,74 +5393,6 @@ declare class ApiConfigStorage implements AsyncConfigStorage {
4254
5393
  static ɵprov: i0.ɵɵInjectableDeclaration<ApiConfigStorage>;
4255
5394
  }
4256
5395
 
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
5396
  declare class GlobalActionService {
4326
5397
  private readonly handlers;
4327
5398
  private readonly router;
@@ -4339,9 +5410,16 @@ declare class GlobalActionService {
4339
5410
  register(id: string, handler: GlobalActionHandler): void;
4340
5411
  has(id: string): boolean;
4341
5412
  execute(id: string, payload?: any, context?: GlobalActionContext): Promise<GlobalActionResult>;
5413
+ executeRef(ref: GlobalActionRef | null | undefined, context?: GlobalActionContext): Promise<GlobalActionResult>;
5414
+ private resolvePayloadExpr;
5415
+ private lookupPath;
4342
5416
  private registerBuiltins;
4343
5417
  private handleApi;
5418
+ private handleNavigationOpenRoute;
4344
5419
  private handleRouteRegister;
5420
+ private buildNavigationUrl;
5421
+ private buildQueryString;
5422
+ private buildFragment;
4345
5423
  static ɵfac: i0.ɵɵFactoryDeclaration<GlobalActionService, never>;
4346
5424
  static ɵprov: i0.ɵɵInjectableDeclaration<GlobalActionService>;
4347
5425
  }
@@ -4397,12 +5475,16 @@ interface SurfaceOpenPayload {
4397
5475
 
4398
5476
  declare class SurfaceBindingRuntimeService {
4399
5477
  resolveWidget(widget: WidgetDefinition, bindings: SurfaceBinding[] | undefined, actionPayload?: any, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): WidgetDefinition;
5478
+ resolveSurfacePayload<T extends SurfaceOpenPayload>(surfacePayload: T, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): T;
4400
5479
  extractByPath(obj: any, path?: string): any;
4401
- resolveTemplate(node: any, context: any): any;
5480
+ resolveTemplate(node: any, context: any, key?: string, path?: string[]): any;
5481
+ private isDeferredTemplateExpressionKey;
5482
+ private tryParseStructuredTemplate;
4402
5483
  setValueAtPath<T extends object>(obj: T, rawPath: string, value: any): T;
4403
5484
  private buildContext;
4404
5485
  private resolveBindingValue;
4405
5486
  private normalizeTargetPath;
5487
+ private normalizeWidgetTargetPath;
4406
5488
  private tokenizePath;
4407
5489
  private clone;
4408
5490
  static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceBindingRuntimeService, never>;
@@ -5188,6 +6270,19 @@ interface MaterialSelectMetadata extends FieldMetadata {
5188
6270
  /** Inline/runtime compatibility for selected option icon color. */
5189
6271
  optionSelectedIconColor?: string;
5190
6272
  }
6273
+ interface MaterialEntityLookupMetadata extends Omit<MaterialSelectMetadata, 'controlType' | 'multiple' | 'maxSelections'>, EntityLookupDisplayMetadata, EntityLookupCollectionMetadata {
6274
+ controlType: typeof FieldControlType.ENTITY_LOOKUP | typeof FieldControlType.INLINE_ENTITY_LOOKUP;
6275
+ lookupIdKey?: string;
6276
+ lookupLabelKey?: string;
6277
+ lookupSubtitleKey?: string;
6278
+ lookupSeparator?: string;
6279
+ payloadMode?: EntityLookupPayloadMode;
6280
+ dialog?: LookupDialogMetadata;
6281
+ searchPlaceholder?: string;
6282
+ resetLabel?: string;
6283
+ ariaLabel?: string;
6284
+ dependencyLoadOnChange?: 'respectLoadOn' | 'immediate' | 'manual';
6285
+ }
5191
6286
  /**
5192
6287
  * Metadata for Material Autocomplete components.
5193
6288
  *
@@ -5241,9 +6336,28 @@ interface MaterialButtonToggleMetadata extends FieldMetadata {
5241
6336
  /** Toggle button options */
5242
6337
  toggleOptions?: Array<{
5243
6338
  value: any;
5244
- text: string;
6339
+ text?: string;
5245
6340
  label?: string;
6341
+ disabled?: boolean;
5246
6342
  }>;
6343
+ /** Allow multiple selected toggle buttons */
6344
+ multiple?: boolean;
6345
+ /** Maximum selected options when multiple is enabled */
6346
+ maxSelections?: number;
6347
+ /** Button toggle appearance */
6348
+ appearance?: 'legacy' | 'standard';
6349
+ /** Theme color */
6350
+ color?: ThemePalette;
6351
+ /** Backend resource for dynamic option loading */
6352
+ resourcePath?: string;
6353
+ /** Canonical metadata-driven source for derived options */
6354
+ optionSource?: OptionSourceMetadata;
6355
+ /** Additional filter criteria for backend requests */
6356
+ filterCriteria?: Record<string, any>;
6357
+ /** Key for option label when loading from backend */
6358
+ optionLabelKey?: string;
6359
+ /** Key for option value when loading from backend */
6360
+ optionValueKey?: string;
5247
6361
  }
5248
6362
  /**
5249
6363
  * Metadata for Material Transfer List component.
@@ -5420,6 +6534,8 @@ interface MaterialDatepickerMetadata extends FieldMetadata {
5420
6534
  controlType: typeof FieldControlType.DATE_PICKER;
5421
6535
  /** Date format for display */
5422
6536
  dateFormat?: string;
6537
+ /** Allows manual typing in the input. Set false to force calendar selection. */
6538
+ manualInput?: boolean;
5423
6539
  /** Minimum selectable date */
5424
6540
  minDate?: Date | string;
5425
6541
  /** Maximum selectable date */
@@ -5453,6 +6569,8 @@ interface MaterialDateRangeMetadata extends FieldMetadata {
5453
6569
  startAriaLabel?: string;
5454
6570
  /** Accessibility label for end date input */
5455
6571
  endAriaLabel?: string;
6572
+ /** Compact inline chip display mode. */
6573
+ inlineChipDisplay?: 'value' | 'label-value';
5456
6574
  /** Start view (month, year, multi-year) */
5457
6575
  startView?: 'month' | 'year' | 'multi-year';
5458
6576
  /** Enable sidebar shortcuts overlay (phase 1). */
@@ -5488,8 +6606,13 @@ interface MaterialDateRangeMetadata extends FieldMetadata {
5488
6606
  * - `confirm`: keeps selection as draft and only commits on explicit confirmation
5489
6607
  */
5490
6608
  inlineQuickPresetsApplyMode?: 'auto' | 'confirm';
5491
- /** Position of shortcuts sidebar relative to the form field. */
5492
- shortcutsPosition?: 'left' | 'right';
6609
+ /**
6610
+ * Preferred position of shortcuts panel relative to the form field.
6611
+ * Defaults to `auto`, which tries a viewport-safe below placement before
6612
+ * side placements. Explicit `left`/`right` remain preferences and may fall
6613
+ * back when there is not enough viewport space.
6614
+ */
6615
+ shortcutsPosition?: 'auto' | 'below' | 'left' | 'right';
5493
6616
  /** Apply immediately when clicking a shortcut. Defaults to true. */
5494
6617
  applyOnShortcutClick?: boolean;
5495
6618
  /** Timezone identifier (e.g., 'America/Sao_Paulo') for normalization. */
@@ -5542,6 +6665,8 @@ interface MaterialPriceRangeMetadata extends FieldMetadata {
5542
6665
  endLabel?: string;
5543
6666
  /** Hide labels for start/end sub-inputs (compact mode). */
5544
6667
  hideSubLabels?: boolean;
6668
+ /** Inline chip display when the range has a value. Defaults to value only. */
6669
+ inlineChipDisplay?: 'value' | 'label-value';
5545
6670
  /** Layout dos inputs (lado a lado ou em linhas). */
5546
6671
  layout?: 'row' | 'column';
5547
6672
  /** Espaçamento entre os inputs (px ou CSS). */
@@ -5595,6 +6720,21 @@ interface InlineRangeDistributionConfig {
5595
6720
  bins?: Array<number | InlineRangeDistributionBin> | string;
5596
6721
  /** Optional normalization ceiling; defaults to the highest bin value. */
5597
6722
  maxValue?: number;
6723
+ /**
6724
+ * Color strategy for histogram bars.
6725
+ * `selection` highlights bars covered by the current slider value/range using theme tokens.
6726
+ * `gradient` applies a configurable gradient to the selected bars.
6727
+ * `theme` keeps all bars on the neutral themed baseline.
6728
+ */
6729
+ colorMode?: 'theme' | 'selection' | 'gradient';
6730
+ /** Optional selected bar color; defaults to the app theme primary color. */
6731
+ selectedColor?: string;
6732
+ /** Optional unselected bar color; defaults to the app theme outline variant color. */
6733
+ unselectedColor?: string;
6734
+ /** Optional first color stop for selected gradient bars. */
6735
+ gradientStartColor?: string;
6736
+ /** Optional final color stop for selected gradient bars. */
6737
+ gradientEndColor?: string;
5598
6738
  /** Optional minimum visible ratio in the [0..1] range for non-zero bars. */
5599
6739
  minBarRatio?: number;
5600
6740
  /** Alias for `minBarRatio`. */
@@ -5638,6 +6778,33 @@ interface RangeSliderQuickPresetLabels {
5638
6778
  fromMid?: string;
5639
6779
  full?: string;
5640
6780
  }
6781
+ interface RangeSliderMark {
6782
+ /** Numeric value represented by this mark. */
6783
+ value: number;
6784
+ /** Optional label rendered next to the mark. */
6785
+ label?: string;
6786
+ /** Optional semantic tone for platform styling. */
6787
+ tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6788
+ /** Optional disabled hint for authoring and future restricted-value mode. */
6789
+ disabled?: boolean;
6790
+ }
6791
+ type RangeSliderSemanticTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6792
+ interface RangeSliderSemanticBand {
6793
+ /** Inclusive start value for the band. */
6794
+ start: number;
6795
+ /** Inclusive end value for the band. */
6796
+ end: number;
6797
+ /** Optional label for accessibility, reports and authoring surfaces. */
6798
+ label?: string;
6799
+ /** Semantic tone used by the platform theme. */
6800
+ tone?: RangeSliderSemanticTone;
6801
+ /** Optional explicit color for specialized domain palettes. */
6802
+ color?: string;
6803
+ }
6804
+ type RangeSliderTrackMode = 'normal' | 'inverted' | 'none';
6805
+ type RangeSliderValueLabelDisplay = 'off' | 'auto' | 'on';
6806
+ type RangeSliderScalePreset = 'linear' | 'percent' | 'log' | 'pow2';
6807
+ type RangeSliderValueFormat = 'number' | 'percent' | 'currency' | 'compact' | 'storage';
5641
6808
  interface MaterialRangeSliderMetadata extends FieldMetadata {
5642
6809
  controlType: typeof FieldControlType.RANGE_SLIDER;
5643
6810
  /** Slider mode */
@@ -5646,18 +6813,36 @@ interface MaterialRangeSliderMetadata extends FieldMetadata {
5646
6813
  min?: number;
5647
6814
  /** Maximum allowed value */
5648
6815
  max?: number;
5649
- /** Step for value increments */
5650
- step?: number;
6816
+ /** Step for value increments. `null` is reserved for mark-restricted values. */
6817
+ step?: number | null;
5651
6818
  /** Whether to show the thumb label */
5652
6819
  thumbLabel?: boolean;
6820
+ /** Controls when the value label is displayed. */
6821
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
6822
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
6823
+ valueLabelFormat?: RangeSliderValueFormat | string;
5653
6824
  /** Tick configuration */
5654
6825
  showTicks?: boolean | 'auto';
6826
+ /** Rich mark labels along the slider track. */
6827
+ marks?: boolean | RangeSliderMark[] | string;
6828
+ /** Semantic bands rendered behind the slider track for domain meaning. */
6829
+ semanticBands?: RangeSliderSemanticBand[] | string;
6830
+ /** Track presentation mode. */
6831
+ track?: RangeSliderTrackMode;
6832
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
6833
+ shiftStep?: number;
6834
+ /** Visual density hint. */
6835
+ size?: 'small' | 'medium' | 'large';
5655
6836
  /** Use discrete slider */
5656
6837
  discrete?: boolean;
5657
6838
  /** Display vertically */
5658
6839
  vertical?: boolean;
5659
6840
  /** Invert slider direction */
5660
6841
  invert?: boolean;
6842
+ /** Prevent active thumb swapping when range thumbs overlap. */
6843
+ disableThumbSwap?: boolean;
6844
+ /** Declarative scale preset used to format displayed values. */
6845
+ scale?: RangeSliderScalePreset | string;
5661
6846
  /** Minimum distance between start and end */
5662
6847
  minDistance?: number;
5663
6848
  /** Maximum distance between start and end */
@@ -5835,6 +7020,8 @@ interface MaterialButtonMetadata extends FieldMetadata {
5835
7020
  buttonIconPosition?: 'before' | 'after';
5836
7021
  /** Button action/command */
5837
7022
  action?: string;
7023
+ /** Structured global action executed through GlobalActionService. */
7024
+ globalAction?: GlobalActionRef;
5838
7025
  /** Disable button ripple effect */
5839
7026
  disableRipple?: boolean;
5840
7027
  /** Confirmation message for destructive actions */
@@ -5882,35 +7069,55 @@ interface MaterialSliderMetadata extends FieldMetadata {
5882
7069
  min?: number;
5883
7070
  /** Maximum value */
5884
7071
  max?: number;
5885
- /** Step increment */
5886
- step?: number;
7072
+ /** Step increment. `null` is reserved for mark-restricted values. */
7073
+ step?: number | null;
5887
7074
  /** Show value label */
5888
7075
  thumbLabel?: boolean;
7076
+ /** Controls when the value label is displayed. */
7077
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
7078
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
7079
+ valueLabelFormat?: RangeSliderValueFormat | string;
7080
+ /** Rich mark labels along the slider track. */
7081
+ marks?: boolean | RangeSliderMark[] | string;
7082
+ /** Semantic bands rendered behind the slider track for domain meaning. */
7083
+ semanticBands?: RangeSliderSemanticBand[] | string;
7084
+ /**
7085
+ * Optional mini histogram/bars rendered above the slider track.
7086
+ * Accepts array shorthand, object config, or JSON string for editor compatibility.
7087
+ */
7088
+ inlineDistribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
7089
+ /**
7090
+ * Alias accepted by slider components for compact payloads.
7091
+ */
7092
+ distribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
7093
+ /** Track presentation mode. */
7094
+ track?: RangeSliderTrackMode;
7095
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
7096
+ shiftStep?: number;
7097
+ /** Visual density hint. */
7098
+ size?: 'small' | 'medium' | 'large';
5889
7099
  /** Slider orientation */
5890
7100
  vertical?: boolean;
5891
7101
  /** Slider color theme */
5892
7102
  color?: ThemePalette;
5893
7103
  /** Display tick marks along the slider track */
5894
- showTicks?: boolean;
7104
+ showTicks?: boolean | 'auto';
5895
7105
  /** Invert slider direction */
5896
7106
  invert?: boolean;
7107
+ /** Declarative scale preset used to format displayed values. */
7108
+ scale?: RangeSliderScalePreset | string;
5897
7109
  }
5898
7110
  /**
5899
7111
  * Specialized metadata for Material Rating components.
5900
7112
  *
5901
- * ⚠️ COMPONENTE NÃO IMPLEMENTADO - Interface de planejamento
5902
- *
5903
- * Para implementar: criar MaterialRatingComponent em components/material-rating/
5904
- * e registrar no ComponentRegistryService
5905
- *
5906
7113
  * Handles star rating or numeric rating selection.
5907
7114
  */
5908
7115
  interface MaterialRatingMetadata extends FieldMetadata {
5909
7116
  controlType: typeof FieldControlType.RATING;
5910
7117
  /** Maximum rating value */
5911
7118
  max?: number;
5912
- /** Rating precision (0.1, 0.5, 1) */
5913
- precision?: number;
7119
+ /** Rating precision (`0.5` or `half` enables half-step interaction) */
7120
+ precision?: number | 'item' | 'half';
5914
7121
  /** Rating icon (default: star) */
5915
7122
  icon?: string;
5916
7123
  /** Empty icon (default: star_border) */
@@ -6581,6 +7788,18 @@ declare class DynamicFormService {
6581
7788
  * Indica se o campo deve ser tratado como seleção múltipla (valor padrão []).
6582
7789
  */
6583
7790
  private isMultipleField;
7791
+ private isArrayMetadata;
7792
+ private getArrayConfig;
7793
+ private getArrayItemFields;
7794
+ createArrayItemGroupFromMetadata(meta: FieldMetadata, value?: Record<string, any>): FormGroup;
7795
+ private ensureArrayItemIdentityControl;
7796
+ private createArrayControlFromMetadata;
7797
+ private buildArrayValidators;
7798
+ private buildArrayCountValidator;
7799
+ private uniqueKeyForItem;
7800
+ private normalizeUniqueValue;
7801
+ private arrayValues;
7802
+ private readPath;
6584
7803
  /**
6585
7804
  * Envelopa um ValidatorFn Angular para padronizar a saída de erro com mensagem.
6586
7805
  * Útil quando deseja-se forçar uma mensagem customizada em um validador nativo.
@@ -6603,7 +7822,7 @@ declare class DynamicFormService {
6603
7822
  * - Aplica validadores específicos de UI quando aplicável.
6604
7823
  * - Valor inicial: [] para campos múltiplos quando ausente; caso contrário defaultValue.
6605
7824
  */
6606
- createControlFromField(field: FieldDefinition): FormControl;
7825
+ createControlFromField(field: FieldDefinition): AbstractControl;
6607
7826
  /**
6608
7827
  * Cria um FormControl a partir de FieldMetadata.
6609
7828
  * - Aplica ValidatorOptions (normalizados) e validadores de UI por tipo.
@@ -6615,6 +7834,11 @@ declare class DynamicFormService {
6615
7834
  defaultValue?: any;
6616
7835
  disabled?: boolean;
6617
7836
  }): FormControl;
7837
+ createAbstractControlFromMetadata(meta: FieldMetadata & {
7838
+ validators?: ValidatorOptions;
7839
+ defaultValue?: any;
7840
+ disabled?: boolean;
7841
+ }): AbstractControl;
6618
7842
  /**
6619
7843
  * Reconfigura um controle existente a partir de FieldDefinition.
6620
7844
  * Atualiza: validators, asyncValidators, estado enabled/disabled e defaultValue (com suporte a múltiplos).
@@ -6814,8 +8038,27 @@ interface ComponentDocMeta {
6814
8038
  /** Optional title shown by hosts when opening the editor. */
6815
8039
  title?: string;
6816
8040
  };
8041
+ /** Optional canonical AI authoring manifest reference published by the component owner. */
8042
+ authoringManifestRef?: {
8043
+ /** Component id used by the manifest registry/backend. */
8044
+ componentId: string;
8045
+ /** Optional manifest version when the owner can publish it statically. */
8046
+ version?: string;
8047
+ /** Stable source symbol, registry id, or manifest module name. */
8048
+ source?: string;
8049
+ /** Optional content hash when available. */
8050
+ hash?: string;
8051
+ };
6817
8052
  /** Tags or categories for search */
6818
8053
  tags?: string[];
8054
+ /** Optional insertion presets exposed by visual builders without changing the component contract. */
8055
+ insertionPresets?: Array<{
8056
+ id: string;
8057
+ label: string;
8058
+ description?: string;
8059
+ icon?: string;
8060
+ inputs?: Record<string, unknown>;
8061
+ }>;
6819
8062
  /** Source library for the component */
6820
8063
  lib?: string;
6821
8064
  /** Optional layout hints for grid placement */
@@ -6918,6 +8161,7 @@ declare class PraxisI18nService {
6918
8161
  getLocale(): string;
6919
8162
  getFallbackLocale(): string;
6920
8163
  t(key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
8164
+ tForLocale(locale: string, key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
6921
8165
  resolve(message: PraxisTextValue | null | undefined, fallback?: string, namespace?: string): string;
6922
8166
  formatDate(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
6923
8167
  formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
@@ -7027,6 +8271,52 @@ declare class TelemetryService {
7027
8271
  static ɵprov: i0.ɵɵInjectableDeclaration<TelemetryService>;
7028
8272
  }
7029
8273
 
8274
+ declare class PraxisCollectionExportService {
8275
+ private readonly provider;
8276
+ private readonly securityPolicy;
8277
+ constructor(provider: PraxisCollectionExportProvider | null, securityPolicy: PraxisExportSecurityPolicy);
8278
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8279
+ exportLocalCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportResult;
8280
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisCollectionExportService, [{ optional: true; }, null]>;
8281
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisCollectionExportService>;
8282
+ }
8283
+
8284
+ interface PraxisCollectionExportHttpProviderOptions {
8285
+ endpoint?: string | ((request: PraxisCollectionExportRequest<any>) => string);
8286
+ apiUrlKey?: string;
8287
+ headers?: Record<string, string | string[]>;
8288
+ withCredentials?: boolean;
8289
+ includeLoadedItems?: boolean;
8290
+ }
8291
+ declare const PRAXIS_COLLECTION_EXPORT_PROVIDER: InjectionToken<PraxisCollectionExportProvider>;
8292
+ declare const PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS: InjectionToken<PraxisCollectionExportHttpProviderOptions>;
8293
+ declare const PRAXIS_EXPORT_SECURITY_POLICY: InjectionToken<PraxisExportSecurityPolicy>;
8294
+ declare function providePraxisCollectionExportProvider(provider: PraxisCollectionExportProvider): Provider;
8295
+
8296
+ declare class PraxisHttpCollectionExportProvider implements PraxisCollectionExportProvider {
8297
+ private readonly http;
8298
+ private readonly apiUrlConfig;
8299
+ private readonly options;
8300
+ constructor(http: HttpClient, apiUrlConfig: ApiUrlConfig | null, options: PraxisCollectionExportHttpProviderOptions | null);
8301
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8302
+ private resolveEndpoint;
8303
+ private resolveUrl;
8304
+ private normalizePathForBase;
8305
+ private resolveApiBaseUrl;
8306
+ private buildHeaders;
8307
+ private buildRequestBody;
8308
+ private normalizeResponse;
8309
+ private normalizeExportHeaders;
8310
+ private isExportResultEnvelope;
8311
+ private readNumberHeader;
8312
+ private readBooleanHeader;
8313
+ private readWarningHeader;
8314
+ private mergeWarnings;
8315
+ private resolveFileName;
8316
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisHttpCollectionExportProvider, [null, { optional: true; }, { optional: true; }]>;
8317
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisHttpCollectionExportProvider>;
8318
+ }
8319
+
7030
8320
  type FieldSelectorRegistryMap = Record<string, FieldControlType>;
7031
8321
  declare const FIELD_SELECTOR_REGISTRY_BASE: InjectionToken<FieldSelectorRegistryMap>;
7032
8322
  declare const FIELD_SELECTOR_REGISTRY_OVERRIDES: InjectionToken<FieldSelectorRegistryMap[]>;
@@ -7081,133 +8371,44 @@ interface PraxisLoadingRenderer {
7081
8371
  hide(ctx: LoadingContext): void;
7082
8372
  }
7083
8373
  declare const PRAXIS_LOADING_RENDERER: InjectionToken<PraxisLoadingRenderer>;
7084
-
7085
- declare const praxisLoadingInterceptorFn: HttpInterceptorFn;
7086
- /**
7087
- * Low-level DI interceptor kept for backwards compatibility.
7088
- *
7089
- * Prefer `providePraxisHttpLoading()` or `withPraxisHttpLoading()` for host bootstrap.
7090
- */
7091
- declare class PraxisLoadingInterceptor implements HttpInterceptor {
7092
- private orchestrator;
7093
- private renderer?;
7094
- constructor(orchestrator: LoadingOrchestrator, renderer?: PraxisLoadingRenderer | undefined);
7095
- intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
7096
- static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLoadingInterceptor, [null, { optional: true; }]>;
7097
- static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLoadingInterceptor>;
7098
- }
7099
-
7100
- declare class DefaultLoadingRenderer implements PraxisLoadingRenderer {
7101
- private readonly rootId;
7102
- private readonly styleId;
7103
- show(ctx: LoadingContext): void;
7104
- update(ctx: LoadingContext): void;
7105
- hide(ctx: LoadingContext): void;
7106
- private keyOf;
7107
- private defaultLabel;
7108
- private ensureRoot;
7109
- private ensureStyles;
7110
- private getDocument;
7111
- static ɵfac: i0.ɵɵFactoryDeclaration<DefaultLoadingRenderer, never>;
7112
- static ɵprov: i0.ɵɵInjectableDeclaration<DefaultLoadingRenderer>;
7113
- }
7114
-
7115
- declare class PraxisLayerScaleStyleService {
7116
- private readonly doc;
7117
- private readonly styleId;
7118
- constructor();
7119
- ensureInstalled(): void;
7120
- static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLayerScaleStyleService, never>;
7121
- static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLayerScaleStyleService>;
7122
- }
7123
-
7124
- /**
7125
- * Contratos compartilhados de discovery semantico consumidos pelo runtime Angular.
7126
- *
7127
- * `resourcePath` continua sendo o endereco operacional do recurso.
7128
- * `resourceKey` representa a identidade semantica estavel devolvida pelo backend para
7129
- * surfaces, actions e capabilities.
7130
- *
7131
- * O runtime usa `resourceKey` para preservar contexto semantico e gerar ids estaveis de
7132
- * abertura, enquanto `resourcePath`, `path`, `method` e `schemaUrl` seguem responsaveis pelo
7133
- * comportamento operacional.
7134
- */
7135
- interface ResourceAvailabilityDecision {
7136
- allowed: boolean;
7137
- reason?: string | null;
7138
- metadata?: Record<string, any>;
7139
- }
7140
- type ResourceSurfaceKind = 'FORM' | 'PARTIAL_FORM' | 'VIEW' | 'READ_PROJECTION';
7141
- type ResourceSurfaceScope = 'COLLECTION' | 'ITEM';
7142
- type ResourceActionScope = 'COLLECTION' | 'ITEM';
7143
- type ResourceDiscoveryRel = 'surfaces' | 'actions' | 'capabilities';
7144
- type ResourceCrudOperationId = 'create' | 'view' | 'edit' | 'delete';
7145
- interface ResourceSurfaceCatalogItem {
7146
- id: string;
7147
- resourceKey: string;
7148
- kind: ResourceSurfaceKind;
7149
- scope: ResourceSurfaceScope;
7150
- title: string;
7151
- description?: string | null;
7152
- intent?: string | null;
7153
- operationId: string;
7154
- path: string;
7155
- method: string;
7156
- schemaId: string;
7157
- schemaUrl: string;
7158
- availability: ResourceAvailabilityDecision;
7159
- order: number;
7160
- tags: string[];
7161
- }
7162
- interface ResourceSurfaceCatalogResponse {
7163
- resourceKey: string;
7164
- resourcePath: string;
7165
- group?: string | null;
7166
- resourceId?: string | number | null;
7167
- surfaces: ResourceSurfaceCatalogItem[];
7168
- }
7169
- interface ResourceActionCatalogItem {
7170
- id: string;
7171
- resourceKey: string;
7172
- scope: ResourceActionScope;
7173
- title: string;
7174
- description?: string | null;
7175
- operationId: string;
7176
- path: string;
7177
- method: string;
7178
- requestSchemaId?: string | null;
7179
- requestSchemaUrl?: string | null;
7180
- responseSchemaId?: string | null;
7181
- responseSchemaUrl?: string | null;
7182
- availability: ResourceAvailabilityDecision;
7183
- order: number;
7184
- successMessage?: string | null;
7185
- tags: string[];
7186
- }
7187
- interface ResourceActionCatalogResponse {
7188
- resourceKey: string;
7189
- resourcePath: string;
7190
- group?: string | null;
7191
- resourceId?: string | number | null;
7192
- actions: ResourceActionCatalogItem[];
8374
+
8375
+ declare const praxisLoadingInterceptorFn: HttpInterceptorFn;
8376
+ /**
8377
+ * Low-level DI interceptor kept for backwards compatibility.
8378
+ *
8379
+ * Prefer `providePraxisHttpLoading()` or `withPraxisHttpLoading()` for host bootstrap.
8380
+ */
8381
+ declare class PraxisLoadingInterceptor implements HttpInterceptor {
8382
+ private orchestrator;
8383
+ private renderer?;
8384
+ constructor(orchestrator: LoadingOrchestrator, renderer?: PraxisLoadingRenderer | undefined);
8385
+ intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>>;
8386
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLoadingInterceptor, [null, { optional: true; }]>;
8387
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLoadingInterceptor>;
7193
8388
  }
7194
- interface ResourceCapabilityOperation {
7195
- id: ResourceCrudOperationId;
7196
- supported: boolean;
7197
- scope: ResourceSurfaceScope;
7198
- preferredMethod?: string | null;
7199
- preferredRel?: string | null;
7200
- availability?: ResourceAvailabilityDecision | null;
8389
+
8390
+ declare class DefaultLoadingRenderer implements PraxisLoadingRenderer {
8391
+ private readonly rootId;
8392
+ private readonly styleId;
8393
+ show(ctx: LoadingContext): void;
8394
+ update(ctx: LoadingContext): void;
8395
+ hide(ctx: LoadingContext): void;
8396
+ private keyOf;
8397
+ private defaultLabel;
8398
+ private ensureRoot;
8399
+ private ensureStyles;
8400
+ private getDocument;
8401
+ static ɵfac: i0.ɵɵFactoryDeclaration<DefaultLoadingRenderer, never>;
8402
+ static ɵprov: i0.ɵɵInjectableDeclaration<DefaultLoadingRenderer>;
7201
8403
  }
7202
- interface ResourceCapabilitySnapshot {
7203
- resourceKey: string;
7204
- resourcePath: string;
7205
- group?: string | null;
7206
- resourceId?: string | number | null;
7207
- canonicalOperations: Record<string, boolean>;
7208
- operations?: Partial<Record<ResourceCrudOperationId, ResourceCapabilityOperation>>;
7209
- surfaces: ResourceSurfaceCatalogItem[];
7210
- actions: ResourceActionCatalogItem[];
8404
+
8405
+ declare class PraxisLayerScaleStyleService {
8406
+ private readonly doc;
8407
+ private readonly styleId;
8408
+ constructor();
8409
+ ensureInstalled(): void;
8410
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLayerScaleStyleService, never>;
8411
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLayerScaleStyleService>;
7211
8412
  }
7212
8413
 
7213
8414
  interface ResourceDiscoveryRequestOptions {
@@ -7245,6 +8446,466 @@ declare class ResourceDiscoveryService {
7245
8446
  static ɵprov: i0.ɵɵInjectableDeclaration<ResourceDiscoveryService>;
7246
8447
  }
7247
8448
 
8449
+ declare const DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION: "praxis.ai.context-hints.domain-catalog/v0.2";
8450
+ interface DomainCatalogRelease {
8451
+ releaseKey: string;
8452
+ serviceKey?: string;
8453
+ status?: string;
8454
+ version?: string;
8455
+ createdAt?: string;
8456
+ resourceKey?: string;
8457
+ [key: string]: unknown;
8458
+ }
8459
+ interface DomainCatalogGovernancePayload {
8460
+ classification?: string;
8461
+ dataCategory?: string;
8462
+ complianceTags?: string[];
8463
+ aiUsage?: {
8464
+ visibility?: string;
8465
+ purpose?: string;
8466
+ restrictions?: string[];
8467
+ [key: string]: unknown;
8468
+ };
8469
+ [key: string]: unknown;
8470
+ }
8471
+ interface DomainCatalogItem<TPayload = Record<string, unknown>> {
8472
+ itemKey: string;
8473
+ type?: string;
8474
+ payload?: TPayload;
8475
+ [key: string]: unknown;
8476
+ }
8477
+ interface DomainCatalogResourceProbe {
8478
+ resourceKey: string;
8479
+ query: string;
8480
+ limit?: number;
8481
+ }
8482
+ type DomainCatalogContextHintItemType = 'context' | 'node' | 'edge' | 'binding' | 'evidence' | 'governance' | 'vocabulary' | 'relationship';
8483
+ type DomainCatalogContextHintIntent = 'authoring' | 'explain' | 'validate' | 'ai-access-control';
8484
+ type DomainCatalogRecommendedAuthoringFlow = 'shared_rule_authoring' | 'component_authoring' | 'ui_composition_authoring';
8485
+ type DomainCatalogRecommendedRuleType = 'privacy' | 'compliance' | 'validation' | 'selection_eligibility' | 'workflow_action_policy' | 'approval_policy' | string;
8486
+ interface DomainCatalogRelationshipHint {
8487
+ enabled?: boolean;
8488
+ federated?: boolean;
8489
+ serviceKey?: string | null;
8490
+ sourceNodeKey?: string | null;
8491
+ targetNodeKey?: string | null;
8492
+ edgeType?: string | null;
8493
+ query?: string | null;
8494
+ limit?: number;
8495
+ }
8496
+ interface DomainCatalogContextHint {
8497
+ schemaVersion?: typeof DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION;
8498
+ resourceKey?: string | null;
8499
+ query?: string | null;
8500
+ releaseId?: string | null;
8501
+ releaseKey?: string | null;
8502
+ serviceKey?: string | null;
8503
+ type?: DomainCatalogContextHintItemType;
8504
+ itemTypes?: DomainCatalogContextHintItemType[];
8505
+ intent?: DomainCatalogContextHintIntent | null;
8506
+ contextKey?: string | null;
8507
+ nodeType?: string | null;
8508
+ recommendedAuthoringFlow?: DomainCatalogRecommendedAuthoringFlow | null;
8509
+ recommendedRuleType?: DomainCatalogRecommendedRuleType | null;
8510
+ limit?: number;
8511
+ relationships?: DomainCatalogRelationshipHint | null;
8512
+ }
8513
+ interface DomainCatalogGovernanceContext {
8514
+ resourceKey: string;
8515
+ query: string;
8516
+ releaseKey: string | null;
8517
+ items: DomainCatalogItem<DomainCatalogGovernancePayload>[];
8518
+ }
8519
+
8520
+ interface DomainCatalogRequestOptions extends ResourceDiscoveryRequestOptions {
8521
+ serviceKey?: string;
8522
+ limit?: number;
8523
+ headers?: HttpHeaders | Record<string, string | string[]>;
8524
+ }
8525
+ interface DomainCatalogGovernanceRequestOptions extends DomainCatalogRequestOptions {
8526
+ resourceKey: string;
8527
+ query: string;
8528
+ }
8529
+ declare class DomainCatalogService {
8530
+ private readonly http;
8531
+ private readonly discovery;
8532
+ listReleases(options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease[]>;
8533
+ listItems(releaseKey: string, options?: DomainCatalogRequestOptions & {
8534
+ type?: string;
8535
+ query?: string;
8536
+ }): Observable<DomainCatalogItem[]>;
8537
+ findLatestReleaseForResource(resourceKey: string, options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease | null>;
8538
+ getGovernanceContext(options: DomainCatalogGovernanceRequestOptions): Observable<DomainCatalogGovernanceContext>;
8539
+ private resolveHeaders;
8540
+ private releaseMatchesResource;
8541
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainCatalogService, never>;
8542
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainCatalogService>;
8543
+ }
8544
+
8545
+ type DomainKnowledgeAuthorType = 'human' | 'llm' | 'system' | string;
8546
+ type DomainKnowledgeChangeSetStatus = 'proposed' | 'approved' | 'rejected' | 'superseded' | 'applied' | string;
8547
+ type DomainKnowledgeValidationStatus = 'valid' | 'invalid' | 'pending' | string;
8548
+ type DomainKnowledgeOperationType = 'add_evidence' | 'update_evidence' | 'deprecate_evidence' | 'add_relationship' | 'update_concept' | string;
8549
+ interface DomainKnowledgeChangeSetTarget {
8550
+ tenantId?: string | null;
8551
+ environment?: string | null;
8552
+ subjectType?: string | null;
8553
+ conceptKey?: string | null;
8554
+ evidenceKey?: string | null;
8555
+ relationshipKey?: string | null;
8556
+ }
8557
+ interface DomainKnowledgePatchOperation {
8558
+ operationId: string;
8559
+ operationType: DomainKnowledgeOperationType;
8560
+ target?: DomainKnowledgeChangeSetTarget | null;
8561
+ reason?: string | null;
8562
+ evidenceRefs?: string[] | null;
8563
+ confidence?: number | null;
8564
+ payload?: Record<string, unknown> | null;
8565
+ }
8566
+ interface DomainKnowledgeChangeSetRequest {
8567
+ changeSetKey: string;
8568
+ status?: DomainKnowledgeChangeSetStatus | null;
8569
+ authorType?: DomainKnowledgeAuthorType | null;
8570
+ authorId?: string | null;
8571
+ intent?: string | null;
8572
+ reason?: string | null;
8573
+ patch: DomainKnowledgePatchOperation[];
8574
+ }
8575
+ interface DomainKnowledgeSafeOperationSummary {
8576
+ operationId?: string | null;
8577
+ operationType?: DomainKnowledgeOperationType | null;
8578
+ targetSubjectType?: string | null;
8579
+ targetConceptKey?: string | null;
8580
+ evidenceRefCount?: number | null;
8581
+ confidence?: number | null;
8582
+ }
8583
+ interface DomainKnowledgeChangeSet {
8584
+ id: string;
8585
+ tenantId?: string | null;
8586
+ environment?: string | null;
8587
+ changeSetKey?: string | null;
8588
+ status?: DomainKnowledgeChangeSetStatus | null;
8589
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8590
+ authorType?: DomainKnowledgeAuthorType | null;
8591
+ authorId?: string | null;
8592
+ intent?: string | null;
8593
+ reason?: string | null;
8594
+ operationCount?: number | null;
8595
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8596
+ reviewerId?: string | null;
8597
+ reviewedAt?: string | null;
8598
+ appliedAt?: string | null;
8599
+ createdAt?: string | null;
8600
+ updatedAt?: string | null;
8601
+ }
8602
+ interface DomainKnowledgeChangeSetFilters {
8603
+ status?: DomainKnowledgeChangeSetStatus;
8604
+ }
8605
+ interface DomainKnowledgeValidationIssue {
8606
+ operationId?: string | null;
8607
+ code?: string | null;
8608
+ message?: string | null;
8609
+ severity?: string | null;
8610
+ }
8611
+ interface DomainKnowledgeValidationResponse {
8612
+ valid: boolean;
8613
+ changeSetId?: string | null;
8614
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8615
+ issues?: DomainKnowledgeValidationIssue[] | null;
8616
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8617
+ }
8618
+ type DomainKnowledgeTimelineEventVisibility = 'safe' | string;
8619
+ interface DomainKnowledgeChangeSetTimelineEventResponse {
8620
+ eventType: string;
8621
+ occurredAt?: string | null;
8622
+ actorType?: string | null;
8623
+ actor?: string | null;
8624
+ summary?: string | null;
8625
+ status?: DomainKnowledgeChangeSetStatus | null;
8626
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8627
+ operationCount?: number | null;
8628
+ operationTypes?: DomainKnowledgeOperationType[] | null;
8629
+ targetConceptKeys?: string[] | null;
8630
+ visibility?: DomainKnowledgeTimelineEventVisibility | null;
8631
+ }
8632
+ interface DomainKnowledgeChangeSetTimelineResponse {
8633
+ changeSetId: string;
8634
+ tenantId?: string | null;
8635
+ environment?: string | null;
8636
+ changeSetKey?: string | null;
8637
+ status?: DomainKnowledgeChangeSetStatus | null;
8638
+ authorType?: DomainKnowledgeAuthorType | null;
8639
+ authorId?: string | null;
8640
+ reviewerId?: string | null;
8641
+ events: DomainKnowledgeChangeSetTimelineEventResponse[];
8642
+ }
8643
+ interface DomainKnowledgeStatusTransitionRequest {
8644
+ status: Exclude<DomainKnowledgeChangeSetStatus, 'proposed'> | DomainKnowledgeChangeSetStatus;
8645
+ reviewerId?: string | null;
8646
+ reason?: string | null;
8647
+ }
8648
+
8649
+ interface DomainKnowledgeRequestOptions extends ResourceDiscoveryRequestOptions {
8650
+ headers?: HttpHeaders | Record<string, string | string[]>;
8651
+ }
8652
+ declare class DomainKnowledgeService {
8653
+ private readonly http;
8654
+ private readonly discovery;
8655
+ createChangeSet(request: DomainKnowledgeChangeSetRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8656
+ listChangeSets(filters?: DomainKnowledgeChangeSetFilters, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet[]>;
8657
+ getChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8658
+ validateChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeValidationResponse>;
8659
+ transitionChangeSetStatus(changeSetId: string, request: DomainKnowledgeStatusTransitionRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8660
+ applyChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8661
+ getChangeSetTimeline(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSetTimelineResponse>;
8662
+ private buildParams;
8663
+ private resolveHeaders;
8664
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainKnowledgeService, never>;
8665
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainKnowledgeService>;
8666
+ }
8667
+
8668
+ type DomainRuleStatus = 'draft' | 'active' | 'inactive' | 'deprecated' | string;
8669
+ type DomainRuleCreatedByType = 'human' | 'llm' | 'system' | string;
8670
+ type DomainRuleAppliedByType = 'human' | 'llm' | 'system' | string;
8671
+ type DomainRuleTargetLayer = 'form' | 'table' | 'api' | 'workflow' | 'workflow_action' | 'approval_policy' | 'policy' | 'option_source' | 'backend_validation' | string;
8672
+ interface DomainRuleDecisionDiagnostics extends Record<string, unknown> {
8673
+ decisionKind?: string | null;
8674
+ authoringMode?: string | null;
8675
+ decisionStage?: string | null;
8676
+ decisionSource?: string | null;
8677
+ canonicalOwner?: string | null;
8678
+ materializationModel?: string | null;
8679
+ runtimeSurfacesAreDerived?: boolean | null;
8680
+ }
8681
+ interface DomainRuleDefinitionRequest {
8682
+ ruleKey: string;
8683
+ version?: number | null;
8684
+ ruleType?: string | null;
8685
+ status?: DomainRuleStatus | null;
8686
+ contextKey?: string | null;
8687
+ resourceKey?: string | null;
8688
+ serviceKey?: string | null;
8689
+ semanticOwner?: string | null;
8690
+ steward?: string | null;
8691
+ sourceReleaseId?: string | null;
8692
+ sourceChangeSetId?: string | null;
8693
+ definition?: Record<string, unknown> | null;
8694
+ parameters?: Record<string, unknown> | null;
8695
+ condition?: Record<string, unknown> | null;
8696
+ governance?: Record<string, unknown> | null;
8697
+ validationResult?: Record<string, unknown> | null;
8698
+ createdByType?: DomainRuleCreatedByType | null;
8699
+ createdBy?: string | null;
8700
+ approvedBy?: string | null;
8701
+ }
8702
+ interface DomainRuleDefinition extends DomainRuleDefinitionRequest {
8703
+ id: string;
8704
+ tenantId?: string | null;
8705
+ environment?: string | null;
8706
+ createdAt?: string | null;
8707
+ updatedAt?: string | null;
8708
+ approvedAt?: string | null;
8709
+ activatedAt?: string | null;
8710
+ }
8711
+ interface DomainRuleDefinitionFilters {
8712
+ resourceKey?: string;
8713
+ status?: DomainRuleStatus;
8714
+ ruleType?: string;
8715
+ ruleKey?: string;
8716
+ }
8717
+ type DomainRuleTimelineEventVisibility = 'safe' | string;
8718
+ interface DomainRuleTimelineEventResponse {
8719
+ eventType: string;
8720
+ occurredAt?: string | null;
8721
+ actorType?: DomainRuleAppliedByType | null;
8722
+ actor?: string | null;
8723
+ summary?: string | null;
8724
+ targetLayer?: DomainRuleTargetLayer | null;
8725
+ targetArtifactType?: string | null;
8726
+ targetArtifactKey?: string | null;
8727
+ sourceHash?: string | null;
8728
+ visibility?: DomainRuleTimelineEventVisibility | null;
8729
+ }
8730
+ interface DomainRuleTimelineResponse {
8731
+ ruleDefinitionId: string;
8732
+ tenantId?: string | null;
8733
+ environment?: string | null;
8734
+ ruleKey?: string | null;
8735
+ ruleType?: string | null;
8736
+ resourceKey?: string | null;
8737
+ events: DomainRuleTimelineEventResponse[];
8738
+ }
8739
+ interface DomainRuleStatusTransitionRequest {
8740
+ status: DomainRuleStatus;
8741
+ decidedByType?: DomainRuleAppliedByType | null;
8742
+ decidedBy?: string | null;
8743
+ decisionNotes?: Record<string, unknown> | null;
8744
+ }
8745
+ interface DomainRuleIntakeRequest {
8746
+ prompt: string;
8747
+ assistantMessage?: string | null;
8748
+ ruleKey?: string | null;
8749
+ ruleType?: string | null;
8750
+ contextKey?: string | null;
8751
+ resourceKey?: string | null;
8752
+ serviceKey?: string | null;
8753
+ definition?: Record<string, unknown> | null;
8754
+ parameters?: Record<string, unknown> | null;
8755
+ condition?: Record<string, unknown> | null;
8756
+ governance?: Record<string, unknown> | null;
8757
+ createdByType?: DomainRuleCreatedByType | null;
8758
+ createdBy?: string | null;
8759
+ }
8760
+ interface DomainRuleIntakeResponse {
8761
+ intakeId: string;
8762
+ tenantId?: string | null;
8763
+ environment?: string | null;
8764
+ ruleKey?: string | null;
8765
+ ruleType?: string | null;
8766
+ contextKey?: string | null;
8767
+ resourceKey?: string | null;
8768
+ serviceKey?: string | null;
8769
+ status?: DomainRuleStatus | null;
8770
+ grounding?: (Record<string, unknown> & {
8771
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8772
+ }) | null;
8773
+ definition?: DomainRuleDefinition | null;
8774
+ createdAt?: string | null;
8775
+ }
8776
+ interface DomainRuleMaterializationRequest {
8777
+ ruleDefinitionId: string;
8778
+ materializationKey: string;
8779
+ targetLayer?: DomainRuleTargetLayer | null;
8780
+ targetArtifactType?: string | null;
8781
+ targetArtifactKey?: string | null;
8782
+ targetPointer?: string | null;
8783
+ targetReleaseKey?: string | null;
8784
+ materializedRuleId?: string | null;
8785
+ status?: DomainRuleStatus | null;
8786
+ materializedPayload?: Record<string, unknown> | null;
8787
+ sourceHash?: string | null;
8788
+ validationResult?: Record<string, unknown> | null;
8789
+ appliedByType?: DomainRuleAppliedByType | null;
8790
+ appliedBy?: string | null;
8791
+ }
8792
+ interface DomainRuleMaterialization extends DomainRuleMaterializationRequest {
8793
+ id: string;
8794
+ tenantId?: string | null;
8795
+ environment?: string | null;
8796
+ ruleKey?: string | null;
8797
+ ruleVersion?: number | null;
8798
+ createdAt?: string | null;
8799
+ updatedAt?: string | null;
8800
+ appliedAt?: string | null;
8801
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8802
+ }
8803
+ interface DomainRuleMaterializationFilters {
8804
+ ruleDefinitionId?: string;
8805
+ targetLayer?: DomainRuleTargetLayer;
8806
+ targetArtifactType?: string;
8807
+ targetArtifactKey?: string;
8808
+ status?: DomainRuleStatus;
8809
+ }
8810
+ interface DomainRuleSimulationRequest {
8811
+ ruleDefinitionId?: string | null;
8812
+ ruleKey?: string | null;
8813
+ ruleType?: string | null;
8814
+ contextKey?: string | null;
8815
+ resourceKey?: string | null;
8816
+ serviceKey?: string | null;
8817
+ definition?: Record<string, unknown> | null;
8818
+ parameters?: Record<string, unknown> | null;
8819
+ condition?: Record<string, unknown> | null;
8820
+ governance?: Record<string, unknown> | null;
8821
+ }
8822
+ interface DomainRuleSimulationResponse {
8823
+ simulationId: string;
8824
+ ruleDefinitionId?: string | null;
8825
+ tenantId?: string | null;
8826
+ environment?: string | null;
8827
+ ruleKey?: string | null;
8828
+ ruleVersion?: number | null;
8829
+ ruleType?: string | null;
8830
+ contextKey?: string | null;
8831
+ resourceKey?: string | null;
8832
+ serviceKey?: string | null;
8833
+ result?: string | null;
8834
+ grounding?: Record<string, unknown> | null;
8835
+ existingCoverage?: unknown[] | null;
8836
+ predictedMaterializations?: unknown[] | null;
8837
+ requiredApprovals?: unknown[] | null;
8838
+ warnings?: unknown[] | null;
8839
+ explainability?: Record<string, unknown> | null;
8840
+ simulatedAt?: string | null;
8841
+ }
8842
+ type DomainRuleMaterializationOutcomeResolution = 'created' | 'reused' | 'selected_existing' | 'selected_explicit' | 'skipped' | 'blocked' | string;
8843
+ interface DomainRulePublicationMaterializationOutcome {
8844
+ resolution?: DomainRuleMaterializationOutcomeResolution | null;
8845
+ materializationKey?: string | null;
8846
+ targetLayer?: DomainRuleTargetLayer | null;
8847
+ targetArtifactType?: string | null;
8848
+ targetArtifactKey?: string | null;
8849
+ targetPointer?: string | null;
8850
+ statusAtResolution?: DomainRuleStatus | null;
8851
+ sourceHash?: string | null;
8852
+ reason?: string | null;
8853
+ }
8854
+ interface DomainRulePublicationDiagnostics {
8855
+ materializationOutcomes?: DomainRulePublicationMaterializationOutcome[] | null;
8856
+ }
8857
+ interface DomainRuleExplainability extends Record<string, unknown> {
8858
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8859
+ publicationDiagnostics?: DomainRulePublicationDiagnostics | null;
8860
+ }
8861
+ interface DomainRulePublicationRequest {
8862
+ ruleDefinitionId: string;
8863
+ materializationIds?: string[] | null;
8864
+ applyEligibleMaterializations?: boolean | null;
8865
+ publishedByType?: DomainRuleAppliedByType | null;
8866
+ publishedBy?: string | null;
8867
+ publicationNotes?: Record<string, unknown> | null;
8868
+ }
8869
+ interface DomainRulePublicationResponse {
8870
+ publicationId: string;
8871
+ tenantId?: string | null;
8872
+ environment?: string | null;
8873
+ publicationStatus?: string | null;
8874
+ publicationReadiness?: string | null;
8875
+ ruleDefinitionId?: string | null;
8876
+ ruleKey?: string | null;
8877
+ ruleVersion?: number | null;
8878
+ ruleType?: string | null;
8879
+ resourceKey?: string | null;
8880
+ serviceKey?: string | null;
8881
+ definition?: DomainRuleDefinition | null;
8882
+ materializations?: DomainRuleMaterialization[] | null;
8883
+ explainability?: DomainRuleExplainability | null;
8884
+ processedAt?: string | null;
8885
+ }
8886
+
8887
+ interface DomainRuleRequestOptions extends ResourceDiscoveryRequestOptions {
8888
+ headers?: HttpHeaders | Record<string, string | string[]>;
8889
+ }
8890
+ declare class DomainRuleService {
8891
+ private readonly http;
8892
+ private readonly discovery;
8893
+ intake(request: DomainRuleIntakeRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleIntakeResponse>;
8894
+ createDefinition(request: DomainRuleDefinitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8895
+ listDefinitions(filters?: DomainRuleDefinitionFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition[]>;
8896
+ transitionDefinitionStatus(definitionId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8897
+ getDefinitionTimeline(definitionId: string, options?: DomainRuleRequestOptions): Observable<DomainRuleTimelineResponse>;
8898
+ simulate(request: DomainRuleSimulationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleSimulationResponse>;
8899
+ publish(request: DomainRulePublicationRequest, options?: DomainRuleRequestOptions): Observable<DomainRulePublicationResponse>;
8900
+ createMaterialization(request: DomainRuleMaterializationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8901
+ listMaterializations(filters?: DomainRuleMaterializationFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization[]>;
8902
+ transitionMaterializationStatus(materializationId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8903
+ private buildParams;
8904
+ private resolveHeaders;
8905
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainRuleService, never>;
8906
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainRuleService>;
8907
+ }
8908
+
7248
8909
  interface ResourceActionOpenAdapterOptions {
7249
8910
  resourcePath: string;
7250
8911
  resourceId?: string | number | null;
@@ -7981,8 +9642,15 @@ type GlobalActionCatalogEntry = {
7981
9642
  required?: string[];
7982
9643
  example?: any;
7983
9644
  };
9645
+ param?: {
9646
+ required?: boolean;
9647
+ label?: string;
9648
+ placeholder?: string;
9649
+ hint?: string;
9650
+ example?: string;
9651
+ };
7984
9652
  };
7985
- declare const GLOBAL_ACTION_CATALOG$1: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
9653
+ declare const GLOBAL_ACTION_CATALOG: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
7986
9654
  declare function provideGlobalActionCatalog(entries: GlobalActionCatalogEntry[]): Provider;
7987
9655
  declare function getGlobalActionCatalog(catalog: ReadonlyArray<GlobalActionCatalogEntry[]> | null | undefined): GlobalActionCatalogEntry[];
7988
9656
  declare const PRAXIS_GLOBAL_ACTION_CATALOG: GlobalActionCatalogEntry[];
@@ -7993,22 +9661,6 @@ interface GlobalSurfaceService {
7993
9661
  }
7994
9662
  declare const GLOBAL_SURFACE_SERVICE: InjectionToken<GlobalSurfaceService>;
7995
9663
 
7996
- type GlobalActionId = 'navigate' | 'openUrl' | 'surface.open' | 'showAlert' | 'log' | 'openDialog' | 'confirm' | 'alert' | 'prompt' | 'submitForm' | 'resetForm' | 'validateForm' | 'clearValidation' | 'saveFormDraft' | 'loadFormDraft' | 'clearFormDraft' | 'apiCall' | 'download' | 'copyToClipboard' | 'refreshOptions' | 'loadDependentData';
7997
- type GlobalActionParam = {
7998
- required?: boolean;
7999
- label?: string;
8000
- placeholder?: string;
8001
- hint?: string;
8002
- example?: string;
8003
- };
8004
- interface GlobalActionSpec {
8005
- id: GlobalActionId;
8006
- label: string;
8007
- description: string;
8008
- param?: GlobalActionParam;
8009
- }
8010
- declare const GLOBAL_ACTION_CATALOG: GlobalActionSpec[];
8011
-
8012
9664
  declare const SURFACE_OPEN_I18N_NAMESPACE = "surfaceOpen";
8013
9665
  declare const SURFACE_OPEN_I18N_CONFIG: Partial<PraxisI18nConfig>;
8014
9666
 
@@ -8111,6 +9763,8 @@ declare const DYNAMIC_PAGE_CONFIG_EDITOR: InjectionToken<Type<any>>;
8111
9763
 
8112
9764
  declare const PRAXIS_LOADING_CTX: HttpContextToken<LoadingContext | null>;
8113
9765
 
9766
+ declare function providePraxisHttpCollectionExportProvider(options?: PraxisCollectionExportHttpProviderOptions): Provider[];
9767
+
8114
9768
  declare const PRAXIS_JSON_LOGIC_OPERATORS: InjectionToken<PraxisJsonLogicOperatorDefinition[]>;
8115
9769
  declare function providePraxisJsonLogicOperator(definition: PraxisJsonLogicOperatorDefinition): Provider;
8116
9770
  declare function providePraxisJsonLogicOperatorOverride(definition: PraxisJsonLogicOperatorDefinition): Provider;
@@ -8202,8 +9856,16 @@ interface ComponentPortEndpointRef {
8202
9856
  direction: 'input' | 'output';
8203
9857
  componentType?: string;
8204
9858
  bindingPath?: string;
9859
+ nestedPath?: ComponentPortPathSegment[];
8205
9860
  };
8206
9861
  }
9862
+ interface ComponentPortPathSegment {
9863
+ kind: 'widget' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
9864
+ id?: string;
9865
+ key?: string;
9866
+ index?: number;
9867
+ componentType?: string;
9868
+ }
8207
9869
  interface StateEndpointRef {
8208
9870
  kind: 'state';
8209
9871
  ref: {
@@ -8212,7 +9874,11 @@ interface StateEndpointRef {
8212
9874
  writable?: boolean;
8213
9875
  };
8214
9876
  }
8215
- type EndpointRef = ComponentPortEndpointRef | StateEndpointRef;
9877
+ interface GlobalActionEndpointRef {
9878
+ kind: 'global-action';
9879
+ ref: GlobalActionRef;
9880
+ }
9881
+ type EndpointRef = ComponentPortEndpointRef | StateEndpointRef | GlobalActionEndpointRef;
8216
9882
  type LinkIntent = 'event-propagation' | 'state-write' | 'state-read' | 'command-dispatch' | 'selection-sync' | 'data-projection' | 'status-propagation';
8217
9883
  interface LinkPolicy {
8218
9884
  debounceMs?: number;
@@ -8243,7 +9909,7 @@ interface CompositionLink {
8243
9909
 
8244
9910
  type DiagnosticSeverity = 'info' | 'warning' | 'error' | 'fatal';
8245
9911
  type DiagnosticPhase = 'catalog-lint' | 'page-lint' | 'semantic-validation' | 'runtime-bootstrap' | 'runtime-dispatch' | 'runtime-transform' | 'runtime-state' | 'runtime-delivery' | 'runtime-diagnostic';
8246
- type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
9912
+ type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'global-action' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
8247
9913
  interface DiagnosticSubjectRef {
8248
9914
  kind: DiagnosticSubjectKind;
8249
9915
  pageId?: string;
@@ -8251,6 +9917,7 @@ interface DiagnosticSubjectRef {
8251
9917
  widgetType?: string;
8252
9918
  portId?: string;
8253
9919
  statePath?: string;
9920
+ actionId?: string;
8254
9921
  linkId?: string;
8255
9922
  transformIndex?: number;
8256
9923
  eventId?: string;
@@ -8446,6 +10113,7 @@ interface FormActionButton {
8446
10113
  disabled?: boolean;
8447
10114
  type?: 'button' | 'submit' | 'reset';
8448
10115
  action?: string;
10116
+ globalAction?: GlobalActionRef;
8449
10117
  tooltip?: string;
8450
10118
  loading?: boolean;
8451
10119
  size?: 'small' | 'medium' | 'large';
@@ -8593,7 +10261,7 @@ interface FieldsetLayout {
8593
10261
  rows: FormRowLayout[];
8594
10262
  hiddenCondition?: JsonLogicExpression | null;
8595
10263
  }
8596
- type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column';
10264
+ type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
8597
10265
  interface FormLayoutRule {
8598
10266
  id: string;
8599
10267
  name: string;
@@ -8732,6 +10400,29 @@ interface EditorialFormTemplateBuildOptions {
8732
10400
  */
8733
10401
  declare function buildFormConfigFromEditorialTemplate(template: EditorialFormTemplate, options?: EditorialFormTemplateBuildOptions): FormConfig;
8734
10402
 
10403
+ interface FormFieldLayoutItem {
10404
+ kind: 'field';
10405
+ id: string;
10406
+ fieldName: string;
10407
+ }
10408
+ interface FormRichContentLayoutItem {
10409
+ kind: 'richContent';
10410
+ id: string;
10411
+ document: RichContentDocument;
10412
+ layout?: 'block' | 'inline';
10413
+ rootClassName?: string | null;
10414
+ }
10415
+ type FormLayoutItem = FormFieldLayoutItem | FormRichContentLayoutItem;
10416
+ interface FormLayoutItemsColumnLike {
10417
+ fields?: unknown;
10418
+ items?: unknown;
10419
+ }
10420
+ declare function createFieldLayoutItem(fieldName: string, index?: number): FormFieldLayoutItem;
10421
+ declare function isFormLayoutItem(value: unknown): value is FormLayoutItem;
10422
+ declare function normalizeFormLayoutItems(column: FormLayoutItemsColumnLike | null | undefined): FormLayoutItem[];
10423
+ declare function getFormLayoutFieldNames(items: readonly FormLayoutItem[] | null | undefined): string[];
10424
+ declare function getFormColumnFieldNames(column: FormLayoutItemsColumnLike | null | undefined): string[];
10425
+
8735
10426
  type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
8736
10427
  interface ColumnSpan {
8737
10428
  xs?: number;
@@ -8763,7 +10454,10 @@ interface ColumnHidden {
8763
10454
  }
8764
10455
  type ColumnAlign = 'start' | 'center' | 'end' | 'stretch';
8765
10456
  interface FormColumn {
10457
+ /** Legacy field-name list accepted as migration input while items becomes canonical. */
8766
10458
  fields: string[];
10459
+ /** Canonical ordered layout items for fields and visual blocks. */
10460
+ items?: FormLayoutItem[];
8767
10461
  id: string;
8768
10462
  title?: string;
8769
10463
  span?: ColumnSpan;
@@ -8837,8 +10531,10 @@ interface FormSectionHeaderAction {
8837
10531
  label: string;
8838
10532
  /** Icon rendered in the section header action slot. */
8839
10533
  icon: string;
8840
- /** Optional action name emitted by the runtime; defaults to `id` when omitted. */
10534
+ /** Optional local action name emitted by the runtime; defaults to `id` when omitted. */
8841
10535
  action?: string;
10536
+ /** Optional structured global action executed by hosts through GlobalActionService. */
10537
+ globalAction?: GlobalActionRef;
8842
10538
  /** Optional tooltip override. Falls back to `label` when omitted. */
8843
10539
  tooltip?: string;
8844
10540
  /** Optional theme color mapped to Angular Material button tones. */
@@ -8933,6 +10629,8 @@ interface FormConfig {
8933
10629
  messages?: FormMessagesLayout;
8934
10630
  /** Form rules for dynamic behavior */
8935
10631
  formRules?: FormLayoutRule[];
10632
+ /** Conditional command rules evaluated after form rule values stabilize. */
10633
+ formCommandRules?: PraxisRuntimeConditionalEffectRule<PraxisRuntimeGlobalActionEffect>[];
8936
10634
  /**
8937
10635
  * Raw state emitted by the visual rule builder.
8938
10636
  * Stored separately to allow round-trip editing without losing metadata.
@@ -9143,6 +10841,7 @@ interface FormInitializationError {
9143
10841
  }
9144
10842
  interface FormCustomActionEvent {
9145
10843
  actionId: string;
10844
+ globalAction?: GlobalActionRef;
9146
10845
  formData: any;
9147
10846
  isValid: boolean;
9148
10847
  source: 'button' | 'shortcut' | 'section-header';
@@ -9166,7 +10865,7 @@ interface RulePropertyDefinition {
9166
10865
  }>;
9167
10866
  category?: 'content' | 'appearance' | 'behavior' | 'layout' | 'validation';
9168
10867
  }
9169
- type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column', RulePropertyDefinition[]>;
10868
+ type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', RulePropertyDefinition[]>;
9170
10869
  declare const RULE_PROPERTY_SCHEMA: RulePropertySchema;
9171
10870
 
9172
10871
  type EditorialOrientation = 'horizontal' | 'vertical';
@@ -10088,6 +11787,18 @@ declare function createPersistedPage(identity: PageIdentity, page: WidgetPageDef
10088
11787
  status?: PersistedPageConfig['status'];
10089
11788
  }): PersistedPageConfig;
10090
11789
 
11790
+ interface DomainKnowledgeTimelineRichContentOptions {
11791
+ title?: string;
11792
+ emptyText?: string;
11793
+ }
11794
+ declare function domainKnowledgeTimelineToRichContentDocument(timeline: DomainKnowledgeChangeSetTimelineResponse, options?: DomainKnowledgeTimelineRichContentOptions): RichContentDocument;
11795
+
11796
+ interface DomainRuleTimelineRichContentOptions {
11797
+ title?: string;
11798
+ emptyText?: string;
11799
+ }
11800
+ declare function domainRuleTimelineToRichContentDocument(timeline: DomainRuleTimelineResponse, options?: DomainRuleTimelineRichContentOptions): RichContentDocument;
11801
+
10091
11802
  /**
10092
11803
  * Navigation/back behavior configuration used by form hosts (e.g., CRUD dialogs/routes).
10093
11804
  * Moved from @praxisui/crud to @praxisui/core to avoid circular deps between
@@ -10107,16 +11818,59 @@ interface BackConfig {
10107
11818
  confirmOnDirty?: boolean;
10108
11819
  }
10109
11820
 
11821
+ declare const PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION: "praxis.query-filter-expression.v1";
11822
+ interface PraxisDataQueryContextMeta extends Record<string, unknown> {
11823
+ domainCatalog?: DomainCatalogContextHint | null;
11824
+ }
10110
11825
  interface PraxisDataQueryContext {
10111
11826
  filters?: Record<string, unknown> | null;
11827
+ filterExpression?: PraxisQueryFilterExpression | null;
10112
11828
  sort?: string[] | null;
10113
11829
  limit?: number | null;
10114
11830
  page?: {
10115
11831
  index?: number | null;
10116
11832
  size?: number | null;
10117
11833
  } | null;
10118
- meta?: Record<string, unknown> | null;
11834
+ meta?: PraxisDataQueryContextMeta | null;
11835
+ }
11836
+ interface PraxisQueryFilterExpression {
11837
+ schemaVersion: typeof PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION;
11838
+ root: PraxisQueryFilterNode;
11839
+ projection?: {
11840
+ filters?: Record<string, unknown> | null;
11841
+ lossless: boolean;
11842
+ reason?: string;
11843
+ } | null;
11844
+ governance?: PraxisQueryFilterGovernance | null;
11845
+ }
11846
+ interface PraxisQueryFilterGovernance extends Record<string, unknown> {
11847
+ source?: 'selected-records' | 'manual' | 'workflow' | 'ai-authored';
11848
+ decisionId?: string;
11849
+ explanation?: string;
11850
+ }
11851
+ type PraxisQueryFilterNode = PraxisQueryFilterGroup | PraxisQueryFilterPredicate;
11852
+ interface PraxisQueryFilterGroup {
11853
+ kind: 'group';
11854
+ operator: 'all' | 'any';
11855
+ clauses: PraxisQueryFilterNode[];
11856
+ }
11857
+ interface PraxisQueryFilterPredicate {
11858
+ kind: 'predicate';
11859
+ field: string;
11860
+ operator: PraxisQueryFilterPredicateOperator;
11861
+ value?: unknown;
11862
+ values?: unknown[];
11863
+ label?: string;
11864
+ source?: PraxisQueryFilterPredicateSource;
11865
+ }
11866
+ type PraxisQueryFilterPredicateOperator = 'equals' | 'notEquals' | 'in' | 'notIn' | 'contains' | 'startsWith' | 'between' | 'gte' | 'lte' | 'isNull' | 'isNotNull';
11867
+ interface PraxisQueryFilterPredicateSource extends Record<string, unknown> {
11868
+ kind: 'selected-records' | 'manual' | 'workflow' | 'current-context';
11869
+ field?: string;
11870
+ selectedIds?: Array<string | number>;
10119
11871
  }
11872
+ declare function normalizePraxisQueryFilterNode(node?: Record<string, unknown> | null): PraxisQueryFilterNode | null;
11873
+ declare function normalizePraxisQueryFilterExpression(expression?: Partial<PraxisQueryFilterExpression> | null): PraxisQueryFilterExpression | null;
10120
11874
  declare function normalizePraxisDataQueryContext(context?: PraxisDataQueryContext | null): PraxisDataQueryContext | null;
10121
11875
  declare function resolvePraxisFilterCriteria(filterCriteria?: Record<string, unknown> | null, queryContext?: PraxisDataQueryContext | null): Record<string, unknown>;
10122
11876
 
@@ -10455,7 +12209,7 @@ interface GlobalActionField {
10455
12209
  dependsOnValue?: string;
10456
12210
  }
10457
12211
  interface GlobalActionUiSchema {
10458
- id: GlobalActionId;
12212
+ id: string;
10459
12213
  label: string;
10460
12214
  fields: GlobalActionField[];
10461
12215
  editorMode?: 'default' | 'surface-open';
@@ -10463,6 +12217,33 @@ interface GlobalActionUiSchema {
10463
12217
  declare const GLOBAL_ACTION_UI_SCHEMAS: GlobalActionUiSchema[];
10464
12218
  declare function getGlobalActionUiSchema(id: string | undefined): GlobalActionUiSchema | undefined;
10465
12219
 
12220
+ type GlobalActionValidationCode = 'globalAction.actionId.required' | 'globalAction.payload.required' | 'globalAction.payload.type';
12221
+ interface GlobalActionValidationIssue {
12222
+ code: GlobalActionValidationCode;
12223
+ path?: string;
12224
+ actionId?: string;
12225
+ requiredKeys?: string[];
12226
+ missingKeys?: string[];
12227
+ expectedType?: string;
12228
+ actualType?: string;
12229
+ }
12230
+ interface GlobalActionValidationTarget {
12231
+ ref: GlobalActionRef | null | undefined;
12232
+ catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null;
12233
+ path?: string;
12234
+ }
12235
+ declare function normalizeGlobalActionRef(ref: GlobalActionRef | null | undefined): GlobalActionRef | null;
12236
+ declare function isGlobalActionRef(value: unknown): value is GlobalActionRef;
12237
+ declare function getRequiredGlobalActionPayloadKeys(actionId: string | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12238
+ declare function hasMeaningfulGlobalActionPayloadValue(value: any): boolean;
12239
+ declare function getMissingGlobalActionPayloadKeys(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12240
+ declare function isRequiredGlobalActionParamPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12241
+ declare function isRequiredGlobalActionPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12242
+ declare function getGlobalActionPayloadActualType(value: unknown): string;
12243
+ declare function getGlobalActionPayloadTypeIssue(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): Pick<GlobalActionValidationIssue, 'expectedType' | 'actualType'> | null;
12244
+ declare function validateGlobalActionRef(ref: GlobalActionRef | null | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null, path?: string): GlobalActionValidationIssue[];
12245
+ declare function validateGlobalActionRefs(targets: GlobalActionValidationTarget[]): GlobalActionValidationIssue[];
12246
+
10466
12247
  interface SurfaceOpenPreset {
10467
12248
  id: string;
10468
12249
  label: string;
@@ -10591,6 +12372,209 @@ interface AiConcept {
10591
12372
  }
10592
12373
  type AiConceptPack = Record<string, AiConcept>;
10593
12374
 
12375
+ /**
12376
+ * Representa o contrato canônico de authoring executável de um componente.
12377
+ */
12378
+ interface ComponentAuthoringManifest {
12379
+ /** Versão do schema do manifesto (ex: 1.0.0) */
12380
+ schemaVersion: string;
12381
+ /** Identificador único do componente no registry (ex: praxis-table) */
12382
+ componentId: string;
12383
+ /** Nome do pacote npm que possui o componente (ex: @praxisui/table) */
12384
+ ownerPackage: string;
12385
+ /** ID do schema de configuração (ex: TableConfig) */
12386
+ configSchemaId: string;
12387
+ /** Versão do manifesto específico deste componente */
12388
+ manifestVersion: string;
12389
+ /** Inputs que o componente aceita em runtime */
12390
+ runtimeInputs: ManifestInput[];
12391
+ /** Alvos que podem ser editados via AI */
12392
+ editableTargets: ManifestTarget[];
12393
+ /** Operações atômicas permitidas */
12394
+ operations: ManifestOperation[];
12395
+ /** Validadores de integridade da configuração */
12396
+ validators: ManifestValidator[];
12397
+ /** Requisitos para round-trip sem perda de informação */
12398
+ roundTripRequirements?: string[];
12399
+ /**
12400
+ * Exemplos de intenção → operação para uso em Few-Shot e evals.
12401
+ * Obrigatório: o gate de aceitação rejeita manifestos sem examples.
12402
+ * Deve conter ao menos um exemplo negativo (isPositive: false).
12403
+ */
12404
+ examples: ManifestExample[];
12405
+ /**
12406
+ * Perfis opcionais para familias de componentes que compartilham um manifesto
12407
+ * base, mas precisam expor semantica granular por componente/controlType.
12408
+ */
12409
+ controlProfiles?: ManifestControlProfile[];
12410
+ }
12411
+ interface ManifestInput {
12412
+ name: string;
12413
+ type: string;
12414
+ description?: string;
12415
+ allowedValues?: any[];
12416
+ }
12417
+ interface ManifestTarget {
12418
+ kind: string;
12419
+ resolver: string;
12420
+ description: string;
12421
+ }
12422
+ /**
12423
+ * Política de submissão para campos locais num formulário.
12424
+ * - 'omit': campo não é incluído no payload de submissão (default para campos locais).
12425
+ * - 'include': campo é sempre incluído no payload.
12426
+ * - 'includeWhenDirty': campo é incluído apenas se o valor foi alterado pelo usuário.
12427
+ * NOTA: 'transient' NÃO é um valor válido; use source:'local' + transient:true no schema de input.
12428
+ */
12429
+ type SubmitPolicy = 'omit' | 'include' | 'includeWhenDirty';
12430
+ type ManifestSubmissionImpact = 'none' | 'visual-only' | 'config-only' | 'affects-submission' | 'affects-schema-backed-data' | 'affects-remote-binding';
12431
+ interface ManifestOperation {
12432
+ operationId: string;
12433
+ title: string;
12434
+ /**
12435
+ * Escopo da operação.
12436
+ * - 'global': opera sobre a configuração raiz; target.required deve ser false.
12437
+ * - Outros valores: opera sobre um alvo específico; target.required deve ser true.
12438
+ * O valor 'target' é reservado para uso futuro e não deve ser usado.
12439
+ */
12440
+ 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';
12441
+ /**
12442
+ * @deprecated Use `target.kind` em vez disso.
12443
+ * Mantido para compatibilidade retroativa com ferramentas que lêem o registry.
12444
+ * Deve ser igual a `target.kind` quando `target` estiver presente.
12445
+ */
12446
+ targetKind?: string;
12447
+ /**
12448
+ * Definição estruturada do alvo da operação.
12449
+ * Obrigatório para operações com scope diferente de 'global'.
12450
+ * Usado pelo backend para resolver o alvo antes de compilar o patch.
12451
+ */
12452
+ target?: {
12453
+ /** Tipo do alvo (ex: column, rule) */
12454
+ kind: string;
12455
+ /** Resolver canônico usado para localizar o alvo (ex: column-by-field) */
12456
+ resolver: string;
12457
+ /** Política para lidar com ambiguidades na resolução */
12458
+ ambiguityPolicy?: 'fail' | 'first' | 'all';
12459
+ /** Se o alvo é obrigatório para a operação */
12460
+ required: boolean;
12461
+ };
12462
+ /** Schema JSON do payload de entrada da operação */
12463
+ inputSchema: any;
12464
+ /**
12465
+ * Efeitos que a operação causa na configuração.
12466
+ * Usado pelo backend para compilar o patch de forma determinística.
12467
+ */
12468
+ effects: ManifestEffect[];
12469
+ /** Se true, a operação é destrutiva e pode causar perda de dados/configuração */
12470
+ destructive?: boolean;
12471
+ /**
12472
+ * Se true, o agente DEVE solicitar confirmação explícita antes de aplicar.
12473
+ * Obrigatório para todas as operações com destructive:true.
12474
+ */
12475
+ requiresConfirmation?: boolean;
12476
+ /** IDs dos validadores que devem ser executados para esta operação */
12477
+ validators?: string[];
12478
+ /**
12479
+ * Caminhos (JSON Path-like) na configuração afetados por esta operação.
12480
+ * Deve cobrir todos os paths tocados pelos effects.
12481
+ * Usado pelo backend para validação de acesso e auditoria de mudanças.
12482
+ */
12483
+ affectedPaths: string[];
12484
+ /**
12485
+ * Impacto declarado da operação sobre submissão, configuração visual ou binding remoto.
12486
+ * Boolean permanece aceito para manifests legados; manifests semanticamente validados devem usar
12487
+ * ManifestSubmissionImpact para evitar inferencia fragil no backend.
12488
+ */
12489
+ submissionImpact: ManifestSubmissionImpact | boolean;
12490
+ /**
12491
+ * Condições de estado que devem ser verdadeiras antes de executar a operação.
12492
+ * Usado pelo backend para validação prévia ao patch.
12493
+ * Ex: ['config-initialized', 'target-exists']
12494
+ */
12495
+ preconditions: string[];
12496
+ }
12497
+ /**
12498
+ * Efeito atômico sobre a configuração.
12499
+ * Usa discriminated union por `kind` para documentar quais campos são obrigatórios:
12500
+ *
12501
+ * - 'merge-object': path obrigatório; funde o payload no objeto no path.
12502
+ * - 'merge-by-key': path + key obrigatórios; funde pelo campo-chave em uma coleção.
12503
+ * - 'append-unique': path + key obrigatórios; adiciona item se não existir (deduplicação por key).
12504
+ * - 'remove-by-key': path + key obrigatórios; remove item da coleção pelo valor da key.
12505
+ * - 'reorder-by-key': path + key obrigatórios; reordena coleção por key.
12506
+ * - 'set-value': path obrigatório; seta o valor diretamente no path.
12507
+ * - 'compile-domain-patch': handler obrigatório; delega compilação a um handler especializado.
12508
+ */
12509
+ interface ManifestEffect {
12510
+ kind: 'merge-object' | 'merge-by-key' | 'append-unique' | 'remove-by-key' | 'reorder-by-key' | 'set-value' | 'compile-domain-patch';
12511
+ /** Path JSON-like na configuração onde o efeito é aplicado. Obrigatório para todos os kinds exceto 'compile-domain-patch'. */
12512
+ path?: string;
12513
+ /** Chave de identidade em coleções. Obrigatório para merge-by-key, append-unique, remove-by-key, reorder-by-key. */
12514
+ key?: string;
12515
+ /** Valor literal para efeitos set-value quando o valor não vem do input da operação. */
12516
+ value?: unknown;
12517
+ /** Caminho opcional dentro do input da operação usado por efeitos set-value. */
12518
+ inputPath?: string;
12519
+ /** ID do handler especializado. Obrigatório quando kind é 'compile-domain-patch'. */
12520
+ handler?: string;
12521
+ handlerContract?: ManifestDomainPatchHandlerContract;
12522
+ }
12523
+ interface ManifestDomainPatchHandlerContract {
12524
+ reads: string[];
12525
+ writes: string[];
12526
+ identityKeys: string[];
12527
+ inputSchema?: any;
12528
+ failureModes: string[];
12529
+ description: string;
12530
+ }
12531
+ interface ManifestValidator {
12532
+ validatorId: string;
12533
+ level: 'error' | 'warning' | 'info';
12534
+ code: string;
12535
+ description: string;
12536
+ }
12537
+ interface ManifestExample {
12538
+ id: string;
12539
+ request: string;
12540
+ operationId: string;
12541
+ target?: string;
12542
+ params?: any;
12543
+ isPositive?: boolean;
12544
+ }
12545
+ interface ManifestControlProfile {
12546
+ /** Identificador estavel do perfil dentro do manifesto familiar. */
12547
+ profileId: string;
12548
+ /** Nome curto usado por ferramentas de authoring. */
12549
+ title: string;
12550
+ /** Explica a semantica que este perfil adiciona sobre o manifesto base. */
12551
+ description: string;
12552
+ /** Regras deterministicas para projetar o perfil em componentes do registry. */
12553
+ appliesTo: ManifestControlProfileApplicability;
12554
+ /** Alvos adicionais ou refinados que este perfil torna editaveis. */
12555
+ editableTargets?: ManifestTarget[];
12556
+ /** Operacoes especificas do perfil/controlType. */
12557
+ operations: ManifestOperation[];
12558
+ /** Validadores especificos do perfil/controlType. */
12559
+ validators: ManifestValidator[];
12560
+ /** Exemplos/evals especificos do perfil/controlType. */
12561
+ examples: ManifestExample[];
12562
+ /** Requisitos adicionais de round-trip para este perfil. */
12563
+ roundTripRequirements?: string[];
12564
+ }
12565
+ interface ManifestControlProfileApplicability {
12566
+ /** IDs de componentes do registry que devem receber este perfil. */
12567
+ componentIds?: string[];
12568
+ /** Selectors publicos que devem receber este perfil. */
12569
+ selectors?: string[];
12570
+ /** Control types canonicos ou aliases que devem receber este perfil. */
12571
+ controlTypes?: string[];
12572
+ /** Tags de ComponentDocMeta usadas como fallback de classificacao. */
12573
+ tags?: string[];
12574
+ /** Tipos do input `metadata` usados como fallback de classificacao. */
12575
+ metadataInputTypes?: string[];
12576
+ }
12577
+
10594
12578
  /**
10595
12579
  * Catálogo de capacidades genéricas de FieldMetadata para uso da IA.
10596
12580
  * Baseado em projects/praxis-core/src/lib/models/component-metadata.interface.ts
@@ -10612,7 +12596,7 @@ declare function getFieldMetadataCapabilities(): Capability$1[];
10612
12596
  * Paths follow WidgetPageDefinition shape under "page".
10613
12597
  */
10614
12598
 
10615
- declare module "./index" {
12599
+ declare module "./praxisui-core" {
10616
12600
  interface AiCapabilityCategoryMap {
10617
12601
  page: true;
10618
12602
  layout: true;
@@ -10620,6 +12604,7 @@ declare module "./index" {
10620
12604
  shell: true;
10621
12605
  connections: true;
10622
12606
  context: true;
12607
+ state: true;
10623
12608
  }
10624
12609
  }
10625
12610
  type CapabilityCategory = AiCapabilityCategory;
@@ -10650,7 +12635,11 @@ interface ComponentActionParam {
10650
12635
  }
10651
12636
  interface ComponentContextAction {
10652
12637
  id: string;
10653
- keywords?: string[];
12638
+ /**
12639
+ * Natural-language examples for LLM grounding only.
12640
+ * Runtime code must not use these strings for keyword routing.
12641
+ */
12642
+ intentExamples?: string[];
10654
12643
  patchTemplate: any;
10655
12644
  safetyNotes?: string;
10656
12645
  /**
@@ -10706,10 +12695,14 @@ interface ComponentMergePatch<TConfig extends Record<string, unknown> = Record<s
10706
12695
 
10707
12696
  declare const DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK: ComponentContextPack;
10708
12697
 
12698
+ declare const DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK: ComponentContextPack;
12699
+
10709
12700
  interface WidgetEventPathSegment {
10710
- kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
12701
+ kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group' | 'widget';
10711
12702
  id?: string;
12703
+ key?: string;
10712
12704
  index?: number;
12705
+ componentType?: string;
10713
12706
  }
10714
12707
  interface WidgetEventEnvelope {
10715
12708
  /** Optional top-level page widget key that owns the event tree. */
@@ -10731,6 +12724,50 @@ interface WidgetResolutionDiagnostic {
10731
12724
  error?: unknown;
10732
12725
  }
10733
12726
 
12727
+ interface WidgetEventPathNormalizeOptions {
12728
+ /** Optional owner component id used to strip only the top-level container segment. */
12729
+ ownerComponentId?: string;
12730
+ }
12731
+ interface WidgetEventPathNormalizeInput {
12732
+ path?: WidgetEventPathSegment[];
12733
+ sourceChildWidgetKey?: string;
12734
+ sourceComponentId?: string;
12735
+ }
12736
+ declare function normalizeWidgetEventPath(event: WidgetEventEnvelope | WidgetEventPathNormalizeInput, options?: WidgetEventPathNormalizeOptions): ComponentPortPathSegment[];
12737
+
12738
+ interface NestedWidgetResolution {
12739
+ ownerWidgetKey: string;
12740
+ nestedPath: ComponentPortPathSegment[];
12741
+ widget: WidgetDefinition;
12742
+ componentId: string;
12743
+ childWidgetKey: string;
12744
+ }
12745
+ interface NestedWidgetInputPatchResult {
12746
+ widget: WidgetInstance;
12747
+ changed: boolean;
12748
+ }
12749
+ declare class NestedWidgetConfigAccessor {
12750
+ listNestedWidgets(owner: WidgetInstance): NestedWidgetResolution[];
12751
+ resolveNestedWidget(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined): WidgetDefinition | undefined;
12752
+ setNestedWidgetInput(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined, inputName: string, value: unknown): NestedWidgetInputPatchResult;
12753
+ private listNestedWidgetsInDefinition;
12754
+ private resolveNestedWidgetInDefinition;
12755
+ private setNestedWidgetInputInDefinition;
12756
+ private listChildWidgetLocations;
12757
+ private listTabsWidgetLocations;
12758
+ private listExpansionWidgetLocations;
12759
+ private resolveWidgetArrayLocation;
12760
+ private resolveTabsWidgetArray;
12761
+ private resolveExpansionWidgetArray;
12762
+ private findBySegment;
12763
+ private segmentIdentity;
12764
+ private asWidgetDefinitions;
12765
+ private isWidgetDefinition;
12766
+ private resolveChildWidgetKey;
12767
+ private clone;
12768
+ private isEqual;
12769
+ }
12770
+
10734
12771
  type EditorialContentFormat = 'plain' | 'markdown';
10735
12772
  interface EditorialLinkDefinition {
10736
12773
  label: string;
@@ -10934,17 +12971,27 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
10934
12971
  widgetDiagnostic: EventEmitter<WidgetResolutionDiagnostic>;
10935
12972
  private compRef?;
10936
12973
  private currentId?;
12974
+ private currentUsesInitialBindings;
12975
+ private currentInitialBindingSignature;
10937
12976
  private outputSubs;
10938
12977
  /** Dispatch a shell action to the inner widget instance when supported. */
10939
12978
  dispatchAction(action: WidgetShellActionEvent): boolean;
10940
12979
  ngOnInit(): void;
10941
12980
  ngOnChanges(changes: SimpleChanges): void;
10942
12981
  ngOnDestroy(): void;
12982
+ renderNow(): void;
10943
12983
  private parseWidget;
10944
12984
  private tryRender;
10945
12985
  private createComponent;
10946
12986
  private destroyCurrent;
12987
+ private shouldUseInitialInputBindings;
10947
12988
  private bindInputs;
12989
+ private initialBindingSignature;
12990
+ private orderedInputEntries;
12991
+ private resolveAndCoerceValue;
12992
+ private withInferredIdentityInputs;
12993
+ private normalizeMaterializedRuntimeInputs;
12994
+ private inferResourcePathFromSchemaUrl;
10948
12995
  private bindOutputs;
10949
12996
  private resolveValue;
10950
12997
  private get widgetDefinition();
@@ -10952,6 +12999,8 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
10952
12999
  private lookup;
10953
13000
  private validateAgainstMetadata;
10954
13001
  private coercePrimitive;
13002
+ private stableStringify;
13003
+ private stableSerializableValue;
10955
13004
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetLoaderDirective, never>;
10956
13005
  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>;
10957
13006
  }
@@ -10962,6 +13011,7 @@ declare const BUILTIN_SHELL_PRESETS: Record<string, NonNullable<Appearance>>;
10962
13011
  declare class WidgetShellComponent implements OnChanges {
10963
13012
  private readonly i18n;
10964
13013
  get hostCollapsed(): boolean;
13014
+ get dragSurfaceInteractive(): boolean;
10965
13015
  shell?: WidgetShellConfig | null;
10966
13016
  context?: Record<string, any> | null;
10967
13017
  dragSurfaceEnabled: boolean;
@@ -10974,7 +13024,10 @@ declare class WidgetShellComponent implements OnChanges {
10974
13024
  collapsed: boolean;
10975
13025
  expanded: boolean;
10976
13026
  fullscreen: boolean;
10977
- ngOnChanges(): void;
13027
+ private initializedWindowState;
13028
+ private lastWindowStateInputs?;
13029
+ ngOnChanges(changes: SimpleChanges): void;
13030
+ private syncInitialWindowState;
10978
13031
  get shellEnabled(): boolean;
10979
13032
  get showHeader(): boolean;
10980
13033
  get headerActions(): ActionList;
@@ -10993,6 +13046,8 @@ declare class WidgetShellComponent implements OnChanges {
10993
13046
  private isVisible;
10994
13047
  private resolvePresetAppearance;
10995
13048
  private mergeAppearance;
13049
+ private readWindowStateInputs;
13050
+ private areWindowStateInputsEqual;
10996
13051
  private isInteractiveHeaderTarget;
10997
13052
  private t;
10998
13053
  static ɵfac: i0.ɵɵFactoryDeclaration<WidgetShellComponent, never>;
@@ -11030,6 +13085,7 @@ declare class WidgetPageStateRuntimeService {
11030
13085
  private evaluateDerivedJsonLogic;
11031
13086
  private resolveCaseValue;
11032
13087
  private resolveTemplate;
13088
+ private isPageStateTemplatePath;
11033
13089
  private normalizeDependencyPath;
11034
13090
  private readPath;
11035
13091
  private isPlainObject;
@@ -11058,6 +13114,86 @@ interface WidgetPageComposition {
11058
13114
  context: Record<string, unknown>;
11059
13115
  }
11060
13116
 
13117
+ interface NestedPortCatalogRegistry {
13118
+ get(id: string): Pick<ComponentDocMeta, 'ports'> | undefined;
13119
+ }
13120
+ interface ResolvedNestedPort {
13121
+ ownerWidgetKey: string;
13122
+ ownerComponentId?: string;
13123
+ nestedPath: ComponentPortPathSegment[];
13124
+ containerPath?: ComponentPortPathSegment[];
13125
+ port: PortContract;
13126
+ componentId: string;
13127
+ childWidgetKey: string;
13128
+ }
13129
+ interface NestedPortCatalogDiagnostic {
13130
+ code: 'NESTED_WIDGET_METADATA_MISSING' | 'NESTED_WIDGET_KEY_MISSING';
13131
+ severity: 'warning' | 'error';
13132
+ ownerWidgetKey: string;
13133
+ nestedPath: ComponentPortPathSegment[];
13134
+ componentId?: string;
13135
+ message: string;
13136
+ }
13137
+ interface NestedPortCatalogResult {
13138
+ ports: ResolvedNestedPort[];
13139
+ diagnostics: NestedPortCatalogDiagnostic[];
13140
+ }
13141
+ declare class NestedPortCatalogService {
13142
+ private readonly accessor;
13143
+ constructor(accessor?: NestedWidgetConfigAccessor);
13144
+ resolve(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry): NestedPortCatalogResult;
13145
+ resolveEndpoint(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry, options: {
13146
+ ownerWidgetKey: string;
13147
+ nestedPath: ComponentPortPathSegment[];
13148
+ portId: string;
13149
+ direction: PortContract['direction'];
13150
+ }): ResolvedNestedPort | undefined;
13151
+ private hasStableTerminalKey;
13152
+ private containerPath;
13153
+ private isSamePath;
13154
+ private clone;
13155
+ }
13156
+
13157
+ type SemanticEndpointRef = EndpointRef & {
13158
+ ref: EndpointRef['ref'] & {
13159
+ semanticKind?: TransformSemanticKind;
13160
+ };
13161
+ };
13162
+ type SemanticCompositionLink = CompositionLink & {
13163
+ from: SemanticEndpointRef;
13164
+ to: SemanticEndpointRef;
13165
+ transform?: TransformPipeline;
13166
+ };
13167
+ interface CompositionValidatorContext {
13168
+ page?: Pick<WidgetPageDefinition, 'widgets'>;
13169
+ registry?: NestedPortCatalogRegistry;
13170
+ links?: SemanticCompositionLink[];
13171
+ }
13172
+ declare class CompositionValidatorService {
13173
+ private readonly nestedPortCatalog;
13174
+ private readonly jsonLogic;
13175
+ constructor(nestedPortCatalog?: NestedPortCatalogService, jsonLogic?: PraxisJsonLogicService);
13176
+ validateLink(link: SemanticCompositionLink, context?: CompositionValidatorContext): DiagnosticRecord[];
13177
+ private validateEndpointDirections;
13178
+ private validateBindingPathBridge;
13179
+ private validateNestedComponentEndpoints;
13180
+ private validateNestedPortCatalog;
13181
+ private projectCatalogDiagnostics;
13182
+ private validateNestedWidgetEventCoexistence;
13183
+ private validateStateWrites;
13184
+ private validateGlobalActionTarget;
13185
+ private validateCondition;
13186
+ private validateTransformCatalog;
13187
+ private validateSemanticCompatibility;
13188
+ private endpointSemanticKind;
13189
+ private areSemanticKindsCompatible;
13190
+ private areKindsDirectlyCompatible;
13191
+ private createDiagnostic;
13192
+ private formatNestedPath;
13193
+ private nestedEndpointSubject;
13194
+ private isSameNestedPath;
13195
+ }
13196
+
11061
13197
  interface CompositionRuntimeStoreInit {
11062
13198
  pageId?: string;
11063
13199
  status?: RuntimeSnapshotStatus;
@@ -11131,13 +13267,16 @@ interface LinkExecutionContext {
11131
13267
  lastDeliveredAt?: string;
11132
13268
  }
11133
13269
  interface LinkExecutionDelivery {
11134
- kind: 'state' | 'component-port';
13270
+ kind: 'state' | 'component-port' | 'global-action';
11135
13271
  value: unknown;
11136
13272
  statePath?: string;
11137
13273
  stateLayer?: 'values' | 'derived' | 'transient';
11138
13274
  widgetKey?: string;
11139
13275
  portId?: string;
11140
13276
  bindingPath?: string;
13277
+ nestedPath?: ComponentPortPathSegment[];
13278
+ actionId?: string;
13279
+ actionRef?: GlobalActionRef;
11141
13280
  }
11142
13281
  interface LinkExecutionResult {
11143
13282
  status: 'delivered' | 'skipped' | 'failed';
@@ -11207,6 +13346,7 @@ interface CompositionRuntimeEngineOptions {
11207
13346
  linkExecutor?: LinkExecutorService;
11208
13347
  stateRuntime?: WidgetPageStateRuntimeService;
11209
13348
  traceService?: RuntimeTraceService;
13349
+ compositionValidator?: CompositionValidatorService;
11210
13350
  }
11211
13351
  interface CompositionStateWidgetPreviewOptions {
11212
13352
  widgets?: WidgetInstance[];
@@ -11223,7 +13363,9 @@ declare class CompositionRuntimeEngine {
11223
13363
  private readonly linkExecutor;
11224
13364
  private readonly stateRuntime;
11225
13365
  private readonly traceService;
13366
+ private readonly compositionValidator;
11226
13367
  private readonly pathAccessor;
13368
+ private readonly nestedWidgetAccessor;
11227
13369
  private definition;
11228
13370
  private readonly now;
11229
13371
  constructor(options?: CompositionRuntimeEngineOptions);
@@ -11235,11 +13377,13 @@ declare class CompositionRuntimeEngine {
11235
13377
  private createLinkSnapshot;
11236
13378
  private applyBootstrapHydration;
11237
13379
  private materializeDerivedState;
13380
+ private validateComposition;
11238
13381
  private createDerivedDiagnostic;
11239
13382
  private clonePreviewWidgets;
11240
13383
  private cloneJson;
11241
13384
  private extractDerivedNodeKey;
11242
13385
  private appendDiagnosticTraceEntries;
13386
+ private createNestedWidgetEventBridgeDiagnostics;
11243
13387
  }
11244
13388
 
11245
13389
  interface CompositionRuntimeFacadeOptions {
@@ -11330,8 +13474,12 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11330
13474
  pageIdentity?: PageIdentity;
11331
13475
  /** Optional instance key for pages rendered multiple times. */
11332
13476
  componentInstanceId?: string;
13477
+ /** Enables a contextual authoring assistant entrypoint for the selected widget. */
13478
+ showWidgetAssistantButton: boolean;
11333
13479
  pageChange: EventEmitter<WidgetPageDefinition>;
11334
13480
  widgetEvent: EventEmitter<WidgetEventEnvelope>;
13481
+ widgetSelectionChange: EventEmitter<string | null>;
13482
+ widgetAssistantRequested: EventEmitter<string>;
11335
13483
  widgetDiagnosticsChange: EventEmitter<Record<string, WidgetResolutionDiagnostic>>;
11336
13484
  widgets: i0.WritableSignal<WidgetInstance[]>;
11337
13485
  renderedGroups: i0.WritableSignal<RenderedWidgetGroup[]>;
@@ -11350,7 +13498,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11350
13498
  private pageColumnCount;
11351
13499
  private activeTabs;
11352
13500
  private widgetDiagnostics;
11353
- private selectedCanvasWidgetKey;
13501
+ private selectedWidgetKey;
11354
13502
  private blockedCanvasWidgetKey;
11355
13503
  private canvasPreviewState;
11356
13504
  private canvasPreviewInvalidState;
@@ -11361,6 +13509,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11361
13509
  private persistenceReady;
11362
13510
  private warnedMissingKey;
11363
13511
  private runtimeEventSequence;
13512
+ private readonly widgetShellRenderCache;
11364
13513
  private readonly compositionFactory;
11365
13514
  private readonly compositionRuntime;
11366
13515
  private compositionDefinition?;
@@ -11372,6 +13521,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11372
13521
  private readonly route;
11373
13522
  private readonly conn;
11374
13523
  private readonly stateRuntime;
13524
+ private readonly nestedWidgetAccessor;
11375
13525
  private readonly settingsPanel;
11376
13526
  private readonly defaultShellEditor;
11377
13527
  private readonly defaultPageEditor;
@@ -11380,37 +13530,74 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11380
13530
  ngOnChanges(changes: SimpleChanges): void;
11381
13531
  onWidgetEvent(fromKey: string, evt: WidgetEventEnvelope): void;
11382
13532
  private applyWidgetInputPatchToPage;
13533
+ private resolveWidgetInputPatchNestedPath;
11383
13534
  private extractWidgetInputPatch;
11384
13535
  private buildStateRuntime;
11385
13536
  private bootstrapCompositionAdapter;
11386
13537
  private applyEditShellActions;
11387
- private withShellActions;
11388
13538
  private applyBootstrapCompositionHydration;
11389
13539
  private reportStateDiagnostics;
11390
13540
  private dispatchWidgetEventToComposition;
13541
+ private matchesRuntimeSourceRef;
13542
+ private matchesLegacyWidgetEventSource;
13543
+ private areNestedPathsEqual;
11391
13544
  private stateFromCompositionSnapshot;
11392
13545
  private applyCompositionWidgetDeliveries;
13546
+ private executeCompositionGlobalActionDeliveries;
13547
+ private resolveCompositionGlobalActionRef;
11393
13548
  private buildStateContext;
11394
13549
  private cloneStateValues;
11395
13550
  private cloneGrouping;
11396
13551
  private resolveShellTemplates;
13552
+ private enrichRuntimeWidgetInputs;
13553
+ private buildRichContentHostCapabilities;
13554
+ private dispatchRichContentAction;
13555
+ private isRichContentActionAvailable;
13556
+ private hasRichContentCapability;
11397
13557
  private resolveComponentBindingPath;
11398
13558
  private buildRuntimeEventId;
11399
- private shouldInjectEditShellActions;
11400
- private canOpenWidgetShellSettings;
13559
+ canOpenWidgetShellSettings(): boolean;
13560
+ canOpenWidgetComponentSettings(key: string): boolean;
13561
+ componentSettingsLabel(): string;
13562
+ componentSettingsTooltip(): string;
13563
+ widgetSettingsLabel(): string;
13564
+ widgetSettingsTooltip(): string;
13565
+ widgetAssistantLabel(): string;
13566
+ widgetAssistantTooltip(): string;
13567
+ requestWidgetAssistant(widgetKey: string): void;
13568
+ widgetRemoveLabel(): string;
13569
+ moreWidgetActionsLabel(): string;
13570
+ widgetContextToolbarLabel(widgetKey: string): string;
13571
+ widgetContextLabel(widget: WidgetInstance): string;
13572
+ widgetContextTooltip(widget: WidgetInstance): string;
13573
+ shouldRenderWidgetContextOverlay(widget: WidgetInstance): boolean;
13574
+ widgetShellForRender(widget: WidgetInstance): WidgetShellConfig | null | undefined;
13575
+ private resolveWidgetDisplayName;
13576
+ private shouldProjectWidgetHeaderActions;
13577
+ private hasVisibleWidgetShellHeader;
13578
+ private hasVisibleShellActions;
13579
+ private hasVisibleWindowActions;
13580
+ private buildProjectedWidgetShellActions;
13581
+ private widgetShellActionSignature;
13582
+ private isVisibleShellAction;
11401
13583
  private areStateValuesEqual;
11402
13584
  onWidgetDiagnostic(widgetKey: string, diagnostic: WidgetResolutionDiagnostic): void;
11403
13585
  onShellAction(fromKey: string, evt: WidgetShellActionEvent): void;
11404
13586
  private handleSetInputCommand;
11405
13587
  private mergeOrder;
11406
13588
  private maybeExecuteMappedAction;
11407
- private maybeExecuteGlobalCommand;
11408
13589
  private resolveActionPayload;
11409
13590
  private resolveTemplate;
11410
13591
  private lookup;
11411
13592
  openWidgetShellSettings(key: string): void;
11412
13593
  openWidgetComponentSettings(key: string): void;
11413
13594
  private applyWidgetComponentInputs;
13595
+ confirmAndRemoveWidget(widgetKey: string): Promise<void>;
13596
+ removeSelectedWidget(): void;
13597
+ removeSelectedCanvasWidget(): void;
13598
+ private removeWidgetReferences;
13599
+ private linkReferencesWidget;
13600
+ private endpointReferencesWidget;
11414
13601
  openPageSettings(): void;
11415
13602
  private applyWidgetShell;
11416
13603
  private applyPageLayout;
@@ -11434,8 +13621,14 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11434
13621
  private resolveDeviceKind;
11435
13622
  isCanvasMode(): boolean;
11436
13623
  shouldAutoWireOutputs(widget: WidgetInstance | RenderedWidgetInstance): boolean;
11437
- selectCanvasWidget(widgetKey: string): void;
13624
+ private hasCompositionOutputLinks;
13625
+ selectWidget(widgetKey: string): void;
13626
+ selectWidgetFromHostEvent(widgetKey: string, event: Event): void;
11438
13627
  isCanvasWidgetSelected(widgetKey: string): boolean;
13628
+ isWidgetSelected(widgetKey: string): boolean;
13629
+ private shouldPreserveInnerWidgetInteraction;
13630
+ selectCanvasWidget(widgetKey: string): void;
13631
+ getPageSnapshot(): WidgetPageDefinition;
11439
13632
  isCanvasWidgetBlocked(widgetKey: string): boolean;
11440
13633
  canvasPreviewItem(): WidgetPageCanvasItem | null;
11441
13634
  canvasPreviewGridColumn(): string | null;
@@ -11448,6 +13641,8 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11448
13641
  private applyWidgetLayoutOverrides;
11449
13642
  private applyCanvasLayoutToWidgets;
11450
13643
  private startCanvasInteraction;
13644
+ private cancelCanvasInteractionForWidget;
13645
+ private isCanvasOverlayInteraction;
11451
13646
  private currentCanvasMetrics;
11452
13647
  private currentCanvasItem;
11453
13648
  private resolveCanvasInteractionDelta;
@@ -11505,7 +13700,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11505
13700
  private sanitizeSegment;
11506
13701
  private assertNoLegacyConnections;
11507
13702
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetPageComponent, never>;
11508
- 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>;
13703
+ 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>;
11509
13704
  }
11510
13705
 
11511
13706
  /** Metadata for Praxis Dynamic Page component */
@@ -11515,7 +13710,7 @@ declare const PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA: ComponentDocMeta;
11515
13710
  */
11516
13711
  declare function providePraxisDynamicPageMetadata(): Provider;
11517
13712
 
11518
- declare class PraxisSurfaceHostComponent {
13713
+ declare class PraxisSurfaceHostComponent implements AfterViewInit, OnChanges {
11519
13714
  title?: string;
11520
13715
  subtitle?: string;
11521
13716
  icon?: string;
@@ -11527,6 +13722,11 @@ declare class PraxisSurfaceHostComponent {
11527
13722
  * modal/drawer hosts. Inline consumers may opt into rendering it again.
11528
13723
  */
11529
13724
  renderTitleInsideBody: boolean;
13725
+ private widgetLoader?;
13726
+ private renderQueued;
13727
+ ngAfterViewInit(): void;
13728
+ ngOnChanges(changes: SimpleChanges): void;
13729
+ private scheduleWidgetRender;
11530
13730
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisSurfaceHostComponent, never>;
11531
13731
  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>;
11532
13732
  }
@@ -11650,7 +13850,7 @@ declare function normalizeFormConfig(config: FormConfig): FormConfig;
11650
13850
 
11651
13851
  /** Minimal metadata about the backend schema source. */
11652
13852
  interface SchemaMetaInfo {
11653
- /** API path used to resolve the schema (e.g., /api/employees/all or /filter) */
13853
+ /** API path used to resolve the schema (e.g., /api/employees/filter) */
11654
13854
  path: string;
11655
13855
  /** Operation used when fetching the schema (get|post) */
11656
13856
  operation: string;
@@ -11724,6 +13924,12 @@ interface SchemaIdParams {
11724
13924
  }
11725
13925
  declare function normalizePath(p: string): string;
11726
13926
  declare function buildSchemaId(params: SchemaIdParams): string;
13927
+ /**
13928
+ * Produces a deterministic, storage-safe segment for places that impose short
13929
+ * identifier limits. This must not replace the semantic schemaId stored in
13930
+ * payloads or metadata.
13931
+ */
13932
+ declare function buildSchemaIdStorageKeySegment(schemaId: string): string;
11727
13933
 
11728
13934
  interface FetchWithEtagParams {
11729
13935
  url: string;
@@ -11903,5 +14109,5 @@ declare function provideFormHookPresets(presets: Array<FormHookPreset>): Provide
11903
14109
  /** Register a whitelist of allowed hook ids/patterns. */
11904
14110
  declare function provideHookWhitelist(allowed: Array<string | RegExp>): Provider[];
11905
14111
 
11906
- 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 };
11907
- 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 };
14112
+ 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, 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 };
14113
+ 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, 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 };