@praxisui/core 8.0.0-beta.2 → 8.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { InjectionToken, Type, Provider, ErrorHandler, EnvironmentProviders, OnC
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,219 @@ 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 EntityLookupSinglePayloadMode = 'id' | 'entityRef';
90
+ type EntityLookupMultiplePayloadMode = 'ids' | 'entityRefs';
91
+ type EntityLookupPayloadMode = EntityLookupSinglePayloadMode | EntityLookupMultiplePayloadMode;
92
+ interface EntityLookupCollectionMetadata {
93
+ multiple?: boolean;
94
+ maxSelections?: number;
95
+ }
96
+ interface LookupSelectionPolicyMetadata {
97
+ selectablePropertyPath?: string;
98
+ statusPropertyPath?: string;
99
+ allowedStatuses?: string[];
100
+ blockedStatuses?: string[];
101
+ allowRetainInvalidExistingValue?: boolean;
102
+ disabledReasonTemplate?: string;
103
+ validationMessageTemplate?: string;
104
+ }
105
+ interface LookupCapabilitiesMetadata {
106
+ filter?: boolean;
107
+ byIds?: boolean;
108
+ detail?: boolean;
109
+ create?: boolean;
110
+ edit?: boolean;
111
+ navigateToDetail?: boolean;
112
+ multiSelect?: boolean;
113
+ recent?: boolean;
114
+ favorites?: boolean;
115
+ auditSnapshot?: boolean;
116
+ }
117
+ interface LookupDetailMetadata {
118
+ hrefTemplate?: string;
119
+ routeTemplate?: string;
120
+ openDetailMode?: LookupOpenDetailMode;
121
+ }
122
+ interface LookupCreateMetadata {
123
+ hrefTemplate?: string;
124
+ routeTemplate?: string;
125
+ openMode?: LookupOpenDetailMode;
126
+ }
127
+ interface LookupFilterDefinitionMetadata {
128
+ field: string;
129
+ label?: string;
130
+ type: LookupFilterFieldType;
131
+ operators: LookupFilterOperator[];
132
+ defaultOperator?: LookupFilterOperator;
133
+ optionsSource?: string;
134
+ required?: boolean;
135
+ hidden?: boolean;
136
+ }
137
+ interface LookupSortOptionMetadata {
80
138
  key: string;
139
+ field: string;
140
+ direction: 'asc' | 'desc';
141
+ label?: string;
142
+ }
143
+ interface LookupFilteringMetadata {
144
+ availableFilters?: LookupFilterDefinitionMetadata[];
145
+ defaultFilters?: Record<string, unknown[]>;
146
+ sortOptions?: LookupSortOptionMetadata[];
147
+ defaultSort?: string;
148
+ quickFilterFields?: string[];
149
+ searchPlaceholder?: string;
150
+ }
151
+ interface LookupDialogMetadata {
152
+ enabled?: boolean;
153
+ title?: string;
154
+ size?: LookupDialogSize;
155
+ previewPanel?: boolean;
156
+ allowColumnChooser?: boolean;
157
+ allowSavedViews?: boolean;
158
+ resultColumns?: LookupResultColumnMetadata[];
159
+ openActionLabel?: string;
160
+ applyActionLabel?: string;
161
+ cancelActionLabel?: string;
162
+ }
163
+ type LookupResultColumnKind = 'code' | 'label' | 'description' | 'status' | 'disabledReason' | 'custom';
164
+ interface LookupResultColumnMetadata {
165
+ field: string;
166
+ label?: string;
167
+ kind?: LookupResultColumnKind;
168
+ width?: string;
169
+ }
170
+ interface LookupFilterRequest {
171
+ field: string;
172
+ operator: LookupFilterOperator;
173
+ value: unknown;
174
+ }
175
+ interface OptionSourceFilterRequest<ID = string | number, FD = unknown> {
176
+ filter?: FD | null;
177
+ filters?: LookupFilterRequest[];
178
+ search?: string;
179
+ sort?: string;
180
+ includeIds?: ID[];
181
+ }
182
+ interface EntityLookupActionsMetadata {
183
+ showDetail?: boolean;
184
+ showChange?: boolean;
185
+ showCopyCode?: boolean;
186
+ showCopyId?: boolean;
187
+ showCreate?: boolean;
188
+ showClear?: boolean;
189
+ }
190
+ interface EntityLookupDisplayMetadata {
191
+ selectedLayout?: EntityLookupSelectedLayout;
192
+ resultLayout?: EntityLookupResultLayout;
193
+ showCode?: boolean;
194
+ showDescription?: boolean;
195
+ showStatus?: boolean;
196
+ showAvatar?: boolean;
197
+ showBadges?: boolean;
198
+ showDisabledReason?: boolean;
199
+ showResultCount?: boolean;
200
+ statusToneMap?: Record<string, LookupStatusTone>;
201
+ badgeKeys?: string[];
202
+ maxVisibleBadges?: number;
203
+ detailActionLabel?: string;
204
+ changeActionLabel?: string;
205
+ copyCodeActionLabel?: string;
206
+ copyIdActionLabel?: string;
207
+ createActionLabel?: string;
208
+ clearActionLabel?: string;
209
+ actions?: EntityLookupActionsMetadata;
210
+ }
211
+ interface EntityRef<ID = string | number> {
212
+ id: ID;
81
213
  type?: string;
214
+ }
215
+ interface EntityLookupResultExtra {
216
+ code?: string;
217
+ description?: string;
218
+ status?: string;
219
+ statusLabel?: string;
220
+ statusTone?: LookupStatusTone;
221
+ selectable?: boolean;
222
+ disabledReason?: string;
223
+ detailHref?: string;
224
+ detailRoute?: string;
225
+ resourcePath?: string;
226
+ entityKey?: string;
227
+ badges?: string[];
228
+ tags?: string[];
229
+ riskLevel?: string;
230
+ homologationStatus?: string;
231
+ [key: string]: unknown;
232
+ }
233
+ interface EntityLookupResult<ID = string | number> {
234
+ id: ID;
235
+ label: string;
236
+ extra?: EntityLookupResultExtra;
237
+ }
238
+ type EntityLookupResultState = 'selectable' | 'blocked' | 'legacy';
239
+ interface EntityLookupResultStateContext {
240
+ allowRetainInvalidExistingValue?: boolean;
241
+ }
242
+ interface OptionSourceMetadata {
243
+ key: string;
244
+ type?: OptionSourceType;
82
245
  resourcePath?: string;
83
246
  filterField?: string;
84
247
  propertyPath?: string;
85
248
  labelPropertyPath?: string;
86
249
  valuePropertyPath?: string;
87
250
  dependsOn?: string[];
251
+ entityKey?: string;
252
+ codePropertyPath?: string;
253
+ descriptionPropertyPaths?: string[];
254
+ statusPropertyPath?: string;
255
+ disabledPropertyPath?: string;
256
+ disabledReasonPropertyPath?: string;
257
+ searchPropertyPaths?: string[];
258
+ dependencyFilterMap?: Record<string, string>;
259
+ selectionPolicy?: LookupSelectionPolicyMetadata;
260
+ capabilities?: LookupCapabilitiesMetadata;
261
+ detail?: LookupDetailMetadata;
262
+ create?: LookupCreateMetadata;
263
+ filtering?: LookupFilteringMetadata;
88
264
  excludeSelfField?: boolean;
89
- searchMode?: string;
265
+ searchMode?: OptionSourceSearchMode;
90
266
  pageSize?: number;
91
267
  includeIds?: boolean;
92
- }
268
+ cachePolicy?: OptionSourceCachePolicy;
269
+ }
270
+ declare function isEntityLookupResultSelectable(result?: Pick<EntityLookupResult<any>, 'extra'> | null): boolean;
271
+ declare function isEntityLookupPayloadMode(value: unknown): value is EntityLookupPayloadMode;
272
+ declare function isEntityLookupSinglePayloadMode(value: unknown): value is EntityLookupSinglePayloadMode;
273
+ declare function isEntityLookupMultiplePayloadMode(value: unknown): value is EntityLookupMultiplePayloadMode;
274
+ declare function isLookupFilterFieldType(value: unknown): value is LookupFilterFieldType;
275
+ declare function isLookupFilterOperator(value: unknown): value is LookupFilterOperator;
276
+ declare function isLookupDialogSize(value: unknown): value is LookupDialogSize;
277
+ declare function normalizeLookupFilterRequest(filter: LookupFilterRequest): LookupFilterRequest;
278
+ declare function serializeOptionSourceFilterRequest<ID = string | number, FD = unknown>(filter: FD | null | undefined, options?: {
279
+ filters?: LookupFilterRequest[] | null;
280
+ search?: string | null;
281
+ sort?: string | null;
282
+ includeIds?: ID[] | null;
283
+ }): OptionSourceFilterRequest<ID, FD>;
284
+ declare function resolveEntityLookupPayloadMode(payloadMode: unknown, multiple?: boolean): EntityLookupPayloadMode;
285
+ declare function isEntityLookupPayloadModeCompatible(payloadMode: unknown, multiple?: boolean): boolean;
286
+ declare function serializeEntityLookupValueForPayload(value: unknown, options?: {
287
+ payloadMode?: unknown;
288
+ multiple?: boolean;
289
+ entityType?: string;
290
+ }): unknown;
291
+ declare function classifyEntityLookupResult(result?: Pick<EntityLookupResult<any>, 'extra'> | null, context?: EntityLookupResultStateContext): EntityLookupResultState;
93
292
 
94
293
  type RuleContextRoot = 'form' | 'row' | 'computed' | 'meta' | 'source' | 'event' | 'payload' | 'state' | 'context';
95
294
  type PraxisNativeJsonLogicOperator = 'var' | '==' | '===' | '!=' | '!==' | '>' | '>=' | '<' | '<=' | '!' | '!!' | 'and' | 'or' | 'if' | 'in' | 'cat' | 'substr' | '+' | '-' | '*' | '/' | '%' | 'min' | 'max' | 'merge' | 'map' | 'filter' | 'reduce' | 'all' | 'some' | 'none';
@@ -146,12 +345,15 @@ interface RichBlockRuleSet {
146
345
  expr: JsonLogicExpression;
147
346
  }>;
148
347
  }
348
+ type RichCapabilityMode = 'all' | 'any';
149
349
  interface RichBlockBaseNode extends RichBlockRuleSet {
150
350
  id?: string;
151
351
  testId?: string;
152
352
  className?: string;
153
353
  style?: Record<string, string | number>;
154
354
  bindings?: RichBlockContextConfig;
355
+ requiresCapabilities?: string[];
356
+ capabilityMode?: RichCapabilityMode;
155
357
  }
156
358
  interface RichTextNode extends RichBlockBaseNode {
157
359
  type: 'text';
@@ -170,6 +372,14 @@ interface RichImageNode extends RichBlockBaseNode {
170
372
  alt?: string;
171
373
  altExpr?: string;
172
374
  }
375
+ interface RichLinkNode extends RichBlockBaseNode {
376
+ type: 'link';
377
+ label?: string;
378
+ labelExpr?: string;
379
+ href: string;
380
+ target?: '_blank' | '_self';
381
+ rel?: string;
382
+ }
173
383
  interface RichBadgeNode extends RichBlockBaseNode {
174
384
  type: 'badge';
175
385
  label?: string;
@@ -200,7 +410,23 @@ interface RichProgressNode extends RichBlockBaseNode {
200
410
  labelExpr?: string;
201
411
  showPercent?: boolean;
202
412
  }
203
- type RichPresenterNode = RichTextNode | RichIconNode | RichImageNode | RichBadgeNode | RichAvatarNode | RichMetricNode | RichProgressNode;
413
+ interface RichActionRef {
414
+ actionId: string;
415
+ payload?: unknown;
416
+ payloadExpr?: string;
417
+ availabilityExpr?: string;
418
+ confirmMessage?: string;
419
+ }
420
+ interface RichActionButtonNode extends RichBlockBaseNode {
421
+ type: 'actionButton';
422
+ label?: string;
423
+ labelExpr?: string;
424
+ icon?: string;
425
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
426
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
427
+ action: RichActionRef;
428
+ }
429
+ type RichPresenterNode = RichTextNode | RichIconNode | RichImageNode | RichLinkNode | RichBadgeNode | RichAvatarNode | RichMetricNode | RichProgressNode | RichActionButtonNode;
204
430
  interface RichComposeNode extends RichBlockBaseNode {
205
431
  type: 'compose';
206
432
  direction?: 'row' | 'column';
@@ -208,6 +434,39 @@ interface RichComposeNode extends RichBlockBaseNode {
208
434
  wrap?: boolean;
209
435
  items: RichPresenterNode[];
210
436
  }
437
+ type RichCardVariant = 'plain' | 'outlined' | 'elevated' | 'filled' | 'transparent';
438
+ type RichCardTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
439
+ type RichCardSize = 'sm' | 'md' | 'lg';
440
+ type RichCardDensity = 'compact' | 'comfortable';
441
+ type RichCardOrientation = 'vertical' | 'horizontal';
442
+ type RichCardMediaKind = 'image' | 'video' | 'icon' | 'avatar';
443
+ type RichCardMediaPlacement = 'top' | 'leading' | 'trailing' | 'background';
444
+ interface RichCardMedia {
445
+ kind: RichCardMediaKind;
446
+ src?: string;
447
+ srcExpr?: string;
448
+ alt?: string;
449
+ altExpr?: string;
450
+ icon?: string;
451
+ label?: string;
452
+ labelExpr?: string;
453
+ placement?: RichCardMediaPlacement;
454
+ aspectRatio?: string;
455
+ }
456
+ type RichCardInteractionMode = 'none' | 'action' | 'selectable';
457
+ interface RichCardInteraction {
458
+ mode: RichCardInteractionMode;
459
+ action?: RichActionRef;
460
+ selected?: boolean;
461
+ selectedExpr?: string;
462
+ }
463
+ interface RichCardAccessibility {
464
+ role?: 'article' | 'group' | 'button';
465
+ ariaLabel?: string;
466
+ ariaLabelExpr?: string;
467
+ ariaLabelledBy?: string;
468
+ ariaDescribedBy?: string;
469
+ }
211
470
  interface RichCardNode extends RichBlockBaseNode {
212
471
  type: 'card';
213
472
  title?: string;
@@ -215,6 +474,303 @@ interface RichCardNode extends RichBlockBaseNode {
215
474
  subtitle?: string;
216
475
  subtitleExpr?: string;
217
476
  content: Array<RichPresenterNode | RichComposeNode>;
477
+ media?: RichCardMedia;
478
+ headerAction?: RichActionButtonNode;
479
+ header?: RichBlockNode[];
480
+ body?: RichBlockNode[];
481
+ footer?: RichBlockNode[];
482
+ actions?: RichActionButtonNode[];
483
+ aside?: RichBlockNode[];
484
+ variant?: RichCardVariant;
485
+ tone?: RichCardTone;
486
+ size?: RichCardSize;
487
+ density?: RichCardDensity;
488
+ orientation?: RichCardOrientation;
489
+ loading?: boolean;
490
+ loadingExpr?: string;
491
+ active?: boolean;
492
+ activeExpr?: string;
493
+ interaction?: RichCardInteraction;
494
+ accessibility?: RichCardAccessibility;
495
+ }
496
+ interface RichCalloutNode extends RichBlockBaseNode {
497
+ type: 'callout';
498
+ tone?: 'info' | 'success' | 'warning' | 'danger' | 'neutral';
499
+ icon?: string;
500
+ title?: string;
501
+ titleExpr?: string;
502
+ message?: string;
503
+ messageExpr?: string;
504
+ actions?: RichActionButtonNode[];
505
+ }
506
+ type RichCtaGroupLayout = 'stacked' | 'split';
507
+ interface RichCtaGroupNode extends RichBlockBaseNode {
508
+ type: 'ctaGroup';
509
+ title?: string;
510
+ titleExpr?: string;
511
+ subtitle?: string;
512
+ subtitleExpr?: string;
513
+ message?: string;
514
+ messageExpr?: string;
515
+ layout?: RichCtaGroupLayout;
516
+ actions: RichActionButtonNode[];
517
+ }
518
+ interface RichKeyValueItem {
519
+ id?: string;
520
+ label?: string;
521
+ labelExpr?: string;
522
+ value?: string;
523
+ valueExpr?: string;
524
+ badge?: string;
525
+ badgeExpr?: string;
526
+ icon?: string;
527
+ }
528
+ interface RichKeyValueListNode extends RichBlockBaseNode {
529
+ type: 'keyValueList';
530
+ title?: string;
531
+ titleExpr?: string;
532
+ layout?: 'stacked' | 'inline';
533
+ items: RichKeyValueItem[];
534
+ }
535
+ type RichPropertySheetColumns = 1 | 2;
536
+ type RichPropertySheetTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
537
+ interface RichPropertySheetItem {
538
+ id?: string;
539
+ label?: string;
540
+ labelExpr?: string;
541
+ value?: string;
542
+ valueExpr?: string;
543
+ hint?: string;
544
+ hintExpr?: string;
545
+ icon?: string;
546
+ tone?: RichPropertySheetTone;
547
+ }
548
+ interface RichPropertySheetNode extends RichBlockBaseNode {
549
+ type: 'propertySheet';
550
+ title?: string;
551
+ titleExpr?: string;
552
+ columns?: RichPropertySheetColumns;
553
+ items: RichPropertySheetItem[];
554
+ }
555
+ type RichStatGroupLayout = 'stacked' | 'inline' | 'grid';
556
+ type RichStatTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
557
+ interface RichStatItem {
558
+ id?: string;
559
+ label?: string;
560
+ labelExpr?: string;
561
+ value?: string;
562
+ valueExpr?: string;
563
+ caption?: string;
564
+ captionExpr?: string;
565
+ icon?: string;
566
+ tone?: RichStatTone;
567
+ }
568
+ interface RichStatGroupNode extends RichBlockBaseNode {
569
+ type: 'statGroup';
570
+ title?: string;
571
+ titleExpr?: string;
572
+ subtitle?: string;
573
+ subtitleExpr?: string;
574
+ layout?: RichStatGroupLayout;
575
+ items: RichStatItem[];
576
+ }
577
+ type RichTabsAppearance = 'underline' | 'pills';
578
+ interface RichTabsItem extends RichBlockRuleSet {
579
+ id?: string;
580
+ label?: string;
581
+ labelExpr?: string;
582
+ icon?: string;
583
+ badge?: string;
584
+ badgeExpr?: string;
585
+ requiresCapabilities?: string[];
586
+ capabilityMode?: RichCapabilityMode;
587
+ content: RichBlockNode[];
588
+ }
589
+ interface RichTabsNode extends RichBlockBaseNode {
590
+ type: 'tabs';
591
+ title?: string;
592
+ titleExpr?: string;
593
+ subtitle?: string;
594
+ subtitleExpr?: string;
595
+ appearance?: RichTabsAppearance;
596
+ defaultTabId?: string;
597
+ items: RichTabsItem[];
598
+ }
599
+ interface RichEmptyStateNode extends RichBlockBaseNode {
600
+ type: 'emptyState';
601
+ icon?: string;
602
+ title?: string;
603
+ titleExpr?: string;
604
+ message?: string;
605
+ messageExpr?: string;
606
+ actions?: RichActionButtonNode[];
607
+ }
608
+ interface RichRecordSummaryField {
609
+ id?: string;
610
+ label?: string;
611
+ labelExpr?: string;
612
+ value?: string;
613
+ valueExpr?: string;
614
+ }
615
+ interface RichRecordSummaryNode extends RichBlockBaseNode {
616
+ type: 'recordSummary';
617
+ title?: string;
618
+ titleExpr?: string;
619
+ subtitle?: string;
620
+ subtitleExpr?: string;
621
+ meta?: string;
622
+ metaExpr?: string;
623
+ fields: RichRecordSummaryField[];
624
+ actions?: RichActionButtonNode[];
625
+ }
626
+ type RichLookupResultStatus = 'idle' | 'resolved' | 'empty' | 'error';
627
+ interface RichLookupResultField {
628
+ id?: string;
629
+ label?: string;
630
+ labelExpr?: string;
631
+ value?: string;
632
+ valueExpr?: string;
633
+ hint?: string;
634
+ hintExpr?: string;
635
+ }
636
+ interface RichLookupResultNode extends RichBlockBaseNode {
637
+ type: 'lookupResult';
638
+ title?: string;
639
+ titleExpr?: string;
640
+ subtitle?: string;
641
+ subtitleExpr?: string;
642
+ status?: RichLookupResultStatus;
643
+ statusExpr?: string;
644
+ emptyText?: string;
645
+ emptyTextExpr?: string;
646
+ errorText?: string;
647
+ errorTextExpr?: string;
648
+ meta?: string;
649
+ metaExpr?: string;
650
+ fields: RichLookupResultField[];
651
+ actions?: RichActionButtonNode[];
652
+ }
653
+ interface RichLookupCardNode extends RichBlockBaseNode {
654
+ type: 'lookupCard';
655
+ title?: string;
656
+ titleExpr?: string;
657
+ subtitle?: string;
658
+ subtitleExpr?: string;
659
+ icon?: string;
660
+ status?: RichLookupResultStatus;
661
+ statusExpr?: string;
662
+ emptyText?: string;
663
+ emptyTextExpr?: string;
664
+ errorText?: string;
665
+ errorTextExpr?: string;
666
+ meta?: string;
667
+ metaExpr?: string;
668
+ ctaLabel?: string;
669
+ ctaLabelExpr?: string;
670
+ ctaIcon?: string;
671
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
672
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
673
+ action: RichActionRef;
674
+ fields: RichLookupResultField[];
675
+ secondaryActions?: RichActionButtonNode[];
676
+ }
677
+ interface RichRelatedRecordNode extends RichBlockBaseNode {
678
+ type: 'relatedRecord';
679
+ title?: string;
680
+ titleExpr?: string;
681
+ subtitle?: string;
682
+ subtitleExpr?: string;
683
+ relationLabel?: string;
684
+ relationLabelExpr?: string;
685
+ icon?: string;
686
+ meta?: string;
687
+ metaExpr?: string;
688
+ ctaLabel?: string;
689
+ ctaLabelExpr?: string;
690
+ ctaIcon?: string;
691
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
692
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
693
+ action?: RichActionRef;
694
+ fields: RichLookupResultField[];
695
+ secondaryActions?: RichActionButtonNode[];
696
+ }
697
+ interface RichActionCardNode extends RichBlockBaseNode {
698
+ type: 'actionCard';
699
+ title?: string;
700
+ titleExpr?: string;
701
+ subtitle?: string;
702
+ subtitleExpr?: string;
703
+ message?: string;
704
+ messageExpr?: string;
705
+ icon?: string;
706
+ meta?: string;
707
+ metaExpr?: string;
708
+ ctaLabel?: string;
709
+ ctaLabelExpr?: string;
710
+ ctaIcon?: string;
711
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
712
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
713
+ action: RichActionRef;
714
+ secondaryActions?: RichActionButtonNode[];
715
+ }
716
+ interface RichFormLauncherNode extends RichBlockBaseNode {
717
+ type: 'formLauncher';
718
+ title?: string;
719
+ titleExpr?: string;
720
+ subtitle?: string;
721
+ subtitleExpr?: string;
722
+ description?: string;
723
+ descriptionExpr?: string;
724
+ icon?: string;
725
+ formId?: string;
726
+ ctaLabel?: string;
727
+ ctaLabelExpr?: string;
728
+ ctaIcon?: string;
729
+ variant?: 'basic' | 'raised' | 'stroked' | 'flat';
730
+ color?: 'basic' | 'primary' | 'accent' | 'warn';
731
+ action: RichActionRef;
732
+ secondaryActions?: RichActionButtonNode[];
733
+ }
734
+ interface RichCollapsibleCardNode extends RichBlockBaseNode {
735
+ type: 'collapsibleCard';
736
+ title?: string;
737
+ titleExpr?: string;
738
+ subtitle?: string;
739
+ subtitleExpr?: string;
740
+ icon?: string;
741
+ defaultExpanded?: boolean;
742
+ actions?: RichActionButtonNode[];
743
+ content: RichBlockNode[];
744
+ }
745
+ interface RichDisclosureNode extends RichBlockBaseNode {
746
+ type: 'disclosure';
747
+ title?: string;
748
+ titleExpr?: string;
749
+ subtitle?: string;
750
+ subtitleExpr?: string;
751
+ icon?: string;
752
+ appearance?: 'plain' | 'card';
753
+ defaultExpanded?: boolean;
754
+ actions?: RichActionButtonNode[];
755
+ content: RichBlockNode[];
756
+ }
757
+ interface RichAccordionItem {
758
+ id?: string;
759
+ title?: string;
760
+ titleExpr?: string;
761
+ subtitle?: string;
762
+ subtitleExpr?: string;
763
+ icon?: string;
764
+ defaultExpanded?: boolean;
765
+ actions?: RichActionButtonNode[];
766
+ content: RichBlockNode[];
767
+ }
768
+ interface RichAccordionNode extends RichBlockBaseNode {
769
+ type: 'accordion';
770
+ title?: string;
771
+ titleExpr?: string;
772
+ multi?: boolean;
773
+ items: RichAccordionItem[];
218
774
  }
219
775
  interface RichMediaBlockNode extends RichBlockBaseNode {
220
776
  type: 'mediaBlock';
@@ -232,16 +788,37 @@ interface RichTimelineItem {
232
788
  subtitleExpr?: string;
233
789
  meta?: string;
234
790
  metaExpr?: string;
791
+ opposite?: string;
792
+ oppositeExpr?: string;
235
793
  icon?: string;
236
794
  iconExpr?: string;
237
795
  badge?: string;
238
796
  badgeExpr?: string;
239
- }
797
+ markerColor?: RichTimelineColor;
798
+ markerStyle?: RichTimelineMarkerStyle;
799
+ connectorColor?: RichTimelineColor;
800
+ connectorVariant?: RichTimelineConnectorVariant;
801
+ }
802
+ type RichTimelinePosition = 'left' | 'right' | 'alternate' | 'alternate-reverse';
803
+ type RichTimelineOrientation = 'vertical' | 'horizontal';
804
+ type RichTimelineOrder = 'normal' | 'reverse';
805
+ type RichTimelineConnectorVariant = 'solid' | 'dashed' | 'none';
806
+ type RichTimelineMarkerVariant = 'dot' | 'icon' | 'number';
807
+ type RichTimelineMarkerStyle = 'filled' | 'outlined';
808
+ type RichTimelineColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'info' | 'neutral';
240
809
  interface RichTimelineNode extends RichBlockBaseNode {
241
810
  type: 'timeline';
242
811
  title?: string;
243
812
  titleExpr?: string;
244
813
  emptyText?: string;
814
+ orientation?: RichTimelineOrientation;
815
+ order?: RichTimelineOrder;
816
+ position?: RichTimelinePosition;
817
+ connectorVariant?: RichTimelineConnectorVariant;
818
+ connectorColor?: RichTimelineColor;
819
+ markerVariant?: RichTimelineMarkerVariant;
820
+ markerColor?: RichTimelineColor;
821
+ markerStyle?: RichTimelineMarkerStyle;
245
822
  items: RichTimelineItem[];
246
823
  }
247
824
  type CorePresetKind = 'surface-open' | 'widget-page-layout' | 'widget-page-theme' | 'editorial-theme' | 'editorial-compliance' | 'editorial-solution' | 'rich-block';
@@ -271,6 +848,13 @@ interface CorePresetDiscoveryRegistry {
271
848
  }
272
849
  interface RichBlockHostCapabilities {
273
850
  dispatchAction?(actionId: string, payload?: unknown): void | Promise<void>;
851
+ confirmAction?(request: {
852
+ actionId: string;
853
+ message: string;
854
+ payload?: unknown;
855
+ }): boolean | Promise<boolean>;
856
+ isActionAvailable?(actionId: string): boolean;
857
+ hasCapability?(capabilityId: string): boolean;
274
858
  resolveEmbed?(kind: 'component' | 'templateRef' | 'formRef' | 'tableRef' | 'chartRef', ref: string, inputs?: Record<string, unknown>): unknown;
275
859
  resolvePreset?(ref: CorePresetRef): unknown;
276
860
  loadData?(request: {
@@ -283,7 +867,7 @@ interface RichBlockHostCapabilities {
283
867
  onLoadError?: 'hide' | 'error' | 'placeholder';
284
868
  };
285
869
  }
286
- type RichPrimitiveNode = RichPresenterNode | RichComposeNode | RichCardNode | RichMediaBlockNode | RichTimelineNode;
870
+ type RichPrimitiveNode = RichPresenterNode | RichComposeNode | RichCardNode | RichCalloutNode | RichCtaGroupNode | RichKeyValueListNode | RichPropertySheetNode | RichStatGroupNode | RichTabsNode | RichEmptyStateNode | RichRecordSummaryNode | RichLookupResultNode | RichLookupCardNode | RichRelatedRecordNode | RichActionCardNode | RichFormLauncherNode | RichCollapsibleCardNode | RichDisclosureNode | RichAccordionNode | RichMediaBlockNode | RichTimelineNode;
287
871
  type RichBlockNode = RichPrimitiveNode | RichPresetReferenceNode;
288
872
  interface RichContentDocument {
289
873
  kind: 'praxis.rich-content';
@@ -293,6 +877,225 @@ interface RichContentDocument {
293
877
  }
294
878
  declare function createEmptyRichContentDocument(): RichContentDocument;
295
879
 
880
+ type GlobalActionResult = {
881
+ success: boolean;
882
+ data?: any;
883
+ error?: string;
884
+ };
885
+ interface NavigationOpenRoutePayload {
886
+ path: string;
887
+ query?: Record<string, string | number | boolean | null | undefined>;
888
+ fragment?: string;
889
+ replaceUrl?: boolean;
890
+ state?: Record<string, unknown>;
891
+ }
892
+ interface GlobalActionRef {
893
+ actionId: string;
894
+ payload?: any;
895
+ payloadExpr?: string;
896
+ meta?: {
897
+ label?: string;
898
+ icon?: string;
899
+ emitLocal?: boolean;
900
+ confirmation?: any;
901
+ [key: string]: any;
902
+ };
903
+ }
904
+ type GlobalActionContext = {
905
+ sourceId?: string;
906
+ widgetKey?: string;
907
+ output?: string;
908
+ payload?: any;
909
+ pageContext?: Record<string, any> | null;
910
+ meta?: Record<string, any>;
911
+ runtime?: {
912
+ row?: any;
913
+ item?: any;
914
+ selection?: any;
915
+ formData?: any;
916
+ value?: any;
917
+ state?: any;
918
+ };
919
+ };
920
+ type GlobalActionHandler = (payload?: any, context?: GlobalActionContext) => Promise<GlobalActionResult> | GlobalActionResult;
921
+ interface GlobalActionHandlerEntry {
922
+ id: string;
923
+ handler: GlobalActionHandler;
924
+ }
925
+ interface GlobalDialogService {
926
+ alert: (payload: {
927
+ title?: string;
928
+ message?: string;
929
+ okLabel?: string;
930
+ variant?: string;
931
+ }) => Promise<any> | any;
932
+ confirm: (payload: {
933
+ title?: string;
934
+ message?: string;
935
+ confirmLabel?: string;
936
+ cancelLabel?: string;
937
+ type?: 'danger' | 'warning' | 'info';
938
+ }) => Promise<boolean> | boolean;
939
+ prompt: (payload: {
940
+ title?: string;
941
+ message?: string;
942
+ placeholder?: string;
943
+ defaultValue?: string;
944
+ okLabel?: string;
945
+ cancelLabel?: string;
946
+ }) => Promise<any> | any;
947
+ open: (payload: {
948
+ componentId?: string;
949
+ inputs?: any;
950
+ size?: any;
951
+ data?: any;
952
+ }) => Promise<any> | any;
953
+ }
954
+ interface GlobalToastService {
955
+ success: (message: string, opts?: any) => void;
956
+ error: (message: string, opts?: any) => void;
957
+ }
958
+ interface GlobalAnalyticsService {
959
+ track: (eventName: string, payload?: any) => void;
960
+ }
961
+ interface GlobalApiClient {
962
+ get: (url: string, params?: Record<string, any>) => Promise<any> | any;
963
+ post: (url: string, body?: any) => Promise<any> | any;
964
+ patch: (url: string, body?: any) => Promise<any> | any;
965
+ }
966
+ interface GlobalRouteGuardResolver {
967
+ resolve: (guardId: string) => any;
968
+ }
969
+
970
+ type PraxisExportFormat = 'excel' | 'pdf' | 'csv' | 'json' | 'print';
971
+ type PraxisExportScope = 'auto' | 'selected' | 'filtered' | 'currentPage' | 'all';
972
+ type PraxisCollectionComponentType = 'table' | 'list' | string;
973
+ type PraxisCollectionSelectionMode = 'none' | 'single' | 'multiple';
974
+ type PraxisExportSortDirection = 'asc' | 'desc';
975
+ interface PraxisCollectionSelectionState<T = unknown> {
976
+ mode: PraxisCollectionSelectionMode;
977
+ keyField?: string;
978
+ selectedKeys?: Array<string | number>;
979
+ selectedItems?: T[];
980
+ allMatchingSelected?: boolean;
981
+ excludedKeys?: Array<string | number>;
982
+ }
983
+ interface PraxisCollectionExportField<T = unknown> {
984
+ key: string;
985
+ label?: string;
986
+ visible?: boolean;
987
+ exportable?: boolean;
988
+ type?: string;
989
+ valuePath?: string;
990
+ valueGetter?: (item: T) => unknown;
991
+ formatter?: (value: unknown, item: T) => unknown;
992
+ }
993
+ interface PraxisCollectionSortDescriptor {
994
+ field: string;
995
+ direction: PraxisExportSortDirection;
996
+ }
997
+ interface PraxisCollectionPaginationState {
998
+ pageIndex?: number;
999
+ pageNumber?: number;
1000
+ pageSize?: number;
1001
+ totalItems?: number;
1002
+ }
1003
+ interface PraxisCollectionExportSource<T = unknown> {
1004
+ loadedItems?: T[];
1005
+ resourcePath?: string;
1006
+ query?: Record<string, unknown>;
1007
+ filters?: unknown;
1008
+ sort?: PraxisCollectionSortDescriptor[] | unknown;
1009
+ pagination?: PraxisCollectionPaginationState | unknown;
1010
+ }
1011
+ interface PraxisCollectionExportRequest<T = unknown> extends PraxisCollectionExportSource<T> {
1012
+ componentType: PraxisCollectionComponentType;
1013
+ componentId?: string;
1014
+ format: PraxisExportFormat;
1015
+ scope: PraxisExportScope;
1016
+ selection?: PraxisCollectionSelectionState<T>;
1017
+ fields?: PraxisCollectionExportField<T>[];
1018
+ includeHeaders?: boolean;
1019
+ applyFormatting?: boolean;
1020
+ maxRows?: number;
1021
+ fileName?: string;
1022
+ metadata?: Record<string, unknown>;
1023
+ }
1024
+ interface PraxisCollectionExportResult {
1025
+ status: 'completed' | 'deferred';
1026
+ format: PraxisExportFormat;
1027
+ scope: PraxisExportScope;
1028
+ fileName?: string;
1029
+ mimeType?: string;
1030
+ content?: string | Blob;
1031
+ downloadUrl?: string;
1032
+ jobId?: string;
1033
+ rowCount?: number;
1034
+ warnings?: string[];
1035
+ metadata?: Record<string, unknown>;
1036
+ }
1037
+ interface PraxisCollectionExportProvider {
1038
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportResult | Promise<PraxisCollectionExportResult>;
1039
+ }
1040
+ interface PraxisExportSecurityPolicy {
1041
+ escapeFormulaValues: boolean;
1042
+ formulaPrefixes: readonly string[];
1043
+ formulaEscapePrefix: string;
1044
+ }
1045
+ declare const PRAXIS_EXPORT_FORMULA_PREFIXES: readonly ["=", "+", "-", "@", "\t", "\r"];
1046
+ declare const PRAXIS_DEFAULT_EXPORT_SECURITY_POLICY: PraxisExportSecurityPolicy;
1047
+ declare function resolvePraxisExportScope<T>(request: PraxisCollectionExportRequest<T>): Exclude<PraxisExportScope, 'auto'>;
1048
+ declare function resolvePraxisCollectionExportItems<T>(request: PraxisCollectionExportRequest<T>): T[];
1049
+ declare function resolvePraxisExportFields<T>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportField<T>[];
1050
+ declare function readPraxisExportValue(item: unknown, path: string): unknown;
1051
+ declare function escapePraxisExportCell(value: unknown, policy?: PraxisExportSecurityPolicy): string;
1052
+ declare function serializePraxisCollectionToCsv<T>(request: PraxisCollectionExportRequest<T>, policy?: PraxisExportSecurityPolicy): string;
1053
+ declare function serializePraxisCollectionToJson<T>(request: PraxisCollectionExportRequest<T>): string;
1054
+ declare function hasPraxisCollectionExportArtifact(result: PraxisCollectionExportResult | null | undefined): boolean;
1055
+ declare function assertPraxisCollectionExportArtifact(result: PraxisCollectionExportResult | null | undefined): asserts result is PraxisCollectionExportResult;
1056
+
1057
+ type PraxisRuntimeEffectTrigger = 'on-condition-enter' | 'on-value-change' | 'while-true';
1058
+ interface PraxisEffectPolicy {
1059
+ trigger?: PraxisRuntimeEffectTrigger;
1060
+ distinct?: boolean;
1061
+ distinctBy?: string;
1062
+ debounceMs?: number;
1063
+ missingValuePolicy?: 'propagate-undefined' | 'skip' | 'use-default';
1064
+ errorPolicy?: 'diagnostic' | 'drop' | 'halt-page';
1065
+ runOnInitialEvaluation?: boolean;
1066
+ }
1067
+ interface PraxisRuntimeConditionalEffectRule<TEffect = unknown> extends PraxisConditionalRule<JsonLogicExpression | null> {
1068
+ id?: string;
1069
+ effects: TEffect[];
1070
+ policy?: PraxisEffectPolicy;
1071
+ priority?: number;
1072
+ enabled?: boolean;
1073
+ description?: string;
1074
+ }
1075
+ interface PraxisRuntimeGlobalActionEffect {
1076
+ id?: string;
1077
+ kind: 'global-action';
1078
+ globalAction: GlobalActionRef;
1079
+ }
1080
+ interface PraxisConditionalEffectDiagnostic {
1081
+ ruleId?: string;
1082
+ effectId?: string;
1083
+ code: 'missing-effect' | 'invalid-effect' | 'invalid-condition' | 'policy-blocked' | 'execution-failed';
1084
+ details?: string[];
1085
+ }
1086
+ interface PraxisEffectDistinctKeyInput {
1087
+ componentId?: string;
1088
+ ruleId?: string;
1089
+ effectId?: string;
1090
+ actionId?: string;
1091
+ contextKey?: string;
1092
+ distinctBy?: string;
1093
+ value?: unknown;
1094
+ }
1095
+ declare function isPraxisRuntimeGlobalActionEffect(value: unknown): value is PraxisRuntimeGlobalActionEffect;
1096
+ declare function normalizePraxisEffectPolicy(policy: PraxisEffectPolicy | null | undefined): PraxisEffectPolicy;
1097
+ declare function buildPraxisEffectDistinctKey(input: PraxisEffectDistinctKeyInput): string;
1098
+
296
1099
  /**
297
1100
  * Nova arquitetura modular do TableConfig v2.0
298
1101
  * Preparada para crescimento exponencial e alinhada com as 5 abas do editor
@@ -615,7 +1418,9 @@ interface ColumnDefinition {
615
1418
  /** Overrides condicionais do renderer por linha (first‑match wins) */
616
1419
  conditionalRenderers?: Array<{
617
1420
  condition: JsonLogicExpression | null;
618
- renderer: Partial<ColumnDefinition['renderer']>;
1421
+ renderer?: Partial<ColumnDefinition['renderer']>;
1422
+ /** Efeitos visuais canonicos que podem produzir renderer, tooltip ou animacao. */
1423
+ effects?: Array<Record<string, unknown>>;
619
1424
  description?: string;
620
1425
  enabled?: boolean;
621
1426
  }>;
@@ -625,6 +1430,8 @@ interface ColumnDefinition {
625
1430
  */
626
1431
  conditionalStyles?: Array<{
627
1432
  condition: JsonLogicExpression | null;
1433
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
1434
+ effects?: Array<Record<string, unknown>>;
628
1435
  cssClass?: string;
629
1436
  style?: {
630
1437
  [key: string]: string;
@@ -686,6 +1493,8 @@ interface TableBehaviorConfig {
686
1493
  sorting?: SortingConfig;
687
1494
  /** Configurações de filtragem */
688
1495
  filtering?: FilteringConfig;
1496
+ /** Configurações de agrupamento de linhas */
1497
+ grouping?: GroupingConfig;
689
1498
  /** Configurações de seleção de linhas */
690
1499
  selection?: SelectionConfig;
691
1500
  /** Configurações de interação do usuário */
@@ -920,6 +1729,14 @@ interface SortingConfig {
920
1729
  preserveSort?: boolean;
921
1730
  };
922
1731
  }
1732
+ interface GroupingConfig {
1733
+ /** Habilitar agrupamento */
1734
+ enabled: boolean;
1735
+ /** Campos usados para agrupamento */
1736
+ fields: string[];
1737
+ /** Se os grupos iniciam expandidos */
1738
+ expanded?: boolean;
1739
+ }
923
1740
  interface FilteringConfig {
924
1741
  /** Habilitar filtragem */
925
1742
  enabled: boolean;
@@ -1336,6 +2153,10 @@ interface ToolbarAction {
1336
2153
  disabled?: boolean;
1337
2154
  /** Função a executar */
1338
2155
  action: string;
2156
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2157
+ globalAction?: GlobalActionRef;
2158
+ /** Efeitos runtime canonicos executados quando a acao da toolbar e acionada */
2159
+ effects?: PraxisRuntimeGlobalActionEffect[];
1339
2160
  /** Tooltip */
1340
2161
  tooltip?: string;
1341
2162
  /** Tecla de atalho */
@@ -1348,6 +2169,8 @@ interface ToolbarAction {
1348
2169
  order?: number;
1349
2170
  /** Visibilidade condicional */
1350
2171
  visibleWhen?: JsonLogicExpression | null;
2172
+ /** Desabilitacao condicional */
2173
+ disabledWhen?: JsonLogicExpression | null;
1351
2174
  /** Sub-ações (para menus) */
1352
2175
  children?: ToolbarAction[];
1353
2176
  }
@@ -1405,6 +2228,11 @@ interface RowActionsConfig {
1405
2228
  menuIcon?: string;
1406
2229
  /** Cor do botão do menu de ações (overflow) */
1407
2230
  menuButtonColor?: 'basic' | 'primary' | 'accent' | 'warn';
2231
+ /** Descoberta HATEOAS/capabilities para enriquecer ações de linha */
2232
+ discovery?: {
2233
+ /** Habilitar descoberta contextual de actions/capabilities para a linha */
2234
+ enabled?: boolean;
2235
+ };
1408
2236
  /** Configurações do cabeçalho da coluna de ações */
1409
2237
  header?: {
1410
2238
  /** Texto exibido no cabeçalho (ex.: "Ações") */
@@ -1446,6 +2274,10 @@ interface RowAction {
1446
2274
  disabled?: boolean;
1447
2275
  /** Função a executar */
1448
2276
  action: string;
2277
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2278
+ globalAction?: GlobalActionRef;
2279
+ /** Efeitos runtime canonicos executados quando a acao por linha e acionada */
2280
+ effects?: PraxisRuntimeGlobalActionEffect[];
1449
2281
  /** Tooltip */
1450
2282
  tooltip?: string;
1451
2283
  /** Requer confirmação */
@@ -1484,6 +2316,10 @@ interface BulkAction {
1484
2316
  color?: string;
1485
2317
  /** Função a executar */
1486
2318
  action: string;
2319
+ /** Acao global estruturada executada pelo host via GlobalActionService */
2320
+ globalAction?: GlobalActionRef;
2321
+ /** Efeitos runtime canonicos executados quando a acao em lote e acionada */
2322
+ effects?: PraxisRuntimeGlobalActionEffect[];
1487
2323
  /** Requer confirmação */
1488
2324
  requiresConfirmation?: boolean;
1489
2325
  /** Mínimo de itens selecionados */
@@ -1713,14 +2549,12 @@ interface ExportConfig {
1713
2549
  /** Templates personalizados */
1714
2550
  templates?: ExportTemplate[];
1715
2551
  }
1716
- type ExportFormat = 'excel' | 'pdf' | 'csv' | 'json' | 'print';
2552
+ type ExportFormat = PraxisExportFormat;
1717
2553
  interface GeneralExportConfig {
1718
2554
  /** Incluir cabeçalhos */
1719
2555
  includeHeaders: boolean;
1720
- /** Incluir filtros aplicados na exportação */
1721
- respectFilters: boolean;
1722
- /** Incluir apenas linhas selecionadas */
1723
- selectedRowsOnly?: boolean;
2556
+ /** Escopo canônico dos dados exportados */
2557
+ scope: PraxisExportScope;
1724
2558
  /** Máximo de linhas para exportar */
1725
2559
  maxRows?: number;
1726
2560
  /** Nome do arquivo padrão */
@@ -2242,12 +3076,24 @@ interface TableConfigV2 {
2242
3076
  */
2243
3077
  rowConditionalStyles?: Array<{
2244
3078
  condition: JsonLogicExpression | null;
3079
+ /** Efeitos visuais canonicos produzidos pelo editor de regras da Table. */
3080
+ effects?: Array<Record<string, unknown>>;
2245
3081
  cssClass?: string;
2246
3082
  style?: {
2247
3083
  [key: string]: string;
2248
3084
  };
2249
3085
  description?: string;
2250
3086
  }>;
3087
+ /** Regras condicionais de linha para tooltip e animacao derivados de efeitos visuais. */
3088
+ rowConditionalRenderers?: Array<{
3089
+ condition: JsonLogicExpression | null;
3090
+ tooltip?: Record<string, unknown>;
3091
+ animation?: Record<string, unknown>;
3092
+ /** Efeitos visuais canonicos que podem produzir tooltip ou animacao de linha. */
3093
+ effects?: Array<Record<string, unknown>>;
3094
+ description?: string;
3095
+ enabled?: boolean;
3096
+ }>;
2251
3097
  /** Estado serializado do construtor para regras de linha (round‑trip) */
2252
3098
  _rowStyleRulesState?: any;
2253
3099
  }
@@ -2293,6 +3139,7 @@ declare const FieldDataType: {
2293
3139
  readonly FILE: "file";
2294
3140
  readonly URL: "url";
2295
3141
  readonly BOOLEAN: "boolean";
3142
+ readonly ARRAY: "array";
2296
3143
  readonly JSON: "json";
2297
3144
  };
2298
3145
  type FieldDataType = typeof FieldDataType[keyof typeof FieldDataType];
@@ -2343,6 +3190,7 @@ declare const FieldControlType: {
2343
3190
  readonly DRAWER: "drawer";
2344
3191
  readonly DROP_DOWN_TREE: "dropDownTree";
2345
3192
  readonly EMAIL_INPUT: "email";
3193
+ readonly ENTITY_LOOKUP: "entityLookup";
2346
3194
  readonly EXPANSION_PANEL: "expansionPanel";
2347
3195
  readonly FILE_SAVER: "fileSaver";
2348
3196
  readonly FILE_SELECT: "fileSelect";
@@ -2585,6 +3433,52 @@ interface ConditionalValidationRule {
2585
3433
  /** Validators applied when the guard resolves to true. */
2586
3434
  validators: Omit<ValidatorOptions, 'conditionalValidation'>;
2587
3435
  }
3436
+ interface FieldArrayOperations {
3437
+ add?: boolean;
3438
+ edit?: boolean;
3439
+ remove?: boolean;
3440
+ [key: string]: any;
3441
+ }
3442
+ interface FieldArrayCollectionValidation {
3443
+ uniqueBy?: string[];
3444
+ exactlyOne?: {
3445
+ field: string;
3446
+ value?: any;
3447
+ message?: string;
3448
+ };
3449
+ atLeastOne?: {
3450
+ field: string;
3451
+ value?: any;
3452
+ message?: string;
3453
+ };
3454
+ sumEquals?: {
3455
+ field: string;
3456
+ targetField?: string;
3457
+ value?: number;
3458
+ message?: string;
3459
+ };
3460
+ [key: string]: any;
3461
+ }
3462
+ interface FieldArrayConfig {
3463
+ itemType?: 'object';
3464
+ mode?: 'cards';
3465
+ itemSchemaRef?: string;
3466
+ itemIdentityField?: string;
3467
+ minItems?: number;
3468
+ maxItems?: number;
3469
+ addLabel?: string;
3470
+ emptyState?: string;
3471
+ itemTitleTemplate?: string;
3472
+ operations?: FieldArrayOperations;
3473
+ deleteMode?: 'removeFromPayload';
3474
+ itemSchema?: {
3475
+ fields?: FieldMetadata[];
3476
+ properties?: Record<string, any>;
3477
+ [key: string]: any;
3478
+ };
3479
+ collectionValidation?: FieldArrayCollectionValidation;
3480
+ [key: string]: any;
3481
+ }
2588
3482
  /**
2589
3483
  * Configuration for field options in selection components.
2590
3484
  *
@@ -2697,6 +3591,10 @@ interface FieldMetadata extends ComponentMetadata {
2697
3591
  controlType: FieldControlType;
2698
3592
  /** Data type for processing and validation */
2699
3593
  dataType?: FieldDataType;
3594
+ /** Canonical metadata for editable collection fields (`controlType: "array"`). */
3595
+ array?: FieldArrayConfig;
3596
+ /** Optional top-level alias for collection validators mirrored into `array.collectionValidation`. */
3597
+ collectionValidation?: FieldArrayCollectionValidation;
2700
3598
  /** Display order in form */
2701
3599
  order?: number;
2702
3600
  /** Logical grouping of related fields */
@@ -2967,6 +3865,8 @@ interface FieldDefinition {
2967
3865
  layout?: 'horizontal' | 'vertical';
2968
3866
  disabled?: boolean;
2969
3867
  readOnly?: boolean;
3868
+ array?: FieldArrayConfig;
3869
+ collectionValidation?: FieldArrayCollectionValidation;
2970
3870
  multiple?: boolean;
2971
3871
  editable?: boolean;
2972
3872
  validationMode?: string;
@@ -3144,13 +4044,37 @@ declare function buildHeaders(entry: ApiUrlEntry): HttpHeaders | undefined;
3144
4044
  * // fields: [{ name: 'email', label: 'E-mail', type: 'string', controlType: 'input', required: true, email: true }]
3145
4045
  */
3146
4046
  declare class SchemaNormalizerService {
4047
+ private clonePlain;
4048
+ private resolveSchemaRef;
4049
+ private normalizeObjectSchema;
4050
+ private normalizeArrayConfig;
4051
+ private finalizeArrayConfig;
4052
+ private normalizeInlineItemSchemaFields;
4053
+ private normalizeInlineItemSchemaField;
3147
4054
  /** Convert value to boolean. Accepts boolean, string or number. */
3148
4055
  private parseBoolean;
3149
4056
  /** Ensure an array of strings from various inputs. */
3150
4057
  private parseStringArray;
4058
+ private parseNonBlankStringArray;
4059
+ private parseStringRecord;
4060
+ private parseSelectionPolicy;
4061
+ private parseLookupCapabilities;
4062
+ private parseLookupDetail;
4063
+ private parseLookupCreate;
4064
+ private parseLookupFilterOperatorArray;
4065
+ private parseLookupSortDirection;
4066
+ private parseLookupDialogSize;
4067
+ private parseLookupDialog;
4068
+ private parseLookupResultColumn;
4069
+ private parseLookupFilterDefinition;
4070
+ private parseDefaultFilters;
4071
+ private parseLookupFiltering;
3151
4072
  /** Parse option arrays into `{ key, value }` objects. */
3152
4073
  private parseOptions;
3153
4074
  private parseOptionSource;
4075
+ private parseOptionSourceType;
4076
+ private parseOptionSourceSearchMode;
4077
+ private parseLookupOpenDetailMode;
3154
4078
  private parseValuePresentation;
3155
4079
  /**
3156
4080
  * Converte string/Function em função real.
@@ -3185,6 +4109,7 @@ declare class SchemaNormalizerService {
3185
4109
  * @returns FieldDefinition[] prontos para mapeamento/uso no restante do sistema.
3186
4110
  */
3187
4111
  normalizeSchema(schema: any): FieldDefinition[];
4112
+ private normalizeSchemaWithRoot;
3188
4113
  private resolveFieldType;
3189
4114
  static ɵfac: i0.ɵɵFactoryDeclaration<SchemaNormalizerService, never>;
3190
4115
  static ɵprov: i0.ɵɵInjectableDeclaration<SchemaNormalizerService>;
@@ -3541,6 +4466,8 @@ interface OptionSourceRequestOptions<ID = string | number> extends CrudOperation
3541
4466
  includeIds?: ID[];
3542
4467
  observeVersionHeader?: boolean;
3543
4468
  search?: string;
4469
+ sortKey?: string;
4470
+ filters?: LookupFilterRequest[];
3544
4471
  }
3545
4472
  interface BatchDeleteProgress<ID = string | number> {
3546
4473
  id: ID;
@@ -3632,10 +4559,10 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3632
4559
  * Fluxo de schemas (grid e filtro)
3633
4560
  *
3634
4561
  * - 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
4562
+ * 1) getSchema() deriva a superfície canônica de busca/listagem do recurso
4563
+ * 2) Em seguida chama /schemas/filtered com query params:
4564
+ * - path: {basePath}/filter (ex.: /api/human-resources/funcionarios/filter)
4565
+ * - operation: post
3639
4566
  * - schemaType: response
3640
4567
  * 3) O serviço normaliza o schema retornado (x-ui) para montagem de grids e formulários.
3641
4568
  *
@@ -3653,8 +4580,8 @@ declare class GenericCrudService<T, ID extends string | number = string | number
3653
4580
  * Obtém o schema (metadados) do recurso, útil para construção dinâmica de grids e formulários.
3654
4581
  *
3655
4582
  * Fluxo:
3656
- * - Faz GET {resource}/schemas; o backend redireciona (302) para /schemas/filtered
3657
- * com path={basePath}/all, operation=get, schemaType=response.
4583
+ * - Chama /schemas/filtered para a superfície canônica de busca/listagem:
4584
+ * path={basePath}/filter, operation=post, schemaType=response.
3658
4585
  * - O resultado é normalizado e usado para montar colunas de grid e formulários (x-ui).
3659
4586
  *
3660
4587
  * Exemplo:
@@ -4254,74 +5181,6 @@ declare class ApiConfigStorage implements AsyncConfigStorage {
4254
5181
  static ɵprov: i0.ɵɵInjectableDeclaration<ApiConfigStorage>;
4255
5182
  }
4256
5183
 
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
5184
  declare class GlobalActionService {
4326
5185
  private readonly handlers;
4327
5186
  private readonly router;
@@ -4339,9 +5198,16 @@ declare class GlobalActionService {
4339
5198
  register(id: string, handler: GlobalActionHandler): void;
4340
5199
  has(id: string): boolean;
4341
5200
  execute(id: string, payload?: any, context?: GlobalActionContext): Promise<GlobalActionResult>;
5201
+ executeRef(ref: GlobalActionRef | null | undefined, context?: GlobalActionContext): Promise<GlobalActionResult>;
5202
+ private resolvePayloadExpr;
5203
+ private lookupPath;
4342
5204
  private registerBuiltins;
4343
5205
  private handleApi;
5206
+ private handleNavigationOpenRoute;
4344
5207
  private handleRouteRegister;
5208
+ private buildNavigationUrl;
5209
+ private buildQueryString;
5210
+ private buildFragment;
4345
5211
  static ɵfac: i0.ɵɵFactoryDeclaration<GlobalActionService, never>;
4346
5212
  static ɵprov: i0.ɵɵInjectableDeclaration<GlobalActionService>;
4347
5213
  }
@@ -4397,12 +5263,15 @@ interface SurfaceOpenPayload {
4397
5263
 
4398
5264
  declare class SurfaceBindingRuntimeService {
4399
5265
  resolveWidget(widget: WidgetDefinition, bindings: SurfaceBinding[] | undefined, actionPayload?: any, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): WidgetDefinition;
5266
+ resolveSurfacePayload<T extends SurfaceOpenPayload>(surfacePayload: T, actionContext?: GlobalActionContext, explicitContext?: Record<string, any>): T;
4400
5267
  extractByPath(obj: any, path?: string): any;
4401
- resolveTemplate(node: any, context: any): any;
5268
+ resolveTemplate(node: any, context: any, key?: string): any;
5269
+ private isDeferredTemplateExpressionKey;
4402
5270
  setValueAtPath<T extends object>(obj: T, rawPath: string, value: any): T;
4403
5271
  private buildContext;
4404
5272
  private resolveBindingValue;
4405
5273
  private normalizeTargetPath;
5274
+ private normalizeWidgetTargetPath;
4406
5275
  private tokenizePath;
4407
5276
  private clone;
4408
5277
  static ɵfac: i0.ɵɵFactoryDeclaration<SurfaceBindingRuntimeService, never>;
@@ -5188,6 +6057,19 @@ interface MaterialSelectMetadata extends FieldMetadata {
5188
6057
  /** Inline/runtime compatibility for selected option icon color. */
5189
6058
  optionSelectedIconColor?: string;
5190
6059
  }
6060
+ interface MaterialEntityLookupMetadata extends Omit<MaterialSelectMetadata, 'controlType' | 'multiple' | 'maxSelections'>, EntityLookupDisplayMetadata, EntityLookupCollectionMetadata {
6061
+ controlType: typeof FieldControlType.ENTITY_LOOKUP | typeof FieldControlType.INLINE_ENTITY_LOOKUP;
6062
+ lookupIdKey?: string;
6063
+ lookupLabelKey?: string;
6064
+ lookupSubtitleKey?: string;
6065
+ lookupSeparator?: string;
6066
+ payloadMode?: EntityLookupPayloadMode;
6067
+ dialog?: LookupDialogMetadata;
6068
+ searchPlaceholder?: string;
6069
+ resetLabel?: string;
6070
+ ariaLabel?: string;
6071
+ dependencyLoadOnChange?: 'respectLoadOn' | 'immediate' | 'manual';
6072
+ }
5191
6073
  /**
5192
6074
  * Metadata for Material Autocomplete components.
5193
6075
  *
@@ -5241,9 +6123,28 @@ interface MaterialButtonToggleMetadata extends FieldMetadata {
5241
6123
  /** Toggle button options */
5242
6124
  toggleOptions?: Array<{
5243
6125
  value: any;
5244
- text: string;
6126
+ text?: string;
5245
6127
  label?: string;
6128
+ disabled?: boolean;
5246
6129
  }>;
6130
+ /** Allow multiple selected toggle buttons */
6131
+ multiple?: boolean;
6132
+ /** Maximum selected options when multiple is enabled */
6133
+ maxSelections?: number;
6134
+ /** Button toggle appearance */
6135
+ appearance?: 'legacy' | 'standard';
6136
+ /** Theme color */
6137
+ color?: ThemePalette;
6138
+ /** Backend resource for dynamic option loading */
6139
+ resourcePath?: string;
6140
+ /** Canonical metadata-driven source for derived options */
6141
+ optionSource?: OptionSourceMetadata;
6142
+ /** Additional filter criteria for backend requests */
6143
+ filterCriteria?: Record<string, any>;
6144
+ /** Key for option label when loading from backend */
6145
+ optionLabelKey?: string;
6146
+ /** Key for option value when loading from backend */
6147
+ optionValueKey?: string;
5247
6148
  }
5248
6149
  /**
5249
6150
  * Metadata for Material Transfer List component.
@@ -5420,6 +6321,8 @@ interface MaterialDatepickerMetadata extends FieldMetadata {
5420
6321
  controlType: typeof FieldControlType.DATE_PICKER;
5421
6322
  /** Date format for display */
5422
6323
  dateFormat?: string;
6324
+ /** Allows manual typing in the input. Set false to force calendar selection. */
6325
+ manualInput?: boolean;
5423
6326
  /** Minimum selectable date */
5424
6327
  minDate?: Date | string;
5425
6328
  /** Maximum selectable date */
@@ -5595,6 +6498,21 @@ interface InlineRangeDistributionConfig {
5595
6498
  bins?: Array<number | InlineRangeDistributionBin> | string;
5596
6499
  /** Optional normalization ceiling; defaults to the highest bin value. */
5597
6500
  maxValue?: number;
6501
+ /**
6502
+ * Color strategy for histogram bars.
6503
+ * `selection` highlights bars covered by the current slider value/range using theme tokens.
6504
+ * `gradient` applies a configurable gradient to the selected bars.
6505
+ * `theme` keeps all bars on the neutral themed baseline.
6506
+ */
6507
+ colorMode?: 'theme' | 'selection' | 'gradient';
6508
+ /** Optional selected bar color; defaults to the app theme primary color. */
6509
+ selectedColor?: string;
6510
+ /** Optional unselected bar color; defaults to the app theme outline variant color. */
6511
+ unselectedColor?: string;
6512
+ /** Optional first color stop for selected gradient bars. */
6513
+ gradientStartColor?: string;
6514
+ /** Optional final color stop for selected gradient bars. */
6515
+ gradientEndColor?: string;
5598
6516
  /** Optional minimum visible ratio in the [0..1] range for non-zero bars. */
5599
6517
  minBarRatio?: number;
5600
6518
  /** Alias for `minBarRatio`. */
@@ -5638,6 +6556,33 @@ interface RangeSliderQuickPresetLabels {
5638
6556
  fromMid?: string;
5639
6557
  full?: string;
5640
6558
  }
6559
+ interface RangeSliderMark {
6560
+ /** Numeric value represented by this mark. */
6561
+ value: number;
6562
+ /** Optional label rendered next to the mark. */
6563
+ label?: string;
6564
+ /** Optional semantic tone for platform styling. */
6565
+ tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6566
+ /** Optional disabled hint for authoring and future restricted-value mode. */
6567
+ disabled?: boolean;
6568
+ }
6569
+ type RangeSliderSemanticTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';
6570
+ interface RangeSliderSemanticBand {
6571
+ /** Inclusive start value for the band. */
6572
+ start: number;
6573
+ /** Inclusive end value for the band. */
6574
+ end: number;
6575
+ /** Optional label for accessibility, reports and authoring surfaces. */
6576
+ label?: string;
6577
+ /** Semantic tone used by the platform theme. */
6578
+ tone?: RangeSliderSemanticTone;
6579
+ /** Optional explicit color for specialized domain palettes. */
6580
+ color?: string;
6581
+ }
6582
+ type RangeSliderTrackMode = 'normal' | 'inverted' | 'none';
6583
+ type RangeSliderValueLabelDisplay = 'off' | 'auto' | 'on';
6584
+ type RangeSliderScalePreset = 'linear' | 'percent' | 'log' | 'pow2';
6585
+ type RangeSliderValueFormat = 'number' | 'percent' | 'currency' | 'compact' | 'storage';
5641
6586
  interface MaterialRangeSliderMetadata extends FieldMetadata {
5642
6587
  controlType: typeof FieldControlType.RANGE_SLIDER;
5643
6588
  /** Slider mode */
@@ -5646,18 +6591,36 @@ interface MaterialRangeSliderMetadata extends FieldMetadata {
5646
6591
  min?: number;
5647
6592
  /** Maximum allowed value */
5648
6593
  max?: number;
5649
- /** Step for value increments */
5650
- step?: number;
6594
+ /** Step for value increments. `null` is reserved for mark-restricted values. */
6595
+ step?: number | null;
5651
6596
  /** Whether to show the thumb label */
5652
6597
  thumbLabel?: boolean;
6598
+ /** Controls when the value label is displayed. */
6599
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
6600
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
6601
+ valueLabelFormat?: RangeSliderValueFormat | string;
5653
6602
  /** Tick configuration */
5654
6603
  showTicks?: boolean | 'auto';
6604
+ /** Rich mark labels along the slider track. */
6605
+ marks?: boolean | RangeSliderMark[] | string;
6606
+ /** Semantic bands rendered behind the slider track for domain meaning. */
6607
+ semanticBands?: RangeSliderSemanticBand[] | string;
6608
+ /** Track presentation mode. */
6609
+ track?: RangeSliderTrackMode;
6610
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
6611
+ shiftStep?: number;
6612
+ /** Visual density hint. */
6613
+ size?: 'small' | 'medium' | 'large';
5655
6614
  /** Use discrete slider */
5656
6615
  discrete?: boolean;
5657
6616
  /** Display vertically */
5658
6617
  vertical?: boolean;
5659
6618
  /** Invert slider direction */
5660
6619
  invert?: boolean;
6620
+ /** Prevent active thumb swapping when range thumbs overlap. */
6621
+ disableThumbSwap?: boolean;
6622
+ /** Declarative scale preset used to format displayed values. */
6623
+ scale?: RangeSliderScalePreset | string;
5661
6624
  /** Minimum distance between start and end */
5662
6625
  minDistance?: number;
5663
6626
  /** Maximum distance between start and end */
@@ -5835,6 +6798,8 @@ interface MaterialButtonMetadata extends FieldMetadata {
5835
6798
  buttonIconPosition?: 'before' | 'after';
5836
6799
  /** Button action/command */
5837
6800
  action?: string;
6801
+ /** Structured global action executed through GlobalActionService. */
6802
+ globalAction?: GlobalActionRef;
5838
6803
  /** Disable button ripple effect */
5839
6804
  disableRipple?: boolean;
5840
6805
  /** Confirmation message for destructive actions */
@@ -5882,35 +6847,55 @@ interface MaterialSliderMetadata extends FieldMetadata {
5882
6847
  min?: number;
5883
6848
  /** Maximum value */
5884
6849
  max?: number;
5885
- /** Step increment */
5886
- step?: number;
6850
+ /** Step increment. `null` is reserved for mark-restricted values. */
6851
+ step?: number | null;
5887
6852
  /** Show value label */
5888
6853
  thumbLabel?: boolean;
6854
+ /** Controls when the value label is displayed. */
6855
+ valueLabelDisplay?: RangeSliderValueLabelDisplay;
6856
+ /** Declarative formatter for value labels when functions cannot come from metadata. */
6857
+ valueLabelFormat?: RangeSliderValueFormat | string;
6858
+ /** Rich mark labels along the slider track. */
6859
+ marks?: boolean | RangeSliderMark[] | string;
6860
+ /** Semantic bands rendered behind the slider track for domain meaning. */
6861
+ semanticBands?: RangeSliderSemanticBand[] | string;
6862
+ /**
6863
+ * Optional mini histogram/bars rendered above the slider track.
6864
+ * Accepts array shorthand, object config, or JSON string for editor compatibility.
6865
+ */
6866
+ inlineDistribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
6867
+ /**
6868
+ * Alias accepted by slider components for compact payloads.
6869
+ */
6870
+ distribution?: InlineRangeDistributionConfig | Array<number | InlineRangeDistributionBin> | string;
6871
+ /** Track presentation mode. */
6872
+ track?: RangeSliderTrackMode;
6873
+ /** Keyboard acceleration step for Page Up/Down or Shift+Arrow semantics. */
6874
+ shiftStep?: number;
6875
+ /** Visual density hint. */
6876
+ size?: 'small' | 'medium' | 'large';
5889
6877
  /** Slider orientation */
5890
6878
  vertical?: boolean;
5891
6879
  /** Slider color theme */
5892
6880
  color?: ThemePalette;
5893
6881
  /** Display tick marks along the slider track */
5894
- showTicks?: boolean;
6882
+ showTicks?: boolean | 'auto';
5895
6883
  /** Invert slider direction */
5896
6884
  invert?: boolean;
6885
+ /** Declarative scale preset used to format displayed values. */
6886
+ scale?: RangeSliderScalePreset | string;
5897
6887
  }
5898
6888
  /**
5899
6889
  * Specialized metadata for Material Rating components.
5900
6890
  *
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
6891
  * Handles star rating or numeric rating selection.
5907
6892
  */
5908
6893
  interface MaterialRatingMetadata extends FieldMetadata {
5909
6894
  controlType: typeof FieldControlType.RATING;
5910
6895
  /** Maximum rating value */
5911
6896
  max?: number;
5912
- /** Rating precision (0.1, 0.5, 1) */
5913
- precision?: number;
6897
+ /** Rating precision (`0.5` or `half` enables half-step interaction) */
6898
+ precision?: number | 'item' | 'half';
5914
6899
  /** Rating icon (default: star) */
5915
6900
  icon?: string;
5916
6901
  /** Empty icon (default: star_border) */
@@ -6581,6 +7566,18 @@ declare class DynamicFormService {
6581
7566
  * Indica se o campo deve ser tratado como seleção múltipla (valor padrão []).
6582
7567
  */
6583
7568
  private isMultipleField;
7569
+ private isArrayMetadata;
7570
+ private getArrayConfig;
7571
+ private getArrayItemFields;
7572
+ createArrayItemGroupFromMetadata(meta: FieldMetadata, value?: Record<string, any>): FormGroup;
7573
+ private ensureArrayItemIdentityControl;
7574
+ private createArrayControlFromMetadata;
7575
+ private buildArrayValidators;
7576
+ private buildArrayCountValidator;
7577
+ private uniqueKeyForItem;
7578
+ private normalizeUniqueValue;
7579
+ private arrayValues;
7580
+ private readPath;
6584
7581
  /**
6585
7582
  * Envelopa um ValidatorFn Angular para padronizar a saída de erro com mensagem.
6586
7583
  * Útil quando deseja-se forçar uma mensagem customizada em um validador nativo.
@@ -6603,7 +7600,7 @@ declare class DynamicFormService {
6603
7600
  * - Aplica validadores específicos de UI quando aplicável.
6604
7601
  * - Valor inicial: [] para campos múltiplos quando ausente; caso contrário defaultValue.
6605
7602
  */
6606
- createControlFromField(field: FieldDefinition): FormControl;
7603
+ createControlFromField(field: FieldDefinition): AbstractControl;
6607
7604
  /**
6608
7605
  * Cria um FormControl a partir de FieldMetadata.
6609
7606
  * - Aplica ValidatorOptions (normalizados) e validadores de UI por tipo.
@@ -6615,6 +7612,11 @@ declare class DynamicFormService {
6615
7612
  defaultValue?: any;
6616
7613
  disabled?: boolean;
6617
7614
  }): FormControl;
7615
+ createAbstractControlFromMetadata(meta: FieldMetadata & {
7616
+ validators?: ValidatorOptions;
7617
+ defaultValue?: any;
7618
+ disabled?: boolean;
7619
+ }): AbstractControl;
6618
7620
  /**
6619
7621
  * Reconfigura um controle existente a partir de FieldDefinition.
6620
7622
  * Atualiza: validators, asyncValidators, estado enabled/disabled e defaultValue (com suporte a múltiplos).
@@ -6814,8 +7816,27 @@ interface ComponentDocMeta {
6814
7816
  /** Optional title shown by hosts when opening the editor. */
6815
7817
  title?: string;
6816
7818
  };
7819
+ /** Optional canonical AI authoring manifest reference published by the component owner. */
7820
+ authoringManifestRef?: {
7821
+ /** Component id used by the manifest registry/backend. */
7822
+ componentId: string;
7823
+ /** Optional manifest version when the owner can publish it statically. */
7824
+ version?: string;
7825
+ /** Stable source symbol, registry id, or manifest module name. */
7826
+ source?: string;
7827
+ /** Optional content hash when available. */
7828
+ hash?: string;
7829
+ };
6817
7830
  /** Tags or categories for search */
6818
7831
  tags?: string[];
7832
+ /** Optional insertion presets exposed by visual builders without changing the component contract. */
7833
+ insertionPresets?: Array<{
7834
+ id: string;
7835
+ label: string;
7836
+ description?: string;
7837
+ icon?: string;
7838
+ inputs?: Record<string, unknown>;
7839
+ }>;
6819
7840
  /** Source library for the component */
6820
7841
  lib?: string;
6821
7842
  /** Optional layout hints for grid placement */
@@ -6918,6 +7939,7 @@ declare class PraxisI18nService {
6918
7939
  getLocale(): string;
6919
7940
  getFallbackLocale(): string;
6920
7941
  t(key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
7942
+ tForLocale(locale: string, key: string, params?: PraxisTranslationParams, fallback?: string, namespace?: string): string;
6921
7943
  resolve(message: PraxisTextValue | null | undefined, fallback?: string, namespace?: string): string;
6922
7944
  formatDate(value: Date | string | number, options?: Intl.DateTimeFormatOptions): string;
6923
7945
  formatNumber(value: number, options?: Intl.NumberFormatOptions): string;
@@ -7027,6 +8049,51 @@ declare class TelemetryService {
7027
8049
  static ɵprov: i0.ɵɵInjectableDeclaration<TelemetryService>;
7028
8050
  }
7029
8051
 
8052
+ declare class PraxisCollectionExportService {
8053
+ private readonly provider;
8054
+ private readonly securityPolicy;
8055
+ constructor(provider: PraxisCollectionExportProvider | null, securityPolicy: PraxisExportSecurityPolicy);
8056
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8057
+ exportLocalCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): PraxisCollectionExportResult;
8058
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisCollectionExportService, [{ optional: true; }, null]>;
8059
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisCollectionExportService>;
8060
+ }
8061
+
8062
+ interface PraxisCollectionExportHttpProviderOptions {
8063
+ endpoint?: string | ((request: PraxisCollectionExportRequest<any>) => string);
8064
+ apiUrlKey?: string;
8065
+ headers?: Record<string, string | string[]>;
8066
+ withCredentials?: boolean;
8067
+ includeLoadedItems?: boolean;
8068
+ }
8069
+ declare const PRAXIS_COLLECTION_EXPORT_PROVIDER: InjectionToken<PraxisCollectionExportProvider>;
8070
+ declare const PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS: InjectionToken<PraxisCollectionExportHttpProviderOptions>;
8071
+ declare const PRAXIS_EXPORT_SECURITY_POLICY: InjectionToken<PraxisExportSecurityPolicy>;
8072
+ declare function providePraxisCollectionExportProvider(provider: PraxisCollectionExportProvider): Provider;
8073
+
8074
+ declare class PraxisHttpCollectionExportProvider implements PraxisCollectionExportProvider {
8075
+ private readonly http;
8076
+ private readonly apiUrlConfig;
8077
+ private readonly options;
8078
+ constructor(http: HttpClient, apiUrlConfig: ApiUrlConfig | null, options: PraxisCollectionExportHttpProviderOptions | null);
8079
+ exportCollection<T = unknown>(request: PraxisCollectionExportRequest<T>): Promise<PraxisCollectionExportResult>;
8080
+ private resolveEndpoint;
8081
+ private resolveUrl;
8082
+ private normalizePathForBase;
8083
+ private resolveApiBaseUrl;
8084
+ private buildHeaders;
8085
+ private buildRequestBody;
8086
+ private normalizeResponse;
8087
+ private normalizeExportHeaders;
8088
+ private readNumberHeader;
8089
+ private readBooleanHeader;
8090
+ private readWarningHeader;
8091
+ private mergeWarnings;
8092
+ private resolveFileName;
8093
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisHttpCollectionExportProvider, [null, { optional: true; }, { optional: true; }]>;
8094
+ static ɵprov: i0.ɵɵInjectableDeclaration<PraxisHttpCollectionExportProvider>;
8095
+ }
8096
+
7030
8097
  type FieldSelectorRegistryMap = Record<string, FieldControlType>;
7031
8098
  declare const FIELD_SELECTOR_REGISTRY_BASE: InjectionToken<FieldSelectorRegistryMap>;
7032
8099
  declare const FIELD_SELECTOR_REGISTRY_OVERRIDES: InjectionToken<FieldSelectorRegistryMap[]>;
@@ -7132,6 +8199,7 @@ declare class PraxisLayerScaleStyleService {
7132
8199
  * abertura, enquanto `resourcePath`, `path`, `method` e `schemaUrl` seguem responsaveis pelo
7133
8200
  * comportamento operacional.
7134
8201
  */
8202
+
7135
8203
  interface ResourceAvailabilityDecision {
7136
8204
  allowed: boolean;
7137
8205
  reason?: string | null;
@@ -7142,6 +8210,8 @@ type ResourceSurfaceScope = 'COLLECTION' | 'ITEM';
7142
8210
  type ResourceActionScope = 'COLLECTION' | 'ITEM';
7143
8211
  type ResourceDiscoveryRel = 'surfaces' | 'actions' | 'capabilities';
7144
8212
  type ResourceCrudOperationId = 'create' | 'view' | 'edit' | 'delete';
8213
+ type ResourceCapabilityOperationId = ResourceCrudOperationId | 'export' | string;
8214
+ type ResourceExportMaxRows = Partial<Record<PraxisExportFormat, number>> & Record<string, number | undefined>;
7145
8215
  interface ResourceSurfaceCatalogItem {
7146
8216
  id: string;
7147
8217
  resourceKey: string;
@@ -7192,20 +8262,25 @@ interface ResourceActionCatalogResponse {
7192
8262
  actions: ResourceActionCatalogItem[];
7193
8263
  }
7194
8264
  interface ResourceCapabilityOperation {
7195
- id: ResourceCrudOperationId;
8265
+ id: ResourceCapabilityOperationId;
7196
8266
  supported: boolean;
7197
8267
  scope: ResourceSurfaceScope;
7198
8268
  preferredMethod?: string | null;
7199
8269
  preferredRel?: string | null;
7200
8270
  availability?: ResourceAvailabilityDecision | null;
8271
+ formats?: PraxisExportFormat[];
8272
+ scopes?: PraxisExportScope[];
8273
+ maxRows?: ResourceExportMaxRows;
8274
+ async?: boolean | null;
7201
8275
  }
8276
+ type ResourceCapabilityOperations = Partial<Record<ResourceCrudOperationId | 'export', ResourceCapabilityOperation>> & Record<string, ResourceCapabilityOperation | undefined>;
7202
8277
  interface ResourceCapabilitySnapshot {
7203
8278
  resourceKey: string;
7204
8279
  resourcePath: string;
7205
8280
  group?: string | null;
7206
8281
  resourceId?: string | number | null;
7207
8282
  canonicalOperations: Record<string, boolean>;
7208
- operations?: Partial<Record<ResourceCrudOperationId, ResourceCapabilityOperation>>;
8283
+ operations?: ResourceCapabilityOperations;
7209
8284
  surfaces: ResourceSurfaceCatalogItem[];
7210
8285
  actions: ResourceActionCatalogItem[];
7211
8286
  }
@@ -7245,6 +8320,466 @@ declare class ResourceDiscoveryService {
7245
8320
  static ɵprov: i0.ɵɵInjectableDeclaration<ResourceDiscoveryService>;
7246
8321
  }
7247
8322
 
8323
+ declare const DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION: "praxis.ai.context-hints.domain-catalog/v0.2";
8324
+ interface DomainCatalogRelease {
8325
+ releaseKey: string;
8326
+ serviceKey?: string;
8327
+ status?: string;
8328
+ version?: string;
8329
+ createdAt?: string;
8330
+ resourceKey?: string;
8331
+ [key: string]: unknown;
8332
+ }
8333
+ interface DomainCatalogGovernancePayload {
8334
+ classification?: string;
8335
+ dataCategory?: string;
8336
+ complianceTags?: string[];
8337
+ aiUsage?: {
8338
+ visibility?: string;
8339
+ purpose?: string;
8340
+ restrictions?: string[];
8341
+ [key: string]: unknown;
8342
+ };
8343
+ [key: string]: unknown;
8344
+ }
8345
+ interface DomainCatalogItem<TPayload = Record<string, unknown>> {
8346
+ itemKey: string;
8347
+ type?: string;
8348
+ payload?: TPayload;
8349
+ [key: string]: unknown;
8350
+ }
8351
+ interface DomainCatalogResourceProbe {
8352
+ resourceKey: string;
8353
+ query: string;
8354
+ limit?: number;
8355
+ }
8356
+ type DomainCatalogContextHintItemType = 'context' | 'node' | 'edge' | 'binding' | 'evidence' | 'governance' | 'vocabulary' | 'relationship';
8357
+ type DomainCatalogContextHintIntent = 'authoring' | 'explain' | 'validate' | 'ai-access-control';
8358
+ type DomainCatalogRecommendedAuthoringFlow = 'shared_rule_authoring' | 'component_authoring' | 'ui_composition_authoring';
8359
+ type DomainCatalogRecommendedRuleType = 'privacy' | 'compliance' | 'validation' | 'selection_eligibility' | 'workflow_action_policy' | 'approval_policy' | string;
8360
+ interface DomainCatalogRelationshipHint {
8361
+ enabled?: boolean;
8362
+ federated?: boolean;
8363
+ serviceKey?: string | null;
8364
+ sourceNodeKey?: string | null;
8365
+ targetNodeKey?: string | null;
8366
+ edgeType?: string | null;
8367
+ query?: string | null;
8368
+ limit?: number;
8369
+ }
8370
+ interface DomainCatalogContextHint {
8371
+ schemaVersion?: typeof DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION;
8372
+ resourceKey?: string | null;
8373
+ query?: string | null;
8374
+ releaseId?: string | null;
8375
+ releaseKey?: string | null;
8376
+ serviceKey?: string | null;
8377
+ type?: DomainCatalogContextHintItemType;
8378
+ itemTypes?: DomainCatalogContextHintItemType[];
8379
+ intent?: DomainCatalogContextHintIntent | null;
8380
+ contextKey?: string | null;
8381
+ nodeType?: string | null;
8382
+ recommendedAuthoringFlow?: DomainCatalogRecommendedAuthoringFlow | null;
8383
+ recommendedRuleType?: DomainCatalogRecommendedRuleType | null;
8384
+ limit?: number;
8385
+ relationships?: DomainCatalogRelationshipHint | null;
8386
+ }
8387
+ interface DomainCatalogGovernanceContext {
8388
+ resourceKey: string;
8389
+ query: string;
8390
+ releaseKey: string | null;
8391
+ items: DomainCatalogItem<DomainCatalogGovernancePayload>[];
8392
+ }
8393
+
8394
+ interface DomainCatalogRequestOptions extends ResourceDiscoveryRequestOptions {
8395
+ serviceKey?: string;
8396
+ limit?: number;
8397
+ headers?: HttpHeaders | Record<string, string | string[]>;
8398
+ }
8399
+ interface DomainCatalogGovernanceRequestOptions extends DomainCatalogRequestOptions {
8400
+ resourceKey: string;
8401
+ query: string;
8402
+ }
8403
+ declare class DomainCatalogService {
8404
+ private readonly http;
8405
+ private readonly discovery;
8406
+ listReleases(options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease[]>;
8407
+ listItems(releaseKey: string, options?: DomainCatalogRequestOptions & {
8408
+ type?: string;
8409
+ query?: string;
8410
+ }): Observable<DomainCatalogItem[]>;
8411
+ findLatestReleaseForResource(resourceKey: string, options?: DomainCatalogRequestOptions): Observable<DomainCatalogRelease | null>;
8412
+ getGovernanceContext(options: DomainCatalogGovernanceRequestOptions): Observable<DomainCatalogGovernanceContext>;
8413
+ private resolveHeaders;
8414
+ private releaseMatchesResource;
8415
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainCatalogService, never>;
8416
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainCatalogService>;
8417
+ }
8418
+
8419
+ type DomainKnowledgeAuthorType = 'human' | 'llm' | 'system' | string;
8420
+ type DomainKnowledgeChangeSetStatus = 'proposed' | 'approved' | 'rejected' | 'superseded' | 'applied' | string;
8421
+ type DomainKnowledgeValidationStatus = 'valid' | 'invalid' | 'pending' | string;
8422
+ type DomainKnowledgeOperationType = 'add_evidence' | 'update_evidence' | 'deprecate_evidence' | 'add_relationship' | 'update_concept' | string;
8423
+ interface DomainKnowledgeChangeSetTarget {
8424
+ tenantId?: string | null;
8425
+ environment?: string | null;
8426
+ subjectType?: string | null;
8427
+ conceptKey?: string | null;
8428
+ evidenceKey?: string | null;
8429
+ relationshipKey?: string | null;
8430
+ }
8431
+ interface DomainKnowledgePatchOperation {
8432
+ operationId: string;
8433
+ operationType: DomainKnowledgeOperationType;
8434
+ target?: DomainKnowledgeChangeSetTarget | null;
8435
+ reason?: string | null;
8436
+ evidenceRefs?: string[] | null;
8437
+ confidence?: number | null;
8438
+ payload?: Record<string, unknown> | null;
8439
+ }
8440
+ interface DomainKnowledgeChangeSetRequest {
8441
+ changeSetKey: string;
8442
+ status?: DomainKnowledgeChangeSetStatus | null;
8443
+ authorType?: DomainKnowledgeAuthorType | null;
8444
+ authorId?: string | null;
8445
+ intent?: string | null;
8446
+ reason?: string | null;
8447
+ patch: DomainKnowledgePatchOperation[];
8448
+ }
8449
+ interface DomainKnowledgeSafeOperationSummary {
8450
+ operationId?: string | null;
8451
+ operationType?: DomainKnowledgeOperationType | null;
8452
+ targetSubjectType?: string | null;
8453
+ targetConceptKey?: string | null;
8454
+ evidenceRefCount?: number | null;
8455
+ confidence?: number | null;
8456
+ }
8457
+ interface DomainKnowledgeChangeSet {
8458
+ id: string;
8459
+ tenantId?: string | null;
8460
+ environment?: string | null;
8461
+ changeSetKey?: string | null;
8462
+ status?: DomainKnowledgeChangeSetStatus | null;
8463
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8464
+ authorType?: DomainKnowledgeAuthorType | null;
8465
+ authorId?: string | null;
8466
+ intent?: string | null;
8467
+ reason?: string | null;
8468
+ operationCount?: number | null;
8469
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8470
+ reviewerId?: string | null;
8471
+ reviewedAt?: string | null;
8472
+ appliedAt?: string | null;
8473
+ createdAt?: string | null;
8474
+ updatedAt?: string | null;
8475
+ }
8476
+ interface DomainKnowledgeChangeSetFilters {
8477
+ status?: DomainKnowledgeChangeSetStatus;
8478
+ }
8479
+ interface DomainKnowledgeValidationIssue {
8480
+ operationId?: string | null;
8481
+ code?: string | null;
8482
+ message?: string | null;
8483
+ severity?: string | null;
8484
+ }
8485
+ interface DomainKnowledgeValidationResponse {
8486
+ valid: boolean;
8487
+ changeSetId?: string | null;
8488
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8489
+ issues?: DomainKnowledgeValidationIssue[] | null;
8490
+ safeOperationSummary?: DomainKnowledgeSafeOperationSummary[] | null;
8491
+ }
8492
+ type DomainKnowledgeTimelineEventVisibility = 'safe' | string;
8493
+ interface DomainKnowledgeChangeSetTimelineEventResponse {
8494
+ eventType: string;
8495
+ occurredAt?: string | null;
8496
+ actorType?: string | null;
8497
+ actor?: string | null;
8498
+ summary?: string | null;
8499
+ status?: DomainKnowledgeChangeSetStatus | null;
8500
+ validationStatus?: DomainKnowledgeValidationStatus | null;
8501
+ operationCount?: number | null;
8502
+ operationTypes?: DomainKnowledgeOperationType[] | null;
8503
+ targetConceptKeys?: string[] | null;
8504
+ visibility?: DomainKnowledgeTimelineEventVisibility | null;
8505
+ }
8506
+ interface DomainKnowledgeChangeSetTimelineResponse {
8507
+ changeSetId: string;
8508
+ tenantId?: string | null;
8509
+ environment?: string | null;
8510
+ changeSetKey?: string | null;
8511
+ status?: DomainKnowledgeChangeSetStatus | null;
8512
+ authorType?: DomainKnowledgeAuthorType | null;
8513
+ authorId?: string | null;
8514
+ reviewerId?: string | null;
8515
+ events: DomainKnowledgeChangeSetTimelineEventResponse[];
8516
+ }
8517
+ interface DomainKnowledgeStatusTransitionRequest {
8518
+ status: Exclude<DomainKnowledgeChangeSetStatus, 'proposed'> | DomainKnowledgeChangeSetStatus;
8519
+ reviewerId?: string | null;
8520
+ reason?: string | null;
8521
+ }
8522
+
8523
+ interface DomainKnowledgeRequestOptions extends ResourceDiscoveryRequestOptions {
8524
+ headers?: HttpHeaders | Record<string, string | string[]>;
8525
+ }
8526
+ declare class DomainKnowledgeService {
8527
+ private readonly http;
8528
+ private readonly discovery;
8529
+ createChangeSet(request: DomainKnowledgeChangeSetRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8530
+ listChangeSets(filters?: DomainKnowledgeChangeSetFilters, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet[]>;
8531
+ getChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8532
+ validateChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeValidationResponse>;
8533
+ transitionChangeSetStatus(changeSetId: string, request: DomainKnowledgeStatusTransitionRequest, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8534
+ applyChangeSet(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSet>;
8535
+ getChangeSetTimeline(changeSetId: string, options?: DomainKnowledgeRequestOptions): Observable<DomainKnowledgeChangeSetTimelineResponse>;
8536
+ private buildParams;
8537
+ private resolveHeaders;
8538
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainKnowledgeService, never>;
8539
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainKnowledgeService>;
8540
+ }
8541
+
8542
+ type DomainRuleStatus = 'draft' | 'active' | 'inactive' | 'deprecated' | string;
8543
+ type DomainRuleCreatedByType = 'human' | 'llm' | 'system' | string;
8544
+ type DomainRuleAppliedByType = 'human' | 'llm' | 'system' | string;
8545
+ type DomainRuleTargetLayer = 'form' | 'table' | 'api' | 'workflow' | 'workflow_action' | 'approval_policy' | 'policy' | 'option_source' | 'backend_validation' | string;
8546
+ interface DomainRuleDecisionDiagnostics extends Record<string, unknown> {
8547
+ decisionKind?: string | null;
8548
+ authoringMode?: string | null;
8549
+ decisionStage?: string | null;
8550
+ decisionSource?: string | null;
8551
+ canonicalOwner?: string | null;
8552
+ materializationModel?: string | null;
8553
+ runtimeSurfacesAreDerived?: boolean | null;
8554
+ }
8555
+ interface DomainRuleDefinitionRequest {
8556
+ ruleKey: string;
8557
+ version?: number | null;
8558
+ ruleType?: string | null;
8559
+ status?: DomainRuleStatus | null;
8560
+ contextKey?: string | null;
8561
+ resourceKey?: string | null;
8562
+ serviceKey?: string | null;
8563
+ semanticOwner?: string | null;
8564
+ steward?: string | null;
8565
+ sourceReleaseId?: string | null;
8566
+ sourceChangeSetId?: string | null;
8567
+ definition?: Record<string, unknown> | null;
8568
+ parameters?: Record<string, unknown> | null;
8569
+ condition?: Record<string, unknown> | null;
8570
+ governance?: Record<string, unknown> | null;
8571
+ validationResult?: Record<string, unknown> | null;
8572
+ createdByType?: DomainRuleCreatedByType | null;
8573
+ createdBy?: string | null;
8574
+ approvedBy?: string | null;
8575
+ }
8576
+ interface DomainRuleDefinition extends DomainRuleDefinitionRequest {
8577
+ id: string;
8578
+ tenantId?: string | null;
8579
+ environment?: string | null;
8580
+ createdAt?: string | null;
8581
+ updatedAt?: string | null;
8582
+ approvedAt?: string | null;
8583
+ activatedAt?: string | null;
8584
+ }
8585
+ interface DomainRuleDefinitionFilters {
8586
+ resourceKey?: string;
8587
+ status?: DomainRuleStatus;
8588
+ ruleType?: string;
8589
+ ruleKey?: string;
8590
+ }
8591
+ type DomainRuleTimelineEventVisibility = 'safe' | string;
8592
+ interface DomainRuleTimelineEventResponse {
8593
+ eventType: string;
8594
+ occurredAt?: string | null;
8595
+ actorType?: DomainRuleAppliedByType | null;
8596
+ actor?: string | null;
8597
+ summary?: string | null;
8598
+ targetLayer?: DomainRuleTargetLayer | null;
8599
+ targetArtifactType?: string | null;
8600
+ targetArtifactKey?: string | null;
8601
+ sourceHash?: string | null;
8602
+ visibility?: DomainRuleTimelineEventVisibility | null;
8603
+ }
8604
+ interface DomainRuleTimelineResponse {
8605
+ ruleDefinitionId: string;
8606
+ tenantId?: string | null;
8607
+ environment?: string | null;
8608
+ ruleKey?: string | null;
8609
+ ruleType?: string | null;
8610
+ resourceKey?: string | null;
8611
+ events: DomainRuleTimelineEventResponse[];
8612
+ }
8613
+ interface DomainRuleStatusTransitionRequest {
8614
+ status: DomainRuleStatus;
8615
+ decidedByType?: DomainRuleAppliedByType | null;
8616
+ decidedBy?: string | null;
8617
+ decisionNotes?: Record<string, unknown> | null;
8618
+ }
8619
+ interface DomainRuleIntakeRequest {
8620
+ prompt: string;
8621
+ assistantMessage?: string | null;
8622
+ ruleKey?: string | null;
8623
+ ruleType?: string | null;
8624
+ contextKey?: string | null;
8625
+ resourceKey?: string | null;
8626
+ serviceKey?: string | null;
8627
+ definition?: Record<string, unknown> | null;
8628
+ parameters?: Record<string, unknown> | null;
8629
+ condition?: Record<string, unknown> | null;
8630
+ governance?: Record<string, unknown> | null;
8631
+ createdByType?: DomainRuleCreatedByType | null;
8632
+ createdBy?: string | null;
8633
+ }
8634
+ interface DomainRuleIntakeResponse {
8635
+ intakeId: string;
8636
+ tenantId?: string | null;
8637
+ environment?: string | null;
8638
+ ruleKey?: string | null;
8639
+ ruleType?: string | null;
8640
+ contextKey?: string | null;
8641
+ resourceKey?: string | null;
8642
+ serviceKey?: string | null;
8643
+ status?: DomainRuleStatus | null;
8644
+ grounding?: (Record<string, unknown> & {
8645
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8646
+ }) | null;
8647
+ definition?: DomainRuleDefinition | null;
8648
+ createdAt?: string | null;
8649
+ }
8650
+ interface DomainRuleMaterializationRequest {
8651
+ ruleDefinitionId: string;
8652
+ materializationKey: string;
8653
+ targetLayer?: DomainRuleTargetLayer | null;
8654
+ targetArtifactType?: string | null;
8655
+ targetArtifactKey?: string | null;
8656
+ targetPointer?: string | null;
8657
+ targetReleaseKey?: string | null;
8658
+ materializedRuleId?: string | null;
8659
+ status?: DomainRuleStatus | null;
8660
+ materializedPayload?: Record<string, unknown> | null;
8661
+ sourceHash?: string | null;
8662
+ validationResult?: Record<string, unknown> | null;
8663
+ appliedByType?: DomainRuleAppliedByType | null;
8664
+ appliedBy?: string | null;
8665
+ }
8666
+ interface DomainRuleMaterialization extends DomainRuleMaterializationRequest {
8667
+ id: string;
8668
+ tenantId?: string | null;
8669
+ environment?: string | null;
8670
+ ruleKey?: string | null;
8671
+ ruleVersion?: number | null;
8672
+ createdAt?: string | null;
8673
+ updatedAt?: string | null;
8674
+ appliedAt?: string | null;
8675
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8676
+ }
8677
+ interface DomainRuleMaterializationFilters {
8678
+ ruleDefinitionId?: string;
8679
+ targetLayer?: DomainRuleTargetLayer;
8680
+ targetArtifactType?: string;
8681
+ targetArtifactKey?: string;
8682
+ status?: DomainRuleStatus;
8683
+ }
8684
+ interface DomainRuleSimulationRequest {
8685
+ ruleDefinitionId?: string | null;
8686
+ ruleKey?: string | null;
8687
+ ruleType?: string | null;
8688
+ contextKey?: string | null;
8689
+ resourceKey?: string | null;
8690
+ serviceKey?: string | null;
8691
+ definition?: Record<string, unknown> | null;
8692
+ parameters?: Record<string, unknown> | null;
8693
+ condition?: Record<string, unknown> | null;
8694
+ governance?: Record<string, unknown> | null;
8695
+ }
8696
+ interface DomainRuleSimulationResponse {
8697
+ simulationId: string;
8698
+ ruleDefinitionId?: string | null;
8699
+ tenantId?: string | null;
8700
+ environment?: string | null;
8701
+ ruleKey?: string | null;
8702
+ ruleVersion?: number | null;
8703
+ ruleType?: string | null;
8704
+ contextKey?: string | null;
8705
+ resourceKey?: string | null;
8706
+ serviceKey?: string | null;
8707
+ result?: string | null;
8708
+ grounding?: Record<string, unknown> | null;
8709
+ existingCoverage?: unknown[] | null;
8710
+ predictedMaterializations?: unknown[] | null;
8711
+ requiredApprovals?: unknown[] | null;
8712
+ warnings?: unknown[] | null;
8713
+ explainability?: Record<string, unknown> | null;
8714
+ simulatedAt?: string | null;
8715
+ }
8716
+ type DomainRuleMaterializationOutcomeResolution = 'created' | 'reused' | 'selected_existing' | 'selected_explicit' | 'skipped' | 'blocked' | string;
8717
+ interface DomainRulePublicationMaterializationOutcome {
8718
+ resolution?: DomainRuleMaterializationOutcomeResolution | null;
8719
+ materializationKey?: string | null;
8720
+ targetLayer?: DomainRuleTargetLayer | null;
8721
+ targetArtifactType?: string | null;
8722
+ targetArtifactKey?: string | null;
8723
+ targetPointer?: string | null;
8724
+ statusAtResolution?: DomainRuleStatus | null;
8725
+ sourceHash?: string | null;
8726
+ reason?: string | null;
8727
+ }
8728
+ interface DomainRulePublicationDiagnostics {
8729
+ materializationOutcomes?: DomainRulePublicationMaterializationOutcome[] | null;
8730
+ }
8731
+ interface DomainRuleExplainability extends Record<string, unknown> {
8732
+ decisionDiagnostics?: DomainRuleDecisionDiagnostics | null;
8733
+ publicationDiagnostics?: DomainRulePublicationDiagnostics | null;
8734
+ }
8735
+ interface DomainRulePublicationRequest {
8736
+ ruleDefinitionId: string;
8737
+ materializationIds?: string[] | null;
8738
+ applyEligibleMaterializations?: boolean | null;
8739
+ publishedByType?: DomainRuleAppliedByType | null;
8740
+ publishedBy?: string | null;
8741
+ publicationNotes?: Record<string, unknown> | null;
8742
+ }
8743
+ interface DomainRulePublicationResponse {
8744
+ publicationId: string;
8745
+ tenantId?: string | null;
8746
+ environment?: string | null;
8747
+ publicationStatus?: string | null;
8748
+ publicationReadiness?: string | null;
8749
+ ruleDefinitionId?: string | null;
8750
+ ruleKey?: string | null;
8751
+ ruleVersion?: number | null;
8752
+ ruleType?: string | null;
8753
+ resourceKey?: string | null;
8754
+ serviceKey?: string | null;
8755
+ definition?: DomainRuleDefinition | null;
8756
+ materializations?: DomainRuleMaterialization[] | null;
8757
+ explainability?: DomainRuleExplainability | null;
8758
+ processedAt?: string | null;
8759
+ }
8760
+
8761
+ interface DomainRuleRequestOptions extends ResourceDiscoveryRequestOptions {
8762
+ headers?: HttpHeaders | Record<string, string | string[]>;
8763
+ }
8764
+ declare class DomainRuleService {
8765
+ private readonly http;
8766
+ private readonly discovery;
8767
+ intake(request: DomainRuleIntakeRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleIntakeResponse>;
8768
+ createDefinition(request: DomainRuleDefinitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8769
+ listDefinitions(filters?: DomainRuleDefinitionFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition[]>;
8770
+ transitionDefinitionStatus(definitionId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleDefinition>;
8771
+ getDefinitionTimeline(definitionId: string, options?: DomainRuleRequestOptions): Observable<DomainRuleTimelineResponse>;
8772
+ simulate(request: DomainRuleSimulationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleSimulationResponse>;
8773
+ publish(request: DomainRulePublicationRequest, options?: DomainRuleRequestOptions): Observable<DomainRulePublicationResponse>;
8774
+ createMaterialization(request: DomainRuleMaterializationRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8775
+ listMaterializations(filters?: DomainRuleMaterializationFilters, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization[]>;
8776
+ transitionMaterializationStatus(materializationId: string, request: DomainRuleStatusTransitionRequest, options?: DomainRuleRequestOptions): Observable<DomainRuleMaterialization>;
8777
+ private buildParams;
8778
+ private resolveHeaders;
8779
+ static ɵfac: i0.ɵɵFactoryDeclaration<DomainRuleService, never>;
8780
+ static ɵprov: i0.ɵɵInjectableDeclaration<DomainRuleService>;
8781
+ }
8782
+
7248
8783
  interface ResourceActionOpenAdapterOptions {
7249
8784
  resourcePath: string;
7250
8785
  resourceId?: string | number | null;
@@ -7981,8 +9516,15 @@ type GlobalActionCatalogEntry = {
7981
9516
  required?: string[];
7982
9517
  example?: any;
7983
9518
  };
9519
+ param?: {
9520
+ required?: boolean;
9521
+ label?: string;
9522
+ placeholder?: string;
9523
+ hint?: string;
9524
+ example?: string;
9525
+ };
7984
9526
  };
7985
- declare const GLOBAL_ACTION_CATALOG$1: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
9527
+ declare const GLOBAL_ACTION_CATALOG: InjectionToken<readonly GlobalActionCatalogEntry[][]>;
7986
9528
  declare function provideGlobalActionCatalog(entries: GlobalActionCatalogEntry[]): Provider;
7987
9529
  declare function getGlobalActionCatalog(catalog: ReadonlyArray<GlobalActionCatalogEntry[]> | null | undefined): GlobalActionCatalogEntry[];
7988
9530
  declare const PRAXIS_GLOBAL_ACTION_CATALOG: GlobalActionCatalogEntry[];
@@ -7993,22 +9535,6 @@ interface GlobalSurfaceService {
7993
9535
  }
7994
9536
  declare const GLOBAL_SURFACE_SERVICE: InjectionToken<GlobalSurfaceService>;
7995
9537
 
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
9538
  declare const SURFACE_OPEN_I18N_NAMESPACE = "surfaceOpen";
8013
9539
  declare const SURFACE_OPEN_I18N_CONFIG: Partial<PraxisI18nConfig>;
8014
9540
 
@@ -8111,6 +9637,8 @@ declare const DYNAMIC_PAGE_CONFIG_EDITOR: InjectionToken<Type<any>>;
8111
9637
 
8112
9638
  declare const PRAXIS_LOADING_CTX: HttpContextToken<LoadingContext | null>;
8113
9639
 
9640
+ declare function providePraxisHttpCollectionExportProvider(options?: PraxisCollectionExportHttpProviderOptions): Provider[];
9641
+
8114
9642
  declare const PRAXIS_JSON_LOGIC_OPERATORS: InjectionToken<PraxisJsonLogicOperatorDefinition[]>;
8115
9643
  declare function providePraxisJsonLogicOperator(definition: PraxisJsonLogicOperatorDefinition): Provider;
8116
9644
  declare function providePraxisJsonLogicOperatorOverride(definition: PraxisJsonLogicOperatorDefinition): Provider;
@@ -8202,8 +9730,16 @@ interface ComponentPortEndpointRef {
8202
9730
  direction: 'input' | 'output';
8203
9731
  componentType?: string;
8204
9732
  bindingPath?: string;
9733
+ nestedPath?: ComponentPortPathSegment[];
8205
9734
  };
8206
9735
  }
9736
+ interface ComponentPortPathSegment {
9737
+ kind: 'widget' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
9738
+ id?: string;
9739
+ key?: string;
9740
+ index?: number;
9741
+ componentType?: string;
9742
+ }
8207
9743
  interface StateEndpointRef {
8208
9744
  kind: 'state';
8209
9745
  ref: {
@@ -8212,7 +9748,11 @@ interface StateEndpointRef {
8212
9748
  writable?: boolean;
8213
9749
  };
8214
9750
  }
8215
- type EndpointRef = ComponentPortEndpointRef | StateEndpointRef;
9751
+ interface GlobalActionEndpointRef {
9752
+ kind: 'global-action';
9753
+ ref: GlobalActionRef;
9754
+ }
9755
+ type EndpointRef = ComponentPortEndpointRef | StateEndpointRef | GlobalActionEndpointRef;
8216
9756
  type LinkIntent = 'event-propagation' | 'state-write' | 'state-read' | 'command-dispatch' | 'selection-sync' | 'data-projection' | 'status-propagation';
8217
9757
  interface LinkPolicy {
8218
9758
  debounceMs?: number;
@@ -8243,7 +9783,7 @@ interface CompositionLink {
8243
9783
 
8244
9784
  type DiagnosticSeverity = 'info' | 'warning' | 'error' | 'fatal';
8245
9785
  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';
9786
+ type DiagnosticSubjectKind = 'page' | 'widget' | 'port' | 'state' | 'derived-state' | 'global-action' | 'link' | 'transform-step' | 'runtime-event' | 'runtime-snapshot';
8247
9787
  interface DiagnosticSubjectRef {
8248
9788
  kind: DiagnosticSubjectKind;
8249
9789
  pageId?: string;
@@ -8251,6 +9791,7 @@ interface DiagnosticSubjectRef {
8251
9791
  widgetType?: string;
8252
9792
  portId?: string;
8253
9793
  statePath?: string;
9794
+ actionId?: string;
8254
9795
  linkId?: string;
8255
9796
  transformIndex?: number;
8256
9797
  eventId?: string;
@@ -8446,6 +9987,7 @@ interface FormActionButton {
8446
9987
  disabled?: boolean;
8447
9988
  type?: 'button' | 'submit' | 'reset';
8448
9989
  action?: string;
9990
+ globalAction?: GlobalActionRef;
8449
9991
  tooltip?: string;
8450
9992
  loading?: boolean;
8451
9993
  size?: 'small' | 'medium' | 'large';
@@ -8593,7 +10135,7 @@ interface FieldsetLayout {
8593
10135
  rows: FormRowLayout[];
8594
10136
  hiddenCondition?: JsonLogicExpression | null;
8595
10137
  }
8596
- type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column';
10138
+ type FormRuleTargetType = 'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock';
8597
10139
  interface FormLayoutRule {
8598
10140
  id: string;
8599
10141
  name: string;
@@ -8732,6 +10274,29 @@ interface EditorialFormTemplateBuildOptions {
8732
10274
  */
8733
10275
  declare function buildFormConfigFromEditorialTemplate(template: EditorialFormTemplate, options?: EditorialFormTemplateBuildOptions): FormConfig;
8734
10276
 
10277
+ interface FormFieldLayoutItem {
10278
+ kind: 'field';
10279
+ id: string;
10280
+ fieldName: string;
10281
+ }
10282
+ interface FormRichContentLayoutItem {
10283
+ kind: 'richContent';
10284
+ id: string;
10285
+ document: RichContentDocument;
10286
+ layout?: 'block' | 'inline';
10287
+ rootClassName?: string | null;
10288
+ }
10289
+ type FormLayoutItem = FormFieldLayoutItem | FormRichContentLayoutItem;
10290
+ interface FormLayoutItemsColumnLike {
10291
+ fields?: unknown;
10292
+ items?: unknown;
10293
+ }
10294
+ declare function createFieldLayoutItem(fieldName: string, index?: number): FormFieldLayoutItem;
10295
+ declare function isFormLayoutItem(value: unknown): value is FormLayoutItem;
10296
+ declare function normalizeFormLayoutItems(column: FormLayoutItemsColumnLike | null | undefined): FormLayoutItem[];
10297
+ declare function getFormLayoutFieldNames(items: readonly FormLayoutItem[] | null | undefined): string[];
10298
+ declare function getFormColumnFieldNames(column: FormLayoutItemsColumnLike | null | undefined): string[];
10299
+
8735
10300
  type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
8736
10301
  interface ColumnSpan {
8737
10302
  xs?: number;
@@ -8763,7 +10328,10 @@ interface ColumnHidden {
8763
10328
  }
8764
10329
  type ColumnAlign = 'start' | 'center' | 'end' | 'stretch';
8765
10330
  interface FormColumn {
10331
+ /** Legacy field-name list accepted as migration input while items becomes canonical. */
8766
10332
  fields: string[];
10333
+ /** Canonical ordered layout items for fields and visual blocks. */
10334
+ items?: FormLayoutItem[];
8767
10335
  id: string;
8768
10336
  title?: string;
8769
10337
  span?: ColumnSpan;
@@ -8837,8 +10405,10 @@ interface FormSectionHeaderAction {
8837
10405
  label: string;
8838
10406
  /** Icon rendered in the section header action slot. */
8839
10407
  icon: string;
8840
- /** Optional action name emitted by the runtime; defaults to `id` when omitted. */
10408
+ /** Optional local action name emitted by the runtime; defaults to `id` when omitted. */
8841
10409
  action?: string;
10410
+ /** Optional structured global action executed by hosts through GlobalActionService. */
10411
+ globalAction?: GlobalActionRef;
8842
10412
  /** Optional tooltip override. Falls back to `label` when omitted. */
8843
10413
  tooltip?: string;
8844
10414
  /** Optional theme color mapped to Angular Material button tones. */
@@ -8933,6 +10503,8 @@ interface FormConfig {
8933
10503
  messages?: FormMessagesLayout;
8934
10504
  /** Form rules for dynamic behavior */
8935
10505
  formRules?: FormLayoutRule[];
10506
+ /** Conditional command rules evaluated after form rule values stabilize. */
10507
+ formCommandRules?: PraxisRuntimeConditionalEffectRule<PraxisRuntimeGlobalActionEffect>[];
8936
10508
  /**
8937
10509
  * Raw state emitted by the visual rule builder.
8938
10510
  * Stored separately to allow round-trip editing without losing metadata.
@@ -9143,6 +10715,7 @@ interface FormInitializationError {
9143
10715
  }
9144
10716
  interface FormCustomActionEvent {
9145
10717
  actionId: string;
10718
+ globalAction?: GlobalActionRef;
9146
10719
  formData: any;
9147
10720
  isValid: boolean;
9148
10721
  source: 'button' | 'shortcut' | 'section-header';
@@ -9166,7 +10739,7 @@ interface RulePropertyDefinition {
9166
10739
  }>;
9167
10740
  category?: 'content' | 'appearance' | 'behavior' | 'layout' | 'validation';
9168
10741
  }
9169
- type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column', RulePropertyDefinition[]>;
10742
+ type RulePropertySchema = Record<'field' | 'section' | 'action' | 'row' | 'column' | 'visualBlock', RulePropertyDefinition[]>;
9170
10743
  declare const RULE_PROPERTY_SCHEMA: RulePropertySchema;
9171
10744
 
9172
10745
  type EditorialOrientation = 'horizontal' | 'vertical';
@@ -10088,6 +11661,18 @@ declare function createPersistedPage(identity: PageIdentity, page: WidgetPageDef
10088
11661
  status?: PersistedPageConfig['status'];
10089
11662
  }): PersistedPageConfig;
10090
11663
 
11664
+ interface DomainKnowledgeTimelineRichContentOptions {
11665
+ title?: string;
11666
+ emptyText?: string;
11667
+ }
11668
+ declare function domainKnowledgeTimelineToRichContentDocument(timeline: DomainKnowledgeChangeSetTimelineResponse, options?: DomainKnowledgeTimelineRichContentOptions): RichContentDocument;
11669
+
11670
+ interface DomainRuleTimelineRichContentOptions {
11671
+ title?: string;
11672
+ emptyText?: string;
11673
+ }
11674
+ declare function domainRuleTimelineToRichContentDocument(timeline: DomainRuleTimelineResponse, options?: DomainRuleTimelineRichContentOptions): RichContentDocument;
11675
+
10091
11676
  /**
10092
11677
  * Navigation/back behavior configuration used by form hosts (e.g., CRUD dialogs/routes).
10093
11678
  * Moved from @praxisui/crud to @praxisui/core to avoid circular deps between
@@ -10107,6 +11692,9 @@ interface BackConfig {
10107
11692
  confirmOnDirty?: boolean;
10108
11693
  }
10109
11694
 
11695
+ interface PraxisDataQueryContextMeta extends Record<string, unknown> {
11696
+ domainCatalog?: DomainCatalogContextHint | null;
11697
+ }
10110
11698
  interface PraxisDataQueryContext {
10111
11699
  filters?: Record<string, unknown> | null;
10112
11700
  sort?: string[] | null;
@@ -10115,7 +11703,7 @@ interface PraxisDataQueryContext {
10115
11703
  index?: number | null;
10116
11704
  size?: number | null;
10117
11705
  } | null;
10118
- meta?: Record<string, unknown> | null;
11706
+ meta?: PraxisDataQueryContextMeta | null;
10119
11707
  }
10120
11708
  declare function normalizePraxisDataQueryContext(context?: PraxisDataQueryContext | null): PraxisDataQueryContext | null;
10121
11709
  declare function resolvePraxisFilterCriteria(filterCriteria?: Record<string, unknown> | null, queryContext?: PraxisDataQueryContext | null): Record<string, unknown>;
@@ -10455,7 +12043,7 @@ interface GlobalActionField {
10455
12043
  dependsOnValue?: string;
10456
12044
  }
10457
12045
  interface GlobalActionUiSchema {
10458
- id: GlobalActionId;
12046
+ id: string;
10459
12047
  label: string;
10460
12048
  fields: GlobalActionField[];
10461
12049
  editorMode?: 'default' | 'surface-open';
@@ -10463,6 +12051,33 @@ interface GlobalActionUiSchema {
10463
12051
  declare const GLOBAL_ACTION_UI_SCHEMAS: GlobalActionUiSchema[];
10464
12052
  declare function getGlobalActionUiSchema(id: string | undefined): GlobalActionUiSchema | undefined;
10465
12053
 
12054
+ type GlobalActionValidationCode = 'globalAction.actionId.required' | 'globalAction.payload.required' | 'globalAction.payload.type';
12055
+ interface GlobalActionValidationIssue {
12056
+ code: GlobalActionValidationCode;
12057
+ path?: string;
12058
+ actionId?: string;
12059
+ requiredKeys?: string[];
12060
+ missingKeys?: string[];
12061
+ expectedType?: string;
12062
+ actualType?: string;
12063
+ }
12064
+ interface GlobalActionValidationTarget {
12065
+ ref: GlobalActionRef | null | undefined;
12066
+ catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null;
12067
+ path?: string;
12068
+ }
12069
+ declare function normalizeGlobalActionRef(ref: GlobalActionRef | null | undefined): GlobalActionRef | null;
12070
+ declare function isGlobalActionRef(value: unknown): value is GlobalActionRef;
12071
+ declare function getRequiredGlobalActionPayloadKeys(actionId: string | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12072
+ declare function hasMeaningfulGlobalActionPayloadValue(value: any): boolean;
12073
+ declare function getMissingGlobalActionPayloadKeys(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): string[];
12074
+ declare function isRequiredGlobalActionParamPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12075
+ declare function isRequiredGlobalActionPayloadMissing(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null): boolean;
12076
+ declare function getGlobalActionPayloadActualType(value: unknown): string;
12077
+ declare function getGlobalActionPayloadTypeIssue(ref: GlobalActionRef | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema'> | null): Pick<GlobalActionValidationIssue, 'expectedType' | 'actualType'> | null;
12078
+ declare function validateGlobalActionRef(ref: GlobalActionRef | null | undefined, catalogEntry?: Pick<GlobalActionCatalogEntry, 'payloadSchema' | 'param'> | null, path?: string): GlobalActionValidationIssue[];
12079
+ declare function validateGlobalActionRefs(targets: GlobalActionValidationTarget[]): GlobalActionValidationIssue[];
12080
+
10466
12081
  interface SurfaceOpenPreset {
10467
12082
  id: string;
10468
12083
  label: string;
@@ -10591,6 +12206,205 @@ interface AiConcept {
10591
12206
  }
10592
12207
  type AiConceptPack = Record<string, AiConcept>;
10593
12208
 
12209
+ /**
12210
+ * Representa o contrato canônico de authoring executável de um componente.
12211
+ */
12212
+ interface ComponentAuthoringManifest {
12213
+ /** Versão do schema do manifesto (ex: 1.0.0) */
12214
+ schemaVersion: string;
12215
+ /** Identificador único do componente no registry (ex: praxis-table) */
12216
+ componentId: string;
12217
+ /** Nome do pacote npm que possui o componente (ex: @praxisui/table) */
12218
+ ownerPackage: string;
12219
+ /** ID do schema de configuração (ex: TableConfig) */
12220
+ configSchemaId: string;
12221
+ /** Versão do manifesto específico deste componente */
12222
+ manifestVersion: string;
12223
+ /** Inputs que o componente aceita em runtime */
12224
+ runtimeInputs: ManifestInput[];
12225
+ /** Alvos que podem ser editados via AI */
12226
+ editableTargets: ManifestTarget[];
12227
+ /** Operações atômicas permitidas */
12228
+ operations: ManifestOperation[];
12229
+ /** Validadores de integridade da configuração */
12230
+ validators: ManifestValidator[];
12231
+ /** Requisitos para round-trip sem perda de informação */
12232
+ roundTripRequirements?: string[];
12233
+ /**
12234
+ * Exemplos de intenção → operação para uso em Few-Shot e evals.
12235
+ * Obrigatório: o gate de aceitação rejeita manifestos sem examples.
12236
+ * Deve conter ao menos um exemplo negativo (isPositive: false).
12237
+ */
12238
+ examples: ManifestExample[];
12239
+ /**
12240
+ * Perfis opcionais para familias de componentes que compartilham um manifesto
12241
+ * base, mas precisam expor semantica granular por componente/controlType.
12242
+ */
12243
+ controlProfiles?: ManifestControlProfile[];
12244
+ }
12245
+ interface ManifestInput {
12246
+ name: string;
12247
+ type: string;
12248
+ description?: string;
12249
+ allowedValues?: any[];
12250
+ }
12251
+ interface ManifestTarget {
12252
+ kind: string;
12253
+ resolver: string;
12254
+ description: string;
12255
+ }
12256
+ /**
12257
+ * Política de submissão para campos locais num formulário.
12258
+ * - 'omit': campo não é incluído no payload de submissão (default para campos locais).
12259
+ * - 'include': campo é sempre incluído no payload.
12260
+ * - 'includeWhenDirty': campo é incluído apenas se o valor foi alterado pelo usuário.
12261
+ * NOTA: 'transient' NÃO é um valor válido; use source:'local' + transient:true no schema de input.
12262
+ */
12263
+ type SubmitPolicy = 'omit' | 'include' | 'includeWhenDirty';
12264
+ type ManifestSubmissionImpact = 'none' | 'visual-only' | 'config-only' | 'affects-submission' | 'affects-schema-backed-data' | 'affects-remote-binding';
12265
+ interface ManifestOperation {
12266
+ operationId: string;
12267
+ title: string;
12268
+ /**
12269
+ * Escopo da operação.
12270
+ * - 'global': opera sobre a configuração raiz; target.required deve ser false.
12271
+ * - Outros valores: opera sobre um alvo específico; target.required deve ser true.
12272
+ * O valor 'target' é reservado para uso futuro e não deve ser usado.
12273
+ */
12274
+ 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';
12275
+ /**
12276
+ * @deprecated Use `target.kind` em vez disso.
12277
+ * Mantido para compatibilidade retroativa com ferramentas que lêem o registry.
12278
+ * Deve ser igual a `target.kind` quando `target` estiver presente.
12279
+ */
12280
+ targetKind?: string;
12281
+ /**
12282
+ * Definição estruturada do alvo da operação.
12283
+ * Obrigatório para operações com scope diferente de 'global'.
12284
+ * Usado pelo backend para resolver o alvo antes de compilar o patch.
12285
+ */
12286
+ target?: {
12287
+ /** Tipo do alvo (ex: column, rule) */
12288
+ kind: string;
12289
+ /** Resolver canônico usado para localizar o alvo (ex: column-by-field) */
12290
+ resolver: string;
12291
+ /** Política para lidar com ambiguidades na resolução */
12292
+ ambiguityPolicy?: 'fail' | 'first' | 'all';
12293
+ /** Se o alvo é obrigatório para a operação */
12294
+ required: boolean;
12295
+ };
12296
+ /** Schema JSON do payload de entrada da operação */
12297
+ inputSchema: any;
12298
+ /**
12299
+ * Efeitos que a operação causa na configuração.
12300
+ * Usado pelo backend para compilar o patch de forma determinística.
12301
+ */
12302
+ effects: ManifestEffect[];
12303
+ /** Se true, a operação é destrutiva e pode causar perda de dados/configuração */
12304
+ destructive?: boolean;
12305
+ /**
12306
+ * Se true, o agente DEVE solicitar confirmação explícita antes de aplicar.
12307
+ * Obrigatório para todas as operações com destructive:true.
12308
+ */
12309
+ requiresConfirmation?: boolean;
12310
+ /** IDs dos validadores que devem ser executados para esta operação */
12311
+ validators?: string[];
12312
+ /**
12313
+ * Caminhos (JSON Path-like) na configuração afetados por esta operação.
12314
+ * Deve cobrir todos os paths tocados pelos effects.
12315
+ * Usado pelo backend para validação de acesso e auditoria de mudanças.
12316
+ */
12317
+ affectedPaths: string[];
12318
+ /**
12319
+ * Impacto declarado da operação sobre submissão, configuração visual ou binding remoto.
12320
+ * Boolean permanece aceito para manifests legados; manifests semanticamente validados devem usar
12321
+ * ManifestSubmissionImpact para evitar inferencia fragil no backend.
12322
+ */
12323
+ submissionImpact: ManifestSubmissionImpact | boolean;
12324
+ /**
12325
+ * Condições de estado que devem ser verdadeiras antes de executar a operação.
12326
+ * Usado pelo backend para validação prévia ao patch.
12327
+ * Ex: ['config-initialized', 'target-exists']
12328
+ */
12329
+ preconditions: string[];
12330
+ }
12331
+ /**
12332
+ * Efeito atômico sobre a configuração.
12333
+ * Usa discriminated union por `kind` para documentar quais campos são obrigatórios:
12334
+ *
12335
+ * - 'merge-object': path obrigatório; funde o payload no objeto no path.
12336
+ * - 'merge-by-key': path + key obrigatórios; funde pelo campo-chave em uma coleção.
12337
+ * - 'append-unique': path + key obrigatórios; adiciona item se não existir (deduplicação por key).
12338
+ * - 'remove-by-key': path + key obrigatórios; remove item da coleção pelo valor da key.
12339
+ * - 'reorder-by-key': path + key obrigatórios; reordena coleção por key.
12340
+ * - 'set-value': path obrigatório; seta o valor diretamente no path.
12341
+ * - 'compile-domain-patch': handler obrigatório; delega compilação a um handler especializado.
12342
+ */
12343
+ interface ManifestEffect {
12344
+ kind: 'merge-object' | 'merge-by-key' | 'append-unique' | 'remove-by-key' | 'reorder-by-key' | 'set-value' | 'compile-domain-patch';
12345
+ /** Path JSON-like na configuração onde o efeito é aplicado. Obrigatório para todos os kinds exceto 'compile-domain-patch'. */
12346
+ path?: string;
12347
+ /** Chave de identidade em coleções. Obrigatório para merge-by-key, append-unique, remove-by-key, reorder-by-key. */
12348
+ key?: string;
12349
+ /** ID do handler especializado. Obrigatório quando kind é 'compile-domain-patch'. */
12350
+ handler?: string;
12351
+ handlerContract?: ManifestDomainPatchHandlerContract;
12352
+ }
12353
+ interface ManifestDomainPatchHandlerContract {
12354
+ reads: string[];
12355
+ writes: string[];
12356
+ identityKeys: string[];
12357
+ inputSchema?: any;
12358
+ failureModes: string[];
12359
+ description: string;
12360
+ }
12361
+ interface ManifestValidator {
12362
+ validatorId: string;
12363
+ level: 'error' | 'warning' | 'info';
12364
+ code: string;
12365
+ description: string;
12366
+ }
12367
+ interface ManifestExample {
12368
+ id: string;
12369
+ request: string;
12370
+ operationId: string;
12371
+ target?: string;
12372
+ params?: any;
12373
+ isPositive?: boolean;
12374
+ }
12375
+ interface ManifestControlProfile {
12376
+ /** Identificador estavel do perfil dentro do manifesto familiar. */
12377
+ profileId: string;
12378
+ /** Nome curto usado por ferramentas de authoring. */
12379
+ title: string;
12380
+ /** Explica a semantica que este perfil adiciona sobre o manifesto base. */
12381
+ description: string;
12382
+ /** Regras deterministicas para projetar o perfil em componentes do registry. */
12383
+ appliesTo: ManifestControlProfileApplicability;
12384
+ /** Alvos adicionais ou refinados que este perfil torna editaveis. */
12385
+ editableTargets?: ManifestTarget[];
12386
+ /** Operacoes especificas do perfil/controlType. */
12387
+ operations: ManifestOperation[];
12388
+ /** Validadores especificos do perfil/controlType. */
12389
+ validators: ManifestValidator[];
12390
+ /** Exemplos/evals especificos do perfil/controlType. */
12391
+ examples: ManifestExample[];
12392
+ /** Requisitos adicionais de round-trip para este perfil. */
12393
+ roundTripRequirements?: string[];
12394
+ }
12395
+ interface ManifestControlProfileApplicability {
12396
+ /** IDs de componentes do registry que devem receber este perfil. */
12397
+ componentIds?: string[];
12398
+ /** Selectors publicos que devem receber este perfil. */
12399
+ selectors?: string[];
12400
+ /** Control types canonicos ou aliases que devem receber este perfil. */
12401
+ controlTypes?: string[];
12402
+ /** Tags de ComponentDocMeta usadas como fallback de classificacao. */
12403
+ tags?: string[];
12404
+ /** Tipos do input `metadata` usados como fallback de classificacao. */
12405
+ metadataInputTypes?: string[];
12406
+ }
12407
+
10594
12408
  /**
10595
12409
  * Catálogo de capacidades genéricas de FieldMetadata para uso da IA.
10596
12410
  * Baseado em projects/praxis-core/src/lib/models/component-metadata.interface.ts
@@ -10620,6 +12434,7 @@ declare module "./index" {
10620
12434
  shell: true;
10621
12435
  connections: true;
10622
12436
  context: true;
12437
+ state: true;
10623
12438
  }
10624
12439
  }
10625
12440
  type CapabilityCategory = AiCapabilityCategory;
@@ -10706,10 +12521,14 @@ interface ComponentMergePatch<TConfig extends Record<string, unknown> = Record<s
10706
12521
 
10707
12522
  declare const DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK: ComponentContextPack;
10708
12523
 
12524
+ declare const DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK: ComponentContextPack;
12525
+
10709
12526
  interface WidgetEventPathSegment {
10710
- kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group';
12527
+ kind: 'tabs' | 'tab' | 'nav' | 'link' | 'expansion' | 'panel' | 'stepper' | 'step' | 'slot' | 'group' | 'widget';
10711
12528
  id?: string;
12529
+ key?: string;
10712
12530
  index?: number;
12531
+ componentType?: string;
10713
12532
  }
10714
12533
  interface WidgetEventEnvelope {
10715
12534
  /** Optional top-level page widget key that owns the event tree. */
@@ -10731,6 +12550,50 @@ interface WidgetResolutionDiagnostic {
10731
12550
  error?: unknown;
10732
12551
  }
10733
12552
 
12553
+ interface WidgetEventPathNormalizeOptions {
12554
+ /** Optional owner component id used to strip only the top-level container segment. */
12555
+ ownerComponentId?: string;
12556
+ }
12557
+ interface WidgetEventPathNormalizeInput {
12558
+ path?: WidgetEventPathSegment[];
12559
+ sourceChildWidgetKey?: string;
12560
+ sourceComponentId?: string;
12561
+ }
12562
+ declare function normalizeWidgetEventPath(event: WidgetEventEnvelope | WidgetEventPathNormalizeInput, options?: WidgetEventPathNormalizeOptions): ComponentPortPathSegment[];
12563
+
12564
+ interface NestedWidgetResolution {
12565
+ ownerWidgetKey: string;
12566
+ nestedPath: ComponentPortPathSegment[];
12567
+ widget: WidgetDefinition;
12568
+ componentId: string;
12569
+ childWidgetKey: string;
12570
+ }
12571
+ interface NestedWidgetInputPatchResult {
12572
+ widget: WidgetInstance;
12573
+ changed: boolean;
12574
+ }
12575
+ declare class NestedWidgetConfigAccessor {
12576
+ listNestedWidgets(owner: WidgetInstance): NestedWidgetResolution[];
12577
+ resolveNestedWidget(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined): WidgetDefinition | undefined;
12578
+ setNestedWidgetInput(owner: WidgetInstance, nestedPath: ComponentPortPathSegment[] | undefined, inputName: string, value: unknown): NestedWidgetInputPatchResult;
12579
+ private listNestedWidgetsInDefinition;
12580
+ private resolveNestedWidgetInDefinition;
12581
+ private setNestedWidgetInputInDefinition;
12582
+ private listChildWidgetLocations;
12583
+ private listTabsWidgetLocations;
12584
+ private listExpansionWidgetLocations;
12585
+ private resolveWidgetArrayLocation;
12586
+ private resolveTabsWidgetArray;
12587
+ private resolveExpansionWidgetArray;
12588
+ private findBySegment;
12589
+ private segmentIdentity;
12590
+ private asWidgetDefinitions;
12591
+ private isWidgetDefinition;
12592
+ private resolveChildWidgetKey;
12593
+ private clone;
12594
+ private isEqual;
12595
+ }
12596
+
10734
12597
  type EditorialContentFormat = 'plain' | 'markdown';
10735
12598
  interface EditorialLinkDefinition {
10736
12599
  label: string;
@@ -11030,6 +12893,7 @@ declare class WidgetPageStateRuntimeService {
11030
12893
  private evaluateDerivedJsonLogic;
11031
12894
  private resolveCaseValue;
11032
12895
  private resolveTemplate;
12896
+ private isPageStateTemplatePath;
11033
12897
  private normalizeDependencyPath;
11034
12898
  private readPath;
11035
12899
  private isPlainObject;
@@ -11058,6 +12922,86 @@ interface WidgetPageComposition {
11058
12922
  context: Record<string, unknown>;
11059
12923
  }
11060
12924
 
12925
+ interface NestedPortCatalogRegistry {
12926
+ get(id: string): Pick<ComponentDocMeta, 'ports'> | undefined;
12927
+ }
12928
+ interface ResolvedNestedPort {
12929
+ ownerWidgetKey: string;
12930
+ ownerComponentId?: string;
12931
+ nestedPath: ComponentPortPathSegment[];
12932
+ containerPath?: ComponentPortPathSegment[];
12933
+ port: PortContract;
12934
+ componentId: string;
12935
+ childWidgetKey: string;
12936
+ }
12937
+ interface NestedPortCatalogDiagnostic {
12938
+ code: 'NESTED_WIDGET_METADATA_MISSING' | 'NESTED_WIDGET_KEY_MISSING';
12939
+ severity: 'warning' | 'error';
12940
+ ownerWidgetKey: string;
12941
+ nestedPath: ComponentPortPathSegment[];
12942
+ componentId?: string;
12943
+ message: string;
12944
+ }
12945
+ interface NestedPortCatalogResult {
12946
+ ports: ResolvedNestedPort[];
12947
+ diagnostics: NestedPortCatalogDiagnostic[];
12948
+ }
12949
+ declare class NestedPortCatalogService {
12950
+ private readonly accessor;
12951
+ constructor(accessor?: NestedWidgetConfigAccessor);
12952
+ resolve(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry): NestedPortCatalogResult;
12953
+ resolveEndpoint(page: Pick<WidgetPageDefinition, 'widgets'>, registry: NestedPortCatalogRegistry, options: {
12954
+ ownerWidgetKey: string;
12955
+ nestedPath: ComponentPortPathSegment[];
12956
+ portId: string;
12957
+ direction: PortContract['direction'];
12958
+ }): ResolvedNestedPort | undefined;
12959
+ private hasStableTerminalKey;
12960
+ private containerPath;
12961
+ private isSamePath;
12962
+ private clone;
12963
+ }
12964
+
12965
+ type SemanticEndpointRef = EndpointRef & {
12966
+ ref: EndpointRef['ref'] & {
12967
+ semanticKind?: TransformSemanticKind;
12968
+ };
12969
+ };
12970
+ type SemanticCompositionLink = CompositionLink & {
12971
+ from: SemanticEndpointRef;
12972
+ to: SemanticEndpointRef;
12973
+ transform?: TransformPipeline;
12974
+ };
12975
+ interface CompositionValidatorContext {
12976
+ page?: Pick<WidgetPageDefinition, 'widgets'>;
12977
+ registry?: NestedPortCatalogRegistry;
12978
+ links?: SemanticCompositionLink[];
12979
+ }
12980
+ declare class CompositionValidatorService {
12981
+ private readonly nestedPortCatalog;
12982
+ private readonly jsonLogic;
12983
+ constructor(nestedPortCatalog?: NestedPortCatalogService, jsonLogic?: PraxisJsonLogicService);
12984
+ validateLink(link: SemanticCompositionLink, context?: CompositionValidatorContext): DiagnosticRecord[];
12985
+ private validateEndpointDirections;
12986
+ private validateBindingPathBridge;
12987
+ private validateNestedComponentEndpoints;
12988
+ private validateNestedPortCatalog;
12989
+ private projectCatalogDiagnostics;
12990
+ private validateNestedWidgetEventCoexistence;
12991
+ private validateStateWrites;
12992
+ private validateGlobalActionTarget;
12993
+ private validateCondition;
12994
+ private validateTransformCatalog;
12995
+ private validateSemanticCompatibility;
12996
+ private endpointSemanticKind;
12997
+ private areSemanticKindsCompatible;
12998
+ private areKindsDirectlyCompatible;
12999
+ private createDiagnostic;
13000
+ private formatNestedPath;
13001
+ private nestedEndpointSubject;
13002
+ private isSameNestedPath;
13003
+ }
13004
+
11061
13005
  interface CompositionRuntimeStoreInit {
11062
13006
  pageId?: string;
11063
13007
  status?: RuntimeSnapshotStatus;
@@ -11131,13 +13075,16 @@ interface LinkExecutionContext {
11131
13075
  lastDeliveredAt?: string;
11132
13076
  }
11133
13077
  interface LinkExecutionDelivery {
11134
- kind: 'state' | 'component-port';
13078
+ kind: 'state' | 'component-port' | 'global-action';
11135
13079
  value: unknown;
11136
13080
  statePath?: string;
11137
13081
  stateLayer?: 'values' | 'derived' | 'transient';
11138
13082
  widgetKey?: string;
11139
13083
  portId?: string;
11140
13084
  bindingPath?: string;
13085
+ nestedPath?: ComponentPortPathSegment[];
13086
+ actionId?: string;
13087
+ actionRef?: GlobalActionRef;
11141
13088
  }
11142
13089
  interface LinkExecutionResult {
11143
13090
  status: 'delivered' | 'skipped' | 'failed';
@@ -11207,6 +13154,7 @@ interface CompositionRuntimeEngineOptions {
11207
13154
  linkExecutor?: LinkExecutorService;
11208
13155
  stateRuntime?: WidgetPageStateRuntimeService;
11209
13156
  traceService?: RuntimeTraceService;
13157
+ compositionValidator?: CompositionValidatorService;
11210
13158
  }
11211
13159
  interface CompositionStateWidgetPreviewOptions {
11212
13160
  widgets?: WidgetInstance[];
@@ -11223,7 +13171,9 @@ declare class CompositionRuntimeEngine {
11223
13171
  private readonly linkExecutor;
11224
13172
  private readonly stateRuntime;
11225
13173
  private readonly traceService;
13174
+ private readonly compositionValidator;
11226
13175
  private readonly pathAccessor;
13176
+ private readonly nestedWidgetAccessor;
11227
13177
  private definition;
11228
13178
  private readonly now;
11229
13179
  constructor(options?: CompositionRuntimeEngineOptions);
@@ -11235,11 +13185,13 @@ declare class CompositionRuntimeEngine {
11235
13185
  private createLinkSnapshot;
11236
13186
  private applyBootstrapHydration;
11237
13187
  private materializeDerivedState;
13188
+ private validateComposition;
11238
13189
  private createDerivedDiagnostic;
11239
13190
  private clonePreviewWidgets;
11240
13191
  private cloneJson;
11241
13192
  private extractDerivedNodeKey;
11242
13193
  private appendDiagnosticTraceEntries;
13194
+ private createNestedWidgetEventBridgeDiagnostics;
11243
13195
  }
11244
13196
 
11245
13197
  interface CompositionRuntimeFacadeOptions {
@@ -11330,8 +13282,12 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11330
13282
  pageIdentity?: PageIdentity;
11331
13283
  /** Optional instance key for pages rendered multiple times. */
11332
13284
  componentInstanceId?: string;
13285
+ /** Enables a contextual authoring assistant entrypoint for the selected widget. */
13286
+ showWidgetAssistantButton: boolean;
11333
13287
  pageChange: EventEmitter<WidgetPageDefinition>;
11334
13288
  widgetEvent: EventEmitter<WidgetEventEnvelope>;
13289
+ widgetSelectionChange: EventEmitter<string | null>;
13290
+ widgetAssistantRequested: EventEmitter<string>;
11335
13291
  widgetDiagnosticsChange: EventEmitter<Record<string, WidgetResolutionDiagnostic>>;
11336
13292
  widgets: i0.WritableSignal<WidgetInstance[]>;
11337
13293
  renderedGroups: i0.WritableSignal<RenderedWidgetGroup[]>;
@@ -11350,7 +13306,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11350
13306
  private pageColumnCount;
11351
13307
  private activeTabs;
11352
13308
  private widgetDiagnostics;
11353
- private selectedCanvasWidgetKey;
13309
+ private selectedWidgetKey;
11354
13310
  private blockedCanvasWidgetKey;
11355
13311
  private canvasPreviewState;
11356
13312
  private canvasPreviewInvalidState;
@@ -11361,6 +13317,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11361
13317
  private persistenceReady;
11362
13318
  private warnedMissingKey;
11363
13319
  private runtimeEventSequence;
13320
+ private readonly widgetShellRenderCache;
11364
13321
  private readonly compositionFactory;
11365
13322
  private readonly compositionRuntime;
11366
13323
  private compositionDefinition?;
@@ -11372,6 +13329,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11372
13329
  private readonly route;
11373
13330
  private readonly conn;
11374
13331
  private readonly stateRuntime;
13332
+ private readonly nestedWidgetAccessor;
11375
13333
  private readonly settingsPanel;
11376
13334
  private readonly defaultShellEditor;
11377
13335
  private readonly defaultPageEditor;
@@ -11384,33 +13342,69 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11384
13342
  private buildStateRuntime;
11385
13343
  private bootstrapCompositionAdapter;
11386
13344
  private applyEditShellActions;
11387
- private withShellActions;
11388
13345
  private applyBootstrapCompositionHydration;
11389
13346
  private reportStateDiagnostics;
11390
13347
  private dispatchWidgetEventToComposition;
13348
+ private matchesRuntimeSourceRef;
13349
+ private matchesLegacyWidgetEventSource;
13350
+ private areNestedPathsEqual;
11391
13351
  private stateFromCompositionSnapshot;
11392
13352
  private applyCompositionWidgetDeliveries;
13353
+ private executeCompositionGlobalActionDeliveries;
13354
+ private resolveCompositionGlobalActionRef;
11393
13355
  private buildStateContext;
11394
13356
  private cloneStateValues;
11395
13357
  private cloneGrouping;
11396
13358
  private resolveShellTemplates;
13359
+ private enrichRuntimeWidgetInputs;
13360
+ private buildRichContentHostCapabilities;
13361
+ private dispatchRichContentAction;
13362
+ private isRichContentActionAvailable;
13363
+ private hasRichContentCapability;
11397
13364
  private resolveComponentBindingPath;
11398
13365
  private buildRuntimeEventId;
11399
- private shouldInjectEditShellActions;
11400
- private canOpenWidgetShellSettings;
13366
+ canOpenWidgetShellSettings(): boolean;
13367
+ canOpenWidgetComponentSettings(key: string): boolean;
13368
+ componentSettingsLabel(): string;
13369
+ componentSettingsTooltip(): string;
13370
+ widgetSettingsLabel(): string;
13371
+ widgetSettingsTooltip(): string;
13372
+ widgetAssistantLabel(): string;
13373
+ widgetAssistantTooltip(): string;
13374
+ requestWidgetAssistant(widgetKey: string): void;
13375
+ widgetRemoveLabel(): string;
13376
+ moreWidgetActionsLabel(): string;
13377
+ widgetContextToolbarLabel(widgetKey: string): string;
13378
+ widgetContextLabel(widget: WidgetInstance): string;
13379
+ widgetContextTooltip(widget: WidgetInstance): string;
13380
+ shouldRenderWidgetContextOverlay(widget: WidgetInstance): boolean;
13381
+ widgetShellForRender(widget: WidgetInstance): WidgetShellConfig | null | undefined;
13382
+ private resolveWidgetDisplayName;
13383
+ private shouldProjectWidgetHeaderActions;
13384
+ private hasVisibleWidgetShellHeader;
13385
+ private hasVisibleShellActions;
13386
+ private hasVisibleWindowActions;
13387
+ private buildProjectedWidgetShellActions;
13388
+ private widgetShellActionSignature;
13389
+ private isVisibleShellAction;
11401
13390
  private areStateValuesEqual;
11402
13391
  onWidgetDiagnostic(widgetKey: string, diagnostic: WidgetResolutionDiagnostic): void;
11403
13392
  onShellAction(fromKey: string, evt: WidgetShellActionEvent): void;
11404
13393
  private handleSetInputCommand;
11405
13394
  private mergeOrder;
11406
13395
  private maybeExecuteMappedAction;
11407
- private maybeExecuteGlobalCommand;
11408
13396
  private resolveActionPayload;
11409
13397
  private resolveTemplate;
11410
13398
  private lookup;
11411
13399
  openWidgetShellSettings(key: string): void;
11412
13400
  openWidgetComponentSettings(key: string): void;
11413
13401
  private applyWidgetComponentInputs;
13402
+ confirmAndRemoveWidget(widgetKey: string): Promise<void>;
13403
+ removeSelectedWidget(): void;
13404
+ removeSelectedCanvasWidget(): void;
13405
+ private removeWidgetReferences;
13406
+ private linkReferencesWidget;
13407
+ private endpointReferencesWidget;
11414
13408
  openPageSettings(): void;
11415
13409
  private applyWidgetShell;
11416
13410
  private applyPageLayout;
@@ -11434,8 +13428,10 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11434
13428
  private resolveDeviceKind;
11435
13429
  isCanvasMode(): boolean;
11436
13430
  shouldAutoWireOutputs(widget: WidgetInstance | RenderedWidgetInstance): boolean;
11437
- selectCanvasWidget(widgetKey: string): void;
13431
+ selectWidget(widgetKey: string): void;
11438
13432
  isCanvasWidgetSelected(widgetKey: string): boolean;
13433
+ isWidgetSelected(widgetKey: string): boolean;
13434
+ selectCanvasWidget(widgetKey: string): void;
11439
13435
  isCanvasWidgetBlocked(widgetKey: string): boolean;
11440
13436
  canvasPreviewItem(): WidgetPageCanvasItem | null;
11441
13437
  canvasPreviewGridColumn(): string | null;
@@ -11505,7 +13501,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
11505
13501
  private sanitizeSegment;
11506
13502
  private assertNoLegacyConnections;
11507
13503
  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>;
13504
+ 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
13505
  }
11510
13506
 
11511
13507
  /** Metadata for Praxis Dynamic Page component */
@@ -11650,7 +13646,7 @@ declare function normalizeFormConfig(config: FormConfig): FormConfig;
11650
13646
 
11651
13647
  /** Minimal metadata about the backend schema source. */
11652
13648
  interface SchemaMetaInfo {
11653
- /** API path used to resolve the schema (e.g., /api/employees/all or /filter) */
13649
+ /** API path used to resolve the schema (e.g., /api/employees/filter) */
11654
13650
  path: string;
11655
13651
  /** Operation used when fetching the schema (get|post) */
11656
13652
  operation: string;
@@ -11724,6 +13720,12 @@ interface SchemaIdParams {
11724
13720
  }
11725
13721
  declare function normalizePath(p: string): string;
11726
13722
  declare function buildSchemaId(params: SchemaIdParams): string;
13723
+ /**
13724
+ * Produces a deterministic, storage-safe segment for places that impose short
13725
+ * identifier limits. This must not replace the semantic schemaId stored in
13726
+ * payloads or metadata.
13727
+ */
13728
+ declare function buildSchemaIdStorageKeySegment(schemaId: string): string;
11727
13729
 
11728
13730
  interface FetchWithEtagParams {
11729
13731
  url: string;
@@ -11903,5 +13905,5 @@ declare function provideFormHookPresets(presets: Array<FormHookPreset>): Provide
11903
13905
  /** Register a whitelist of allowed hook ids/patterns. */
11904
13906
  declare function provideHookWhitelist(allowed: Array<string | RegExp>): Provider[];
11905
13907
 
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 };
13908
+ 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 };
13909
+ 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, EntityLookupDisplayMetadata, EntityLookupMultiplePayloadMode, EntityLookupPayloadMode, EntityLookupResult, EntityLookupResultExtra, EntityLookupResultLayout, EntityLookupResultState, EntityLookupResultStateContext, EntityLookupSelectedLayout, EntityLookupSinglePayloadMode, 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 };