@praxisui/core 10.0.0-rc.7 → 10.0.0-rc.9

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/README.md CHANGED
@@ -451,6 +451,20 @@ Hosts that maintain an authored source separately from runtime state should cons
451
451
  `pageChange` remains the compatibility stream for every canonical page update, including persistent
452
452
  runtime state; transient composition projections remain excluded from both outputs.
453
453
 
454
+ With `autoPersist` enabled, pass a stable `pageIdentity` to scope the document and
455
+ listen to `persistenceChange: WidgetPagePersistenceState` for `loading`, `saving`,
456
+ `saved`, `resetting`, `idle` or `error`. `savedAt` is emitted only after the
457
+ storage confirms a save. An empty `{ widgets: [] }` document is a valid customized
458
+ page; absence of a stored document falls back to the host's page. The runtime
459
+ serializes save and reset operations for the identity so each storage call uses
460
+ the latest provider ETag. A 409/412 conflict blocks later writes until the host
461
+ explicitly calls `reloadPersistedPage(defaultPage)`, which discards the current
462
+ draft. `resetPersistedPage(defaultPage)` clears storage and applies the factory
463
+ page only after acknowledgement. `persistCurrentPage(page?)` requests an
464
+ explicit save or retries a recoverable save failure; callers can pass the exact
465
+ authored snapshot they want saved. Completion without a storage value reports
466
+ `errorKind: 'unacknowledged'` rather than claiming success.
467
+
454
468
  Pointer drag/resize in the canvas snapshots rendered CSS Grid track sizes and gutters at gesture
455
469
  start. Content-sized rows are not treated as uniformly sized `rowUnit` rows. Horizontal resize
456
470
  snaps to columns; vertical resize in `autoRows: 'content'` authors the item's independent
@@ -1065,6 +1079,26 @@ blur does not become an inner widget's default. Intentional inheritance through
1065
1079
  `context.ui.shell.preset/presets` remains supported. This isolation does not remove
1066
1080
  the host's shared theme tokens.
1067
1081
 
1082
+ ## App shell: host appearance
1083
+
1084
+ `PraxisAppShellComponent` materializes the host theme for both the sidebar and
1085
+ header. The existing theme roles `--sidebar` (falling back to `--card`),
1086
+ `--surface-gradient` (falling back to `--card`), `--command-gradient`,
1087
+ `--sidebar-foreground`, `--sidebar-primary`, `--sidebar-accent`,
1088
+ `--sidebar-accent-foreground`, `--primary-deep`, `--primary-foreground`,
1089
+ `--accent`, `--secondary`, `--overlay`
1090
+ and `--shadow-panel` apply to the native chrome and brand icon. Navigation,
1091
+ loading and mobile behavior do not change when these colors change. Without host
1092
+ theme tokens, the brand uses a dark blue fallback with a white icon; custom host
1093
+ colors should always supply their corresponding foreground roles.
1094
+
1095
+ Semantic badges use tinted surfaces with the host's foreground. Success,
1096
+ warning and info consume `--praxis-success`, `--praxis-warning` and
1097
+ `--praxis-info`; the established `--ready`/`--warning` variables and bounded
1098
+ fallbacks remain available. Error consumes `--destructive`. Hosts should use
1099
+ these existing roles rather than overriding private shell selectors. No new
1100
+ shell input, saved layout field or theme-specific component is required.
1101
+
1068
1102
  <!-- praxis-npm-catalog-links:start -->
1069
1103
  ## Official documentation and examples
1070
1104
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-10-12T01:05:29.617Z",
3
+ "generatedAt": "2026-10-12T12:49:05.370Z",
4
4
  "packageName": "@praxisui/core",
5
- "packageVersion": "10.0.0-rc.7",
5
+ "packageVersion": "10.0.0-rc.9",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 4,
@@ -530,6 +530,12 @@
530
530
  "required": false,
531
531
  "description": "Emitido quando a página canônica muda por authoring ou por estado runtime persistente; projeções transitórias permanecem somente no runtime."
532
532
  },
533
+ {
534
+ "name": "persistenceChange",
535
+ "type": "WidgetPagePersistenceState",
536
+ "required": false,
537
+ "description": "Estado da carga, gravação ou reset da página após resposta do storage, incluindo customized, savedAt e falhas de conflito ou ausência de confirmação."
538
+ },
533
539
  {
534
540
  "name": "pageAuthoringChange",
535
541
  "type": "WidgetPageDefinition",
@@ -3086,9 +3092,9 @@
3086
3092
  {
3087
3093
  "chunkIndex": 0,
3088
3094
  "chunkKind": "summary",
3089
- "content": "Component ID: praxis-dynamic-page\nSelector: praxis-dynamic-page\nFriendly Name: Dynamic Page\nDescription: Página dinâmica com widgets e composition.links em layout responsivo, incluindo mediação runtime para rich-content hospedado.\nCategory: page\nLib/Package: @praxisui/core\nTags: widget, page, dynamic, layout\nInputs:\n - page (WidgetPageDefinition)\n - context (Record<string, any>)\n - strictValidation (boolean)\n - enableCustomization (boolean)\n - authoringCapabilities (WidgetPageAuthoringCapabilities)\n - showPageSettingsButton (boolean)\n - shellEditorComponent (Type<any>)\n - pageEditorComponent (Type<any>)\n - autoPersist (boolean)\n - pageIdentity (PageIdentity)\n - componentInstanceId (string)\nOutputs:\n - pageChange (WidgetPageDefinition)\n - pageAuthoringChange (WidgetPageDefinition)\n - widgetEvent (WidgetEventEnvelope)\n - widgetDiagnosticsChange (Record<string, WidgetResolutionDiagnostic>)\n",
3095
+ "content": "Component ID: praxis-dynamic-page\nSelector: praxis-dynamic-page\nFriendly Name: Dynamic Page\nDescription: Página dinâmica com widgets e composition.links em layout responsivo, incluindo mediação runtime para rich-content hospedado.\nCategory: page\nLib/Package: @praxisui/core\nTags: widget, page, dynamic, layout\nInputs:\n - page (WidgetPageDefinition)\n - context (Record<string, any>)\n - strictValidation (boolean)\n - enableCustomization (boolean)\n - authoringCapabilities (WidgetPageAuthoringCapabilities)\n - showPageSettingsButton (boolean)\n - shellEditorComponent (Type<any>)\n - pageEditorComponent (Type<any>)\n - autoPersist (boolean)\n - pageIdentity (PageIdentity)\n - componentInstanceId (string)\nOutputs:\n - pageChange (WidgetPageDefinition)\n - persistenceChange (WidgetPagePersistenceState)\n - pageAuthoringChange (WidgetPageDefinition)\n - widgetEvent (WidgetEventEnvelope)\n - widgetDiagnosticsChange (Record<string, WidgetResolutionDiagnostic>)\n",
3090
3096
  "sourcePointer": "projects/praxis-core/src/lib/widgets/dynamic-widget-page.metadata.ts",
3091
- "contentHash": "d3f9a1519379d733fb13af496aff99953cd5a37399555955cbf747457185c2e3",
3097
+ "contentHash": "d16589daf72efcc199d385b1147bf0764f30a33343d9fe16486fdc2836a15d78",
3092
3098
  "sourceKind": "component_definition",
3093
3099
  "sourceId": "praxis-dynamic-page",
3094
3100
  "corpusVersion": "1.0.0"
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Component, InjectionToken, Injectable, inject, Inject, Optional, SkipSelf, makeEnvironmentProviders, APP_INITIALIZER, signal, computed, DestroyRef, ENVIRONMENT_INITIALIZER, ErrorHandler, isSignal, Input, Directive, input, booleanAttribute, ChangeDetectionStrategy, EventEmitter, Output, SecurityContext, ViewContainerRef, Injector, effect, SimpleChange, ElementRef, ChangeDetectorRef, afterEveryRender, contentChild, viewChild, HostBinding, output, afterNextRender, ViewChild, ViewEncapsulation, createEnvironmentInjector, EnvironmentInjector, reflectComponentType, HostListener, ViewChildren, TemplateRef, Renderer2 } from '@angular/core';
3
3
  import * as i1 from '@angular/common/http';
4
4
  import { HttpHeaders, HttpClient, HttpParams, HttpResponse, HttpContextToken, HttpErrorResponse, HTTP_INTERCEPTORS, withInterceptors } from '@angular/common/http';
5
- import { of, defer, throwError, from, EMPTY, BehaviorSubject, firstValueFrom, Subject, finalize as finalize$1, shareReplay as shareReplay$1, map as map$1, switchMap as switchMap$1, catchError as catchError$1, forkJoin, isObservable, combineLatest, merge, Subscription, timeout } from 'rxjs';
5
+ import { of, defer, throwError, from, EMPTY, BehaviorSubject, firstValueFrom, Subject, finalize as finalize$1, shareReplay as shareReplay$1, map as map$1, switchMap as switchMap$1, catchError as catchError$1, forkJoin, isObservable, combineLatest, merge, Subscription, defaultIfEmpty, timeout } from 'rxjs';
6
6
  import { switchMap, map, take, catchError, concatMap, tap, shareReplay, takeUntil, toArray, finalize, filter } from 'rxjs/operators';
7
7
  import * as i1$3 from '@angular/common';
8
8
  import { Location, DOCUMENT, NgTemplateOutlet, CommonModule, NgComponentOutlet } from '@angular/common';
@@ -44566,6 +44566,7 @@ function resolveCanvasExpandPlacement(key, direction, columns, source) {
44566
44566
  return { items, primaryItem: primary, limited: false, minimumKeys: [], blockedKeys: [] };
44567
44567
  }
44568
44568
 
44569
+ const PERSISTENCE_NO_ACK = Symbol('persistence-no-ack');
44569
44570
  const CANVAS_RESIZE_HANDLES = [
44570
44571
  { id: 'north', icon: 'north' },
44571
44572
  { id: 'north-east', icon: 'north_east' },
@@ -44603,6 +44604,8 @@ class DynamicWidgetPageComponent {
44603
44604
  /** Enables a contextual authoring assistant entrypoint for the selected widget. */
44604
44605
  showWidgetAssistantButton = false;
44605
44606
  pageChange = new EventEmitter();
44607
+ /** Storage acknowledgement for the currently active page identity. */
44608
+ persistenceChange = output();
44606
44609
  /** Emits only explicit authoring operations, never runtime state projection. */
44607
44610
  pageAuthoringChange = output();
44608
44611
  widgetEvent = new EventEmitter();
@@ -44673,6 +44676,18 @@ class DynamicWidgetPageComponent {
44673
44676
  destroyed = false;
44674
44677
  isHydrating = false;
44675
44678
  persistenceReady = false;
44679
+ persistenceGeneration = 0;
44680
+ persistenceRevision = 0;
44681
+ persistenceBlocked = false;
44682
+ persistenceLoad;
44683
+ persistenceMutation;
44684
+ persistenceMutations = [];
44685
+ lastPersistenceRequestedPage;
44686
+ pendingExplicitPageInputEcho;
44687
+ persistenceState = signal({
44688
+ status: 'idle',
44689
+ customized: false,
44690
+ }, ...(ngDevMode ? [{ debugName: "persistenceState" }] : /* istanbul ignore next */ []));
44676
44691
  warnedMissingKey = false;
44677
44692
  runtimeEventSequence = 0;
44678
44693
  widgetShellRenderCache = new Map();
@@ -44786,6 +44801,10 @@ class DynamicWidgetPageComponent {
44786
44801
  afterNextRender({ read: () => this.observeHostWidth() });
44787
44802
  }
44788
44803
  ngOnDestroy() {
44804
+ this.persistenceGeneration++;
44805
+ this.persistenceLoad?.unsubscribe();
44806
+ this.persistenceMutation?.unsubscribe();
44807
+ this.persistenceMutations = [];
44789
44808
  this.invalidateSettingsSessions();
44790
44809
  this.closeSizeEditor(false);
44791
44810
  if (this.activeCanvasInteraction) {
@@ -44801,6 +44820,11 @@ class DynamicWidgetPageComponent {
44801
44820
  this.compositionRuntime.destroy();
44802
44821
  }
44803
44822
  ngOnChanges(changes) {
44823
+ // applyResponsivePresentation may replace `this.page` with a runtime
44824
+ // projection below; persistence must inspect the actual host input.
44825
+ const incomingPage = changes['page']
44826
+ ? this.parsePage(changes['page'].currentValue)
44827
+ : undefined;
44804
44828
  // Controlled hosts return pageChange through [page]. That acknowledgement
44805
44829
  // must not dispose the open settings provider or rebuild its size template.
44806
44830
  // Any other input change or different document still invalidates the editor.
@@ -44882,25 +44906,42 @@ class DynamicWidgetPageComponent {
44882
44906
  this.applyResponsivePresentation(this.pageDefinition, widgets, this.pageRuntime);
44883
44907
  }
44884
44908
  if (this.autoPersist &&
44885
- (changes['pageIdentity'] || changes['componentInstanceId'])) {
44909
+ (changes['pageIdentity'] || changes['componentInstanceId'] || changes['autoPersist'])) {
44886
44910
  this.appliedPersisted = false;
44887
44911
  this.persistenceReady = false;
44888
44912
  }
44913
+ if (changes['autoPersist'] && !changes['autoPersist'].isFirstChange() && !this.autoPersist) {
44914
+ this.persistenceGeneration++;
44915
+ this.persistenceLoad?.unsubscribe();
44916
+ this.persistenceMutation?.unsubscribe();
44917
+ this.persistenceLoad = undefined;
44918
+ this.persistenceMutation = undefined;
44919
+ this.persistenceMutations = [];
44920
+ this.persistenceReady = false;
44921
+ this.publishPersistenceState({ status: 'idle', customized: false });
44922
+ }
44889
44923
  if (this.autoPersist &&
44890
44924
  !this.appliedPersisted &&
44891
44925
  (changes['page'] ||
44892
44926
  changes['context'] ||
44893
44927
  changes['pageIdentity'] ||
44894
- changes['componentInstanceId'])) {
44928
+ changes['componentInstanceId'] ||
44929
+ changes['autoPersist'])) {
44895
44930
  this.appliedPersisted = true;
44896
44931
  this.loadPersistedPage();
44897
44932
  }
44898
44933
  if (this.autoPersist &&
44899
- this.persistenceReady &&
44900
44934
  changes['page'] &&
44935
+ !changes['page'].isFirstChange() &&
44936
+ !changes['pageIdentity'] &&
44937
+ !changes['componentInstanceId'] &&
44938
+ !changes['autoPersist'] &&
44939
+ !acknowledgedPage &&
44901
44940
  !this.isHydrating) {
44902
- const parsed = this.parsePage(this.page);
44903
- if (parsed)
44941
+ const parsed = incomingPage;
44942
+ const explicitEcho = parsed && this.sameJsonStructure(parsed, this.pendingExplicitPageInputEcho);
44943
+ this.pendingExplicitPageInputEcho = undefined;
44944
+ if (parsed && !explicitEcho && !this.sameJsonStructure(this.toPersistedCanonicalPage(parsed), this.lastPersistenceRequestedPage))
44904
44945
  this.savePage(parsed);
44905
44946
  }
44906
44947
  }
@@ -50454,49 +50495,231 @@ class DynamicWidgetPageComponent {
50454
50495
  }
50455
50496
  return value;
50456
50497
  }
50498
+ /** Retries an explicit save after a recoverable failure. Conflicts require reload. */
50499
+ persistCurrentPage(page) {
50500
+ if (!this.autoPersist || this.destroyed)
50501
+ return;
50502
+ const state = this.persistenceState();
50503
+ if (this.persistenceBlocked) {
50504
+ if (state.operation !== 'save' || state.errorKind === 'conflict')
50505
+ return;
50506
+ this.persistenceBlocked = false;
50507
+ }
50508
+ const current = page ?? this.authoredPageDefinition ?? this.parsePage(this.page);
50509
+ if (current) {
50510
+ this.pendingExplicitPageInputEcho = page
50511
+ ? this.clonePageDefinition(page)
50512
+ : undefined;
50513
+ this.savePage(current);
50514
+ }
50515
+ }
50516
+ /** Clears the active identity's persisted page and applies the factory page after acknowledgement. */
50517
+ resetPersistedPage(defaultPage) {
50518
+ if (!this.autoPersist || this.destroyed || this.persistenceBlocked)
50519
+ return;
50520
+ const key = this.storageKey();
50521
+ if (!key)
50522
+ return;
50523
+ this.persistenceRevision++;
50524
+ this.lastPersistenceRequestedPage = undefined;
50525
+ this.pendingExplicitPageInputEcho = undefined;
50526
+ this.persistenceMutations.push({
50527
+ kind: 'reset',
50528
+ defaultPage: this.clonePageDefinition(defaultPage),
50529
+ revision: this.persistenceRevision,
50530
+ });
50531
+ this.pumpPersistenceMutations();
50532
+ }
50533
+ /** Explicitly discards the current draft and reloads storage after a conflict or load error. */
50534
+ reloadPersistedPage(defaultPage) {
50535
+ if (!this.autoPersist || this.destroyed || this.persistenceMutation)
50536
+ return;
50537
+ this.loadPersistedPage(defaultPage);
50538
+ }
50457
50539
  savePage(page) {
50540
+ if (this.destroyed || this.persistenceBlocked)
50541
+ return;
50458
50542
  const key = this.storageKey();
50459
50543
  if (!key)
50460
50544
  return;
50461
- try {
50462
- this.storage
50463
- .saveConfig(key, this.toPersistedCanonicalPage(page))
50464
- .pipe(take(1))
50465
- .subscribe({ error: () => { } });
50545
+ this.persistenceRevision++;
50546
+ const canonical = this.clonePageDefinition(this.toPersistedCanonicalPage(page));
50547
+ this.lastPersistenceRequestedPage = canonical;
50548
+ const last = this.persistenceMutations.at(-1);
50549
+ if (last?.kind === 'save') {
50550
+ this.persistenceMutations[this.persistenceMutations.length - 1] = {
50551
+ kind: 'save', page: canonical,
50552
+ };
50466
50553
  }
50467
- catch { }
50468
- }
50469
- loadPersistedPage() {
50554
+ else {
50555
+ this.persistenceMutations.push({ kind: 'save', page: canonical });
50556
+ }
50557
+ this.pumpPersistenceMutations();
50558
+ }
50559
+ loadPersistedPage(defaultPage) {
50560
+ const generation = ++this.persistenceGeneration;
50561
+ this.persistenceLoad?.unsubscribe();
50562
+ this.persistenceMutation?.unsubscribe();
50563
+ this.persistenceLoad = undefined;
50564
+ this.persistenceMutation = undefined;
50565
+ this.persistenceMutations = [];
50566
+ this.lastPersistenceRequestedPage = undefined;
50567
+ this.pendingExplicitPageInputEcho = undefined;
50568
+ this.persistenceRevision = 0;
50569
+ this.persistenceBlocked = false;
50570
+ this.persistenceReady = false;
50470
50571
  const key = this.storageKey();
50471
50572
  if (!key) {
50472
50573
  this.persistenceReady = true;
50574
+ this.publishPersistenceState({ status: 'idle', customized: false });
50473
50575
  return;
50474
50576
  }
50577
+ this.publishPersistenceState({ status: 'loading', customized: false, operation: 'load' });
50578
+ const revisionAtStart = this.persistenceRevision;
50475
50579
  try {
50476
- this.storage
50477
- .loadConfig(key)
50478
- .pipe(take(1))
50580
+ const subscription = new Subscription();
50581
+ this.persistenceLoad = subscription;
50582
+ subscription.add(this.storage.loadConfig(key)
50583
+ .pipe(take(1), defaultIfEmpty(PERSISTENCE_NO_ACK))
50479
50584
  .subscribe({
50480
50585
  next: (stored) => {
50481
- if (!stored)
50586
+ if (this.destroyed || generation !== this.persistenceGeneration)
50482
50587
  return;
50483
- this.isHydrating = true;
50484
- this.authoredPageDefinition = undefined;
50485
- this.applyPageUpdate(stored, false);
50486
- this.isHydrating = false;
50487
- },
50488
- error: () => {
50588
+ this.persistenceLoad = undefined;
50589
+ if (stored === PERSISTENCE_NO_ACK) {
50590
+ this.failPersistence('load', 'unacknowledged');
50591
+ return;
50592
+ }
50489
50593
  this.persistenceReady = true;
50594
+ if (revisionAtStart === this.persistenceRevision) {
50595
+ if (stored !== null || defaultPage) {
50596
+ this.isHydrating = true;
50597
+ try {
50598
+ const loaded = stored ?? defaultPage;
50599
+ this.authoredPageDefinition = this.clonePageDefinition(loaded);
50600
+ this.applyPageUpdate(loaded, false);
50601
+ }
50602
+ catch (error) {
50603
+ this.failPersistence('load', this.persistenceErrorKind(error));
50604
+ return;
50605
+ }
50606
+ finally {
50607
+ this.isHydrating = false;
50608
+ }
50609
+ }
50610
+ this.publishPersistenceState({
50611
+ status: stored === null ? 'idle' : 'saved',
50612
+ customized: stored !== null,
50613
+ operation: 'load',
50614
+ });
50615
+ }
50616
+ this.pumpPersistenceMutations();
50490
50617
  },
50491
- complete: () => {
50492
- this.persistenceReady = true;
50618
+ error: (error) => {
50619
+ if (this.destroyed || generation !== this.persistenceGeneration)
50620
+ return;
50621
+ this.persistenceLoad = undefined;
50622
+ this.failPersistence('load', this.persistenceErrorKind(error));
50493
50623
  },
50494
- });
50624
+ }));
50495
50625
  }
50496
- catch {
50497
- return undefined;
50626
+ catch (error) {
50627
+ if (generation === this.persistenceGeneration) {
50628
+ this.persistenceLoad = undefined;
50629
+ this.failPersistence('load', this.persistenceErrorKind(error));
50630
+ }
50631
+ }
50632
+ }
50633
+ pumpPersistenceMutations() {
50634
+ if (this.destroyed || !this.persistenceReady || this.persistenceBlocked || this.persistenceMutation)
50635
+ return;
50636
+ const mutation = this.persistenceMutations.shift();
50637
+ if (!mutation)
50638
+ return;
50639
+ const key = this.storageKey();
50640
+ if (!key)
50641
+ return;
50642
+ const generation = this.persistenceGeneration;
50643
+ const operation = mutation.kind === 'save' ? 'save' : 'reset';
50644
+ this.publishPersistenceState({
50645
+ ...this.persistenceState(),
50646
+ status: operation === 'save' ? 'saving' : 'resetting',
50647
+ operation,
50648
+ errorKind: undefined,
50649
+ });
50650
+ try {
50651
+ const subscription = new Subscription();
50652
+ this.persistenceMutation = subscription;
50653
+ // Invoke storage only when this mutation reaches the head: ApiConfigStorage
50654
+ // captures the current ETag when saveConfig/clearConfig is called.
50655
+ const result = mutation.kind === 'save'
50656
+ ? this.storage.saveConfig(key, mutation.page)
50657
+ : this.storage.clearConfig(key);
50658
+ subscription.add(result.pipe(take(1), defaultIfEmpty(PERSISTENCE_NO_ACK)).subscribe({
50659
+ next: (ack) => {
50660
+ if (this.destroyed || generation !== this.persistenceGeneration)
50661
+ return;
50662
+ this.persistenceMutation = undefined;
50663
+ if (ack === PERSISTENCE_NO_ACK) {
50664
+ this.failPersistence(operation, 'unacknowledged');
50665
+ return;
50666
+ }
50667
+ if (mutation.kind === 'reset') {
50668
+ // A later edit owns the visible draft even while this clear waits for
50669
+ // acknowledgement. Its queued save runs after the provider's ETag reset.
50670
+ if (mutation.revision === this.persistenceRevision) {
50671
+ this.isHydrating = true;
50672
+ try {
50673
+ this.authoredPageDefinition = this.clonePageDefinition(mutation.defaultPage);
50674
+ this.applyPageUpdate(mutation.defaultPage, false);
50675
+ }
50676
+ catch (error) {
50677
+ this.failPersistence('reset', this.persistenceErrorKind(error));
50678
+ return;
50679
+ }
50680
+ finally {
50681
+ this.isHydrating = false;
50682
+ }
50683
+ this.lastPersistenceRequestedPage = undefined;
50684
+ }
50685
+ this.publishPersistenceState({ status: 'idle', customized: false, operation: 'reset' });
50686
+ }
50687
+ else {
50688
+ this.publishPersistenceState({
50689
+ status: 'saved', customized: true, operation: 'save',
50690
+ savedAt: new Date().toISOString(),
50691
+ });
50692
+ }
50693
+ this.pumpPersistenceMutations();
50694
+ },
50695
+ error: (error) => {
50696
+ if (this.destroyed || generation !== this.persistenceGeneration)
50697
+ return;
50698
+ this.persistenceMutation = undefined;
50699
+ this.failPersistence(operation, this.persistenceErrorKind(error));
50700
+ },
50701
+ }));
50702
+ }
50703
+ catch (error) {
50704
+ this.persistenceMutation = undefined;
50705
+ this.failPersistence(operation, this.persistenceErrorKind(error));
50498
50706
  }
50499
50707
  }
50708
+ failPersistence(operation, errorKind) {
50709
+ this.persistenceBlocked = true;
50710
+ this.persistenceMutations = [];
50711
+ this.publishPersistenceState({
50712
+ ...this.persistenceState(), status: 'error', operation, errorKind,
50713
+ });
50714
+ }
50715
+ persistenceErrorKind(error) {
50716
+ const status = error?.status;
50717
+ return status === 409 || status === 412 ? 'conflict' : 'failure';
50718
+ }
50719
+ publishPersistenceState(state) {
50720
+ this.persistenceState.set(state);
50721
+ this.persistenceChange.emit(state);
50722
+ }
50500
50723
  storageKey() {
50501
50724
  if (this.pageIdentity?.routePath) {
50502
50725
  const base = buildPageKey(this.pageIdentity);
@@ -50554,7 +50777,7 @@ class DynamicWidgetPageComponent {
50554
50777
  throw new Error('DynamicWidgetPageComponent no longer accepts `page.connections`. Use `composition.links` only.');
50555
50778
  }
50556
50779
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: DynamicWidgetPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50557
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: DynamicWidgetPageComponent, isStandalone: true, selector: "praxis-dynamic-page", inputs: { page: "page", context: "context", strictValidation: "strictValidation", enableCustomization: "enableCustomization", authoringCapabilities: "authoringCapabilities", showPageSettingsButton: "showPageSettingsButton", shellEditorComponent: "shellEditorComponent", pageEditorComponent: "pageEditorComponent", autoPersist: "autoPersist", pageIdentity: "pageIdentity", componentInstanceId: "componentInstanceId", showWidgetAssistantButton: "showWidgetAssistantButton" }, outputs: { pageChange: "pageChange", pageAuthoringChange: "pageAuthoringChange", widgetEvent: "widgetEvent", widgetSelectionChange: "widgetSelectionChange", widgetAssistantRequested: "widgetAssistantRequested", widgetDiagnosticsChange: "widgetDiagnosticsChange" }, host: { listeners: { "lostpointercapture": "onCanvasPointerCancel($event)", "window:keydown.escape": "onCanvasEscape($event)", "window:resize": "onWindowResize()", "window:pointermove": "onCanvasPointerMove($event)", "window:pointerup": "onCanvasPointerUp($event)", "window:pointercancel": "onCanvasPointerCancel($event)" } }, providers: [providePraxisI18nConfig(DYNAMIC_WIDGET_PAGE_I18N_CONFIG)], viewQueries: [{ propertyName: "widgetSizeTemplate", first: true, predicate: ["widgetSizeTemplate"], descendants: true, static: true }, { propertyName: "pageCanvasHost", first: true, predicate: ["pageCanvasHost"], descendants: true }, { propertyName: "widgetLoaders", predicate: ["widgetLoader"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
50780
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: DynamicWidgetPageComponent, isStandalone: true, selector: "praxis-dynamic-page", inputs: { page: "page", context: "context", strictValidation: "strictValidation", enableCustomization: "enableCustomization", authoringCapabilities: "authoringCapabilities", showPageSettingsButton: "showPageSettingsButton", shellEditorComponent: "shellEditorComponent", pageEditorComponent: "pageEditorComponent", autoPersist: "autoPersist", pageIdentity: "pageIdentity", componentInstanceId: "componentInstanceId", showWidgetAssistantButton: "showWidgetAssistantButton" }, outputs: { pageChange: "pageChange", persistenceChange: "persistenceChange", pageAuthoringChange: "pageAuthoringChange", widgetEvent: "widgetEvent", widgetSelectionChange: "widgetSelectionChange", widgetAssistantRequested: "widgetAssistantRequested", widgetDiagnosticsChange: "widgetDiagnosticsChange" }, host: { listeners: { "lostpointercapture": "onCanvasPointerCancel($event)", "window:keydown.escape": "onCanvasEscape($event)", "window:resize": "onWindowResize()", "window:pointermove": "onCanvasPointerMove($event)", "window:pointerup": "onCanvasPointerUp($event)", "window:pointercancel": "onCanvasPointerCancel($event)" } }, providers: [providePraxisI18nConfig(DYNAMIC_WIDGET_PAGE_I18N_CONFIG)], viewQueries: [{ propertyName: "widgetSizeTemplate", first: true, predicate: ["widgetSizeTemplate"], descendants: true, static: true }, { propertyName: "pageCanvasHost", first: true, predicate: ["pageCanvasHost"], descendants: true }, { propertyName: "widgetLoaders", predicate: ["widgetLoader"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
50558
50781
  <div
50559
50782
  class="pdx-page-wrapper"
50560
50783
  [class.editing]="enableCustomization"
@@ -51586,7 +51809,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
51586
51809
  type: Input
51587
51810
  }], pageChange: [{
51588
51811
  type: Output
51589
- }], pageAuthoringChange: [{ type: i0.Output, args: ["pageAuthoringChange"] }], widgetEvent: [{
51812
+ }], persistenceChange: [{ type: i0.Output, args: ["persistenceChange"] }], pageAuthoringChange: [{ type: i0.Output, args: ["pageAuthoringChange"] }], widgetEvent: [{
51590
51813
  type: Output
51591
51814
  }], widgetSelectionChange: [{
51592
51815
  type: Output
@@ -51694,6 +51917,11 @@ const PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA = {
51694
51917
  type: 'WidgetPageDefinition',
51695
51918
  description: 'Emitido quando a página canônica muda por authoring ou por estado runtime persistente; projeções transitórias permanecem somente no runtime.',
51696
51919
  },
51920
+ {
51921
+ name: 'persistenceChange',
51922
+ type: 'WidgetPagePersistenceState',
51923
+ description: 'Estado da carga, gravação ou reset da página após resposta do storage, incluindo customized, savedAt e falhas de conflito ou ausência de confirmação.',
51924
+ },
51697
51925
  {
51698
51926
  name: 'pageAuthoringChange',
51699
51927
  type: 'WidgetPageDefinition',
@@ -56104,7 +56332,7 @@ class PraxisAppShellComponent {
56104
56332
  </main>
56105
56333
  </div>
56106
56334
  </div>
56107
- `, isInline: true, styles: [":host{display:block;width:100%;height:100vh;overflow:hidden;font-family:inherit}.praxis-shell{display:flex;width:100%;height:100%;background:var(--background, #090d16);color:var(--foreground, #f0f4f8);position:relative;overflow:hidden;box-sizing:border-box}.praxis-shell__skip-link{position:absolute;top:-100px;left:16px;background:var(--primary, #0ea5e9);color:#fff;padding:8px 16px;border-radius:6px;font-weight:600;font-size:.875rem;z-index:9999;text-decoration:none;transition:top .2s ease}.praxis-shell__skip-link:focus{top:16px;outline:2px solid #ffffff;outline-offset:2px}.praxis-shell__progress-bar{position:absolute;top:0;left:0;right:0;height:3px;background:#38bdf826;z-index:1000;overflow:hidden}.praxis-shell__progress-laser{width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--primary, #0ea5e9),#38bdf8,transparent);box-shadow:0 0 10px #38bdf8;animation:praxis-laser-slide 1.4s infinite cubic-bezier(.4,0,.2,1)}@keyframes praxis-laser-slide{0%{transform:translate(-150%)}to{transform:translate(350%)}}.praxis-shell__backdrop{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:praxis-fade-in .2s ease}@keyframes praxis-fade-in{0%{opacity:0}to{opacity:1}}.praxis-shell__sidebar{width:260px;min-width:260px;height:100%;background:var(--card, #0f172a);border-right:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;flex-direction:column;transition:width .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);z-index:250;overflow:hidden}.praxis-shell--collapsed .praxis-shell__sidebar{width:72px;min-width:72px}.praxis-shell__brand{height:64px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border, rgba(255, 255, 255, .06))}.praxis-shell__brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;min-width:0}.praxis-shell__brand-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--primary, #0ea5e9),#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0ea5e940}.praxis-shell__brand-logo{height:36px;max-width:140px;object-fit:contain}.praxis-shell__brand-info{display:flex;flex-direction:column;overflow:hidden}.praxis-shell__brand-title{font-weight:700;font-size:.95rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;letter-spacing:-.01em}.praxis-shell__brand-meta{font-size:.72rem;color:var(--muted-foreground, #94a3b8);white-space:nowrap}.praxis-shell__mobile-close-btn{display:none;background:transparent;border:none;color:var(--muted-foreground, #94a3b8);cursor:pointer;padding:6px;border-radius:6px}.praxis-shell__nav{flex:1;padding:16px 10px;overflow-y:auto;overflow-x:hidden}.praxis-shell__nav-group{margin-bottom:20px}.praxis-shell__nav-group-title{padding:0 10px 8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground, #64748b)}.praxis-shell__nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.praxis-shell__nav-item{margin:0}.praxis-shell__nav-link{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;color:var(--muted-foreground, #94a3b8);text-decoration:none;font-size:.88rem;font-weight:500;transition:background .15s ease,color .15s ease;cursor:pointer;white-space:nowrap}.praxis-shell__nav-link:hover{background:#ffffff0d;color:var(--foreground, #f8fafc)}.praxis-shell__nav-link.active{background:color-mix(in oklab,var(--primary, #0ea5e9) 16%,transparent);color:var(--primary, #38bdf8);font-weight:600}.praxis-shell__nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.praxis-shell__nav-icon .material-symbols-outlined{font-size:20px}.praxis-shell__nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.praxis-shell__nav-badge{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:9999px;line-height:1}.praxis-shell__nav-badge--primary{background:var(--primary, #0ea5e9);color:#fff}.praxis-shell__nav-badge--success{background:#10b981;color:#fff}.praxis-shell__nav-badge--warning{background:#f59e0b;color:#fff}.praxis-shell__nav-badge--error{background:#ef4444;color:#fff}.praxis-shell__nav-badge--info{background:#3b82f6;color:#fff}.praxis-shell__nav-badge--neutral{background:#64748b;color:#fff}.praxis-shell__sidebar-footer-status{padding:10px}.praxis-shell__status-card{padding:10px 12px;border-radius:10px;background:#ffffff08;border:1px solid var(--border, rgba(255, 255, 255, .07))}.praxis-shell__status-card--success{border-color:#10b9814d}.praxis-shell__status-card--warning{border-color:#f59e0b4d}.praxis-shell__status-card--error{border-color:#ef44444d}.praxis-shell__status-card-header{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600}.praxis-shell__pulse-indicator{position:relative;display:inline-flex;width:8px;height:8px}.praxis-shell__pulse-ring{position:absolute;inset:-2px;border-radius:9999px;background:#10b981;opacity:.6;animation:praxis-pulse 1.8s cubic-bezier(0,0,.2,1) infinite}.praxis-shell__pulse-dot{width:8px;height:8px;border-radius:9999px;background:#10b981}@keyframes praxis-pulse{0%{transform:scale(.9);opacity:.8}70%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}.praxis-shell__status-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.praxis-shell__status-card-metric{font-size:.7rem;color:var(--muted-foreground, #94a3b8);margin-top:4px}.praxis-shell__sidebar-toggle-bar{padding:10px;border-top:1px solid var(--border, rgba(255, 255, 255, .06))}.praxis-shell__collapse-btn{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;border-radius:8px;background:transparent;border:none;color:var(--muted-foreground, #94a3b8);cursor:pointer;font-size:.85rem;font-weight:500;transition:background .15s ease,color .15s ease}.praxis-shell__collapse-btn:hover{background:#ffffff0d;color:var(--foreground, #f8fafc)}.praxis-shell__stage{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.praxis-shell__topbar{height:64px;padding:0 24px;background:var(--card, #0f172a);border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;align-items:center;gap:16px;flex-shrink:0;z-index:100}.praxis-shell__burger-btn{display:none;background:transparent;border:none;color:var(--foreground, #f8fafc);cursor:pointer;padding:8px;border-radius:8px}.praxis-shell__search-box{display:flex;align-items:center;gap:10px;width:320px;max-width:100%;height:38px;padding:0 12px;background:#ffffff0a;border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:9px;color:var(--muted-foreground, #94a3b8);transition:border-color .15s ease,box-shadow .15s ease}.praxis-shell__search-box:focus-within{border-color:var(--primary, #0ea5e9);box-shadow:0 0 0 2px #0ea5e933;color:var(--foreground, #f8fafc)}.praxis-shell__search-icon{font-size:18px}.praxis-shell__search-input{flex:1;background:transparent;border:none;outline:none;color:inherit;font-size:.85rem}.praxis-shell__topbar-spacer{flex:1}.praxis-shell__header-actions{display:flex;align-items:center;gap:8px}.praxis-shell__icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:transparent;border:1px solid var(--border, rgba(255, 255, 255, .08));color:var(--muted-foreground, #94a3b8);cursor:pointer;transition:all .15s ease}.praxis-shell__icon-btn:hover{background:#ffffff0f;color:var(--foreground, #f8fafc);border-color:#ffffff26}.praxis-shell__user-profile{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 6px;border-radius:9999px;background:#ffffff08;border:1px solid var(--border, rgba(255, 255, 255, .08));cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.praxis-shell__user-profile:hover{background:#ffffff12;border-color:#ffffff29}.praxis-shell__user-avatar{width:28px;height:28px;border-radius:9999px;object-fit:cover}.praxis-shell__user-initials{width:28px;height:28px;border-radius:9999px;background:var(--primary, #0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.praxis-shell__user-info{display:flex;flex-direction:column;line-height:1.2}.praxis-shell__user-name{font-size:.82rem;font-weight:600;color:var(--foreground, #f8fafc)}.praxis-shell__user-role{font-size:.68rem;color:var(--muted-foreground, #94a3b8)}.praxis-shell__main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px;box-sizing:border-box;background:var(--background, #090d16)}@media(max-width:900px){.praxis-shell__burger-btn,.praxis-shell__mobile-close-btn{display:flex}.praxis-shell__sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);width:280px!important;box-shadow:4px 0 24px #00000080}.praxis-shell--mobile-open .praxis-shell__sidebar{transform:translate(0)}.praxis-shell__search-box{width:200px}.praxis-shell__user-info{display:none}}@media(max-width:600px){.praxis-shell__topbar{padding:0 12px}.praxis-shell__search-box{display:none}.praxis-shell__main{padding:16px 12px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56335
+ `, isInline: true, styles: [":host{display:block;width:100%;height:100vh;overflow:hidden;font-family:inherit}.praxis-shell{display:flex;width:100%;height:100%;background:var(--background, #090d16);color:var(--foreground, #f0f4f8);position:relative;overflow:hidden;box-sizing:border-box}.praxis-shell__skip-link{position:absolute;top:-100px;left:16px;background:var(--primary, #0ea5e9);color:var(--primary-foreground, #ffffff);padding:8px 16px;border-radius:6px;font-weight:600;font-size:.875rem;z-index:9999;text-decoration:none;transition:top .2s ease}.praxis-shell__skip-link:focus{top:16px;outline:2px solid var(--ring, var(--primary, #0ea5e9));outline-offset:2px}.praxis-shell__progress-bar{position:absolute;top:0;left:0;right:0;height:3px;background:color-mix(in oklab,var(--primary, #0ea5e9) 15%,transparent);z-index:1000;overflow:hidden}.praxis-shell__progress-laser{width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--primary, #0ea5e9),var(--primary-deep, var(--primary, #0ea5e9)),transparent);box-shadow:0 0 10px color-mix(in oklab,var(--primary, #0ea5e9) 30%,transparent);animation:praxis-laser-slide 1.4s infinite cubic-bezier(.4,0,.2,1)}@keyframes praxis-laser-slide{0%{transform:translate(-150%)}to{transform:translate(350%)}}.praxis-shell__backdrop{position:fixed;inset:0;background:var(--overlay, rgba(0, 0, 0, .55));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:praxis-fade-in .2s ease}@keyframes praxis-fade-in{0%{opacity:0}to{opacity:1}}.praxis-shell__sidebar{width:260px;min-width:260px;height:100%;background:var(--sidebar, var(--card, #0f172a));color:var(--sidebar-foreground, var(--foreground, #f0f4f8));border-right:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;flex-direction:column;transition:width .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);z-index:250;overflow:hidden}.praxis-shell--collapsed .praxis-shell__sidebar{width:72px;min-width:72px}.praxis-shell__brand{height:64px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border, rgba(255, 255, 255, .06))}.praxis-shell__brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;min-width:0}.praxis-shell__brand-icon{width:40px;height:40px;border-radius:10px;background:var(--command-gradient, linear-gradient(135deg, var(--primary, #0369a1), var(--primary-deep, var(--primary, #075985))));color:var(--primary-foreground, #fff);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-panel, 0 4px 12px color-mix(in oklab, var(--primary, #0ea5e9) 20%, transparent))}.praxis-shell__brand-logo{height:36px;max-width:140px;object-fit:contain}.praxis-shell__brand-info{display:flex;flex-direction:column;overflow:hidden}.praxis-shell__brand-title{font-weight:700;font-size:.95rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;letter-spacing:-.01em}.praxis-shell__brand-meta{font-size:.72rem;color:var(--sidebar-foreground, var(--muted-foreground, #94a3b8));white-space:nowrap}.praxis-shell__mobile-close-btn{display:none;background:transparent;border:none;color:var(--sidebar-foreground, var(--muted-foreground, #94a3b8));cursor:pointer;padding:6px;border-radius:6px}.praxis-shell__nav{flex:1;padding:16px 10px;overflow-y:auto;overflow-x:hidden}.praxis-shell__nav-group{margin-bottom:20px}.praxis-shell__nav-group-title{padding:0 10px 8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-foreground, var(--muted-foreground, #64748b))}.praxis-shell__nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.praxis-shell__nav-item{margin:0}.praxis-shell__nav-link{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;color:var(--sidebar-foreground, var(--muted-foreground, #94a3b8));text-decoration:none;font-size:.88rem;font-weight:500;transition:background .15s ease,color .15s ease;cursor:pointer;white-space:nowrap}.praxis-shell__nav-link:hover{background:var(--sidebar-accent, color-mix(in oklab, var(--sidebar-foreground, var(--foreground, #f0f4f8)) 10%, transparent));color:var(--sidebar-accent-foreground, var(--sidebar-foreground, var(--foreground, #f8fafc)))}.praxis-shell__nav-link.active{background:color-mix(in oklab,var(--primary, #0ea5e9) 16%,transparent);color:var(--sidebar-primary, var(--primary, #38bdf8));font-weight:600}.praxis-shell__nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.praxis-shell__nav-icon .material-symbols-outlined{font-size:20px}.praxis-shell__nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.praxis-shell__nav-badge{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:9999px;line-height:1}.praxis-shell__nav-badge--primary{background:color-mix(in oklab,var(--primary, #0ea5e9) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--success{background:color-mix(in oklab,var(--praxis-success, var(--ready, #15803d)) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--warning{background:color-mix(in oklab,var(--praxis-warning, var(--warning, #a16207)) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--error{background:color-mix(in oklab,var(--destructive, #b91c1c) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--info{background:color-mix(in oklab,var(--praxis-info, #2563eb) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--neutral{background:color-mix(in oklab,var(--muted-foreground, #64748b) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__sidebar-footer-status{padding:10px}.praxis-shell__status-card{padding:10px 12px;border-radius:10px;background:var(--sidebar-accent, color-mix(in oklab, var(--sidebar-foreground, var(--foreground, #f0f4f8)) 10%, transparent));border:1px solid var(--border, rgba(255, 255, 255, .07));color:var(--sidebar-accent-foreground, var(--sidebar-foreground, var(--foreground, #f0f4f8)))}.praxis-shell__status-card--success{border-color:color-mix(in oklab,var(--praxis-success, var(--ready, #15803d)) 30%,transparent)}.praxis-shell__status-card--warning{border-color:color-mix(in oklab,var(--praxis-warning, var(--warning, #a16207)) 30%,transparent)}.praxis-shell__status-card--error{border-color:color-mix(in oklab,var(--destructive, #b91c1c) 30%,transparent)}.praxis-shell__status-card-header{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600}.praxis-shell__pulse-indicator{position:relative;display:inline-flex;width:8px;height:8px}.praxis-shell__pulse-ring{position:absolute;inset:-2px;border-radius:9999px;background:var(--praxis-success, var(--ready, #15803d));opacity:.6;animation:praxis-pulse 1.8s cubic-bezier(0,0,.2,1) infinite}.praxis-shell__pulse-dot{width:8px;height:8px;border-radius:9999px;background:var(--praxis-success, var(--ready, #15803d))}@keyframes praxis-pulse{0%{transform:scale(.9);opacity:.8}70%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}.praxis-shell__status-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.praxis-shell__status-card-metric{font-size:.7rem;color:inherit;margin-top:4px}.praxis-shell__sidebar-toggle-bar{padding:10px;border-top:1px solid var(--border, rgba(255, 255, 255, .06))}.praxis-shell__collapse-btn{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;border-radius:8px;background:transparent;border:none;color:var(--sidebar-foreground, var(--muted-foreground, #94a3b8));cursor:pointer;font-size:.85rem;font-weight:500;transition:background .15s ease,color .15s ease}.praxis-shell__collapse-btn:hover{background:var(--sidebar-accent, color-mix(in oklab, var(--sidebar-foreground, var(--foreground, #f0f4f8)) 10%, transparent));color:var(--sidebar-accent-foreground, var(--sidebar-foreground, var(--foreground, #f8fafc)))}.praxis-shell__stage{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.praxis-shell__topbar{height:64px;padding:0 24px;background:var(--surface-gradient, var(--card, #0f172a));border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;align-items:center;gap:16px;flex-shrink:0;z-index:100}.praxis-shell__burger-btn{display:none;background:transparent;border:none;color:var(--foreground, #f8fafc);cursor:pointer;padding:8px;border-radius:8px}.praxis-shell__search-box{display:flex;align-items:center;gap:10px;width:320px;max-width:100%;height:38px;padding:0 12px;background:var(--secondary, color-mix(in oklab, var(--card, #ffffff) 95%, var(--primary, #0ea5e9)));border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:9px;color:var(--muted-foreground, #94a3b8);transition:border-color .15s ease,box-shadow .15s ease}.praxis-shell__search-box:focus-within{border-color:var(--primary, #0ea5e9);box-shadow:0 0 0 2px color-mix(in oklab,var(--ring, var(--primary, #0ea5e9)) 20%,transparent);color:var(--foreground, #f8fafc)}.praxis-shell__search-icon{font-size:18px}.praxis-shell__search-input{flex:1;background:transparent;border:none;outline:none;color:inherit;font-size:.85rem}.praxis-shell__topbar-spacer{flex:1}.praxis-shell__header-actions{display:flex;align-items:center;gap:8px}.praxis-shell__icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:transparent;border:1px solid var(--border, rgba(255, 255, 255, .08));color:var(--muted-foreground, #94a3b8);cursor:pointer;transition:all .15s ease}.praxis-shell__icon-btn:hover{background:var(--accent, color-mix(in oklab, var(--primary, #0ea5e9) 8%, transparent));color:var(--foreground, #f8fafc);border-color:var(--border, rgba(255, 255, 255, .15))}.praxis-shell__user-profile{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 6px;border-radius:9999px;background:var(--secondary, rgba(255, 255, 255, .03));border:1px solid var(--border, rgba(255, 255, 255, .08));cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.praxis-shell__user-profile:hover{background:var(--accent, color-mix(in oklab, var(--primary, #0ea5e9) 8%, transparent));border-color:var(--border, rgba(255, 255, 255, .16))}.praxis-shell__user-avatar{width:28px;height:28px;border-radius:9999px;object-fit:cover}.praxis-shell__user-initials{width:28px;height:28px;border-radius:9999px;background:var(--primary, #0ea5e9);color:var(--primary-foreground, #fff);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.praxis-shell__user-info{display:flex;flex-direction:column;line-height:1.2}.praxis-shell__user-name{font-size:.82rem;font-weight:600;color:var(--foreground, #f8fafc)}.praxis-shell__user-role{font-size:.68rem;color:var(--muted-foreground, #94a3b8)}.praxis-shell__main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px;box-sizing:border-box;background:var(--background, #090d16)}@media(max-width:900px){.praxis-shell__burger-btn,.praxis-shell__mobile-close-btn{display:flex}.praxis-shell__sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);width:280px!important;box-shadow:4px 0 24px #00000080}.praxis-shell--mobile-open .praxis-shell__sidebar{transform:translate(0)}.praxis-shell__search-box{width:200px}.praxis-shell__user-info{display:none}}@media(max-width:600px){.praxis-shell__topbar{padding:0 12px}.praxis-shell__search-box{display:none}.praxis-shell__main{padding:16px 12px}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
56108
56336
  }
56109
56337
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisAppShellComponent, decorators: [{
56110
56338
  type: Component,
@@ -56368,7 +56596,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
56368
56596
  </main>
56369
56597
  </div>
56370
56598
  </div>
56371
- `, styles: [":host{display:block;width:100%;height:100vh;overflow:hidden;font-family:inherit}.praxis-shell{display:flex;width:100%;height:100%;background:var(--background, #090d16);color:var(--foreground, #f0f4f8);position:relative;overflow:hidden;box-sizing:border-box}.praxis-shell__skip-link{position:absolute;top:-100px;left:16px;background:var(--primary, #0ea5e9);color:#fff;padding:8px 16px;border-radius:6px;font-weight:600;font-size:.875rem;z-index:9999;text-decoration:none;transition:top .2s ease}.praxis-shell__skip-link:focus{top:16px;outline:2px solid #ffffff;outline-offset:2px}.praxis-shell__progress-bar{position:absolute;top:0;left:0;right:0;height:3px;background:#38bdf826;z-index:1000;overflow:hidden}.praxis-shell__progress-laser{width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--primary, #0ea5e9),#38bdf8,transparent);box-shadow:0 0 10px #38bdf8;animation:praxis-laser-slide 1.4s infinite cubic-bezier(.4,0,.2,1)}@keyframes praxis-laser-slide{0%{transform:translate(-150%)}to{transform:translate(350%)}}.praxis-shell__backdrop{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:praxis-fade-in .2s ease}@keyframes praxis-fade-in{0%{opacity:0}to{opacity:1}}.praxis-shell__sidebar{width:260px;min-width:260px;height:100%;background:var(--card, #0f172a);border-right:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;flex-direction:column;transition:width .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);z-index:250;overflow:hidden}.praxis-shell--collapsed .praxis-shell__sidebar{width:72px;min-width:72px}.praxis-shell__brand{height:64px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border, rgba(255, 255, 255, .06))}.praxis-shell__brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;min-width:0}.praxis-shell__brand-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--primary, #0ea5e9),#6366f1);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #0ea5e940}.praxis-shell__brand-logo{height:36px;max-width:140px;object-fit:contain}.praxis-shell__brand-info{display:flex;flex-direction:column;overflow:hidden}.praxis-shell__brand-title{font-weight:700;font-size:.95rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;letter-spacing:-.01em}.praxis-shell__brand-meta{font-size:.72rem;color:var(--muted-foreground, #94a3b8);white-space:nowrap}.praxis-shell__mobile-close-btn{display:none;background:transparent;border:none;color:var(--muted-foreground, #94a3b8);cursor:pointer;padding:6px;border-radius:6px}.praxis-shell__nav{flex:1;padding:16px 10px;overflow-y:auto;overflow-x:hidden}.praxis-shell__nav-group{margin-bottom:20px}.praxis-shell__nav-group-title{padding:0 10px 8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground, #64748b)}.praxis-shell__nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.praxis-shell__nav-item{margin:0}.praxis-shell__nav-link{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;color:var(--muted-foreground, #94a3b8);text-decoration:none;font-size:.88rem;font-weight:500;transition:background .15s ease,color .15s ease;cursor:pointer;white-space:nowrap}.praxis-shell__nav-link:hover{background:#ffffff0d;color:var(--foreground, #f8fafc)}.praxis-shell__nav-link.active{background:color-mix(in oklab,var(--primary, #0ea5e9) 16%,transparent);color:var(--primary, #38bdf8);font-weight:600}.praxis-shell__nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.praxis-shell__nav-icon .material-symbols-outlined{font-size:20px}.praxis-shell__nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.praxis-shell__nav-badge{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:9999px;line-height:1}.praxis-shell__nav-badge--primary{background:var(--primary, #0ea5e9);color:#fff}.praxis-shell__nav-badge--success{background:#10b981;color:#fff}.praxis-shell__nav-badge--warning{background:#f59e0b;color:#fff}.praxis-shell__nav-badge--error{background:#ef4444;color:#fff}.praxis-shell__nav-badge--info{background:#3b82f6;color:#fff}.praxis-shell__nav-badge--neutral{background:#64748b;color:#fff}.praxis-shell__sidebar-footer-status{padding:10px}.praxis-shell__status-card{padding:10px 12px;border-radius:10px;background:#ffffff08;border:1px solid var(--border, rgba(255, 255, 255, .07))}.praxis-shell__status-card--success{border-color:#10b9814d}.praxis-shell__status-card--warning{border-color:#f59e0b4d}.praxis-shell__status-card--error{border-color:#ef44444d}.praxis-shell__status-card-header{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600}.praxis-shell__pulse-indicator{position:relative;display:inline-flex;width:8px;height:8px}.praxis-shell__pulse-ring{position:absolute;inset:-2px;border-radius:9999px;background:#10b981;opacity:.6;animation:praxis-pulse 1.8s cubic-bezier(0,0,.2,1) infinite}.praxis-shell__pulse-dot{width:8px;height:8px;border-radius:9999px;background:#10b981}@keyframes praxis-pulse{0%{transform:scale(.9);opacity:.8}70%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}.praxis-shell__status-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.praxis-shell__status-card-metric{font-size:.7rem;color:var(--muted-foreground, #94a3b8);margin-top:4px}.praxis-shell__sidebar-toggle-bar{padding:10px;border-top:1px solid var(--border, rgba(255, 255, 255, .06))}.praxis-shell__collapse-btn{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;border-radius:8px;background:transparent;border:none;color:var(--muted-foreground, #94a3b8);cursor:pointer;font-size:.85rem;font-weight:500;transition:background .15s ease,color .15s ease}.praxis-shell__collapse-btn:hover{background:#ffffff0d;color:var(--foreground, #f8fafc)}.praxis-shell__stage{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.praxis-shell__topbar{height:64px;padding:0 24px;background:var(--card, #0f172a);border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;align-items:center;gap:16px;flex-shrink:0;z-index:100}.praxis-shell__burger-btn{display:none;background:transparent;border:none;color:var(--foreground, #f8fafc);cursor:pointer;padding:8px;border-radius:8px}.praxis-shell__search-box{display:flex;align-items:center;gap:10px;width:320px;max-width:100%;height:38px;padding:0 12px;background:#ffffff0a;border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:9px;color:var(--muted-foreground, #94a3b8);transition:border-color .15s ease,box-shadow .15s ease}.praxis-shell__search-box:focus-within{border-color:var(--primary, #0ea5e9);box-shadow:0 0 0 2px #0ea5e933;color:var(--foreground, #f8fafc)}.praxis-shell__search-icon{font-size:18px}.praxis-shell__search-input{flex:1;background:transparent;border:none;outline:none;color:inherit;font-size:.85rem}.praxis-shell__topbar-spacer{flex:1}.praxis-shell__header-actions{display:flex;align-items:center;gap:8px}.praxis-shell__icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:transparent;border:1px solid var(--border, rgba(255, 255, 255, .08));color:var(--muted-foreground, #94a3b8);cursor:pointer;transition:all .15s ease}.praxis-shell__icon-btn:hover{background:#ffffff0f;color:var(--foreground, #f8fafc);border-color:#ffffff26}.praxis-shell__user-profile{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 6px;border-radius:9999px;background:#ffffff08;border:1px solid var(--border, rgba(255, 255, 255, .08));cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.praxis-shell__user-profile:hover{background:#ffffff12;border-color:#ffffff29}.praxis-shell__user-avatar{width:28px;height:28px;border-radius:9999px;object-fit:cover}.praxis-shell__user-initials{width:28px;height:28px;border-radius:9999px;background:var(--primary, #0ea5e9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.praxis-shell__user-info{display:flex;flex-direction:column;line-height:1.2}.praxis-shell__user-name{font-size:.82rem;font-weight:600;color:var(--foreground, #f8fafc)}.praxis-shell__user-role{font-size:.68rem;color:var(--muted-foreground, #94a3b8)}.praxis-shell__main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px;box-sizing:border-box;background:var(--background, #090d16)}@media(max-width:900px){.praxis-shell__burger-btn,.praxis-shell__mobile-close-btn{display:flex}.praxis-shell__sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);width:280px!important;box-shadow:4px 0 24px #00000080}.praxis-shell--mobile-open .praxis-shell__sidebar{transform:translate(0)}.praxis-shell__search-box{width:200px}.praxis-shell__user-info{display:none}}@media(max-width:600px){.praxis-shell__topbar{padding:0 12px}.praxis-shell__search-box{display:none}.praxis-shell__main{padding:16px 12px}}\n"] }]
56599
+ `, styles: [":host{display:block;width:100%;height:100vh;overflow:hidden;font-family:inherit}.praxis-shell{display:flex;width:100%;height:100%;background:var(--background, #090d16);color:var(--foreground, #f0f4f8);position:relative;overflow:hidden;box-sizing:border-box}.praxis-shell__skip-link{position:absolute;top:-100px;left:16px;background:var(--primary, #0ea5e9);color:var(--primary-foreground, #ffffff);padding:8px 16px;border-radius:6px;font-weight:600;font-size:.875rem;z-index:9999;text-decoration:none;transition:top .2s ease}.praxis-shell__skip-link:focus{top:16px;outline:2px solid var(--ring, var(--primary, #0ea5e9));outline-offset:2px}.praxis-shell__progress-bar{position:absolute;top:0;left:0;right:0;height:3px;background:color-mix(in oklab,var(--primary, #0ea5e9) 15%,transparent);z-index:1000;overflow:hidden}.praxis-shell__progress-laser{width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--primary, #0ea5e9),var(--primary-deep, var(--primary, #0ea5e9)),transparent);box-shadow:0 0 10px color-mix(in oklab,var(--primary, #0ea5e9) 30%,transparent);animation:praxis-laser-slide 1.4s infinite cubic-bezier(.4,0,.2,1)}@keyframes praxis-laser-slide{0%{transform:translate(-150%)}to{transform:translate(350%)}}.praxis-shell__backdrop{position:fixed;inset:0;background:var(--overlay, rgba(0, 0, 0, .55));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;animation:praxis-fade-in .2s ease}@keyframes praxis-fade-in{0%{opacity:0}to{opacity:1}}.praxis-shell__sidebar{width:260px;min-width:260px;height:100%;background:var(--sidebar, var(--card, #0f172a));color:var(--sidebar-foreground, var(--foreground, #f0f4f8));border-right:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;flex-direction:column;transition:width .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);z-index:250;overflow:hidden}.praxis-shell--collapsed .praxis-shell__sidebar{width:72px;min-width:72px}.praxis-shell__brand{height:64px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border, rgba(255, 255, 255, .06))}.praxis-shell__brand-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;min-width:0}.praxis-shell__brand-icon{width:40px;height:40px;border-radius:10px;background:var(--command-gradient, linear-gradient(135deg, var(--primary, #0369a1), var(--primary-deep, var(--primary, #075985))));color:var(--primary-foreground, #fff);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-panel, 0 4px 12px color-mix(in oklab, var(--primary, #0ea5e9) 20%, transparent))}.praxis-shell__brand-logo{height:36px;max-width:140px;object-fit:contain}.praxis-shell__brand-info{display:flex;flex-direction:column;overflow:hidden}.praxis-shell__brand-title{font-weight:700;font-size:.95rem;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;letter-spacing:-.01em}.praxis-shell__brand-meta{font-size:.72rem;color:var(--sidebar-foreground, var(--muted-foreground, #94a3b8));white-space:nowrap}.praxis-shell__mobile-close-btn{display:none;background:transparent;border:none;color:var(--sidebar-foreground, var(--muted-foreground, #94a3b8));cursor:pointer;padding:6px;border-radius:6px}.praxis-shell__nav{flex:1;padding:16px 10px;overflow-y:auto;overflow-x:hidden}.praxis-shell__nav-group{margin-bottom:20px}.praxis-shell__nav-group-title{padding:0 10px 8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-foreground, var(--muted-foreground, #64748b))}.praxis-shell__nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.praxis-shell__nav-item{margin:0}.praxis-shell__nav-link{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;color:var(--sidebar-foreground, var(--muted-foreground, #94a3b8));text-decoration:none;font-size:.88rem;font-weight:500;transition:background .15s ease,color .15s ease;cursor:pointer;white-space:nowrap}.praxis-shell__nav-link:hover{background:var(--sidebar-accent, color-mix(in oklab, var(--sidebar-foreground, var(--foreground, #f0f4f8)) 10%, transparent));color:var(--sidebar-accent-foreground, var(--sidebar-foreground, var(--foreground, #f8fafc)))}.praxis-shell__nav-link.active{background:color-mix(in oklab,var(--primary, #0ea5e9) 16%,transparent);color:var(--sidebar-primary, var(--primary, #38bdf8));font-weight:600}.praxis-shell__nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.praxis-shell__nav-icon .material-symbols-outlined{font-size:20px}.praxis-shell__nav-label{flex:1;overflow:hidden;text-overflow:ellipsis}.praxis-shell__nav-badge{font-size:.7rem;font-weight:700;padding:2px 7px;border-radius:9999px;line-height:1}.praxis-shell__nav-badge--primary{background:color-mix(in oklab,var(--primary, #0ea5e9) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--success{background:color-mix(in oklab,var(--praxis-success, var(--ready, #15803d)) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--warning{background:color-mix(in oklab,var(--praxis-warning, var(--warning, #a16207)) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--error{background:color-mix(in oklab,var(--destructive, #b91c1c) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--info{background:color-mix(in oklab,var(--praxis-info, #2563eb) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__nav-badge--neutral{background:color-mix(in oklab,var(--muted-foreground, #64748b) 14%,var(--card, #ffffff));color:var(--foreground, #1f2937)}.praxis-shell__sidebar-footer-status{padding:10px}.praxis-shell__status-card{padding:10px 12px;border-radius:10px;background:var(--sidebar-accent, color-mix(in oklab, var(--sidebar-foreground, var(--foreground, #f0f4f8)) 10%, transparent));border:1px solid var(--border, rgba(255, 255, 255, .07));color:var(--sidebar-accent-foreground, var(--sidebar-foreground, var(--foreground, #f0f4f8)))}.praxis-shell__status-card--success{border-color:color-mix(in oklab,var(--praxis-success, var(--ready, #15803d)) 30%,transparent)}.praxis-shell__status-card--warning{border-color:color-mix(in oklab,var(--praxis-warning, var(--warning, #a16207)) 30%,transparent)}.praxis-shell__status-card--error{border-color:color-mix(in oklab,var(--destructive, #b91c1c) 30%,transparent)}.praxis-shell__status-card-header{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600}.praxis-shell__pulse-indicator{position:relative;display:inline-flex;width:8px;height:8px}.praxis-shell__pulse-ring{position:absolute;inset:-2px;border-radius:9999px;background:var(--praxis-success, var(--ready, #15803d));opacity:.6;animation:praxis-pulse 1.8s cubic-bezier(0,0,.2,1) infinite}.praxis-shell__pulse-dot{width:8px;height:8px;border-radius:9999px;background:var(--praxis-success, var(--ready, #15803d))}@keyframes praxis-pulse{0%{transform:scale(.9);opacity:.8}70%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}.praxis-shell__status-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.praxis-shell__status-card-metric{font-size:.7rem;color:inherit;margin-top:4px}.praxis-shell__sidebar-toggle-bar{padding:10px;border-top:1px solid var(--border, rgba(255, 255, 255, .06))}.praxis-shell__collapse-btn{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;border-radius:8px;background:transparent;border:none;color:var(--sidebar-foreground, var(--muted-foreground, #94a3b8));cursor:pointer;font-size:.85rem;font-weight:500;transition:background .15s ease,color .15s ease}.praxis-shell__collapse-btn:hover{background:var(--sidebar-accent, color-mix(in oklab, var(--sidebar-foreground, var(--foreground, #f0f4f8)) 10%, transparent));color:var(--sidebar-accent-foreground, var(--sidebar-foreground, var(--foreground, #f8fafc)))}.praxis-shell__stage{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.praxis-shell__topbar{height:64px;padding:0 24px;background:var(--surface-gradient, var(--card, #0f172a));border-bottom:1px solid var(--border, rgba(255, 255, 255, .08));display:flex;align-items:center;gap:16px;flex-shrink:0;z-index:100}.praxis-shell__burger-btn{display:none;background:transparent;border:none;color:var(--foreground, #f8fafc);cursor:pointer;padding:8px;border-radius:8px}.praxis-shell__search-box{display:flex;align-items:center;gap:10px;width:320px;max-width:100%;height:38px;padding:0 12px;background:var(--secondary, color-mix(in oklab, var(--card, #ffffff) 95%, var(--primary, #0ea5e9)));border:1px solid var(--border, rgba(255, 255, 255, .08));border-radius:9px;color:var(--muted-foreground, #94a3b8);transition:border-color .15s ease,box-shadow .15s ease}.praxis-shell__search-box:focus-within{border-color:var(--primary, #0ea5e9);box-shadow:0 0 0 2px color-mix(in oklab,var(--ring, var(--primary, #0ea5e9)) 20%,transparent);color:var(--foreground, #f8fafc)}.praxis-shell__search-icon{font-size:18px}.praxis-shell__search-input{flex:1;background:transparent;border:none;outline:none;color:inherit;font-size:.85rem}.praxis-shell__topbar-spacer{flex:1}.praxis-shell__header-actions{display:flex;align-items:center;gap:8px}.praxis-shell__icon-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;background:transparent;border:1px solid var(--border, rgba(255, 255, 255, .08));color:var(--muted-foreground, #94a3b8);cursor:pointer;transition:all .15s ease}.praxis-shell__icon-btn:hover{background:var(--accent, color-mix(in oklab, var(--primary, #0ea5e9) 8%, transparent));color:var(--foreground, #f8fafc);border-color:var(--border, rgba(255, 255, 255, .15))}.praxis-shell__user-profile{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 6px;border-radius:9999px;background:var(--secondary, rgba(255, 255, 255, .03));border:1px solid var(--border, rgba(255, 255, 255, .08));cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.praxis-shell__user-profile:hover{background:var(--accent, color-mix(in oklab, var(--primary, #0ea5e9) 8%, transparent));border-color:var(--border, rgba(255, 255, 255, .16))}.praxis-shell__user-avatar{width:28px;height:28px;border-radius:9999px;object-fit:cover}.praxis-shell__user-initials{width:28px;height:28px;border-radius:9999px;background:var(--primary, #0ea5e9);color:var(--primary-foreground, #fff);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.praxis-shell__user-info{display:flex;flex-direction:column;line-height:1.2}.praxis-shell__user-name{font-size:.82rem;font-weight:600;color:var(--foreground, #f8fafc)}.praxis-shell__user-role{font-size:.68rem;color:var(--muted-foreground, #94a3b8)}.praxis-shell__main{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px;box-sizing:border-box;background:var(--background, #090d16)}@media(max-width:900px){.praxis-shell__burger-btn,.praxis-shell__mobile-close-btn{display:flex}.praxis-shell__sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);width:280px!important;box-shadow:4px 0 24px #00000080}.praxis-shell--mobile-open .praxis-shell__sidebar{transform:translate(0)}.praxis-shell__search-box{width:200px}.praxis-shell__user-info{display:none}}@media(max-width:600px){.praxis-shell__topbar{padding:0 12px}.praxis-shell__search-box{display:none}.praxis-shell__main{padding:16px 12px}}\n"] }]
56372
56600
  }], propDecorators: { brand: [{
56373
56601
  type: Input
56374
56602
  }], navigation: [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/core",
3
- "version": "10.0.0-rc.7",
3
+ "version": "10.0.0-rc.9",
4
4
  "description": "Core library for Praxis UI Workspace: types, tokens, services and utilities shared across @praxisui/* packages.",
5
5
  "peerDependencies": {
6
6
  "@angular/cdk": "^21.0.0",
@@ -15796,6 +15796,16 @@ interface WidgetPageCompositionDefinition {
15796
15796
  * Maps widget keys to semantic slot ids from the active layout preset.
15797
15797
  */
15798
15798
  type WidgetPageSlotAssignments = Record<string, string>;
15799
+ /** Acknowledged persistence lifecycle of one dynamic page identity. */
15800
+ interface WidgetPagePersistenceState {
15801
+ status: 'idle' | 'loading' | 'saving' | 'saved' | 'resetting' | 'error';
15802
+ /** Whether a customized document was confirmed by storage. */
15803
+ customized: boolean;
15804
+ /** ISO timestamp of the most recent acknowledged save in this session. */
15805
+ savedAt?: string;
15806
+ operation?: 'load' | 'save' | 'reset';
15807
+ errorKind?: 'conflict' | 'unacknowledged' | 'failure';
15808
+ }
15799
15809
  interface WidgetPageDefinition {
15800
15810
  widgets: WidgetInstance[];
15801
15811
  /**
@@ -18172,6 +18182,8 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
18172
18182
  /** Enables a contextual authoring assistant entrypoint for the selected widget. */
18173
18183
  showWidgetAssistantButton: boolean;
18174
18184
  pageChange: EventEmitter<WidgetPageDefinition>;
18185
+ /** Storage acknowledgement for the currently active page identity. */
18186
+ readonly persistenceChange: i0.OutputEmitterRef<WidgetPagePersistenceState>;
18175
18187
  /** Emits only explicit authoring operations, never runtime state projection. */
18176
18188
  readonly pageAuthoringChange: i0.OutputEmitterRef<WidgetPageDefinition>;
18177
18189
  widgetEvent: EventEmitter<WidgetEventEnvelope>;
@@ -18230,6 +18242,15 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
18230
18242
  private destroyed;
18231
18243
  private isHydrating;
18232
18244
  private persistenceReady;
18245
+ private persistenceGeneration;
18246
+ private persistenceRevision;
18247
+ private persistenceBlocked;
18248
+ private persistenceLoad?;
18249
+ private persistenceMutation?;
18250
+ private persistenceMutations;
18251
+ private lastPersistenceRequestedPage?;
18252
+ private pendingExplicitPageInputEcho?;
18253
+ private readonly persistenceState;
18233
18254
  private warnedMissingKey;
18234
18255
  private runtimeEventSequence;
18235
18256
  private readonly widgetShellRenderCache;
@@ -18704,8 +18725,18 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
18704
18725
  private isJsonObject;
18705
18726
  private sameJsonStructure;
18706
18727
  private stableJsonValue;
18728
+ /** Retries an explicit save after a recoverable failure. Conflicts require reload. */
18729
+ persistCurrentPage(page?: WidgetPageDefinition): void;
18730
+ /** Clears the active identity's persisted page and applies the factory page after acknowledgement. */
18731
+ resetPersistedPage(defaultPage: WidgetPageDefinition): void;
18732
+ /** Explicitly discards the current draft and reloads storage after a conflict or load error. */
18733
+ reloadPersistedPage(defaultPage: WidgetPageDefinition): void;
18707
18734
  private savePage;
18708
18735
  private loadPersistedPage;
18736
+ private pumpPersistenceMutations;
18737
+ private failPersistence;
18738
+ private persistenceErrorKind;
18739
+ private publishPersistenceState;
18709
18740
  private storageKey;
18710
18741
  private componentKeyId;
18711
18742
  private buildPageScopeId;
@@ -18713,7 +18744,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
18713
18744
  private sanitizeSegment;
18714
18745
  private assertNoLegacyConnections;
18715
18746
  static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetPageComponent, never>;
18716
- 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; }; "authoringCapabilities": { "alias": "authoringCapabilities"; "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"; "pageAuthoringChange": "pageAuthoringChange"; "widgetEvent": "widgetEvent"; "widgetSelectionChange": "widgetSelectionChange"; "widgetAssistantRequested": "widgetAssistantRequested"; "widgetDiagnosticsChange": "widgetDiagnosticsChange"; }, never, never, true, never>;
18747
+ 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; }; "authoringCapabilities": { "alias": "authoringCapabilities"; "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"; "persistenceChange": "persistenceChange"; "pageAuthoringChange": "pageAuthoringChange"; "widgetEvent": "widgetEvent"; "widgetSelectionChange": "widgetSelectionChange"; "widgetAssistantRequested": "widgetAssistantRequested"; "widgetDiagnosticsChange": "widgetDiagnosticsChange"; }, never, never, true, never>;
18717
18748
  }
18718
18749
 
18719
18750
  /** Metadata for Praxis Dynamic Page component */
@@ -19608,4 +19639,4 @@ declare class PraxisWidgetEventBus implements OnDestroy {
19608
19639
  }
19609
19640
 
19610
19641
  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, BUILTIN_WIDGET_SHELL_PRESETS, COMPONENT_METADATA_REGISTRY_I18N_CONFIG, COMPONENT_METADATA_REGISTRY_I18N_NAMESPACE, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentAuthoringManifestProjectionError, ComponentKeyService, ComponentMetadataRegistry, ComponentRuntimeProfileService, CompositionRuntimeFacade, CompositionValidatorService, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_DYNAMIC_FORM_SCHEMA_CACHE_MAX_ENTRIES, DEFAULT_DYNAMIC_FORM_SCHEMA_CACHE_TTL_MS, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_SCHEMA_REQUEST_TIMEOUT_MS, 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, EFFECTIVE_UI_LAYOUT_COMPOSITION_SCHEMA_VERSION, 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, EffectiveUiLayoutContractError, EffectiveUiLayoutHttpError, EffectiveUiLayoutService, EmptyStateCardComponent, EnterpriseRuntimeContextObsoleteError, EnterpriseRuntimeContextService, 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, GOVERNED_COLOR_PALETTE_OPTIONS, GenericCrudService, GlobalActionService, GlobalConfigService, GovernedColorPaletteService, 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_ACTION_CONTROL_DEFAULTS, PRAXIS_ACTION_CONTROL_VARS, PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS, PRAXIS_COLLECTION_EXPORT_PROVIDER, PRAXIS_COLLECTION_SEARCH_DEFAULTS, PRAXIS_COLLECTION_SEARCH_VARS, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_EXPORT_SECURITY_POLICY, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_EFFECTIVE_UI_LAYOUT_OPTIONS, PRAXIS_ENTERPRISE_RUNTIME_CONTEXT_OPTIONS, PRAXIS_ENTERPRISE_RUNTIME_CONTEXT_READY, PRAXIS_EXPORT_FORMULA_PREFIXES, PRAXIS_EXPORT_SECURITY_POLICY, PRAXIS_FOOTER_LINKS_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_HERO_BANNER_METADATA, PRAXIS_I18N_CONFIG, PRAXIS_I18N_TRANSLATOR, PRAXIS_JSON_LOGIC_OPERATORS, PRAXIS_LAYER_SCALE_DEFAULTS, PRAXIS_LAYER_SCALE_VARS, PRAXIS_LEGAL_NOTICE_METADATA, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION, PRAXIS_RELATED_RESOURCE_OUTLET_AUTHORING_MANIFEST, PRAXIS_RELATED_RESOURCE_OUTLET_COMPONENT_METADATA, PRAXIS_RELATED_RESOURCE_OUTLET_PORTS, PRAXIS_RICH_TEXT_BLOCK_METADATA, PRAXIS_TABLE_DETAIL_INLINE_NODE_RESOLVERS, PRAXIS_TABLE_DETAIL_INLINE_RENDERERS, PRAXIS_TABLE_DETAIL_RESOURCE_RESOLVER, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_THEME_SURFACE_DEFAULTS, PRAXIS_THEME_SURFACE_VARS, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisAppShellComponent, PraxisCollectionExportService, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisHttpCollectionExportProvider, PraxisI18nService, PraxisIconButtonComponent, PraxisIconDirective, PraxisIconPickerComponent, PraxisJsonLogicError, PraxisJsonLogicService, PraxisKeepAliveTabDirective, PraxisLayerScaleStyleService, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRelatedResourceOutletComponent, PraxisRelatedResourceOutletConfigEditorComponent, PraxisResourceIdentityComponent, PraxisRichTextBlockComponent, PraxisRuntimeComponentObservationRegistryService, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, PraxisWidgetEventBus, RESOURCE_DISCOVERY_I18N_CONFIG, RESOURCE_DISCOVERY_I18N_NAMESPACE, RULE_PROPERTY_SCHEMA, RelatedResourceSurfaceResolverService, RemoteConfigStorage, ResourceActionOpenAdapterService, ResourceDiscoveryService, ResourceQuickConnectComponent, ResourceRecordOpenError, ResourceRecordOpenService, ResourceSurfaceOpenAdapterService, SCHEMA_METADATA_CLIENT_OPTIONS, SCHEMA_VIEWER_CONTEXT, SETTINGS_EDITOR_SECTIONS_HOSTED, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_DRAWER_BRIDGE, SURFACE_DRAWER_CONTENT_DATA, SURFACE_DRAWER_REF, SURFACE_NAVIGATION_I18N_CONFIG, SURFACE_NAVIGATION_I18N_NAMESPACE, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SafeExpressionEvaluator, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SettingsSectionTabsComponent, SurfaceBindingRuntimeService, SurfaceNavigationError, SurfaceOpenActionEditorComponent, SurfaceOpenMaterializerService, SurfaceOutletRegistryService, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, UiLayoutLifecycleContractError, UiLayoutLifecycleHttpError, UiLayoutLifecycleService, ValidationPattern, WidgetPageCompositionFactory, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$1 as applyLocalCustomizations, applyLocalCustomizations as applyLocalFormCustomizations, assertPraxisCollectionExportArtifact, assertPraxisRuntimeComponentObservationSerializable, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildPraxisActionControlCss, buildPraxisCollectionSearchCss, buildPraxisEffectDistinctKey, buildPraxisLayerScaleCss, buildPraxisThemeSurfaceCss, buildSchemaId, buildSchemaIdStorageKeySegment, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, canonicalJsonSha256, canonicalJsonStringify, clampRange, classifyEntityLookupResult, clonePraxisRuntimeComponentObservation, cloneTableConfig, cloneUiLayoutJsonDocument, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createDynamicRecord, createEmptyFormConfig, createEmptyRichContentDocument, createFieldLayoutItem, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, domainKnowledgeTimelineToRichContentDocument, domainRuleTimelineToRichContentDocument, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, escapePraxisExportCell, evaluateFieldAccess, extractNormalizedError, extractRecordId, fetchWithETag, fileTypeValidator, fillUndefined, findBuiltinWidgetShellPreset, formIdentityIssues, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getFormColumnFieldNames, getFormLayoutFieldNames, getGlobalActionCatalog, getGlobalActionPayloadActualType, getGlobalActionPayloadTypeIssue, getGlobalActionProviderEvidence, getGlobalActionUiSchema, getMissingGlobalActionPayloadKeys, getPraxisTableCellVisualizationConstraint, getPraxisTableCellVisualizationGuidance, getReferencedFieldMetadata, getRequiredGlobalActionPayloadKeys, getTextTransformer, getWidgetShellActionIdError, hasMeaningfulGlobalActionPayloadValue, hasPraxisCollectionExportArtifact, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isDomainRuleSnapshotProblemResponse, isDynamicDataRecord, isEditorialComponentMeta, isEntityLookupMultiplePayloadMode, isEntityLookupPayloadMode, isEntityLookupPayloadModeCompatible, isEntityLookupResultSelectable, isEntityLookupSinglePayloadMode, isFormLayoutItem, isGlobalActionProviderOperational, isGlobalActionRef, isInlineFilterControlType, isLookupDialogSize, isLookupFilterFieldType, isLookupFilterOperator, isPraxisI18nMessageDescriptor, isPraxisPresentationVisualizationTableSafe, isPraxisRuntimeGlobalActionEffect, isProgrammaticDateRangePreset, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isStaticDateRangePreset, isSurfaceNavigationError, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, markGlobalActionProviderOperational, matchFieldValidator, materializeFormLayoutFromMetadata, materializeGovernedPaletteColors, materializeGovernedPaletteEntries, materializeResourceIdentity, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, nestedPortPathIdentity, normalizeCardMediaAspectRatio, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldAccessMetadata, normalizeFieldConstraints, normalizeFieldPresentation, normalizeFormConfig, normalizeFormLayoutItems, normalizeFormMetadata, normalizeGlobalActionRef, normalizeLayoutPolicy, normalizeLookupFilterRequest, normalizePath, normalizePraxisDataQueryContext, normalizePraxisEffectPolicy, normalizePraxisPresentationVisualization, normalizePraxisQueryFilterExpression, normalizePraxisQueryFilterNode, normalizeReactiveDeterminations, normalizeResourceAvailabilityReasonCode, normalizeResourceIdentityContract, normalizeStart, normalizeSurfaceOperationContext, normalizeUnknownError, normalizeWidgetEventPath, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, prepareCanvasArrangement, projectComponentAuthoringManifest, projectGroupedCommandPartialRows, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisCollectionExportProvider, providePraxisDynamicPageMetadata, providePraxisEnterpriseRuntimeContext, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpCollectionExportProvider, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisIconDefaults, providePraxisJsonLogicOperator, providePraxisJsonLogicOperatorOverride, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRelatedResourceOutletMetadata, providePraxisRichTextBlockMetadata, providePraxisTelemetry, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, readPraxisExportValue, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, registerPraxisRuntimeComponentObservation, removeDiacritics, renderPraxisPresentationVisualizationHtml, reportTelemetryHookFactory, requiredCheckedValidator, requiredPresenceValidator, resolveBuiltinPresets, resolveBuiltinWidgetShellAppearance, resolveColumnTypeFromFieldDefinition, resolveControlTypeAlias, resolveDataField, resolveDateRangeShortcutPreset, resolveDateRangeShortcutPresets, resolveDefaultValuePresentationFormat, resolveEntityLookupPayloadMode, resolveFieldPresentation, resolveGroupedCommandPartialRowSpans, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisCollectionExportItems, resolvePraxisExportFields, resolvePraxisExportScope, resolvePraxisFilterCriteria, resolvePraxisI18nDocument, resolvePraxisMicroVisualizationTone, resolveResourceAvailabilityReasonKey, resolveResourceIdentityContract, resolveSpan, resolveTextMaskFormat, resolveTextMaskFormatFromFieldDefinition, resolveValuePresentation, resolveValuePresentationLocale, resolveWidgetPageLayoutPreset, serializeEntityLookupValueForPayload, serializeOptionSourceFilterRequest, serializePraxisCollectionToCsv, serializePraxisCollectionToExcel, serializePraxisCollectionToJson, slugify, staticDateRangePresetToPreset, stripMasksHook, supportsConfigDocuments, supportsImplicitValuePresentation, syncWithServerMetadata, textSha256, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, translateResourceAvailabilityReason, translateResourceDiscoveryText, translateSurfaceNavigationRejected, translateSurfaceOpenFailed, translateUnavailableWorkflowMessage, trim, uiLayoutJsonIdentity, uniqueAsyncValidator, urlValidator, validateCanvasArrangement, validateGlobalActionRef, validateGlobalActionRefs, withFormConfigSections, withMessage, withPraxisHttpLoading };
19611
- export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnalyticsComparisonPeriodMode, AnalyticsComparisonPeriodPreset, AnalyticsIntent, AnalyticsPresentationDecision, AnalyticsPresentationFamily, AnalyticsPresentationResolverOptions, AnalyticsSchemaContractRequest, AnalyticsSourceKind, AnalyticsStatsGranularity, AnalyticsStatsMetricOperation, AnalyticsStatsOperation, AnalyticsStatsOrderBy, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AppliedUiLayoutContributionReceipt, AppliedUiLayoutLayer, AsyncConfigDocumentStorage, 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, CollectionActionsConfig, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, CompiledDynamicFormSchema, ComponentActionParam, ComponentAuthoringManifest, ComponentAuthoringManifestProjection, ComponentAuthoringManifestProjectionErrorCode, ComponentConfigEditorContextRequest, ComponentConfigEditorContextResolver, ComponentConfigEditorContextResult, ComponentConfigEditorDefinition, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentEditorialResolveOptions, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ComponentMetadataEditorialBindingDescriptor, ComponentMetadataEditorialDescriptor, ComponentPortEndpointRef, ComponentPortPathSegment, ComponentRuntimeEffect, ComponentRuntimeProfile, ComponentRuntimeProfileConstraint, ComponentRuntimeProfileConstraintOperator, ComponentRuntimeProfileMatch, ComponentRuntimeProfileMismatch, ComponentRuntimeProfileResolution, ComponentRuntimeResourceReadEffect, ComponentRuntimeResourceReadOperation, CompositionLink, CompositionRuntimeFacadeOptions, CompositionValidatorContext, ConditionalValidationRule, ConfigAuthoringSource, ConfigAuthoringSourceMaterialization, ConfigAuthoringSourceProvenance, ConfigDocument, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CorePresetDescriptor, CorePresetDiscoveryRegistry, CorePresetKind, CorePresetRef, CrudConfigureOptions, CrudOperationOptions, CrudOperationResolutionContext, CrudSchemaOptions, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeShortcutPreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DiagnosticPhase, DiagnosticRecord, DiagnosticSeverity, DiagnosticSource, DiagnosticSubjectKind, DiagnosticSubjectRef, Domain360CatalogCoverage, Domain360CatalogDiagnostic, Domain360CatalogEntry, Domain360CatalogRequestOptions, Domain360CatalogResponse, Domain360CatalogRoute, 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, DomainRuleCatalogCandidate, DomainRuleCatalogFilters, DomainRuleCatalogPage, DomainRuleChangeWorkspace, DomainRuleChangeWorkspaceCreateRequest, DomainRuleChangeWorkspaceUpdateRequest, DomainRuleCompositionApproval, DomainRuleCompositionManifest, DomainRuleCreatedByType, DomainRuleDecision, DomainRuleDecisionDiagnostics, DomainRuleDefinition, DomainRuleDefinitionAction, DomainRuleDefinitionCapabilities, DomainRuleDefinitionCapability, DomainRuleDefinitionFilters, DomainRuleDefinitionRequest, DomainRuleExecutionSummary, DomainRuleExplainability, DomainRuleFactCatalog, DomainRuleFactDescriptor, DomainRuleFactRedaction, DomainRuleFactSensitivity, DomainRuleFactValueType, DomainRuleHostStatusSummary, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleMaterialization, DomainRuleMaterializationFilters, DomainRuleMaterializationOutcomeResolution, DomainRuleMaterializationRequest, DomainRuleOperationalTestEvidence, DomainRulePublicationDiagnostics, DomainRulePublicationMaterializationOutcome, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleRequestOptions, DomainRuleRollout, DomainRuleRolloutAvailableAction, DomainRuleRolloutCatalog, DomainRuleRolloutCatalogAction, DomainRuleRolloutCatalogItem, DomainRuleRolloutCreateRequest, DomainRuleRolloutEnforcementMode, DomainRuleRolloutPolicy, DomainRuleRolloutPolicyAction, DomainRuleRolloutPolicyCatalog, DomainRuleRolloutPolicyCatalogAction, DomainRuleRolloutPolicyCreateRequest, DomainRuleRolloutPolicyEvent, DomainRuleRolloutPolicyMutation, DomainRuleRolloutPolicyStatus, DomainRuleRolloutReadiness, DomainRuleRolloutStatus, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleSnapshotActivation, DomainRuleSnapshotAvailableAction, DomainRuleSnapshotBlocker, DomainRuleSnapshotCompositionRequest, DomainRuleSnapshotGovernanceState, DomainRuleSnapshotHeadStatus, DomainRuleSnapshotProblemResponse, DomainRuleSnapshotPublicationRequest, DomainRuleSnapshotVersion, DomainRuleStatus, DomainRuleStatusTransitionRequest, DomainRuleTargetLayer, DomainRuleTestBaselineAuthority, DomainRuleTestBaselineEvidence, DomainRuleTestComparison, DomainRuleTestEvidenceEligibility, DomainRuleTestRun, DomainRuleTestRunResult, DomainRuleTestScenario, DomainRuleTestScenarioRequest, DomainRuleTimelineEventResponse, DomainRuleTimelineEventVisibility, DomainRuleTimelineResponse, DomainRuleTimelineRichContentOptions, DomainRuleWorkspaceAction, DomainRuleWorkspaceBlocker, DomainRuleWorkspaceCapabilities, DomainRuleWorkspaceLifecycleInspection, DomainRuleWorkspaceReview, DomainRuleWorkspaceReviewRequest, DomainRuleWorkspaceStatus, DraggingConfig, DynamicDataCollection, DynamicDataRecord, DynamicFormDetailSummaryPolicy, DynamicFormDetailSummaryWidthPrecedence, DynamicFormGroupedCommandOrphanFieldExpansion, DynamicFormGroupedCommandPartialRowProjection, DynamicFormGroupedCommandPartialRowStrategy, DynamicFormGroupedCommandPolicy, DynamicFormGroupedCommandSpanCandidate, DynamicFormGroupedCommandVisualRowProjection, DynamicFormLayoutDetachBehavior, DynamicFormLayoutIntent, DynamicFormLayoutLifecycle, DynamicFormLayoutPersistence, DynamicFormLayoutPolicy, DynamicFormLayoutSource, DynamicFormMode, DynamicFormResponsiveBreakpoint, DynamicFormResponsiveColumns, DynamicFormSchemaLayoutPreset, DynamicFormSchemaOperation, DynamicFormSchemaType, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, DynamicRecordMeta, 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, EffectiveUiLayoutCompositionMemberReceipt, EffectiveUiLayoutCompositionResponse, EffectiveUiLayoutResponse, ElevationConfig, EmptyAction, EmptyStateAlignment, EmptyStateConfig, EmptyStateDensity, EmptyStateIconContainer, EmptyStateTone, EmptyStateVariant, EndpointConfig, EndpointRef, EnhancedValidationConfig, EnterpriseRuntimeContext, EnterpriseRuntimeContextChoice, EnterpriseRuntimeContextChoicesResponse, EnterpriseRuntimeContextHeaders, EnterpriseRuntimeContextSwitchCommand, EnterpriseRuntimeEffectiveContext, EnterpriseRuntimeNavigationNode, EnterpriseRuntimeNavigationResponse, EnterpriseRuntimeRequestHeaders, EnterpriseRuntimeSecurityEvent, EnterpriseRuntimeSecurityEventsResponse, EnterpriseRuntimeTenant, EnterpriseRuntimeTenantsResponse, EnterpriseRuntimeUser, EntityLookupActionsMetadata, EntityLookupCollectionMetadata, EntityLookupDensity, EntityLookupDisplayFieldMetadata, EntityLookupDisplayFieldPresentation, EntityLookupDisplayMetadata, EntityLookupDisplayPreset, EntityLookupMultiplePayloadMode, EntityLookupPayloadMode, EntityLookupResult, EntityLookupResultExtra, EntityLookupResultLayout, EntityLookupResultState, EntityLookupResultStateContext, EntityLookupRichFieldMetadata, EntityLookupSelectedLayout, EntityLookupSinglePayloadMode, EntityLookupUsage, EntityRef, ExcelExportConfig, ExcelStylingConfig, ExplicitCrudResolutionContract, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldAccessEvaluationContext, FieldAccessEvaluationResult, FieldAccessMetadata, FieldArrayCollectionValidation, FieldArrayConfig, FieldArrayOperations, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldPresentationAppearance, FieldPresentationConfig, FieldPresentationInteractions, FieldPresentationJsonLogicEvaluator, FieldPresentationRule, FieldPresentationTone, FieldPresenterKind, FieldSelectorRegistryMap, FieldSource, FieldSubmitPolicy, FieldsetLayout, FilterOptions, FilterPresentationConfig, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormConfigWithSections, FormCustomActionEvent, FormEntityEvent, FormFieldHelpDisplay, FormFieldLayoutItem, FormHelpPresentationConfig, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormIdentityIssue, FormInitializationError, FormLayout, FormLayoutItem, FormLayoutItemsColumnLike, FormLayoutMode, FormLayoutOptions, FormLayoutRule, FormLayoutTabItem, FormLayoutTabsAppearance, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormPayloadPreviewEvent, FormPayloadPreviewReason, FormPresentationConfig, FormPresentationPreset, 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, GlobalActionProviderEvidence, GlobalActionReadiness, GlobalActionReadinessProbe, GlobalActionReadinessRequirement, GlobalActionReadinessRequirementKind, 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, GovernedColorContrastEvidence, GovernedColorPalette, GovernedColorPaletteCapabilities, GovernedColorPaletteOptions, GovernedColorPalettePreview, GovernedColorPalettePreviewRequest, GovernedColorPaletteRef, GovernedColorPaletteValidation, GovernedColorPaletteVariant, GovernedColorPurpose, GovernedColorTokenEntry, GovernedColorTokenSelection, GroupingConfig, HateoasLink, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HeroVisualSummary, HeroVisualSummaryEvent, HeroVisualSummaryItem, HeroVisualTone, HookResolver, InlineDistanceRadiusMetadata, InlineDistanceRadiusPreset, InlineDistanceRadiusUnit, InlineFilterControlType, InlineMonthRangeMetadata, InlineOverlayActionAppearance, InlineOverlayActionColorRole, InlineOverlayActionMetadata, InlineOverlayActionsMetadata, InlineOverlayApplyMode, InlineOverlayMetadata, 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, LookupSearchInputFormat, LookupSearchStrategyKind, LookupSearchStrategyMetadata, LookupSelectionPolicyMetadata, LookupSortOptionMetadata, LookupStatusTone, ManifestControlProfile, ManifestControlProfileApplicability, ManifestDomainPatchHandlerContract, ManifestEffect, ManifestExample, ManifestInput, ManifestOperation, ManifestPresentationAffordance, ManifestPresentationAffordanceCatalog, 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, MaterializeFormLayoutOptions, MaterializedGovernedColorToken, MaterializedResourceIdentity, MemoryConfig, MessageTemplate, MessagesConfig, NavigationOpenRoutePayload, NestedFieldsetLayout, NestedPortCatalogDiagnostic, NestedPortCatalogRegistry, NestedPortCatalogResult, NestedPortEndpointResolution, NestedWidgetInputPatchResult, NestedWidgetResolution, NormalizedError, NumberLocaleConfig, ObservabilityAgenticTurnMetricBucket, ObservabilityAgenticTurnMetrics, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceByIdsRequestOptions, OptionSourceCachePolicy, OptionSourceFilterRequest, OptionSourceInvalidSortPolicy, OptionSourceMetadata, OptionSourceRequestOptions, OptionSourceSearchMode, OptionSourceSelectedReloadPolicy, 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, PortResourceQueryFieldSource, PortSchemaKind, PortSchemaMode, PortSchemaRef, PortSemanticKind, PraxisActionControlTokens, PraxisAnalyticalDrawerRelation, PraxisAnalyticalDrawerSchema, PraxisAnalyticalDrawerTab, PraxisAnalyticsBindings, PraxisAnalyticsComparisonBucket, PraxisAnalyticsComparisonBucketKey, PraxisAnalyticsComparisonMetricValue, PraxisAnalyticsComparisonPeriodBinding, PraxisAnalyticsComparisonPeriodWindow, PraxisAnalyticsComparisonStatsRequest, PraxisAnalyticsComparisonStatsResponse, PraxisAnalyticsDefaults, PraxisAnalyticsDimensionBinding, PraxisAnalyticsDistributionStatsRequest, PraxisAnalyticsExecutionMetric, PraxisAnalyticsGroupByStatsRequest, PraxisAnalyticsInteractions, PraxisAnalyticsMetricBinding, PraxisAnalyticsOptions, PraxisAnalyticsPresentationHints, PraxisAnalyticsProjection, PraxisAnalyticsSortRule, PraxisAnalyticsSource, PraxisAnalyticsStatsExecutionPlan, PraxisAnalyticsStatsMetricRequest, PraxisAnalyticsStatsRequest, PraxisAnalyticsTimeSeriesStatsRequest, PraxisAuthContext, PraxisBrandConfig, PraxisBuiltinCustomRuleOperator, PraxisCollectionComponentType, PraxisCollectionExportCsvOptions, PraxisCollectionExportExcelOptions, PraxisCollectionExportField, PraxisCollectionExportFieldPresentation, PraxisCollectionExportFormatOptions, PraxisCollectionExportHttpProviderOptions, PraxisCollectionExportLocalization, PraxisCollectionExportProvider, PraxisCollectionExportRequest, PraxisCollectionExportResult, PraxisCollectionExportSource, PraxisCollectionPaginationState, PraxisCollectionSearchTokens, PraxisCollectionSelectionMode, PraxisCollectionSelectionState, PraxisCollectionSortDescriptor, PraxisComputedFieldDefinition, PraxisComputedFieldsConfig, PraxisConditionalEffectDiagnostic, PraxisConditionalRule, PraxisConditionalRuleMatchInput, PraxisCustomRuleOperator, PraxisDataQueryContext, PraxisDataQueryContextMeta, PraxisEffectDistinctKeyInput, PraxisEffectPolicy, PraxisEffectiveUiLayoutOptions, PraxisEnterpriseRuntimeContextOptions, PraxisEnterpriseRuntimeEndpoints, PraxisExportFormat, PraxisExportScope, PraxisExportSecurityPolicy, PraxisExportSortDirection, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHostRuleOperator, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nDocumentResolveOptions, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisIconButtonAppearance, PraxisIconButtonPresentation, PraxisIconButtonSize, PraxisIconDefaultsOptions, PraxisJsonLogicEvaluationContext, PraxisJsonLogicEvaluationOptions, PraxisJsonLogicEvaluationResult, PraxisJsonLogicIssueCode, PraxisJsonLogicLimits, PraxisJsonLogicOperatorDefinition, PraxisJsonLogicOperatorDescriptor, PraxisJsonLogicOperatorHelpers, PraxisJsonLogicOperatorMetadata, PraxisJsonLogicOperatorPurity, PraxisJsonLogicOperatorReturnType, PraxisJsonLogicOperatorSource, PraxisJsonLogicRuntimeValue, PraxisJsonLogicValidationIssue, PraxisJsonLogicValidationOptions, PraxisJsonLogicValidationResult, PraxisKpiBandCard, PraxisKpiBandConfig, PraxisLayerScale, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisMicroVisualizationToneResolution, PraxisNativeJsonLogicOperator, PraxisNavGroup, PraxisNavItem, PraxisPresentationVisualizationConfig, PraxisPresentationVisualizationHtmlOptions, PraxisPresentationVisualizationItem, PraxisPresentationVisualizationKind, PraxisPresentationVisualizationPoint, PraxisPresentationVisualizationSegment, PraxisPresentationVisualizationSize, PraxisPresentationVisualizationSurface, PraxisPresentationVisualizationThreshold, PraxisPresentationVisualizationTone, PraxisQueryFilterExpression, PraxisQueryFilterGovernance, PraxisQueryFilterGroup, PraxisQueryFilterNode, PraxisQueryFilterPredicate, PraxisQueryFilterPredicateOperator, PraxisQueryFilterPredicateSource, PraxisRelatedResourceOutletEditorValue, PraxisResourceEvent, PraxisResourceEventKind, PraxisResourceRowClickPayload, PraxisResourceSelectionPayload, PraxisRuleContextDescriptor, PraxisRuleOperator, PraxisRuntimeComponentAffordanceHints, PraxisRuntimeComponentAuthoringManifestRef, PraxisRuntimeComponentIdentity, PraxisRuntimeComponentLifecycle, PraxisRuntimeComponentObservationClaim, PraxisRuntimeComponentObservationClaimKind, PraxisRuntimeComponentObservationDiagnostics, PraxisRuntimeComponentObservationEnvelope, PraxisRuntimeComponentObservationProvider, PraxisRuntimeComponentObservationRegisterOptions, PraxisRuntimeComponentObservationRegistry, PraxisRuntimeComponentObservationSchemaVersion, PraxisRuntimeComponentRefs, PraxisRuntimeComponentRegistration, PraxisRuntimeComponentSchemaFieldDescriptor, PraxisRuntimeComponentSnapshotDigest, PraxisRuntimeConditionalEffectRule, PraxisRuntimeEffectTrigger, PraxisRuntimeGlobalActionEffect, PraxisRuntimeVisualMaterializationCapability, PraxisRuntimeVisualMaterializationStatus, PraxisShellFooterStatus, PraxisSubmitError, PraxisSubmitErrorDetail, PraxisTableCellVisualizationConstraint, PraxisTableCellVisualizationGuidance, PraxisTextValue, PraxisThemeSurfaceTokens, PraxisToastOptions, PraxisTranslationParams, PraxisUserProfile, PraxisWidgetEvent, PraxisWidgetEventType, PraxisWidgetWiringDefinition, PraxisWidgetWiringRule, PraxisXUiAnalytics, PriceRangeValue, RangeSliderInlineTexts, RangeSliderMark, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderScalePreset, RangeSliderSemanticBand, RangeSliderSemanticTone, RangeSliderTrackMode, RangeSliderValue, RangeSliderValueFormat, RangeSliderValueLabelDisplay, ReactiveDeterminationCapability, ReactiveDeterminationDefinition, ReactiveDeterminationExecutionEvent, ReactiveDeterminationExecutionStatus, ReactiveDeterminationFormMode, ReactiveDeterminationInputBinding, ReactiveDeterminationOutputBinding, ReactiveDeterminationProvenance, ReactiveDeterminationProvenanceKind, ReactiveDeterminationScope, ReactiveDeterminationTrigger, ReactiveDeterminationTriggerMode, RecordRelatedSurfaceContext, RecordRelatedSurfaceContextPack, RecordRelatedSurfaceEndpoint, RecordRelatedSurfaceOperationId, RelatedResourceChildOperation, RelatedResourceOutletMode, RelatedResourceQueryContext, RelatedResourceResolutionState, RelatedResourceSurface, RelatedResourceSurfaceResolution, RelatedResourceSurfaceResolverRequest, RenderingConfig, ResizingConfig, ResolveCrudOperationRequest, ResolveFieldPresentationOptions, ResolvePresetOptions, ResolveResourceIdentityOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedCrudOperation, ResolvedCrudOperationSource, ResolvedFieldPresentation, ResolvedNestedPort, ResolvedPraxisPresentationVisualizationConfig, ResolvedResourceIdentityContract, ResolvedValuePresentation, ResourceActionCatalogItem, ResourceActionCatalogResponse, ResourceActionCollectionAtomicity, ResourceActionExecutionContract, ResourceActionInteractionMode, ResourceActionOpenAdapterOptions, ResourceActionOutcomeMode, ResourceActionRequirement, ResourceActionRiskLevel, ResourceActionScope, ResourceActionVersionTransport, ResourceAvailabilityDecision, ResourceCanonicalCapabilityOperationId, ResourceCapabilityDigest, ResourceCapabilityOperation, ResourceCapabilityOperationId, ResourceCapabilityOperations, ResourceCapabilitySnapshot, ResourceCrudOperationId, ResourceDiscoveryRel, ResourceDiscoveryRequestOptions, ResourceExportMaxRows, ResourceIdentityContract, ResourceIdentityDiagnostic, ResourceIdentityFieldMetadata, ResourceIdentityPart, ResourceIdentitySource, ResourceKnownCapabilityOperationId, ResourceLinkItem, ResourceLinkSource, ResourceLinks, ResourceRecordOpenFailureCode, ResourceRecordOpenRef, ResourceRecordOpenResolution, ResourceRecordOpenResolveOptions, ResourceSchemaCatalogEndpoint, ResourceSchemaCatalogExample, ResourceSchemaCatalogField, ResourceSchemaCatalogHttpMethod, ResourceSchemaCatalogOperationExamples, ResourceSchemaCatalogParameter, ResourceSchemaCatalogQuery, ResourceSchemaCatalogRelation, ResourceSchemaCatalogResponse, ResourceSchemaCatalogSchemaLinks, ResourceSchemaCatalogSchemaRef, ResourceSchemaCatalogVisual, ResourceSchemaCatalogVisualSource, ResourceStatsCapability, ResourceStatsFieldCapability, ResourceStatsMetric, ResourceStatsMode, ResourceSurfaceCatalogItem, ResourceSurfaceCatalogResponse, ResourceSurfaceKind, ResourceSurfaceOpenAdapterOptions, ResourceSurfaceResponseCardinality, ResourceSurfaceScope, ResponsiveConfig, RestApiLinks, RestApiResponse, RichAccordionItem, RichAccordionNode, RichActionButtonNode, RichActionCardCtaPlacement, RichActionCardCtaVariant, RichActionCardNode, RichActionRef, RichAvatarNode, RichBadgeNode, RichBadgeTone, RichBlockBaseNode, RichBlockContextConfig, RichBlockContextScope, RichBlockHostCapabilities, RichBlockNode, RichBlockRuleSet, RichCalloutNode, RichCapabilityMode, RichCardAccessibility, RichCardDensity, RichCardInteraction, RichCardInteractionMode, RichCardMedia, RichCardMediaAspectRatio, RichCardMediaKind, RichCardMediaObjectFit, RichCardMediaPlacement, RichCardMediaTelemetry, RichCardNode, RichCardOrientation, RichCardSize, RichCardTone, RichCardVariant, RichCollapsibleCardNode, RichComposeAlignItems, RichComposeLayout, RichComposeNode, RichContentDocument, RichCtaGroupLayout, RichCtaGroupNode, RichDecisionGovernanceStatus, RichDecisionPackageEvidence, RichDecisionPackageNode, RichDecisionRisk, RichDisclosureNode, RichDynamicFormNode, RichEmptyStateNode, RichFormLauncherNode, RichIconNode, RichImageNode, RichKeyValueItem, RichKeyValueListNode, RichLinkNode, RichLookupCardNode, RichLookupResultField, RichLookupResultNode, RichLookupResultStatus, RichMediaBlockNode, RichMetricNode, RichMicroVisualizationNode, RichPageHeaderNode, RichPresenterNode, RichPresetReferenceNode, RichPrimitiveNode, RichProgressNode, RichPropertySheetColumns, RichPropertySheetItem, RichPropertySheetNode, RichPropertySheetTone, RichRecordSummaryField, RichRecordSummaryNode, RichRelatedRecordNode, RichSemanticTone, RichStatGroupHeaderSpacing, RichStatGroupLayout, RichStatGroupNode, RichStatGroupTileLayout, RichStatItem, RichStatItemProgress, RichStatTone, RichTabsAppearance, RichTabsItem, RichTabsNode, RichTextAppearance, RichTextNode, RichTextVariant, RichTimelineColor, RichTimelineConnectorVariant, RichTimelineDensity, RichTimelineEmphasis, RichTimelineItem, RichTimelineMarkerStyle, RichTimelineMarkerVariant, RichTimelineNode, RichTimelineOrder, RichTimelineOrientation, RichTimelinePosition, RichTimelineTextAppearance, RowAction, RowActionsConfig, RuleContextRoot, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, RuntimeLinkSnapshot, RuntimeLinkStatus, RuntimePayloadSummary, RuntimeSnapshot, RuntimeSnapshotStatus, RuntimeStateSnapshot, RuntimeTraceEntry, RuntimeTracePhase, SafeExpressionError, SafeExpressionOptions, SchemaIdParams, SchemaMetaInfo, SchemaMetadataClientOptions, SchemaViewerContext, SelectionConfig, SemanticCompositionLink, SerializableFieldMetadata, SettingsEditorSection, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateEndpointRef, StateMessagesConfig, StaticDateRangePreset, StaticDateRangePresetTone, StaticPresetResolutionOptions, SubmitPolicy, SurfaceBinding, SurfaceBindingMode, SurfaceDrawerBridge, SurfaceDrawerFrameRef, SurfaceDrawerNavigationFrame, SurfaceDrawerNavigationGuard, SurfaceDrawerNavigationState, SurfaceDrawerOpenContent, SurfaceDrawerOpenOptions, SurfaceDrawerRef, SurfaceDrawerResult, SurfaceDrawerWidthPreset, SurfaceLifecycleCondition, SurfaceLifecycleOutcomeBinding, SurfaceLifecyclePolicy, SurfaceNavigationFailureCode, SurfaceNavigationOperation, SurfaceOpenPayload, SurfaceOpenPreset, SurfaceOperationContext, SurfaceOperationRelationship, SurfaceOperationResourceRef, SurfaceOutcome, SurfaceOutcomeKind, SurfaceOutletRegistration, SurfacePresentation, SurfaceSizeConfig, SyncConfig, SyncResult, TableActionsConfig, TableAiAssistantConfig, TableAiConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableDetailActionBarAction, TableDetailActionBarNode, TableDetailActionNode, TableDetailAllowedNode, TableDetailBaseNode, TableDetailCardGridCardNode, TableDetailCardGridNode, TableDetailCardNode, TableDetailConfig, TableDetailDiagramEmbedNode, TableDetailEmbedAction, TableDetailEmbedBaseNode, TableDetailInlineNodeResolverDefinition, TableDetailInlineRendererContext, TableDetailInlineRendererDefinition, TableDetailInlineSchemaDocument, TableDetailLayoutNode, TableDetailListItemAction, TableDetailListItemContextConfig, TableDetailListItemSchema, TableDetailListNode, TableDetailMediaBlockNode, TableDetailRefNode, TableDetailResourceDocument, TableDetailResourceResolver, TableDetailResourceResolverRequest, TableDetailResourceResolverResult, TableDetailRichContentNode, TableDetailRichListNode, TableDetailRichTextNode, TableDetailSchemaNode, TableDetailTabNode, TableDetailTabsNode, TableDetailTemplateRefNode, TableDetailTimelineItemSchema, TableDetailTimelineNode, TableDetailTimelineStaticItem, TableDetailValueNode, TableDrawerConfig, TableExpansionConfig, TableLocalDataModeConfig, TableSchemaColumnProjectionConfig, TableToolbarAppearanceConfig, TableToolbarAppearanceDensity, TableToolbarAppearanceDivider, TableToolbarAppearanceShape, TableToolbarAppearanceVariant, TableToolbarTokenName, TableTooltipConfig, TelemetryEvent, TelemetryLoggerSinkOptions, TelemetryTransport, TextTransformApply, TextTransformName, ThemeConfig, ToolbarAction, ToolbarActionEvent, ToolbarActionTarget, ToolbarActionTargetCardinality, ToolbarActionTargetScope, ToolbarConfig, ToolbarFilterConfig, ToolbarLayoutConfig, ToolbarSettingsConfig, TransformBinding, TransformBindingSource, TransformCatalogCategory, TransformCatalogEntry, TransformKind, TransformLegacyReplacement, TransformOutputHint, TransformPhase, TransformPipeline, TransformSemanticKind, TransformStep, TypographyConfig, UiLayoutAssignmentCommand, UiLayoutAssignmentCommandResult, UiLayoutAssignmentRevisionReceipt, UiLayoutAssignmentSelection, UiLayoutAssignmentSelector, UiLayoutAuthoringDocumentReceipt, UiLayoutDraftReceipt, UiLayoutDraftWorkspaceReceipt, UiLayoutDraftWorkspaceTarget, UiLayoutFreezeReleaseCommand, UiLayoutFreezeReleaseCommandResult, UiLayoutHeadWriteCondition, UiLayoutLayerClass, UiLayoutLifecycleHttpReceipt, UiLayoutLifecycleNotModifiedReceipt, UiLayoutReasonCommand, UiLayoutReleaseHeadReceipt, UiLayoutReleaseReceipt, UiLayoutReleaseReferenceCommand, UiLayoutReleaseReviewReceipt, UiLayoutResolutionDiagnostic, UiLayoutRevisionCommand, UiLayoutRevisionCommandResult, UiLayoutRevisionReceipt, UiLayoutRevisionSelection, UiLayoutTarget, 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, WidgetPageAuthoringCapabilities, WidgetPageCanvasCollisionPolicy, WidgetPageCanvasConstraints, WidgetPageCanvasItem, WidgetPageCanvasItemOverride, WidgetPageCanvasLayout, WidgetPageCanvasLayoutVariant, WidgetPageComposition, WidgetPageCompositionDefinition, WidgetPageCompositionInput, WidgetPageCompositionState, WidgetPageDefinition, WidgetPageDeviceKind, WidgetPageDeviceLayouts, WidgetPageDevicePolicy, WidgetPageGroupingDefinition, WidgetPageGroupingOverride, WidgetPageGroupingTabDefinition, WidgetPageLayout, WidgetPageLayoutPresetDefinition, WidgetPageLayoutVariant, WidgetPageOrientation, WidgetPageSlotAssignments, WidgetPageSlotDefinition, WidgetPageStateDefinition, WidgetPageStateInput, WidgetPageStateRuntimeSnapshot, WidgetPageThemePresetDefinition, WidgetPageWidgetLayoutOverride, WidgetPageWidgetSuggestion, WidgetResolutionDiagnostic, WidgetResolutionPhase, WidgetShellAction, WidgetShellActionContributor, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellAuthoringCapabilities, WidgetShellBodyLayout, WidgetShellConfig, WidgetShellPresetCategory, WidgetShellPresetDefinition, WidgetShellWindowActions, WidgetStateNode };
19642
+ export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnalyticsComparisonPeriodMode, AnalyticsComparisonPeriodPreset, AnalyticsIntent, AnalyticsPresentationDecision, AnalyticsPresentationFamily, AnalyticsPresentationResolverOptions, AnalyticsSchemaContractRequest, AnalyticsSourceKind, AnalyticsStatsGranularity, AnalyticsStatsMetricOperation, AnalyticsStatsOperation, AnalyticsStatsOrderBy, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AppliedUiLayoutContributionReceipt, AppliedUiLayoutLayer, AsyncConfigDocumentStorage, 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, CollectionActionsConfig, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, CompiledDynamicFormSchema, ComponentActionParam, ComponentAuthoringManifest, ComponentAuthoringManifestProjection, ComponentAuthoringManifestProjectionErrorCode, ComponentConfigEditorContextRequest, ComponentConfigEditorContextResolver, ComponentConfigEditorContextResult, ComponentConfigEditorDefinition, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentEditorialResolveOptions, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ComponentMetadataEditorialBindingDescriptor, ComponentMetadataEditorialDescriptor, ComponentPortEndpointRef, ComponentPortPathSegment, ComponentRuntimeEffect, ComponentRuntimeProfile, ComponentRuntimeProfileConstraint, ComponentRuntimeProfileConstraintOperator, ComponentRuntimeProfileMatch, ComponentRuntimeProfileMismatch, ComponentRuntimeProfileResolution, ComponentRuntimeResourceReadEffect, ComponentRuntimeResourceReadOperation, CompositionLink, CompositionRuntimeFacadeOptions, CompositionValidatorContext, ConditionalValidationRule, ConfigAuthoringSource, ConfigAuthoringSourceMaterialization, ConfigAuthoringSourceProvenance, ConfigDocument, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CorePresetDescriptor, CorePresetDiscoveryRegistry, CorePresetKind, CorePresetRef, CrudConfigureOptions, CrudOperationOptions, CrudOperationResolutionContext, CrudSchemaOptions, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeShortcutPreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DiagnosticPhase, DiagnosticRecord, DiagnosticSeverity, DiagnosticSource, DiagnosticSubjectKind, DiagnosticSubjectRef, Domain360CatalogCoverage, Domain360CatalogDiagnostic, Domain360CatalogEntry, Domain360CatalogRequestOptions, Domain360CatalogResponse, Domain360CatalogRoute, 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, DomainRuleCatalogCandidate, DomainRuleCatalogFilters, DomainRuleCatalogPage, DomainRuleChangeWorkspace, DomainRuleChangeWorkspaceCreateRequest, DomainRuleChangeWorkspaceUpdateRequest, DomainRuleCompositionApproval, DomainRuleCompositionManifest, DomainRuleCreatedByType, DomainRuleDecision, DomainRuleDecisionDiagnostics, DomainRuleDefinition, DomainRuleDefinitionAction, DomainRuleDefinitionCapabilities, DomainRuleDefinitionCapability, DomainRuleDefinitionFilters, DomainRuleDefinitionRequest, DomainRuleExecutionSummary, DomainRuleExplainability, DomainRuleFactCatalog, DomainRuleFactDescriptor, DomainRuleFactRedaction, DomainRuleFactSensitivity, DomainRuleFactValueType, DomainRuleHostStatusSummary, DomainRuleIntakeRequest, DomainRuleIntakeResponse, DomainRuleMaterialization, DomainRuleMaterializationFilters, DomainRuleMaterializationOutcomeResolution, DomainRuleMaterializationRequest, DomainRuleOperationalTestEvidence, DomainRulePublicationDiagnostics, DomainRulePublicationMaterializationOutcome, DomainRulePublicationRequest, DomainRulePublicationResponse, DomainRuleRequestOptions, DomainRuleRollout, DomainRuleRolloutAvailableAction, DomainRuleRolloutCatalog, DomainRuleRolloutCatalogAction, DomainRuleRolloutCatalogItem, DomainRuleRolloutCreateRequest, DomainRuleRolloutEnforcementMode, DomainRuleRolloutPolicy, DomainRuleRolloutPolicyAction, DomainRuleRolloutPolicyCatalog, DomainRuleRolloutPolicyCatalogAction, DomainRuleRolloutPolicyCreateRequest, DomainRuleRolloutPolicyEvent, DomainRuleRolloutPolicyMutation, DomainRuleRolloutPolicyStatus, DomainRuleRolloutReadiness, DomainRuleRolloutStatus, DomainRuleSimulationRequest, DomainRuleSimulationResponse, DomainRuleSnapshotActivation, DomainRuleSnapshotAvailableAction, DomainRuleSnapshotBlocker, DomainRuleSnapshotCompositionRequest, DomainRuleSnapshotGovernanceState, DomainRuleSnapshotHeadStatus, DomainRuleSnapshotProblemResponse, DomainRuleSnapshotPublicationRequest, DomainRuleSnapshotVersion, DomainRuleStatus, DomainRuleStatusTransitionRequest, DomainRuleTargetLayer, DomainRuleTestBaselineAuthority, DomainRuleTestBaselineEvidence, DomainRuleTestComparison, DomainRuleTestEvidenceEligibility, DomainRuleTestRun, DomainRuleTestRunResult, DomainRuleTestScenario, DomainRuleTestScenarioRequest, DomainRuleTimelineEventResponse, DomainRuleTimelineEventVisibility, DomainRuleTimelineResponse, DomainRuleTimelineRichContentOptions, DomainRuleWorkspaceAction, DomainRuleWorkspaceBlocker, DomainRuleWorkspaceCapabilities, DomainRuleWorkspaceLifecycleInspection, DomainRuleWorkspaceReview, DomainRuleWorkspaceReviewRequest, DomainRuleWorkspaceStatus, DraggingConfig, DynamicDataCollection, DynamicDataRecord, DynamicFormDetailSummaryPolicy, DynamicFormDetailSummaryWidthPrecedence, DynamicFormGroupedCommandOrphanFieldExpansion, DynamicFormGroupedCommandPartialRowProjection, DynamicFormGroupedCommandPartialRowStrategy, DynamicFormGroupedCommandPolicy, DynamicFormGroupedCommandSpanCandidate, DynamicFormGroupedCommandVisualRowProjection, DynamicFormLayoutDetachBehavior, DynamicFormLayoutIntent, DynamicFormLayoutLifecycle, DynamicFormLayoutPersistence, DynamicFormLayoutPolicy, DynamicFormLayoutSource, DynamicFormMode, DynamicFormResponsiveBreakpoint, DynamicFormResponsiveColumns, DynamicFormSchemaLayoutPreset, DynamicFormSchemaOperation, DynamicFormSchemaType, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, DynamicRecordMeta, 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, EffectiveUiLayoutCompositionMemberReceipt, EffectiveUiLayoutCompositionResponse, EffectiveUiLayoutResponse, ElevationConfig, EmptyAction, EmptyStateAlignment, EmptyStateConfig, EmptyStateDensity, EmptyStateIconContainer, EmptyStateTone, EmptyStateVariant, EndpointConfig, EndpointRef, EnhancedValidationConfig, EnterpriseRuntimeContext, EnterpriseRuntimeContextChoice, EnterpriseRuntimeContextChoicesResponse, EnterpriseRuntimeContextHeaders, EnterpriseRuntimeContextSwitchCommand, EnterpriseRuntimeEffectiveContext, EnterpriseRuntimeNavigationNode, EnterpriseRuntimeNavigationResponse, EnterpriseRuntimeRequestHeaders, EnterpriseRuntimeSecurityEvent, EnterpriseRuntimeSecurityEventsResponse, EnterpriseRuntimeTenant, EnterpriseRuntimeTenantsResponse, EnterpriseRuntimeUser, EntityLookupActionsMetadata, EntityLookupCollectionMetadata, EntityLookupDensity, EntityLookupDisplayFieldMetadata, EntityLookupDisplayFieldPresentation, EntityLookupDisplayMetadata, EntityLookupDisplayPreset, EntityLookupMultiplePayloadMode, EntityLookupPayloadMode, EntityLookupResult, EntityLookupResultExtra, EntityLookupResultLayout, EntityLookupResultState, EntityLookupResultStateContext, EntityLookupRichFieldMetadata, EntityLookupSelectedLayout, EntityLookupSinglePayloadMode, EntityLookupUsage, EntityRef, ExcelExportConfig, ExcelStylingConfig, ExplicitCrudResolutionContract, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldAccessEvaluationContext, FieldAccessEvaluationResult, FieldAccessMetadata, FieldArrayCollectionValidation, FieldArrayConfig, FieldArrayOperations, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldPresentationAppearance, FieldPresentationConfig, FieldPresentationInteractions, FieldPresentationJsonLogicEvaluator, FieldPresentationRule, FieldPresentationTone, FieldPresenterKind, FieldSelectorRegistryMap, FieldSource, FieldSubmitPolicy, FieldsetLayout, FilterOptions, FilterPresentationConfig, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormConfigWithSections, FormCustomActionEvent, FormEntityEvent, FormFieldHelpDisplay, FormFieldLayoutItem, FormHelpPresentationConfig, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormIdentityIssue, FormInitializationError, FormLayout, FormLayoutItem, FormLayoutItemsColumnLike, FormLayoutMode, FormLayoutOptions, FormLayoutRule, FormLayoutTabItem, FormLayoutTabsAppearance, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormPayloadPreviewEvent, FormPayloadPreviewReason, FormPresentationConfig, FormPresentationPreset, 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, GlobalActionProviderEvidence, GlobalActionReadiness, GlobalActionReadinessProbe, GlobalActionReadinessRequirement, GlobalActionReadinessRequirementKind, 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, GovernedColorContrastEvidence, GovernedColorPalette, GovernedColorPaletteCapabilities, GovernedColorPaletteOptions, GovernedColorPalettePreview, GovernedColorPalettePreviewRequest, GovernedColorPaletteRef, GovernedColorPaletteValidation, GovernedColorPaletteVariant, GovernedColorPurpose, GovernedColorTokenEntry, GovernedColorTokenSelection, GroupingConfig, HateoasLink, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HeroVisualSummary, HeroVisualSummaryEvent, HeroVisualSummaryItem, HeroVisualTone, HookResolver, InlineDistanceRadiusMetadata, InlineDistanceRadiusPreset, InlineDistanceRadiusUnit, InlineFilterControlType, InlineMonthRangeMetadata, InlineOverlayActionAppearance, InlineOverlayActionColorRole, InlineOverlayActionMetadata, InlineOverlayActionsMetadata, InlineOverlayApplyMode, InlineOverlayMetadata, 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, LookupSearchInputFormat, LookupSearchStrategyKind, LookupSearchStrategyMetadata, LookupSelectionPolicyMetadata, LookupSortOptionMetadata, LookupStatusTone, ManifestControlProfile, ManifestControlProfileApplicability, ManifestDomainPatchHandlerContract, ManifestEffect, ManifestExample, ManifestInput, ManifestOperation, ManifestPresentationAffordance, ManifestPresentationAffordanceCatalog, 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, MaterializeFormLayoutOptions, MaterializedGovernedColorToken, MaterializedResourceIdentity, MemoryConfig, MessageTemplate, MessagesConfig, NavigationOpenRoutePayload, NestedFieldsetLayout, NestedPortCatalogDiagnostic, NestedPortCatalogRegistry, NestedPortCatalogResult, NestedPortEndpointResolution, NestedWidgetInputPatchResult, NestedWidgetResolution, NormalizedError, NumberLocaleConfig, ObservabilityAgenticTurnMetricBucket, ObservabilityAgenticTurnMetrics, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceByIdsRequestOptions, OptionSourceCachePolicy, OptionSourceFilterRequest, OptionSourceInvalidSortPolicy, OptionSourceMetadata, OptionSourceRequestOptions, OptionSourceSearchMode, OptionSourceSelectedReloadPolicy, 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, PortResourceQueryFieldSource, PortSchemaKind, PortSchemaMode, PortSchemaRef, PortSemanticKind, PraxisActionControlTokens, PraxisAnalyticalDrawerRelation, PraxisAnalyticalDrawerSchema, PraxisAnalyticalDrawerTab, PraxisAnalyticsBindings, PraxisAnalyticsComparisonBucket, PraxisAnalyticsComparisonBucketKey, PraxisAnalyticsComparisonMetricValue, PraxisAnalyticsComparisonPeriodBinding, PraxisAnalyticsComparisonPeriodWindow, PraxisAnalyticsComparisonStatsRequest, PraxisAnalyticsComparisonStatsResponse, PraxisAnalyticsDefaults, PraxisAnalyticsDimensionBinding, PraxisAnalyticsDistributionStatsRequest, PraxisAnalyticsExecutionMetric, PraxisAnalyticsGroupByStatsRequest, PraxisAnalyticsInteractions, PraxisAnalyticsMetricBinding, PraxisAnalyticsOptions, PraxisAnalyticsPresentationHints, PraxisAnalyticsProjection, PraxisAnalyticsSortRule, PraxisAnalyticsSource, PraxisAnalyticsStatsExecutionPlan, PraxisAnalyticsStatsMetricRequest, PraxisAnalyticsStatsRequest, PraxisAnalyticsTimeSeriesStatsRequest, PraxisAuthContext, PraxisBrandConfig, PraxisBuiltinCustomRuleOperator, PraxisCollectionComponentType, PraxisCollectionExportCsvOptions, PraxisCollectionExportExcelOptions, PraxisCollectionExportField, PraxisCollectionExportFieldPresentation, PraxisCollectionExportFormatOptions, PraxisCollectionExportHttpProviderOptions, PraxisCollectionExportLocalization, PraxisCollectionExportProvider, PraxisCollectionExportRequest, PraxisCollectionExportResult, PraxisCollectionExportSource, PraxisCollectionPaginationState, PraxisCollectionSearchTokens, PraxisCollectionSelectionMode, PraxisCollectionSelectionState, PraxisCollectionSortDescriptor, PraxisComputedFieldDefinition, PraxisComputedFieldsConfig, PraxisConditionalEffectDiagnostic, PraxisConditionalRule, PraxisConditionalRuleMatchInput, PraxisCustomRuleOperator, PraxisDataQueryContext, PraxisDataQueryContextMeta, PraxisEffectDistinctKeyInput, PraxisEffectPolicy, PraxisEffectiveUiLayoutOptions, PraxisEnterpriseRuntimeContextOptions, PraxisEnterpriseRuntimeEndpoints, PraxisExportFormat, PraxisExportScope, PraxisExportSecurityPolicy, PraxisExportSortDirection, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHostRuleOperator, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nDocumentResolveOptions, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisIconButtonAppearance, PraxisIconButtonPresentation, PraxisIconButtonSize, PraxisIconDefaultsOptions, PraxisJsonLogicEvaluationContext, PraxisJsonLogicEvaluationOptions, PraxisJsonLogicEvaluationResult, PraxisJsonLogicIssueCode, PraxisJsonLogicLimits, PraxisJsonLogicOperatorDefinition, PraxisJsonLogicOperatorDescriptor, PraxisJsonLogicOperatorHelpers, PraxisJsonLogicOperatorMetadata, PraxisJsonLogicOperatorPurity, PraxisJsonLogicOperatorReturnType, PraxisJsonLogicOperatorSource, PraxisJsonLogicRuntimeValue, PraxisJsonLogicValidationIssue, PraxisJsonLogicValidationOptions, PraxisJsonLogicValidationResult, PraxisKpiBandCard, PraxisKpiBandConfig, PraxisLayerScale, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisMicroVisualizationToneResolution, PraxisNativeJsonLogicOperator, PraxisNavGroup, PraxisNavItem, PraxisPresentationVisualizationConfig, PraxisPresentationVisualizationHtmlOptions, PraxisPresentationVisualizationItem, PraxisPresentationVisualizationKind, PraxisPresentationVisualizationPoint, PraxisPresentationVisualizationSegment, PraxisPresentationVisualizationSize, PraxisPresentationVisualizationSurface, PraxisPresentationVisualizationThreshold, PraxisPresentationVisualizationTone, PraxisQueryFilterExpression, PraxisQueryFilterGovernance, PraxisQueryFilterGroup, PraxisQueryFilterNode, PraxisQueryFilterPredicate, PraxisQueryFilterPredicateOperator, PraxisQueryFilterPredicateSource, PraxisRelatedResourceOutletEditorValue, PraxisResourceEvent, PraxisResourceEventKind, PraxisResourceRowClickPayload, PraxisResourceSelectionPayload, PraxisRuleContextDescriptor, PraxisRuleOperator, PraxisRuntimeComponentAffordanceHints, PraxisRuntimeComponentAuthoringManifestRef, PraxisRuntimeComponentIdentity, PraxisRuntimeComponentLifecycle, PraxisRuntimeComponentObservationClaim, PraxisRuntimeComponentObservationClaimKind, PraxisRuntimeComponentObservationDiagnostics, PraxisRuntimeComponentObservationEnvelope, PraxisRuntimeComponentObservationProvider, PraxisRuntimeComponentObservationRegisterOptions, PraxisRuntimeComponentObservationRegistry, PraxisRuntimeComponentObservationSchemaVersion, PraxisRuntimeComponentRefs, PraxisRuntimeComponentRegistration, PraxisRuntimeComponentSchemaFieldDescriptor, PraxisRuntimeComponentSnapshotDigest, PraxisRuntimeConditionalEffectRule, PraxisRuntimeEffectTrigger, PraxisRuntimeGlobalActionEffect, PraxisRuntimeVisualMaterializationCapability, PraxisRuntimeVisualMaterializationStatus, PraxisShellFooterStatus, PraxisSubmitError, PraxisSubmitErrorDetail, PraxisTableCellVisualizationConstraint, PraxisTableCellVisualizationGuidance, PraxisTextValue, PraxisThemeSurfaceTokens, PraxisToastOptions, PraxisTranslationParams, PraxisUserProfile, PraxisWidgetEvent, PraxisWidgetEventType, PraxisWidgetWiringDefinition, PraxisWidgetWiringRule, PraxisXUiAnalytics, PriceRangeValue, RangeSliderInlineTexts, RangeSliderMark, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderScalePreset, RangeSliderSemanticBand, RangeSliderSemanticTone, RangeSliderTrackMode, RangeSliderValue, RangeSliderValueFormat, RangeSliderValueLabelDisplay, ReactiveDeterminationCapability, ReactiveDeterminationDefinition, ReactiveDeterminationExecutionEvent, ReactiveDeterminationExecutionStatus, ReactiveDeterminationFormMode, ReactiveDeterminationInputBinding, ReactiveDeterminationOutputBinding, ReactiveDeterminationProvenance, ReactiveDeterminationProvenanceKind, ReactiveDeterminationScope, ReactiveDeterminationTrigger, ReactiveDeterminationTriggerMode, RecordRelatedSurfaceContext, RecordRelatedSurfaceContextPack, RecordRelatedSurfaceEndpoint, RecordRelatedSurfaceOperationId, RelatedResourceChildOperation, RelatedResourceOutletMode, RelatedResourceQueryContext, RelatedResourceResolutionState, RelatedResourceSurface, RelatedResourceSurfaceResolution, RelatedResourceSurfaceResolverRequest, RenderingConfig, ResizingConfig, ResolveCrudOperationRequest, ResolveFieldPresentationOptions, ResolvePresetOptions, ResolveResourceIdentityOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedCrudOperation, ResolvedCrudOperationSource, ResolvedFieldPresentation, ResolvedNestedPort, ResolvedPraxisPresentationVisualizationConfig, ResolvedResourceIdentityContract, ResolvedValuePresentation, ResourceActionCatalogItem, ResourceActionCatalogResponse, ResourceActionCollectionAtomicity, ResourceActionExecutionContract, ResourceActionInteractionMode, ResourceActionOpenAdapterOptions, ResourceActionOutcomeMode, ResourceActionRequirement, ResourceActionRiskLevel, ResourceActionScope, ResourceActionVersionTransport, ResourceAvailabilityDecision, ResourceCanonicalCapabilityOperationId, ResourceCapabilityDigest, ResourceCapabilityOperation, ResourceCapabilityOperationId, ResourceCapabilityOperations, ResourceCapabilitySnapshot, ResourceCrudOperationId, ResourceDiscoveryRel, ResourceDiscoveryRequestOptions, ResourceExportMaxRows, ResourceIdentityContract, ResourceIdentityDiagnostic, ResourceIdentityFieldMetadata, ResourceIdentityPart, ResourceIdentitySource, ResourceKnownCapabilityOperationId, ResourceLinkItem, ResourceLinkSource, ResourceLinks, ResourceRecordOpenFailureCode, ResourceRecordOpenRef, ResourceRecordOpenResolution, ResourceRecordOpenResolveOptions, ResourceSchemaCatalogEndpoint, ResourceSchemaCatalogExample, ResourceSchemaCatalogField, ResourceSchemaCatalogHttpMethod, ResourceSchemaCatalogOperationExamples, ResourceSchemaCatalogParameter, ResourceSchemaCatalogQuery, ResourceSchemaCatalogRelation, ResourceSchemaCatalogResponse, ResourceSchemaCatalogSchemaLinks, ResourceSchemaCatalogSchemaRef, ResourceSchemaCatalogVisual, ResourceSchemaCatalogVisualSource, ResourceStatsCapability, ResourceStatsFieldCapability, ResourceStatsMetric, ResourceStatsMode, ResourceSurfaceCatalogItem, ResourceSurfaceCatalogResponse, ResourceSurfaceKind, ResourceSurfaceOpenAdapterOptions, ResourceSurfaceResponseCardinality, ResourceSurfaceScope, ResponsiveConfig, RestApiLinks, RestApiResponse, RichAccordionItem, RichAccordionNode, RichActionButtonNode, RichActionCardCtaPlacement, RichActionCardCtaVariant, RichActionCardNode, RichActionRef, RichAvatarNode, RichBadgeNode, RichBadgeTone, RichBlockBaseNode, RichBlockContextConfig, RichBlockContextScope, RichBlockHostCapabilities, RichBlockNode, RichBlockRuleSet, RichCalloutNode, RichCapabilityMode, RichCardAccessibility, RichCardDensity, RichCardInteraction, RichCardInteractionMode, RichCardMedia, RichCardMediaAspectRatio, RichCardMediaKind, RichCardMediaObjectFit, RichCardMediaPlacement, RichCardMediaTelemetry, RichCardNode, RichCardOrientation, RichCardSize, RichCardTone, RichCardVariant, RichCollapsibleCardNode, RichComposeAlignItems, RichComposeLayout, RichComposeNode, RichContentDocument, RichCtaGroupLayout, RichCtaGroupNode, RichDecisionGovernanceStatus, RichDecisionPackageEvidence, RichDecisionPackageNode, RichDecisionRisk, RichDisclosureNode, RichDynamicFormNode, RichEmptyStateNode, RichFormLauncherNode, RichIconNode, RichImageNode, RichKeyValueItem, RichKeyValueListNode, RichLinkNode, RichLookupCardNode, RichLookupResultField, RichLookupResultNode, RichLookupResultStatus, RichMediaBlockNode, RichMetricNode, RichMicroVisualizationNode, RichPageHeaderNode, RichPresenterNode, RichPresetReferenceNode, RichPrimitiveNode, RichProgressNode, RichPropertySheetColumns, RichPropertySheetItem, RichPropertySheetNode, RichPropertySheetTone, RichRecordSummaryField, RichRecordSummaryNode, RichRelatedRecordNode, RichSemanticTone, RichStatGroupHeaderSpacing, RichStatGroupLayout, RichStatGroupNode, RichStatGroupTileLayout, RichStatItem, RichStatItemProgress, RichStatTone, RichTabsAppearance, RichTabsItem, RichTabsNode, RichTextAppearance, RichTextNode, RichTextVariant, RichTimelineColor, RichTimelineConnectorVariant, RichTimelineDensity, RichTimelineEmphasis, RichTimelineItem, RichTimelineMarkerStyle, RichTimelineMarkerVariant, RichTimelineNode, RichTimelineOrder, RichTimelineOrientation, RichTimelinePosition, RichTimelineTextAppearance, RowAction, RowActionsConfig, RuleContextRoot, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, RuntimeLinkSnapshot, RuntimeLinkStatus, RuntimePayloadSummary, RuntimeSnapshot, RuntimeSnapshotStatus, RuntimeStateSnapshot, RuntimeTraceEntry, RuntimeTracePhase, SafeExpressionError, SafeExpressionOptions, SchemaIdParams, SchemaMetaInfo, SchemaMetadataClientOptions, SchemaViewerContext, SelectionConfig, SemanticCompositionLink, SerializableFieldMetadata, SettingsEditorSection, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateEndpointRef, StateMessagesConfig, StaticDateRangePreset, StaticDateRangePresetTone, StaticPresetResolutionOptions, SubmitPolicy, SurfaceBinding, SurfaceBindingMode, SurfaceDrawerBridge, SurfaceDrawerFrameRef, SurfaceDrawerNavigationFrame, SurfaceDrawerNavigationGuard, SurfaceDrawerNavigationState, SurfaceDrawerOpenContent, SurfaceDrawerOpenOptions, SurfaceDrawerRef, SurfaceDrawerResult, SurfaceDrawerWidthPreset, SurfaceLifecycleCondition, SurfaceLifecycleOutcomeBinding, SurfaceLifecyclePolicy, SurfaceNavigationFailureCode, SurfaceNavigationOperation, SurfaceOpenPayload, SurfaceOpenPreset, SurfaceOperationContext, SurfaceOperationRelationship, SurfaceOperationResourceRef, SurfaceOutcome, SurfaceOutcomeKind, SurfaceOutletRegistration, SurfacePresentation, SurfaceSizeConfig, SyncConfig, SyncResult, TableActionsConfig, TableAiAssistantConfig, TableAiConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableDetailActionBarAction, TableDetailActionBarNode, TableDetailActionNode, TableDetailAllowedNode, TableDetailBaseNode, TableDetailCardGridCardNode, TableDetailCardGridNode, TableDetailCardNode, TableDetailConfig, TableDetailDiagramEmbedNode, TableDetailEmbedAction, TableDetailEmbedBaseNode, TableDetailInlineNodeResolverDefinition, TableDetailInlineRendererContext, TableDetailInlineRendererDefinition, TableDetailInlineSchemaDocument, TableDetailLayoutNode, TableDetailListItemAction, TableDetailListItemContextConfig, TableDetailListItemSchema, TableDetailListNode, TableDetailMediaBlockNode, TableDetailRefNode, TableDetailResourceDocument, TableDetailResourceResolver, TableDetailResourceResolverRequest, TableDetailResourceResolverResult, TableDetailRichContentNode, TableDetailRichListNode, TableDetailRichTextNode, TableDetailSchemaNode, TableDetailTabNode, TableDetailTabsNode, TableDetailTemplateRefNode, TableDetailTimelineItemSchema, TableDetailTimelineNode, TableDetailTimelineStaticItem, TableDetailValueNode, TableDrawerConfig, TableExpansionConfig, TableLocalDataModeConfig, TableSchemaColumnProjectionConfig, TableToolbarAppearanceConfig, TableToolbarAppearanceDensity, TableToolbarAppearanceDivider, TableToolbarAppearanceShape, TableToolbarAppearanceVariant, TableToolbarTokenName, TableTooltipConfig, TelemetryEvent, TelemetryLoggerSinkOptions, TelemetryTransport, TextTransformApply, TextTransformName, ThemeConfig, ToolbarAction, ToolbarActionEvent, ToolbarActionTarget, ToolbarActionTargetCardinality, ToolbarActionTargetScope, ToolbarConfig, ToolbarFilterConfig, ToolbarLayoutConfig, ToolbarSettingsConfig, TransformBinding, TransformBindingSource, TransformCatalogCategory, TransformCatalogEntry, TransformKind, TransformLegacyReplacement, TransformOutputHint, TransformPhase, TransformPipeline, TransformSemanticKind, TransformStep, TypographyConfig, UiLayoutAssignmentCommand, UiLayoutAssignmentCommandResult, UiLayoutAssignmentRevisionReceipt, UiLayoutAssignmentSelection, UiLayoutAssignmentSelector, UiLayoutAuthoringDocumentReceipt, UiLayoutDraftReceipt, UiLayoutDraftWorkspaceReceipt, UiLayoutDraftWorkspaceTarget, UiLayoutFreezeReleaseCommand, UiLayoutFreezeReleaseCommandResult, UiLayoutHeadWriteCondition, UiLayoutLayerClass, UiLayoutLifecycleHttpReceipt, UiLayoutLifecycleNotModifiedReceipt, UiLayoutReasonCommand, UiLayoutReleaseHeadReceipt, UiLayoutReleaseReceipt, UiLayoutReleaseReferenceCommand, UiLayoutReleaseReviewReceipt, UiLayoutResolutionDiagnostic, UiLayoutRevisionCommand, UiLayoutRevisionCommandResult, UiLayoutRevisionReceipt, UiLayoutRevisionSelection, UiLayoutTarget, 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, WidgetPageAuthoringCapabilities, WidgetPageCanvasCollisionPolicy, WidgetPageCanvasConstraints, WidgetPageCanvasItem, WidgetPageCanvasItemOverride, WidgetPageCanvasLayout, WidgetPageCanvasLayoutVariant, WidgetPageComposition, WidgetPageCompositionDefinition, WidgetPageCompositionInput, WidgetPageCompositionState, WidgetPageDefinition, WidgetPageDeviceKind, WidgetPageDeviceLayouts, WidgetPageDevicePolicy, WidgetPageGroupingDefinition, WidgetPageGroupingOverride, WidgetPageGroupingTabDefinition, WidgetPageLayout, WidgetPageLayoutPresetDefinition, WidgetPageLayoutVariant, WidgetPageOrientation, WidgetPagePersistenceState, WidgetPageSlotAssignments, WidgetPageSlotDefinition, WidgetPageStateDefinition, WidgetPageStateInput, WidgetPageStateRuntimeSnapshot, WidgetPageThemePresetDefinition, WidgetPageWidgetLayoutOverride, WidgetPageWidgetSuggestion, WidgetResolutionDiagnostic, WidgetResolutionPhase, WidgetShellAction, WidgetShellActionContributor, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellAuthoringCapabilities, WidgetShellBodyLayout, WidgetShellConfig, WidgetShellPresetCategory, WidgetShellPresetDefinition, WidgetShellWindowActions, WidgetStateNode };