@praxisui/core 8.0.0-beta.3 → 8.0.0-beta.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,9 +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
5
  import { HttpHeaders, HttpContext, HttpClient, HttpParams, HttpInterceptorFn, HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpFeature, HttpFeatureKind, HttpContextToken } from '@angular/common/http';
6
- import { ValidationErrors, ValidatorFn, AsyncValidatorFn, FormControl, FormGroup } from '@angular/forms';
6
+ import { ValidationErrors, ValidatorFn, AsyncValidatorFn, FormGroup, AbstractControl, FormControl } from '@angular/forms';
7
7
  import { ThemePalette, DateAdapter } from '@angular/material/core';
8
8
  import { ActivatedRoute } from '@angular/router';
9
9
  import { MatDialogRef } from '@angular/material/dialog';
@@ -76,20 +76,250 @@ interface LocateRequest {
76
76
  sort?: string[];
77
77
  }
78
78
 
79
- interface OptionSourceMetadata {
79
+ type OptionSourceType = 'RESOURCE_ENTITY' | 'DISTINCT_DIMENSION' | 'CATEGORICAL_BUCKET' | 'LIGHT_LOOKUP' | 'STATIC_CANONICAL';
80
+ type OptionSourceSearchMode = 'none' | 'starts-with' | 'contains' | 'exact';
81
+ type OptionSourceCachePolicy = 'none' | 'request-scope' | 'session-scope' | 'etag-aware';
82
+ type LookupOpenDetailMode = 'samePage' | 'newTab' | 'drawer' | 'modal' | 'route';
83
+ type LookupStatusTone = 'success' | 'warning' | 'danger' | 'neutral';
84
+ type LookupDialogSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
85
+ type LookupFilterFieldType = 'text' | 'enum' | 'date' | 'number' | 'reference';
86
+ type LookupFilterOperator = 'contains' | 'startsWith' | 'equals' | 'in' | 'before' | 'after' | 'between' | 'gt' | 'gte' | 'lt' | 'lte';
87
+ type EntityLookupSelectedLayout = 'card' | 'inline' | 'compact' | 'token';
88
+ type EntityLookupResultLayout = 'list' | 'denseList' | 'table' | 'card';
89
+ type EntityLookupDisplayPreset = 'compact' | 'rich' | 'directory' | 'status' | 'reference' | 'hierarchical';
90
+ type EntityLookupUsage = 'form' | 'filter' | 'table-cell' | 'dashboard' | 'wizard' | 'review';
91
+ type EntityLookupDensity = 'compact' | 'comfortable' | 'rich';
92
+ type EntityLookupDisplayFieldPresentation = 'text' | 'chip' | 'badge' | 'date' | 'currency' | 'metric';
93
+ interface EntityLookupDisplayFieldMetadata {
94
+ key?: string;
95
+ propertyPath?: string;
96
+ label?: string;
97
+ icon?: string;
98
+ presentation?: EntityLookupDisplayFieldPresentation | string;
99
+ tone?: LookupStatusTone | 'info' | string;
100
+ format?: string;
101
+ }
102
+ interface EntityLookupRichFieldMetadata extends EntityLookupDisplayFieldMetadata {
103
+ value?: unknown;
104
+ }
105
+ type EntityLookupSinglePayloadMode = 'id' | 'entityRef';
106
+ type EntityLookupMultiplePayloadMode = 'ids' | 'entityRefs';
107
+ type EntityLookupPayloadMode = EntityLookupSinglePayloadMode | EntityLookupMultiplePayloadMode;
108
+ interface EntityLookupCollectionMetadata {
109
+ multiple?: boolean;
110
+ maxSelections?: number;
111
+ }
112
+ interface LookupSelectionPolicyMetadata {
113
+ selectablePropertyPath?: string;
114
+ statusPropertyPath?: string;
115
+ allowedStatuses?: string[];
116
+ blockedStatuses?: string[];
117
+ allowRetainInvalidExistingValue?: boolean;
118
+ disabledReasonTemplate?: string;
119
+ validationMessageTemplate?: string;
120
+ }
121
+ interface LookupCapabilitiesMetadata {
122
+ filter?: boolean;
123
+ byIds?: boolean;
124
+ detail?: boolean;
125
+ create?: boolean;
126
+ edit?: boolean;
127
+ navigateToDetail?: boolean;
128
+ multiSelect?: boolean;
129
+ recent?: boolean;
130
+ favorites?: boolean;
131
+ auditSnapshot?: boolean;
132
+ }
133
+ interface LookupDetailMetadata {
134
+ hrefTemplate?: string;
135
+ routeTemplate?: string;
136
+ openDetailMode?: LookupOpenDetailMode;
137
+ kind?: 'surface' | 'route' | 'href' | string;
138
+ surfaceId?: string;
139
+ presentation?: 'modal' | 'drawer' | string;
140
+ preferredWidget?: string;
141
+ mode?: 'view' | 'edit' | 'create' | string;
142
+ }
143
+ interface LookupCreateMetadata {
144
+ hrefTemplate?: string;
145
+ routeTemplate?: string;
146
+ openMode?: LookupOpenDetailMode;
147
+ }
148
+ interface LookupFilterDefinitionMetadata {
149
+ field: string;
150
+ label?: string;
151
+ type: LookupFilterFieldType;
152
+ operators: LookupFilterOperator[];
153
+ defaultOperator?: LookupFilterOperator;
154
+ optionsSource?: string;
155
+ required?: boolean;
156
+ hidden?: boolean;
157
+ }
158
+ interface LookupSortOptionMetadata {
80
159
  key: string;
160
+ field: string;
161
+ direction: 'asc' | 'desc';
162
+ label?: string;
163
+ }
164
+ interface LookupFilteringMetadata {
165
+ availableFilters?: LookupFilterDefinitionMetadata[];
166
+ defaultFilters?: Record<string, unknown[]>;
167
+ sortOptions?: LookupSortOptionMetadata[];
168
+ defaultSort?: string;
169
+ quickFilterFields?: string[];
170
+ searchPlaceholder?: string;
171
+ }
172
+ interface LookupDialogMetadata {
173
+ enabled?: boolean;
174
+ title?: string;
175
+ size?: LookupDialogSize;
176
+ previewPanel?: boolean;
177
+ allowColumnChooser?: boolean;
178
+ allowSavedViews?: boolean;
179
+ resultColumns?: LookupResultColumnMetadata[];
180
+ openActionLabel?: string;
181
+ applyActionLabel?: string;
182
+ cancelActionLabel?: string;
183
+ }
184
+ type LookupResultColumnKind = 'code' | 'label' | 'description' | 'status' | 'disabledReason' | 'custom';
185
+ interface LookupResultColumnMetadata {
186
+ field: string;
187
+ label?: string;
188
+ kind?: LookupResultColumnKind;
189
+ width?: string;
190
+ }
191
+ interface LookupFilterRequest {
192
+ field: string;
193
+ operator: LookupFilterOperator;
194
+ value: unknown;
195
+ }
196
+ interface OptionSourceFilterRequest<ID = string | number, FD = unknown> {
197
+ filter?: FD | null;
198
+ filters?: LookupFilterRequest[];
199
+ search?: string;
200
+ sort?: string;
201
+ includeIds?: ID[];
202
+ }
203
+ interface EntityLookupActionsMetadata {
204
+ showDetail?: boolean;
205
+ showChange?: boolean;
206
+ showCopyCode?: boolean;
207
+ showCopyId?: boolean;
208
+ showCreate?: boolean;
209
+ showClear?: boolean;
210
+ }
211
+ interface EntityLookupDisplayMetadata {
212
+ preset?: EntityLookupDisplayPreset | string;
213
+ usage?: EntityLookupUsage | string;
214
+ density?: EntityLookupDensity | string;
215
+ selectedLayout?: EntityLookupSelectedLayout;
216
+ resultLayout?: EntityLookupResultLayout;
217
+ primaryPropertyPath?: string;
218
+ fields?: EntityLookupDisplayFieldMetadata[];
219
+ secondaryPropertyPaths?: string[];
220
+ badgePropertyPaths?: string[];
221
+ avatarPropertyPath?: string;
222
+ showCode?: boolean;
223
+ showDescription?: boolean;
224
+ showStatus?: boolean;
225
+ showAvatar?: boolean;
226
+ showBadges?: boolean;
227
+ showDisabledReason?: boolean;
228
+ showResultCount?: boolean;
229
+ statusToneMap?: Record<string, LookupStatusTone>;
230
+ badgeKeys?: string[];
231
+ maxVisibleBadges?: number;
232
+ detailActionLabel?: string;
233
+ changeActionLabel?: string;
234
+ copyCodeActionLabel?: string;
235
+ copyIdActionLabel?: string;
236
+ createActionLabel?: string;
237
+ clearActionLabel?: string;
238
+ actions?: EntityLookupActionsMetadata;
239
+ }
240
+ interface EntityRef<ID = string | number> {
241
+ id: ID;
81
242
  type?: string;
243
+ }
244
+ interface EntityLookupResultExtra {
245
+ code?: string;
246
+ description?: string;
247
+ status?: string;
248
+ statusLabel?: string;
249
+ statusTone?: LookupStatusTone;
250
+ selectable?: boolean;
251
+ disabledReason?: string;
252
+ detailHref?: string;
253
+ detailRoute?: string;
254
+ resourcePath?: string;
255
+ entityKey?: string;
256
+ richFields?: EntityLookupRichFieldMetadata[];
257
+ badges?: string[];
258
+ tags?: string[];
259
+ riskLevel?: string;
260
+ homologationStatus?: string;
261
+ [key: string]: unknown;
262
+ }
263
+ interface EntityLookupResult<ID = string | number> {
264
+ id: ID;
265
+ label: string;
266
+ extra?: EntityLookupResultExtra;
267
+ }
268
+ type EntityLookupResultState = 'selectable' | 'blocked' | 'legacy';
269
+ interface EntityLookupResultStateContext {
270
+ allowRetainInvalidExistingValue?: boolean;
271
+ }
272
+ interface OptionSourceMetadata {
273
+ key: string;
274
+ type?: OptionSourceType;
82
275
  resourcePath?: string;
83
276
  filterField?: string;
84
277
  propertyPath?: string;
85
278
  labelPropertyPath?: string;
86
279
  valuePropertyPath?: string;
87
280
  dependsOn?: string[];
281
+ entityKey?: string;
282
+ codePropertyPath?: string;
283
+ descriptionPropertyPaths?: string[];
284
+ statusPropertyPath?: string;
285
+ disabledPropertyPath?: string;
286
+ disabledReasonPropertyPath?: string;
287
+ searchPropertyPaths?: string[];
288
+ dependencyFilterMap?: Record<string, string>;
289
+ selectionPolicy?: LookupSelectionPolicyMetadata;
290
+ capabilities?: LookupCapabilitiesMetadata;
291
+ detail?: LookupDetailMetadata;
292
+ create?: LookupCreateMetadata;
293
+ display?: EntityLookupDisplayMetadata;
294
+ filtering?: LookupFilteringMetadata;
88
295
  excludeSelfField?: boolean;
89
- searchMode?: string;
296
+ searchMode?: OptionSourceSearchMode;
90
297
  pageSize?: number;
91
298
  includeIds?: boolean;
92
- }
299
+ cachePolicy?: OptionSourceCachePolicy;
300
+ }
301
+ declare function isEntityLookupResultSelectable(result?: Pick<EntityLookupResult<any>, 'extra'> | null): boolean;
302
+ declare function isEntityLookupPayloadMode(value: unknown): value is EntityLookupPayloadMode;
303
+ declare function isEntityLookupSinglePayloadMode(value: unknown): value is EntityLookupSinglePayloadMode;
304
+ declare function isEntityLookupMultiplePayloadMode(value: unknown): value is EntityLookupMultiplePayloadMode;
305
+ declare function isLookupFilterFieldType(value: unknown): value is LookupFilterFieldType;
306
+ declare function isLookupFilterOperator(value: unknown): value is LookupFilterOperator;
307
+ declare function isLookupDialogSize(value: unknown): value is LookupDialogSize;
308
+ declare function normalizeLookupFilterRequest(filter: LookupFilterRequest): LookupFilterRequest;
309
+ declare function serializeOptionSourceFilterRequest<ID = string | number, FD = unknown>(filter: FD | null | undefined, options?: {
310
+ filters?: LookupFilterRequest[] | null;
311
+ search?: string | null;
312
+ sort?: string | null;
313
+ includeIds?: ID[] | null;
314
+ }): OptionSourceFilterRequest<ID, FD>;
315
+ declare function resolveEntityLookupPayloadMode(payloadMode: unknown, multiple?: boolean): EntityLookupPayloadMode;
316
+ declare function isEntityLookupPayloadModeCompatible(payloadMode: unknown, multiple?: boolean): boolean;
317
+ declare function serializeEntityLookupValueForPayload(value: unknown, options?: {
318
+ payloadMode?: unknown;
319
+ multiple?: boolean;
320
+ entityType?: string;
321
+ }): unknown;
322
+ declare function classifyEntityLookupResult(result?: Pick<EntityLookupResult<any>, 'extra'> | null, context?: EntityLookupResultStateContext): EntityLookupResultState;
93
323
 
94
324
  type RuleContextRoot = 'form' | 'row' | 'computed' | 'meta' | 'source' | 'event' | 'payload' | 'state' | 'context';
95
325
  type PraxisNativeJsonLogicOperator = 'var' | '==' | '===' | '!=' | '!==' | '>' | '>=' | '<' | '<=' | '!' | '!!' | 'and' | 'or' | 'if' | 'in' | 'cat' | 'substr' | '+' | '-' | '*' | '/' | '%' | 'min' | 'max' | 'merge' | 'map' | 'filter' | 'reduce' | 'all' | 'some' | 'none';
@@ -146,12 +376,15 @@ interface RichBlockRuleSet {
146
376
  expr: JsonLogicExpression;
147
377
  }>;
148
378
  }
379
+ type RichCapabilityMode = 'all' | 'any';
149
380
  interface RichBlockBaseNode extends RichBlockRuleSet {
150
381
  id?: string;
151
382
  testId?: string;
152
383
  className?: string;
153
384
  style?: Record<string, string | number>;
154
385
  bindings?: RichBlockContextConfig;
386
+ requiresCapabilities?: string[];
387
+ capabilityMode?: RichCapabilityMode;
155
388
  }
156
389
  interface RichTextNode extends RichBlockBaseNode {
157
390
  type: 'text';
@@ -170,6 +403,14 @@ interface RichImageNode extends RichBlockBaseNode {
170
403
  alt?: string;
171
404
  altExpr?: string;
172
405
  }
406
+ interface RichLinkNode extends RichBlockBaseNode {
407
+ type: 'link';
408
+ label?: string;
409
+ labelExpr?: string;
410
+ href: string;
411
+ target?: '_blank' | '_self';
412
+ rel?: string;
413
+ }
173
414
  interface RichBadgeNode extends RichBlockBaseNode {
174
415
  type: 'badge';
175
416
  label?: string;
@@ -200,7 +441,23 @@ interface RichProgressNode extends RichBlockBaseNode {
200
441
  labelExpr?: string;
201
442
  showPercent?: boolean;
202
443
  }
203
- type RichPresenterNode = RichTextNode | RichIconNode | RichImageNode | RichBadgeNode | RichAvatarNode | RichMetricNode | RichProgressNode;
444
+ interface RichActionRef {
445
+ actionId: string;
446
+ payload?: unknown;
447
+ payloadExpr?: string;
448
+ availabilityExpr?: string;
449
+ confirmMessage?: string;
450
+ }
451
+ interface RichActionButtonNode extends RichBlockBaseNode {
452
+ type: 'actionButton';
453
+ label?: string;
454
+ labelExpr?: string;
455
+ icon?: string;
456
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
457
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
458
+ action: RichActionRef;
459
+ }
460
+ type RichPresenterNode = RichTextNode | RichIconNode | RichImageNode | RichLinkNode | RichBadgeNode | RichAvatarNode | RichMetricNode | RichProgressNode | RichActionButtonNode;
204
461
  interface RichComposeNode extends RichBlockBaseNode {
205
462
  type: 'compose';
206
463
  direction?: 'row' | 'column';
@@ -208,6 +465,39 @@ interface RichComposeNode extends RichBlockBaseNode {
208
465
  wrap?: boolean;
209
466
  items: RichPresenterNode[];
210
467
  }
468
+ type RichCardVariant = 'plain' | 'outlined' | 'elevated' | 'filled' | 'transparent';
469
+ type RichCardTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
470
+ type RichCardSize = 'sm' | 'md' | 'lg';
471
+ type RichCardDensity = 'compact' | 'comfortable';
472
+ type RichCardOrientation = 'vertical' | 'horizontal';
473
+ type RichCardMediaKind = 'image' | 'video' | 'icon' | 'avatar';
474
+ type RichCardMediaPlacement = 'top' | 'leading' | 'trailing' | 'background';
475
+ interface RichCardMedia {
476
+ kind: RichCardMediaKind;
477
+ src?: string;
478
+ srcExpr?: string;
479
+ alt?: string;
480
+ altExpr?: string;
481
+ icon?: string;
482
+ label?: string;
483
+ labelExpr?: string;
484
+ placement?: RichCardMediaPlacement;
485
+ aspectRatio?: string;
486
+ }
487
+ type RichCardInteractionMode = 'none' | 'action' | 'selectable';
488
+ interface RichCardInteraction {
489
+ mode: RichCardInteractionMode;
490
+ action?: RichActionRef;
491
+ selected?: boolean;
492
+ selectedExpr?: string;
493
+ }
494
+ interface RichCardAccessibility {
495
+ role?: 'article' | 'group' | 'button';
496
+ ariaLabel?: string;
497
+ ariaLabelExpr?: string;
498
+ ariaLabelledBy?: string;
499
+ ariaDescribedBy?: string;
500
+ }
211
501
  interface RichCardNode extends RichBlockBaseNode {
212
502
  type: 'card';
213
503
  title?: string;
@@ -215,6 +505,303 @@ interface RichCardNode extends RichBlockBaseNode {
215
505
  subtitle?: string;
216
506
  subtitleExpr?: string;
217
507
  content: Array<RichPresenterNode | RichComposeNode>;
508
+ media?: RichCardMedia;
509
+ headerAction?: RichActionButtonNode;
510
+ header?: RichBlockNode[];
511
+ body?: RichBlockNode[];
512
+ footer?: RichBlockNode[];
513
+ actions?: RichActionButtonNode[];
514
+ aside?: RichBlockNode[];
515
+ variant?: RichCardVariant;
516
+ tone?: RichCardTone;
517
+ size?: RichCardSize;
518
+ density?: RichCardDensity;
519
+ orientation?: RichCardOrientation;
520
+ loading?: boolean;
521
+ loadingExpr?: string;
522
+ active?: boolean;
523
+ activeExpr?: string;
524
+ interaction?: RichCardInteraction;
525
+ accessibility?: RichCardAccessibility;
526
+ }
527
+ interface RichCalloutNode extends RichBlockBaseNode {
528
+ type: 'callout';
529
+ tone?: 'info' | 'success' | 'warning' | 'danger' | 'neutral';
530
+ icon?: string;
531
+ title?: string;
532
+ titleExpr?: string;
533
+ message?: string;
534
+ messageExpr?: string;
535
+ actions?: RichActionButtonNode[];
536
+ }
537
+ type RichCtaGroupLayout = 'stacked' | 'split';
538
+ interface RichCtaGroupNode extends RichBlockBaseNode {
539
+ type: 'ctaGroup';
540
+ title?: string;
541
+ titleExpr?: string;
542
+ subtitle?: string;
543
+ subtitleExpr?: string;
544
+ message?: string;
545
+ messageExpr?: string;
546
+ layout?: RichCtaGroupLayout;
547
+ actions: RichActionButtonNode[];
548
+ }
549
+ interface RichKeyValueItem {
550
+ id?: string;
551
+ label?: string;
552
+ labelExpr?: string;
553
+ value?: string;
554
+ valueExpr?: string;
555
+ badge?: string;
556
+ badgeExpr?: string;
557
+ icon?: string;
558
+ }
559
+ interface RichKeyValueListNode extends RichBlockBaseNode {
560
+ type: 'keyValueList';
561
+ title?: string;
562
+ titleExpr?: string;
563
+ layout?: 'stacked' | 'inline';
564
+ items: RichKeyValueItem[];
565
+ }
566
+ type RichPropertySheetColumns = 1 | 2;
567
+ type RichPropertySheetTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
568
+ interface RichPropertySheetItem {
569
+ id?: string;
570
+ label?: string;
571
+ labelExpr?: string;
572
+ value?: string;
573
+ valueExpr?: string;
574
+ hint?: string;
575
+ hintExpr?: string;
576
+ icon?: string;
577
+ tone?: RichPropertySheetTone;
578
+ }
579
+ interface RichPropertySheetNode extends RichBlockBaseNode {
580
+ type: 'propertySheet';
581
+ title?: string;
582
+ titleExpr?: string;
583
+ columns?: RichPropertySheetColumns;
584
+ items: RichPropertySheetItem[];
585
+ }
586
+ type RichStatGroupLayout = 'stacked' | 'inline' | 'grid';
587
+ type RichStatTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
588
+ interface RichStatItem {
589
+ id?: string;
590
+ label?: string;
591
+ labelExpr?: string;
592
+ value?: string;
593
+ valueExpr?: string;
594
+ caption?: string;
595
+ captionExpr?: string;
596
+ icon?: string;
597
+ tone?: RichStatTone;
598
+ }
599
+ interface RichStatGroupNode extends RichBlockBaseNode {
600
+ type: 'statGroup';
601
+ title?: string;
602
+ titleExpr?: string;
603
+ subtitle?: string;
604
+ subtitleExpr?: string;
605
+ layout?: RichStatGroupLayout;
606
+ items: RichStatItem[];
607
+ }
608
+ type RichTabsAppearance = 'underline' | 'pills';
609
+ interface RichTabsItem extends RichBlockRuleSet {
610
+ id?: string;
611
+ label?: string;
612
+ labelExpr?: string;
613
+ icon?: string;
614
+ badge?: string;
615
+ badgeExpr?: string;
616
+ requiresCapabilities?: string[];
617
+ capabilityMode?: RichCapabilityMode;
618
+ content: RichBlockNode[];
619
+ }
620
+ interface RichTabsNode extends RichBlockBaseNode {
621
+ type: 'tabs';
622
+ title?: string;
623
+ titleExpr?: string;
624
+ subtitle?: string;
625
+ subtitleExpr?: string;
626
+ appearance?: RichTabsAppearance;
627
+ defaultTabId?: string;
628
+ items: RichTabsItem[];
629
+ }
630
+ interface RichEmptyStateNode extends RichBlockBaseNode {
631
+ type: 'emptyState';
632
+ icon?: string;
633
+ title?: string;
634
+ titleExpr?: string;
635
+ message?: string;
636
+ messageExpr?: string;
637
+ actions?: RichActionButtonNode[];
638
+ }
639
+ interface RichRecordSummaryField {
640
+ id?: string;
641
+ label?: string;
642
+ labelExpr?: string;
643
+ value?: string;
644
+ valueExpr?: string;
645
+ }
646
+ interface RichRecordSummaryNode extends RichBlockBaseNode {
647
+ type: 'recordSummary';
648
+ title?: string;
649
+ titleExpr?: string;
650
+ subtitle?: string;
651
+ subtitleExpr?: string;
652
+ meta?: string;
653
+ metaExpr?: string;
654
+ fields: RichRecordSummaryField[];
655
+ actions?: RichActionButtonNode[];
656
+ }
657
+ type RichLookupResultStatus = 'idle' | 'resolved' | 'empty' | 'error';
658
+ interface RichLookupResultField {
659
+ id?: string;
660
+ label?: string;
661
+ labelExpr?: string;
662
+ value?: string;
663
+ valueExpr?: string;
664
+ hint?: string;
665
+ hintExpr?: string;
666
+ }
667
+ interface RichLookupResultNode extends RichBlockBaseNode {
668
+ type: 'lookupResult';
669
+ title?: string;
670
+ titleExpr?: string;
671
+ subtitle?: string;
672
+ subtitleExpr?: string;
673
+ status?: RichLookupResultStatus;
674
+ statusExpr?: string;
675
+ emptyText?: string;
676
+ emptyTextExpr?: string;
677
+ errorText?: string;
678
+ errorTextExpr?: string;
679
+ meta?: string;
680
+ metaExpr?: string;
681
+ fields: RichLookupResultField[];
682
+ actions?: RichActionButtonNode[];
683
+ }
684
+ interface RichLookupCardNode extends RichBlockBaseNode {
685
+ type: 'lookupCard';
686
+ title?: string;
687
+ titleExpr?: string;
688
+ subtitle?: string;
689
+ subtitleExpr?: string;
690
+ icon?: string;
691
+ status?: RichLookupResultStatus;
692
+ statusExpr?: string;
693
+ emptyText?: string;
694
+ emptyTextExpr?: string;
695
+ errorText?: string;
696
+ errorTextExpr?: string;
697
+ meta?: string;
698
+ metaExpr?: string;
699
+ ctaLabel?: string;
700
+ ctaLabelExpr?: string;
701
+ ctaIcon?: string;
702
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
703
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
704
+ action: RichActionRef;
705
+ fields: RichLookupResultField[];
706
+ secondaryActions?: RichActionButtonNode[];
707
+ }
708
+ interface RichRelatedRecordNode extends RichBlockBaseNode {
709
+ type: 'relatedRecord';
710
+ title?: string;
711
+ titleExpr?: string;
712
+ subtitle?: string;
713
+ subtitleExpr?: string;
714
+ relationLabel?: string;
715
+ relationLabelExpr?: string;
716
+ icon?: string;
717
+ meta?: string;
718
+ metaExpr?: string;
719
+ ctaLabel?: string;
720
+ ctaLabelExpr?: string;
721
+ ctaIcon?: string;
722
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
723
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
724
+ action?: RichActionRef;
725
+ fields: RichLookupResultField[];
726
+ secondaryActions?: RichActionButtonNode[];
727
+ }
728
+ interface RichActionCardNode extends RichBlockBaseNode {
729
+ type: 'actionCard';
730
+ title?: string;
731
+ titleExpr?: string;
732
+ subtitle?: string;
733
+ subtitleExpr?: string;
734
+ message?: string;
735
+ messageExpr?: string;
736
+ icon?: string;
737
+ meta?: string;
738
+ metaExpr?: string;
739
+ ctaLabel?: string;
740
+ ctaLabelExpr?: string;
741
+ ctaIcon?: string;
742
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
743
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
744
+ action: RichActionRef;
745
+ secondaryActions?: RichActionButtonNode[];
746
+ }
747
+ interface RichFormLauncherNode extends RichBlockBaseNode {
748
+ type: 'formLauncher';
749
+ title?: string;
750
+ titleExpr?: string;
751
+ subtitle?: string;
752
+ subtitleExpr?: string;
753
+ description?: string;
754
+ descriptionExpr?: string;
755
+ icon?: string;
756
+ formId?: string;
757
+ ctaLabel?: string;
758
+ ctaLabelExpr?: string;
759
+ ctaIcon?: string;
760
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
761
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
762
+ action: RichActionRef;
763
+ secondaryActions?: RichActionButtonNode[];
764
+ }
765
+ interface RichCollapsibleCardNode extends RichBlockBaseNode {
766
+ type: 'collapsibleCard';
767
+ title?: string;
768
+ titleExpr?: string;
769
+ subtitle?: string;
770
+ subtitleExpr?: string;
771
+ icon?: string;
772
+ defaultExpanded?: boolean;
773
+ actions?: RichActionButtonNode[];
774
+ content: RichBlockNode[];
775
+ }
776
+ interface RichDisclosureNode extends RichBlockBaseNode {
777
+ type: 'disclosure';
778
+ title?: string;
779
+ titleExpr?: string;
780
+ subtitle?: string;
781
+ subtitleExpr?: string;
782
+ icon?: string;
783
+ appearance?: 'plain' | 'card';
784
+ defaultExpanded?: boolean;
785
+ actions?: RichActionButtonNode[];
786
+ content: RichBlockNode[];
787
+ }
788
+ interface RichAccordionItem {
789
+ id?: string;
790
+ title?: string;
791
+ titleExpr?: string;
792
+ subtitle?: string;
793
+ subtitleExpr?: string;
794
+ icon?: string;
795
+ defaultExpanded?: boolean;
796
+ actions?: RichActionButtonNode[];
797
+ content: RichBlockNode[];
798
+ }
799
+ interface RichAccordionNode extends RichBlockBaseNode {
800
+ type: 'accordion';
801
+ title?: string;
802
+ titleExpr?: string;
803
+ multi?: boolean;
804
+ items: RichAccordionItem[];
218
805
  }
219
806
  interface RichMediaBlockNode extends RichBlockBaseNode {
220
807
  type: 'mediaBlock';
@@ -232,16 +819,37 @@ interface RichTimelineItem {
232
819
  subtitleExpr?: string;
233
820
  meta?: string;
234
821
  metaExpr?: string;
822
+ opposite?: string;
823
+ oppositeExpr?: string;
235
824
  icon?: string;
236
825
  iconExpr?: string;
237
826
  badge?: string;
238
827
  badgeExpr?: string;
239
- }
828
+ markerColor?: RichTimelineColor;
829
+ markerStyle?: RichTimelineMarkerStyle;
830
+ connectorColor?: RichTimelineColor;
831
+ connectorVariant?: RichTimelineConnectorVariant;
832
+ }
833
+ type RichTimelinePosition = 'left' | 'right' | 'alternate' | 'alternate-reverse';
834
+ type RichTimelineOrientation = 'vertical' | 'horizontal';
835
+ type RichTimelineOrder = 'normal' | 'reverse';
836
+ type RichTimelineConnectorVariant = 'solid' | 'dashed' | 'none';
837
+ type RichTimelineMarkerVariant = 'dot' | 'icon' | 'number';
838
+ type RichTimelineMarkerStyle = 'filled' | 'outlined';
839
+ type RichTimelineColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'info' | 'neutral';
240
840
  interface RichTimelineNode extends RichBlockBaseNode {
241
841
  type: 'timeline';
242
842
  title?: string;
243
843
  titleExpr?: string;
244
844
  emptyText?: string;
845
+ orientation?: RichTimelineOrientation;
846
+ order?: RichTimelineOrder;
847
+ position?: RichTimelinePosition;
848
+ connectorVariant?: RichTimelineConnectorVariant;
849
+ connectorColor?: RichTimelineColor;
850
+ markerVariant?: RichTimelineMarkerVariant;
851
+ markerColor?: RichTimelineColor;
852
+ markerStyle?: RichTimelineMarkerStyle;
245
853
  items: RichTimelineItem[];
246
854
  }
247
855
  type CorePresetKind = 'surface-open' | 'widget-page-layout' | 'widget-page-theme' | 'editorial-theme' | 'editorial-compliance' | 'editorial-solution' | 'rich-block';
@@ -271,6 +879,13 @@ interface CorePresetDiscoveryRegistry {
271
879
  }
272
880
  interface RichBlockHostCapabilities {
273
881
  dispatchAction?(actionId: string, payload?: unknown): void | Promise<void>;
882
+ confirmAction?(request: {
883
+ actionId: string;
884
+ message: string;
885
+ payload?: unknown;
886
+ }): boolean | Promise<boolean>;
887
+ isActionAvailable?(actionId: string): boolean;
888
+ hasCapability?(capabilityId: string): boolean;
274
889
  resolveEmbed?(kind: 'component' | 'templateRef' | 'formRef' | 'tableRef' | 'chartRef', ref: string, inputs?: Record<string, unknown>): unknown;
275
890
  resolvePreset?(ref: CorePresetRef): unknown;
276
891
  loadData?(request: {
@@ -283,7 +898,7 @@ interface RichBlockHostCapabilities {
283
898
  onLoadError?: 'hide' | 'error' | 'placeholder';
284
899
  };
285
900
  }
286
- type RichPrimitiveNode = RichPresenterNode | RichComposeNode | RichCardNode | RichMediaBlockNode | RichTimelineNode;
901
+ type RichPrimitiveNode = RichPresenterNode | RichComposeNode | RichCardNode | RichCalloutNode | RichCtaGroupNode | RichKeyValueListNode | RichPropertySheetNode | RichStatGroupNode | RichTabsNode | RichEmptyStateNode | RichRecordSummaryNode | RichLookupResultNode | RichLookupCardNode | RichRelatedRecordNode | RichActionCardNode | RichFormLauncherNode | RichCollapsibleCardNode | RichDisclosureNode | RichAccordionNode | RichMediaBlockNode | RichTimelineNode;
287
902
  type RichBlockNode = RichPrimitiveNode | RichPresetReferenceNode;
288
903
  interface RichContentDocument {
289
904
  kind: 'praxis.rich-content';
@@ -293,6 +908,225 @@ interface RichContentDocument {
293
908
  }
294
909
  declare function createEmptyRichContentDocument(): RichContentDocument;
295
910
 
911
+ type GlobalActionResult = {
912
+ success: boolean;
913
+ data?: any;
914
+ error?: string;
915
+ };
916
+ interface NavigationOpenRoutePayload {
917
+ path: string;
918
+ query?: Record<string, string | number | boolean | null | undefined>;
919
+ fragment?: string;
920
+ replaceUrl?: boolean;
921
+ state?: Record<string, unknown>;
922
+ }
923
+ interface GlobalActionRef {
924
+ actionId: string;
925
+ payload?: any;
926
+ payloadExpr?: string;
927
+ meta?: {
928
+ label?: string;
929
+ icon?: string;
930
+ emitLocal?: boolean;
931
+ confirmation?: any;
932
+ [key: string]: any;
933
+ };
934
+ }
935
+ type GlobalActionContext = {
936
+ sourceId?: string;
937
+ widgetKey?: string;
938
+ output?: string;
939
+ payload?: any;
940
+ pageContext?: Record<string, any> | null;
941
+ meta?: Record<string, any>;
942
+ runtime?: {
943
+ row?: any;
944
+ item?: any;
945
+ selection?: any;
946
+ formData?: any;
947
+ value?: any;
948
+ state?: any;
949
+ };
950
+ };
951
+ type GlobalActionHandler = (payload?: any, context?: GlobalActionContext) => Promise<GlobalActionResult> | GlobalActionResult;
952
+ interface GlobalActionHandlerEntry {
953
+ id: string;
954
+ handler: GlobalActionHandler;
955
+ }
956
+ interface GlobalDialogService {
957
+ alert: (payload: {
958
+ title?: string;
959
+ message?: string;
960
+ okLabel?: string;
961
+ variant?: string;
962
+ }) => Promise<any> | any;
963
+ confirm: (payload: {
964
+ title?: string;
965
+ message?: string;
966
+ confirmLabel?: string;
967
+ cancelLabel?: string;
968
+ type?: 'danger' | 'warning' | 'info';
969
+ }) => Promise<boolean> | boolean;
970
+ prompt: (payload: {
971
+ title?: string;
972
+ message?: string;
973
+ placeholder?: string;
974
+ defaultValue?: string;
975
+ okLabel?: string;
976
+ cancelLabel?: string;
977
+ }) => Promise<any> | any;
978
+ open: (payload: {
979
+ componentId?: string;
980
+ inputs?: any;
981
+ size?: any;
982
+ data?: any;
983
+ }) => Promise<any> | any;
984
+ }
985
+ interface GlobalToastService {
986
+ success: (message: string, opts?: any) => void;
987
+ error: (message: string, opts?: any) => void;
988
+ }
989
+ interface GlobalAnalyticsService {
990
+ track: (eventName: string, payload?: any) => void;
991
+ }
992
+ interface GlobalApiClient {
993
+ get: (url: string, params?: Record<string, any>) => Promise<any> | any;
994
+ post: (url: string, body?: any) => Promise<any> | any;
995
+ patch: (url: string, body?: any) => Promise<any> | any;
996
+ }
997
+ interface GlobalRouteGuardResolver {
998
+ resolve: (guardId: string) => any;
999
+ }
1000
+
1001
+ type PraxisExportFormat = 'excel' | 'pdf' | 'csv' | 'json' | 'print';
1002
+ type PraxisExportScope = 'auto' | 'selected' | 'filtered' | 'currentPage' | 'all';
1003
+ type PraxisCollectionComponentType = 'table' | 'list' | string;
1004
+ type PraxisCollectionSelectionMode = 'none' | 'single' | 'multiple';
1005
+ type PraxisExportSortDirection = 'asc' | 'desc';
1006
+ interface PraxisCollectionSelectionState<T = unknown> {
1007
+ mode: PraxisCollectionSelectionMode;
1008
+ keyField?: string;
1009
+ selectedKeys?: Array<string | number>;
1010
+ selectedItems?: T[];
1011
+ allMatchingSelected?: boolean;
1012
+ excludedKeys?: Array<string | number>;
1013
+ }
1014
+ interface PraxisCollectionExportField<T = unknown> {
1015
+ key: string;
1016
+ label?: string;
1017
+ visible?: boolean;
1018
+ exportable?: boolean;
1019
+ type?: string;
1020
+ valuePath?: string;
1021
+ valueGetter?: (item: T) => unknown;
1022
+ formatter?: (value: unknown, item: T) => unknown;
1023
+ }
1024
+ interface PraxisCollectionSortDescriptor {
1025
+ field: string;
1026
+ direction: PraxisExportSortDirection;
1027
+ }
1028
+ interface PraxisCollectionPaginationState {
1029
+ pageIndex?: number;
1030
+ pageNumber?: number;
1031
+ pageSize?: number;
1032
+ totalItems?: number;
1033
+ }
1034
+ interface PraxisCollectionExportSource<T = unknown> {
1035
+ loadedItems?: T[];
1036
+ resourcePath?: string;
1037
+ query?: Record<string, unknown>;
1038
+ filters?: unknown;
1039
+ sort?: PraxisCollectionSortDescriptor[] | unknown;
1040
+ pagination?: PraxisCollectionPaginationState | unknown;
1041
+ }
1042
+ interface PraxisCollectionExportRequest<T = unknown> extends PraxisCollectionExportSource<T> {
1043
+ componentType: PraxisCollectionComponentType;
1044
+ componentId?: string;
1045
+ format: PraxisExportFormat;
1046
+ scope: PraxisExportScope;
1047
+ selection?: PraxisCollectionSelectionState<T>;
1048
+ fields?: PraxisCollectionExportField<T>[];
1049
+ includeHeaders?: boolean;
1050
+ applyFormatting?: boolean;
1051
+ maxRows?: number;
1052
+ fileName?: string;
1053
+ metadata?: Record<string, unknown>;
1054
+ }
1055
+ interface PraxisCollectionExportResult {
1056
+ status: 'completed' | 'deferred';
1057
+ format: PraxisExportFormat;
1058
+ scope: PraxisExportScope;
1059
+ fileName?: string;
1060
+ mimeType?: string;
1061
+ content?: string | Blob;
1062
+ downloadUrl?: string;
1063
+ jobId?: string;
1064
+ rowCount?: number;
1065
+ warnings?: string[];
1066
+ metadata?: Record<string, unknown>;
1067
+ }
1068
+ interface PraxisCollectionExportProvider {
1069
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportResult | Promise<PraxisCollectionExportResult>;
1070
+ }
1071
+ interface PraxisExportSecurityPolicy {
1072
+ escapeFormulaValues: boolean;
1073
+ formulaPrefixes: readonly string[];
1074
+ formulaEscapePrefix: string;
1075
+ }
1076
+ declare const PRAXIS_EXPORT_FORMULA_PREFIXES: readonly ["=", "+", "-", "@", "\t", "\r"];
1077
+ declare const PRAXIS_DEFAULT_EXPORT_SECURITY_POLICY: PraxisExportSecurityPolicy;
1078
+ declare function resolvePraxisExportScope<T>(request: PraxisCollectionExportRequest<T>): Exclude<PraxisExportScope, 'auto'>;
1079
+ declare function resolvePraxisCollectionExportItems<T>(request: PraxisCollectionExportRequest<T>): T[];
1080
+ declare function resolvePraxisExportFields<T>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportField<T>[];
1081
+ declare function readPraxisExportValue(item: unknown, path: string): unknown;
1082
+ declare function escapePraxisExportCell(value: unknown, policy?: PraxisExportSecurityPolicy): string;
1083
+ declare function serializePraxisCollectionToCsv<T>(request: PraxisCollectionExportRequest<T>, policy?: PraxisExportSecurityPolicy): string;
1084
+ declare function serializePraxisCollectionToJson<T>(request: PraxisCollectionExportRequest<T>): string;
1085
+ declare function hasPraxisCollectionExportArtifact(result: PraxisCollectionExportResult | null | undefined): boolean;
1086
+ declare function assertPraxisCollectionExportArtifact(result: PraxisCollectionExportResult | null | undefined): asserts result is PraxisCollectionExportResult;
1087
+
1088
+ type PraxisRuntimeEffectTrigger = 'on-condition-enter' | 'on-value-change' | 'while-true';
1089
+ interface PraxisEffectPolicy {
1090
+ trigger?: PraxisRuntimeEffectTrigger;
1091
+ distinct?: boolean;
1092
+ distinctBy?: string;
1093
+ debounceMs?: number;
1094
+ missingValuePolicy?: 'propagate-undefined' | 'skip' | 'use-default';
1095
+ errorPolicy?: 'diagnostic' | 'drop' | 'halt-page';
1096
+ runOnInitialEvaluation?: boolean;
1097
+ }
1098
+ interface PraxisRuntimeConditionalEffectRule<TEffect = unknown> extends PraxisConditionalRule<JsonLogicExpression | null> {
1099
+ id?: string;
1100
+ effects: TEffect[];
1101
+ policy?: PraxisEffectPolicy;
1102
+ priority?: number;
1103
+ enabled?: boolean;
1104
+ description?: string;
1105
+ }
1106
+ interface PraxisRuntimeGlobalActionEffect {
1107
+ id?: string;
1108
+ kind: 'global-action';
1109
+ globalAction: GlobalActionRef;
1110
+ }
1111
+ interface PraxisConditionalEffectDiagnostic {
1112
+ ruleId?: string;
1113
+ effectId?: string;
1114
+ code: 'missing-effect' | 'invalid-effect' | 'invalid-condition' | 'policy-blocked' | 'execution-failed';
1115
+ details?: string[];
1116
+ }
1117
+ interface PraxisEffectDistinctKeyInput {
1118
+ componentId?: string;
1119
+ ruleId?: string;
1120
+ effectId?: string;
1121
+ actionId?: string;
1122
+ contextKey?: string;
1123
+ distinctBy?: string;
1124
+ value?: unknown;
1125
+ }
1126
+ declare function isPraxisRuntimeGlobalActionEffect(value: unknown): value is PraxisRuntimeGlobalActionEffect;
1127
+ declare function normalizePraxisEffectPolicy(policy: PraxisEffectPolicy | null | undefined): PraxisEffectPolicy;
1128
+ declare function buildPraxisEffectDistinctKey(input: PraxisEffectDistinctKeyInput): string;
1129
+
296
1130
  /**
297
1131
  * Nova arquitetura modular do TableConfig v2.0
298
1132
  * Preparada para crescimento exponencial e alinhada com as 5 abas do editor
@@ -458,9 +1292,12 @@ interface ColumnDefinition {
458
1292
  srcField?: string;
459
1293
  alt?: string;
460
1294
  altField?: string;
1295
+ initialsField?: string;
461
1296
  initialsExpr?: string;
462
1297
  shape?: 'square' | 'rounded' | 'circle';
463
1298
  size?: number;
1299
+ backgroundColor?: string;
1300
+ textColor?: string;
464
1301
  };
465
1302
  /** Alternância (toggle) com ação */
466
1303
  toggle?: {
@@ -565,9 +1402,12 @@ interface ColumnDefinition {
565
1402
  srcField?: string;
566
1403
  alt?: string;
567
1404
  altField?: string;
1405
+ initialsField?: string;
568
1406
  initialsExpr?: string;
569
1407
  shape?: 'square' | 'rounded' | 'circle';
570
1408
  size?: number;
1409
+ backgroundColor?: string;
1410
+ textColor?: string;
571
1411
  };
572
1412
  } | {
573
1413
  type: 'toggle';
@@ -614,8 +1454,12 @@ interface ColumnDefinition {
614
1454
  };
615
1455
  /** Overrides condicionais do renderer por linha (first‑match wins) */
616
1456
  conditionalRenderers?: Array<{
1457
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
1458
+ id?: string;
617
1459
  condition: JsonLogicExpression | null;
618
- renderer: Partial<ColumnDefinition['renderer']>;
1460
+ renderer?: Partial<ColumnDefinition['renderer']>;
1461
+ /** Efeitos visuais canonicos que podem produzir renderer, tooltip ou animacao. */
1462
+ effects?: Array<Record<string, unknown>>;
619
1463
  description?: string;
620
1464
  enabled?: boolean;
621
1465
  }>;
@@ -624,11 +1468,16 @@ interface ColumnDefinition {
624
1468
  * Cada regra contém uma expressão canônica em `condition` e o efeito visual a aplicar.
625
1469
  */
626
1470
  conditionalStyles?: Array<{
1471
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
1472
+ id?: string;
627
1473
  condition: JsonLogicExpression | null;
1474
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
1475
+ effects?: Array<Record<string, unknown>>;
628
1476
  cssClass?: string;
629
1477
  style?: {
630
1478
  [key: string]: string;
631
1479
  };
1480
+ tooltip?: Record<string, unknown>;
632
1481
  description?: string;
633
1482
  }>;
634
1483
  /** Estado serializado do construtor visual de regras (round‑trip) */
@@ -686,6 +1535,8 @@ interface TableBehaviorConfig {
686
1535
  sorting?: SortingConfig;
687
1536
  /** Configurações de filtragem */
688
1537
  filtering?: FilteringConfig;
1538
+ /** Configurações de agrupamento de linhas */
1539
+ grouping?: GroupingConfig;
689
1540
  /** Configurações de seleção de linhas */
690
1541
  selection?: SelectionConfig;
691
1542
  /** Configurações de interação do usuário */
@@ -920,6 +1771,14 @@ interface SortingConfig {
920
1771
  preserveSort?: boolean;
921
1772
  };
922
1773
  }
1774
+ interface GroupingConfig {
1775
+ /** Habilitar agrupamento */
1776
+ enabled: boolean;
1777
+ /** Campos usados para agrupamento */
1778
+ fields: string[];
1779
+ /** Se os grupos iniciam expandidos */
1780
+ expanded?: boolean;
1781
+ }
923
1782
  interface FilteringConfig {
924
1783
  /** Habilitar filtragem */
925
1784
  enabled: boolean;
@@ -1336,6 +2195,10 @@ interface ToolbarAction {
1336
2195
  disabled?: boolean;
1337
2196
  /** Função a executar */
1338
2197
  action: string;
2198
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2199
+ globalAction?: GlobalActionRef;
2200
+ /** Efeitos runtime canonicos executados quando a acao da toolbar e acionada */
2201
+ effects?: PraxisRuntimeGlobalActionEffect[];
1339
2202
  /** Tooltip */
1340
2203
  tooltip?: string;
1341
2204
  /** Tecla de atalho */
@@ -1348,6 +2211,8 @@ interface ToolbarAction {
1348
2211
  order?: number;
1349
2212
  /** Visibilidade condicional */
1350
2213
  visibleWhen?: JsonLogicExpression | null;
2214
+ /** Desabilitacao condicional */
2215
+ disabledWhen?: JsonLogicExpression | null;
1351
2216
  /** Sub-ações (para menus) */
1352
2217
  children?: ToolbarAction[];
1353
2218
  }
@@ -1405,6 +2270,11 @@ interface RowActionsConfig {
1405
2270
  menuIcon?: string;
1406
2271
  /** Cor do botão do menu de ações (overflow) */
1407
2272
  menuButtonColor?: 'basic' | 'primary' | 'accent' | 'warn';
2273
+ /** Descoberta HATEOAS/capabilities para enriquecer ações de linha */
2274
+ discovery?: {
2275
+ /** Habilitar descoberta contextual de actions/capabilities para a linha */
2276
+ enabled?: boolean;
2277
+ };
1408
2278
  /** Configurações do cabeçalho da coluna de ações */
1409
2279
  header?: {
1410
2280
  /** Texto exibido no cabeçalho (ex.: "Ações") */
@@ -1446,6 +2316,10 @@ interface RowAction {
1446
2316
  disabled?: boolean;
1447
2317
  /** Função a executar */
1448
2318
  action: string;
2319
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2320
+ globalAction?: GlobalActionRef;
2321
+ /** Efeitos runtime canonicos executados quando a acao por linha e acionada */
2322
+ effects?: PraxisRuntimeGlobalActionEffect[];
1449
2323
  /** Tooltip */
1450
2324
  tooltip?: string;
1451
2325
  /** Requer confirmação */
@@ -1484,6 +2358,10 @@ interface BulkAction {
1484
2358
  color?: string;
1485
2359
  /** Função a executar */
1486
2360
  action: string;
2361
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2362
+ globalAction?: GlobalActionRef;
2363
+ /** Efeitos runtime canonicos executados quando a acao em lote e acionada */
2364
+ effects?: PraxisRuntimeGlobalActionEffect[];
1487
2365
  /** Requer confirmação */
1488
2366
  requiresConfirmation?: boolean;
1489
2367
  /** Mínimo de itens selecionados */
@@ -1713,14 +2591,12 @@ interface ExportConfig {
1713
2591
  /** Templates personalizados */
1714
2592
  templates?: ExportTemplate[];
1715
2593
  }
1716
- type ExportFormat = 'excel' | 'pdf' | 'csv' | 'json' | 'print';
2594
+ type ExportFormat = PraxisExportFormat;
1717
2595
  interface GeneralExportConfig {
1718
2596
  /** Incluir cabeçalhos */
1719
2597
  includeHeaders: boolean;
1720
- /** Incluir filtros aplicados na exportação */
1721
- respectFilters: boolean;
1722
- /** Incluir apenas linhas selecionadas */
1723
- selectedRowsOnly?: boolean;
2598
+ /** Escopo canônico dos dados exportados */
2599
+ scope: PraxisExportScope;
1724
2600
  /** Máximo de linhas para exportar */
1725
2601
  maxRows?: number;
1726
2602
  /** Nome do arquivo padrão */
@@ -2242,12 +3118,26 @@ interface TableConfigV2 {
2242
3118
  */
2243
3119
  rowConditionalStyles?: Array<{
2244
3120
  condition: JsonLogicExpression | null;
3121
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
3122
+ effects?: Array<Record<string, unknown>>;
2245
3123
  cssClass?: string;
2246
3124
  style?: {
2247
3125
  [key: string]: string;
2248
3126
  };
2249
3127
  description?: string;
2250
3128
  }>;
3129
+ /** Regras condicionais de linha para tooltip e animacao derivados de efeitos visuais. */
3130
+ rowConditionalRenderers?: Array<{
3131
+ /** Identificador estável usado para reconciliação e deduplicação de regras authoradas. */
3132
+ id?: string;
3133
+ condition: JsonLogicExpression | null;
3134
+ tooltip?: Record<string, unknown>;
3135
+ animation?: Record<string, unknown>;
3136
+ /** Efeitos visuais canonicos que podem produzir tooltip ou animacao de linha. */
3137
+ effects?: Array<Record<string, unknown>>;
3138
+ description?: string;
3139
+ enabled?: boolean;
3140
+ }>;
2251
3141
  /** Estado serializado do construtor para regras de linha (round‑trip) */
2252
3142
  _rowStyleRulesState?: any;
2253
3143
  }
@@ -2293,6 +3183,7 @@ declare const FieldDataType: {
2293
3183
  readonly FILE: "file";
2294
3184
  readonly URL: "url";
2295
3185
  readonly BOOLEAN: "boolean";
3186
+ readonly ARRAY: "array";
2296
3187
  readonly JSON: "json";
2297
3188
  };
2298
3189
  type FieldDataType = typeof FieldDataType[keyof typeof FieldDataType];
@@ -2343,6 +3234,7 @@ declare const FieldControlType: {
2343
3234
  readonly DRAWER: "drawer";
2344
3235
  readonly DROP_DOWN_TREE: "dropDownTree";
2345
3236
  readonly EMAIL_INPUT: "email";
3237
+ readonly ENTITY_LOOKUP: "entityLookup";
2346
3238
  readonly EXPANSION_PANEL: "expansionPanel";
2347
3239
  readonly FILE_SAVER: "fileSaver";
2348
3240
  readonly FILE_SELECT: "fileSelect";
@@ -2585,6 +3477,52 @@ interface ConditionalValidationRule {
2585
3477
  /** Validators applied when the guard resolves to true. */
2586
3478
  validators: Omit<ValidatorOptions, 'conditionalValidation'>;
2587
3479
  }
3480
+ interface FieldArrayOperations {
3481
+ add?: boolean;
3482
+ edit?: boolean;
3483
+ remove?: boolean;
3484
+ [key: string]: any;
3485
+ }
3486
+ interface FieldArrayCollectionValidation {
3487
+ uniqueBy?: string[];
3488
+ exactlyOne?: {
3489
+ field: string;
3490
+ value?: any;
3491
+ message?: string;
3492
+ };
3493
+ atLeastOne?: {
3494
+ field: string;
3495
+ value?: any;
3496
+ message?: string;
3497
+ };
3498
+ sumEquals?: {
3499
+ field: string;
3500
+ targetField?: string;
3501
+ value?: number;
3502
+ message?: string;
3503
+ };
3504
+ [key: string]: any;
3505
+ }
3506
+ interface FieldArrayConfig {
3507
+ itemType?: 'object';
3508
+ mode?: 'cards';
3509
+ itemSchemaRef?: string;
3510
+ itemIdentityField?: string;
3511
+ minItems?: number;
3512
+ maxItems?: number;
3513
+ addLabel?: string;
3514
+ emptyState?: string;
3515
+ itemTitleTemplate?: string;
3516
+ operations?: FieldArrayOperations;
3517
+ deleteMode?: 'removeFromPayload';
3518
+ itemSchema?: {
3519
+ fields?: FieldMetadata[];
3520
+ properties?: Record<string, any>;
3521
+ [key: string]: any;
3522
+ };
3523
+ collectionValidation?: FieldArrayCollectionValidation;
3524
+ [key: string]: any;
3525
+ }
2588
3526
  /**
2589
3527
  * Configuration for field options in selection components.
2590
3528
  *
@@ -2697,6 +3635,10 @@ interface FieldMetadata extends ComponentMetadata {
2697
3635
  controlType: FieldControlType;
2698
3636
  /** Data type for processing and validation */
2699
3637
  dataType?: FieldDataType;
3638
+ /** Canonical metadata for editable collection fields (`controlType: "array"`). */
3639
+ array?: FieldArrayConfig;
3640
+ /** Optional top-level alias for collection validators mirrored into `array.collectionValidation`. */
3641
+ collectionValidation?: FieldArrayCollectionValidation;
2700
3642
  /** Display order in form */
2701
3643
  order?: number;
2702
3644
  /** Logical grouping of related fields */
@@ -2967,6 +3909,8 @@ interface FieldDefinition {
2967
3909
  layout?: 'horizontal' | 'vertical';
2968
3910
  disabled?: boolean;
2969
3911
  readOnly?: boolean;
3912
+ array?: FieldArrayConfig;
3913
+ collectionValidation?: FieldArrayCollectionValidation;
2970
3914
  multiple?: boolean;
2971
3915
  editable?: boolean;
2972
3916
  validationMode?: string;
@@ -3144,13 +4088,39 @@ declare function buildHeaders(entry: ApiUrlEntry): HttpHeaders | undefined;
3144
4088
  * // fields: [{ name: 'email', label: 'E-mail', type: 'string', controlType: 'input', required: true, email: true }]
3145
4089
  */
3146
4090
  declare class SchemaNormalizerService {
4091
+ private clonePlain;
4092
+ private resolveSchemaRef;
4093
+ private normalizeObjectSchema;
4094
+ private normalizeArrayConfig;
4095
+ private finalizeArrayConfig;
4096
+ private normalizeInlineItemSchemaFields;
4097
+ private normalizeInlineItemSchemaField;
3147
4098
  /** Convert value to boolean. Accepts boolean, string or number. */
3148
4099
  private parseBoolean;
3149
4100
  /** Ensure an array of strings from various inputs. */
3150
4101
  private parseStringArray;
4102
+ private parseNonBlankStringArray;
4103
+ private parseStringRecord;
4104
+ private parseSelectionPolicy;
4105
+ private parseLookupCapabilities;
4106
+ private parseLookupDetail;
4107
+ private parseLookupDisplay;
4108
+ private parseLookupDisplayField;
4109
+ private parseLookupCreate;
4110
+ private parseLookupFilterOperatorArray;
4111
+ private parseLookupSortDirection;
4112
+ private parseLookupDialogSize;
4113
+ private parseLookupDialog;
4114
+ private parseLookupResultColumn;
4115
+ private parseLookupFilterDefinition;
4116
+ private parseDefaultFilters;
4117
+ private parseLookupFiltering;
3151
4118
  /** Parse option arrays into `{ key, value }` objects. */
3152
4119
  private parseOptions;
3153
4120
  private parseOptionSource;
4121
+ private parseOptionSourceType;
4122
+ private parseOptionSourceSearchMode;
4123
+ private parseLookupOpenDetailMode;
3154
4124
  private parseValuePresentation;
3155
4125
  /**
3156
4126
  * Converte string/Function em função real.
@@ -3185,6 +4155,7 @@ declare class SchemaNormalizerService {
3185
4155
  * @returns FieldDefinition[] prontos para mapeamento/uso no restante do sistema.
3186
4156
  */
3187
4157
  normalizeSchema(schema: any): FieldDefinition[];
4158
+ private normalizeSchemaWithRoot;
3188
4159
  private resolveFieldType;
3189
4160
  static ɵfac: i0.ɵɵFactoryDeclaration<SchemaNormalizerService, never>;
3190
4161
  static ɵprov: i0.ɵɵInjectableDeclaration<SchemaNormalizerService>;
@@ -3541,6 +4512,8 @@ interface OptionSourceRequestOptions<ID = string | number> extends CrudOperation
3541
4512
  includeIds?: ID[];
3542
4513
  observeVersionHeader?: boolean;
3543
4514
  search?: string;
4515
+ sortKey?: string;
4516
+ filters?: LookupFilterRequest[];
3544
4517
  }
3545
4518
  interface BatchDeleteProgress<ID = string | number> {
3546
4519
  id: ID;
@@ -3632,10 +4605,10 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3632
4605
  * Fluxo de schemas (grid e filtro)
3633
4606
  *
3634
4607
  * - Grid/Lista (colunas e metadados do DTO principal):
3635
- * 1) getSchema() chama GET {resource}/schemas (ex.: /api/human-resources/funcionarios/schemas)
3636
- * 2) O backend responde 302 para /schemas/filtered com query params:
3637
- * - path: {basePath}/all (ex.: /api/human-resources/funcionarios/all)
3638
- * - operation: get
4608
+ * 1) getSchema() deriva a superfície canônica de busca/listagem do recurso
4609
+ * 2) Em seguida chama /schemas/filtered com query params:
4610
+ * - path: {basePath}/filter (ex.: /api/human-resources/funcionarios/filter)
4611
+ * - operation: post
3639
4612
  * - schemaType: response
3640
4613
  * 3) O serviço normaliza o schema retornado (x-ui) para montagem de grids e formulários.
3641
4614
  *
@@ -3653,8 +4626,8 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3653
4626
  * Obtém o schema (metadados) do recurso, útil para construção dinâmica de grids e formulários.
3654
4627
  *
3655
4628
  * Fluxo:
3656
- * - Faz GET {resource}/schemas; o backend redireciona (302) para /schemas/filtered
3657
- * com path={basePath}/all, operation=get, schemaType=response.
4629
+ * - Chama /schemas/filtered para a superfície canônica de busca/listagem:
4630
+ * path={basePath}/filter, operation=post, schemaType=response.
3658
4631
  * - O resultado é normalizado e usado para montar colunas de grid e formulários (x-ui).
3659
4632
  *
3660
4633
  * Exemplo:
@@ -3664,6 +4637,7 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3664
4637
  * ```
3665
4638
  */
3666
4639
  getSchema(options?: CrudOperationOptions): Observable<FieldDefinition[]>;
4640
+ private shouldRememberFilteredSchemaEndpointUnavailable;
3667
4641
  private fetchDirectSchema;
3668
4642
  /** Retorna o campo identificador do recurso (ex.: 'id', 'codigo'), quando derivado do schema. */
3669
4643
  getResourceIdField(): string | undefined;
@@ -3927,6 +4901,9 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3927
4901
  private resolveRangeAliases;
3928
4902
  private findExistingKey;
3929
4903
  private normalizeRangeBound;
4904
+ private isDateValue;
4905
+ private formatDateOnly;
4906
+ private tryParseLocalizedRangeNumber;
3930
4907
  private isRangeValue;
3931
4908
  private isPlainObject;
3932
4909
  private updateRangeFieldHints;
@@ -4254,74 +5231,6 @@ declare class ApiConfigStorage implements AsyncConfigStorage {
4254
5231
  static ɵprov: i0.ɵɵInjectableDeclaration<ApiConfigStorage>;
4255
5232
  }
4256
5233
 
4257
- type GlobalActionResult = {
4258
- success: boolean;
4259
- data?: any;
4260
- error?: string;
4261
- };
4262
- type GlobalActionContext = {
4263
- sourceId?: string;
4264
- widgetKey?: string;
4265
- output?: string;
4266
- payload?: any;
4267
- pageContext?: Record<string, any> | null;
4268
- meta?: Record<string, any>;
4269
- runtime?: {
4270
- row?: any;
4271
- item?: any;
4272
- selection?: any;
4273
- formData?: any;
4274
- value?: any;
4275
- state?: any;
4276
- };
4277
- };
4278
- type GlobalActionHandler = (payload?: any, context?: GlobalActionContext) => Promise<GlobalActionResult> | GlobalActionResult;
4279
- interface GlobalActionHandlerEntry {
4280
- id: string;
4281
- handler: GlobalActionHandler;
4282
- }
4283
- interface GlobalDialogService {
4284
- alert: (payload: {
4285
- title?: string;
4286
- message?: string;
4287
- variant?: string;
4288
- }) => Promise<any> | any;
4289
- confirm: (payload: {
4290
- title?: string;
4291
- message?: string;
4292
- confirmLabel?: string;
4293
- cancelLabel?: string;
4294
- type?: 'danger' | 'warning' | 'info';
4295
- }) => Promise<boolean> | boolean;
4296
- prompt: (payload: {
4297
- title?: string;
4298
- message?: string;
4299
- placeholder?: string;
4300
- defaultValue?: string;
4301
- }) => Promise<any> | any;
4302
- open: (payload: {
4303
- componentId?: string;
4304
- inputs?: any;
4305
- size?: any;
4306
- data?: any;
4307
- }) => Promise<any> | any;
4308
- }
4309
- interface GlobalToastService {
4310
- success: (message: string, opts?: any) => void;
4311
- error: (message: string, opts?: any) => void;
4312
- }
4313
- interface GlobalAnalyticsService {
4314
- track: (eventName: string, payload?: any) => void;
4315
- }
4316
- interface GlobalApiClient {
4317
- get: (url: string, params?: Record<string, any>) => Promise<any> | any;
4318
- post: (url: string, body?: any) => Promise<any> | any;
4319
- patch: (url: string, body?: any) => Promise<any> | any;
4320
- }
4321
- interface GlobalRouteGuardResolver {
4322
- resolve: (guardId: string) => any;
4323
- }
4324
-
4325
5234
  declare class GlobalActionService {
4326
5235
  private readonly handlers;
4327
5236
  private readonly router;
@@ -4339,9 +5248,16 @@ declare class GlobalActionService {
4339
5248
  register(id: string, handler: GlobalActionHandler): void;
4340
5249
  has(id: string): boolean;
4341
5250
  execute(id: string, payload?: any, context?: GlobalActionContext): Promise<GlobalActionResult>;
5251
+ executeRef(ref: GlobalActionRef | null | undefined, context?: GlobalActionContext): Promise<GlobalActionResult>;
5252
+ private resolvePayloadExpr;
5253
+ private lookupPath;
4342
5254
  private registerBuiltins;
4343
5255
  private handleApi;
5256
+ private handleNavigationOpenRoute;
4344
5257
  private handleRouteRegister;
5258
+ private buildNavigationUrl;
5259
+ private buildQueryString;
5260
+ private buildFragment;
4345
5261
  static ɵfac: i0.ɵɵFactoryDeclaration<GlobalActionService, never>;
4346
5262
  static ɵprov: i0.ɵɵInjectableDeclaration<GlobalActionService>;
4347
5263
  }
@@ -4397,12 +5313,15 @@ interface SurfaceOpenPayload {
4397
5313
 
4398
5314
  declare class SurfaceBindingRuntimeService {
4399
5315
  resolveWidget(widget: WidgetDefinition, bindings: SurfaceBinding[] | undefined, actionPayload?: any, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): WidgetDefinition;
5316
+ resolveSurfacePayload<T extends SurfaceOpenPayload>(surfacePayload: T, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): T;
4400
5317
  extractByPath(obj: any, path?: string): any;
4401
- resolveTemplate(node: any, context: any): any;
5318
+ resolveTemplate(node: any, context: any, key?: string): any;
5319
+ private isDeferredTemplateExpressionKey;
4402
5320
  setValueAtPath<T extends object>(obj: T, rawPath: string, value: any): T;
4403
5321
  private buildContext;
4404
5322
  private resolveBindingValue;
4405
5323
  private normalizeTargetPath;
5324
+ private normalizeWidgetTargetPath;
4406
5325
  private tokenizePath;
4407
5326
  private clone;
4408
5327
  static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceBindingRuntimeService, never>;
@@ -5188,6 +6107,19 @@ interface MaterialSelectMetadata extends FieldMetadata {
5188
6107
  /** Inline/runtime compatibility for selected option icon color. */
5189
6108
  optionSelectedIconColor?: string;
5190
6109
  }
6110
+ interface MaterialEntityLookupMetadata extends Omit<MaterialSelectMetadata, 'controlType' | 'multiple' | 'maxSelections'>, EntityLookupDisplayMetadata, EntityLookupCollectionMetadata {
6111
+ controlType: typeof FieldControlType.ENTITY_LOOKUP | typeof FieldControlType.INLINE_ENTITY_LOOKUP;
6112
+ lookupIdKey?: string;
6113
+ lookupLabelKey?: string;
6114
+ lookupSubtitleKey?: string;
6115
+ lookupSeparator?: string;
6116
+ payloadMode?: EntityLookupPayloadMode;
6117
+ dialog?: LookupDialogMetadata;
6118
+ searchPlaceholder?: string;
6119
+ resetLabel?: string;
6120
+ ariaLabel?: string;
6121
+ dependencyLoadOnChange?: 'respectLoadOn' | 'immediate' | 'manual';
6122
+ }
5191
6123
  /**
5192
6124
  * Metadata for Material Autocomplete components.
5193
6125
  *
@@ -5241,9 +6173,28 @@ interface MaterialButtonToggleMetadata extends FieldMetadata {
5241
6173
  /** Toggle button options */
5242
6174
  toggleOptions?: Array<{
5243
6175
  value: any;
5244
- text: string;
6176
+ text?: string;
5245
6177
  label?: string;
6178
+ disabled?: boolean;
5246
6179
  }>;
6180
+ /** Allow multiple selected toggle buttons */
6181
+ multiple?: boolean;
6182
+ /** Maximum selected options when multiple is enabled */
6183
+ maxSelections?: number;
6184
+ /** Button toggle appearance */
6185
+ appearance?: 'legacy' | 'standard';
6186
+ /** Theme color */
6187
+ color?: ThemePalette;
6188
+ /** Backend resource for dynamic option loading */
6189
+ resourcePath?: string;
6190
+ /** Canonical metadata-driven source for derived options */
6191
+ optionSource?: OptionSourceMetadata;
6192
+ /** Additional filter criteria for backend requests */
6193
+ filterCriteria?: Record<string, any>;
6194
+ /** Key for option label when loading from backend */
6195
+ optionLabelKey?: string;
6196
+ /** Key for option value when loading from backend */
6197
+ optionValueKey?: string;
5247
6198
  }
5248
6199
  /**
5249
6200
  * Metadata for Material Transfer List component.
@@ -5420,6 +6371,8 @@ interface MaterialDatepickerMetadata extends FieldMetadata {
5420
6371
  controlType: typeof FieldControlType.DATE_PICKER;
5421
6372
  /** Date format for display */
5422
6373
  dateFormat?: string;
6374
+ /** Allows manual typing in the input. Set false to force calendar selection. */
6375
+ manualInput?: boolean;
5423
6376
  /** Minimum selectable date */
5424
6377
  minDate?: Date | string;
5425
6378
  /** Maximum selectable date */
@@ -5488,8 +6441,13 @@ interface MaterialDateRangeMetadata extends FieldMetadata {
5488
6441
  * - `confirm`: keeps selection as draft and only commits on explicit confirmation
5489
6442
  */
5490
6443
  inlineQuickPresetsApplyMode?: 'auto' | 'confirm';
5491
- /** Position of shortcuts sidebar relative to the form field. */
5492
- shortcutsPosition?: 'left' | 'right';
6444
+ /**
6445
+ * Preferred position of shortcuts panel relative to the form field.
6446
+ * Defaults to `auto`, which tries a viewport-safe below placement before
6447
+ * side placements. Explicit `left`/`right` remain preferences and may fall
6448
+ * back when there is not enough viewport space.
6449
+ */
6450
+ shortcutsPosition?: 'auto' | 'below' | 'left' | 'right';
5493
6451
  /** Apply immediately when clicking a shortcut. Defaults to true. */
5494
6452
  applyOnShortcutClick?: boolean;
5495
6453
  /** Timezone identifier (e.g., 'America/Sao_Paulo') for normalization. */
@@ -5595,6 +6553,21 @@ interface InlineRangeDistributionConfig {
5595
6553
  bins?: Array<number | InlineRangeDistributionBin> | string;
5596
6554
  /** Optional normalization ceiling; defaults to the highest bin value. */
5597
6555
  maxValue?: number;
6556
+ /**
6557
+ * Color strategy for histogram bars.
6558
+ * `selection` highlights bars covered by the current slider value/range using theme tokens.
6559
+ * `gradient` applies a configurable gradient to the selected bars.
6560
+ * `theme` keeps all bars on the neutral themed baseline.
6561
+ */
6562
+ colorMode?: 'theme' | 'selection' | 'gradient';
6563
+ /** Optional selected bar color; defaults to the app theme primary color. */
6564
+ selectedColor?: string;
6565
+ /** Optional unselected bar color; defaults to the app theme outline variant color. */
6566
+ unselectedColor?: string;
6567
+ /** Optional first color stop for selected gradient bars. */
6568
+ gradientStartColor?: string;
6569
+ /** Optional final color stop for selected gradient bars. */
6570
+ gradientEndColor?: string;
5598
6571
  /** Optional minimum visible ratio in the [0..1] range for non-zero bars. */
5599
6572
  minBarRatio?: number;
5600
6573
  /** Alias for `minBarRatio`. */
@@ -5638,6 +6611,33 @@ interface RangeSliderQuickPresetLabels {
5638
6611
  fromMid?: string;
5639
6612
  full?: string;
5640
6613
  }
6614
+ interface RangeSliderMark {
6615
+ /** Numeric value represented by this mark. */
6616
+ value: number;
6617
+ /** Optional label rendered next to the mark. */
6618
+ label?: string;
6619
+ /** Optional semantic tone for platform styling. */
6620
+ tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6621
+ /** Optional disabled hint for authoring and future restricted-value mode. */
6622
+ disabled?: boolean;
6623
+ }
6624
+ type RangeSliderSemanticTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6625
+ interface RangeSliderSemanticBand {
6626
+ /** Inclusive start value for the band. */
6627
+ start: number;
6628
+ /** Inclusive end value for the band. */
6629
+ end: number;
6630
+ /** Optional label for accessibility, reports and authoring surfaces. */
6631
+ label?: string;
6632
+ /** Semantic tone used by the platform theme. */
6633
+ tone?: RangeSliderSemanticTone;
6634
+ /** Optional explicit color for specialized domain palettes. */
6635
+ color?: string;
6636
+ }
6637
+ type RangeSliderTrackMode = 'normal' | 'inverted' | 'none';
6638
+ type RangeSliderValueLabelDisplay = 'off' | 'auto' | 'on';
6639
+ type RangeSliderScalePreset = 'linear' | 'percent' | 'log' | 'pow2';
6640
+ type RangeSliderValueFormat = 'number' | 'percent' | 'currency' | 'compact' | 'storage';
5641
6641
  interface MaterialRangeSliderMetadata extends FieldMetadata {
5642
6642
  controlType: typeof FieldControlType.RANGE_SLIDER;
5643
6643
  /** Slider mode */
@@ -5646,18 +6646,36 @@ interface MaterialRangeSliderMetadata extends FieldMetadata {
5646
6646
  min?: number;
5647
6647
  /** Maximum allowed value */
5648
6648
  max?: number;
5649
- /** Step for value increments */
5650
- step?: number;
6649
+ /** Step for value increments. `null` is reserved for mark-restricted values. */
6650
+ step?: number | null;
5651
6651
  /** Whether to show the thumb label */
5652
6652
  thumbLabel?: boolean;
6653
+ /** Controls when the value label is displayed. */
6654
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
6655
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
6656
+ valueLabelFormat?: RangeSliderValueFormat | string;
5653
6657
  /** Tick configuration */
5654
6658
  showTicks?: boolean | 'auto';
6659
+ /** Rich mark labels along the slider track. */
6660
+ marks?: boolean | RangeSliderMark[] | string;
6661
+ /** Semantic bands rendered behind the slider track for domain meaning. */
6662
+ semanticBands?: RangeSliderSemanticBand[] | string;
6663
+ /** Track presentation mode. */
6664
+ track?: RangeSliderTrackMode;
6665
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
6666
+ shiftStep?: number;
6667
+ /** Visual density hint. */
6668
+ size?: 'small' | 'medium' | 'large';
5655
6669
  /** Use discrete slider */
5656
6670
  discrete?: boolean;
5657
6671
  /** Display vertically */
5658
6672
  vertical?: boolean;
5659
6673
  /** Invert slider direction */
5660
6674
  invert?: boolean;
6675
+ /** Prevent active thumb swapping when range thumbs overlap. */
6676
+ disableThumbSwap?: boolean;
6677
+ /** Declarative scale preset used to format displayed values. */
6678
+ scale?: RangeSliderScalePreset | string;
5661
6679
  /** Minimum distance between start and end */
5662
6680
  minDistance?: number;
5663
6681
  /** Maximum distance between start and end */
@@ -5835,6 +6853,8 @@ interface MaterialButtonMetadata extends FieldMetadata {
5835
6853
  buttonIconPosition?: 'before' | 'after';
5836
6854
  /** Button action/command */
5837
6855
  action?: string;
6856
+ /** Structured global action executed through GlobalActionService. */
6857
+ globalAction?: GlobalActionRef;
5838
6858
  /** Disable button ripple effect */
5839
6859
  disableRipple?: boolean;
5840
6860
  /** Confirmation message for destructive actions */
@@ -5882,35 +6902,55 @@ interface MaterialSliderMetadata extends FieldMetadata {
5882
6902
  min?: number;
5883
6903
  /** Maximum value */
5884
6904
  max?: number;
5885
- /** Step increment */
5886
- step?: number;
6905
+ /** Step increment. `null` is reserved for mark-restricted values. */
6906
+ step?: number | null;
5887
6907
  /** Show value label */
5888
6908
  thumbLabel?: boolean;
6909
+ /** Controls when the value label is displayed. */
6910
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
6911
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
6912
+ valueLabelFormat?: RangeSliderValueFormat | string;
6913
+ /** Rich mark labels along the slider track. */
6914
+ marks?: boolean | RangeSliderMark[] | string;
6915
+ /** Semantic bands rendered behind the slider track for domain meaning. */
6916
+ semanticBands?: RangeSliderSemanticBand[] | string;
6917
+ /**
6918
+ * Optional mini histogram/bars rendered above the slider track.
6919
+ * Accepts array shorthand, object config, or JSON string for editor compatibility.
6920
+ */
6921
+ inlineDistribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
6922
+ /**
6923
+ * Alias accepted by slider components for compact payloads.
6924
+ */
6925
+ distribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
6926
+ /** Track presentation mode. */
6927
+ track?: RangeSliderTrackMode;
6928
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
6929
+ shiftStep?: number;
6930
+ /** Visual density hint. */
6931
+ size?: 'small' | 'medium' | 'large';
5889
6932
  /** Slider orientation */
5890
6933
  vertical?: boolean;
5891
6934
  /** Slider color theme */
5892
6935
  color?: ThemePalette;
5893
6936
  /** Display tick marks along the slider track */
5894
- showTicks?: boolean;
6937
+ showTicks?: boolean | 'auto';
5895
6938
  /** Invert slider direction */
5896
6939
  invert?: boolean;
6940
+ /** Declarative scale preset used to format displayed values. */
6941
+ scale?: RangeSliderScalePreset | string;
5897
6942
  }
5898
6943
  /**
5899
6944
  * Specialized metadata for Material Rating components.
5900
6945
  *
5901
- * ⚠️ COMPONENTE NÃO IMPLEMENTADO - Interface de planejamento
5902
- *
5903
- * Para implementar: criar MaterialRatingComponent em components/material-rating/
5904
- * e registrar no ComponentRegistryService
5905
- *
5906
6946
  * Handles star rating or numeric rating selection.
5907
6947
  */
5908
6948
  interface MaterialRatingMetadata extends FieldMetadata {
5909
6949
  controlType: typeof FieldControlType.RATING;
5910
6950
  /** Maximum rating value */
5911
6951
  max?: number;
5912
- /** Rating precision (0.1, 0.5, 1) */
5913
- precision?: number;
6952
+ /** Rating precision (`0.5` or `half` enables half-step interaction) */
6953
+ precision?: number | 'item' | 'half';
5914
6954
  /** Rating icon (default: star) */
5915
6955
  icon?: string;
5916
6956
  /** Empty icon (default: star_border) */
@@ -6581,6 +7621,18 @@ declare class DynamicFormService {
6581
7621
  * Indica se o campo deve ser tratado como seleção múltipla (valor padrão []).
6582
7622
  */
6583
7623
  private isMultipleField;
7624
+ private isArrayMetadata;
7625
+ private getArrayConfig;
7626
+ private getArrayItemFields;
7627
+ createArrayItemGroupFromMetadata(meta: FieldMetadata, value?: Record<string, any>): FormGroup;
7628
+ private ensureArrayItemIdentityControl;
7629
+ private createArrayControlFromMetadata;
7630
+ private buildArrayValidators;
7631
+ private buildArrayCountValidator;
7632
+ private uniqueKeyForItem;
7633
+ private normalizeUniqueValue;
7634
+ private arrayValues;
7635
+ private readPath;
6584
7636
  /**
6585
7637
  * Envelopa um ValidatorFn Angular para padronizar a saída de erro com mensagem.
6586
7638
  * Útil quando deseja-se forçar uma mensagem customizada em um validador nativo.
@@ -6603,7 +7655,7 @@ declare class DynamicFormService {
6603
7655
  * - Aplica validadores específicos de UI quando aplicável.
6604
7656
  * - Valor inicial: [] para campos múltiplos quando ausente; caso contrário defaultValue.
6605
7657
  */
6606
- createControlFromField(field: FieldDefinition): FormControl;
7658
+ createControlFromField(field: FieldDefinition): AbstractControl;
6607
7659
  /**
6608
7660
  * Cria um FormControl a partir de FieldMetadata.
6609
7661
  * - Aplica ValidatorOptions (normalizados) e validadores de UI por tipo.
@@ -6615,6 +7667,11 @@ declare class DynamicFormService {
6615
7667
  defaultValue?: any;
6616
7668
  disabled?: boolean;
6617
7669
  }): FormControl;
7670
+ createAbstractControlFromMetadata(meta: FieldMetadata & {
7671
+ validators?: ValidatorOptions;
7672
+ defaultValue?: any;
7673
+ disabled?: boolean;
7674
+ }): AbstractControl;
6618
7675
  /**
6619
7676
  * Reconfigura um controle existente a partir de FieldDefinition.
6620
7677
  * Atualiza: validators, asyncValidators, estado enabled/disabled e defaultValue (com suporte a múltiplos).
@@ -6814,8 +7871,27 @@ interface ComponentDocMeta {
6814
7871
  /** Optional title shown by hosts when opening the editor. */
6815
7872
  title?: string;
6816
7873
  };
7874
+ /** Optional canonical AI authoring manifest reference published by the component owner. */
7875
+ authoringManifestRef?: {
7876
+ /** Component id used by the manifest registry/backend. */
7877
+ componentId: string;
7878
+ /** Optional manifest version when the owner can publish it statically. */
7879
+ version?: string;
7880
+ /** Stable source symbol, registry id, or manifest module name. */
7881
+ source?: string;
7882
+ /** Optional content hash when available. */
7883
+ hash?: string;
7884
+ };
6817
7885
  /** Tags or categories for search */
6818
7886
  tags?: string[];
7887
+ /** Optional insertion presets exposed by visual builders without changing the component contract. */
7888
+ insertionPresets?: Array<{
7889
+ id: string;
7890
+ label: string;
7891
+ description?: string;
7892
+ icon?: string;
7893
+ inputs?: Record<string, unknown>;
7894
+ }>;
6819
7895
  /** Source library for the component */
6820
7896
  lib?: string;
6821
7897
  /** Optional layout hints for grid placement */
@@ -6918,6 +7994,7 @@ declare class PraxisI18nService {
6918
7994
  getLocale(): string;
6919
7995
  getFallbackLocale(): string;
6920
7996
  t(key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
7997
+ tForLocale(locale: string, key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
6921
7998
  resolve(message: PraxisTextValue | null | undefined, fallback?: string, namespace?: string): string;
6922
7999
  formatDate(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
6923
8000
  formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
@@ -7027,6 +8104,51 @@ declare class TelemetryService {
7027
8104
  static ɵprov: i0.ɵɵInjectableDeclaration<TelemetryService>;
7028
8105
  }
7029
8106
 
8107
+ declare class PraxisCollectionExportService {
8108
+ private readonly provider;
8109
+ private readonly securityPolicy;
8110
+ constructor(provider: PraxisCollectionExportProvider | null, securityPolicy: PraxisExportSecurityPolicy);
8111
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8112
+ exportLocalCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportResult;
8113
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisCollectionExportService, [{ optional: true; }, null]>;
8114
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisCollectionExportService>;
8115
+ }
8116
+
8117
+ interface PraxisCollectionExportHttpProviderOptions {
8118
+ endpoint?: string | ((request: PraxisCollectionExportRequest<any>) => string);
8119
+ apiUrlKey?: string;
8120
+ headers?: Record<string, string | string[]>;
8121
+ withCredentials?: boolean;
8122
+ includeLoadedItems?: boolean;
8123
+ }
8124
+ declare const PRAXIS_COLLECTION_EXPORT_PROVIDER: InjectionToken<PraxisCollectionExportProvider>;
8125
+ declare const PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS: InjectionToken<PraxisCollectionExportHttpProviderOptions>;
8126
+ declare const PRAXIS_EXPORT_SECURITY_POLICY: InjectionToken<PraxisExportSecurityPolicy>;
8127
+ declare function providePraxisCollectionExportProvider(provider: PraxisCollectionExportProvider): Provider;
8128
+
8129
+ declare class PraxisHttpCollectionExportProvider implements PraxisCollectionExportProvider {
8130
+ private readonly http;
8131
+ private readonly apiUrlConfig;
8132
+ private readonly options;
8133
+ constructor(http: HttpClient, apiUrlConfig: ApiUrlConfig | null, options: PraxisCollectionExportHttpProviderOptions | null);
8134
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8135
+ private resolveEndpoint;
8136
+ private resolveUrl;
8137
+ private normalizePathForBase;
8138
+ private resolveApiBaseUrl;
8139
+ private buildHeaders;
8140
+ private buildRequestBody;
8141
+ private normalizeResponse;
8142
+ private normalizeExportHeaders;
8143
+ private readNumberHeader;
8144
+ private readBooleanHeader;
8145
+ private readWarningHeader;
8146
+ private mergeWarnings;
8147
+ private resolveFileName;
8148
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisHttpCollectionExportProvider, [null, { optional: true; }, { optional: true; }]>;
8149
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisHttpCollectionExportProvider>;
8150
+ }
8151
+
7030
8152
  type FieldSelectorRegistryMap = Record<string, FieldControlType>;
7031
8153
  declare const FIELD_SELECTOR_REGISTRY_BASE: InjectionToken<FieldSelectorRegistryMap>;
7032
8154
  declare const FIELD_SELECTOR_REGISTRY_OVERRIDES: InjectionToken<FieldSelectorRegistryMap[]>;
@@ -7132,6 +8254,7 @@ declare class PraxisLayerScaleStyleService {
7132
8254
  * abertura, enquanto `resourcePath`, `path`, `method` e `schemaUrl` seguem responsaveis pelo
7133
8255
  * comportamento operacional.
7134
8256
  */
8257
+
7135
8258
  interface ResourceAvailabilityDecision {
7136
8259
  allowed: boolean;
7137
8260
  reason?: string | null;
@@ -7142,6 +8265,8 @@ type ResourceSurfaceScope = 'COLLECTION' | 'ITEM';
7142
8265
  type ResourceActionScope = 'COLLECTION' | 'ITEM';
7143
8266
  type ResourceDiscoveryRel = 'surfaces' | 'actions' | 'capabilities';
7144
8267
  type ResourceCrudOperationId = 'create' | 'view' | 'edit' | 'delete';
8268
+ type ResourceCapabilityOperationId = ResourceCrudOperationId | 'export' | string;
8269
+ type ResourceExportMaxRows = Partial<Record<PraxisExportFormat, number>> & Record<string, number | undefined>;
7145
8270
  interface ResourceSurfaceCatalogItem {
7146
8271
  id: string;
7147
8272
  resourceKey: string;
@@ -7192,20 +8317,25 @@ interface ResourceActionCatalogResponse {
7192
8317
  actions: ResourceActionCatalogItem[];
7193
8318
  }
7194
8319
  interface ResourceCapabilityOperation {
7195
- id: ResourceCrudOperationId;
8320
+ id: ResourceCapabilityOperationId;
7196
8321
  supported: boolean;
7197
8322
  scope: ResourceSurfaceScope;
7198
8323
  preferredMethod?: string | null;
7199
8324
  preferredRel?: string | null;
7200
8325
  availability?: ResourceAvailabilityDecision | null;
8326
+ formats?: PraxisExportFormat[];
8327
+ scopes?: PraxisExportScope[];
8328
+ maxRows?: ResourceExportMaxRows;
8329
+ async?: boolean | null;
7201
8330
  }
8331
+ type ResourceCapabilityOperations = Partial<Record<ResourceCrudOperationId | 'export', ResourceCapabilityOperation>> & Record<string, ResourceCapabilityOperation | undefined>;
7202
8332
  interface ResourceCapabilitySnapshot {
7203
8333
  resourceKey: string;
7204
8334
  resourcePath: string;
7205
8335
  group?: string | null;
7206
8336
  resourceId?: string | number | null;
7207
8337
  canonicalOperations: Record<string, boolean>;
7208
- operations?: Partial<Record<ResourceCrudOperationId, ResourceCapabilityOperation>>;
8338
+ operations?: ResourceCapabilityOperations;
7209
8339
  surfaces: ResourceSurfaceCatalogItem[];
7210
8340
  actions: ResourceActionCatalogItem[];
7211
8341
  }
@@ -7245,6 +8375,466 @@ declare class ResourceDiscoveryService {
7245
8375
  static ɵprov: i0.ɵɵInjectableDeclaration<ResourceDiscoveryService>;
7246
8376
  }
7247
8377
 
8378
+ declare const DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION: "praxis.ai.context-hints.domain-catalog/v0.2";
8379
+ interface DomainCatalogRelease {
8380
+ releaseKey: string;
8381
+ serviceKey?: string;
8382
+ status?: string;
8383
+ version?: string;
8384
+ createdAt?: string;
8385
+ resourceKey?: string;
8386
+ [key: string]: unknown;
8387
+ }
8388
+ interface DomainCatalogGovernancePayload {
8389
+ classification?: string;
8390
+ dataCategory?: string;
8391
+ complianceTags?: string[];
8392
+ aiUsage?: {
8393
+ visibility?: string;
8394
+ purpose?: string;
8395
+ restrictions?: string[];
8396
+ [key: string]: unknown;
8397
+ };
8398
+ [key: string]: unknown;
8399
+ }
8400
+ interface DomainCatalogItem<TPayload = Record<string, unknown>> {
8401
+ itemKey: string;
8402
+ type?: string;
8403
+ payload?: TPayload;
8404
+ [key: string]: unknown;
8405
+ }
8406
+ interface DomainCatalogResourceProbe {
8407
+ resourceKey: string;
8408
+ query: string;
8409
+ limit?: number;
8410
+ }
8411
+ type DomainCatalogContextHintItemType = 'context' | 'node' | 'edge' | 'binding' | 'evidence' | 'governance' | 'vocabulary' | 'relationship';
8412
+ type DomainCatalogContextHintIntent = 'authoring' | 'explain' | 'validate' | 'ai-access-control';
8413
+ type DomainCatalogRecommendedAuthoringFlow = 'shared_rule_authoring' | 'component_authoring' | 'ui_composition_authoring';
8414
+ type DomainCatalogRecommendedRuleType = 'privacy' | 'compliance' | 'validation' | 'selection_eligibility' | 'workflow_action_policy' | 'approval_policy' | string;
8415
+ interface DomainCatalogRelationshipHint {
8416
+ enabled?: boolean;
8417
+ federated?: boolean;
8418
+ serviceKey?: string | null;
8419
+ sourceNodeKey?: string | null;
8420
+ targetNodeKey?: string | null;
8421
+ edgeType?: string | null;
8422
+ query?: string | null;
8423
+ limit?: number;
8424
+ }
8425
+ interface DomainCatalogContextHint {
8426
+ schemaVersion?: typeof DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION;
8427
+ resourceKey?: string | null;
8428
+ query?: string | null;
8429
+ releaseId?: string | null;
8430
+ releaseKey?: string | null;
8431
+ serviceKey?: string | null;
8432
+ type?: DomainCatalogContextHintItemType;
8433
+ itemTypes?: DomainCatalogContextHintItemType[];
8434
+ intent?: DomainCatalogContextHintIntent | null;
8435
+ contextKey?: string | null;
8436
+ nodeType?: string | null;
8437
+ recommendedAuthoringFlow?: DomainCatalogRecommendedAuthoringFlow | null;
8438
+ recommendedRuleType?: DomainCatalogRecommendedRuleType | null;
8439
+ limit?: number;
8440
+ relationships?: DomainCatalogRelationshipHint | null;
8441
+ }
8442
+ interface DomainCatalogGovernanceContext {
8443
+ resourceKey: string;
8444
+ query: string;
8445
+ releaseKey: string | null;
8446
+ items: DomainCatalogItem<DomainCatalogGovernancePayload>[];
8447
+ }
8448
+
8449
+ interface DomainCatalogRequestOptions extends ResourceDiscoveryRequestOptions {
8450
+ serviceKey?: string;
8451
+ limit?: number;
8452
+ headers?: HttpHeaders | Record<string, string | string[]>;
8453
+ }
8454
+ interface DomainCatalogGovernanceRequestOptions extends DomainCatalogRequestOptions {
8455
+ resourceKey: string;
8456
+ query: string;
8457
+ }
8458
+ declare class DomainCatalogService {
8459
+ private readonly http;
8460
+ private readonly discovery;
8461
+ listReleases(options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease[]>;
8462
+ listItems(releaseKey: string, options?: DomainCatalogRequestOptions & {
8463
+ type?: string;
8464
+ query?: string;
8465
+ }): Observable<DomainCatalogItem[]>;
8466
+ findLatestReleaseForResource(resourceKey: string, options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease | null>;
8467
+ getGovernanceContext(options: DomainCatalogGovernanceRequestOptions): Observable<DomainCatalogGovernanceContext>;
8468
+ private resolveHeaders;
8469
+ private releaseMatchesResource;
8470
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainCatalogService, never>;
8471
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainCatalogService>;
8472
+ }
8473
+
8474
+ type DomainKnowledgeAuthorType = 'human' | 'llm' | 'system' | string;
8475
+ type DomainKnowledgeChangeSetStatus = 'proposed' | 'approved' | 'rejected' | 'superseded' | 'applied' | string;
8476
+ type DomainKnowledgeValidationStatus = 'valid' | 'invalid' | 'pending' | string;
8477
+ type DomainKnowledgeOperationType = 'add_evidence' | 'update_evidence' | 'deprecate_evidence' | 'add_relationship' | 'update_concept' | string;
8478
+ interface DomainKnowledgeChangeSetTarget {
8479
+ tenantId?: string | null;
8480
+ environment?: string | null;
8481
+ subjectType?: string | null;
8482
+ conceptKey?: string | null;
8483
+ evidenceKey?: string | null;
8484
+ relationshipKey?: string | null;
8485
+ }
8486
+ interface DomainKnowledgePatchOperation {
8487
+ operationId: string;
8488
+ operationType: DomainKnowledgeOperationType;
8489
+ target?: DomainKnowledgeChangeSetTarget | null;
8490
+ reason?: string | null;
8491
+ evidenceRefs?: string[] | null;
8492
+ confidence?: number | null;
8493
+ payload?: Record<string, unknown> | null;
8494
+ }
8495
+ interface DomainKnowledgeChangeSetRequest {
8496
+ changeSetKey: string;
8497
+ status?: DomainKnowledgeChangeSetStatus | null;
8498
+ authorType?: DomainKnowledgeAuthorType | null;
8499
+ authorId?: string | null;
8500
+ intent?: string | null;
8501
+ reason?: string | null;
8502
+ patch: DomainKnowledgePatchOperation[];
8503
+ }
8504
+ interface DomainKnowledgeSafeOperationSummary {
8505
+ operationId?: string | null;
8506
+ operationType?: DomainKnowledgeOperationType | null;
8507
+ targetSubjectType?: string | null;
8508
+ targetConceptKey?: string | null;
8509
+ evidenceRefCount?: number | null;
8510
+ confidence?: number | null;
8511
+ }
8512
+ interface DomainKnowledgeChangeSet {
8513
+ id: string;
8514
+ tenantId?: string | null;
8515
+ environment?: string | null;
8516
+ changeSetKey?: string | null;
8517
+ status?: DomainKnowledgeChangeSetStatus | null;
8518
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8519
+ authorType?: DomainKnowledgeAuthorType | null;
8520
+ authorId?: string | null;
8521
+ intent?: string | null;
8522
+ reason?: string | null;
8523
+ operationCount?: number | null;
8524
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8525
+ reviewerId?: string | null;
8526
+ reviewedAt?: string | null;
8527
+ appliedAt?: string | null;
8528
+ createdAt?: string | null;
8529
+ updatedAt?: string | null;
8530
+ }
8531
+ interface DomainKnowledgeChangeSetFilters {
8532
+ status?: DomainKnowledgeChangeSetStatus;
8533
+ }
8534
+ interface DomainKnowledgeValidationIssue {
8535
+ operationId?: string | null;
8536
+ code?: string | null;
8537
+ message?: string | null;
8538
+ severity?: string | null;
8539
+ }
8540
+ interface DomainKnowledgeValidationResponse {
8541
+ valid: boolean;
8542
+ changeSetId?: string | null;
8543
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8544
+ issues?: DomainKnowledgeValidationIssue[] | null;
8545
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8546
+ }
8547
+ type DomainKnowledgeTimelineEventVisibility = 'safe' | string;
8548
+ interface DomainKnowledgeChangeSetTimelineEventResponse {
8549
+ eventType: string;
8550
+ occurredAt?: string | null;
8551
+ actorType?: string | null;
8552
+ actor?: string | null;
8553
+ summary?: string | null;
8554
+ status?: DomainKnowledgeChangeSetStatus | null;
8555
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8556
+ operationCount?: number | null;
8557
+ operationTypes?: DomainKnowledgeOperationType[] | null;
8558
+ targetConceptKeys?: string[] | null;
8559
+ visibility?: DomainKnowledgeTimelineEventVisibility | null;
8560
+ }
8561
+ interface DomainKnowledgeChangeSetTimelineResponse {
8562
+ changeSetId: string;
8563
+ tenantId?: string | null;
8564
+ environment?: string | null;
8565
+ changeSetKey?: string | null;
8566
+ status?: DomainKnowledgeChangeSetStatus | null;
8567
+ authorType?: DomainKnowledgeAuthorType | null;
8568
+ authorId?: string | null;
8569
+ reviewerId?: string | null;
8570
+ events: DomainKnowledgeChangeSetTimelineEventResponse[];
8571
+ }
8572
+ interface DomainKnowledgeStatusTransitionRequest {
8573
+ status: Exclude<DomainKnowledgeChangeSetStatus, 'proposed'> | DomainKnowledgeChangeSetStatus;
8574
+ reviewerId?: string | null;
8575
+ reason?: string | null;
8576
+ }
8577
+
8578
+ interface DomainKnowledgeRequestOptions extends ResourceDiscoveryRequestOptions {
8579
+ headers?: HttpHeaders | Record<string, string | string[]>;
8580
+ }
8581
+ declare class DomainKnowledgeService {
8582
+ private readonly http;
8583
+ private readonly discovery;
8584
+ createChangeSet(request: DomainKnowledgeChangeSetRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8585
+ listChangeSets(filters?: DomainKnowledgeChangeSetFilters, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet[]>;
8586
+ getChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8587
+ validateChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeValidationResponse>;
8588
+ transitionChangeSetStatus(changeSetId: string, request: DomainKnowledgeStatusTransitionRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8589
+ applyChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8590
+ getChangeSetTimeline(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSetTimelineResponse>;
8591
+ private buildParams;
8592
+ private resolveHeaders;
8593
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainKnowledgeService, never>;
8594
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainKnowledgeService>;
8595
+ }
8596
+
8597
+ type DomainRuleStatus = 'draft' | 'active' | 'inactive' | 'deprecated' | string;
8598
+ type DomainRuleCreatedByType = 'human' | 'llm' | 'system' | string;
8599
+ type DomainRuleAppliedByType = 'human' | 'llm' | 'system' | string;
8600
+ type DomainRuleTargetLayer = 'form' | 'table' | 'api' | 'workflow' | 'workflow_action' | 'approval_policy' | 'policy' | 'option_source' | 'backend_validation' | string;
8601
+ interface DomainRuleDecisionDiagnostics extends Record<string, unknown> {
8602
+ decisionKind?: string | null;
8603
+ authoringMode?: string | null;
8604
+ decisionStage?: string | null;
8605
+ decisionSource?: string | null;
8606
+ canonicalOwner?: string | null;
8607
+ materializationModel?: string | null;
8608
+ runtimeSurfacesAreDerived?: boolean | null;
8609
+ }
8610
+ interface DomainRuleDefinitionRequest {
8611
+ ruleKey: string;
8612
+ version?: number | null;
8613
+ ruleType?: string | null;
8614
+ status?: DomainRuleStatus | null;
8615
+ contextKey?: string | null;
8616
+ resourceKey?: string | null;
8617
+ serviceKey?: string | null;
8618
+ semanticOwner?: string | null;
8619
+ steward?: string | null;
8620
+ sourceReleaseId?: string | null;
8621
+ sourceChangeSetId?: string | null;
8622
+ definition?: Record<string, unknown> | null;
8623
+ parameters?: Record<string, unknown> | null;
8624
+ condition?: Record<string, unknown> | null;
8625
+ governance?: Record<string, unknown> | null;
8626
+ validationResult?: Record<string, unknown> | null;
8627
+ createdByType?: DomainRuleCreatedByType | null;
8628
+ createdBy?: string | null;
8629
+ approvedBy?: string | null;
8630
+ }
8631
+ interface DomainRuleDefinition extends DomainRuleDefinitionRequest {
8632
+ id: string;
8633
+ tenantId?: string | null;
8634
+ environment?: string | null;
8635
+ createdAt?: string | null;
8636
+ updatedAt?: string | null;
8637
+ approvedAt?: string | null;
8638
+ activatedAt?: string | null;
8639
+ }
8640
+ interface DomainRuleDefinitionFilters {
8641
+ resourceKey?: string;
8642
+ status?: DomainRuleStatus;
8643
+ ruleType?: string;
8644
+ ruleKey?: string;
8645
+ }
8646
+ type DomainRuleTimelineEventVisibility = 'safe' | string;
8647
+ interface DomainRuleTimelineEventResponse {
8648
+ eventType: string;
8649
+ occurredAt?: string | null;
8650
+ actorType?: DomainRuleAppliedByType | null;
8651
+ actor?: string | null;
8652
+ summary?: string | null;
8653
+ targetLayer?: DomainRuleTargetLayer | null;
8654
+ targetArtifactType?: string | null;
8655
+ targetArtifactKey?: string | null;
8656
+ sourceHash?: string | null;
8657
+ visibility?: DomainRuleTimelineEventVisibility | null;
8658
+ }
8659
+ interface DomainRuleTimelineResponse {
8660
+ ruleDefinitionId: string;
8661
+ tenantId?: string | null;
8662
+ environment?: string | null;
8663
+ ruleKey?: string | null;
8664
+ ruleType?: string | null;
8665
+ resourceKey?: string | null;
8666
+ events: DomainRuleTimelineEventResponse[];
8667
+ }
8668
+ interface DomainRuleStatusTransitionRequest {
8669
+ status: DomainRuleStatus;
8670
+ decidedByType?: DomainRuleAppliedByType | null;
8671
+ decidedBy?: string | null;
8672
+ decisionNotes?: Record<string, unknown> | null;
8673
+ }
8674
+ interface DomainRuleIntakeRequest {
8675
+ prompt: string;
8676
+ assistantMessage?: string | null;
8677
+ ruleKey?: string | null;
8678
+ ruleType?: string | null;
8679
+ contextKey?: string | null;
8680
+ resourceKey?: string | null;
8681
+ serviceKey?: string | null;
8682
+ definition?: Record<string, unknown> | null;
8683
+ parameters?: Record<string, unknown> | null;
8684
+ condition?: Record<string, unknown> | null;
8685
+ governance?: Record<string, unknown> | null;
8686
+ createdByType?: DomainRuleCreatedByType | null;
8687
+ createdBy?: string | null;
8688
+ }
8689
+ interface DomainRuleIntakeResponse {
8690
+ intakeId: string;
8691
+ tenantId?: string | null;
8692
+ environment?: string | null;
8693
+ ruleKey?: string | null;
8694
+ ruleType?: string | null;
8695
+ contextKey?: string | null;
8696
+ resourceKey?: string | null;
8697
+ serviceKey?: string | null;
8698
+ status?: DomainRuleStatus | null;
8699
+ grounding?: (Record<string, unknown> & {
8700
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8701
+ }) | null;
8702
+ definition?: DomainRuleDefinition | null;
8703
+ createdAt?: string | null;
8704
+ }
8705
+ interface DomainRuleMaterializationRequest {
8706
+ ruleDefinitionId: string;
8707
+ materializationKey: string;
8708
+ targetLayer?: DomainRuleTargetLayer | null;
8709
+ targetArtifactType?: string | null;
8710
+ targetArtifactKey?: string | null;
8711
+ targetPointer?: string | null;
8712
+ targetReleaseKey?: string | null;
8713
+ materializedRuleId?: string | null;
8714
+ status?: DomainRuleStatus | null;
8715
+ materializedPayload?: Record<string, unknown> | null;
8716
+ sourceHash?: string | null;
8717
+ validationResult?: Record<string, unknown> | null;
8718
+ appliedByType?: DomainRuleAppliedByType | null;
8719
+ appliedBy?: string | null;
8720
+ }
8721
+ interface DomainRuleMaterialization extends DomainRuleMaterializationRequest {
8722
+ id: string;
8723
+ tenantId?: string | null;
8724
+ environment?: string | null;
8725
+ ruleKey?: string | null;
8726
+ ruleVersion?: number | null;
8727
+ createdAt?: string | null;
8728
+ updatedAt?: string | null;
8729
+ appliedAt?: string | null;
8730
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8731
+ }
8732
+ interface DomainRuleMaterializationFilters {
8733
+ ruleDefinitionId?: string;
8734
+ targetLayer?: DomainRuleTargetLayer;
8735
+ targetArtifactType?: string;
8736
+ targetArtifactKey?: string;
8737
+ status?: DomainRuleStatus;
8738
+ }
8739
+ interface DomainRuleSimulationRequest {
8740
+ ruleDefinitionId?: string | null;
8741
+ ruleKey?: string | null;
8742
+ ruleType?: string | null;
8743
+ contextKey?: string | null;
8744
+ resourceKey?: string | null;
8745
+ serviceKey?: string | null;
8746
+ definition?: Record<string, unknown> | null;
8747
+ parameters?: Record<string, unknown> | null;
8748
+ condition?: Record<string, unknown> | null;
8749
+ governance?: Record<string, unknown> | null;
8750
+ }
8751
+ interface DomainRuleSimulationResponse {
8752
+ simulationId: string;
8753
+ ruleDefinitionId?: string | null;
8754
+ tenantId?: string | null;
8755
+ environment?: string | null;
8756
+ ruleKey?: string | null;
8757
+ ruleVersion?: number | null;
8758
+ ruleType?: string | null;
8759
+ contextKey?: string | null;
8760
+ resourceKey?: string | null;
8761
+ serviceKey?: string | null;
8762
+ result?: string | null;
8763
+ grounding?: Record<string, unknown> | null;
8764
+ existingCoverage?: unknown[] | null;
8765
+ predictedMaterializations?: unknown[] | null;
8766
+ requiredApprovals?: unknown[] | null;
8767
+ warnings?: unknown[] | null;
8768
+ explainability?: Record<string, unknown> | null;
8769
+ simulatedAt?: string | null;
8770
+ }
8771
+ type DomainRuleMaterializationOutcomeResolution = 'created' | 'reused' | 'selected_existing' | 'selected_explicit' | 'skipped' | 'blocked' | string;
8772
+ interface DomainRulePublicationMaterializationOutcome {
8773
+ resolution?: DomainRuleMaterializationOutcomeResolution | null;
8774
+ materializationKey?: string | null;
8775
+ targetLayer?: DomainRuleTargetLayer | null;
8776
+ targetArtifactType?: string | null;
8777
+ targetArtifactKey?: string | null;
8778
+ targetPointer?: string | null;
8779
+ statusAtResolution?: DomainRuleStatus | null;
8780
+ sourceHash?: string | null;
8781
+ reason?: string | null;
8782
+ }
8783
+ interface DomainRulePublicationDiagnostics {
8784
+ materializationOutcomes?: DomainRulePublicationMaterializationOutcome[] | null;
8785
+ }
8786
+ interface DomainRuleExplainability extends Record<string, unknown> {
8787
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8788
+ publicationDiagnostics?: DomainRulePublicationDiagnostics | null;
8789
+ }
8790
+ interface DomainRulePublicationRequest {
8791
+ ruleDefinitionId: string;
8792
+ materializationIds?: string[] | null;
8793
+ applyEligibleMaterializations?: boolean | null;
8794
+ publishedByType?: DomainRuleAppliedByType | null;
8795
+ publishedBy?: string | null;
8796
+ publicationNotes?: Record<string, unknown> | null;
8797
+ }
8798
+ interface DomainRulePublicationResponse {
8799
+ publicationId: string;
8800
+ tenantId?: string | null;
8801
+ environment?: string | null;
8802
+ publicationStatus?: string | null;
8803
+ publicationReadiness?: string | null;
8804
+ ruleDefinitionId?: string | null;
8805
+ ruleKey?: string | null;
8806
+ ruleVersion?: number | null;
8807
+ ruleType?: string | null;
8808
+ resourceKey?: string | null;
8809
+ serviceKey?: string | null;
8810
+ definition?: DomainRuleDefinition | null;
8811
+ materializations?: DomainRuleMaterialization[] | null;
8812
+ explainability?: DomainRuleExplainability | null;
8813
+ processedAt?: string | null;
8814
+ }
8815
+
8816
+ interface DomainRuleRequestOptions extends ResourceDiscoveryRequestOptions {
8817
+ headers?: HttpHeaders | Record<string, string | string[]>;
8818
+ }
8819
+ declare class DomainRuleService {
8820
+ private readonly http;
8821
+ private readonly discovery;
8822
+ intake(request: DomainRuleIntakeRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleIntakeResponse>;
8823
+ createDefinition(request: DomainRuleDefinitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8824
+ listDefinitions(filters?: DomainRuleDefinitionFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition[]>;
8825
+ transitionDefinitionStatus(definitionId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8826
+ getDefinitionTimeline(definitionId: string, options?: DomainRuleRequestOptions): Observable<DomainRuleTimelineResponse>;
8827
+ simulate(request: DomainRuleSimulationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleSimulationResponse>;
8828
+ publish(request: DomainRulePublicationRequest, options?: DomainRuleRequestOptions): Observable<DomainRulePublicationResponse>;
8829
+ createMaterialization(request: DomainRuleMaterializationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8830
+ listMaterializations(filters?: DomainRuleMaterializationFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization[]>;
8831
+ transitionMaterializationStatus(materializationId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8832
+ private buildParams;
8833
+ private resolveHeaders;
8834
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainRuleService, never>;
8835
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainRuleService>;
8836
+ }
8837
+
7248
8838
  interface ResourceActionOpenAdapterOptions {
7249
8839
  resourcePath: string;
7250
8840
  resourceId?: string | number | null;
@@ -7981,8 +9571,15 @@ type GlobalActionCatalogEntry = {
7981
9571
  required?: string[];
7982
9572
  example?: any;
7983
9573
  };
9574
+ param?: {
9575
+ required?: boolean;
9576
+ label?: string;
9577
+ placeholder?: string;
9578
+ hint?: string;
9579
+ example?: string;
9580
+ };
7984
9581
  };
7985
- declare const GLOBAL_ACTION_CATALOG$1: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
9582
+ declare const GLOBAL_ACTION_CATALOG: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
7986
9583
  declare function provideGlobalActionCatalog(entries: GlobalActionCatalogEntry[]): Provider;
7987
9584
  declare function getGlobalActionCatalog(catalog: ReadonlyArray<GlobalActionCatalogEntry[]> | null | undefined): GlobalActionCatalogEntry[];
7988
9585
  declare const PRAXIS_GLOBAL_ACTION_CATALOG: GlobalActionCatalogEntry[];
@@ -7993,22 +9590,6 @@ interface GlobalSurfaceService {
7993
9590
  }
7994
9591
  declare const GLOBAL_SURFACE_SERVICE: InjectionToken<GlobalSurfaceService>;
7995
9592
 
7996
- type GlobalActionId = 'navigate' | 'openUrl' | 'surface.open' | 'showAlert' | 'log' | 'openDialog' | 'confirm' | 'alert' | 'prompt' | 'submitForm' | 'resetForm' | 'validateForm' | 'clearValidation' | 'saveFormDraft' | 'loadFormDraft' | 'clearFormDraft' | 'apiCall' | 'download' | 'copyToClipboard' | 'refreshOptions' | 'loadDependentData';
7997
- type GlobalActionParam = {
7998
- required?: boolean;
7999
- label?: string;
8000
- placeholder?: string;
8001
- hint?: string;
8002
- example?: string;
8003
- };
8004
- interface GlobalActionSpec {
8005
- id: GlobalActionId;
8006
- label: string;
8007
- description: string;
8008
- param?: GlobalActionParam;
8009
- }
8010
- declare const GLOBAL_ACTION_CATALOG: GlobalActionSpec[];
8011
-
8012
9593
  declare const SURFACE_OPEN_I18N_NAMESPACE = "surfaceOpen";
8013
9594
  declare const SURFACE_OPEN_I18N_CONFIG: Partial<PraxisI18nConfig>;
8014
9595
 
@@ -8111,6 +9692,8 @@ declare const DYNAMIC_PAGE_CONFIG_EDITOR: InjectionToken<Type<any>>;
8111
9692
 
8112
9693
  declare const PRAXIS_LOADING_CTX: HttpContextToken<LoadingContext | null>;
8113
9694
 
9695
+ declare function providePraxisHttpCollectionExportProvider(options?: PraxisCollectionExportHttpProviderOptions): Provider[];
9696
+
8114
9697
  declare const PRAXIS_JSON_LOGIC_OPERATORS: InjectionToken<PraxisJsonLogicOperatorDefinition[]>;
8115
9698
  declare function providePraxisJsonLogicOperator(definition: PraxisJsonLogicOperatorDefinition): Provider;
8116
9699
  declare function providePraxisJsonLogicOperatorOverride(definition: PraxisJsonLogicOperatorDefinition): Provider;
@@ -8202,8 +9785,16 @@ interface ComponentPortEndpointRef {
8202
9785
  direction: 'input' | 'output';
8203
9786
  componentType?: string;
8204
9787
  bindingPath?: string;
9788
+ nestedPath?: ComponentPortPathSegment[];
8205
9789
  };
8206
9790
  }
9791
+ interface ComponentPortPathSegment {
9792
+ kind: 'widget' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
9793
+ id?: string;
9794
+ key?: string;
9795
+ index?: number;
9796
+ componentType?: string;
9797
+ }
8207
9798
  interface StateEndpointRef {
8208
9799
  kind: 'state';
8209
9800
  ref: {
@@ -8212,7 +9803,11 @@ interface StateEndpointRef {
8212
9803
  writable?: boolean;
8213
9804
  };
8214
9805
  }
8215
- type EndpointRef = ComponentPortEndpointRef | StateEndpointRef;
9806
+ interface GlobalActionEndpointRef {
9807
+ kind: 'global-action';
9808
+ ref: GlobalActionRef;
9809
+ }
9810
+ type EndpointRef = ComponentPortEndpointRef | StateEndpointRef | GlobalActionEndpointRef;
8216
9811
  type LinkIntent = 'event-propagation' | 'state-write' | 'state-read' | 'command-dispatch' | 'selection-sync' | 'data-projection' | 'status-propagation';
8217
9812
  interface LinkPolicy {
8218
9813
  debounceMs?: number;
@@ -8243,7 +9838,7 @@ interface CompositionLink {
8243
9838
 
8244
9839
  type DiagnosticSeverity = 'info' | 'warning' | 'error' | 'fatal';
8245
9840
  type DiagnosticPhase = 'catalog-lint' | 'page-lint' | 'semantic-validation' | 'runtime-bootstrap' | 'runtime-dispatch' | 'runtime-transform' | 'runtime-state' | 'runtime-delivery' | 'runtime-diagnostic';
8246
- type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
9841
+ type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'global-action' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
8247
9842
  interface DiagnosticSubjectRef {
8248
9843
  kind: DiagnosticSubjectKind;
8249
9844
  pageId?: string;
@@ -8251,6 +9846,7 @@ interface DiagnosticSubjectRef {
8251
9846
  widgetType?: string;
8252
9847
  portId?: string;
8253
9848
  statePath?: string;
9849
+ actionId?: string;
8254
9850
  linkId?: string;
8255
9851
  transformIndex?: number;
8256
9852
  eventId?: string;
@@ -8446,6 +10042,7 @@ interface FormActionButton {
8446
10042
  disabled?: boolean;
8447
10043
  type?: 'button' | 'submit' | 'reset';
8448
10044
  action?: string;
10045
+ globalAction?: GlobalActionRef;
8449
10046
  tooltip?: string;
8450
10047
  loading?: boolean;
8451
10048
  size?: 'small' | 'medium' | 'large';
@@ -8593,7 +10190,7 @@ interface FieldsetLayout {
8593
10190
  rows: FormRowLayout[];
8594
10191
  hiddenCondition?: JsonLogicExpression | null;
8595
10192
  }
8596
- type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column';
10193
+ type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
8597
10194
  interface FormLayoutRule {
8598
10195
  id: string;
8599
10196
  name: string;
@@ -8732,6 +10329,29 @@ interface EditorialFormTemplateBuildOptions {
8732
10329
  */
8733
10330
  declare function buildFormConfigFromEditorialTemplate(template: EditorialFormTemplate, options?: EditorialFormTemplateBuildOptions): FormConfig;
8734
10331
 
10332
+ interface FormFieldLayoutItem {
10333
+ kind: 'field';
10334
+ id: string;
10335
+ fieldName: string;
10336
+ }
10337
+ interface FormRichContentLayoutItem {
10338
+ kind: 'richContent';
10339
+ id: string;
10340
+ document: RichContentDocument;
10341
+ layout?: 'block' | 'inline';
10342
+ rootClassName?: string | null;
10343
+ }
10344
+ type FormLayoutItem = FormFieldLayoutItem | FormRichContentLayoutItem;
10345
+ interface FormLayoutItemsColumnLike {
10346
+ fields?: unknown;
10347
+ items?: unknown;
10348
+ }
10349
+ declare function createFieldLayoutItem(fieldName: string, index?: number): FormFieldLayoutItem;
10350
+ declare function isFormLayoutItem(value: unknown): value is FormLayoutItem;
10351
+ declare function normalizeFormLayoutItems(column: FormLayoutItemsColumnLike | null | undefined): FormLayoutItem[];
10352
+ declare function getFormLayoutFieldNames(items: readonly FormLayoutItem[] | null | undefined): string[];
10353
+ declare function getFormColumnFieldNames(column: FormLayoutItemsColumnLike | null | undefined): string[];
10354
+
8735
10355
  type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
8736
10356
  interface ColumnSpan {
8737
10357
  xs?: number;
@@ -8763,7 +10383,10 @@ interface ColumnHidden {
8763
10383
  }
8764
10384
  type ColumnAlign = 'start' | 'center' | 'end' | 'stretch';
8765
10385
  interface FormColumn {
10386
+ /** Legacy field-name list accepted as migration input while items becomes canonical. */
8766
10387
  fields: string[];
10388
+ /** Canonical ordered layout items for fields and visual blocks. */
10389
+ items?: FormLayoutItem[];
8767
10390
  id: string;
8768
10391
  title?: string;
8769
10392
  span?: ColumnSpan;
@@ -8837,8 +10460,10 @@ interface FormSectionHeaderAction {
8837
10460
  label: string;
8838
10461
  /** Icon rendered in the section header action slot. */
8839
10462
  icon: string;
8840
- /** Optional action name emitted by the runtime; defaults to `id` when omitted. */
10463
+ /** Optional local action name emitted by the runtime; defaults to `id` when omitted. */
8841
10464
  action?: string;
10465
+ /** Optional structured global action executed by hosts through GlobalActionService. */
10466
+ globalAction?: GlobalActionRef;
8842
10467
  /** Optional tooltip override. Falls back to `label` when omitted. */
8843
10468
  tooltip?: string;
8844
10469
  /** Optional theme color mapped to Angular Material button tones. */
@@ -8933,6 +10558,8 @@ interface FormConfig {
8933
10558
  messages?: FormMessagesLayout;
8934
10559
  /** Form rules for dynamic behavior */
8935
10560
  formRules?: FormLayoutRule[];
10561
+ /** Conditional command rules evaluated after form rule values stabilize. */
10562
+ formCommandRules?: PraxisRuntimeConditionalEffectRule<PraxisRuntimeGlobalActionEffect>[];
8936
10563
  /**
8937
10564
  * Raw state emitted by the visual rule builder.
8938
10565
  * Stored separately to allow round-trip editing without losing metadata.
@@ -9143,6 +10770,7 @@ interface FormInitializationError {
9143
10770
  }
9144
10771
  interface FormCustomActionEvent {
9145
10772
  actionId: string;
10773
+ globalAction?: GlobalActionRef;
9146
10774
  formData: any;
9147
10775
  isValid: boolean;
9148
10776
  source: 'button' | 'shortcut' | 'section-header';
@@ -9166,7 +10794,7 @@ interface RulePropertyDefinition {
9166
10794
  }>;
9167
10795
  category?: 'content' | 'appearance' | 'behavior' | 'layout' | 'validation';
9168
10796
  }
9169
- type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column', RulePropertyDefinition[]>;
10797
+ type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', RulePropertyDefinition[]>;
9170
10798
  declare const RULE_PROPERTY_SCHEMA: RulePropertySchema;
9171
10799
 
9172
10800
  type EditorialOrientation = 'horizontal' | 'vertical';
@@ -10088,6 +11716,18 @@ declare function createPersistedPage(identity: PageIdentity, page: WidgetPageDef
10088
11716
  status?: PersistedPageConfig['status'];
10089
11717
  }): PersistedPageConfig;
10090
11718
 
11719
+ interface DomainKnowledgeTimelineRichContentOptions {
11720
+ title?: string;
11721
+ emptyText?: string;
11722
+ }
11723
+ declare function domainKnowledgeTimelineToRichContentDocument(timeline: DomainKnowledgeChangeSetTimelineResponse, options?: DomainKnowledgeTimelineRichContentOptions): RichContentDocument;
11724
+
11725
+ interface DomainRuleTimelineRichContentOptions {
11726
+ title?: string;
11727
+ emptyText?: string;
11728
+ }
11729
+ declare function domainRuleTimelineToRichContentDocument(timeline: DomainRuleTimelineResponse, options?: DomainRuleTimelineRichContentOptions): RichContentDocument;
11730
+
10091
11731
  /**
10092
11732
  * Navigation/back behavior configuration used by form hosts (e.g., CRUD dialogs/routes).
10093
11733
  * Moved from @praxisui/crud to @praxisui/core to avoid circular deps between
@@ -10107,6 +11747,9 @@ interface BackConfig {
10107
11747
  confirmOnDirty?: boolean;
10108
11748
  }
10109
11749
 
11750
+ interface PraxisDataQueryContextMeta extends Record<string, unknown> {
11751
+ domainCatalog?: DomainCatalogContextHint | null;
11752
+ }
10110
11753
  interface PraxisDataQueryContext {
10111
11754
  filters?: Record<string, unknown> | null;
10112
11755
  sort?: string[] | null;
@@ -10115,7 +11758,7 @@ interface PraxisDataQueryContext {
10115
11758
  index?: number | null;
10116
11759
  size?: number | null;
10117
11760
  } | null;
10118
- meta?: Record<string, unknown> | null;
11761
+ meta?: PraxisDataQueryContextMeta | null;
10119
11762
  }
10120
11763
  declare function normalizePraxisDataQueryContext(context?: PraxisDataQueryContext | null): PraxisDataQueryContext | null;
10121
11764
  declare function resolvePraxisFilterCriteria(filterCriteria?: Record<string, unknown> | null, queryContext?: PraxisDataQueryContext | null): Record<string, unknown>;
@@ -10455,7 +12098,7 @@ interface GlobalActionField {
10455
12098
  dependsOnValue?: string;
10456
12099
  }
10457
12100
  interface GlobalActionUiSchema {
10458
- id: GlobalActionId;
12101
+ id: string;
10459
12102
  label: string;
10460
12103
  fields: GlobalActionField[];
10461
12104
  editorMode?: 'default' | 'surface-open';
@@ -10463,6 +12106,33 @@ interface GlobalActionUiSchema {
10463
12106
  declare const GLOBAL_ACTION_UI_SCHEMAS: GlobalActionUiSchema[];
10464
12107
  declare function getGlobalActionUiSchema(id: string | undefined): GlobalActionUiSchema | undefined;
10465
12108
 
12109
+ type GlobalActionValidationCode = 'globalAction.actionId.required' | 'globalAction.payload.required' | 'globalAction.payload.type';
12110
+ interface GlobalActionValidationIssue {
12111
+ code: GlobalActionValidationCode;
12112
+ path?: string;
12113
+ actionId?: string;
12114
+ requiredKeys?: string[];
12115
+ missingKeys?: string[];
12116
+ expectedType?: string;
12117
+ actualType?: string;
12118
+ }
12119
+ interface GlobalActionValidationTarget {
12120
+ ref: GlobalActionRef | null | undefined;
12121
+ catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null;
12122
+ path?: string;
12123
+ }
12124
+ declare function normalizeGlobalActionRef(ref: GlobalActionRef | null | undefined): GlobalActionRef | null;
12125
+ declare function isGlobalActionRef(value: unknown): value is GlobalActionRef;
12126
+ declare function getRequiredGlobalActionPayloadKeys(actionId: string | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12127
+ declare function hasMeaningfulGlobalActionPayloadValue(value: any): boolean;
12128
+ declare function getMissingGlobalActionPayloadKeys(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12129
+ declare function isRequiredGlobalActionParamPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12130
+ declare function isRequiredGlobalActionPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12131
+ declare function getGlobalActionPayloadActualType(value: unknown): string;
12132
+ declare function getGlobalActionPayloadTypeIssue(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): Pick<GlobalActionValidationIssue, 'expectedType' | 'actualType'> | null;
12133
+ declare function validateGlobalActionRef(ref: GlobalActionRef | null | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null, path?: string): GlobalActionValidationIssue[];
12134
+ declare function validateGlobalActionRefs(targets: GlobalActionValidationTarget[]): GlobalActionValidationIssue[];
12135
+
10466
12136
  interface SurfaceOpenPreset {
10467
12137
  id: string;
10468
12138
  label: string;
@@ -10591,6 +12261,209 @@ interface AiConcept {
10591
12261
  }
10592
12262
  type AiConceptPack = Record<string, AiConcept>;
10593
12263
 
12264
+ /**
12265
+ * Representa o contrato canônico de authoring executável de um componente.
12266
+ */
12267
+ interface ComponentAuthoringManifest {
12268
+ /** Versão do schema do manifesto (ex: 1.0.0) */
12269
+ schemaVersion: string;
12270
+ /** Identificador único do componente no registry (ex: praxis-table) */
12271
+ componentId: string;
12272
+ /** Nome do pacote npm que possui o componente (ex: @praxisui/table) */
12273
+ ownerPackage: string;
12274
+ /** ID do schema de configuração (ex: TableConfig) */
12275
+ configSchemaId: string;
12276
+ /** Versão do manifesto específico deste componente */
12277
+ manifestVersion: string;
12278
+ /** Inputs que o componente aceita em runtime */
12279
+ runtimeInputs: ManifestInput[];
12280
+ /** Alvos que podem ser editados via AI */
12281
+ editableTargets: ManifestTarget[];
12282
+ /** Operações atômicas permitidas */
12283
+ operations: ManifestOperation[];
12284
+ /** Validadores de integridade da configuração */
12285
+ validators: ManifestValidator[];
12286
+ /** Requisitos para round-trip sem perda de informação */
12287
+ roundTripRequirements?: string[];
12288
+ /**
12289
+ * Exemplos de intenção → operação para uso em Few-Shot e evals.
12290
+ * Obrigatório: o gate de aceitação rejeita manifestos sem examples.
12291
+ * Deve conter ao menos um exemplo negativo (isPositive: false).
12292
+ */
12293
+ examples: ManifestExample[];
12294
+ /**
12295
+ * Perfis opcionais para familias de componentes que compartilham um manifesto
12296
+ * base, mas precisam expor semantica granular por componente/controlType.
12297
+ */
12298
+ controlProfiles?: ManifestControlProfile[];
12299
+ }
12300
+ interface ManifestInput {
12301
+ name: string;
12302
+ type: string;
12303
+ description?: string;
12304
+ allowedValues?: any[];
12305
+ }
12306
+ interface ManifestTarget {
12307
+ kind: string;
12308
+ resolver: string;
12309
+ description: string;
12310
+ }
12311
+ /**
12312
+ * Política de submissão para campos locais num formulário.
12313
+ * - 'omit': campo não é incluído no payload de submissão (default para campos locais).
12314
+ * - 'include': campo é sempre incluído no payload.
12315
+ * - 'includeWhenDirty': campo é incluído apenas se o valor foi alterado pelo usuário.
12316
+ * NOTA: 'transient' NÃO é um valor válido; use source:'local' + transient:true no schema de input.
12317
+ */
12318
+ type SubmitPolicy = 'omit' | 'include' | 'includeWhenDirty';
12319
+ type ManifestSubmissionImpact = 'none' | 'visual-only' | 'config-only' | 'affects-submission' | 'affects-schema-backed-data' | 'affects-remote-binding';
12320
+ interface ManifestOperation {
12321
+ operationId: string;
12322
+ title: string;
12323
+ /**
12324
+ * Escopo da operação.
12325
+ * - 'global': opera sobre a configuração raiz; target.required deve ser false.
12326
+ * - Outros valores: opera sobre um alvo específico; target.required deve ser true.
12327
+ * O valor 'target' é reservado para uso futuro e não deve ser usado.
12328
+ */
12329
+ 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';
12330
+ /**
12331
+ * @deprecated Use `target.kind` em vez disso.
12332
+ * Mantido para compatibilidade retroativa com ferramentas que lêem o registry.
12333
+ * Deve ser igual a `target.kind` quando `target` estiver presente.
12334
+ */
12335
+ targetKind?: string;
12336
+ /**
12337
+ * Definição estruturada do alvo da operação.
12338
+ * Obrigatório para operações com scope diferente de 'global'.
12339
+ * Usado pelo backend para resolver o alvo antes de compilar o patch.
12340
+ */
12341
+ target?: {
12342
+ /** Tipo do alvo (ex: column, rule) */
12343
+ kind: string;
12344
+ /** Resolver canônico usado para localizar o alvo (ex: column-by-field) */
12345
+ resolver: string;
12346
+ /** Política para lidar com ambiguidades na resolução */
12347
+ ambiguityPolicy?: 'fail' | 'first' | 'all';
12348
+ /** Se o alvo é obrigatório para a operação */
12349
+ required: boolean;
12350
+ };
12351
+ /** Schema JSON do payload de entrada da operação */
12352
+ inputSchema: any;
12353
+ /**
12354
+ * Efeitos que a operação causa na configuração.
12355
+ * Usado pelo backend para compilar o patch de forma determinística.
12356
+ */
12357
+ effects: ManifestEffect[];
12358
+ /** Se true, a operação é destrutiva e pode causar perda de dados/configuração */
12359
+ destructive?: boolean;
12360
+ /**
12361
+ * Se true, o agente DEVE solicitar confirmação explícita antes de aplicar.
12362
+ * Obrigatório para todas as operações com destructive:true.
12363
+ */
12364
+ requiresConfirmation?: boolean;
12365
+ /** IDs dos validadores que devem ser executados para esta operação */
12366
+ validators?: string[];
12367
+ /**
12368
+ * Caminhos (JSON Path-like) na configuração afetados por esta operação.
12369
+ * Deve cobrir todos os paths tocados pelos effects.
12370
+ * Usado pelo backend para validação de acesso e auditoria de mudanças.
12371
+ */
12372
+ affectedPaths: string[];
12373
+ /**
12374
+ * Impacto declarado da operação sobre submissão, configuração visual ou binding remoto.
12375
+ * Boolean permanece aceito para manifests legados; manifests semanticamente validados devem usar
12376
+ * ManifestSubmissionImpact para evitar inferencia fragil no backend.
12377
+ */
12378
+ submissionImpact: ManifestSubmissionImpact | boolean;
12379
+ /**
12380
+ * Condições de estado que devem ser verdadeiras antes de executar a operação.
12381
+ * Usado pelo backend para validação prévia ao patch.
12382
+ * Ex: ['config-initialized', 'target-exists']
12383
+ */
12384
+ preconditions: string[];
12385
+ }
12386
+ /**
12387
+ * Efeito atômico sobre a configuração.
12388
+ * Usa discriminated union por `kind` para documentar quais campos são obrigatórios:
12389
+ *
12390
+ * - 'merge-object': path obrigatório; funde o payload no objeto no path.
12391
+ * - 'merge-by-key': path + key obrigatórios; funde pelo campo-chave em uma coleção.
12392
+ * - 'append-unique': path + key obrigatórios; adiciona item se não existir (deduplicação por key).
12393
+ * - 'remove-by-key': path + key obrigatórios; remove item da coleção pelo valor da key.
12394
+ * - 'reorder-by-key': path + key obrigatórios; reordena coleção por key.
12395
+ * - 'set-value': path obrigatório; seta o valor diretamente no path.
12396
+ * - 'compile-domain-patch': handler obrigatório; delega compilação a um handler especializado.
12397
+ */
12398
+ interface ManifestEffect {
12399
+ kind: 'merge-object' | 'merge-by-key' | 'append-unique' | 'remove-by-key' | 'reorder-by-key' | 'set-value' | 'compile-domain-patch';
12400
+ /** Path JSON-like na configuração onde o efeito é aplicado. Obrigatório para todos os kinds exceto 'compile-domain-patch'. */
12401
+ path?: string;
12402
+ /** Chave de identidade em coleções. Obrigatório para merge-by-key, append-unique, remove-by-key, reorder-by-key. */
12403
+ key?: string;
12404
+ /** Valor literal para efeitos set-value quando o valor não vem do input da operação. */
12405
+ value?: unknown;
12406
+ /** Caminho opcional dentro do input da operação usado por efeitos set-value. */
12407
+ inputPath?: string;
12408
+ /** ID do handler especializado. Obrigatório quando kind é 'compile-domain-patch'. */
12409
+ handler?: string;
12410
+ handlerContract?: ManifestDomainPatchHandlerContract;
12411
+ }
12412
+ interface ManifestDomainPatchHandlerContract {
12413
+ reads: string[];
12414
+ writes: string[];
12415
+ identityKeys: string[];
12416
+ inputSchema?: any;
12417
+ failureModes: string[];
12418
+ description: string;
12419
+ }
12420
+ interface ManifestValidator {
12421
+ validatorId: string;
12422
+ level: 'error' | 'warning' | 'info';
12423
+ code: string;
12424
+ description: string;
12425
+ }
12426
+ interface ManifestExample {
12427
+ id: string;
12428
+ request: string;
12429
+ operationId: string;
12430
+ target?: string;
12431
+ params?: any;
12432
+ isPositive?: boolean;
12433
+ }
12434
+ interface ManifestControlProfile {
12435
+ /** Identificador estavel do perfil dentro do manifesto familiar. */
12436
+ profileId: string;
12437
+ /** Nome curto usado por ferramentas de authoring. */
12438
+ title: string;
12439
+ /** Explica a semantica que este perfil adiciona sobre o manifesto base. */
12440
+ description: string;
12441
+ /** Regras deterministicas para projetar o perfil em componentes do registry. */
12442
+ appliesTo: ManifestControlProfileApplicability;
12443
+ /** Alvos adicionais ou refinados que este perfil torna editaveis. */
12444
+ editableTargets?: ManifestTarget[];
12445
+ /** Operacoes especificas do perfil/controlType. */
12446
+ operations: ManifestOperation[];
12447
+ /** Validadores especificos do perfil/controlType. */
12448
+ validators: ManifestValidator[];
12449
+ /** Exemplos/evals especificos do perfil/controlType. */
12450
+ examples: ManifestExample[];
12451
+ /** Requisitos adicionais de round-trip para este perfil. */
12452
+ roundTripRequirements?: string[];
12453
+ }
12454
+ interface ManifestControlProfileApplicability {
12455
+ /** IDs de componentes do registry que devem receber este perfil. */
12456
+ componentIds?: string[];
12457
+ /** Selectors publicos que devem receber este perfil. */
12458
+ selectors?: string[];
12459
+ /** Control types canonicos ou aliases que devem receber este perfil. */
12460
+ controlTypes?: string[];
12461
+ /** Tags de ComponentDocMeta usadas como fallback de classificacao. */
12462
+ tags?: string[];
12463
+ /** Tipos do input `metadata` usados como fallback de classificacao. */
12464
+ metadataInputTypes?: string[];
12465
+ }
12466
+
10594
12467
  /**
10595
12468
  * Catálogo de capacidades genéricas de FieldMetadata para uso da IA.
10596
12469
  * Baseado em projects/praxis-core/src/lib/models/component-metadata.interface.ts
@@ -10620,6 +12493,7 @@ declare module "./index" {
10620
12493
  shell: true;
10621
12494
  connections: true;
10622
12495
  context: true;
12496
+ state: true;
10623
12497
  }
10624
12498
  }
10625
12499
  type CapabilityCategory = AiCapabilityCategory;
@@ -10650,7 +12524,11 @@ interface ComponentActionParam {
10650
12524
  }
10651
12525
  interface ComponentContextAction {
10652
12526
  id: string;
10653
- keywords?: string[];
12527
+ /**
12528
+ * Natural-language examples for LLM grounding only.
12529
+ * Runtime code must not use these strings for keyword routing.
12530
+ */
12531
+ intentExamples?: string[];
10654
12532
  patchTemplate: any;
10655
12533
  safetyNotes?: string;
10656
12534
  /**
@@ -10706,10 +12584,14 @@ interface ComponentMergePatch<TConfig extends Record<string, unknown> = Record<s
10706
12584
 
10707
12585
  declare const DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK: ComponentContextPack;
10708
12586
 
12587
+ declare const DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK: ComponentContextPack;
12588
+
10709
12589
  interface WidgetEventPathSegment {
10710
- kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
12590
+ kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group' | 'widget';
10711
12591
  id?: string;
12592
+ key?: string;
10712
12593
  index?: number;
12594
+ componentType?: string;
10713
12595
  }
10714
12596
  interface WidgetEventEnvelope {
10715
12597
  /** Optional top-level page widget key that owns the event tree. */
@@ -10731,6 +12613,50 @@ interface WidgetResolutionDiagnostic {
10731
12613
  error?: unknown;
10732
12614
  }
10733
12615
 
12616
+ interface WidgetEventPathNormalizeOptions {
12617
+ /** Optional owner component id used to strip only the top-level container segment. */
12618
+ ownerComponentId?: string;
12619
+ }
12620
+ interface WidgetEventPathNormalizeInput {
12621
+ path?: WidgetEventPathSegment[];
12622
+ sourceChildWidgetKey?: string;
12623
+ sourceComponentId?: string;
12624
+ }
12625
+ declare function normalizeWidgetEventPath(event: WidgetEventEnvelope | WidgetEventPathNormalizeInput, options?: WidgetEventPathNormalizeOptions): ComponentPortPathSegment[];
12626
+
12627
+ interface NestedWidgetResolution {
12628
+ ownerWidgetKey: string;
12629
+ nestedPath: ComponentPortPathSegment[];
12630
+ widget: WidgetDefinition;
12631
+ componentId: string;
12632
+ childWidgetKey: string;
12633
+ }
12634
+ interface NestedWidgetInputPatchResult {
12635
+ widget: WidgetInstance;
12636
+ changed: boolean;
12637
+ }
12638
+ declare class NestedWidgetConfigAccessor {
12639
+ listNestedWidgets(owner: WidgetInstance): NestedWidgetResolution[];
12640
+ resolveNestedWidget(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined): WidgetDefinition | undefined;
12641
+ setNestedWidgetInput(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined, inputName: string, value: unknown): NestedWidgetInputPatchResult;
12642
+ private listNestedWidgetsInDefinition;
12643
+ private resolveNestedWidgetInDefinition;
12644
+ private setNestedWidgetInputInDefinition;
12645
+ private listChildWidgetLocations;
12646
+ private listTabsWidgetLocations;
12647
+ private listExpansionWidgetLocations;
12648
+ private resolveWidgetArrayLocation;
12649
+ private resolveTabsWidgetArray;
12650
+ private resolveExpansionWidgetArray;
12651
+ private findBySegment;
12652
+ private segmentIdentity;
12653
+ private asWidgetDefinitions;
12654
+ private isWidgetDefinition;
12655
+ private resolveChildWidgetKey;
12656
+ private clone;
12657
+ private isEqual;
12658
+ }
12659
+
10734
12660
  type EditorialContentFormat = 'plain' | 'markdown';
10735
12661
  interface EditorialLinkDefinition {
10736
12662
  label: string;
@@ -10934,17 +12860,27 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
10934
12860
  widgetDiagnostic: EventEmitter<WidgetResolutionDiagnostic>;
10935
12861
  private compRef?;
10936
12862
  private currentId?;
12863
+ private currentUsesInitialBindings;
12864
+ private currentInitialBindingSignature;
10937
12865
  private outputSubs;
10938
12866
  /** Dispatch a shell action to the inner widget instance when supported. */
10939
12867
  dispatchAction(action: WidgetShellActionEvent): boolean;
10940
12868
  ngOnInit(): void;
10941
12869
  ngOnChanges(changes: SimpleChanges): void;
10942
12870
  ngOnDestroy(): void;
12871
+ renderNow(): void;
10943
12872
  private parseWidget;
10944
12873
  private tryRender;
10945
12874
  private createComponent;
10946
12875
  private destroyCurrent;
12876
+ private shouldUseInitialInputBindings;
10947
12877
  private bindInputs;
12878
+ private initialBindingSignature;
12879
+ private orderedInputEntries;
12880
+ private resolveAndCoerceValue;
12881
+ private withInferredIdentityInputs;
12882
+ private normalizeMaterializedRuntimeInputs;
12883
+ private inferResourcePathFromSchemaUrl;
10948
12884
  private bindOutputs;
10949
12885
  private resolveValue;
10950
12886
  private get widgetDefinition();
@@ -10952,6 +12888,8 @@ declare class DynamicWidgetLoaderDirective implements OnInit, OnChanges, OnDestr
10952
12888
  private lookup;
10953
12889
  private validateAgainstMetadata;
10954
12890
  private coercePrimitive;
12891
+ private stableStringify;
12892
+ private stableSerializableValue;
10955
12893
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetLoaderDirective, never>;
10956
12894
  static ɵdir: i0.ɵɵDirectiveDeclaration<DynamicWidgetLoaderDirective, "[dynamicWidgetLoader]", ["dynamicWidgetLoader"], { "widget": { "alias": "dynamicWidgetLoader"; "required": false; }; "ownerWidgetKey": { "alias": "ownerWidgetKey"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "autoWireOutputs": { "alias": "autoWireOutputs"; "required": false; }; }, { "widgetEvent": "widgetEvent"; "widgetDiagnostic": "widgetDiagnostic"; }, never, never, true, never>;
10957
12895
  }
@@ -10962,6 +12900,7 @@ declare const BUILTIN_SHELL_PRESETS: Record<string, NonNullable<Appearance>>;
10962
12900
  declare class WidgetShellComponent implements OnChanges {
10963
12901
  private readonly i18n;
10964
12902
  get hostCollapsed(): boolean;
12903
+ get dragSurfaceInteractive(): boolean;
10965
12904
  shell?: WidgetShellConfig | null;
10966
12905
  context?: Record<string, any> | null;
10967
12906
  dragSurfaceEnabled: boolean;
@@ -10974,7 +12913,10 @@ declare class WidgetShellComponent implements OnChanges {
10974
12913
  collapsed: boolean;
10975
12914
  expanded: boolean;
10976
12915
  fullscreen: boolean;
10977
- ngOnChanges(): void;
12916
+ private initializedWindowState;
12917
+ private lastWindowStateInputs?;
12918
+ ngOnChanges(changes: SimpleChanges): void;
12919
+ private syncInitialWindowState;
10978
12920
  get shellEnabled(): boolean;
10979
12921
  get showHeader(): boolean;
10980
12922
  get headerActions(): ActionList;
@@ -10993,6 +12935,8 @@ declare class WidgetShellComponent implements OnChanges {
10993
12935
  private isVisible;
10994
12936
  private resolvePresetAppearance;
10995
12937
  private mergeAppearance;
12938
+ private readWindowStateInputs;
12939
+ private areWindowStateInputsEqual;
10996
12940
  private isInteractiveHeaderTarget;
10997
12941
  private t;
10998
12942
  static ɵfac: i0.ɵɵFactoryDeclaration<WidgetShellComponent, never>;
@@ -11030,6 +12974,7 @@ declare class WidgetPageStateRuntimeService {
11030
12974
  private evaluateDerivedJsonLogic;
11031
12975
  private resolveCaseValue;
11032
12976
  private resolveTemplate;
12977
+ private isPageStateTemplatePath;
11033
12978
  private normalizeDependencyPath;
11034
12979
  private readPath;
11035
12980
  private isPlainObject;
@@ -11058,6 +13003,86 @@ interface WidgetPageComposition {
11058
13003
  context: Record<string, unknown>;
11059
13004
  }
11060
13005
 
13006
+ interface NestedPortCatalogRegistry {
13007
+ get(id: string): Pick<ComponentDocMeta, 'ports'> | undefined;
13008
+ }
13009
+ interface ResolvedNestedPort {
13010
+ ownerWidgetKey: string;
13011
+ ownerComponentId?: string;
13012
+ nestedPath: ComponentPortPathSegment[];
13013
+ containerPath?: ComponentPortPathSegment[];
13014
+ port: PortContract;
13015
+ componentId: string;
13016
+ childWidgetKey: string;
13017
+ }
13018
+ interface NestedPortCatalogDiagnostic {
13019
+ code: 'NESTED_WIDGET_METADATA_MISSING' | 'NESTED_WIDGET_KEY_MISSING';
13020
+ severity: 'warning' | 'error';
13021
+ ownerWidgetKey: string;
13022
+ nestedPath: ComponentPortPathSegment[];
13023
+ componentId?: string;
13024
+ message: string;
13025
+ }
13026
+ interface NestedPortCatalogResult {
13027
+ ports: ResolvedNestedPort[];
13028
+ diagnostics: NestedPortCatalogDiagnostic[];
13029
+ }
13030
+ declare class NestedPortCatalogService {
13031
+ private readonly accessor;
13032
+ constructor(accessor?: NestedWidgetConfigAccessor);
13033
+ resolve(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry): NestedPortCatalogResult;
13034
+ resolveEndpoint(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry, options: {
13035
+ ownerWidgetKey: string;
13036
+ nestedPath: ComponentPortPathSegment[];
13037
+ portId: string;
13038
+ direction: PortContract['direction'];
13039
+ }): ResolvedNestedPort | undefined;
13040
+ private hasStableTerminalKey;
13041
+ private containerPath;
13042
+ private isSamePath;
13043
+ private clone;
13044
+ }
13045
+
13046
+ type SemanticEndpointRef = EndpointRef & {
13047
+ ref: EndpointRef['ref'] & {
13048
+ semanticKind?: TransformSemanticKind;
13049
+ };
13050
+ };
13051
+ type SemanticCompositionLink = CompositionLink & {
13052
+ from: SemanticEndpointRef;
13053
+ to: SemanticEndpointRef;
13054
+ transform?: TransformPipeline;
13055
+ };
13056
+ interface CompositionValidatorContext {
13057
+ page?: Pick<WidgetPageDefinition, 'widgets'>;
13058
+ registry?: NestedPortCatalogRegistry;
13059
+ links?: SemanticCompositionLink[];
13060
+ }
13061
+ declare class CompositionValidatorService {
13062
+ private readonly nestedPortCatalog;
13063
+ private readonly jsonLogic;
13064
+ constructor(nestedPortCatalog?: NestedPortCatalogService, jsonLogic?: PraxisJsonLogicService);
13065
+ validateLink(link: SemanticCompositionLink, context?: CompositionValidatorContext): DiagnosticRecord[];
13066
+ private validateEndpointDirections;
13067
+ private validateBindingPathBridge;
13068
+ private validateNestedComponentEndpoints;
13069
+ private validateNestedPortCatalog;
13070
+ private projectCatalogDiagnostics;
13071
+ private validateNestedWidgetEventCoexistence;
13072
+ private validateStateWrites;
13073
+ private validateGlobalActionTarget;
13074
+ private validateCondition;
13075
+ private validateTransformCatalog;
13076
+ private validateSemanticCompatibility;
13077
+ private endpointSemanticKind;
13078
+ private areSemanticKindsCompatible;
13079
+ private areKindsDirectlyCompatible;
13080
+ private createDiagnostic;
13081
+ private formatNestedPath;
13082
+ private nestedEndpointSubject;
13083
+ private isSameNestedPath;
13084
+ }
13085
+
11061
13086
  interface CompositionRuntimeStoreInit {
11062
13087
  pageId?: string;
11063
13088
  status?: RuntimeSnapshotStatus;
@@ -11131,13 +13156,16 @@ interface LinkExecutionContext {
11131
13156
  lastDeliveredAt?: string;
11132
13157
  }
11133
13158
  interface LinkExecutionDelivery {
11134
- kind: 'state' | 'component-port';
13159
+ kind: 'state' | 'component-port' | 'global-action';
11135
13160
  value: unknown;
11136
13161
  statePath?: string;
11137
13162
  stateLayer?: 'values' | 'derived' | 'transient';
11138
13163
  widgetKey?: string;
11139
13164
  portId?: string;
11140
13165
  bindingPath?: string;
13166
+ nestedPath?: ComponentPortPathSegment[];
13167
+ actionId?: string;
13168
+ actionRef?: GlobalActionRef;
11141
13169
  }
11142
13170
  interface LinkExecutionResult {
11143
13171
  status: 'delivered' | 'skipped' | 'failed';
@@ -11207,6 +13235,7 @@ interface CompositionRuntimeEngineOptions {
11207
13235
  linkExecutor?: LinkExecutorService;
11208
13236
  stateRuntime?: WidgetPageStateRuntimeService;
11209
13237
  traceService?: RuntimeTraceService;
13238
+ compositionValidator?: CompositionValidatorService;
11210
13239
  }
11211
13240
  interface CompositionStateWidgetPreviewOptions {
11212
13241
  widgets?: WidgetInstance[];
@@ -11223,7 +13252,9 @@ declare class CompositionRuntimeEngine {
11223
13252
  private readonly linkExecutor;
11224
13253
  private readonly stateRuntime;
11225
13254
  private readonly traceService;
13255
+ private readonly compositionValidator;
11226
13256
  private readonly pathAccessor;
13257
+ private readonly nestedWidgetAccessor;
11227
13258
  private definition;
11228
13259
  private readonly now;
11229
13260
  constructor(options?: CompositionRuntimeEngineOptions);
@@ -11235,11 +13266,13 @@ declare class CompositionRuntimeEngine {
11235
13266
  private createLinkSnapshot;
11236
13267
  private applyBootstrapHydration;
11237
13268
  private materializeDerivedState;
13269
+ private validateComposition;
11238
13270
  private createDerivedDiagnostic;
11239
13271
  private clonePreviewWidgets;
11240
13272
  private cloneJson;
11241
13273
  private extractDerivedNodeKey;
11242
13274
  private appendDiagnosticTraceEntries;
13275
+ private createNestedWidgetEventBridgeDiagnostics;
11243
13276
  }
11244
13277
 
11245
13278
  interface CompositionRuntimeFacadeOptions {
@@ -11330,8 +13363,12 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11330
13363
  pageIdentity?: PageIdentity;
11331
13364
  /** Optional instance key for pages rendered multiple times. */
11332
13365
  componentInstanceId?: string;
13366
+ /** Enables a contextual authoring assistant entrypoint for the selected widget. */
13367
+ showWidgetAssistantButton: boolean;
11333
13368
  pageChange: EventEmitter<WidgetPageDefinition>;
11334
13369
  widgetEvent: EventEmitter<WidgetEventEnvelope>;
13370
+ widgetSelectionChange: EventEmitter<string | null>;
13371
+ widgetAssistantRequested: EventEmitter<string>;
11335
13372
  widgetDiagnosticsChange: EventEmitter<Record<string, WidgetResolutionDiagnostic>>;
11336
13373
  widgets: i0.WritableSignal<WidgetInstance[]>;
11337
13374
  renderedGroups: i0.WritableSignal<RenderedWidgetGroup[]>;
@@ -11350,7 +13387,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11350
13387
  private pageColumnCount;
11351
13388
  private activeTabs;
11352
13389
  private widgetDiagnostics;
11353
- private selectedCanvasWidgetKey;
13390
+ private selectedWidgetKey;
11354
13391
  private blockedCanvasWidgetKey;
11355
13392
  private canvasPreviewState;
11356
13393
  private canvasPreviewInvalidState;
@@ -11361,6 +13398,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11361
13398
  private persistenceReady;
11362
13399
  private warnedMissingKey;
11363
13400
  private runtimeEventSequence;
13401
+ private readonly widgetShellRenderCache;
11364
13402
  private readonly compositionFactory;
11365
13403
  private readonly compositionRuntime;
11366
13404
  private compositionDefinition?;
@@ -11372,6 +13410,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11372
13410
  private readonly route;
11373
13411
  private readonly conn;
11374
13412
  private readonly stateRuntime;
13413
+ private readonly nestedWidgetAccessor;
11375
13414
  private readonly settingsPanel;
11376
13415
  private readonly defaultShellEditor;
11377
13416
  private readonly defaultPageEditor;
@@ -11380,37 +13419,74 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11380
13419
  ngOnChanges(changes: SimpleChanges): void;
11381
13420
  onWidgetEvent(fromKey: string, evt: WidgetEventEnvelope): void;
11382
13421
  private applyWidgetInputPatchToPage;
13422
+ private resolveWidgetInputPatchNestedPath;
11383
13423
  private extractWidgetInputPatch;
11384
13424
  private buildStateRuntime;
11385
13425
  private bootstrapCompositionAdapter;
11386
13426
  private applyEditShellActions;
11387
- private withShellActions;
11388
13427
  private applyBootstrapCompositionHydration;
11389
13428
  private reportStateDiagnostics;
11390
13429
  private dispatchWidgetEventToComposition;
13430
+ private matchesRuntimeSourceRef;
13431
+ private matchesLegacyWidgetEventSource;
13432
+ private areNestedPathsEqual;
11391
13433
  private stateFromCompositionSnapshot;
11392
13434
  private applyCompositionWidgetDeliveries;
13435
+ private executeCompositionGlobalActionDeliveries;
13436
+ private resolveCompositionGlobalActionRef;
11393
13437
  private buildStateContext;
11394
13438
  private cloneStateValues;
11395
13439
  private cloneGrouping;
11396
13440
  private resolveShellTemplates;
13441
+ private enrichRuntimeWidgetInputs;
13442
+ private buildRichContentHostCapabilities;
13443
+ private dispatchRichContentAction;
13444
+ private isRichContentActionAvailable;
13445
+ private hasRichContentCapability;
11397
13446
  private resolveComponentBindingPath;
11398
13447
  private buildRuntimeEventId;
11399
- private shouldInjectEditShellActions;
11400
- private canOpenWidgetShellSettings;
13448
+ canOpenWidgetShellSettings(): boolean;
13449
+ canOpenWidgetComponentSettings(key: string): boolean;
13450
+ componentSettingsLabel(): string;
13451
+ componentSettingsTooltip(): string;
13452
+ widgetSettingsLabel(): string;
13453
+ widgetSettingsTooltip(): string;
13454
+ widgetAssistantLabel(): string;
13455
+ widgetAssistantTooltip(): string;
13456
+ requestWidgetAssistant(widgetKey: string): void;
13457
+ widgetRemoveLabel(): string;
13458
+ moreWidgetActionsLabel(): string;
13459
+ widgetContextToolbarLabel(widgetKey: string): string;
13460
+ widgetContextLabel(widget: WidgetInstance): string;
13461
+ widgetContextTooltip(widget: WidgetInstance): string;
13462
+ shouldRenderWidgetContextOverlay(widget: WidgetInstance): boolean;
13463
+ widgetShellForRender(widget: WidgetInstance): WidgetShellConfig | null | undefined;
13464
+ private resolveWidgetDisplayName;
13465
+ private shouldProjectWidgetHeaderActions;
13466
+ private hasVisibleWidgetShellHeader;
13467
+ private hasVisibleShellActions;
13468
+ private hasVisibleWindowActions;
13469
+ private buildProjectedWidgetShellActions;
13470
+ private widgetShellActionSignature;
13471
+ private isVisibleShellAction;
11401
13472
  private areStateValuesEqual;
11402
13473
  onWidgetDiagnostic(widgetKey: string, diagnostic: WidgetResolutionDiagnostic): void;
11403
13474
  onShellAction(fromKey: string, evt: WidgetShellActionEvent): void;
11404
13475
  private handleSetInputCommand;
11405
13476
  private mergeOrder;
11406
13477
  private maybeExecuteMappedAction;
11407
- private maybeExecuteGlobalCommand;
11408
13478
  private resolveActionPayload;
11409
13479
  private resolveTemplate;
11410
13480
  private lookup;
11411
13481
  openWidgetShellSettings(key: string): void;
11412
13482
  openWidgetComponentSettings(key: string): void;
11413
13483
  private applyWidgetComponentInputs;
13484
+ confirmAndRemoveWidget(widgetKey: string): Promise<void>;
13485
+ removeSelectedWidget(): void;
13486
+ removeSelectedCanvasWidget(): void;
13487
+ private removeWidgetReferences;
13488
+ private linkReferencesWidget;
13489
+ private endpointReferencesWidget;
11414
13490
  openPageSettings(): void;
11415
13491
  private applyWidgetShell;
11416
13492
  private applyPageLayout;
@@ -11434,8 +13510,14 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11434
13510
  private resolveDeviceKind;
11435
13511
  isCanvasMode(): boolean;
11436
13512
  shouldAutoWireOutputs(widget: WidgetInstance | RenderedWidgetInstance): boolean;
11437
- selectCanvasWidget(widgetKey: string): void;
13513
+ private hasCompositionOutputLinks;
13514
+ selectWidget(widgetKey: string): void;
13515
+ selectWidgetFromHostEvent(widgetKey: string, event: Event): void;
11438
13516
  isCanvasWidgetSelected(widgetKey: string): boolean;
13517
+ isWidgetSelected(widgetKey: string): boolean;
13518
+ private shouldPreserveInnerWidgetInteraction;
13519
+ selectCanvasWidget(widgetKey: string): void;
13520
+ getPageSnapshot(): WidgetPageDefinition;
11439
13521
  isCanvasWidgetBlocked(widgetKey: string): boolean;
11440
13522
  canvasPreviewItem(): WidgetPageCanvasItem | null;
11441
13523
  canvasPreviewGridColumn(): string | null;
@@ -11448,6 +13530,8 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11448
13530
  private applyWidgetLayoutOverrides;
11449
13531
  private applyCanvasLayoutToWidgets;
11450
13532
  private startCanvasInteraction;
13533
+ private cancelCanvasInteractionForWidget;
13534
+ private isCanvasOverlayInteraction;
11451
13535
  private currentCanvasMetrics;
11452
13536
  private currentCanvasItem;
11453
13537
  private resolveCanvasInteractionDelta;
@@ -11505,7 +13589,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11505
13589
  private sanitizeSegment;
11506
13590
  private assertNoLegacyConnections;
11507
13591
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetPageComponent, never>;
11508
- static ɵcmp: i0.ɵɵComponentDeclaration<DynamicWidgetPageComponent, "praxis-dynamic-page", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showPageSettingsButton": { "alias": "showPageSettingsButton"; "required": false; }; "shellEditorComponent": { "alias": "shellEditorComponent"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; }, { "pageChange": "pageChange"; "widgetEvent": "widgetEvent"; "widgetDiagnosticsChange": "widgetDiagnosticsChange"; }, never, never, true, never>;
13592
+ static ɵcmp: i0.ɵɵComponentDeclaration<DynamicWidgetPageComponent, "praxis-dynamic-page", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showPageSettingsButton": { "alias": "showPageSettingsButton"; "required": false; }; "shellEditorComponent": { "alias": "shellEditorComponent"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "showWidgetAssistantButton": { "alias": "showWidgetAssistantButton"; "required": false; }; }, { "pageChange": "pageChange"; "widgetEvent": "widgetEvent"; "widgetSelectionChange": "widgetSelectionChange"; "widgetAssistantRequested": "widgetAssistantRequested"; "widgetDiagnosticsChange": "widgetDiagnosticsChange"; }, never, never, true, never>;
11509
13593
  }
11510
13594
 
11511
13595
  /** Metadata for Praxis Dynamic Page component */
@@ -11515,7 +13599,7 @@ declare const PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA: ComponentDocMeta;
11515
13599
  */
11516
13600
  declare function providePraxisDynamicPageMetadata(): Provider;
11517
13601
 
11518
- declare class PraxisSurfaceHostComponent {
13602
+ declare class PraxisSurfaceHostComponent implements AfterViewInit, OnChanges {
11519
13603
  title?: string;
11520
13604
  subtitle?: string;
11521
13605
  icon?: string;
@@ -11527,6 +13611,11 @@ declare class PraxisSurfaceHostComponent {
11527
13611
  * modal/drawer hosts. Inline consumers may opt into rendering it again.
11528
13612
  */
11529
13613
  renderTitleInsideBody: boolean;
13614
+ private widgetLoader?;
13615
+ private renderQueued;
13616
+ ngAfterViewInit(): void;
13617
+ ngOnChanges(changes: SimpleChanges): void;
13618
+ private scheduleWidgetRender;
11530
13619
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisSurfaceHostComponent, never>;
11531
13620
  static ɵcmp: i0.ɵɵComponentDeclaration<PraxisSurfaceHostComponent, "praxis-surface-host", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "widget": { "alias": "widget"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "renderTitleInsideBody": { "alias": "renderTitleInsideBody"; "required": false; }; }, {}, never, never, true, never>;
11532
13621
  }
@@ -11650,7 +13739,7 @@ declare function normalizeFormConfig(config: FormConfig): FormConfig;
11650
13739
 
11651
13740
  /** Minimal metadata about the backend schema source. */
11652
13741
  interface SchemaMetaInfo {
11653
- /** API path used to resolve the schema (e.g., /api/employees/all or /filter) */
13742
+ /** API path used to resolve the schema (e.g., /api/employees/filter) */
11654
13743
  path: string;
11655
13744
  /** Operation used when fetching the schema (get|post) */
11656
13745
  operation: string;
@@ -11724,6 +13813,12 @@ interface SchemaIdParams {
11724
13813
  }
11725
13814
  declare function normalizePath(p: string): string;
11726
13815
  declare function buildSchemaId(params: SchemaIdParams): string;
13816
+ /**
13817
+ * Produces a deterministic, storage-safe segment for places that impose short
13818
+ * identifier limits. This must not replace the semantic schemaId stored in
13819
+ * payloads or metadata.
13820
+ */
13821
+ declare function buildSchemaIdStorageKeySegment(schemaId: string): string;
11727
13822
 
11728
13823
  interface FetchWithEtagParams {
11729
13824
  url: string;
@@ -11903,5 +13998,5 @@ declare function provideFormHookPresets(presets: Array<FormHookPreset>): Provide
11903
13998
  /** Register a whitelist of allowed hook ids/patterns. */
11904
13999
  declare function provideHookWhitelist(allowed: Array<string | RegExp>): Provider[];
11905
14000
 
11906
- export { API_CONFIG_STORAGE_OPTIONS, API_URL, ASYNC_CONFIG_STORAGE, AllowedFileTypes, AnalyticsPresentationResolver, AnalyticsSchemaContractService, AnalyticsStatsRequestBuilderService, ApiConfigStorage, ApiEndpoint, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, BUILTIN_SHELL_PRESETS, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentKeyService, ComponentMetadataRegistry, CompositionRuntimeFacade, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_TABLE_CONFIG, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG$1 as GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_CATALOG as GLOBAL_ACTION_SPEC_CATALOG, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_SURFACE_SERVICE, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_TOKEN_TO_CONTROL_TYPE, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_FOOTER_LINKS_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_HERO_BANNER_METADATA, PRAXIS_I18N_CONFIG, PRAXIS_I18N_TRANSLATOR, PRAXIS_JSON_LOGIC_OPERATORS, PRAXIS_LAYER_SCALE_DEFAULTS, PRAXIS_LAYER_SCALE_VARS, PRAXIS_LEGAL_NOTICE_METADATA, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_RICH_TEXT_BLOCK_METADATA, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisI18nService, PraxisIconDirective, PraxisIconPickerComponent, PraxisJsonLogicError, PraxisJsonLogicService, PraxisLayerScaleStyleService, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRichTextBlockComponent, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, RESOURCE_DISCOVERY_I18N_CONFIG, RESOURCE_DISCOVERY_I18N_NAMESPACE, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceActionOpenAdapterService, ResourceDiscoveryService, ResourceQuickConnectComponent, ResourceSurfaceOpenAdapterService, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_DRAWER_BRIDGE, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, SurfaceOpenActionEditorComponent, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$1 as applyLocalCustomizations, applyLocalCustomizations as applyLocalFormCustomizations, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildPraxisLayerScaleCss, buildSchemaId, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createEmptyRichContentDocument, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getGlobalActionCatalog, getGlobalActionUiSchema, getReferencedFieldMetadata, getTextTransformer, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isInlineFilterControlType, isRangeValidForFilter, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormMetadata, normalizePath, normalizePraxisDataQueryContext, normalizeResourceAvailabilityReasonCode, normalizeStart, normalizeUnknownError, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisDynamicPageMetadata, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisIconDefaults, providePraxisJsonLogicOperator, providePraxisJsonLogicOperatorOverride, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRichTextBlockMetadata, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveDefaultValuePresentationFormat, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisFilterCriteria, resolveResourceAvailabilityReasonKey, resolveSpan, resolveValuePresentation, resolveValuePresentationLocale, slugify, stripMasksHook, supportsImplicitValuePresentation, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, translateResourceAvailabilityReason, translateResourceDiscoveryText, translateUnavailableWorkflowMessage, trim, uniqueAsyncValidator, urlValidator, withMessage, withPraxisHttpLoading };
11907
- export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnalyticsIntent, AnalyticsPresentationDecision, AnalyticsPresentationFamily, AnalyticsPresentationResolverOptions, AnalyticsSchemaContractRequest, AnalyticsSourceKind, AnalyticsStatsGranularity, AnalyticsStatsMetricOperation, AnalyticsStatsOperation, AnalyticsStatsOrderBy, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AsyncConfigStorage, BackConfig, BaseMaterialInputMetadata, BatchDeleteOptions, BatchDeleteProgress, BatchDeleteResult, BorderConfig, Breakpoint, BuiltValidators, BulkAction, BulkActionsConfig, CacheAdapter, CacheConfig, CacheEntry, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, ComponentActionParam, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentEditorialResolveOptions, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ComponentMetadataEditorialBindingDescriptor, ComponentMetadataEditorialDescriptor, ComponentPortEndpointRef, CompositionLink, CompositionRuntimeFacadeOptions, ConditionalValidationRule, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CorePresetDescriptor, CorePresetDiscoveryRegistry, CorePresetKind, CorePresetRef, CrudConfigureOptions, CrudOperationOptions, CrudOperationResolutionContext, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DiagnosticPhase, DiagnosticRecord, DiagnosticSeverity, DiagnosticSource, DiagnosticSubjectKind, DiagnosticSubjectRef, DraggingConfig, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, EditorialBlock, EditorialBlockBase, EditorialBlockKind, EditorialBlockOverride, EditorialBlockSurface, EditorialBlockTone, EditorialBlockVisibilityRule, EditorialCompliancePreset, EditorialComponentDocMeta, EditorialConnectorStyle, EditorialContentFormat, EditorialContextFieldContract, EditorialContextSummaryBlock, EditorialCustomWidgetBlock, EditorialDataCollectionBlock, EditorialDensity, EditorialFaqAccordionBlock, EditorialFaqItem, EditorialFormCompliancePreset, EditorialFormShellPreset, EditorialFormTemplate, EditorialFormTemplateBuildOptions, EditorialFormTemplateContextField, EditorialFormTemplateDefaults, EditorialFormTemplateLayoutPreset, EditorialFormTemplateMetadata, EditorialFormTemplateReference, EditorialHeroBlock, EditorialIconSpec, EditorialInfoCardItem, EditorialInfoCardsBlock, EditorialIntroHeroBlock, EditorialIntroHeroHighlightItem, EditorialJourney, EditorialJourneyOverride, EditorialJourneyStep, EditorialLayoutConfig, EditorialLayoutSpacing, EditorialLinkDefinition, EditorialLinkItem, EditorialMetaItem, EditorialMotionConfig, EditorialOrientation, EditorialPolicyItem, EditorialPolicyListBlock, EditorialPresentationShellVariant, EditorialPresentationalAction, EditorialPresentationalVisibilityRule, EditorialProblemType, EditorialResponsiveLayoutConfig, EditorialReviewField, EditorialReviewSection, EditorialReviewSectionField, EditorialReviewSectionsBlock, EditorialReviewSummaryBlock, EditorialRichTextBlock, EditorialSelectionCardItem, EditorialSelectionCardsBlock, EditorialShellVariant, EditorialSolutionDefinition, EditorialSolutionPreset, EditorialStepKind, EditorialStepVisualConfig, EditorialStepVisualVariant, EditorialStepperConfig, EditorialStepperVariant, EditorialSuccessPanelBlock, EditorialSurfaceVariant, EditorialTemplateInstance, EditorialTemplateInstanceOverrides, EditorialTemplateRef, EditorialTemplateSource, EditorialThemeBorderWidthTokens, EditorialThemeColorTokens, EditorialThemePreset, EditorialThemeRadiusTokens, EditorialThemeShadowTokens, EditorialThemeTokens, EditorialThemeTypographyTokens, EditorialTimelineStep, EditorialTimelineStepsBlock, EditorialWidgetAppearance, EditorialWidgetDefinition, EditorialWidgetInputs, EditorialWizardPresentation, ElevationConfig, EmptyAction, EmptyStateConfig, EndpointConfig, EndpointRef, EnhancedValidationConfig, ExcelExportConfig, ExcelStylingConfig, ExplicitCrudResolutionContract, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldSelectorRegistryMap, FieldSource, FieldSubmitPolicy, FieldsetLayout, FilterOptions, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormCustomActionEvent, FormEntityEvent, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormInitializationError, FormLayout, FormLayoutRule, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormReadyEvent, FormRow, FormRowLayout, FormRuleTargetType, FormSection, FormSectionHeaderAction, FormSectionHeaderConfig, FormSectionHeaderEmptyState, FormSectionHeaderMode, FormSectionHeaderSize, FormSubmitEvent, FormValidationEvent, FormValueChangeEvent, FormattingLocaleConfig, GeneralExportConfig, GetSchemaParams, GlobalActionCatalogEntry, GlobalActionContext, GlobalActionField, GlobalActionFieldOption, GlobalActionFieldType, GlobalActionHandler, GlobalActionHandlerEntry, GlobalActionId, GlobalActionParam, GlobalActionResult, GlobalActionSpec, GlobalActionUiSchema, GlobalAiConfig, GlobalAiEmbeddingConfig, GlobalAiProvider, GlobalAnalyticsService, GlobalApiClient, GlobalCacheConfig, GlobalConfig, GlobalCrudActionDefaults, GlobalCrudConfig, GlobalCrudDefaults, GlobalDialogAction, GlobalDialogAnimation, GlobalDialogAriaRole, GlobalDialogConfig, GlobalDialogConfigEntry, GlobalDialogPosition, GlobalDialogService, GlobalDialogStyles, GlobalDynamicFieldsAsyncSelectConfig, GlobalDynamicFieldsCascadeConfig, GlobalDynamicFieldsConfig, GlobalI18nConfig, GlobalRouteGuardResolver, GlobalSurfaceService, GlobalTableConfig, GlobalToastService, HateoasLink, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HookResolver, InlineFilterControlType, InlineMonthRangeMetadata, InlinePeriodRangeFiscalCalendar, InlinePeriodRangeGranularity, InlinePeriodRangeMetadata, InlinePeriodRangePreset, InlineRangeDistributionBin, InlineRangeDistributionConfig, InlineYearRangeMetadata, InteractionConfig, JsonExportConfig, JsonLogicArguments, JsonLogicArray, JsonLogicDataRecord, JsonLogicDerivedValueExpression, JsonLogicExpression, JsonLogicOperationExpression, JsonLogicPrimitive, JsonLogicRecord, JsonLogicValue, JsonLogicVarExpression, JsonLogicVarReference, KeyboardAccessibilityConfig, LazyLoadingConfig, LegacyCompositionLinkInput, LegacyLinkCondition, LegacyLinkMetaPolicy, LegacyTableConfig, LegalNoticeAppearance, LegalNoticeSeverity, LinkIntent, LinkMetadata, LinkPolicy, LoadingConfig, LoadingContext, LoadingPhase$1 as LoadingPhase, LoadingScope, LoadingState, LoadingPhase as LoadingStatePhase, LocalizationConfig, LocateRequest, LoggerConfig, LoggerContext, LoggerEvent, LoggerLevel, LoggerLogOptions, LoggerNormalizedError, LoggerPIIConfig, LoggerSink, LoggerTelemetryPayload, LoggerThrottleConfig, MarginConfig, MaterialAutocompleteMetadata, MaterialButtonMetadata, MaterialButtonToggleMetadata, MaterialCheckboxMetadata, MaterialChipsMetadata, MaterialColorInputMetadata, MaterialColorPickerMetadata, MaterialCpfCnpjMetadata, MaterialCurrencyMetadata, MaterialDateInputMetadata, MaterialDateRangeMetadata, MaterialDatepickerMetadata, MaterialDatetimeLocalInputMetadata, MaterialDesignConfig, MaterialEmailInputMetadata, MaterialEmailMetadata, MaterialInputMetadata, MaterialMonthInputMetadata, MaterialMultiSelectTreeMetadata, MaterialNumericMetadata, MaterialPasswordMetadata, MaterialPhoneMetadata, MaterialPriceRangeMetadata, MaterialRadioMetadata, MaterialRangeSliderMetadata, MaterialRatingMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, MaterialSelectionListMetadata, MaterialSliderMetadata, MaterialTextareaMetadata, MaterialTimeInputMetadata, MaterialTimeRangeMetadata, MaterialTimeTrackShift, MaterialTimepickerMetadata, MaterialToggleMetadata, MaterialTransferListMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialYearInputMetadata, MemoryConfig, MessageTemplate, MessagesConfig, NestedFieldsetLayout, NormalizedError, NumberLocaleConfig, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceMetadata, OptionSourceRequestOptions, OverlayDecider, OverlayDecision, OverlayDecisionContext, OverlayDecisionMatrix, OverlayPattern, OverlayRange, OverlayRule, OverlayRuleMatch, OverlayThresholds, Page, PageIdentity, PageableRequest, PaginationConfig, PartialFieldMetadata, PdfExportConfig, PerformanceConfig, PersistedPageConfig, PersistedPageDefinitionWithIds, PersistedWidgetInstance, PlainObject, PluginConfig, PollingConfig, PortCardinality, PortCompatibilityRuleSet, PortContract, PortDirection, PortExposure, PortSchemaKind, PortSchemaMode, PortSchemaRef, PortSemanticKind, PraxisAnalyticsBindings, PraxisAnalyticsDefaults, PraxisAnalyticsDimensionBinding, PraxisAnalyticsDistributionStatsRequest, PraxisAnalyticsExecutionMetric, PraxisAnalyticsGroupByStatsRequest, PraxisAnalyticsInteractions, PraxisAnalyticsMetricBinding, PraxisAnalyticsOptions, PraxisAnalyticsPresentationHints, PraxisAnalyticsProjection, PraxisAnalyticsSortRule, PraxisAnalyticsSource, PraxisAnalyticsStatsExecutionPlan, PraxisAnalyticsStatsMetricRequest, PraxisAnalyticsStatsRequest, PraxisAnalyticsTimeSeriesStatsRequest, PraxisAuthContext, PraxisBuiltinCustomRuleOperator, PraxisConditionalRule, PraxisConditionalRuleMatchInput, PraxisCustomRuleOperator, PraxisDataQueryContext, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHostRuleOperator, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisIconDefaultsOptions, PraxisJsonLogicEvaluationContext, PraxisJsonLogicEvaluationOptions, PraxisJsonLogicEvaluationResult, PraxisJsonLogicIssueCode, PraxisJsonLogicOperatorDefinition, PraxisJsonLogicOperatorDescriptor, PraxisJsonLogicOperatorHelpers, PraxisJsonLogicOperatorMetadata, PraxisJsonLogicOperatorPurity, PraxisJsonLogicOperatorReturnType, PraxisJsonLogicOperatorSource, PraxisJsonLogicRuntimeValue, PraxisJsonLogicValidationIssue, PraxisJsonLogicValidationOptions, PraxisJsonLogicValidationResult, PraxisLayerScale, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisNativeJsonLogicOperator, PraxisRuleContextDescriptor, PraxisRuleOperator, PraxisTextValue, PraxisToastOptions, PraxisTranslationParams, PraxisXUiAnalytics, PriceRangeValue, RangeSliderInlineTexts, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderValue, RenderingConfig, ResizingConfig, ResolveCrudOperationRequest, ResolvePresetOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedCrudOperation, ResolvedCrudOperationSource, ResolvedValuePresentation, ResourceActionCatalogItem, ResourceActionCatalogResponse, ResourceActionOpenAdapterOptions, ResourceActionScope, ResourceAvailabilityDecision, ResourceCapabilityOperation, ResourceCapabilitySnapshot, ResourceCrudOperationId, ResourceDiscoveryRel, ResourceDiscoveryRequestOptions, ResourceLinkSource, ResourceSurfaceCatalogItem, ResourceSurfaceCatalogResponse, ResourceSurfaceKind, ResourceSurfaceOpenAdapterOptions, ResourceSurfaceScope, ResponsiveConfig, RestApiLinks, RestApiResponse, RichAvatarNode, RichBadgeNode, RichBlockBaseNode, RichBlockContextConfig, RichBlockContextScope, RichBlockHostCapabilities, RichBlockNode, RichBlockRuleSet, RichCardNode, RichComposeNode, RichContentDocument, RichIconNode, RichImageNode, RichMediaBlockNode, RichMetricNode, RichPresenterNode, RichPresetReferenceNode, RichPrimitiveNode, RichProgressNode, RichTextAppearance, RichTextNode, RichTextVariant, RichTimelineItem, RichTimelineNode, RowAction, RowActionsConfig, RuleContextRoot, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, RuntimeLinkSnapshot, RuntimeLinkStatus, RuntimePayloadSummary, RuntimeSnapshot, RuntimeSnapshotStatus, RuntimeStateSnapshot, RuntimeTraceEntry, RuntimeTracePhase, SchemaIdParams, SchemaMetaInfo, SchemaViewerContext, SelectionConfig, SerializableFieldMetadata, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateEndpointRef, StateMessagesConfig, SurfaceBinding, SurfaceBindingMode, SurfaceDrawerBridge, SurfaceDrawerOpenContent, SurfaceDrawerOpenOptions, SurfaceDrawerRef, SurfaceDrawerResult, SurfaceDrawerWidthPreset, SurfaceOpenPayload, SurfaceOpenPreset, SurfacePresentation, SurfaceSizeConfig, SyncConfig, SyncResult, TableActionsConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableDetailActionBarAction, TableDetailActionBarNode, TableDetailActionNode, TableDetailAllowedNode, TableDetailBaseNode, TableDetailCardGridCardNode, TableDetailCardGridNode, TableDetailCardNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, TableDetailEmbedBaseNode, TableDetailInlineSchemaDocument, TableDetailLayoutNode, TableDetailListItemAction, TableDetailListItemContextConfig, TableDetailListItemSchema, TableDetailListNode, TableDetailMediaBlockNode, TableDetailRefNode, TableDetailRichListNode, TableDetailRichTextNode, TableDetailSchemaNode, TableDetailTabNode, TableDetailTabsNode, TableDetailTemplateRefNode, TableDetailTimelineItemSchema, TableDetailTimelineNode, TableDetailTimelineStaticItem, TableDetailValueNode, TableExpansionConfig, TableLocalDataModeConfig, TelemetryEvent, TelemetryLoggerSinkOptions, TelemetryTransport, TextTransformApply, TextTransformName, ThemeConfig, ToolbarAction, ToolbarConfig, ToolbarFilterConfig, ToolbarLayoutConfig, ToolbarSettingsConfig, TransformBinding, TransformBindingSource, TransformCatalogCategory, TransformCatalogEntry, TransformKind, TransformLegacyReplacement, TransformOutputHint, TransformPhase, TransformPipeline, TransformSemanticKind, TransformStep, TypographyConfig, UserContextSource, UserContextSummaryAppearance, UserContextSummaryField, ValidationContext, ValidationError, ValidationMessagesConfig, ValidationResult, ValidationRule, ValidatorFunction, ValidatorOptions, ValueKind$1 as ValueKind, ValuePresentationConfig, ValuePresentationResolutionContext, ValuePresentationStyle, ValuePresentationType, VirtualizationConfig, WidgetDefinition, WidgetDerivedStateNode, WidgetEventEnvelope, WidgetEventPathSegment, WidgetInstance, WidgetPageCanvasCollisionPolicy, WidgetPageCanvasConstraints, WidgetPageCanvasItem, WidgetPageCanvasItemOverride, WidgetPageCanvasLayout, WidgetPageCanvasLayoutVariant, WidgetPageCompositionDefinition, WidgetPageDefinition, WidgetPageDeviceKind, WidgetPageDeviceLayouts, WidgetPageDevicePolicy, WidgetPageGroupingDefinition, WidgetPageGroupingOverride, WidgetPageGroupingTabDefinition, WidgetPageLayout, WidgetPageLayoutPresetDefinition, WidgetPageLayoutVariant, WidgetPageOrientation, WidgetPageSlotAssignments, WidgetPageSlotDefinition, WidgetPageStateDefinition, WidgetPageStateInput, WidgetPageStateRuntimeSnapshot, WidgetPageThemePresetDefinition, WidgetPageWidgetLayoutOverride, WidgetPageWidgetSuggestion, WidgetResolutionDiagnostic, WidgetResolutionPhase, WidgetShellAction, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellBodyLayout, WidgetShellConfig, WidgetShellWindowActions, WidgetStateNode };
14001
+ 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_RICH_TEXT_BLOCK_METADATA, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisCollectionExportService, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisHttpCollectionExportProvider, PraxisI18nService, PraxisIconDirective, PraxisIconPickerComponent, PraxisJsonLogicError, PraxisJsonLogicService, PraxisLayerScaleStyleService, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRichTextBlockComponent, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, RESOURCE_DISCOVERY_I18N_CONFIG, RESOURCE_DISCOVERY_I18N_NAMESPACE, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceActionOpenAdapterService, ResourceDiscoveryService, ResourceQuickConnectComponent, ResourceSurfaceOpenAdapterService, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_DRAWER_BRIDGE, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, SurfaceOpenActionEditorComponent, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$1 as applyLocalCustomizations, applyLocalCustomizations as applyLocalFormCustomizations, assertPraxisCollectionExportArtifact, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildPraxisEffectDistinctKey, buildPraxisLayerScaleCss, buildSchemaId, buildSchemaIdStorageKeySegment, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, classifyEntityLookupResult, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createEmptyRichContentDocument, createFieldLayoutItem, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, domainKnowledgeTimelineToRichContentDocument, domainRuleTimelineToRichContentDocument, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, escapePraxisExportCell, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getFormColumnFieldNames, getFormLayoutFieldNames, getGlobalActionCatalog, getGlobalActionPayloadActualType, getGlobalActionPayloadTypeIssue, getGlobalActionUiSchema, getMissingGlobalActionPayloadKeys, getReferencedFieldMetadata, getRequiredGlobalActionPayloadKeys, getTextTransformer, hasMeaningfulGlobalActionPayloadValue, hasPraxisCollectionExportArtifact, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isEntityLookupMultiplePayloadMode, isEntityLookupPayloadMode, isEntityLookupPayloadModeCompatible, isEntityLookupResultSelectable, isEntityLookupSinglePayloadMode, isFormLayoutItem, isGlobalActionRef, isInlineFilterControlType, isLookupDialogSize, isLookupFilterFieldType, isLookupFilterOperator, isPraxisRuntimeGlobalActionEffect, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormLayoutItems, normalizeFormMetadata, normalizeGlobalActionRef, normalizeLookupFilterRequest, normalizePath, normalizePraxisDataQueryContext, normalizePraxisEffectPolicy, 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 };
14002
+ 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, PraxisCollectionExportField, PraxisCollectionExportHttpProviderOptions, 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, PraxisRuleContextDescriptor, PraxisRuleOperator, PraxisRuntimeConditionalEffectRule, PraxisRuntimeEffectTrigger, PraxisRuntimeGlobalActionEffect, PraxisTextValue, PraxisToastOptions, PraxisTranslationParams, PraxisXUiAnalytics, PriceRangeValue, RangeSliderInlineTexts, RangeSliderMark, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderScalePreset, RangeSliderSemanticBand, RangeSliderSemanticTone, RangeSliderTrackMode, RangeSliderValue, RangeSliderValueFormat, RangeSliderValueLabelDisplay, RenderingConfig, ResizingConfig, ResolveCrudOperationRequest, ResolvePresetOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedCrudOperation, ResolvedCrudOperationSource, ResolvedNestedPort, ResolvedValuePresentation, ResourceActionCatalogItem, ResourceActionCatalogResponse, ResourceActionOpenAdapterOptions, ResourceActionScope, ResourceAvailabilityDecision, ResourceCapabilityOperation, ResourceCapabilityOperationId, ResourceCapabilityOperations, ResourceCapabilitySnapshot, ResourceCrudOperationId, ResourceDiscoveryRel, ResourceDiscoveryRequestOptions, ResourceExportMaxRows, ResourceLinkSource, ResourceSurfaceCatalogItem, ResourceSurfaceCatalogResponse, ResourceSurfaceKind, ResourceSurfaceOpenAdapterOptions, ResourceSurfaceScope, ResponsiveConfig, RestApiLinks, RestApiResponse, RichAccordionItem, RichAccordionNode, RichActionButtonNode, RichActionCardNode, RichActionRef, RichAvatarNode, RichBadgeNode, RichBlockBaseNode, RichBlockContextConfig, RichBlockContextScope, RichBlockHostCapabilities, RichBlockNode, RichBlockRuleSet, RichCalloutNode, RichCapabilityMode, RichCardAccessibility, RichCardDensity, RichCardInteraction, RichCardInteractionMode, RichCardMedia, RichCardMediaKind, RichCardMediaPlacement, RichCardNode, RichCardOrientation, RichCardSize, RichCardTone, RichCardVariant, RichCollapsibleCardNode, RichComposeNode, RichContentDocument, RichCtaGroupLayout, RichCtaGroupNode, RichDisclosureNode, RichEmptyStateNode, RichFormLauncherNode, RichIconNode, RichImageNode, RichKeyValueItem, RichKeyValueListNode, RichLinkNode, RichLookupCardNode, RichLookupResultField, RichLookupResultNode, RichLookupResultStatus, RichMediaBlockNode, RichMetricNode, RichPresenterNode, RichPresetReferenceNode, RichPrimitiveNode, RichProgressNode, RichPropertySheetColumns, RichPropertySheetItem, RichPropertySheetNode, RichPropertySheetTone, RichRecordSummaryField, RichRecordSummaryNode, RichRelatedRecordNode, RichStatGroupLayout, RichStatGroupNode, RichStatItem, RichStatTone, RichTabsAppearance, RichTabsItem, RichTabsNode, RichTextAppearance, RichTextNode, RichTextVariant, RichTimelineColor, RichTimelineConnectorVariant, RichTimelineItem, RichTimelineMarkerStyle, RichTimelineMarkerVariant, RichTimelineNode, RichTimelineOrder, RichTimelineOrientation, RichTimelinePosition, RowAction, RowActionsConfig, RuleContextRoot, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, RuntimeLinkSnapshot, RuntimeLinkStatus, RuntimePayloadSummary, RuntimeSnapshot, RuntimeSnapshotStatus, RuntimeStateSnapshot, RuntimeTraceEntry, RuntimeTracePhase, SchemaIdParams, SchemaMetaInfo, SchemaViewerContext, SelectionConfig, SerializableFieldMetadata, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateEndpointRef, StateMessagesConfig, SubmitPolicy, SurfaceBinding, SurfaceBindingMode, SurfaceDrawerBridge, SurfaceDrawerOpenContent, SurfaceDrawerOpenOptions, SurfaceDrawerRef, SurfaceDrawerResult, SurfaceDrawerWidthPreset, SurfaceOpenPayload, SurfaceOpenPreset, SurfacePresentation, SurfaceSizeConfig, SyncConfig, SyncResult, TableActionsConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableDetailActionBarAction, TableDetailActionBarNode, TableDetailActionNode, TableDetailAllowedNode, TableDetailBaseNode, TableDetailCardGridCardNode, TableDetailCardGridNode, TableDetailCardNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, TableDetailEmbedBaseNode, TableDetailInlineSchemaDocument, TableDetailLayoutNode, TableDetailListItemAction, TableDetailListItemContextConfig, TableDetailListItemSchema, TableDetailListNode, TableDetailMediaBlockNode, TableDetailRefNode, TableDetailRichListNode, TableDetailRichTextNode, TableDetailSchemaNode, TableDetailTabNode, TableDetailTabsNode, TableDetailTemplateRefNode, TableDetailTimelineItemSchema, TableDetailTimelineNode, TableDetailTimelineStaticItem, TableDetailValueNode, TableExpansionConfig, TableLocalDataModeConfig, 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 };