@praxisui/core 8.0.0-beta.9 → 8.0.0-beta.90

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,8 +1,9 @@
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';
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';
6
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';
@@ -76,6 +77,39 @@ interface LocateRequest {
76
77
  sort?: string[];
77
78
  }
78
79
 
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
+ }
79
113
  interface LookupSelectionPolicyMetadata {
80
114
  selectablePropertyPath?: string;
81
115
  statusPropertyPath?: string;
@@ -100,11 +134,145 @@ interface LookupCapabilitiesMetadata {
100
134
  interface LookupDetailMetadata {
101
135
  hrefTemplate?: string;
102
136
  routeTemplate?: string;
103
- openDetailMode?: 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;
104
148
  }
105
- interface OptionSourceMetadata {
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 {
106
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;
107
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;
108
276
  resourcePath?: string;
109
277
  filterField?: string;
110
278
  propertyPath?: string;
@@ -122,11 +290,37 @@ interface OptionSourceMetadata {
122
290
  selectionPolicy?: LookupSelectionPolicyMetadata;
123
291
  capabilities?: LookupCapabilitiesMetadata;
124
292
  detail?: LookupDetailMetadata;
293
+ create?: LookupCreateMetadata;
294
+ display?: EntityLookupDisplayMetadata;
295
+ filtering?: LookupFilteringMetadata;
125
296
  excludeSelfField?: boolean;
126
- searchMode?: string;
297
+ searchMode?: OptionSourceSearchMode;
127
298
  pageSize?: number;
128
299
  includeIds?: boolean;
129
- }
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;
130
324
 
131
325
  type RuleContextRoot = 'form' | 'row' | 'computed' | 'meta' | 'source' | 'event' | 'payload' | 'state' | 'context';
132
326
  type PraxisNativeJsonLogicOperator = 'var' | '==' | '===' | '!=' | '!==' | '>' | '>=' | '<' | '<=' | '!' | '!!' | 'and' | 'or' | 'if' | 'in' | 'cat' | 'substr' | '+' | '-' | '*' | '/' | '%' | 'min' | 'max' | 'merge' | 'map' | 'filter' | 'reduce' | 'all' | 'some' | 'none';
@@ -183,12 +377,15 @@ interface RichBlockRuleSet {
183
377
  expr: JsonLogicExpression;
184
378
  }>;
185
379
  }
380
+ type RichCapabilityMode = 'all' | 'any';
186
381
  interface RichBlockBaseNode extends RichBlockRuleSet {
187
382
  id?: string;
188
383
  testId?: string;
189
384
  className?: string;
190
385
  style?: Record<string, string | number>;
191
386
  bindings?: RichBlockContextConfig;
387
+ requiresCapabilities?: string[];
388
+ capabilityMode?: RichCapabilityMode;
192
389
  }
193
390
  interface RichTextNode extends RichBlockBaseNode {
194
391
  type: 'text';
@@ -207,6 +404,14 @@ interface RichImageNode extends RichBlockBaseNode {
207
404
  alt?: string;
208
405
  altExpr?: string;
209
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
+ }
210
415
  interface RichBadgeNode extends RichBlockBaseNode {
211
416
  type: 'badge';
212
417
  label?: string;
@@ -237,7 +442,23 @@ interface RichProgressNode extends RichBlockBaseNode {
237
442
  labelExpr?: string;
238
443
  showPercent?: boolean;
239
444
  }
240
- 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;
241
462
  interface RichComposeNode extends RichBlockBaseNode {
242
463
  type: 'compose';
243
464
  direction?: 'row' | 'column';
@@ -245,6 +466,39 @@ interface RichComposeNode extends RichBlockBaseNode {
245
466
  wrap?: boolean;
246
467
  items: RichPresenterNode[];
247
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
+ }
248
502
  interface RichCardNode extends RichBlockBaseNode {
249
503
  type: 'card';
250
504
  title?: string;
@@ -252,6 +506,303 @@ interface RichCardNode extends RichBlockBaseNode {
252
506
  subtitle?: string;
253
507
  subtitleExpr?: string;
254
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[];
255
806
  }
256
807
  interface RichMediaBlockNode extends RichBlockBaseNode {
257
808
  type: 'mediaBlock';
@@ -269,16 +820,37 @@ interface RichTimelineItem {
269
820
  subtitleExpr?: string;
270
821
  meta?: string;
271
822
  metaExpr?: string;
823
+ opposite?: string;
824
+ oppositeExpr?: string;
272
825
  icon?: string;
273
826
  iconExpr?: string;
274
827
  badge?: string;
275
828
  badgeExpr?: string;
276
- }
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';
277
841
  interface RichTimelineNode extends RichBlockBaseNode {
278
842
  type: 'timeline';
279
843
  title?: string;
280
844
  titleExpr?: string;
281
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;
282
854
  items: RichTimelineItem[];
283
855
  }
284
856
  type CorePresetKind = 'surface-open' | 'widget-page-layout' | 'widget-page-theme' | 'editorial-theme' | 'editorial-compliance' | 'editorial-solution' | 'rich-block';
@@ -308,6 +880,13 @@ interface CorePresetDiscoveryRegistry {
308
880
  }
309
881
  interface RichBlockHostCapabilities {
310
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;
311
890
  resolveEmbed?(kind: 'component' | 'templateRef' | 'formRef' | 'tableRef' | 'chartRef', ref: string, inputs?: Record<string, unknown>): unknown;
312
891
  resolvePreset?(ref: CorePresetRef): unknown;
313
892
  loadData?(request: {
@@ -320,7 +899,7 @@ interface RichBlockHostCapabilities {
320
899
  onLoadError?: 'hide' | 'error' | 'placeholder';
321
900
  };
322
901
  }
323
- 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;
324
903
  type RichBlockNode = RichPrimitiveNode | RichPresetReferenceNode;
325
904
  interface RichContentDocument {
326
905
  kind: 'praxis.rich-content';
@@ -328,8 +907,379 @@ interface RichContentDocument {
328
907
  context?: RichBlockContextConfig;
329
908
  nodes: RichBlockNode[];
330
909
  }
331
- declare function createEmptyRichContentDocument(): RichContentDocument;
910
+ declare function createEmptyRichContentDocument(): RichContentDocument;
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
+ selectedRows?: any[];
948
+ selectedIds?: Array<string | number>;
949
+ idField?: string;
950
+ formData?: any;
951
+ value?: any;
952
+ state?: any;
953
+ };
954
+ };
955
+ type GlobalActionHandler = (payload?: any, context?: GlobalActionContext) => Promise<GlobalActionResult> | GlobalActionResult;
956
+ interface GlobalActionHandlerEntry {
957
+ id: string;
958
+ handler: GlobalActionHandler;
959
+ }
960
+ interface GlobalDialogService {
961
+ alert: (payload: {
962
+ title?: string;
963
+ message?: string;
964
+ okLabel?: string;
965
+ variant?: string;
966
+ }) => Promise<any> | any;
967
+ confirm: (payload: {
968
+ title?: string;
969
+ message?: string;
970
+ confirmLabel?: string;
971
+ cancelLabel?: string;
972
+ type?: 'danger' | 'warning' | 'info';
973
+ }) => Promise<boolean> | boolean;
974
+ prompt: (payload: {
975
+ title?: string;
976
+ message?: string;
977
+ placeholder?: string;
978
+ defaultValue?: string;
979
+ okLabel?: string;
980
+ cancelLabel?: string;
981
+ }) => Promise<any> | any;
982
+ open: (payload: {
983
+ componentId?: string;
984
+ inputs?: any;
985
+ size?: any;
986
+ data?: any;
987
+ }) => Promise<any> | any;
988
+ }
989
+ interface GlobalToastService {
990
+ success: (message: string, opts?: any) => void;
991
+ error: (message: string, opts?: any) => void;
992
+ }
993
+ interface GlobalAnalyticsService {
994
+ track: (eventName: string, payload?: any) => void;
995
+ }
996
+ interface GlobalApiClient {
997
+ get: (url: string, params?: Record<string, any>) => Promise<any> | any;
998
+ post: (url: string, body?: any) => Promise<any> | any;
999
+ patch: (url: string, body?: any) => Promise<any> | any;
1000
+ }
1001
+ interface GlobalRouteGuardResolver {
1002
+ resolve: (guardId: string) => any;
1003
+ }
1004
+
1005
+ type PraxisExportFormat = 'excel' | 'pdf' | 'csv' | 'json' | 'print';
1006
+ type PraxisExportScope = 'auto' | 'selected' | 'filtered' | 'currentPage' | 'all';
1007
+ type PraxisCollectionComponentType = 'table' | 'list' | string;
1008
+ type PraxisCollectionSelectionMode = 'none' | 'single' | 'multiple';
1009
+ type PraxisExportSortDirection = 'asc' | 'desc';
1010
+ interface PraxisCollectionSelectionState<T = unknown> {
1011
+ mode: PraxisCollectionSelectionMode;
1012
+ keyField?: string;
1013
+ selectedKeys?: Array<string | number>;
1014
+ selectedItems?: T[];
1015
+ allMatchingSelected?: boolean;
1016
+ excludedKeys?: Array<string | number>;
1017
+ }
1018
+ interface PraxisCollectionExportLocalization {
1019
+ locale?: string;
1020
+ timeZone?: string;
1021
+ }
1022
+ interface PraxisCollectionExportFieldPresentation {
1023
+ semanticType?: string;
1024
+ format?: string;
1025
+ currency?: string;
1026
+ locale?: string;
1027
+ timeZone?: string;
1028
+ trueLabel?: string;
1029
+ falseLabel?: string;
1030
+ nullDisplay?: string;
1031
+ valueMapping?: Record<string, string>;
1032
+ }
1033
+ interface PraxisCollectionExportCsvOptions {
1034
+ delimiter?: ',' | ';' | '|' | '\t' | string;
1035
+ encoding?: 'utf-8' | 'utf-16' | 'iso-8859-1' | string;
1036
+ includeBom?: boolean;
1037
+ lineEnding?: 'crlf' | 'lf' | string;
1038
+ excelCompatibility?: boolean;
1039
+ includeSepDirective?: boolean;
1040
+ }
1041
+ interface PraxisCollectionExportExcelOptions {
1042
+ sheetName?: string;
1043
+ freezeHeaders?: boolean;
1044
+ autoFitColumns?: boolean;
1045
+ typedCells?: boolean;
1046
+ includeFormulas?: boolean;
1047
+ }
1048
+ interface PraxisCollectionExportFormatOptions {
1049
+ csv?: PraxisCollectionExportCsvOptions;
1050
+ excel?: PraxisCollectionExportExcelOptions;
1051
+ }
1052
+ interface PraxisCollectionExportField<T = unknown> {
1053
+ key: string;
1054
+ label?: string;
1055
+ visible?: boolean;
1056
+ exportable?: boolean;
1057
+ type?: string;
1058
+ valuePath?: string;
1059
+ format?: string;
1060
+ presentation?: PraxisCollectionExportFieldPresentation;
1061
+ valueGetter?: (item: T) => unknown;
1062
+ formatter?: (value: unknown, item: T) => unknown;
1063
+ }
1064
+ interface PraxisCollectionSortDescriptor {
1065
+ field: string;
1066
+ direction: PraxisExportSortDirection;
1067
+ }
1068
+ interface PraxisCollectionPaginationState {
1069
+ pageIndex?: number;
1070
+ pageNumber?: number;
1071
+ pageSize?: number;
1072
+ totalItems?: number;
1073
+ }
1074
+ interface PraxisCollectionExportSource<T = unknown> {
1075
+ loadedItems?: T[];
1076
+ resourcePath?: string;
1077
+ query?: Record<string, unknown>;
1078
+ filters?: unknown;
1079
+ sort?: PraxisCollectionSortDescriptor[] | unknown;
1080
+ pagination?: PraxisCollectionPaginationState | unknown;
1081
+ }
1082
+ interface PraxisCollectionExportRequest<T = unknown> extends PraxisCollectionExportSource<T> {
1083
+ componentType: PraxisCollectionComponentType;
1084
+ componentId?: string;
1085
+ format: PraxisExportFormat;
1086
+ scope: PraxisExportScope;
1087
+ selection?: PraxisCollectionSelectionState<T>;
1088
+ fields?: PraxisCollectionExportField<T>[];
1089
+ includeHeaders?: boolean;
1090
+ applyFormatting?: boolean;
1091
+ maxRows?: number;
1092
+ fileName?: string;
1093
+ formatOptions?: PraxisCollectionExportFormatOptions;
1094
+ localization?: PraxisCollectionExportLocalization;
1095
+ metadata?: Record<string, unknown>;
1096
+ }
1097
+ interface PraxisCollectionExportResult {
1098
+ status: 'completed' | 'deferred';
1099
+ format: PraxisExportFormat;
1100
+ scope: PraxisExportScope;
1101
+ fileName?: string;
1102
+ mimeType?: string;
1103
+ content?: string | Blob;
1104
+ downloadUrl?: string;
1105
+ jobId?: string;
1106
+ rowCount?: number;
1107
+ warnings?: string[];
1108
+ metadata?: Record<string, unknown>;
1109
+ }
1110
+ interface PraxisCollectionExportProvider {
1111
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportResult | Promise<PraxisCollectionExportResult>;
1112
+ }
1113
+ interface PraxisExportSecurityPolicy {
1114
+ escapeFormulaValues: boolean;
1115
+ formulaPrefixes: readonly string[];
1116
+ formulaEscapePrefix: string;
1117
+ }
1118
+ declare const PRAXIS_EXPORT_FORMULA_PREFIXES: readonly ["=", "+", "-", "@", "\t", "\r"];
1119
+ declare const PRAXIS_DEFAULT_EXPORT_SECURITY_POLICY: PraxisExportSecurityPolicy;
1120
+ declare function resolvePraxisExportScope<T>(request: PraxisCollectionExportRequest<T>): Exclude<PraxisExportScope, 'auto'>;
1121
+ declare function resolvePraxisCollectionExportItems<T>(request: PraxisCollectionExportRequest<T>): T[];
1122
+ declare function resolvePraxisExportFields<T>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportField<T>[];
1123
+ declare function readPraxisExportValue(item: unknown, path: string): unknown;
1124
+ declare function escapePraxisExportCell(value: unknown, policy?: PraxisExportSecurityPolicy): string;
1125
+ declare function serializePraxisCollectionToCsv<T>(request: PraxisCollectionExportRequest<T>, policy?: PraxisExportSecurityPolicy): string;
1126
+ declare function serializePraxisCollectionToJson<T>(request: PraxisCollectionExportRequest<T>): string;
1127
+ declare function hasPraxisCollectionExportArtifact(result: PraxisCollectionExportResult | null | undefined): boolean;
1128
+ declare function assertPraxisCollectionExportArtifact(result: PraxisCollectionExportResult | null | undefined): asserts result is PraxisCollectionExportResult;
1129
+
1130
+ type PraxisRuntimeEffectTrigger = 'on-condition-enter' | 'on-value-change' | 'while-true';
1131
+ interface PraxisEffectPolicy {
1132
+ trigger?: PraxisRuntimeEffectTrigger;
1133
+ distinct?: boolean;
1134
+ distinctBy?: string;
1135
+ debounceMs?: number;
1136
+ missingValuePolicy?: 'propagate-undefined' | 'skip' | 'use-default';
1137
+ errorPolicy?: 'diagnostic' | 'drop' | 'halt-page';
1138
+ runOnInitialEvaluation?: boolean;
1139
+ }
1140
+ interface PraxisRuntimeConditionalEffectRule<TEffect = unknown> extends PraxisConditionalRule<JsonLogicExpression | null> {
1141
+ id?: string;
1142
+ effects: TEffect[];
1143
+ policy?: PraxisEffectPolicy;
1144
+ priority?: number;
1145
+ enabled?: boolean;
1146
+ description?: string;
1147
+ }
1148
+ interface PraxisRuntimeGlobalActionEffect {
1149
+ id?: string;
1150
+ kind: 'global-action';
1151
+ globalAction: GlobalActionRef;
1152
+ }
1153
+ interface PraxisConditionalEffectDiagnostic {
1154
+ ruleId?: string;
1155
+ effectId?: string;
1156
+ code: 'missing-effect' | 'invalid-effect' | 'invalid-condition' | 'policy-blocked' | 'execution-failed';
1157
+ details?: string[];
1158
+ }
1159
+ interface PraxisEffectDistinctKeyInput {
1160
+ componentId?: string;
1161
+ ruleId?: string;
1162
+ effectId?: string;
1163
+ actionId?: string;
1164
+ contextKey?: string;
1165
+ distinctBy?: string;
1166
+ value?: unknown;
1167
+ }
1168
+ declare function isPraxisRuntimeGlobalActionEffect(value: unknown): value is PraxisRuntimeGlobalActionEffect;
1169
+ declare function normalizePraxisEffectPolicy(policy: PraxisEffectPolicy | null | undefined): PraxisEffectPolicy;
1170
+ declare function buildPraxisEffectDistinctKey(input: PraxisEffectDistinctKeyInput): string;
1171
+
1172
+ /**
1173
+ * Contratos compartilhados de discovery semantico consumidos pelo runtime Angular.
1174
+ *
1175
+ * `resourcePath` continua sendo o endereco operacional do recurso.
1176
+ * `resourceKey` representa a identidade semantica estavel devolvida pelo backend para
1177
+ * surfaces, actions e capabilities.
1178
+ *
1179
+ * O runtime usa `resourceKey` para preservar contexto semantico e gerar ids estaveis de
1180
+ * abertura, enquanto `resourcePath`, `path`, `method` e `schemaUrl` seguem responsaveis pelo
1181
+ * comportamento operacional.
1182
+ */
1183
+
1184
+ interface ResourceAvailabilityDecision {
1185
+ allowed: boolean;
1186
+ reason?: string | null;
1187
+ metadata?: Record<string, any>;
1188
+ }
1189
+ type ResourceSurfaceKind = 'FORM' | 'PARTIAL_FORM' | 'VIEW' | 'READ_PROJECTION';
1190
+ type ResourceSurfaceScope = 'COLLECTION' | 'ITEM';
1191
+ type ResourceSurfaceResponseCardinality = 'OBJECT' | 'COLLECTION' | 'PAGE' | 'VOID' | 'UNKNOWN';
1192
+ type ResourceActionScope = 'COLLECTION' | 'ITEM';
1193
+ type ResourceDiscoveryRel = 'surfaces' | 'actions' | 'capabilities';
1194
+ type ResourceCrudOperationId = 'create' | 'view' | 'edit' | 'delete';
1195
+ type ResourceCapabilityOperationId = ResourceCrudOperationId | 'export' | string;
1196
+ type ResourceExportMaxRows = Partial<Record<PraxisExportFormat, number>> & Record<string, number | undefined>;
1197
+ interface ResourceSurfaceCatalogItem {
1198
+ id: string;
1199
+ resourceKey: string;
1200
+ kind: ResourceSurfaceKind;
1201
+ scope: ResourceSurfaceScope;
1202
+ title: string;
1203
+ description?: string | null;
1204
+ intent?: string | null;
1205
+ operationId: string;
1206
+ path: string;
1207
+ method: string;
1208
+ schemaId: string;
1209
+ schemaUrl: string;
1210
+ responseCardinality?: ResourceSurfaceResponseCardinality | null;
1211
+ availability: ResourceAvailabilityDecision;
1212
+ order: number;
1213
+ tags: string[];
1214
+ }
1215
+ interface ResourceSurfaceCatalogResponse {
1216
+ resourceKey: string;
1217
+ resourcePath: string;
1218
+ group?: string | null;
1219
+ resourceId?: string | number | null;
1220
+ surfaces: ResourceSurfaceCatalogItem[];
1221
+ }
1222
+ interface ResourceActionCatalogItem {
1223
+ id: string;
1224
+ resourceKey: string;
1225
+ scope: ResourceActionScope;
1226
+ title: string;
1227
+ description?: string | null;
1228
+ operationId: string;
1229
+ path: string;
1230
+ method: string;
1231
+ requestSchemaId?: string | null;
1232
+ requestSchemaUrl?: string | null;
1233
+ responseSchemaId?: string | null;
1234
+ responseSchemaUrl?: string | null;
1235
+ availability: ResourceAvailabilityDecision;
1236
+ order: number;
1237
+ successMessage?: string | null;
1238
+ tags: string[];
1239
+ }
1240
+ interface ResourceActionCatalogResponse {
1241
+ resourceKey: string;
1242
+ resourcePath: string;
1243
+ group?: string | null;
1244
+ resourceId?: string | number | null;
1245
+ actions: ResourceActionCatalogItem[];
1246
+ }
1247
+ interface ResourceCapabilityOperation {
1248
+ id: ResourceCapabilityOperationId;
1249
+ supported: boolean;
1250
+ scope: ResourceSurfaceScope;
1251
+ preferredMethod?: string | null;
1252
+ preferredRel?: string | null;
1253
+ availability?: ResourceAvailabilityDecision | null;
1254
+ formats?: PraxisExportFormat[];
1255
+ scopes?: PraxisExportScope[];
1256
+ maxRows?: ResourceExportMaxRows;
1257
+ async?: boolean | null;
1258
+ }
1259
+ type ResourceCapabilityOperations = Partial<Record<ResourceCrudOperationId | 'export', ResourceCapabilityOperation>> & Record<string, ResourceCapabilityOperation | undefined>;
1260
+ interface ResourceCapabilitySnapshot {
1261
+ resourceKey: string;
1262
+ resourcePath: string;
1263
+ group?: string | null;
1264
+ resourceId?: string | number | null;
1265
+ canonicalOperations: Record<string, boolean>;
1266
+ operations?: ResourceCapabilityOperations;
1267
+ surfaces: ResourceSurfaceCatalogItem[];
1268
+ actions: ResourceActionCatalogItem[];
1269
+ }
1270
+ interface ResourceCapabilityDigest {
1271
+ source: 'schema-x-ui-resource';
1272
+ resourcePath: string;
1273
+ canonicalOperations: Record<string, boolean>;
1274
+ filterExpressionSupported: boolean;
1275
+ }
332
1276
 
1277
+ interface TableTooltipConfig {
1278
+ text?: string;
1279
+ position?: 'top' | 'right' | 'bottom' | 'left' | 'above' | 'below' | 'before' | 'after';
1280
+ bgColor?: string;
1281
+ delayMs?: number;
1282
+ }
333
1283
  /**
334
1284
  * Nova arquitetura modular do TableConfig v2.0
335
1285
  * Preparada para crescimento exponencial e alinhada com as 5 abas do editor
@@ -396,6 +1346,8 @@ interface ColumnDefinition {
396
1346
  };
397
1347
  /** Tipo do renderizador */
398
1348
  type: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose';
1349
+ /** Tooltip associado ao renderer efetivo da célula. */
1350
+ tooltip?: TableTooltipConfig;
399
1351
  /** Configuração de ícone (Material/SVG por nome) */
400
1352
  icon?: {
401
1353
  /** Nome fixo do ícone (ex.: 'check_circle') */
@@ -441,6 +1393,8 @@ interface ColumnDefinition {
441
1393
  variant?: 'filled' | 'outlined' | 'soft';
442
1394
  /** Ícone opcional dentro do badge */
443
1395
  icon?: string;
1396
+ /** Tooltip opcional associado ao indicador visual */
1397
+ tooltip?: TableTooltipConfig;
444
1398
  };
445
1399
  /** Link (sanitizado) */
446
1400
  link?: {
@@ -473,6 +1427,8 @@ interface ColumnDefinition {
473
1427
  color?: string;
474
1428
  icon?: string;
475
1429
  variant?: 'filled' | 'outlined' | 'soft';
1430
+ /** Tooltip opcional associado ao chip */
1431
+ tooltip?: TableTooltipConfig;
476
1432
  };
477
1433
  /** Barra de progresso leve */
478
1434
  progress?: {
@@ -495,9 +1451,12 @@ interface ColumnDefinition {
495
1451
  srcField?: string;
496
1452
  alt?: string;
497
1453
  altField?: string;
1454
+ initialsField?: string;
498
1455
  initialsExpr?: string;
499
1456
  shape?: 'square' | 'rounded' | 'circle';
500
1457
  size?: number;
1458
+ backgroundColor?: string;
1459
+ textColor?: string;
501
1460
  };
502
1461
  /** Alternância (toggle) com ação */
503
1462
  toggle?: {
@@ -553,6 +1512,7 @@ interface ColumnDefinition {
553
1512
  color?: string;
554
1513
  variant?: 'filled' | 'outlined' | 'soft';
555
1514
  icon?: string;
1515
+ tooltip?: TableTooltipConfig;
556
1516
  };
557
1517
  } | {
558
1518
  type: 'link';
@@ -587,6 +1547,7 @@ interface ColumnDefinition {
587
1547
  color?: string;
588
1548
  icon?: string;
589
1549
  variant?: 'filled' | 'outlined' | 'soft';
1550
+ tooltip?: TableTooltipConfig;
590
1551
  };
591
1552
  } | {
592
1553
  type: 'progress';
@@ -602,9 +1563,12 @@ interface ColumnDefinition {
602
1563
  srcField?: string;
603
1564
  alt?: string;
604
1565
  altField?: string;
1566
+ initialsField?: string;
605
1567
  initialsExpr?: string;
606
1568
  shape?: 'square' | 'rounded' | 'circle';
607
1569
  size?: number;
1570
+ backgroundColor?: string;
1571
+ textColor?: string;
608
1572
  };
609
1573
  } | {
610
1574
  type: 'toggle';
@@ -651,8 +1615,14 @@ interface ColumnDefinition {
651
1615
  };
652
1616
  /** Overrides condicionais do renderer por linha (first‑match wins) */
653
1617
  conditionalRenderers?: Array<{
1618
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
1619
+ id?: string;
654
1620
  condition: JsonLogicExpression | null;
655
- renderer: Partial<ColumnDefinition['renderer']>;
1621
+ renderer?: Partial<ColumnDefinition['renderer']>;
1622
+ /** Tooltip condicional aplicado quando a regra vencer. */
1623
+ tooltip?: TableTooltipConfig;
1624
+ /** Efeitos visuais canonicos que podem produzir renderer, tooltip ou animacao. */
1625
+ effects?: Array<Record<string, unknown>>;
656
1626
  description?: string;
657
1627
  enabled?: boolean;
658
1628
  }>;
@@ -661,11 +1631,16 @@ interface ColumnDefinition {
661
1631
  * Cada regra contém uma expressão canônica em `condition` e o efeito visual a aplicar.
662
1632
  */
663
1633
  conditionalStyles?: Array<{
1634
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
1635
+ id?: string;
664
1636
  condition: JsonLogicExpression | null;
1637
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
1638
+ effects?: Array<Record<string, unknown>>;
665
1639
  cssClass?: string;
666
1640
  style?: {
667
1641
  [key: string]: string;
668
1642
  };
1643
+ tooltip?: Record<string, unknown>;
669
1644
  description?: string;
670
1645
  }>;
671
1646
  /** Estado serializado do construtor visual de regras (round‑trip) */
@@ -723,6 +1698,8 @@ interface TableBehaviorConfig {
723
1698
  sorting?: SortingConfig;
724
1699
  /** Configurações de filtragem */
725
1700
  filtering?: FilteringConfig;
1701
+ /** Configurações de agrupamento de linhas */
1702
+ grouping?: GroupingConfig;
726
1703
  /** Configurações de seleção de linhas */
727
1704
  selection?: SelectionConfig;
728
1705
  /** Configurações de interação do usuário */
@@ -957,6 +1934,14 @@ interface SortingConfig {
957
1934
  preserveSort?: boolean;
958
1935
  };
959
1936
  }
1937
+ interface GroupingConfig {
1938
+ /** Habilitar agrupamento */
1939
+ enabled: boolean;
1940
+ /** Campos usados para agrupamento */
1941
+ fields: string[];
1942
+ /** Se os grupos iniciam expandidos */
1943
+ expanded?: boolean;
1944
+ }
960
1945
  interface FilteringConfig {
961
1946
  /** Habilitar filtragem */
962
1947
  enabled: boolean;
@@ -1331,6 +2316,8 @@ interface ToolbarConfig {
1331
2316
  actionsPosition?: 'top' | 'bottom' | 'both';
1332
2317
  /** Cor de fundo da barra de ações */
1333
2318
  actionsBackgroundColor?: string;
2319
+ /** Aparência governada da barra de ferramentas */
2320
+ appearance?: TableToolbarAppearanceConfig;
1334
2321
  /** Configurações de layout */
1335
2322
  layout?: ToolbarLayoutConfig;
1336
2323
  /** Título da tabela */
@@ -1344,6 +2331,25 @@ interface ToolbarConfig {
1344
2331
  /** Menu de configurações */
1345
2332
  settingsMenu?: ToolbarSettingsConfig;
1346
2333
  }
2334
+ type TableToolbarAppearanceVariant = 'flat' | 'outlined' | 'elevated' | 'integrated';
2335
+ type TableToolbarAppearanceDensity = 'compact' | 'comfortable' | 'spacious';
2336
+ type TableToolbarAppearanceShape = 'square' | 'rounded' | 'pill';
2337
+ type TableToolbarAppearanceDivider = 'none' | 'start' | 'between-groups';
2338
+ type TableToolbarTokenName = 'bg' | 'fg' | 'borderColor' | 'borderWidth' | 'radius' | 'shadow' | 'paddingBlock' | 'paddingInline' | 'minHeight' | 'gap' | 'actionsGap' | 'dividerColor' | 'actionSize' | 'actionRadius' | 'actionBg' | 'actionFg' | 'actionHoverBg' | 'actionActiveBg' | 'actionFocusRing' | 'aiAccentColor' | 'statusFg';
2339
+ interface TableToolbarAppearanceConfig {
2340
+ /** Preset registrado pelo host via @praxisui/table */
2341
+ preset?: string;
2342
+ /** Variante visual canônica da toolbar */
2343
+ variant?: TableToolbarAppearanceVariant;
2344
+ /** Densidade visual da toolbar */
2345
+ density?: TableToolbarAppearanceDensity;
2346
+ /** Forma dos containers e botões */
2347
+ shape?: TableToolbarAppearanceShape;
2348
+ /** Política de divisores entre regiões */
2349
+ divider?: TableToolbarAppearanceDivider;
2350
+ /** Tokens CSS públicos materializados pelo runtime */
2351
+ tokens?: Partial<Record<TableToolbarTokenName, string>>;
2352
+ }
1347
2353
  interface ToolbarLayoutConfig {
1348
2354
  /** Alinhamento do conteúdo */
1349
2355
  alignment: 'start' | 'center' | 'end' | 'space-between';
@@ -1373,6 +2379,10 @@ interface ToolbarAction {
1373
2379
  disabled?: boolean;
1374
2380
  /** Função a executar */
1375
2381
  action: string;
2382
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2383
+ globalAction?: GlobalActionRef;
2384
+ /** Efeitos runtime canonicos executados quando a acao da toolbar e acionada */
2385
+ effects?: PraxisRuntimeGlobalActionEffect[];
1376
2386
  /** Tooltip */
1377
2387
  tooltip?: string;
1378
2388
  /** Tecla de atalho */
@@ -1385,6 +2395,8 @@ interface ToolbarAction {
1385
2395
  order?: number;
1386
2396
  /** Visibilidade condicional */
1387
2397
  visibleWhen?: JsonLogicExpression | null;
2398
+ /** Desabilitacao condicional */
2399
+ disabledWhen?: JsonLogicExpression | null;
1388
2400
  /** Sub-ações (para menus) */
1389
2401
  children?: ToolbarAction[];
1390
2402
  }
@@ -1442,6 +2454,11 @@ interface RowActionsConfig {
1442
2454
  menuIcon?: string;
1443
2455
  /** Cor do botão do menu de ações (overflow) */
1444
2456
  menuButtonColor?: 'basic' | 'primary' | 'accent' | 'warn';
2457
+ /** Descoberta HATEOAS/capabilities para enriquecer ações de linha */
2458
+ discovery?: {
2459
+ /** Habilitar descoberta contextual de actions/capabilities para a linha */
2460
+ enabled?: boolean;
2461
+ };
1445
2462
  /** Configurações do cabeçalho da coluna de ações */
1446
2463
  header?: {
1447
2464
  /** Texto exibido no cabeçalho (ex.: "Ações") */
@@ -1483,6 +2500,12 @@ interface RowAction {
1483
2500
  disabled?: boolean;
1484
2501
  /** Função a executar */
1485
2502
  action: string;
2503
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2504
+ globalAction?: GlobalActionRef;
2505
+ /** Efeitos runtime canonicos executados quando a acao por linha e acionada */
2506
+ effects?: PraxisRuntimeGlobalActionEffect[];
2507
+ /** Surface de registro canonica aberta por esta acao de linha */
2508
+ recordSurface?: ResourceSurfaceCatalogItem;
1486
2509
  /** Tooltip */
1487
2510
  tooltip?: string;
1488
2511
  /** Requer confirmação */
@@ -1521,6 +2544,10 @@ interface BulkAction {
1521
2544
  color?: string;
1522
2545
  /** Função a executar */
1523
2546
  action: string;
2547
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2548
+ globalAction?: GlobalActionRef;
2549
+ /** Efeitos runtime canonicos executados quando a acao em lote e acionada */
2550
+ effects?: PraxisRuntimeGlobalActionEffect[];
1524
2551
  /** Requer confirmação */
1525
2552
  requiresConfirmation?: boolean;
1526
2553
  /** Mínimo de itens selecionados */
@@ -1750,14 +2777,12 @@ interface ExportConfig {
1750
2777
  /** Templates personalizados */
1751
2778
  templates?: ExportTemplate[];
1752
2779
  }
1753
- type ExportFormat = 'excel' | 'pdf' | 'csv' | 'json' | 'print';
2780
+ type ExportFormat = PraxisExportFormat;
1754
2781
  interface GeneralExportConfig {
1755
2782
  /** Incluir cabeçalhos */
1756
2783
  includeHeaders: boolean;
1757
- /** Incluir filtros aplicados na exportação */
1758
- respectFilters: boolean;
1759
- /** Incluir apenas linhas selecionadas */
1760
- selectedRowsOnly?: boolean;
2784
+ /** Escopo canônico dos dados exportados */
2785
+ scope: PraxisExportScope;
1761
2786
  /** Máximo de linhas para exportar */
1762
2787
  maxRows?: number;
1763
2788
  /** Nome do arquivo padrão */
@@ -2279,12 +3304,26 @@ interface TableConfigV2 {
2279
3304
  */
2280
3305
  rowConditionalStyles?: Array<{
2281
3306
  condition: JsonLogicExpression | null;
3307
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
3308
+ effects?: Array<Record<string, unknown>>;
2282
3309
  cssClass?: string;
2283
3310
  style?: {
2284
3311
  [key: string]: string;
2285
3312
  };
2286
3313
  description?: string;
2287
3314
  }>;
3315
+ /** Regras condicionais de linha para tooltip e animacao derivados de efeitos visuais. */
3316
+ rowConditionalRenderers?: Array<{
3317
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
3318
+ id?: string;
3319
+ condition: JsonLogicExpression | null;
3320
+ tooltip?: Record<string, unknown>;
3321
+ animation?: Record<string, unknown>;
3322
+ /** Efeitos visuais canonicos que podem produzir tooltip ou animacao de linha. */
3323
+ effects?: Array<Record<string, unknown>>;
3324
+ description?: string;
3325
+ enabled?: boolean;
3326
+ }>;
2288
3327
  /** Estado serializado do construtor para regras de linha (round‑trip) */
2289
3328
  _rowStyleRulesState?: any;
2290
3329
  }
@@ -2398,6 +3437,7 @@ declare const FieldControlType: {
2398
3437
  readonly INLINE_ENTITY_LOOKUP: "inlineEntityLookup";
2399
3438
  readonly INLINE_AUTOCOMPLETE: "inlineAutocomplete";
2400
3439
  readonly INLINE_INPUT: "inlineInput";
3440
+ readonly INLINE_PHONE: "inlinePhone";
2401
3441
  readonly INLINE_NUMBER: "inlineNumber";
2402
3442
  readonly INLINE_CURRENCY: "inlineCurrency";
2403
3443
  readonly INLINE_CURRENCY_RANGE: "inlineCurrencyRange";
@@ -2628,8 +3668,6 @@ interface FieldArrayOperations {
2628
3668
  add?: boolean;
2629
3669
  edit?: boolean;
2630
3670
  remove?: boolean;
2631
- duplicate?: boolean;
2632
- reorder?: boolean;
2633
3671
  [key: string]: any;
2634
3672
  }
2635
3673
  interface FieldArrayCollectionValidation {
@@ -2653,8 +3691,8 @@ interface FieldArrayCollectionValidation {
2653
3691
  [key: string]: any;
2654
3692
  }
2655
3693
  interface FieldArrayConfig {
2656
- itemType?: 'object' | 'string' | 'number' | 'boolean' | string;
2657
- mode?: 'chips' | 'rows' | 'cards' | 'accordion' | 'table' | 'drawer' | 'wizard' | string;
3694
+ itemType?: 'object';
3695
+ mode?: 'cards';
2658
3696
  itemSchemaRef?: string;
2659
3697
  itemIdentityField?: string;
2660
3698
  minItems?: number;
@@ -2662,10 +3700,8 @@ interface FieldArrayConfig {
2662
3700
  addLabel?: string;
2663
3701
  emptyState?: string;
2664
3702
  itemTitleTemplate?: string;
2665
- sortable?: boolean;
2666
3703
  operations?: FieldArrayOperations;
2667
- deleteMode?: 'removeFromPayload' | 'markForDeletion' | 'emitDeletedIds' | string;
2668
- itemStateTracking?: boolean;
3704
+ deleteMode?: 'removeFromPayload';
2669
3705
  itemSchema?: {
2670
3706
  fields?: FieldMetadata[];
2671
3707
  properties?: Record<string, any>;
@@ -3250,13 +4286,28 @@ declare class SchemaNormalizerService {
3250
4286
  private parseBoolean;
3251
4287
  /** Ensure an array of strings from various inputs. */
3252
4288
  private parseStringArray;
4289
+ private parseNonBlankStringArray;
3253
4290
  private parseStringRecord;
3254
4291
  private parseSelectionPolicy;
3255
4292
  private parseLookupCapabilities;
3256
4293
  private parseLookupDetail;
4294
+ private parseLookupDisplay;
4295
+ private parseLookupDisplayField;
4296
+ private parseLookupCreate;
4297
+ private parseLookupFilterOperatorArray;
4298
+ private parseLookupSortDirection;
4299
+ private parseLookupDialogSize;
4300
+ private parseLookupDialog;
4301
+ private parseLookupResultColumn;
4302
+ private parseLookupFilterDefinition;
4303
+ private parseDefaultFilters;
4304
+ private parseLookupFiltering;
3257
4305
  /** Parse option arrays into `{ key, value }` objects. */
3258
4306
  private parseOptions;
3259
4307
  private parseOptionSource;
4308
+ private parseOptionSourceType;
4309
+ private parseOptionSourceSearchMode;
4310
+ private parseLookupOpenDetailMode;
3260
4311
  private parseValuePresentation;
3261
4312
  /**
3262
4313
  * Converte string/Function em função real.
@@ -3326,7 +4377,7 @@ type LegacyTableConfig = TableConfig;
3326
4377
  /**
3327
4378
  * @deprecated Use createDefaultTableConfig instead
3328
4379
  */
3329
- declare const DEFAULT_TABLE_CONFIG: TableConfigV2;
4380
+ declare const DEFAULT_TABLE_CONFIG: _praxisui_core.TableConfigModern;
3330
4381
 
3331
4382
  type GlobalDialogAriaRole = 'dialog' | 'alertdialog';
3332
4383
  interface GlobalDialogPosition {
@@ -3648,6 +4699,8 @@ interface OptionSourceRequestOptions<ID = string | number> extends CrudOperation
3648
4699
  includeIds?: ID[];
3649
4700
  observeVersionHeader?: boolean;
3650
4701
  search?: string;
4702
+ sortKey?: string;
4703
+ filters?: LookupFilterRequest[];
3651
4704
  }
3652
4705
  interface BatchDeleteProgress<ID = string | number> {
3653
4706
  id: ID;
@@ -3703,6 +4756,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3703
4756
  private _schemaCache?;
3704
4757
  private schemaCacheReady?;
3705
4758
  private _lastResourceMeta;
4759
+ private _lastResourceCapabilityDigest;
3706
4760
  private _lastSchemaInfo;
3707
4761
  /**
3708
4762
  * Cria a instância do serviço genérico.
@@ -3739,10 +4793,10 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3739
4793
  * Fluxo de schemas (grid e filtro)
3740
4794
  *
3741
4795
  * - Grid/Lista (colunas e metadados do DTO principal):
3742
- * 1) getSchema() chama GET {resource}/schemas (ex.: /api/human-resources/funcionarios/schemas)
3743
- * 2) O backend responde 302 para /schemas/filtered com query params:
3744
- * - path: {basePath}/all (ex.: /api/human-resources/funcionarios/all)
3745
- * - operation: get
4796
+ * 1) getSchema() deriva a superfície canônica de busca/listagem do recurso
4797
+ * 2) Em seguida chama /schemas/filtered com query params:
4798
+ * - path: {basePath}/filter (ex.: /api/human-resources/funcionarios/filter)
4799
+ * - operation: post
3746
4800
  * - schemaType: response
3747
4801
  * 3) O serviço normaliza o schema retornado (x-ui) para montagem de grids e formulários.
3748
4802
  *
@@ -3760,8 +4814,8 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3760
4814
  * Obtém o schema (metadados) do recurso, útil para construção dinâmica de grids e formulários.
3761
4815
  *
3762
4816
  * Fluxo:
3763
- * - Faz GET {resource}/schemas; o backend redireciona (302) para /schemas/filtered
3764
- * com path={basePath}/all, operation=get, schemaType=response.
4817
+ * - Chama /schemas/filtered para a superfície canônica de busca/listagem:
4818
+ * path={basePath}/filter, operation=post, schemaType=response.
3765
4819
  * - O resultado é normalizado e usado para montar colunas de grid e formulários (x-ui).
3766
4820
  *
3767
4821
  * Exemplo:
@@ -3771,9 +4825,13 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3771
4825
  * ```
3772
4826
  */
3773
4827
  getSchema(options?: CrudOperationOptions): Observable<FieldDefinition[]>;
4828
+ private updateLastResourceMetadataFromSchema;
4829
+ private normalizeCanonicalCapabilities;
4830
+ private shouldRememberFilteredSchemaEndpointUnavailable;
3774
4831
  private fetchDirectSchema;
3775
4832
  /** Retorna o campo identificador do recurso (ex.: 'id', 'codigo'), quando derivado do schema. */
3776
4833
  getResourceIdField(): string | undefined;
4834
+ getResourceCapabilityDigest(): ResourceCapabilityDigest | null;
3777
4835
  /** Retorna o último schemaId e hash conhecidos após getSchema()/getFilteredSchema(). */
3778
4836
  getLastSchemaInfo(): {
3779
4837
  schemaId?: string;
@@ -4017,6 +5075,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
4017
5075
  * @throws Error quando o ID é obrigatório mas não fornecido, ou quando o serviço não está configurado
4018
5076
  */
4019
5077
  private getEndpointUrl;
5078
+ private resolveEntityEndpointTemplate;
4020
5079
  private getResourceBaseUrl;
4021
5080
  /**
4022
5081
  * Resolve `/schemas/filtered` base URL honoring ApiUrlConfig (supports APIs on another origin).
@@ -4034,6 +5093,9 @@ declare class GenericCrudService<T, ID extends string | number = string | number
4034
5093
  private resolveRangeAliases;
4035
5094
  private findExistingKey;
4036
5095
  private normalizeRangeBound;
5096
+ private isDateValue;
5097
+ private formatDateOnly;
5098
+ private tryParseLocalizedRangeNumber;
4037
5099
  private isRangeValue;
4038
5100
  private isPlainObject;
4039
5101
  private updateRangeFieldHints;
@@ -4121,39 +5183,39 @@ declare class TableConfigService {
4121
5183
  /**
4122
5184
  * Obtém configuração de paginação
4123
5185
  */
4124
- getPaginationConfig(): PaginationConfig | undefined;
5186
+ getPaginationConfig(): _praxisui_core.PaginationConfig | undefined;
4125
5187
  /**
4126
5188
  * Obtém configuração de ordenação
4127
5189
  */
4128
- getSortingConfig(): SortingConfig | undefined;
5190
+ getSortingConfig(): _praxisui_core.SortingConfig | undefined;
4129
5191
  /**
4130
5192
  * Obtém configuração de filtragem
4131
5193
  */
4132
- getFilteringConfig(): FilteringConfig | undefined;
5194
+ getFilteringConfig(): _praxisui_core.FilteringConfig | undefined;
4133
5195
  /**
4134
5196
  * Obtém configuração de seleção
4135
5197
  */
4136
- getSelectionConfig(): SelectionConfig | undefined;
5198
+ getSelectionConfig(): _praxisui_core.SelectionConfig | undefined;
4137
5199
  /**
4138
5200
  * Obtém configuração da toolbar
4139
5201
  */
4140
- getToolbarConfig(): ToolbarConfig | undefined;
5202
+ getToolbarConfig(): _praxisui_core.ToolbarConfig | undefined;
4141
5203
  /**
4142
5204
  * Obtém configuração de ações
4143
5205
  */
4144
- getActionsConfig(): TableActionsConfig | undefined;
5206
+ getActionsConfig(): _praxisui_core.TableActionsConfig | undefined;
4145
5207
  /**
4146
5208
  * Obtém configuração de aparência
4147
5209
  */
4148
- getAppearanceConfig(): TableAppearanceConfig | undefined;
5210
+ getAppearanceConfig(): _praxisui_core.TableAppearanceConfig | undefined;
4149
5211
  /**
4150
5212
  * Obtém configuração de mensagens
4151
5213
  */
4152
- getMessagesConfig(): MessagesConfig | undefined;
5214
+ getMessagesConfig(): _praxisui_core.MessagesConfig | undefined;
4153
5215
  /**
4154
5216
  * Obtém configuração de localização
4155
5217
  */
4156
- getLocalizationConfig(): LocalizationConfig | undefined;
5218
+ getLocalizationConfig(): _praxisui_core.LocalizationConfig | undefined;
4157
5219
  /**
4158
5220
  * Reset para configuração padrão
4159
5221
  */
@@ -4361,74 +5423,6 @@ declare class ApiConfigStorage implements AsyncConfigStorage {
4361
5423
  static ɵprov: i0.ɵɵInjectableDeclaration<ApiConfigStorage>;
4362
5424
  }
4363
5425
 
4364
- type GlobalActionResult = {
4365
- success: boolean;
4366
- data?: any;
4367
- error?: string;
4368
- };
4369
- type GlobalActionContext = {
4370
- sourceId?: string;
4371
- widgetKey?: string;
4372
- output?: string;
4373
- payload?: any;
4374
- pageContext?: Record<string, any> | null;
4375
- meta?: Record<string, any>;
4376
- runtime?: {
4377
- row?: any;
4378
- item?: any;
4379
- selection?: any;
4380
- formData?: any;
4381
- value?: any;
4382
- state?: any;
4383
- };
4384
- };
4385
- type GlobalActionHandler = (payload?: any, context?: GlobalActionContext) => Promise<GlobalActionResult> | GlobalActionResult;
4386
- interface GlobalActionHandlerEntry {
4387
- id: string;
4388
- handler: GlobalActionHandler;
4389
- }
4390
- interface GlobalDialogService {
4391
- alert: (payload: {
4392
- title?: string;
4393
- message?: string;
4394
- variant?: string;
4395
- }) => Promise<any> | any;
4396
- confirm: (payload: {
4397
- title?: string;
4398
- message?: string;
4399
- confirmLabel?: string;
4400
- cancelLabel?: string;
4401
- type?: 'danger' | 'warning' | 'info';
4402
- }) => Promise<boolean> | boolean;
4403
- prompt: (payload: {
4404
- title?: string;
4405
- message?: string;
4406
- placeholder?: string;
4407
- defaultValue?: string;
4408
- }) => Promise<any> | any;
4409
- open: (payload: {
4410
- componentId?: string;
4411
- inputs?: any;
4412
- size?: any;
4413
- data?: any;
4414
- }) => Promise<any> | any;
4415
- }
4416
- interface GlobalToastService {
4417
- success: (message: string, opts?: any) => void;
4418
- error: (message: string, opts?: any) => void;
4419
- }
4420
- interface GlobalAnalyticsService {
4421
- track: (eventName: string, payload?: any) => void;
4422
- }
4423
- interface GlobalApiClient {
4424
- get: (url: string, params?: Record<string, any>) => Promise<any> | any;
4425
- post: (url: string, body?: any) => Promise<any> | any;
4426
- patch: (url: string, body?: any) => Promise<any> | any;
4427
- }
4428
- interface GlobalRouteGuardResolver {
4429
- resolve: (guardId: string) => any;
4430
- }
4431
-
4432
5426
  declare class GlobalActionService {
4433
5427
  private readonly handlers;
4434
5428
  private readonly router;
@@ -4446,9 +5440,16 @@ declare class GlobalActionService {
4446
5440
  register(id: string, handler: GlobalActionHandler): void;
4447
5441
  has(id: string): boolean;
4448
5442
  execute(id: string, payload?: any, context?: GlobalActionContext): Promise<GlobalActionResult>;
5443
+ executeRef(ref: GlobalActionRef | null | undefined, context?: GlobalActionContext): Promise<GlobalActionResult>;
5444
+ private resolvePayloadExpr;
5445
+ private lookupPath;
4449
5446
  private registerBuiltins;
4450
5447
  private handleApi;
5448
+ private handleNavigationOpenRoute;
4451
5449
  private handleRouteRegister;
5450
+ private buildNavigationUrl;
5451
+ private buildQueryString;
5452
+ private buildFragment;
4452
5453
  static ɵfac: i0.ɵɵFactoryDeclaration<GlobalActionService, never>;
4453
5454
  static ɵprov: i0.ɵɵInjectableDeclaration<GlobalActionService>;
4454
5455
  }
@@ -4504,13 +5505,16 @@ interface SurfaceOpenPayload {
4504
5505
 
4505
5506
  declare class SurfaceBindingRuntimeService {
4506
5507
  resolveWidget(widget: WidgetDefinition, bindings: SurfaceBinding[] | undefined, actionPayload?: any, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): WidgetDefinition;
5508
+ resolveSurfacePayload<T extends SurfaceOpenPayload>(surfacePayload: T, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): T;
4507
5509
  extractByPath(obj: any, path?: string): any;
4508
- resolveTemplate(node: any, context: any, key?: string): any;
5510
+ resolveTemplate(node: any, context: any, key?: string, path?: string[]): any;
4509
5511
  private isDeferredTemplateExpressionKey;
5512
+ private tryParseStructuredTemplate;
4510
5513
  setValueAtPath<T extends object>(obj: T, rawPath: string, value: any): T;
4511
5514
  private buildContext;
4512
5515
  private resolveBindingValue;
4513
5516
  private normalizeTargetPath;
5517
+ private normalizeWidgetTargetPath;
4514
5518
  private tokenizePath;
4515
5519
  private clone;
4516
5520
  static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceBindingRuntimeService, never>;
@@ -5296,12 +6300,14 @@ interface MaterialSelectMetadata extends FieldMetadata {
5296
6300
  /** Inline/runtime compatibility for selected option icon color. */
5297
6301
  optionSelectedIconColor?: string;
5298
6302
  }
5299
- interface MaterialEntityLookupMetadata extends Omit<MaterialSelectMetadata, 'controlType'> {
6303
+ interface MaterialEntityLookupMetadata extends Omit<MaterialSelectMetadata, 'controlType' | 'multiple' | 'maxSelections'>, EntityLookupDisplayMetadata, EntityLookupCollectionMetadata {
5300
6304
  controlType: typeof FieldControlType.ENTITY_LOOKUP | typeof FieldControlType.INLINE_ENTITY_LOOKUP;
5301
6305
  lookupIdKey?: string;
5302
6306
  lookupLabelKey?: string;
5303
6307
  lookupSubtitleKey?: string;
5304
6308
  lookupSeparator?: string;
6309
+ payloadMode?: EntityLookupPayloadMode;
6310
+ dialog?: LookupDialogMetadata;
5305
6311
  searchPlaceholder?: string;
5306
6312
  resetLabel?: string;
5307
6313
  ariaLabel?: string;
@@ -5360,9 +6366,28 @@ interface MaterialButtonToggleMetadata extends FieldMetadata {
5360
6366
  /** Toggle button options */
5361
6367
  toggleOptions?: Array<{
5362
6368
  value: any;
5363
- text: string;
6369
+ text?: string;
5364
6370
  label?: string;
6371
+ disabled?: boolean;
5365
6372
  }>;
6373
+ /** Allow multiple selected toggle buttons */
6374
+ multiple?: boolean;
6375
+ /** Maximum selected options when multiple is enabled */
6376
+ maxSelections?: number;
6377
+ /** Button toggle appearance */
6378
+ appearance?: 'legacy' | 'standard';
6379
+ /** Theme color */
6380
+ color?: ThemePalette;
6381
+ /** Backend resource for dynamic option loading */
6382
+ resourcePath?: string;
6383
+ /** Canonical metadata-driven source for derived options */
6384
+ optionSource?: OptionSourceMetadata;
6385
+ /** Additional filter criteria for backend requests */
6386
+ filterCriteria?: Record<string, any>;
6387
+ /** Key for option label when loading from backend */
6388
+ optionLabelKey?: string;
6389
+ /** Key for option value when loading from backend */
6390
+ optionValueKey?: string;
5366
6391
  }
5367
6392
  /**
5368
6393
  * Metadata for Material Transfer List component.
@@ -5539,6 +6564,12 @@ interface MaterialDatepickerMetadata extends FieldMetadata {
5539
6564
  controlType: typeof FieldControlType.DATE_PICKER;
5540
6565
  /** Date format for display */
5541
6566
  dateFormat?: string;
6567
+ /** Locale for parsing and formatting date values. */
6568
+ locale?: string;
6569
+ /** Display format hint, such as dd/MM/yyyy for day-first dates. */
6570
+ displayFormat?: string;
6571
+ /** Allows manual typing in the input. Set false to force calendar selection. */
6572
+ manualInput?: boolean;
5542
6573
  /** Minimum selectable date */
5543
6574
  minDate?: Date | string;
5544
6575
  /** Maximum selectable date */
@@ -5572,6 +6603,8 @@ interface MaterialDateRangeMetadata extends FieldMetadata {
5572
6603
  startAriaLabel?: string;
5573
6604
  /** Accessibility label for end date input */
5574
6605
  endAriaLabel?: string;
6606
+ /** Compact inline chip display mode. */
6607
+ inlineChipDisplay?: 'value' | 'label-value';
5575
6608
  /** Start view (month, year, multi-year) */
5576
6609
  startView?: 'month' | 'year' | 'multi-year';
5577
6610
  /** Enable sidebar shortcuts overlay (phase 1). */
@@ -5607,8 +6640,13 @@ interface MaterialDateRangeMetadata extends FieldMetadata {
5607
6640
  * - `confirm`: keeps selection as draft and only commits on explicit confirmation
5608
6641
  */
5609
6642
  inlineQuickPresetsApplyMode?: 'auto' | 'confirm';
5610
- /** Position of shortcuts sidebar relative to the form field. */
5611
- shortcutsPosition?: 'left' | 'right';
6643
+ /**
6644
+ * Preferred position of shortcuts panel relative to the form field.
6645
+ * Defaults to `auto`, which tries a viewport-safe below placement before
6646
+ * side placements. Explicit `left`/`right` remain preferences and may fall
6647
+ * back when there is not enough viewport space.
6648
+ */
6649
+ shortcutsPosition?: 'auto' | 'below' | 'left' | 'right';
5612
6650
  /** Apply immediately when clicking a shortcut. Defaults to true. */
5613
6651
  applyOnShortcutClick?: boolean;
5614
6652
  /** Timezone identifier (e.g., 'America/Sao_Paulo') for normalization. */
@@ -5661,6 +6699,8 @@ interface MaterialPriceRangeMetadata extends FieldMetadata {
5661
6699
  endLabel?: string;
5662
6700
  /** Hide labels for start/end sub-inputs (compact mode). */
5663
6701
  hideSubLabels?: boolean;
6702
+ /** Inline chip display when the range has a value. Defaults to value only. */
6703
+ inlineChipDisplay?: 'value' | 'label-value';
5664
6704
  /** Layout dos inputs (lado a lado ou em linhas). */
5665
6705
  layout?: 'row' | 'column';
5666
6706
  /** Espaçamento entre os inputs (px ou CSS). */
@@ -5714,6 +6754,21 @@ interface InlineRangeDistributionConfig {
5714
6754
  bins?: Array<number | InlineRangeDistributionBin> | string;
5715
6755
  /** Optional normalization ceiling; defaults to the highest bin value. */
5716
6756
  maxValue?: number;
6757
+ /**
6758
+ * Color strategy for histogram bars.
6759
+ * `selection` highlights bars covered by the current slider value/range using theme tokens.
6760
+ * `gradient` applies a configurable gradient to the selected bars.
6761
+ * `theme` keeps all bars on the neutral themed baseline.
6762
+ */
6763
+ colorMode?: 'theme' | 'selection' | 'gradient';
6764
+ /** Optional selected bar color; defaults to the app theme primary color. */
6765
+ selectedColor?: string;
6766
+ /** Optional unselected bar color; defaults to the app theme outline variant color. */
6767
+ unselectedColor?: string;
6768
+ /** Optional first color stop for selected gradient bars. */
6769
+ gradientStartColor?: string;
6770
+ /** Optional final color stop for selected gradient bars. */
6771
+ gradientEndColor?: string;
5717
6772
  /** Optional minimum visible ratio in the [0..1] range for non-zero bars. */
5718
6773
  minBarRatio?: number;
5719
6774
  /** Alias for `minBarRatio`. */
@@ -5757,6 +6812,33 @@ interface RangeSliderQuickPresetLabels {
5757
6812
  fromMid?: string;
5758
6813
  full?: string;
5759
6814
  }
6815
+ interface RangeSliderMark {
6816
+ /** Numeric value represented by this mark. */
6817
+ value: number;
6818
+ /** Optional label rendered next to the mark. */
6819
+ label?: string;
6820
+ /** Optional semantic tone for platform styling. */
6821
+ tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6822
+ /** Optional disabled hint for authoring and future restricted-value mode. */
6823
+ disabled?: boolean;
6824
+ }
6825
+ type RangeSliderSemanticTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6826
+ interface RangeSliderSemanticBand {
6827
+ /** Inclusive start value for the band. */
6828
+ start: number;
6829
+ /** Inclusive end value for the band. */
6830
+ end: number;
6831
+ /** Optional label for accessibility, reports and authoring surfaces. */
6832
+ label?: string;
6833
+ /** Semantic tone used by the platform theme. */
6834
+ tone?: RangeSliderSemanticTone;
6835
+ /** Optional explicit color for specialized domain palettes. */
6836
+ color?: string;
6837
+ }
6838
+ type RangeSliderTrackMode = 'normal' | 'inverted' | 'none';
6839
+ type RangeSliderValueLabelDisplay = 'off' | 'auto' | 'on';
6840
+ type RangeSliderScalePreset = 'linear' | 'percent' | 'log' | 'pow2';
6841
+ type RangeSliderValueFormat = 'number' | 'percent' | 'currency' | 'compact' | 'storage';
5760
6842
  interface MaterialRangeSliderMetadata extends FieldMetadata {
5761
6843
  controlType: typeof FieldControlType.RANGE_SLIDER;
5762
6844
  /** Slider mode */
@@ -5765,18 +6847,36 @@ interface MaterialRangeSliderMetadata extends FieldMetadata {
5765
6847
  min?: number;
5766
6848
  /** Maximum allowed value */
5767
6849
  max?: number;
5768
- /** Step for value increments */
5769
- step?: number;
6850
+ /** Step for value increments. `null` is reserved for mark-restricted values. */
6851
+ step?: number | null;
5770
6852
  /** Whether to show the thumb label */
5771
6853
  thumbLabel?: boolean;
6854
+ /** Controls when the value label is displayed. */
6855
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
6856
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
6857
+ valueLabelFormat?: RangeSliderValueFormat | string;
5772
6858
  /** Tick configuration */
5773
6859
  showTicks?: boolean | 'auto';
6860
+ /** Rich mark labels along the slider track. */
6861
+ marks?: boolean | RangeSliderMark[] | string;
6862
+ /** Semantic bands rendered behind the slider track for domain meaning. */
6863
+ semanticBands?: RangeSliderSemanticBand[] | string;
6864
+ /** Track presentation mode. */
6865
+ track?: RangeSliderTrackMode;
6866
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
6867
+ shiftStep?: number;
6868
+ /** Visual density hint. */
6869
+ size?: 'small' | 'medium' | 'large';
5774
6870
  /** Use discrete slider */
5775
6871
  discrete?: boolean;
5776
6872
  /** Display vertically */
5777
6873
  vertical?: boolean;
5778
6874
  /** Invert slider direction */
5779
6875
  invert?: boolean;
6876
+ /** Prevent active thumb swapping when range thumbs overlap. */
6877
+ disableThumbSwap?: boolean;
6878
+ /** Declarative scale preset used to format displayed values. */
6879
+ scale?: RangeSliderScalePreset | string;
5780
6880
  /** Minimum distance between start and end */
5781
6881
  minDistance?: number;
5782
6882
  /** Maximum distance between start and end */
@@ -5954,6 +7054,8 @@ interface MaterialButtonMetadata extends FieldMetadata {
5954
7054
  buttonIconPosition?: 'before' | 'after';
5955
7055
  /** Button action/command */
5956
7056
  action?: string;
7057
+ /** Structured global action executed through GlobalActionService. */
7058
+ globalAction?: GlobalActionRef;
5957
7059
  /** Disable button ripple effect */
5958
7060
  disableRipple?: boolean;
5959
7061
  /** Confirmation message for destructive actions */
@@ -6001,35 +7103,55 @@ interface MaterialSliderMetadata extends FieldMetadata {
6001
7103
  min?: number;
6002
7104
  /** Maximum value */
6003
7105
  max?: number;
6004
- /** Step increment */
6005
- step?: number;
7106
+ /** Step increment. `null` is reserved for mark-restricted values. */
7107
+ step?: number | null;
6006
7108
  /** Show value label */
6007
7109
  thumbLabel?: boolean;
7110
+ /** Controls when the value label is displayed. */
7111
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
7112
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
7113
+ valueLabelFormat?: RangeSliderValueFormat | string;
7114
+ /** Rich mark labels along the slider track. */
7115
+ marks?: boolean | RangeSliderMark[] | string;
7116
+ /** Semantic bands rendered behind the slider track for domain meaning. */
7117
+ semanticBands?: RangeSliderSemanticBand[] | string;
7118
+ /**
7119
+ * Optional mini histogram/bars rendered above the slider track.
7120
+ * Accepts array shorthand, object config, or JSON string for editor compatibility.
7121
+ */
7122
+ inlineDistribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
7123
+ /**
7124
+ * Alias accepted by slider components for compact payloads.
7125
+ */
7126
+ distribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
7127
+ /** Track presentation mode. */
7128
+ track?: RangeSliderTrackMode;
7129
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
7130
+ shiftStep?: number;
7131
+ /** Visual density hint. */
7132
+ size?: 'small' | 'medium' | 'large';
6008
7133
  /** Slider orientation */
6009
7134
  vertical?: boolean;
6010
7135
  /** Slider color theme */
6011
7136
  color?: ThemePalette;
6012
7137
  /** Display tick marks along the slider track */
6013
- showTicks?: boolean;
7138
+ showTicks?: boolean | 'auto';
6014
7139
  /** Invert slider direction */
6015
7140
  invert?: boolean;
7141
+ /** Declarative scale preset used to format displayed values. */
7142
+ scale?: RangeSliderScalePreset | string;
6016
7143
  }
6017
7144
  /**
6018
7145
  * Specialized metadata for Material Rating components.
6019
7146
  *
6020
- * ⚠️ COMPONENTE NÃO IMPLEMENTADO - Interface de planejamento
6021
- *
6022
- * Para implementar: criar MaterialRatingComponent em components/material-rating/
6023
- * e registrar no ComponentRegistryService
6024
- *
6025
7147
  * Handles star rating or numeric rating selection.
6026
7148
  */
6027
7149
  interface MaterialRatingMetadata extends FieldMetadata {
6028
7150
  controlType: typeof FieldControlType.RATING;
6029
7151
  /** Maximum rating value */
6030
7152
  max?: number;
6031
- /** Rating precision (0.1, 0.5, 1) */
6032
- precision?: number;
7153
+ /** Rating precision (`0.5` or `half` enables half-step interaction) */
7154
+ precision?: number | 'item' | 'half';
6033
7155
  /** Rating icon (default: star) */
6034
7156
  icon?: string;
6035
7157
  /** Empty icon (default: star_border) */
@@ -6649,7 +7771,7 @@ declare function buildValidatorsFromValidatorOptions(opts?: ValidatorOptions, js
6649
7771
  *
6650
7772
  * Principais responsabilidades
6651
7773
  * - Converter ValidatorOptions/FieldDefinition em ValidatorFn/AsyncValidatorFn.
6652
- * - Aplicar updateOn por campo a partir de validationTrigger (change/blur/submit).
7774
+ * - Aplicar updateOn por campo a partir de updateOn ou validationTrigger (change/blur/submit).
6653
7775
  * - Injetar validadores específicos de UI conforme o controlType:
6654
7776
  * - DATE_PICKER: minDate/maxDate (datas limites).
6655
7777
  * - DATE_RANGE: verificação de ordem (start <= end) e min/max date.
@@ -6665,7 +7787,7 @@ declare function buildValidatorsFromValidatorOptions(opts?: ValidatorOptions, js
6665
7787
  * Boas práticas
6666
7788
  * - Prefira trabalhar com FieldMetadata + ValidatorOptions (camada normalizada) no app.
6667
7789
  * - Use updateControlFromMetadata quando regras dinâmicas alterarem validators (ex.: required, min, pattern, etc.).
6668
- * - Para validação em blur/submit, configure validators.validationTrigger no metadata.
7790
+ * - Para validação em blur/submit, configure updateOn ou validators.validationTrigger no metadata.
6669
7791
  *
6670
7792
  * Exemplo de uso básico
6671
7793
  * const group = dynamicForm.createFormGroupFromMetadata(fieldMetadata);
@@ -6683,6 +7805,7 @@ declare class DynamicFormService {
6683
7805
  * @returns updateOn compatível com Angular Forms ou undefined para padrão ('change')
6684
7806
  */
6685
7807
  private toUpdateOnFromTriggers;
7808
+ private normalizeUpdateOn;
6686
7809
  /**
6687
7810
  * Obtém updateOn a partir de FieldDefinition.validationTriggers.
6688
7811
  */
@@ -6950,8 +8073,27 @@ interface ComponentDocMeta {
6950
8073
  /** Optional title shown by hosts when opening the editor. */
6951
8074
  title?: string;
6952
8075
  };
8076
+ /** Optional canonical AI authoring manifest reference published by the component owner. */
8077
+ authoringManifestRef?: {
8078
+ /** Component id used by the manifest registry/backend. */
8079
+ componentId: string;
8080
+ /** Optional manifest version when the owner can publish it statically. */
8081
+ version?: string;
8082
+ /** Stable source symbol, registry id, or manifest module name. */
8083
+ source?: string;
8084
+ /** Optional content hash when available. */
8085
+ hash?: string;
8086
+ };
6953
8087
  /** Tags or categories for search */
6954
8088
  tags?: string[];
8089
+ /** Optional insertion presets exposed by visual builders without changing the component contract. */
8090
+ insertionPresets?: Array<{
8091
+ id: string;
8092
+ label: string;
8093
+ description?: string;
8094
+ icon?: string;
8095
+ inputs?: Record<string, unknown>;
8096
+ }>;
6955
8097
  /** Source library for the component */
6956
8098
  lib?: string;
6957
8099
  /** Optional layout hints for grid placement */
@@ -7054,6 +8196,7 @@ declare class PraxisI18nService {
7054
8196
  getLocale(): string;
7055
8197
  getFallbackLocale(): string;
7056
8198
  t(key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
8199
+ tForLocale(locale: string, key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
7057
8200
  resolve(message: PraxisTextValue | null | undefined, fallback?: string, namespace?: string): string;
7058
8201
  formatDate(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
7059
8202
  formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
@@ -7163,6 +8306,52 @@ declare class TelemetryService {
7163
8306
  static ɵprov: i0.ɵɵInjectableDeclaration<TelemetryService>;
7164
8307
  }
7165
8308
 
8309
+ declare class PraxisCollectionExportService {
8310
+ private readonly provider;
8311
+ private readonly securityPolicy;
8312
+ constructor(provider: PraxisCollectionExportProvider | null, securityPolicy: PraxisExportSecurityPolicy);
8313
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8314
+ exportLocalCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportResult;
8315
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisCollectionExportService, [{ optional: true; }, null]>;
8316
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisCollectionExportService>;
8317
+ }
8318
+
8319
+ interface PraxisCollectionExportHttpProviderOptions {
8320
+ endpoint?: string | ((request: PraxisCollectionExportRequest<any>) => string);
8321
+ apiUrlKey?: string;
8322
+ headers?: Record<string, string | string[]>;
8323
+ withCredentials?: boolean;
8324
+ includeLoadedItems?: boolean;
8325
+ }
8326
+ declare const PRAXIS_COLLECTION_EXPORT_PROVIDER: InjectionToken<PraxisCollectionExportProvider>;
8327
+ declare const PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS: InjectionToken<PraxisCollectionExportHttpProviderOptions>;
8328
+ declare const PRAXIS_EXPORT_SECURITY_POLICY: InjectionToken<PraxisExportSecurityPolicy>;
8329
+ declare function providePraxisCollectionExportProvider(provider: PraxisCollectionExportProvider): Provider;
8330
+
8331
+ declare class PraxisHttpCollectionExportProvider implements PraxisCollectionExportProvider {
8332
+ private readonly http;
8333
+ private readonly apiUrlConfig;
8334
+ private readonly options;
8335
+ constructor(http: HttpClient, apiUrlConfig: ApiUrlConfig | null, options: PraxisCollectionExportHttpProviderOptions | null);
8336
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8337
+ private resolveEndpoint;
8338
+ private resolveUrl;
8339
+ private normalizePathForBase;
8340
+ private resolveApiBaseUrl;
8341
+ private buildHeaders;
8342
+ private buildRequestBody;
8343
+ private normalizeResponse;
8344
+ private normalizeExportHeaders;
8345
+ private isExportResultEnvelope;
8346
+ private readNumberHeader;
8347
+ private readBooleanHeader;
8348
+ private readWarningHeader;
8349
+ private mergeWarnings;
8350
+ private resolveFileName;
8351
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisHttpCollectionExportProvider, [null, { optional: true; }, { optional: true; }]>;
8352
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisHttpCollectionExportProvider>;
8353
+ }
8354
+
7166
8355
  type FieldSelectorRegistryMap = Record<string, FieldControlType>;
7167
8356
  declare const FIELD_SELECTOR_REGISTRY_BASE: InjectionToken<FieldSelectorRegistryMap>;
7168
8357
  declare const FIELD_SELECTOR_REGISTRY_OVERRIDES: InjectionToken<FieldSelectorRegistryMap[]>;
@@ -7232,118 +8421,29 @@ declare class PraxisLoadingInterceptor implements HttpInterceptor {
7232
8421
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLoadingInterceptor, [null, { optional: true; }]>;
7233
8422
  static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLoadingInterceptor>;
7234
8423
  }
7235
-
7236
- declare class DefaultLoadingRenderer implements PraxisLoadingRenderer {
7237
- private readonly rootId;
7238
- private readonly styleId;
7239
- show(ctx: LoadingContext): void;
7240
- update(ctx: LoadingContext): void;
7241
- hide(ctx: LoadingContext): void;
7242
- private keyOf;
7243
- private defaultLabel;
7244
- private ensureRoot;
7245
- private ensureStyles;
7246
- private getDocument;
7247
- static ɵfac: i0.ɵɵFactoryDeclaration<DefaultLoadingRenderer, never>;
7248
- static ɵprov: i0.ɵɵInjectableDeclaration<DefaultLoadingRenderer>;
7249
- }
7250
-
7251
- declare class PraxisLayerScaleStyleService {
7252
- private readonly doc;
7253
- private readonly styleId;
7254
- constructor();
7255
- ensureInstalled(): void;
7256
- static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLayerScaleStyleService, never>;
7257
- static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLayerScaleStyleService>;
7258
- }
7259
-
7260
- /**
7261
- * Contratos compartilhados de discovery semantico consumidos pelo runtime Angular.
7262
- *
7263
- * `resourcePath` continua sendo o endereco operacional do recurso.
7264
- * `resourceKey` representa a identidade semantica estavel devolvida pelo backend para
7265
- * surfaces, actions e capabilities.
7266
- *
7267
- * O runtime usa `resourceKey` para preservar contexto semantico e gerar ids estaveis de
7268
- * abertura, enquanto `resourcePath`, `path`, `method` e `schemaUrl` seguem responsaveis pelo
7269
- * comportamento operacional.
7270
- */
7271
- interface ResourceAvailabilityDecision {
7272
- allowed: boolean;
7273
- reason?: string | null;
7274
- metadata?: Record<string, any>;
7275
- }
7276
- type ResourceSurfaceKind = 'FORM' | 'PARTIAL_FORM' | 'VIEW' | 'READ_PROJECTION';
7277
- type ResourceSurfaceScope = 'COLLECTION' | 'ITEM';
7278
- type ResourceActionScope = 'COLLECTION' | 'ITEM';
7279
- type ResourceDiscoveryRel = 'surfaces' | 'actions' | 'capabilities';
7280
- type ResourceCrudOperationId = 'create' | 'view' | 'edit' | 'delete';
7281
- interface ResourceSurfaceCatalogItem {
7282
- id: string;
7283
- resourceKey: string;
7284
- kind: ResourceSurfaceKind;
7285
- scope: ResourceSurfaceScope;
7286
- title: string;
7287
- description?: string | null;
7288
- intent?: string | null;
7289
- operationId: string;
7290
- path: string;
7291
- method: string;
7292
- schemaId: string;
7293
- schemaUrl: string;
7294
- availability: ResourceAvailabilityDecision;
7295
- order: number;
7296
- tags: string[];
7297
- }
7298
- interface ResourceSurfaceCatalogResponse {
7299
- resourceKey: string;
7300
- resourcePath: string;
7301
- group?: string | null;
7302
- resourceId?: string | number | null;
7303
- surfaces: ResourceSurfaceCatalogItem[];
7304
- }
7305
- interface ResourceActionCatalogItem {
7306
- id: string;
7307
- resourceKey: string;
7308
- scope: ResourceActionScope;
7309
- title: string;
7310
- description?: string | null;
7311
- operationId: string;
7312
- path: string;
7313
- method: string;
7314
- requestSchemaId?: string | null;
7315
- requestSchemaUrl?: string | null;
7316
- responseSchemaId?: string | null;
7317
- responseSchemaUrl?: string | null;
7318
- availability: ResourceAvailabilityDecision;
7319
- order: number;
7320
- successMessage?: string | null;
7321
- tags: string[];
7322
- }
7323
- interface ResourceActionCatalogResponse {
7324
- resourceKey: string;
7325
- resourcePath: string;
7326
- group?: string | null;
7327
- resourceId?: string | number | null;
7328
- actions: ResourceActionCatalogItem[];
7329
- }
7330
- interface ResourceCapabilityOperation {
7331
- id: ResourceCrudOperationId;
7332
- supported: boolean;
7333
- scope: ResourceSurfaceScope;
7334
- preferredMethod?: string | null;
7335
- preferredRel?: string | null;
7336
- availability?: ResourceAvailabilityDecision | null;
7337
- }
7338
- interface ResourceCapabilitySnapshot {
7339
- resourceKey: string;
7340
- resourcePath: string;
7341
- group?: string | null;
7342
- resourceId?: string | number | null;
7343
- canonicalOperations: Record<string, boolean>;
7344
- operations?: Partial<Record<ResourceCrudOperationId, ResourceCapabilityOperation>>;
7345
- surfaces: ResourceSurfaceCatalogItem[];
7346
- actions: ResourceActionCatalogItem[];
8424
+
8425
+ declare class DefaultLoadingRenderer implements PraxisLoadingRenderer {
8426
+ private readonly rootId;
8427
+ private readonly styleId;
8428
+ show(ctx: LoadingContext): void;
8429
+ update(ctx: LoadingContext): void;
8430
+ hide(ctx: LoadingContext): void;
8431
+ private keyOf;
8432
+ private defaultLabel;
8433
+ private ensureRoot;
8434
+ private ensureStyles;
8435
+ private getDocument;
8436
+ static ɵfac: i0.ɵɵFactoryDeclaration<DefaultLoadingRenderer, never>;
8437
+ static ɵprov: i0.ɵɵInjectableDeclaration<DefaultLoadingRenderer>;
8438
+ }
8439
+
8440
+ declare class PraxisLayerScaleStyleService {
8441
+ private readonly doc;
8442
+ private readonly styleId;
8443
+ constructor();
8444
+ ensureInstalled(): void;
8445
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisLayerScaleStyleService, never>;
8446
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisLayerScaleStyleService>;
7347
8447
  }
7348
8448
 
7349
8449
  interface ResourceDiscoveryRequestOptions {
@@ -7381,6 +8481,466 @@ declare class ResourceDiscoveryService {
7381
8481
  static ɵprov: i0.ɵɵInjectableDeclaration<ResourceDiscoveryService>;
7382
8482
  }
7383
8483
 
8484
+ declare const DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION: "praxis.ai.context-hints.domain-catalog/v0.2";
8485
+ interface DomainCatalogRelease {
8486
+ releaseKey: string;
8487
+ serviceKey?: string;
8488
+ status?: string;
8489
+ version?: string;
8490
+ createdAt?: string;
8491
+ resourceKey?: string;
8492
+ [key: string]: unknown;
8493
+ }
8494
+ interface DomainCatalogGovernancePayload {
8495
+ classification?: string;
8496
+ dataCategory?: string;
8497
+ complianceTags?: string[];
8498
+ aiUsage?: {
8499
+ visibility?: string;
8500
+ purpose?: string;
8501
+ restrictions?: string[];
8502
+ [key: string]: unknown;
8503
+ };
8504
+ [key: string]: unknown;
8505
+ }
8506
+ interface DomainCatalogItem<TPayload = Record<string, unknown>> {
8507
+ itemKey: string;
8508
+ type?: string;
8509
+ payload?: TPayload;
8510
+ [key: string]: unknown;
8511
+ }
8512
+ interface DomainCatalogResourceProbe {
8513
+ resourceKey: string;
8514
+ query: string;
8515
+ limit?: number;
8516
+ }
8517
+ type DomainCatalogContextHintItemType = 'context' | 'node' | 'edge' | 'binding' | 'evidence' | 'governance' | 'vocabulary' | 'relationship';
8518
+ type DomainCatalogContextHintIntent = 'authoring' | 'explain' | 'validate' | 'ai-access-control';
8519
+ type DomainCatalogRecommendedAuthoringFlow = 'shared_rule_authoring' | 'component_authoring' | 'ui_composition_authoring';
8520
+ type DomainCatalogRecommendedRuleType = 'privacy' | 'compliance' | 'validation' | 'selection_eligibility' | 'workflow_action_policy' | 'approval_policy' | string;
8521
+ interface DomainCatalogRelationshipHint {
8522
+ enabled?: boolean;
8523
+ federated?: boolean;
8524
+ serviceKey?: string | null;
8525
+ sourceNodeKey?: string | null;
8526
+ targetNodeKey?: string | null;
8527
+ edgeType?: string | null;
8528
+ query?: string | null;
8529
+ limit?: number;
8530
+ }
8531
+ interface DomainCatalogContextHint {
8532
+ schemaVersion?: typeof DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION;
8533
+ resourceKey?: string | null;
8534
+ query?: string | null;
8535
+ releaseId?: string | null;
8536
+ releaseKey?: string | null;
8537
+ serviceKey?: string | null;
8538
+ type?: DomainCatalogContextHintItemType;
8539
+ itemTypes?: DomainCatalogContextHintItemType[];
8540
+ intent?: DomainCatalogContextHintIntent | null;
8541
+ contextKey?: string | null;
8542
+ nodeType?: string | null;
8543
+ recommendedAuthoringFlow?: DomainCatalogRecommendedAuthoringFlow | null;
8544
+ recommendedRuleType?: DomainCatalogRecommendedRuleType | null;
8545
+ limit?: number;
8546
+ relationships?: DomainCatalogRelationshipHint | null;
8547
+ }
8548
+ interface DomainCatalogGovernanceContext {
8549
+ resourceKey: string;
8550
+ query: string;
8551
+ releaseKey: string | null;
8552
+ items: DomainCatalogItem<DomainCatalogGovernancePayload>[];
8553
+ }
8554
+
8555
+ interface DomainCatalogRequestOptions extends ResourceDiscoveryRequestOptions {
8556
+ serviceKey?: string;
8557
+ limit?: number;
8558
+ headers?: HttpHeaders | Record<string, string | string[]>;
8559
+ }
8560
+ interface DomainCatalogGovernanceRequestOptions extends DomainCatalogRequestOptions {
8561
+ resourceKey: string;
8562
+ query: string;
8563
+ }
8564
+ declare class DomainCatalogService {
8565
+ private readonly http;
8566
+ private readonly discovery;
8567
+ listReleases(options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease[]>;
8568
+ listItems(releaseKey: string, options?: DomainCatalogRequestOptions & {
8569
+ type?: string;
8570
+ query?: string;
8571
+ }): Observable<DomainCatalogItem[]>;
8572
+ findLatestReleaseForResource(resourceKey: string, options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease | null>;
8573
+ getGovernanceContext(options: DomainCatalogGovernanceRequestOptions): Observable<DomainCatalogGovernanceContext>;
8574
+ private resolveHeaders;
8575
+ private releaseMatchesResource;
8576
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainCatalogService, never>;
8577
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainCatalogService>;
8578
+ }
8579
+
8580
+ type DomainKnowledgeAuthorType = 'human' | 'llm' | 'system' | string;
8581
+ type DomainKnowledgeChangeSetStatus = 'proposed' | 'approved' | 'rejected' | 'superseded' | 'applied' | string;
8582
+ type DomainKnowledgeValidationStatus = 'valid' | 'invalid' | 'pending' | string;
8583
+ type DomainKnowledgeOperationType = 'add_evidence' | 'update_evidence' | 'deprecate_evidence' | 'add_relationship' | 'update_concept' | string;
8584
+ interface DomainKnowledgeChangeSetTarget {
8585
+ tenantId?: string | null;
8586
+ environment?: string | null;
8587
+ subjectType?: string | null;
8588
+ conceptKey?: string | null;
8589
+ evidenceKey?: string | null;
8590
+ relationshipKey?: string | null;
8591
+ }
8592
+ interface DomainKnowledgePatchOperation {
8593
+ operationId: string;
8594
+ operationType: DomainKnowledgeOperationType;
8595
+ target?: DomainKnowledgeChangeSetTarget | null;
8596
+ reason?: string | null;
8597
+ evidenceRefs?: string[] | null;
8598
+ confidence?: number | null;
8599
+ payload?: Record<string, unknown> | null;
8600
+ }
8601
+ interface DomainKnowledgeChangeSetRequest {
8602
+ changeSetKey: string;
8603
+ status?: DomainKnowledgeChangeSetStatus | null;
8604
+ authorType?: DomainKnowledgeAuthorType | null;
8605
+ authorId?: string | null;
8606
+ intent?: string | null;
8607
+ reason?: string | null;
8608
+ patch: DomainKnowledgePatchOperation[];
8609
+ }
8610
+ interface DomainKnowledgeSafeOperationSummary {
8611
+ operationId?: string | null;
8612
+ operationType?: DomainKnowledgeOperationType | null;
8613
+ targetSubjectType?: string | null;
8614
+ targetConceptKey?: string | null;
8615
+ evidenceRefCount?: number | null;
8616
+ confidence?: number | null;
8617
+ }
8618
+ interface DomainKnowledgeChangeSet {
8619
+ id: string;
8620
+ tenantId?: string | null;
8621
+ environment?: string | null;
8622
+ changeSetKey?: string | null;
8623
+ status?: DomainKnowledgeChangeSetStatus | null;
8624
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8625
+ authorType?: DomainKnowledgeAuthorType | null;
8626
+ authorId?: string | null;
8627
+ intent?: string | null;
8628
+ reason?: string | null;
8629
+ operationCount?: number | null;
8630
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8631
+ reviewerId?: string | null;
8632
+ reviewedAt?: string | null;
8633
+ appliedAt?: string | null;
8634
+ createdAt?: string | null;
8635
+ updatedAt?: string | null;
8636
+ }
8637
+ interface DomainKnowledgeChangeSetFilters {
8638
+ status?: DomainKnowledgeChangeSetStatus;
8639
+ }
8640
+ interface DomainKnowledgeValidationIssue {
8641
+ operationId?: string | null;
8642
+ code?: string | null;
8643
+ message?: string | null;
8644
+ severity?: string | null;
8645
+ }
8646
+ interface DomainKnowledgeValidationResponse {
8647
+ valid: boolean;
8648
+ changeSetId?: string | null;
8649
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8650
+ issues?: DomainKnowledgeValidationIssue[] | null;
8651
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8652
+ }
8653
+ type DomainKnowledgeTimelineEventVisibility = 'safe' | string;
8654
+ interface DomainKnowledgeChangeSetTimelineEventResponse {
8655
+ eventType: string;
8656
+ occurredAt?: string | null;
8657
+ actorType?: string | null;
8658
+ actor?: string | null;
8659
+ summary?: string | null;
8660
+ status?: DomainKnowledgeChangeSetStatus | null;
8661
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8662
+ operationCount?: number | null;
8663
+ operationTypes?: DomainKnowledgeOperationType[] | null;
8664
+ targetConceptKeys?: string[] | null;
8665
+ visibility?: DomainKnowledgeTimelineEventVisibility | null;
8666
+ }
8667
+ interface DomainKnowledgeChangeSetTimelineResponse {
8668
+ changeSetId: string;
8669
+ tenantId?: string | null;
8670
+ environment?: string | null;
8671
+ changeSetKey?: string | null;
8672
+ status?: DomainKnowledgeChangeSetStatus | null;
8673
+ authorType?: DomainKnowledgeAuthorType | null;
8674
+ authorId?: string | null;
8675
+ reviewerId?: string | null;
8676
+ events: DomainKnowledgeChangeSetTimelineEventResponse[];
8677
+ }
8678
+ interface DomainKnowledgeStatusTransitionRequest {
8679
+ status: Exclude<DomainKnowledgeChangeSetStatus, 'proposed'> | DomainKnowledgeChangeSetStatus;
8680
+ reviewerId?: string | null;
8681
+ reason?: string | null;
8682
+ }
8683
+
8684
+ interface DomainKnowledgeRequestOptions extends ResourceDiscoveryRequestOptions {
8685
+ headers?: HttpHeaders | Record<string, string | string[]>;
8686
+ }
8687
+ declare class DomainKnowledgeService {
8688
+ private readonly http;
8689
+ private readonly discovery;
8690
+ createChangeSet(request: DomainKnowledgeChangeSetRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8691
+ listChangeSets(filters?: DomainKnowledgeChangeSetFilters, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet[]>;
8692
+ getChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8693
+ validateChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeValidationResponse>;
8694
+ transitionChangeSetStatus(changeSetId: string, request: DomainKnowledgeStatusTransitionRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8695
+ applyChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8696
+ getChangeSetTimeline(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSetTimelineResponse>;
8697
+ private buildParams;
8698
+ private resolveHeaders;
8699
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainKnowledgeService, never>;
8700
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainKnowledgeService>;
8701
+ }
8702
+
8703
+ type DomainRuleStatus = 'draft' | 'active' | 'inactive' | 'deprecated' | string;
8704
+ type DomainRuleCreatedByType = 'human' | 'llm' | 'system' | string;
8705
+ type DomainRuleAppliedByType = 'human' | 'llm' | 'system' | string;
8706
+ type DomainRuleTargetLayer = 'form' | 'table' | 'api' | 'workflow' | 'workflow_action' | 'approval_policy' | 'policy' | 'option_source' | 'backend_validation' | string;
8707
+ interface DomainRuleDecisionDiagnostics extends Record<string, unknown> {
8708
+ decisionKind?: string | null;
8709
+ authoringMode?: string | null;
8710
+ decisionStage?: string | null;
8711
+ decisionSource?: string | null;
8712
+ canonicalOwner?: string | null;
8713
+ materializationModel?: string | null;
8714
+ runtimeSurfacesAreDerived?: boolean | null;
8715
+ }
8716
+ interface DomainRuleDefinitionRequest {
8717
+ ruleKey: string;
8718
+ version?: number | null;
8719
+ ruleType?: string | null;
8720
+ status?: DomainRuleStatus | null;
8721
+ contextKey?: string | null;
8722
+ resourceKey?: string | null;
8723
+ serviceKey?: string | null;
8724
+ semanticOwner?: string | null;
8725
+ steward?: string | null;
8726
+ sourceReleaseId?: string | null;
8727
+ sourceChangeSetId?: string | null;
8728
+ definition?: Record<string, unknown> | null;
8729
+ parameters?: Record<string, unknown> | null;
8730
+ condition?: Record<string, unknown> | null;
8731
+ governance?: Record<string, unknown> | null;
8732
+ validationResult?: Record<string, unknown> | null;
8733
+ createdByType?: DomainRuleCreatedByType | null;
8734
+ createdBy?: string | null;
8735
+ approvedBy?: string | null;
8736
+ }
8737
+ interface DomainRuleDefinition extends DomainRuleDefinitionRequest {
8738
+ id: string;
8739
+ tenantId?: string | null;
8740
+ environment?: string | null;
8741
+ createdAt?: string | null;
8742
+ updatedAt?: string | null;
8743
+ approvedAt?: string | null;
8744
+ activatedAt?: string | null;
8745
+ }
8746
+ interface DomainRuleDefinitionFilters {
8747
+ resourceKey?: string;
8748
+ status?: DomainRuleStatus;
8749
+ ruleType?: string;
8750
+ ruleKey?: string;
8751
+ }
8752
+ type DomainRuleTimelineEventVisibility = 'safe' | string;
8753
+ interface DomainRuleTimelineEventResponse {
8754
+ eventType: string;
8755
+ occurredAt?: string | null;
8756
+ actorType?: DomainRuleAppliedByType | null;
8757
+ actor?: string | null;
8758
+ summary?: string | null;
8759
+ targetLayer?: DomainRuleTargetLayer | null;
8760
+ targetArtifactType?: string | null;
8761
+ targetArtifactKey?: string | null;
8762
+ sourceHash?: string | null;
8763
+ visibility?: DomainRuleTimelineEventVisibility | null;
8764
+ }
8765
+ interface DomainRuleTimelineResponse {
8766
+ ruleDefinitionId: string;
8767
+ tenantId?: string | null;
8768
+ environment?: string | null;
8769
+ ruleKey?: string | null;
8770
+ ruleType?: string | null;
8771
+ resourceKey?: string | null;
8772
+ events: DomainRuleTimelineEventResponse[];
8773
+ }
8774
+ interface DomainRuleStatusTransitionRequest {
8775
+ status: DomainRuleStatus;
8776
+ decidedByType?: DomainRuleAppliedByType | null;
8777
+ decidedBy?: string | null;
8778
+ decisionNotes?: Record<string, unknown> | null;
8779
+ }
8780
+ interface DomainRuleIntakeRequest {
8781
+ prompt: string;
8782
+ assistantMessage?: string | null;
8783
+ ruleKey?: string | null;
8784
+ ruleType?: string | null;
8785
+ contextKey?: string | null;
8786
+ resourceKey?: string | null;
8787
+ serviceKey?: string | null;
8788
+ definition?: Record<string, unknown> | null;
8789
+ parameters?: Record<string, unknown> | null;
8790
+ condition?: Record<string, unknown> | null;
8791
+ governance?: Record<string, unknown> | null;
8792
+ createdByType?: DomainRuleCreatedByType | null;
8793
+ createdBy?: string | null;
8794
+ }
8795
+ interface DomainRuleIntakeResponse {
8796
+ intakeId: string;
8797
+ tenantId?: string | null;
8798
+ environment?: string | null;
8799
+ ruleKey?: string | null;
8800
+ ruleType?: string | null;
8801
+ contextKey?: string | null;
8802
+ resourceKey?: string | null;
8803
+ serviceKey?: string | null;
8804
+ status?: DomainRuleStatus | null;
8805
+ grounding?: (Record<string, unknown> & {
8806
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8807
+ }) | null;
8808
+ definition?: DomainRuleDefinition | null;
8809
+ createdAt?: string | null;
8810
+ }
8811
+ interface DomainRuleMaterializationRequest {
8812
+ ruleDefinitionId: string;
8813
+ materializationKey: string;
8814
+ targetLayer?: DomainRuleTargetLayer | null;
8815
+ targetArtifactType?: string | null;
8816
+ targetArtifactKey?: string | null;
8817
+ targetPointer?: string | null;
8818
+ targetReleaseKey?: string | null;
8819
+ materializedRuleId?: string | null;
8820
+ status?: DomainRuleStatus | null;
8821
+ materializedPayload?: Record<string, unknown> | null;
8822
+ sourceHash?: string | null;
8823
+ validationResult?: Record<string, unknown> | null;
8824
+ appliedByType?: DomainRuleAppliedByType | null;
8825
+ appliedBy?: string | null;
8826
+ }
8827
+ interface DomainRuleMaterialization extends DomainRuleMaterializationRequest {
8828
+ id: string;
8829
+ tenantId?: string | null;
8830
+ environment?: string | null;
8831
+ ruleKey?: string | null;
8832
+ ruleVersion?: number | null;
8833
+ createdAt?: string | null;
8834
+ updatedAt?: string | null;
8835
+ appliedAt?: string | null;
8836
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8837
+ }
8838
+ interface DomainRuleMaterializationFilters {
8839
+ ruleDefinitionId?: string;
8840
+ targetLayer?: DomainRuleTargetLayer;
8841
+ targetArtifactType?: string;
8842
+ targetArtifactKey?: string;
8843
+ status?: DomainRuleStatus;
8844
+ }
8845
+ interface DomainRuleSimulationRequest {
8846
+ ruleDefinitionId?: string | null;
8847
+ ruleKey?: string | null;
8848
+ ruleType?: string | null;
8849
+ contextKey?: string | null;
8850
+ resourceKey?: string | null;
8851
+ serviceKey?: string | null;
8852
+ definition?: Record<string, unknown> | null;
8853
+ parameters?: Record<string, unknown> | null;
8854
+ condition?: Record<string, unknown> | null;
8855
+ governance?: Record<string, unknown> | null;
8856
+ }
8857
+ interface DomainRuleSimulationResponse {
8858
+ simulationId: string;
8859
+ ruleDefinitionId?: string | null;
8860
+ tenantId?: string | null;
8861
+ environment?: string | null;
8862
+ ruleKey?: string | null;
8863
+ ruleVersion?: number | null;
8864
+ ruleType?: string | null;
8865
+ contextKey?: string | null;
8866
+ resourceKey?: string | null;
8867
+ serviceKey?: string | null;
8868
+ result?: string | null;
8869
+ grounding?: Record<string, unknown> | null;
8870
+ existingCoverage?: unknown[] | null;
8871
+ predictedMaterializations?: unknown[] | null;
8872
+ requiredApprovals?: unknown[] | null;
8873
+ warnings?: unknown[] | null;
8874
+ explainability?: Record<string, unknown> | null;
8875
+ simulatedAt?: string | null;
8876
+ }
8877
+ type DomainRuleMaterializationOutcomeResolution = 'created' | 'reused' | 'selected_existing' | 'selected_explicit' | 'skipped' | 'blocked' | string;
8878
+ interface DomainRulePublicationMaterializationOutcome {
8879
+ resolution?: DomainRuleMaterializationOutcomeResolution | null;
8880
+ materializationKey?: string | null;
8881
+ targetLayer?: DomainRuleTargetLayer | null;
8882
+ targetArtifactType?: string | null;
8883
+ targetArtifactKey?: string | null;
8884
+ targetPointer?: string | null;
8885
+ statusAtResolution?: DomainRuleStatus | null;
8886
+ sourceHash?: string | null;
8887
+ reason?: string | null;
8888
+ }
8889
+ interface DomainRulePublicationDiagnostics {
8890
+ materializationOutcomes?: DomainRulePublicationMaterializationOutcome[] | null;
8891
+ }
8892
+ interface DomainRuleExplainability extends Record<string, unknown> {
8893
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8894
+ publicationDiagnostics?: DomainRulePublicationDiagnostics | null;
8895
+ }
8896
+ interface DomainRulePublicationRequest {
8897
+ ruleDefinitionId: string;
8898
+ materializationIds?: string[] | null;
8899
+ applyEligibleMaterializations?: boolean | null;
8900
+ publishedByType?: DomainRuleAppliedByType | null;
8901
+ publishedBy?: string | null;
8902
+ publicationNotes?: Record<string, unknown> | null;
8903
+ }
8904
+ interface DomainRulePublicationResponse {
8905
+ publicationId: string;
8906
+ tenantId?: string | null;
8907
+ environment?: string | null;
8908
+ publicationStatus?: string | null;
8909
+ publicationReadiness?: string | null;
8910
+ ruleDefinitionId?: string | null;
8911
+ ruleKey?: string | null;
8912
+ ruleVersion?: number | null;
8913
+ ruleType?: string | null;
8914
+ resourceKey?: string | null;
8915
+ serviceKey?: string | null;
8916
+ definition?: DomainRuleDefinition | null;
8917
+ materializations?: DomainRuleMaterialization[] | null;
8918
+ explainability?: DomainRuleExplainability | null;
8919
+ processedAt?: string | null;
8920
+ }
8921
+
8922
+ interface DomainRuleRequestOptions extends ResourceDiscoveryRequestOptions {
8923
+ headers?: HttpHeaders | Record<string, string | string[]>;
8924
+ }
8925
+ declare class DomainRuleService {
8926
+ private readonly http;
8927
+ private readonly discovery;
8928
+ intake(request: DomainRuleIntakeRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleIntakeResponse>;
8929
+ createDefinition(request: DomainRuleDefinitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8930
+ listDefinitions(filters?: DomainRuleDefinitionFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition[]>;
8931
+ transitionDefinitionStatus(definitionId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8932
+ getDefinitionTimeline(definitionId: string, options?: DomainRuleRequestOptions): Observable<DomainRuleTimelineResponse>;
8933
+ simulate(request: DomainRuleSimulationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleSimulationResponse>;
8934
+ publish(request: DomainRulePublicationRequest, options?: DomainRuleRequestOptions): Observable<DomainRulePublicationResponse>;
8935
+ createMaterialization(request: DomainRuleMaterializationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8936
+ listMaterializations(filters?: DomainRuleMaterializationFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization[]>;
8937
+ transitionMaterializationStatus(materializationId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8938
+ private buildParams;
8939
+ private resolveHeaders;
8940
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainRuleService, never>;
8941
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainRuleService>;
8942
+ }
8943
+
7384
8944
  interface ResourceActionOpenAdapterOptions {
7385
8945
  resourcePath: string;
7386
8946
  resourceId?: string | number | null;
@@ -7423,16 +8983,53 @@ declare class ResourceSurfaceOpenAdapterService {
7423
8983
  toPayload(surface: ResourceSurfaceCatalogItem, options: ResourceSurfaceOpenAdapterOptions): SurfaceOpenPayload;
7424
8984
  private buildBasePayload;
7425
8985
  private buildStableInstanceId;
8986
+ private withInputBefore;
7426
8987
  private normalizeResourcePath;
7427
8988
  private resolveFormMode;
7428
8989
  private isCollectionView;
7429
8990
  private isWritableFormSurface;
8991
+ private isReadableFormSurface;
8992
+ private isReadableItemSurface;
7430
8993
  private buildIdBinding;
7431
8994
  private clone;
7432
8995
  static ɵfac: i0.ɵɵFactoryDeclaration<ResourceSurfaceOpenAdapterService, never>;
7433
8996
  static ɵprov: i0.ɵɵInjectableDeclaration<ResourceSurfaceOpenAdapterService>;
7434
8997
  }
7435
8998
 
8999
+ type SurfaceOpenMaterializationContext = {
9000
+ payload?: unknown;
9001
+ runtime?: unknown;
9002
+ };
9003
+ declare class SurfaceOpenMaterializerService {
9004
+ private readonly discovery;
9005
+ materialize(payload: SurfaceOpenPayload, context?: SurfaceOpenMaterializationContext): Promise<SurfaceOpenPayload>;
9006
+ private projectMaterializedFormInputs;
9007
+ private buildLocalFormConfig;
9008
+ private shouldRenderMaterializedFormField;
9009
+ private inferFormControlType;
9010
+ private humanizeFieldName;
9011
+ private chunk;
9012
+ private shouldMaterializeItemReadProjection;
9013
+ private resolveResponseCardinality;
9014
+ private shouldMaterializeAsCollection;
9015
+ private shouldPreserveCollectionPresentation;
9016
+ private resolveResourceId;
9017
+ private resolveItemReadUrl;
9018
+ private resolveSchemaFields;
9019
+ private materializeArrayAsTable;
9020
+ private projectTableInputs;
9021
+ private buildLocalTableConfig;
9022
+ private inferColumnsFromData;
9023
+ private extractCollectionData;
9024
+ private mergeMaterializationContext;
9025
+ private stableSurfaceId;
9026
+ private unwrapRestData;
9027
+ private normalizeError;
9028
+ private readPath;
9029
+ static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceOpenMaterializerService, never>;
9030
+ static ɵprov: i0.ɵɵInjectableDeclaration<SurfaceOpenMaterializerService>;
9031
+ }
9032
+
7436
9033
  type ResolvedCrudOperationSource = 'explicit' | 'capability' | 'surface' | 'link' | 'convention';
7437
9034
  interface ExplicitCrudResolutionContract {
7438
9035
  schemaUrl?: string | null;
@@ -8117,8 +9714,15 @@ type GlobalActionCatalogEntry = {
8117
9714
  required?: string[];
8118
9715
  example?: any;
8119
9716
  };
9717
+ param?: {
9718
+ required?: boolean;
9719
+ label?: string;
9720
+ placeholder?: string;
9721
+ hint?: string;
9722
+ example?: string;
9723
+ };
8120
9724
  };
8121
- declare const GLOBAL_ACTION_CATALOG$1: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
9725
+ declare const GLOBAL_ACTION_CATALOG: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
8122
9726
  declare function provideGlobalActionCatalog(entries: GlobalActionCatalogEntry[]): Provider;
8123
9727
  declare function getGlobalActionCatalog(catalog: ReadonlyArray<GlobalActionCatalogEntry[]> | null | undefined): GlobalActionCatalogEntry[];
8124
9728
  declare const PRAXIS_GLOBAL_ACTION_CATALOG: GlobalActionCatalogEntry[];
@@ -8129,22 +9733,6 @@ interface GlobalSurfaceService {
8129
9733
  }
8130
9734
  declare const GLOBAL_SURFACE_SERVICE: InjectionToken<GlobalSurfaceService>;
8131
9735
 
8132
- type GlobalActionId = 'navigate' | 'openUrl' | 'surface.open' | 'showAlert' | 'log' | 'openDialog' | 'confirm' | 'alert' | 'prompt' | 'submitForm' | 'resetForm' | 'validateForm' | 'clearValidation' | 'saveFormDraft' | 'loadFormDraft' | 'clearFormDraft' | 'apiCall' | 'download' | 'copyToClipboard' | 'refreshOptions' | 'loadDependentData';
8133
- type GlobalActionParam = {
8134
- required?: boolean;
8135
- label?: string;
8136
- placeholder?: string;
8137
- hint?: string;
8138
- example?: string;
8139
- };
8140
- interface GlobalActionSpec {
8141
- id: GlobalActionId;
8142
- label: string;
8143
- description: string;
8144
- param?: GlobalActionParam;
8145
- }
8146
- declare const GLOBAL_ACTION_CATALOG: GlobalActionSpec[];
8147
-
8148
9736
  declare const SURFACE_OPEN_I18N_NAMESPACE = "surfaceOpen";
8149
9737
  declare const SURFACE_OPEN_I18N_CONFIG: Partial<PraxisI18nConfig>;
8150
9738
 
@@ -8247,6 +9835,8 @@ declare const DYNAMIC_PAGE_CONFIG_EDITOR: InjectionToken<Type<any>>;
8247
9835
 
8248
9836
  declare const PRAXIS_LOADING_CTX: HttpContextToken<LoadingContext | null>;
8249
9837
 
9838
+ declare function providePraxisHttpCollectionExportProvider(options?: PraxisCollectionExportHttpProviderOptions): Provider[];
9839
+
8250
9840
  declare const PRAXIS_JSON_LOGIC_OPERATORS: InjectionToken<PraxisJsonLogicOperatorDefinition[]>;
8251
9841
  declare function providePraxisJsonLogicOperator(definition: PraxisJsonLogicOperatorDefinition): Provider;
8252
9842
  declare function providePraxisJsonLogicOperatorOverride(definition: PraxisJsonLogicOperatorDefinition): Provider;
@@ -8338,8 +9928,16 @@ interface ComponentPortEndpointRef {
8338
9928
  direction: 'input' | 'output';
8339
9929
  componentType?: string;
8340
9930
  bindingPath?: string;
9931
+ nestedPath?: ComponentPortPathSegment[];
8341
9932
  };
8342
9933
  }
9934
+ interface ComponentPortPathSegment {
9935
+ kind: 'widget' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
9936
+ id?: string;
9937
+ key?: string;
9938
+ index?: number;
9939
+ componentType?: string;
9940
+ }
8343
9941
  interface StateEndpointRef {
8344
9942
  kind: 'state';
8345
9943
  ref: {
@@ -8348,7 +9946,11 @@ interface StateEndpointRef {
8348
9946
  writable?: boolean;
8349
9947
  };
8350
9948
  }
8351
- type EndpointRef = ComponentPortEndpointRef | StateEndpointRef;
9949
+ interface GlobalActionEndpointRef {
9950
+ kind: 'global-action';
9951
+ ref: GlobalActionRef;
9952
+ }
9953
+ type EndpointRef = ComponentPortEndpointRef | StateEndpointRef | GlobalActionEndpointRef;
8352
9954
  type LinkIntent = 'event-propagation' | 'state-write' | 'state-read' | 'command-dispatch' | 'selection-sync' | 'data-projection' | 'status-propagation';
8353
9955
  interface LinkPolicy {
8354
9956
  debounceMs?: number;
@@ -8379,7 +9981,7 @@ interface CompositionLink {
8379
9981
 
8380
9982
  type DiagnosticSeverity = 'info' | 'warning' | 'error' | 'fatal';
8381
9983
  type DiagnosticPhase = 'catalog-lint' | 'page-lint' | 'semantic-validation' | 'runtime-bootstrap' | 'runtime-dispatch' | 'runtime-transform' | 'runtime-state' | 'runtime-delivery' | 'runtime-diagnostic';
8382
- type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
9984
+ type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'global-action' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
8383
9985
  interface DiagnosticSubjectRef {
8384
9986
  kind: DiagnosticSubjectKind;
8385
9987
  pageId?: string;
@@ -8387,6 +9989,7 @@ interface DiagnosticSubjectRef {
8387
9989
  widgetType?: string;
8388
9990
  portId?: string;
8389
9991
  statePath?: string;
9992
+ actionId?: string;
8390
9993
  linkId?: string;
8391
9994
  transformIndex?: number;
8392
9995
  eventId?: string;
@@ -8582,6 +10185,7 @@ interface FormActionButton {
8582
10185
  disabled?: boolean;
8583
10186
  type?: 'button' | 'submit' | 'reset';
8584
10187
  action?: string;
10188
+ globalAction?: GlobalActionRef;
8585
10189
  tooltip?: string;
8586
10190
  loading?: boolean;
8587
10191
  size?: 'small' | 'medium' | 'large';
@@ -8729,7 +10333,7 @@ interface FieldsetLayout {
8729
10333
  rows: FormRowLayout[];
8730
10334
  hiddenCondition?: JsonLogicExpression | null;
8731
10335
  }
8732
- type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column';
10336
+ type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
8733
10337
  interface FormLayoutRule {
8734
10338
  id: string;
8735
10339
  name: string;
@@ -8868,6 +10472,29 @@ interface EditorialFormTemplateBuildOptions {
8868
10472
  */
8869
10473
  declare function buildFormConfigFromEditorialTemplate(template: EditorialFormTemplate, options?: EditorialFormTemplateBuildOptions): FormConfig;
8870
10474
 
10475
+ interface FormFieldLayoutItem {
10476
+ kind: 'field';
10477
+ id: string;
10478
+ fieldName: string;
10479
+ }
10480
+ interface FormRichContentLayoutItem {
10481
+ kind: 'richContent';
10482
+ id: string;
10483
+ document: RichContentDocument;
10484
+ layout?: 'block' | 'inline';
10485
+ rootClassName?: string | null;
10486
+ }
10487
+ type FormLayoutItem = FormFieldLayoutItem | FormRichContentLayoutItem;
10488
+ interface FormLayoutItemsColumnLike {
10489
+ fields?: unknown;
10490
+ items?: unknown;
10491
+ }
10492
+ declare function createFieldLayoutItem(fieldName: string, index?: number): FormFieldLayoutItem;
10493
+ declare function isFormLayoutItem(value: unknown): value is FormLayoutItem;
10494
+ declare function normalizeFormLayoutItems(column: FormLayoutItemsColumnLike | null | undefined): FormLayoutItem[];
10495
+ declare function getFormLayoutFieldNames(items: readonly FormLayoutItem[] | null | undefined): string[];
10496
+ declare function getFormColumnFieldNames(column: FormLayoutItemsColumnLike | null | undefined): string[];
10497
+
8871
10498
  type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
8872
10499
  interface ColumnSpan {
8873
10500
  xs?: number;
@@ -8899,7 +10526,10 @@ interface ColumnHidden {
8899
10526
  }
8900
10527
  type ColumnAlign = 'start' | 'center' | 'end' | 'stretch';
8901
10528
  interface FormColumn {
10529
+ /** Legacy field-name list accepted as migration input while items becomes canonical. */
8902
10530
  fields: string[];
10531
+ /** Canonical ordered layout items for fields and visual blocks. */
10532
+ items?: FormLayoutItem[];
8903
10533
  id: string;
8904
10534
  title?: string;
8905
10535
  span?: ColumnSpan;
@@ -8973,8 +10603,10 @@ interface FormSectionHeaderAction {
8973
10603
  label: string;
8974
10604
  /** Icon rendered in the section header action slot. */
8975
10605
  icon: string;
8976
- /** Optional action name emitted by the runtime; defaults to `id` when omitted. */
10606
+ /** Optional local action name emitted by the runtime; defaults to `id` when omitted. */
8977
10607
  action?: string;
10608
+ /** Optional structured global action executed by hosts through GlobalActionService. */
10609
+ globalAction?: GlobalActionRef;
8978
10610
  /** Optional tooltip override. Falls back to `label` when omitted. */
8979
10611
  tooltip?: string;
8980
10612
  /** Optional theme color mapped to Angular Material button tones. */
@@ -9069,6 +10701,8 @@ interface FormConfig {
9069
10701
  messages?: FormMessagesLayout;
9070
10702
  /** Form rules for dynamic behavior */
9071
10703
  formRules?: FormLayoutRule[];
10704
+ /** Conditional command rules evaluated after form rule values stabilize. */
10705
+ formCommandRules?: PraxisRuntimeConditionalEffectRule<PraxisRuntimeGlobalActionEffect>[];
9072
10706
  /**
9073
10707
  * Raw state emitted by the visual rule builder.
9074
10708
  * Stored separately to allow round-trip editing without losing metadata.
@@ -9279,6 +10913,7 @@ interface FormInitializationError {
9279
10913
  }
9280
10914
  interface FormCustomActionEvent {
9281
10915
  actionId: string;
10916
+ globalAction?: GlobalActionRef;
9282
10917
  formData: any;
9283
10918
  isValid: boolean;
9284
10919
  source: 'button' | 'shortcut' | 'section-header';
@@ -9302,7 +10937,7 @@ interface RulePropertyDefinition {
9302
10937
  }>;
9303
10938
  category?: 'content' | 'appearance' | 'behavior' | 'layout' | 'validation';
9304
10939
  }
9305
- type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column', RulePropertyDefinition[]>;
10940
+ type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', RulePropertyDefinition[]>;
9306
10941
  declare const RULE_PROPERTY_SCHEMA: RulePropertySchema;
9307
10942
 
9308
10943
  type EditorialOrientation = 'horizontal' | 'vertical';
@@ -10224,6 +11859,43 @@ declare function createPersistedPage(identity: PageIdentity, page: WidgetPageDef
10224
11859
  status?: PersistedPageConfig['status'];
10225
11860
  }): PersistedPageConfig;
10226
11861
 
11862
+ type RecordRelatedSurfaceOperationId = 'dynamicPage.surface.discover' | 'dynamicPage.surface.open' | 'dynamicPage.surface.query';
11863
+ interface RecordRelatedSurfaceEndpoint {
11864
+ widget: string;
11865
+ componentType?: string;
11866
+ nestedPath?: ComponentPortPathSegment[];
11867
+ port?: string;
11868
+ childWidgetKey?: string;
11869
+ resourcePath?: string | null;
11870
+ }
11871
+ interface RecordRelatedSurfaceContext {
11872
+ id: string;
11873
+ label: string;
11874
+ relation: string;
11875
+ operationId: RecordRelatedSurfaceOperationId;
11876
+ source: RecordRelatedSurfaceEndpoint;
11877
+ target: RecordRelatedSurfaceEndpoint;
11878
+ resourceSurface?: ResourceSurfaceCatalogItem;
11879
+ statePath?: string;
11880
+ description?: string | null;
11881
+ }
11882
+ interface RecordRelatedSurfaceContextPack {
11883
+ source: 'dynamic-page-composition' | 'resource-capabilities' | 'mixed';
11884
+ surfaces: RecordRelatedSurfaceContext[];
11885
+ }
11886
+
11887
+ interface DomainKnowledgeTimelineRichContentOptions {
11888
+ title?: string;
11889
+ emptyText?: string;
11890
+ }
11891
+ declare function domainKnowledgeTimelineToRichContentDocument(timeline: DomainKnowledgeChangeSetTimelineResponse, options?: DomainKnowledgeTimelineRichContentOptions): RichContentDocument;
11892
+
11893
+ interface DomainRuleTimelineRichContentOptions {
11894
+ title?: string;
11895
+ emptyText?: string;
11896
+ }
11897
+ declare function domainRuleTimelineToRichContentDocument(timeline: DomainRuleTimelineResponse, options?: DomainRuleTimelineRichContentOptions): RichContentDocument;
11898
+
10227
11899
  /**
10228
11900
  * Navigation/back behavior configuration used by form hosts (e.g., CRUD dialogs/routes).
10229
11901
  * Moved from @praxisui/crud to @praxisui/core to avoid circular deps between
@@ -10243,16 +11915,59 @@ interface BackConfig {
10243
11915
  confirmOnDirty?: boolean;
10244
11916
  }
10245
11917
 
11918
+ declare const PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION: "praxis.query-filter-expression.v1";
11919
+ interface PraxisDataQueryContextMeta extends Record<string, unknown> {
11920
+ domainCatalog?: DomainCatalogContextHint | null;
11921
+ }
10246
11922
  interface PraxisDataQueryContext {
10247
11923
  filters?: Record<string, unknown> | null;
11924
+ filterExpression?: PraxisQueryFilterExpression | null;
10248
11925
  sort?: string[] | null;
10249
11926
  limit?: number | null;
10250
11927
  page?: {
10251
11928
  index?: number | null;
10252
11929
  size?: number | null;
10253
11930
  } | null;
10254
- meta?: Record<string, unknown> | null;
11931
+ meta?: PraxisDataQueryContextMeta | null;
11932
+ }
11933
+ interface PraxisQueryFilterExpression {
11934
+ schemaVersion: typeof PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION;
11935
+ root: PraxisQueryFilterNode;
11936
+ projection?: {
11937
+ filters?: Record<string, unknown> | null;
11938
+ lossless: boolean;
11939
+ reason?: string;
11940
+ } | null;
11941
+ governance?: PraxisQueryFilterGovernance | null;
11942
+ }
11943
+ interface PraxisQueryFilterGovernance extends Record<string, unknown> {
11944
+ source?: 'selected-records' | 'manual' | 'workflow' | 'ai-authored';
11945
+ decisionId?: string;
11946
+ explanation?: string;
11947
+ }
11948
+ type PraxisQueryFilterNode = PraxisQueryFilterGroup | PraxisQueryFilterPredicate;
11949
+ interface PraxisQueryFilterGroup {
11950
+ kind: 'group';
11951
+ operator: 'all' | 'any';
11952
+ clauses: PraxisQueryFilterNode[];
11953
+ }
11954
+ interface PraxisQueryFilterPredicate {
11955
+ kind: 'predicate';
11956
+ field: string;
11957
+ operator: PraxisQueryFilterPredicateOperator;
11958
+ value?: unknown;
11959
+ values?: unknown[];
11960
+ label?: string;
11961
+ source?: PraxisQueryFilterPredicateSource;
11962
+ }
11963
+ type PraxisQueryFilterPredicateOperator = 'equals' | 'notEquals' | 'in' | 'notIn' | 'contains' | 'startsWith' | 'between' | 'gte' | 'lte' | 'isNull' | 'isNotNull';
11964
+ interface PraxisQueryFilterPredicateSource extends Record<string, unknown> {
11965
+ kind: 'selected-records' | 'manual' | 'workflow' | 'current-context';
11966
+ field?: string;
11967
+ selectedIds?: Array<string | number>;
10255
11968
  }
11969
+ declare function normalizePraxisQueryFilterNode(node?: Record<string, unknown> | null): PraxisQueryFilterNode | null;
11970
+ declare function normalizePraxisQueryFilterExpression(expression?: Partial<PraxisQueryFilterExpression> | null): PraxisQueryFilterExpression | null;
10256
11971
  declare function normalizePraxisDataQueryContext(context?: PraxisDataQueryContext | null): PraxisDataQueryContext | null;
10257
11972
  declare function resolvePraxisFilterCriteria(filterCriteria?: Record<string, unknown> | null, queryContext?: PraxisDataQueryContext | null): Record<string, unknown>;
10258
11973
 
@@ -10268,6 +11983,12 @@ interface LoadingState {
10268
11983
  componentType?: string;
10269
11984
  componentId?: string;
10270
11985
  resourcePath?: string;
11986
+ totalItems?: number;
11987
+ loadedItemsCount?: number;
11988
+ page?: {
11989
+ index?: number;
11990
+ size?: number;
11991
+ };
10271
11992
  };
10272
11993
  timestamp?: string;
10273
11994
  }
@@ -10545,6 +12266,7 @@ declare const INLINE_FILTER_CONTROL_TYPES: Readonly<{
10545
12266
  readonly CURRENCY_RANGE: "inlineCurrencyRange";
10546
12267
  readonly MULTI_SELECT: "inlineMultiSelect";
10547
12268
  readonly INPUT: "inlineInput";
12269
+ readonly PHONE: "inlinePhone";
10548
12270
  readonly TOGGLE: "inlineToggle";
10549
12271
  readonly RANGE: "inlineRange";
10550
12272
  readonly PERIOD_RANGE: "inlinePeriodRange";
@@ -10591,7 +12313,7 @@ interface GlobalActionField {
10591
12313
  dependsOnValue?: string;
10592
12314
  }
10593
12315
  interface GlobalActionUiSchema {
10594
- id: GlobalActionId;
12316
+ id: string;
10595
12317
  label: string;
10596
12318
  fields: GlobalActionField[];
10597
12319
  editorMode?: 'default' | 'surface-open';
@@ -10599,6 +12321,33 @@ interface GlobalActionUiSchema {
10599
12321
  declare const GLOBAL_ACTION_UI_SCHEMAS: GlobalActionUiSchema[];
10600
12322
  declare function getGlobalActionUiSchema(id: string | undefined): GlobalActionUiSchema | undefined;
10601
12323
 
12324
+ type GlobalActionValidationCode = 'globalAction.actionId.required' | 'globalAction.payload.required' | 'globalAction.payload.type';
12325
+ interface GlobalActionValidationIssue {
12326
+ code: GlobalActionValidationCode;
12327
+ path?: string;
12328
+ actionId?: string;
12329
+ requiredKeys?: string[];
12330
+ missingKeys?: string[];
12331
+ expectedType?: string;
12332
+ actualType?: string;
12333
+ }
12334
+ interface GlobalActionValidationTarget {
12335
+ ref: GlobalActionRef | null | undefined;
12336
+ catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null;
12337
+ path?: string;
12338
+ }
12339
+ declare function normalizeGlobalActionRef(ref: GlobalActionRef | null | undefined): GlobalActionRef | null;
12340
+ declare function isGlobalActionRef(value: unknown): value is GlobalActionRef;
12341
+ declare function getRequiredGlobalActionPayloadKeys(actionId: string | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12342
+ declare function hasMeaningfulGlobalActionPayloadValue(value: any): boolean;
12343
+ declare function getMissingGlobalActionPayloadKeys(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12344
+ declare function isRequiredGlobalActionParamPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12345
+ declare function isRequiredGlobalActionPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12346
+ declare function getGlobalActionPayloadActualType(value: unknown): string;
12347
+ declare function getGlobalActionPayloadTypeIssue(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): Pick<GlobalActionValidationIssue, 'expectedType' | 'actualType'> | null;
12348
+ declare function validateGlobalActionRef(ref: GlobalActionRef | null | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null, path?: string): GlobalActionValidationIssue[];
12349
+ declare function validateGlobalActionRefs(targets: GlobalActionValidationTarget[]): GlobalActionValidationIssue[];
12350
+
10602
12351
  interface SurfaceOpenPreset {
10603
12352
  id: string;
10604
12353
  label: string;
@@ -10727,6 +12476,209 @@ interface AiConcept {
10727
12476
  }
10728
12477
  type AiConceptPack = Record<string, AiConcept>;
10729
12478
 
12479
+ /**
12480
+ * Representa o contrato canônico de authoring executável de um componente.
12481
+ */
12482
+ interface ComponentAuthoringManifest {
12483
+ /** Versão do schema do manifesto (ex: 1.0.0) */
12484
+ schemaVersion: string;
12485
+ /** Identificador único do componente no registry (ex: praxis-table) */
12486
+ componentId: string;
12487
+ /** Nome do pacote npm que possui o componente (ex: @praxisui/table) */
12488
+ ownerPackage: string;
12489
+ /** ID do schema de configuração (ex: TableConfig) */
12490
+ configSchemaId: string;
12491
+ /** Versão do manifesto específico deste componente */
12492
+ manifestVersion: string;
12493
+ /** Inputs que o componente aceita em runtime */
12494
+ runtimeInputs: ManifestInput[];
12495
+ /** Alvos que podem ser editados via AI */
12496
+ editableTargets: ManifestTarget[];
12497
+ /** Operações atômicas permitidas */
12498
+ operations: ManifestOperation[];
12499
+ /** Validadores de integridade da configuração */
12500
+ validators: ManifestValidator[];
12501
+ /** Requisitos para round-trip sem perda de informação */
12502
+ roundTripRequirements?: string[];
12503
+ /**
12504
+ * Exemplos de intenção → operação para uso em Few-Shot e evals.
12505
+ * Obrigatório: o gate de aceitação rejeita manifestos sem examples.
12506
+ * Deve conter ao menos um exemplo negativo (isPositive: false).
12507
+ */
12508
+ examples: ManifestExample[];
12509
+ /**
12510
+ * Perfis opcionais para familias de componentes que compartilham um manifesto
12511
+ * base, mas precisam expor semantica granular por componente/controlType.
12512
+ */
12513
+ controlProfiles?: ManifestControlProfile[];
12514
+ }
12515
+ interface ManifestInput {
12516
+ name: string;
12517
+ type: string;
12518
+ description?: string;
12519
+ allowedValues?: any[];
12520
+ }
12521
+ interface ManifestTarget {
12522
+ kind: string;
12523
+ resolver: string;
12524
+ description: string;
12525
+ }
12526
+ /**
12527
+ * Política de submissão para campos locais num formulário.
12528
+ * - 'omit': campo não é incluído no payload de submissão (default para campos locais).
12529
+ * - 'include': campo é sempre incluído no payload.
12530
+ * - 'includeWhenDirty': campo é incluído apenas se o valor foi alterado pelo usuário.
12531
+ * NOTA: 'transient' NÃO é um valor válido; use source:'local' + transient:true no schema de input.
12532
+ */
12533
+ type SubmitPolicy = 'omit' | 'include' | 'includeWhenDirty';
12534
+ type ManifestSubmissionImpact = 'none' | 'visual-only' | 'config-only' | 'affects-submission' | 'affects-schema-backed-data' | 'affects-remote-binding';
12535
+ interface ManifestOperation {
12536
+ operationId: string;
12537
+ title: string;
12538
+ /**
12539
+ * Escopo da operação.
12540
+ * - 'global': opera sobre a configuração raiz; target.required deve ser false.
12541
+ * - Outros valores: opera sobre um alvo específico; target.required deve ser true.
12542
+ * O valor 'target' é reservado para uso futuro e não deve ser usado.
12543
+ */
12544
+ 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';
12545
+ /**
12546
+ * @deprecated Use `target.kind` em vez disso.
12547
+ * Mantido para compatibilidade retroativa com ferramentas que lêem o registry.
12548
+ * Deve ser igual a `target.kind` quando `target` estiver presente.
12549
+ */
12550
+ targetKind?: string;
12551
+ /**
12552
+ * Definição estruturada do alvo da operação.
12553
+ * Obrigatório para operações com scope diferente de 'global'.
12554
+ * Usado pelo backend para resolver o alvo antes de compilar o patch.
12555
+ */
12556
+ target?: {
12557
+ /** Tipo do alvo (ex: column, rule) */
12558
+ kind: string;
12559
+ /** Resolver canônico usado para localizar o alvo (ex: column-by-field) */
12560
+ resolver: string;
12561
+ /** Política para lidar com ambiguidades na resolução */
12562
+ ambiguityPolicy?: 'fail' | 'first' | 'all';
12563
+ /** Se o alvo é obrigatório para a operação */
12564
+ required: boolean;
12565
+ };
12566
+ /** Schema JSON do payload de entrada da operação */
12567
+ inputSchema: any;
12568
+ /**
12569
+ * Efeitos que a operação causa na configuração.
12570
+ * Usado pelo backend para compilar o patch de forma determinística.
12571
+ */
12572
+ effects: ManifestEffect[];
12573
+ /** Se true, a operação é destrutiva e pode causar perda de dados/configuração */
12574
+ destructive?: boolean;
12575
+ /**
12576
+ * Se true, o agente DEVE solicitar confirmação explícita antes de aplicar.
12577
+ * Obrigatório para todas as operações com destructive:true.
12578
+ */
12579
+ requiresConfirmation?: boolean;
12580
+ /** IDs dos validadores que devem ser executados para esta operação */
12581
+ validators?: string[];
12582
+ /**
12583
+ * Caminhos (JSON Path-like) na configuração afetados por esta operação.
12584
+ * Deve cobrir todos os paths tocados pelos effects.
12585
+ * Usado pelo backend para validação de acesso e auditoria de mudanças.
12586
+ */
12587
+ affectedPaths: string[];
12588
+ /**
12589
+ * Impacto declarado da operação sobre submissão, configuração visual ou binding remoto.
12590
+ * Boolean permanece aceito para manifests legados; manifests semanticamente validados devem usar
12591
+ * ManifestSubmissionImpact para evitar inferencia fragil no backend.
12592
+ */
12593
+ submissionImpact: ManifestSubmissionImpact | boolean;
12594
+ /**
12595
+ * Condições de estado que devem ser verdadeiras antes de executar a operação.
12596
+ * Usado pelo backend para validação prévia ao patch.
12597
+ * Ex: ['config-initialized', 'target-exists']
12598
+ */
12599
+ preconditions: string[];
12600
+ }
12601
+ /**
12602
+ * Efeito atômico sobre a configuração.
12603
+ * Usa discriminated union por `kind` para documentar quais campos são obrigatórios:
12604
+ *
12605
+ * - 'merge-object': path obrigatório; funde o payload no objeto no path.
12606
+ * - 'merge-by-key': path + key obrigatórios; funde pelo campo-chave em uma coleção.
12607
+ * - 'append-unique': path + key obrigatórios; adiciona item se não existir (deduplicação por key).
12608
+ * - 'remove-by-key': path + key obrigatórios; remove item da coleção pelo valor da key.
12609
+ * - 'reorder-by-key': path + key obrigatórios; reordena coleção por key.
12610
+ * - 'set-value': path obrigatório; seta o valor diretamente no path.
12611
+ * - 'compile-domain-patch': handler obrigatório; delega compilação a um handler especializado.
12612
+ */
12613
+ interface ManifestEffect {
12614
+ kind: 'merge-object' | 'merge-by-key' | 'append-unique' | 'remove-by-key' | 'reorder-by-key' | 'set-value' | 'compile-domain-patch';
12615
+ /** Path JSON-like na configuração onde o efeito é aplicado. Obrigatório para todos os kinds exceto 'compile-domain-patch'. */
12616
+ path?: string;
12617
+ /** Chave de identidade em coleções. Obrigatório para merge-by-key, append-unique, remove-by-key, reorder-by-key. */
12618
+ key?: string;
12619
+ /** Valor literal para efeitos set-value quando o valor não vem do input da operação. */
12620
+ value?: unknown;
12621
+ /** Caminho opcional dentro do input da operação usado por efeitos set-value. */
12622
+ inputPath?: string;
12623
+ /** ID do handler especializado. Obrigatório quando kind é 'compile-domain-patch'. */
12624
+ handler?: string;
12625
+ handlerContract?: ManifestDomainPatchHandlerContract;
12626
+ }
12627
+ interface ManifestDomainPatchHandlerContract {
12628
+ reads: string[];
12629
+ writes: string[];
12630
+ identityKeys: string[];
12631
+ inputSchema?: any;
12632
+ failureModes: string[];
12633
+ description: string;
12634
+ }
12635
+ interface ManifestValidator {
12636
+ validatorId: string;
12637
+ level: 'error' | 'warning' | 'info';
12638
+ code: string;
12639
+ description: string;
12640
+ }
12641
+ interface ManifestExample {
12642
+ id: string;
12643
+ request: string;
12644
+ operationId: string;
12645
+ target?: string;
12646
+ params?: any;
12647
+ isPositive?: boolean;
12648
+ }
12649
+ interface ManifestControlProfile {
12650
+ /** Identificador estavel do perfil dentro do manifesto familiar. */
12651
+ profileId: string;
12652
+ /** Nome curto usado por ferramentas de authoring. */
12653
+ title: string;
12654
+ /** Explica a semantica que este perfil adiciona sobre o manifesto base. */
12655
+ description: string;
12656
+ /** Regras deterministicas para projetar o perfil em componentes do registry. */
12657
+ appliesTo: ManifestControlProfileApplicability;
12658
+ /** Alvos adicionais ou refinados que este perfil torna editaveis. */
12659
+ editableTargets?: ManifestTarget[];
12660
+ /** Operacoes especificas do perfil/controlType. */
12661
+ operations: ManifestOperation[];
12662
+ /** Validadores especificos do perfil/controlType. */
12663
+ validators: ManifestValidator[];
12664
+ /** Exemplos/evals especificos do perfil/controlType. */
12665
+ examples: ManifestExample[];
12666
+ /** Requisitos adicionais de round-trip para este perfil. */
12667
+ roundTripRequirements?: string[];
12668
+ }
12669
+ interface ManifestControlProfileApplicability {
12670
+ /** IDs de componentes do registry que devem receber este perfil. */
12671
+ componentIds?: string[];
12672
+ /** Selectors publicos que devem receber este perfil. */
12673
+ selectors?: string[];
12674
+ /** Control types canonicos ou aliases que devem receber este perfil. */
12675
+ controlTypes?: string[];
12676
+ /** Tags de ComponentDocMeta usadas como fallback de classificacao. */
12677
+ tags?: string[];
12678
+ /** Tipos do input `metadata` usados como fallback de classificacao. */
12679
+ metadataInputTypes?: string[];
12680
+ }
12681
+
10730
12682
  /**
10731
12683
  * Catálogo de capacidades genéricas de FieldMetadata para uso da IA.
10732
12684
  * Baseado em projects/praxis-core/src/lib/models/component-metadata.interface.ts
@@ -10748,7 +12700,7 @@ declare function getFieldMetadataCapabilities(): Capability$1[];
10748
12700
  * Paths follow WidgetPageDefinition shape under "page".
10749
12701
  */
10750
12702
 
10751
- declare module "./index" {
12703
+ declare module "./praxisui-core" {
10752
12704
  interface AiCapabilityCategoryMap {
10753
12705
  page: true;
10754
12706
  layout: true;
@@ -10756,6 +12708,7 @@ declare module "./index" {
10756
12708
  shell: true;
10757
12709
  connections: true;
10758
12710
  context: true;
12711
+ state: true;
10759
12712
  }
10760
12713
  }
10761
12714
  type CapabilityCategory = AiCapabilityCategory;
@@ -10786,7 +12739,11 @@ interface ComponentActionParam {
10786
12739
  }
10787
12740
  interface ComponentContextAction {
10788
12741
  id: string;
10789
- keywords?: string[];
12742
+ /**
12743
+ * Natural-language examples for LLM grounding only.
12744
+ * Runtime code must not use these strings for keyword routing.
12745
+ */
12746
+ intentExamples?: string[];
10790
12747
  patchTemplate: any;
10791
12748
  safetyNotes?: string;
10792
12749
  /**
@@ -10842,10 +12799,14 @@ interface ComponentMergePatch<TConfig extends Record<string, unknown> = Record<s
10842
12799
 
10843
12800
  declare const DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK: ComponentContextPack;
10844
12801
 
12802
+ declare const DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK: ComponentContextPack;
12803
+
10845
12804
  interface WidgetEventPathSegment {
10846
- kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
12805
+ kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group' | 'widget';
10847
12806
  id?: string;
12807
+ key?: string;
10848
12808
  index?: number;
12809
+ componentType?: string;
10849
12810
  }
10850
12811
  interface WidgetEventEnvelope {
10851
12812
  /** Optional top-level page widget key that owns the event tree. */
@@ -10867,6 +12828,50 @@ interface WidgetResolutionDiagnostic {
10867
12828
  error?: unknown;
10868
12829
  }
10869
12830
 
12831
+ interface WidgetEventPathNormalizeOptions {
12832
+ /** Optional owner component id used to strip only the top-level container segment. */
12833
+ ownerComponentId?: string;
12834
+ }
12835
+ interface WidgetEventPathNormalizeInput {
12836
+ path?: WidgetEventPathSegment[];
12837
+ sourceChildWidgetKey?: string;
12838
+ sourceComponentId?: string;
12839
+ }
12840
+ declare function normalizeWidgetEventPath(event: WidgetEventEnvelope | WidgetEventPathNormalizeInput, options?: WidgetEventPathNormalizeOptions): ComponentPortPathSegment[];
12841
+
12842
+ interface NestedWidgetResolution {
12843
+ ownerWidgetKey: string;
12844
+ nestedPath: ComponentPortPathSegment[];
12845
+ widget: WidgetDefinition;
12846
+ componentId: string;
12847
+ childWidgetKey: string;
12848
+ }
12849
+ interface NestedWidgetInputPatchResult {
12850
+ widget: WidgetInstance;
12851
+ changed: boolean;
12852
+ }
12853
+ declare class NestedWidgetConfigAccessor {
12854
+ listNestedWidgets(owner: WidgetInstance): NestedWidgetResolution[];
12855
+ resolveNestedWidget(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined): WidgetDefinition | undefined;
12856
+ setNestedWidgetInput(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined, inputName: string, value: unknown): NestedWidgetInputPatchResult;
12857
+ private listNestedWidgetsInDefinition;
12858
+ private resolveNestedWidgetInDefinition;
12859
+ private setNestedWidgetInputInDefinition;
12860
+ private listChildWidgetLocations;
12861
+ private listTabsWidgetLocations;
12862
+ private listExpansionWidgetLocations;
12863
+ private resolveWidgetArrayLocation;
12864
+ private resolveTabsWidgetArray;
12865
+ private resolveExpansionWidgetArray;
12866
+ private findBySegment;
12867
+ private segmentIdentity;
12868
+ private asWidgetDefinitions;
12869
+ private isWidgetDefinition;
12870
+ private resolveChildWidgetKey;
12871
+ private clone;
12872
+ private isEqual;
12873
+ }
12874
+
10870
12875
  type EditorialContentFormat = 'plain' | 'markdown';
10871
12876
  interface EditorialLinkDefinition {
10872
12877
  label: string;
@@ -11070,17 +13075,27 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
11070
13075
  widgetDiagnostic: EventEmitter<WidgetResolutionDiagnostic>;
11071
13076
  private compRef?;
11072
13077
  private currentId?;
13078
+ private currentUsesInitialBindings;
13079
+ private currentInitialBindingSignature;
11073
13080
  private outputSubs;
11074
13081
  /** Dispatch a shell action to the inner widget instance when supported. */
11075
13082
  dispatchAction(action: WidgetShellActionEvent): boolean;
11076
13083
  ngOnInit(): void;
11077
13084
  ngOnChanges(changes: SimpleChanges): void;
11078
13085
  ngOnDestroy(): void;
13086
+ renderNow(): void;
11079
13087
  private parseWidget;
11080
13088
  private tryRender;
11081
13089
  private createComponent;
11082
13090
  private destroyCurrent;
13091
+ private shouldUseInitialInputBindings;
11083
13092
  private bindInputs;
13093
+ private initialBindingSignature;
13094
+ private orderedInputEntries;
13095
+ private resolveAndCoerceValue;
13096
+ private withInferredIdentityInputs;
13097
+ private normalizeMaterializedRuntimeInputs;
13098
+ private inferResourcePathFromSchemaUrl;
11084
13099
  private bindOutputs;
11085
13100
  private resolveValue;
11086
13101
  private get widgetDefinition();
@@ -11088,6 +13103,8 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
11088
13103
  private lookup;
11089
13104
  private validateAgainstMetadata;
11090
13105
  private coercePrimitive;
13106
+ private stableStringify;
13107
+ private stableSerializableValue;
11091
13108
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetLoaderDirective, never>;
11092
13109
  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>;
11093
13110
  }
@@ -11098,6 +13115,7 @@ declare const BUILTIN_SHELL_PRESETS: Record<string, NonNullable<Appearance>>;
11098
13115
  declare class WidgetShellComponent implements OnChanges {
11099
13116
  private readonly i18n;
11100
13117
  get hostCollapsed(): boolean;
13118
+ get dragSurfaceInteractive(): boolean;
11101
13119
  shell?: WidgetShellConfig | null;
11102
13120
  context?: Record<string, any> | null;
11103
13121
  dragSurfaceEnabled: boolean;
@@ -11110,7 +13128,10 @@ declare class WidgetShellComponent implements OnChanges {
11110
13128
  collapsed: boolean;
11111
13129
  expanded: boolean;
11112
13130
  fullscreen: boolean;
11113
- ngOnChanges(): void;
13131
+ private initializedWindowState;
13132
+ private lastWindowStateInputs?;
13133
+ ngOnChanges(changes: SimpleChanges): void;
13134
+ private syncInitialWindowState;
11114
13135
  get shellEnabled(): boolean;
11115
13136
  get showHeader(): boolean;
11116
13137
  get headerActions(): ActionList;
@@ -11129,6 +13150,8 @@ declare class WidgetShellComponent implements OnChanges {
11129
13150
  private isVisible;
11130
13151
  private resolvePresetAppearance;
11131
13152
  private mergeAppearance;
13153
+ private readWindowStateInputs;
13154
+ private areWindowStateInputsEqual;
11132
13155
  private isInteractiveHeaderTarget;
11133
13156
  private t;
11134
13157
  static ɵfac: i0.ɵɵFactoryDeclaration<WidgetShellComponent, never>;
@@ -11166,6 +13189,7 @@ declare class WidgetPageStateRuntimeService {
11166
13189
  private evaluateDerivedJsonLogic;
11167
13190
  private resolveCaseValue;
11168
13191
  private resolveTemplate;
13192
+ private isPageStateTemplatePath;
11169
13193
  private normalizeDependencyPath;
11170
13194
  private readPath;
11171
13195
  private isPlainObject;
@@ -11194,6 +13218,86 @@ interface WidgetPageComposition {
11194
13218
  context: Record<string, unknown>;
11195
13219
  }
11196
13220
 
13221
+ interface NestedPortCatalogRegistry {
13222
+ get(id: string): Pick<ComponentDocMeta, 'ports'> | undefined;
13223
+ }
13224
+ interface ResolvedNestedPort {
13225
+ ownerWidgetKey: string;
13226
+ ownerComponentId?: string;
13227
+ nestedPath: ComponentPortPathSegment[];
13228
+ containerPath?: ComponentPortPathSegment[];
13229
+ port: PortContract;
13230
+ componentId: string;
13231
+ childWidgetKey: string;
13232
+ }
13233
+ interface NestedPortCatalogDiagnostic {
13234
+ code: 'NESTED_WIDGET_METADATA_MISSING' | 'NESTED_WIDGET_KEY_MISSING';
13235
+ severity: 'warning' | 'error';
13236
+ ownerWidgetKey: string;
13237
+ nestedPath: ComponentPortPathSegment[];
13238
+ componentId?: string;
13239
+ message: string;
13240
+ }
13241
+ interface NestedPortCatalogResult {
13242
+ ports: ResolvedNestedPort[];
13243
+ diagnostics: NestedPortCatalogDiagnostic[];
13244
+ }
13245
+ declare class NestedPortCatalogService {
13246
+ private readonly accessor;
13247
+ constructor(accessor?: NestedWidgetConfigAccessor);
13248
+ resolve(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry): NestedPortCatalogResult;
13249
+ resolveEndpoint(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry, options: {
13250
+ ownerWidgetKey: string;
13251
+ nestedPath: ComponentPortPathSegment[];
13252
+ portId: string;
13253
+ direction: PortContract['direction'];
13254
+ }): ResolvedNestedPort | undefined;
13255
+ private hasStableTerminalKey;
13256
+ private containerPath;
13257
+ private isSamePath;
13258
+ private clone;
13259
+ }
13260
+
13261
+ type SemanticEndpointRef = EndpointRef & {
13262
+ ref: EndpointRef['ref'] & {
13263
+ semanticKind?: TransformSemanticKind;
13264
+ };
13265
+ };
13266
+ type SemanticCompositionLink = CompositionLink & {
13267
+ from: SemanticEndpointRef;
13268
+ to: SemanticEndpointRef;
13269
+ transform?: TransformPipeline;
13270
+ };
13271
+ interface CompositionValidatorContext {
13272
+ page?: Pick<WidgetPageDefinition, 'widgets'>;
13273
+ registry?: NestedPortCatalogRegistry;
13274
+ links?: SemanticCompositionLink[];
13275
+ }
13276
+ declare class CompositionValidatorService {
13277
+ private readonly nestedPortCatalog;
13278
+ private readonly jsonLogic;
13279
+ constructor(nestedPortCatalog?: NestedPortCatalogService, jsonLogic?: PraxisJsonLogicService);
13280
+ validateLink(link: SemanticCompositionLink, context?: CompositionValidatorContext): DiagnosticRecord[];
13281
+ private validateEndpointDirections;
13282
+ private validateBindingPathBridge;
13283
+ private validateNestedComponentEndpoints;
13284
+ private validateNestedPortCatalog;
13285
+ private projectCatalogDiagnostics;
13286
+ private validateNestedWidgetEventCoexistence;
13287
+ private validateStateWrites;
13288
+ private validateGlobalActionTarget;
13289
+ private validateCondition;
13290
+ private validateTransformCatalog;
13291
+ private validateSemanticCompatibility;
13292
+ private endpointSemanticKind;
13293
+ private areSemanticKindsCompatible;
13294
+ private areKindsDirectlyCompatible;
13295
+ private createDiagnostic;
13296
+ private formatNestedPath;
13297
+ private nestedEndpointSubject;
13298
+ private isSameNestedPath;
13299
+ }
13300
+
11197
13301
  interface CompositionRuntimeStoreInit {
11198
13302
  pageId?: string;
11199
13303
  status?: RuntimeSnapshotStatus;
@@ -11267,13 +13371,16 @@ interface LinkExecutionContext {
11267
13371
  lastDeliveredAt?: string;
11268
13372
  }
11269
13373
  interface LinkExecutionDelivery {
11270
- kind: 'state' | 'component-port';
13374
+ kind: 'state' | 'component-port' | 'global-action';
11271
13375
  value: unknown;
11272
13376
  statePath?: string;
11273
13377
  stateLayer?: 'values' | 'derived' | 'transient';
11274
13378
  widgetKey?: string;
11275
13379
  portId?: string;
11276
13380
  bindingPath?: string;
13381
+ nestedPath?: ComponentPortPathSegment[];
13382
+ actionId?: string;
13383
+ actionRef?: GlobalActionRef;
11277
13384
  }
11278
13385
  interface LinkExecutionResult {
11279
13386
  status: 'delivered' | 'skipped' | 'failed';
@@ -11343,6 +13450,7 @@ interface CompositionRuntimeEngineOptions {
11343
13450
  linkExecutor?: LinkExecutorService;
11344
13451
  stateRuntime?: WidgetPageStateRuntimeService;
11345
13452
  traceService?: RuntimeTraceService;
13453
+ compositionValidator?: CompositionValidatorService;
11346
13454
  }
11347
13455
  interface CompositionStateWidgetPreviewOptions {
11348
13456
  widgets?: WidgetInstance[];
@@ -11359,7 +13467,9 @@ declare class CompositionRuntimeEngine {
11359
13467
  private readonly linkExecutor;
11360
13468
  private readonly stateRuntime;
11361
13469
  private readonly traceService;
13470
+ private readonly compositionValidator;
11362
13471
  private readonly pathAccessor;
13472
+ private readonly nestedWidgetAccessor;
11363
13473
  private definition;
11364
13474
  private readonly now;
11365
13475
  constructor(options?: CompositionRuntimeEngineOptions);
@@ -11371,11 +13481,13 @@ declare class CompositionRuntimeEngine {
11371
13481
  private createLinkSnapshot;
11372
13482
  private applyBootstrapHydration;
11373
13483
  private materializeDerivedState;
13484
+ private validateComposition;
11374
13485
  private createDerivedDiagnostic;
11375
13486
  private clonePreviewWidgets;
11376
13487
  private cloneJson;
11377
13488
  private extractDerivedNodeKey;
11378
13489
  private appendDiagnosticTraceEntries;
13490
+ private createNestedWidgetEventBridgeDiagnostics;
11379
13491
  }
11380
13492
 
11381
13493
  interface CompositionRuntimeFacadeOptions {
@@ -11466,8 +13578,12 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11466
13578
  pageIdentity?: PageIdentity;
11467
13579
  /** Optional instance key for pages rendered multiple times. */
11468
13580
  componentInstanceId?: string;
13581
+ /** Enables a contextual authoring assistant entrypoint for the selected widget. */
13582
+ showWidgetAssistantButton: boolean;
11469
13583
  pageChange: EventEmitter<WidgetPageDefinition>;
11470
13584
  widgetEvent: EventEmitter<WidgetEventEnvelope>;
13585
+ widgetSelectionChange: EventEmitter<string | null>;
13586
+ widgetAssistantRequested: EventEmitter<string>;
11471
13587
  widgetDiagnosticsChange: EventEmitter<Record<string, WidgetResolutionDiagnostic>>;
11472
13588
  widgets: i0.WritableSignal<WidgetInstance[]>;
11473
13589
  renderedGroups: i0.WritableSignal<RenderedWidgetGroup[]>;
@@ -11486,7 +13602,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11486
13602
  private pageColumnCount;
11487
13603
  private activeTabs;
11488
13604
  private widgetDiagnostics;
11489
- private selectedCanvasWidgetKey;
13605
+ private selectedWidgetKey;
11490
13606
  private blockedCanvasWidgetKey;
11491
13607
  private canvasPreviewState;
11492
13608
  private canvasPreviewInvalidState;
@@ -11497,6 +13613,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11497
13613
  private persistenceReady;
11498
13614
  private warnedMissingKey;
11499
13615
  private runtimeEventSequence;
13616
+ private readonly widgetShellRenderCache;
11500
13617
  private readonly compositionFactory;
11501
13618
  private readonly compositionRuntime;
11502
13619
  private compositionDefinition?;
@@ -11508,6 +13625,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11508
13625
  private readonly route;
11509
13626
  private readonly conn;
11510
13627
  private readonly stateRuntime;
13628
+ private readonly nestedWidgetAccessor;
11511
13629
  private readonly settingsPanel;
11512
13630
  private readonly defaultShellEditor;
11513
13631
  private readonly defaultPageEditor;
@@ -11516,37 +13634,92 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11516
13634
  ngOnChanges(changes: SimpleChanges): void;
11517
13635
  onWidgetEvent(fromKey: string, evt: WidgetEventEnvelope): void;
11518
13636
  private applyWidgetInputPatchToPage;
13637
+ private resolveWidgetInputPatchNestedPath;
11519
13638
  private extractWidgetInputPatch;
11520
13639
  private buildStateRuntime;
11521
13640
  private bootstrapCompositionAdapter;
11522
13641
  private applyEditShellActions;
11523
- private withShellActions;
11524
13642
  private applyBootstrapCompositionHydration;
13643
+ private applyRecordRelatedSurfaceAiContext;
13644
+ private buildRecordRelatedSurfacesBySource;
13645
+ private isTableRowClickToStateLink;
13646
+ private isStateToTableQueryContextLink;
13647
+ private resolveRecordSurfaceId;
13648
+ private resolveRecordSurfaceLabel;
13649
+ private resolveRecordSurfaceTabLabel;
13650
+ private humanizeRecordSurfaceLabel;
13651
+ private resolveRecordSurfaceChildWidgetKey;
13652
+ private recordSurfaceSourceKey;
13653
+ private recordSurfaceNestedPathSignature;
13654
+ private parseRecordSurfaceNestedPathSignature;
13655
+ private stringOrNull;
13656
+ private isRecord;
13657
+ private maybeOpenRecordRelatedSurface;
13658
+ private applyRecordSurfaceSourceState;
13659
+ private findRecordSurfaceTabIndex;
13660
+ private shouldMaterializeSelectedIndexInput;
11525
13661
  private reportStateDiagnostics;
11526
13662
  private dispatchWidgetEventToComposition;
13663
+ private matchesRuntimeSourceRef;
13664
+ private matchesLegacyWidgetEventSource;
13665
+ private areNestedPathsEqual;
11527
13666
  private stateFromCompositionSnapshot;
11528
13667
  private applyCompositionWidgetDeliveries;
13668
+ private executeCompositionGlobalActionDeliveries;
13669
+ private resolveCompositionGlobalActionRef;
11529
13670
  private buildStateContext;
11530
13671
  private cloneStateValues;
11531
13672
  private cloneGrouping;
11532
13673
  private resolveShellTemplates;
13674
+ private enrichRuntimeWidgetInputs;
13675
+ private buildRichContentHostCapabilities;
13676
+ private dispatchRichContentAction;
13677
+ private isRichContentActionAvailable;
13678
+ private hasRichContentCapability;
11533
13679
  private resolveComponentBindingPath;
11534
13680
  private buildRuntimeEventId;
11535
- private shouldInjectEditShellActions;
11536
- private canOpenWidgetShellSettings;
13681
+ canOpenWidgetShellSettings(): boolean;
13682
+ canOpenWidgetComponentSettings(key: string): boolean;
13683
+ componentSettingsLabel(): string;
13684
+ componentSettingsTooltip(): string;
13685
+ widgetSettingsLabel(): string;
13686
+ widgetSettingsTooltip(): string;
13687
+ widgetAssistantLabel(): string;
13688
+ widgetAssistantTooltip(): string;
13689
+ requestWidgetAssistant(widgetKey: string): void;
13690
+ widgetRemoveLabel(): string;
13691
+ moreWidgetActionsLabel(): string;
13692
+ widgetContextToolbarLabel(widgetKey: string): string;
13693
+ widgetContextLabel(widget: WidgetInstance): string;
13694
+ widgetContextTooltip(widget: WidgetInstance): string;
13695
+ shouldRenderWidgetContextOverlay(widget: WidgetInstance): boolean;
13696
+ widgetShellForRender(widget: WidgetInstance): WidgetShellConfig | null | undefined;
13697
+ private resolveWidgetDisplayName;
13698
+ private shouldProjectWidgetHeaderActions;
13699
+ private hasVisibleWidgetShellHeader;
13700
+ private hasVisibleShellActions;
13701
+ private hasVisibleWindowActions;
13702
+ private buildProjectedWidgetShellActions;
13703
+ private widgetShellActionSignature;
13704
+ private isVisibleShellAction;
11537
13705
  private areStateValuesEqual;
11538
13706
  onWidgetDiagnostic(widgetKey: string, diagnostic: WidgetResolutionDiagnostic): void;
11539
13707
  onShellAction(fromKey: string, evt: WidgetShellActionEvent): void;
11540
13708
  private handleSetInputCommand;
11541
13709
  private mergeOrder;
11542
13710
  private maybeExecuteMappedAction;
11543
- private maybeExecuteGlobalCommand;
11544
13711
  private resolveActionPayload;
11545
13712
  private resolveTemplate;
11546
13713
  private lookup;
11547
13714
  openWidgetShellSettings(key: string): void;
11548
13715
  openWidgetComponentSettings(key: string): void;
11549
13716
  private applyWidgetComponentInputs;
13717
+ confirmAndRemoveWidget(widgetKey: string): Promise<void>;
13718
+ removeSelectedWidget(): void;
13719
+ removeSelectedCanvasWidget(): void;
13720
+ private removeWidgetReferences;
13721
+ private linkReferencesWidget;
13722
+ private endpointReferencesWidget;
11550
13723
  openPageSettings(): void;
11551
13724
  private applyWidgetShell;
11552
13725
  private applyPageLayout;
@@ -11562,6 +13735,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11562
13735
  private ensurePageDefinition;
11563
13736
  private parsePage;
11564
13737
  private resolvePagePresets;
13738
+ private resolveLayoutPresetDefinition;
11565
13739
  private mergeLayout;
11566
13740
  private applyResponsivePresentation;
11567
13741
  private resolveEffectivePresentation;
@@ -11570,8 +13744,14 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11570
13744
  private resolveDeviceKind;
11571
13745
  isCanvasMode(): boolean;
11572
13746
  shouldAutoWireOutputs(widget: WidgetInstance | RenderedWidgetInstance): boolean;
11573
- selectCanvasWidget(widgetKey: string): void;
13747
+ private hasCompositionOutputLinks;
13748
+ selectWidget(widgetKey: string): void;
13749
+ selectWidgetFromHostEvent(widgetKey: string, event: Event): void;
11574
13750
  isCanvasWidgetSelected(widgetKey: string): boolean;
13751
+ isWidgetSelected(widgetKey: string): boolean;
13752
+ private shouldPreserveInnerWidgetInteraction;
13753
+ selectCanvasWidget(widgetKey: string): void;
13754
+ getPageSnapshot(): WidgetPageDefinition;
11575
13755
  isCanvasWidgetBlocked(widgetKey: string): boolean;
11576
13756
  canvasPreviewItem(): WidgetPageCanvasItem | null;
11577
13757
  canvasPreviewGridColumn(): string | null;
@@ -11584,6 +13764,8 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11584
13764
  private applyWidgetLayoutOverrides;
11585
13765
  private applyCanvasLayoutToWidgets;
11586
13766
  private startCanvasInteraction;
13767
+ private cancelCanvasInteractionForWidget;
13768
+ private isCanvasOverlayInteraction;
11587
13769
  private currentCanvasMetrics;
11588
13770
  private currentCanvasItem;
11589
13771
  private resolveCanvasInteractionDelta;
@@ -11620,6 +13802,8 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11620
13802
  private cloneWidgets;
11621
13803
  private applyGroupingOverrides;
11622
13804
  private buildRenderedGroups;
13805
+ private buildSlotWidgetMap;
13806
+ private resolveGroupWidgets;
11623
13807
  private syncActiveTabs;
11624
13808
  activeTabId(groupId: string): string;
11625
13809
  selectGroupTab(groupId: string, tabId: string): void;
@@ -11641,7 +13825,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11641
13825
  private sanitizeSegment;
11642
13826
  private assertNoLegacyConnections;
11643
13827
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetPageComponent, never>;
11644
- 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>;
13828
+ 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>;
11645
13829
  }
11646
13830
 
11647
13831
  /** Metadata for Praxis Dynamic Page component */
@@ -11651,7 +13835,7 @@ declare const PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA: ComponentDocMeta;
11651
13835
  */
11652
13836
  declare function providePraxisDynamicPageMetadata(): Provider;
11653
13837
 
11654
- declare class PraxisSurfaceHostComponent {
13838
+ declare class PraxisSurfaceHostComponent implements AfterViewInit, OnChanges {
11655
13839
  title?: string;
11656
13840
  subtitle?: string;
11657
13841
  icon?: string;
@@ -11663,6 +13847,11 @@ declare class PraxisSurfaceHostComponent {
11663
13847
  * modal/drawer hosts. Inline consumers may opt into rendering it again.
11664
13848
  */
11665
13849
  renderTitleInsideBody: boolean;
13850
+ private widgetLoader?;
13851
+ private renderQueued;
13852
+ ngAfterViewInit(): void;
13853
+ ngOnChanges(changes: SimpleChanges): void;
13854
+ private scheduleWidgetRender;
11666
13855
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisSurfaceHostComponent, never>;
11667
13856
  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>;
11668
13857
  }
@@ -11786,7 +13975,7 @@ declare function normalizeFormConfig(config: FormConfig): FormConfig;
11786
13975
 
11787
13976
  /** Minimal metadata about the backend schema source. */
11788
13977
  interface SchemaMetaInfo {
11789
- /** API path used to resolve the schema (e.g., /api/employees/all or /filter) */
13978
+ /** API path used to resolve the schema (e.g., /api/employees/filter) */
11790
13979
  path: string;
11791
13980
  /** Operation used when fetching the schema (get|post) */
11792
13981
  operation: string;
@@ -11860,6 +14049,12 @@ interface SchemaIdParams {
11860
14049
  }
11861
14050
  declare function normalizePath(p: string): string;
11862
14051
  declare function buildSchemaId(params: SchemaIdParams): string;
14052
+ /**
14053
+ * Produces a deterministic, storage-safe segment for places that impose short
14054
+ * identifier limits. This must not replace the semantic schemaId stored in
14055
+ * payloads or metadata.
14056
+ */
14057
+ declare function buildSchemaIdStorageKeySegment(schemaId: string): string;
11863
14058
 
11864
14059
  interface FetchWithEtagParams {
11865
14060
  url: string;
@@ -12039,5 +14234,5 @@ declare function provideFormHookPresets(presets: Array<FormHookPreset>): Provide
12039
14234
  /** Register a whitelist of allowed hook ids/patterns. */
12040
14235
  declare function provideHookWhitelist(allowed: Array<string | RegExp>): Provider[];
12041
14236
 
12042
- 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 };
12043
- 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, 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, 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, LookupCapabilitiesMetadata, LookupDetailMetadata, LookupSelectionPolicyMetadata, 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, 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 };
14237
+ export { API_CONFIG_STORAGE_OPTIONS, API_URL, ASYNC_CONFIG_STORAGE, AllowedFileTypes, AnalyticsPresentationResolver, AnalyticsSchemaContractService, AnalyticsStatsRequestBuilderService, ApiConfigStorage, ApiEndpoint, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, BUILTIN_SHELL_PRESETS, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentKeyService, ComponentMetadataRegistry, CompositionRuntimeFacade, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_TABLE_CONFIG, DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK, DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DomainCatalogService, DomainKnowledgeService, DomainRuleService, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_SURFACE_SERVICE, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_TOKEN_TO_CONTROL_TYPE, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NestedPortCatalogService, NestedWidgetConfigAccessor, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS, PRAXIS_COLLECTION_EXPORT_PROVIDER, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_EXPORT_SECURITY_POLICY, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_EXPORT_FORMULA_PREFIXES, PRAXIS_EXPORT_SECURITY_POLICY, PRAXIS_FOOTER_LINKS_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_HERO_BANNER_METADATA, PRAXIS_I18N_CONFIG, PRAXIS_I18N_TRANSLATOR, PRAXIS_JSON_LOGIC_OPERATORS, PRAXIS_LAYER_SCALE_DEFAULTS, PRAXIS_LAYER_SCALE_VARS, PRAXIS_LEGAL_NOTICE_METADATA, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION, PRAXIS_RICH_TEXT_BLOCK_METADATA, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisCollectionExportService, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisHttpCollectionExportProvider, PraxisI18nService, PraxisIconDirective, PraxisIconPickerComponent, PraxisJsonLogicError, PraxisJsonLogicService, PraxisLayerScaleStyleService, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRichTextBlockComponent, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, RESOURCE_DISCOVERY_I18N_CONFIG, RESOURCE_DISCOVERY_I18N_NAMESPACE, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceActionOpenAdapterService, ResourceDiscoveryService, ResourceQuickConnectComponent, ResourceSurfaceOpenAdapterService, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_DRAWER_BRIDGE, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, SurfaceOpenActionEditorComponent, SurfaceOpenMaterializerService, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$1 as applyLocalCustomizations, applyLocalCustomizations as applyLocalFormCustomizations, assertPraxisCollectionExportArtifact, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildPraxisEffectDistinctKey, buildPraxisLayerScaleCss, buildSchemaId, buildSchemaIdStorageKeySegment, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, classifyEntityLookupResult, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createEmptyRichContentDocument, createFieldLayoutItem, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, domainKnowledgeTimelineToRichContentDocument, domainRuleTimelineToRichContentDocument, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, escapePraxisExportCell, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getFormColumnFieldNames, getFormLayoutFieldNames, getGlobalActionCatalog, getGlobalActionPayloadActualType, getGlobalActionPayloadTypeIssue, getGlobalActionUiSchema, getMissingGlobalActionPayloadKeys, getReferencedFieldMetadata, getRequiredGlobalActionPayloadKeys, getTextTransformer, hasMeaningfulGlobalActionPayloadValue, hasPraxisCollectionExportArtifact, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isEntityLookupMultiplePayloadMode, isEntityLookupPayloadMode, isEntityLookupPayloadModeCompatible, isEntityLookupResultSelectable, isEntityLookupSinglePayloadMode, isFormLayoutItem, isGlobalActionRef, isInlineFilterControlType, isLookupDialogSize, isLookupFilterFieldType, isLookupFilterOperator, isPraxisRuntimeGlobalActionEffect, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormLayoutItems, normalizeFormMetadata, normalizeGlobalActionRef, normalizeLookupFilterRequest, normalizePath, normalizePraxisDataQueryContext, normalizePraxisEffectPolicy, normalizePraxisQueryFilterExpression, normalizePraxisQueryFilterNode, normalizeResourceAvailabilityReasonCode, normalizeStart, normalizeUnknownError, normalizeWidgetEventPath, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisCollectionExportProvider, providePraxisDynamicPageMetadata, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpCollectionExportProvider, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisIconDefaults, providePraxisJsonLogicOperator, providePraxisJsonLogicOperatorOverride, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRichTextBlockMetadata, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, readPraxisExportValue, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveDefaultValuePresentationFormat, resolveEntityLookupPayloadMode, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisCollectionExportItems, resolvePraxisExportFields, resolvePraxisExportScope, resolvePraxisFilterCriteria, resolveResourceAvailabilityReasonKey, resolveSpan, resolveValuePresentation, resolveValuePresentationLocale, serializeEntityLookupValueForPayload, serializeOptionSourceFilterRequest, serializePraxisCollectionToCsv, serializePraxisCollectionToJson, slugify, stripMasksHook, supportsImplicitValuePresentation, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, translateResourceAvailabilityReason, translateResourceDiscoveryText, translateUnavailableWorkflowMessage, trim, uniqueAsyncValidator, urlValidator, validateGlobalActionRef, validateGlobalActionRefs, withMessage, withPraxisHttpLoading };
14238
+ export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnalyticsIntent, AnalyticsPresentationDecision, AnalyticsPresentationFamily, AnalyticsPresentationResolverOptions, AnalyticsSchemaContractRequest, AnalyticsSourceKind, AnalyticsStatsGranularity, AnalyticsStatsMetricOperation, AnalyticsStatsOperation, AnalyticsStatsOrderBy, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AsyncConfigStorage, BackConfig, BaseMaterialInputMetadata, BatchDeleteOptions, BatchDeleteProgress, BatchDeleteResult, BorderConfig, Breakpoint, BuiltValidators, BulkAction, BulkActionsConfig, CacheAdapter, CacheConfig, CacheEntry, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, ComponentActionParam, ComponentAuthoringManifest, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentEditorialResolveOptions, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ComponentMetadataEditorialBindingDescriptor, ComponentMetadataEditorialDescriptor, ComponentPortEndpointRef, ComponentPortPathSegment, CompositionLink, CompositionRuntimeFacadeOptions, ConditionalValidationRule, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CorePresetDescriptor, CorePresetDiscoveryRegistry, CorePresetKind, CorePresetRef, CrudConfigureOptions, CrudOperationOptions, CrudOperationResolutionContext, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DiagnosticPhase, DiagnosticRecord, DiagnosticSeverity, DiagnosticSource, DiagnosticSubjectKind, DiagnosticSubjectRef, DomainCatalogContextHint, DomainCatalogContextHintIntent, DomainCatalogContextHintItemType, DomainCatalogGovernanceContext, DomainCatalogGovernancePayload, DomainCatalogGovernanceRequestOptions, DomainCatalogItem, DomainCatalogRecommendedAuthoringFlow, DomainCatalogRecommendedRuleType, DomainCatalogRelationshipHint, DomainCatalogRelease, DomainCatalogRequestOptions, DomainCatalogResourceProbe, DomainKnowledgeAuthorType, DomainKnowledgeChangeSet, DomainKnowledgeChangeSetFilters, DomainKnowledgeChangeSetRequest, DomainKnowledgeChangeSetStatus, DomainKnowledgeChangeSetTarget, DomainKnowledgeChangeSetTimelineEventResponse, DomainKnowledgeChangeSetTimelineResponse, DomainKnowledgeOperationType, DomainKnowledgePatchOperation, DomainKnowledgeRequestOptions, DomainKnowledgeSafeOperationSummary, DomainKnowledgeStatusTransitionRequest, DomainKnowledgeTimelineEventVisibility, DomainKnowledgeTimelineRichContentOptions, DomainKnowledgeValidationIssue, DomainKnowledgeValidationResponse, DomainKnowledgeValidationStatus, DomainRuleAppliedByType, DomainRuleCreatedByType, DomainRuleDecisionDiagnostics, DomainRuleDefinition, DomainRuleDefinitionFilters, DomainRuleDefinitionRequest, DomainRuleExplainability, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleMaterialization, DomainRuleMaterializationFilters, DomainRuleMaterializationOutcomeResolution, DomainRuleMaterializationRequest, DomainRulePublicationDiagnostics, DomainRulePublicationMaterializationOutcome, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleRequestOptions, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleStatus, DomainRuleStatusTransitionRequest, DomainRuleTargetLayer, DomainRuleTimelineEventResponse, DomainRuleTimelineEventVisibility, DomainRuleTimelineResponse, DomainRuleTimelineRichContentOptions, DraggingConfig, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, EditorialBlock, EditorialBlockBase, EditorialBlockKind, EditorialBlockOverride, EditorialBlockSurface, EditorialBlockTone, EditorialBlockVisibilityRule, EditorialCompliancePreset, EditorialComponentDocMeta, EditorialConnectorStyle, EditorialContentFormat, EditorialContextFieldContract, EditorialContextSummaryBlock, EditorialCustomWidgetBlock, EditorialDataCollectionBlock, EditorialDensity, EditorialFaqAccordionBlock, EditorialFaqItem, EditorialFormCompliancePreset, EditorialFormShellPreset, EditorialFormTemplate, EditorialFormTemplateBuildOptions, EditorialFormTemplateContextField, EditorialFormTemplateDefaults, EditorialFormTemplateLayoutPreset, EditorialFormTemplateMetadata, EditorialFormTemplateReference, EditorialHeroBlock, EditorialIconSpec, EditorialInfoCardItem, EditorialInfoCardsBlock, EditorialIntroHeroBlock, EditorialIntroHeroHighlightItem, EditorialJourney, EditorialJourneyOverride, EditorialJourneyStep, EditorialLayoutConfig, EditorialLayoutSpacing, EditorialLinkDefinition, EditorialLinkItem, EditorialMetaItem, EditorialMotionConfig, EditorialOrientation, EditorialPolicyItem, EditorialPolicyListBlock, EditorialPresentationShellVariant, EditorialPresentationalAction, EditorialPresentationalVisibilityRule, EditorialProblemType, EditorialResponsiveLayoutConfig, EditorialReviewField, EditorialReviewSection, EditorialReviewSectionField, EditorialReviewSectionsBlock, EditorialReviewSummaryBlock, EditorialRichTextBlock, EditorialSelectionCardItem, EditorialSelectionCardsBlock, EditorialShellVariant, EditorialSolutionDefinition, EditorialSolutionPreset, EditorialStepKind, EditorialStepVisualConfig, EditorialStepVisualVariant, EditorialStepperConfig, EditorialStepperVariant, EditorialSuccessPanelBlock, EditorialSurfaceVariant, EditorialTemplateInstance, EditorialTemplateInstanceOverrides, EditorialTemplateRef, EditorialTemplateSource, EditorialThemeBorderWidthTokens, EditorialThemeColorTokens, EditorialThemePreset, EditorialThemeRadiusTokens, EditorialThemeShadowTokens, EditorialThemeTokens, EditorialThemeTypographyTokens, EditorialTimelineStep, EditorialTimelineStepsBlock, EditorialWidgetAppearance, EditorialWidgetDefinition, EditorialWidgetInputs, EditorialWizardPresentation, ElevationConfig, EmptyAction, EmptyStateConfig, EndpointConfig, EndpointRef, EnhancedValidationConfig, EntityLookupActionsMetadata, EntityLookupCollectionMetadata, EntityLookupDensity, EntityLookupDisplayFieldMetadata, EntityLookupDisplayFieldPresentation, EntityLookupDisplayMetadata, EntityLookupDisplayPreset, EntityLookupMultiplePayloadMode, EntityLookupPayloadMode, EntityLookupResult, EntityLookupResultExtra, EntityLookupResultLayout, EntityLookupResultState, EntityLookupResultStateContext, EntityLookupRichFieldMetadata, EntityLookupSelectedLayout, EntityLookupSinglePayloadMode, EntityLookupUsage, EntityRef, ExcelExportConfig, ExcelStylingConfig, ExplicitCrudResolutionContract, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldArrayCollectionValidation, FieldArrayConfig, FieldArrayOperations, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldSelectorRegistryMap, FieldSource, FieldSubmitPolicy, FieldsetLayout, FilterOptions, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormCustomActionEvent, FormEntityEvent, FormFieldLayoutItem, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormInitializationError, FormLayout, FormLayoutItem, FormLayoutItemsColumnLike, FormLayoutRule, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormReadyEvent, FormRichContentLayoutItem, FormRow, FormRowLayout, FormRuleTargetType, FormSection, FormSectionHeaderAction, FormSectionHeaderConfig, FormSectionHeaderEmptyState, FormSectionHeaderMode, FormSectionHeaderSize, FormSubmitEvent, FormValidationEvent, FormValueChangeEvent, FormattingLocaleConfig, GeneralExportConfig, GetSchemaParams, GlobalActionCatalogEntry, GlobalActionContext, GlobalActionEndpointRef, GlobalActionField, GlobalActionFieldOption, GlobalActionFieldType, GlobalActionHandler, GlobalActionHandlerEntry, GlobalActionRef, GlobalActionResult, GlobalActionUiSchema, GlobalActionValidationCode, GlobalActionValidationIssue, GlobalActionValidationTarget, GlobalAiConfig, GlobalAiEmbeddingConfig, GlobalAiProvider, GlobalAnalyticsService, GlobalApiClient, GlobalCacheConfig, GlobalConfig, GlobalCrudActionDefaults, GlobalCrudConfig, GlobalCrudDefaults, GlobalDialogAction, GlobalDialogAnimation, GlobalDialogAriaRole, GlobalDialogConfig, GlobalDialogConfigEntry, GlobalDialogPosition, GlobalDialogService, GlobalDialogStyles, GlobalDynamicFieldsAsyncSelectConfig, GlobalDynamicFieldsCascadeConfig, GlobalDynamicFieldsConfig, GlobalI18nConfig, GlobalRouteGuardResolver, GlobalSurfaceService, GlobalTableConfig, GlobalToastService, GroupingConfig, HateoasLink, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HookResolver, InlineFilterControlType, InlineMonthRangeMetadata, InlinePeriodRangeFiscalCalendar, InlinePeriodRangeGranularity, InlinePeriodRangeMetadata, InlinePeriodRangePreset, InlineRangeDistributionBin, InlineRangeDistributionConfig, InlineYearRangeMetadata, InteractionConfig, JsonExportConfig, JsonLogicArguments, JsonLogicArray, JsonLogicDataRecord, JsonLogicDerivedValueExpression, JsonLogicExpression, JsonLogicOperationExpression, JsonLogicPrimitive, JsonLogicRecord, JsonLogicValue, JsonLogicVarExpression, JsonLogicVarReference, KeyboardAccessibilityConfig, LazyLoadingConfig, LegacyCompositionLinkInput, LegacyLinkCondition, LegacyLinkMetaPolicy, LegacyTableConfig, LegalNoticeAppearance, LegalNoticeSeverity, LinkIntent, LinkMetadata, LinkPolicy, LoadingConfig, LoadingContext, LoadingPhase$1 as LoadingPhase, LoadingScope, LoadingState, LoadingPhase as LoadingStatePhase, LocalizationConfig, LocateRequest, LoggerConfig, LoggerContext, LoggerEvent, LoggerLevel, LoggerLogOptions, LoggerNormalizedError, LoggerPIIConfig, LoggerSink, LoggerTelemetryPayload, LoggerThrottleConfig, LookupCapabilitiesMetadata, LookupCreateMetadata, LookupDetailMetadata, LookupDialogMetadata, LookupDialogSize, LookupFilterDefinitionMetadata, LookupFilterFieldType, LookupFilterOperator, LookupFilterRequest, LookupFilteringMetadata, LookupOpenDetailMode, LookupResultColumnKind, LookupResultColumnMetadata, LookupSelectionPolicyMetadata, LookupSortOptionMetadata, LookupStatusTone, ManifestControlProfile, ManifestControlProfileApplicability, ManifestDomainPatchHandlerContract, ManifestEffect, ManifestExample, ManifestInput, ManifestOperation, ManifestSubmissionImpact, ManifestTarget, ManifestValidator, MarginConfig, MaterialAutocompleteMetadata, MaterialButtonMetadata, MaterialButtonToggleMetadata, MaterialCheckboxMetadata, MaterialChipsMetadata, MaterialColorInputMetadata, MaterialColorPickerMetadata, MaterialCpfCnpjMetadata, MaterialCurrencyMetadata, MaterialDateInputMetadata, MaterialDateRangeMetadata, MaterialDatepickerMetadata, MaterialDatetimeLocalInputMetadata, MaterialDesignConfig, MaterialEmailInputMetadata, MaterialEmailMetadata, MaterialEntityLookupMetadata, MaterialInputMetadata, MaterialMonthInputMetadata, MaterialMultiSelectTreeMetadata, MaterialNumericMetadata, MaterialPasswordMetadata, MaterialPhoneMetadata, MaterialPriceRangeMetadata, MaterialRadioMetadata, MaterialRangeSliderMetadata, MaterialRatingMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, MaterialSelectionListMetadata, MaterialSliderMetadata, MaterialTextareaMetadata, MaterialTimeInputMetadata, MaterialTimeRangeMetadata, MaterialTimeTrackShift, MaterialTimepickerMetadata, MaterialToggleMetadata, MaterialTransferListMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialYearInputMetadata, MemoryConfig, MessageTemplate, MessagesConfig, NavigationOpenRoutePayload, NestedFieldsetLayout, NestedPortCatalogDiagnostic, NestedPortCatalogRegistry, NestedPortCatalogResult, NestedWidgetInputPatchResult, NestedWidgetResolution, NormalizedError, NumberLocaleConfig, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceCachePolicy, OptionSourceFilterRequest, OptionSourceMetadata, OptionSourceRequestOptions, OptionSourceSearchMode, OptionSourceType, OverlayDecider, OverlayDecision, OverlayDecisionContext, OverlayDecisionMatrix, OverlayPattern, OverlayRange, OverlayRule, OverlayRuleMatch, OverlayThresholds, Page, PageIdentity, PageableRequest, PaginationConfig, PartialFieldMetadata, PdfExportConfig, PerformanceConfig, PersistedPageConfig, PersistedPageDefinitionWithIds, PersistedWidgetInstance, PlainObject, PluginConfig, PollingConfig, PortCardinality, PortCompatibilityRuleSet, PortContract, PortDirection, PortExposure, PortSchemaKind, PortSchemaMode, PortSchemaRef, PortSemanticKind, PraxisAnalyticsBindings, PraxisAnalyticsDefaults, PraxisAnalyticsDimensionBinding, PraxisAnalyticsDistributionStatsRequest, PraxisAnalyticsExecutionMetric, PraxisAnalyticsGroupByStatsRequest, PraxisAnalyticsInteractions, PraxisAnalyticsMetricBinding, PraxisAnalyticsOptions, PraxisAnalyticsPresentationHints, PraxisAnalyticsProjection, PraxisAnalyticsSortRule, PraxisAnalyticsSource, PraxisAnalyticsStatsExecutionPlan, PraxisAnalyticsStatsMetricRequest, PraxisAnalyticsStatsRequest, PraxisAnalyticsTimeSeriesStatsRequest, PraxisAuthContext, PraxisBuiltinCustomRuleOperator, PraxisCollectionComponentType, PraxisCollectionExportCsvOptions, PraxisCollectionExportExcelOptions, PraxisCollectionExportField, PraxisCollectionExportFieldPresentation, PraxisCollectionExportFormatOptions, PraxisCollectionExportHttpProviderOptions, PraxisCollectionExportLocalization, PraxisCollectionExportProvider, PraxisCollectionExportRequest, PraxisCollectionExportResult, PraxisCollectionExportSource, PraxisCollectionPaginationState, PraxisCollectionSelectionMode, PraxisCollectionSelectionState, PraxisCollectionSortDescriptor, PraxisConditionalEffectDiagnostic, PraxisConditionalRule, PraxisConditionalRuleMatchInput, PraxisCustomRuleOperator, PraxisDataQueryContext, PraxisDataQueryContextMeta, PraxisEffectDistinctKeyInput, PraxisEffectPolicy, PraxisExportFormat, PraxisExportScope, PraxisExportSecurityPolicy, PraxisExportSortDirection, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHostRuleOperator, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisIconDefaultsOptions, PraxisJsonLogicEvaluationContext, PraxisJsonLogicEvaluationOptions, PraxisJsonLogicEvaluationResult, PraxisJsonLogicIssueCode, PraxisJsonLogicOperatorDefinition, PraxisJsonLogicOperatorDescriptor, PraxisJsonLogicOperatorHelpers, PraxisJsonLogicOperatorMetadata, PraxisJsonLogicOperatorPurity, PraxisJsonLogicOperatorReturnType, PraxisJsonLogicOperatorSource, PraxisJsonLogicRuntimeValue, PraxisJsonLogicValidationIssue, PraxisJsonLogicValidationOptions, PraxisJsonLogicValidationResult, PraxisLayerScale, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisNativeJsonLogicOperator, PraxisQueryFilterExpression, PraxisQueryFilterGovernance, PraxisQueryFilterGroup, PraxisQueryFilterNode, PraxisQueryFilterPredicate, PraxisQueryFilterPredicateOperator, PraxisQueryFilterPredicateSource, PraxisRuleContextDescriptor, PraxisRuleOperator, PraxisRuntimeConditionalEffectRule, PraxisRuntimeEffectTrigger, PraxisRuntimeGlobalActionEffect, PraxisTextValue, PraxisToastOptions, PraxisTranslationParams, PraxisXUiAnalytics, PriceRangeValue, RangeSliderInlineTexts, RangeSliderMark, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderScalePreset, RangeSliderSemanticBand, RangeSliderSemanticTone, RangeSliderTrackMode, RangeSliderValue, RangeSliderValueFormat, RangeSliderValueLabelDisplay, RecordRelatedSurfaceContext, RecordRelatedSurfaceContextPack, RecordRelatedSurfaceEndpoint, RecordRelatedSurfaceOperationId, RenderingConfig, ResizingConfig, ResolveCrudOperationRequest, ResolvePresetOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedCrudOperation, ResolvedCrudOperationSource, ResolvedNestedPort, ResolvedValuePresentation, ResourceActionCatalogItem, ResourceActionCatalogResponse, ResourceActionOpenAdapterOptions, ResourceActionScope, ResourceAvailabilityDecision, ResourceCapabilityDigest, ResourceCapabilityOperation, ResourceCapabilityOperationId, ResourceCapabilityOperations, ResourceCapabilitySnapshot, ResourceCrudOperationId, ResourceDiscoveryRel, ResourceDiscoveryRequestOptions, ResourceExportMaxRows, ResourceLinkSource, ResourceSurfaceCatalogItem, ResourceSurfaceCatalogResponse, ResourceSurfaceKind, ResourceSurfaceOpenAdapterOptions, ResourceSurfaceResponseCardinality, 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, TableToolbarAppearanceConfig, TableToolbarAppearanceDensity, TableToolbarAppearanceDivider, TableToolbarAppearanceShape, TableToolbarAppearanceVariant, TableToolbarTokenName, 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 };