@praxisui/core 8.0.0-beta.0 → 8.0.0-beta.2
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 +9 -0
- package/fesm2022/praxisui-core.mjs +169 -56
- package/index.d.ts +44 -5
- package/package.json +1 -1
- package/theme-bridge.css +174 -0
package/README.md
CHANGED
|
@@ -59,6 +59,15 @@ Exemplo completo (app de referência)
|
|
|
59
59
|
|
|
60
60
|
### 1) `PraxisIconDirective`
|
|
61
61
|
|
|
62
|
+
Hosts devem carregar Material Symbols para ícones `mso:*` e Material Icons classic quando usarem `mi:*`, componentes legados baseados em ligature classic, ou `mat-icon.material-icons`. Sem Material Icons classic, a ligature pode aparecer como texto visível, por exemplo `clear` dentro de um select.
|
|
63
|
+
|
|
64
|
+
Para alinhar tokens e superfícies Angular Material/Praxis, importe o asset canônico do pacote depois do tema Angular Material e do CSS do CDK Overlay:
|
|
65
|
+
|
|
66
|
+
```scss
|
|
67
|
+
@import "@angular/cdk/overlay-prebuilt.css";
|
|
68
|
+
@import "@praxisui/core/theme-bridge.css";
|
|
69
|
+
```
|
|
70
|
+
|
|
62
71
|
```ts
|
|
63
72
|
import { Component } from '@angular/core';
|
|
64
73
|
import { MatIconModule } from '@angular/material/icon';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, InjectionToken, Injectable, inject, Inject, Optional, makeEnvironmentProviders, ENVIRONMENT_INITIALIZER, APP_INITIALIZER, ErrorHandler, EventEmitter, Output, Input, ChangeDetectionStrategy, Directive, SecurityContext, ViewContainerRef, ContentChild, signal, HostListener, ViewChild, computed } from '@angular/core';
|
|
2
|
+
import { Component, InjectionToken, Injectable, inject, Inject, Optional, makeEnvironmentProviders, ENVIRONMENT_INITIALIZER, APP_INITIALIZER, ErrorHandler, EventEmitter, Output, Input, ChangeDetectionStrategy, Directive, SecurityContext, ViewContainerRef, ContentChild, HostBinding, signal, HostListener, ViewChild, computed } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/common/http';
|
|
4
4
|
import { HttpHeaders, HttpClient, HttpParams, HttpResponse, HttpContextToken, HTTP_INTERCEPTORS, withInterceptors } from '@angular/common/http';
|
|
5
5
|
import { of, defer, throwError, from, EMPTY, BehaviorSubject, firstValueFrom, Subject, map as map$1 } from 'rxjs';
|
|
@@ -1549,6 +1549,7 @@ class ApiConfigStorage {
|
|
|
1549
1549
|
http = inject(HttpClient);
|
|
1550
1550
|
opts = inject(API_CONFIG_STORAGE_OPTIONS, { optional: true });
|
|
1551
1551
|
baseUrl = (this.opts?.baseUrl || '/api/praxis/config/ui').replace(/\/$/, '');
|
|
1552
|
+
scope = this.opts?.scope?.trim();
|
|
1552
1553
|
headersFactory = this.opts?.headersFactory || (() => ({}));
|
|
1553
1554
|
defaultHeaders = this.opts?.defaultHeaders;
|
|
1554
1555
|
componentTypeResolver = (key) => {
|
|
@@ -1739,11 +1740,15 @@ class ApiConfigStorage {
|
|
|
1739
1740
|
return new HttpHeaders(merged);
|
|
1740
1741
|
}
|
|
1741
1742
|
buildParams(componentType, componentId) {
|
|
1743
|
+
const params = {
|
|
1744
|
+
componentType,
|
|
1745
|
+
componentId,
|
|
1746
|
+
};
|
|
1747
|
+
if (this.scope) {
|
|
1748
|
+
params['scope'] = this.scope;
|
|
1749
|
+
}
|
|
1742
1750
|
return new HttpParams({
|
|
1743
|
-
fromObject:
|
|
1744
|
-
componentType,
|
|
1745
|
-
componentId,
|
|
1746
|
-
},
|
|
1751
|
+
fromObject: params,
|
|
1747
1752
|
});
|
|
1748
1753
|
}
|
|
1749
1754
|
resolveKey(key) {
|
|
@@ -2111,6 +2116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
2111
2116
|
args: [{ providedIn: 'root' }]
|
|
2112
2117
|
}], ctorParameters: () => [] });
|
|
2113
2118
|
|
|
2119
|
+
const SCHEMA_CACHE_GLOBAL_CONFIG_READY_TIMEOUT_MS = 1200;
|
|
2114
2120
|
/**
|
|
2115
2121
|
* Serviço genérico para operações CRUD em APIs REST padronizadas.
|
|
2116
2122
|
*
|
|
@@ -2180,7 +2186,10 @@ class GenericCrudService {
|
|
|
2180
2186
|
if (!this.schemaCacheReady) {
|
|
2181
2187
|
this.schemaCacheReady = (async () => {
|
|
2182
2188
|
try {
|
|
2183
|
-
await
|
|
2189
|
+
await Promise.race([
|
|
2190
|
+
this.globalConfig.ready(),
|
|
2191
|
+
new Promise((resolve) => setTimeout(resolve, SCHEMA_CACHE_GLOBAL_CONFIG_READY_TIMEOUT_MS)),
|
|
2192
|
+
]);
|
|
2184
2193
|
}
|
|
2185
2194
|
catch { }
|
|
2186
2195
|
const disableCache = this.globalConfig.get('cache.disableSchemaCache');
|
|
@@ -8521,6 +8530,14 @@ function buildPraxisLayerScaleCss(scale = PRAXIS_LAYER_SCALE_DEFAULTS) {
|
|
|
8521
8530
|
z-index: var(${PRAXIS_LAYER_SCALE_VARS.cdkOverlayBackdrop}, ${scale.cdkOverlayBackdrop}) !important;
|
|
8522
8531
|
}
|
|
8523
8532
|
|
|
8533
|
+
.cdk-overlay-pane {
|
|
8534
|
+
z-index: var(${PRAXIS_LAYER_SCALE_VARS.cdkOverlayWrapper}, ${scale.cdkOverlayWrapper}) !important;
|
|
8535
|
+
}
|
|
8536
|
+
|
|
8537
|
+
.cdk-overlay-connected-position-bounding-box {
|
|
8538
|
+
z-index: var(${PRAXIS_LAYER_SCALE_VARS.cdkOverlayWrapper}, ${scale.cdkOverlayWrapper}) !important;
|
|
8539
|
+
}
|
|
8540
|
+
|
|
8524
8541
|
.cdk-global-overlay-wrapper {
|
|
8525
8542
|
z-index: var(${PRAXIS_LAYER_SCALE_VARS.cdkOverlayWrapper}, ${scale.cdkOverlayWrapper}) !important;
|
|
8526
8543
|
}
|
|
@@ -9161,7 +9178,8 @@ class CrudOperationResolutionService {
|
|
|
9161
9178
|
if (operation === 'delete') {
|
|
9162
9179
|
return null;
|
|
9163
9180
|
}
|
|
9164
|
-
const
|
|
9181
|
+
const schemaResourcePath = this.resolveSchemaResourcePath(resourcePath, options);
|
|
9182
|
+
const { path, method, schemaType } = this.buildCanonicalSchemaParams(operation, schemaResourcePath, preferredMethod);
|
|
9165
9183
|
const query = new URLSearchParams({
|
|
9166
9184
|
path,
|
|
9167
9185
|
operation: method.toLowerCase(),
|
|
@@ -9314,7 +9332,21 @@ class CrudOperationResolutionService {
|
|
|
9314
9332
|
if (!normalized) {
|
|
9315
9333
|
return '';
|
|
9316
9334
|
}
|
|
9317
|
-
return normalized.
|
|
9335
|
+
return normalized.replace(/\/+$/, '');
|
|
9336
|
+
}
|
|
9337
|
+
resolveSchemaResourcePath(resourcePath, options) {
|
|
9338
|
+
const normalized = this.normalizeResourcePath(resourcePath);
|
|
9339
|
+
if (!normalized) {
|
|
9340
|
+
return '';
|
|
9341
|
+
}
|
|
9342
|
+
try {
|
|
9343
|
+
const resolved = this.discovery.resolveHref(normalized, options);
|
|
9344
|
+
const pathname = new URL(resolved).pathname.replace(/\/+/g, '/').replace(/\/+$/, '');
|
|
9345
|
+
return pathname || (normalized.startsWith('/') ? normalized : `/${normalized}`);
|
|
9346
|
+
}
|
|
9347
|
+
catch {
|
|
9348
|
+
return normalized.startsWith('/') ? normalized : `/${normalized}`;
|
|
9349
|
+
}
|
|
9318
9350
|
}
|
|
9319
9351
|
resolveCanonicalResourcePath(request, fallbackResourcePath) {
|
|
9320
9352
|
const capabilityResourcePath = this.normalizeResourcePath(request.capabilities?.resourcePath || '');
|
|
@@ -9758,6 +9790,8 @@ class AnalyticsStatsRequestBuilderService {
|
|
|
9758
9790
|
case 'count':
|
|
9759
9791
|
case '':
|
|
9760
9792
|
return 'COUNT';
|
|
9793
|
+
case 'distinct-count':
|
|
9794
|
+
return 'DISTINCT_COUNT';
|
|
9761
9795
|
case 'sum':
|
|
9762
9796
|
return 'SUM';
|
|
9763
9797
|
default:
|
|
@@ -9783,18 +9817,14 @@ class AnalyticsStatsRequestBuilderService {
|
|
|
9783
9817
|
}
|
|
9784
9818
|
mapGranularityToBackend(granularity) {
|
|
9785
9819
|
switch (granularity) {
|
|
9786
|
-
case 'hour':
|
|
9787
|
-
return 'HOUR';
|
|
9788
9820
|
case 'day':
|
|
9789
9821
|
return 'DAY';
|
|
9790
9822
|
case 'week':
|
|
9791
9823
|
return 'WEEK';
|
|
9792
9824
|
case 'month':
|
|
9793
9825
|
return 'MONTH';
|
|
9794
|
-
|
|
9795
|
-
|
|
9796
|
-
case 'year':
|
|
9797
|
-
return 'YEAR';
|
|
9826
|
+
default:
|
|
9827
|
+
throw new Error(`Analytics stats granularity "${granularity}" is not supported in praxis.stats execution.`);
|
|
9798
9828
|
}
|
|
9799
9829
|
}
|
|
9800
9830
|
getExecutionMetrics(projection) {
|
|
@@ -11140,11 +11170,14 @@ function providePraxisGlobalConfigBootstrap(options) {
|
|
|
11140
11170
|
}
|
|
11141
11171
|
|
|
11142
11172
|
function providePraxisI18nConfig(config) {
|
|
11143
|
-
return
|
|
11144
|
-
|
|
11145
|
-
|
|
11146
|
-
|
|
11147
|
-
|
|
11173
|
+
return [
|
|
11174
|
+
{
|
|
11175
|
+
provide: PRAXIS_I18N_CONFIG,
|
|
11176
|
+
useValue: config,
|
|
11177
|
+
multi: true,
|
|
11178
|
+
},
|
|
11179
|
+
PraxisI18nService,
|
|
11180
|
+
];
|
|
11148
11181
|
}
|
|
11149
11182
|
const providePraxisI18n = providePraxisI18nConfig;
|
|
11150
11183
|
function providePraxisI18nTranslator(translator) {
|
|
@@ -12312,7 +12345,9 @@ function normalizeSelectLike(meta) {
|
|
|
12312
12345
|
m.filterCriteria = m.filter;
|
|
12313
12346
|
warnings.push('filter→filterCriteria');
|
|
12314
12347
|
}
|
|
12315
|
-
// Unificar endpoint/resourcePath
|
|
12348
|
+
// Unificar endpoint/resourcePath para metadados legados.
|
|
12349
|
+
// Quando ambos existem, endpoint representa a operacao concreta publicada pelo schema
|
|
12350
|
+
// (ex.: /options/filter) e resourcePath representa o recurso dono.
|
|
12316
12351
|
if (m.resourcePath == null && m.endpoint != null) {
|
|
12317
12352
|
m.resourcePath = m.endpoint;
|
|
12318
12353
|
warnings.push('endpoint→resourcePath');
|
|
@@ -12385,8 +12420,6 @@ function normalizeSelectLike(meta) {
|
|
|
12385
12420
|
delete m.valueField;
|
|
12386
12421
|
if (m.filter !== undefined)
|
|
12387
12422
|
delete m.filter;
|
|
12388
|
-
if (m.endpoint !== undefined)
|
|
12389
|
-
delete m.endpoint;
|
|
12390
12423
|
return m;
|
|
12391
12424
|
}
|
|
12392
12425
|
|
|
@@ -12498,6 +12531,16 @@ function getReferencedFieldMetadata(config, allFieldMetadata) {
|
|
|
12498
12531
|
// Return only metadata for referenced fields
|
|
12499
12532
|
return allFieldMetadata.filter((metadata) => referencedFieldNames.has(metadata.name));
|
|
12500
12533
|
}
|
|
12534
|
+
function isLocalFieldMetadata(field) {
|
|
12535
|
+
return field.source === 'local';
|
|
12536
|
+
}
|
|
12537
|
+
function stripLocalSubmitSemantics$1(field) {
|
|
12538
|
+
const { source, transient, submitPolicy, ...rest } = field;
|
|
12539
|
+
void source;
|
|
12540
|
+
void transient;
|
|
12541
|
+
void submitPolicy;
|
|
12542
|
+
return rest;
|
|
12543
|
+
}
|
|
12501
12544
|
/**
|
|
12502
12545
|
* Synchronizes local config with server metadata
|
|
12503
12546
|
* Detects additions, removals, and modifications
|
|
@@ -12511,7 +12554,7 @@ function syncWithServerMetadata(localConfig, serverMetadata) {
|
|
|
12511
12554
|
// Detect additions/removals
|
|
12512
12555
|
const addedFields = serverFields.filter((f) => !localFieldsMap.has(f.name));
|
|
12513
12556
|
const removedFields = localFields
|
|
12514
|
-
.filter((f) => !serverFieldsMap.has(f.name))
|
|
12557
|
+
.filter((f) => !serverFieldsMap.has(f.name) && !isLocalFieldMetadata(f))
|
|
12515
12558
|
.map((f) => f.name);
|
|
12516
12559
|
// Merge overlapping fields: prefer server as base, preserve local customizations
|
|
12517
12560
|
const mergedOverlapping = [];
|
|
@@ -12522,7 +12565,7 @@ function syncWithServerMetadata(localConfig, serverMetadata) {
|
|
|
12522
12565
|
return; // handled later
|
|
12523
12566
|
// Deep-ish merge with special handling for validators/options
|
|
12524
12567
|
const base = { ...serverField };
|
|
12525
|
-
const loc = { ...localField };
|
|
12568
|
+
const loc = { ...stripLocalSubmitSemantics$1(localField) };
|
|
12526
12569
|
const mergedValidators = { ...serverField.validators, ...localField.validators };
|
|
12527
12570
|
// Options/nodes family: keep local options if provided, else server
|
|
12528
12571
|
const pick = (k) => (loc[k] !== undefined ? loc[k] : base[k]);
|
|
@@ -15169,7 +15212,22 @@ function normalizeEndpoint(path) {
|
|
|
15169
15212
|
}
|
|
15170
15213
|
}
|
|
15171
15214
|
// Remove leading slashes and any duplicated `api` segments
|
|
15172
|
-
|
|
15215
|
+
const normalized = path.replace(/^\/+/, '').replace(/^(?:api\/)+/, '');
|
|
15216
|
+
return normalized.replace(/\/options\/filter\/?$/i, '');
|
|
15217
|
+
}
|
|
15218
|
+
function isOptionsFilterEndpoint(path) {
|
|
15219
|
+
if (!path) {
|
|
15220
|
+
return false;
|
|
15221
|
+
}
|
|
15222
|
+
if (/^https?:\/\//i.test(path)) {
|
|
15223
|
+
try {
|
|
15224
|
+
path = new URL(path).pathname;
|
|
15225
|
+
}
|
|
15226
|
+
catch {
|
|
15227
|
+
// Keep the original string when it cannot be parsed as a URL.
|
|
15228
|
+
}
|
|
15229
|
+
}
|
|
15230
|
+
return /\/options\/filter\/?$/i.test(path);
|
|
15173
15231
|
}
|
|
15174
15232
|
function normalizeOptionSource(optionSource) {
|
|
15175
15233
|
if (!optionSource?.key) {
|
|
@@ -15261,6 +15319,10 @@ function mapFieldDefinitionToMetadata(field) {
|
|
|
15261
15319
|
if (normalizedOptionSource) {
|
|
15262
15320
|
metadata.optionSource = normalizedOptionSource;
|
|
15263
15321
|
}
|
|
15322
|
+
const hasOptionsFilterEndpoint = isOptionsFilterEndpoint(field.endpoint);
|
|
15323
|
+
if (field.endpoint) {
|
|
15324
|
+
metadata.endpoint = field.endpoint;
|
|
15325
|
+
}
|
|
15264
15326
|
const endpointPath = normalizeEndpoint(normalizedOptionSource?.resourcePath ?? field.resourcePath ?? field.endpoint);
|
|
15265
15327
|
if (endpointPath) {
|
|
15266
15328
|
// Canonicalize: only expose resourcePath; do not write legacy alias
|
|
@@ -15303,13 +15365,13 @@ function mapFieldDefinitionToMetadata(field) {
|
|
|
15303
15365
|
if (field.displayField) {
|
|
15304
15366
|
metadata.optionLabelKey = field.displayField;
|
|
15305
15367
|
}
|
|
15306
|
-
else if (normalizedOptionSource) {
|
|
15368
|
+
else if (normalizedOptionSource || hasOptionsFilterEndpoint) {
|
|
15307
15369
|
metadata.optionLabelKey = 'label';
|
|
15308
15370
|
}
|
|
15309
15371
|
if (field.valueField) {
|
|
15310
15372
|
metadata.optionValueKey = field.valueField;
|
|
15311
15373
|
}
|
|
15312
|
-
else if (normalizedOptionSource) {
|
|
15374
|
+
else if (normalizedOptionSource || hasOptionsFilterEndpoint) {
|
|
15313
15375
|
metadata.optionValueKey = 'id';
|
|
15314
15376
|
}
|
|
15315
15377
|
if (field.filter) {
|
|
@@ -17238,6 +17300,8 @@ const ENUMS$1 = {
|
|
|
17238
17300
|
dependencyMergeStrategy: ['replace', 'merge'],
|
|
17239
17301
|
dependencyLoadOnChange: ['respectLoadOn', 'immediate', 'manual'],
|
|
17240
17302
|
textTransformApply: ['displayOnly', 'saveOnly', 'both'],
|
|
17303
|
+
fieldSource: ['schema', 'local'],
|
|
17304
|
+
fieldSubmitPolicy: ['include', 'omit', 'includeWhenDirty'],
|
|
17241
17305
|
visibleIn: ['form', 'filter', 'table', 'dialog'],
|
|
17242
17306
|
appearance: ['fill', 'outline'],
|
|
17243
17307
|
color: ['primary', 'accent', 'warn'],
|
|
@@ -17248,7 +17312,7 @@ const ENUMS$1 = {
|
|
|
17248
17312
|
sectionDescriptionStyle: ['bodyLarge', 'bodyMedium', 'bodySmall'],
|
|
17249
17313
|
};
|
|
17250
17314
|
const FIELD_METADATA_CAPABILITIES = {
|
|
17251
|
-
version: 'v1.
|
|
17315
|
+
version: 'v1.4',
|
|
17252
17316
|
enums: ENUMS$1,
|
|
17253
17317
|
notes: [
|
|
17254
17318
|
'Condições booleanas declarativas devem usar Json Logic canônico. Funções permanecem restritas a escapes host-level como transforms e validators customizados.',
|
|
@@ -17257,6 +17321,8 @@ const FIELD_METADATA_CAPABILITIES = {
|
|
|
17257
17321
|
'Detalhes específicos de cada controle (ex: opções de datepicker, máscaras específicas) devem ser consultados nos catálogos de microcomponentes.',
|
|
17258
17322
|
'POLICY: Arrays e objetos (ex: options, validators) devem sofrer merge/append, nunca substituição completa sem confirmação.',
|
|
17259
17323
|
'Não gere função para conditionalDisplay/conditionalRequired. Use Json Logic serializável; funções ficam restritas a transforms e validators customizados.',
|
|
17324
|
+
'POLICY: Campos auxiliares do host devem usar source=local ou transient=true em FieldMetadata; nao invente campos no DTO/backend quando eles nao devem participar do payload persistido.',
|
|
17325
|
+
'POLICY: formSubmit.formData e o payload filtrado para backend; formSubmit.rawFormData preserva os valores completos da UI, incluindo campos locais/transient.',
|
|
17260
17326
|
],
|
|
17261
17327
|
capabilities: [
|
|
17262
17328
|
// =============================================================================
|
|
@@ -17451,6 +17517,32 @@ const FIELD_METADATA_CAPABILITIES = {
|
|
|
17451
17517
|
description: 'Tipo de dado do campo (text, number, date, etc).',
|
|
17452
17518
|
intentExamples: ['tipo de dado numero', 'campo de data'],
|
|
17453
17519
|
},
|
|
17520
|
+
{
|
|
17521
|
+
path: 'source',
|
|
17522
|
+
category: 'data',
|
|
17523
|
+
valueKind: 'enum',
|
|
17524
|
+
allowedValues: ENUMS$1.fieldSource,
|
|
17525
|
+
description: 'Origem semantica do campo. Use local para campos do host que nao vem do schema backend.',
|
|
17526
|
+
intentExamples: ['campo local', 'campo auxiliar do host', 'campo que nao vem do schema'],
|
|
17527
|
+
safetyNotes: 'Nao marque como local um campo que exista no schema backend; remova a semantica local quando houver colisao com campo server-backed.',
|
|
17528
|
+
},
|
|
17529
|
+
{
|
|
17530
|
+
path: 'transient',
|
|
17531
|
+
category: 'data',
|
|
17532
|
+
valueKind: 'boolean',
|
|
17533
|
+
description: 'Marca o campo como temporario/local para preenchimento. O dynamic-form omite do submit por padrao.',
|
|
17534
|
+
intentExamples: ['campo temporario', 'campo transient', 'nao enviar no payload', 'usar apenas na UI'],
|
|
17535
|
+
safetyNotes: 'Campos transient continuam participando de UI, validacao, regras, visibilidade e valueChange; eles apenas saem do payload persistido por padrao.',
|
|
17536
|
+
},
|
|
17537
|
+
{
|
|
17538
|
+
path: 'submitPolicy',
|
|
17539
|
+
category: 'behavior',
|
|
17540
|
+
valueKind: 'enum',
|
|
17541
|
+
allowedValues: ENUMS$1.fieldSubmitPolicy,
|
|
17542
|
+
description: 'Politica de submit para sobrescrever o padrao de campos locais/transient.',
|
|
17543
|
+
intentExamples: ['omitir do submit', 'enviar mesmo sendo local', 'enviar apenas se alterado'],
|
|
17544
|
+
safetyNotes: 'Use omit para nunca persistir, include para enviar sempre e includeWhenDirty apenas quando o controle estiver dirty.',
|
|
17545
|
+
},
|
|
17454
17546
|
// =============================================================================
|
|
17455
17547
|
// MATERIAL DESIGN (APARÊNCIA GLOBAL)
|
|
17456
17548
|
// =============================================================================
|
|
@@ -19855,9 +19947,7 @@ class DynamicWidgetLoaderDirective {
|
|
|
19855
19947
|
}
|
|
19856
19948
|
try {
|
|
19857
19949
|
// Faz o binding com coerção de tipos quando possível
|
|
19858
|
-
this.bindInputs(this.compRef, def.id, inputs, def.bindingOrder, meta || undefined
|
|
19859
|
-
flushPerPrioritizedInput: !needsRecreate,
|
|
19860
|
-
});
|
|
19950
|
+
this.bindInputs(this.compRef, def.id, inputs, def.bindingOrder, meta || undefined);
|
|
19861
19951
|
this.bindOutputs(this.compRef.instance, def.id, outputs, meta || undefined);
|
|
19862
19952
|
this.compRef.changeDetectorRef.detectChanges();
|
|
19863
19953
|
this.widgetDiagnostic.emit({
|
|
@@ -19917,7 +20007,7 @@ class DynamicWidgetLoaderDirective {
|
|
|
19917
20007
|
}
|
|
19918
20008
|
this.vcRef.clear();
|
|
19919
20009
|
}
|
|
19920
|
-
bindInputs(compRef, id, inputs, bindingOrder, meta
|
|
20010
|
+
bindInputs(compRef, id, inputs, bindingOrder, meta) {
|
|
19921
20011
|
// Derive priority order
|
|
19922
20012
|
const defaultOrderMap = {
|
|
19923
20013
|
'praxis-table': ['tableId', 'componentInstanceId', 'resourcePath', 'data', 'config'],
|
|
@@ -19964,17 +20054,10 @@ class DynamicWidgetLoaderDirective {
|
|
|
19964
20054
|
console.warn(`[DynamicWidgetLoader] Failed to set input ${key}`, e);
|
|
19965
20055
|
}
|
|
19966
20056
|
};
|
|
19967
|
-
|
|
19968
|
-
//
|
|
19969
|
-
// On the first bind, flushing after each input can fire ngOnInit before config/ids land together.
|
|
20057
|
+
// Apply every input before the final detectChanges so ngOnChanges never observes
|
|
20058
|
+
// a partial bindingOrder state, especially during existing component updates.
|
|
19970
20059
|
for (const [key, raw] of prioritized) {
|
|
19971
20060
|
apply(key, raw);
|
|
19972
|
-
if (flushPerPrioritizedInput) {
|
|
19973
|
-
try {
|
|
19974
|
-
compRef.changeDetectorRef.detectChanges();
|
|
19975
|
-
}
|
|
19976
|
-
catch { }
|
|
19977
|
-
}
|
|
19978
20061
|
}
|
|
19979
20062
|
// Apply remaining inputs
|
|
19980
20063
|
for (const [key, raw] of others) {
|
|
@@ -20227,6 +20310,9 @@ const BUILTIN_SHELL_PRESETS = {
|
|
|
20227
20310
|
};
|
|
20228
20311
|
class WidgetShellComponent {
|
|
20229
20312
|
i18n = inject(PraxisI18nService);
|
|
20313
|
+
get hostCollapsed() {
|
|
20314
|
+
return this.collapsed && !this.expanded && !this.fullscreen;
|
|
20315
|
+
}
|
|
20230
20316
|
shell;
|
|
20231
20317
|
context = null;
|
|
20232
20318
|
dragSurfaceEnabled = false;
|
|
@@ -20408,7 +20494,7 @@ class WidgetShellComponent {
|
|
|
20408
20494
|
return this.i18n.t(key, undefined, fallback, WIDGET_SHELL_I18N_NAMESPACE);
|
|
20409
20495
|
}
|
|
20410
20496
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: WidgetShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20411
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.17", type: WidgetShellComponent, isStandalone: true, selector: "praxis-widget-shell", inputs: { shell: "shell", context: "context", dragSurfaceEnabled: "dragSurfaceEnabled", dragSurfaceLabel: "dragSurfaceLabel" }, outputs: { action: "action", dragSurfacePointerDown: "dragSurfacePointerDown", dragSurfaceKeydown: "dragSurfaceKeydown" }, providers: [providePraxisI18nConfig(WIDGET_SHELL_I18N_CONFIG)], queries: [{ propertyName: "loader", first: true, predicate: DynamicWidgetLoaderDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
20497
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.17", type: WidgetShellComponent, isStandalone: true, selector: "praxis-widget-shell", inputs: { shell: "shell", context: "context", dragSurfaceEnabled: "dragSurfaceEnabled", dragSurfaceLabel: "dragSurfaceLabel" }, outputs: { action: "action", dragSurfacePointerDown: "dragSurfacePointerDown", dragSurfaceKeydown: "dragSurfaceKeydown" }, host: { properties: { "class.pdx-widget-shell-collapsed": "this.hostCollapsed" } }, providers: [providePraxisI18nConfig(WIDGET_SHELL_I18N_CONFIG)], queries: [{ propertyName: "loader", first: true, predicate: DynamicWidgetLoaderDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
20412
20498
|
<section
|
|
20413
20499
|
class="pdx-shell"
|
|
20414
20500
|
[class.no-shell]="!shellEnabled"
|
|
@@ -20542,7 +20628,7 @@ class WidgetShellComponent {
|
|
|
20542
20628
|
@if (expanded || fullscreen) {
|
|
20543
20629
|
<div class="pdx-shell-backdrop" (click)="closeOverlay()"></div>
|
|
20544
20630
|
}
|
|
20545
|
-
`, isInline: true, styles: [":host{display:block;height:100%}.pdx-shell{position:relative;height:100%;display:flex;flex-direction:column}.pdx-shell.no-shell{background:transparent;border:none;border-radius:0;box-shadow:none}.pdx-shell.dashboard{background:var(--pdx-shell-card-bg, var(--pdx-dashboard-card-bg, var(--md-sys-color-surface-container-low)));border:1px solid var(--pdx-shell-card-border, var(--pdx-dashboard-card-border, var(--md-sys-color-outline-variant)));border-radius:var(--pdx-shell-card-radius, 12px);box-shadow:var(--pdx-shell-card-shadow, 0 4px 12px rgba(15, 23, 42, .06));overflow:hidden}.pdx-shell-header{display:flex;align-items:center;gap:10px;padding:8px 10px 7px;border-bottom:1px solid var(--pdx-shell-header-border, var(--md-sys-color-outline-variant));background:var(--pdx-shell-header-bg, var(--md-sys-color-surface-container))}.pdx-shell-header--drag-enabled{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.pdx-shell-header--drag-enabled:active{cursor:grabbing}.pdx-shell-header--drag-enabled:focus-visible{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary) 72%,white 28%);outline-offset:-2px}.pdx-shell-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--pdx-shell-title-color, inherit)}.pdx-shell-title mat-icon{color:var(--pdx-shell-icon-color, currentColor)}.pdx-shell-text{min-width:0}.pdx-shell-title-text{font-weight:var(--pdx-shell-title-weight, 600);font-size:var(--pdx-shell-title-size, 13px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-subtitle{font-size:var(--pdx-shell-subtitle-size, 11px);opacity:.75;color:var(--pdx-shell-subtitle-color, currentColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-actions,.pdx-shell-window-actions{display:flex;align-items:center;gap:4px}.pdx-shell-window-actions{margin-left:auto}.pdx-action-outlined{border:1px solid var(--md-sys-color-outline-variant);border-radius:999px;padding:0 10px}.pdx-action-text{padding:0 8px}.pdx-action-label{font-size:12px;font-weight:500}.pdx-shell-body{flex:1;min-height:0;padding:var(--pdx-shell-body-padding, 8px 10px 10px 10px);background:var(--pdx-shell-body-bg, transparent);color:var(--pdx-shell-body-color, inherit)}.pdx-shell.no-shell .pdx-shell-body{padding:0}.pdx-shell-body.hidden{display:none}.pdx-shell.collapsed .pdx-shell-header{border-bottom-color:transparent}.pdx-shell.body-fill .pdx-shell-body,.pdx-shell.body-scroll .pdx-shell-body,.pdx-shell.expanded .pdx-shell-body,.pdx-shell.fullscreen .pdx-shell-body{overflow:auto;display:flex;flex-direction:column;min-height:0}.pdx-shell.body-fill .pdx-shell-body{overflow:hidden}.pdx-shell.body-scroll .pdx-shell-body{overflow:auto}.pdx-shell.body-fill .pdx-shell-body>*,.pdx-shell.body-scroll .pdx-shell-body>*,.pdx-shell.expanded .pdx-shell-body>*,.pdx-shell.fullscreen .pdx-shell-body>*{flex:1 1 auto;min-height:0;width:100%}.pdx-shell.expanded{position:fixed;top:10vh;left:50%;width:min(920px,92vw);height:min(640px,82vh);transform:translate(-50%);z-index:var(--praxis-layer-widget-shell-expanded, 1290);box-shadow:var(--mat-elevation-level8)}.pdx-shell.fullscreen{position:fixed;top:50%;left:50%;width:95vw;height:95vh;transform:translate(-50%,-50%);z-index:var(--praxis-layer-widget-shell-fullscreen, 1291);box-shadow:var(--mat-elevation-level8)}.pdx-shell-backdrop{position:fixed;inset:0;z-index:var(--praxis-layer-widget-shell-backdrop, 1280);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20631
|
+
`, isInline: true, styles: [":host{display:block;height:100%}:host(.pdx-widget-shell-collapsed){height:auto}.pdx-shell{position:relative;height:100%;display:flex;flex-direction:column}.pdx-shell.no-shell{background:transparent;border:none;border-radius:0;box-shadow:none}.pdx-shell.dashboard{background:var(--pdx-shell-card-bg, var(--pdx-dashboard-card-bg, var(--md-sys-color-surface-container-low)));border:1px solid var(--pdx-shell-card-border, var(--pdx-dashboard-card-border, var(--md-sys-color-outline-variant)));border-radius:var(--pdx-shell-card-radius, 12px);box-shadow:var(--pdx-shell-card-shadow, 0 4px 12px rgba(15, 23, 42, .06));overflow:hidden}.pdx-shell-header{display:flex;align-items:center;gap:10px;padding:8px 10px 7px;border-bottom:1px solid var(--pdx-shell-header-border, var(--md-sys-color-outline-variant));background:var(--pdx-shell-header-bg, var(--md-sys-color-surface-container))}.pdx-shell-header--drag-enabled{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.pdx-shell-header--drag-enabled:active{cursor:grabbing}.pdx-shell-header--drag-enabled:focus-visible{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary) 72%,white 28%);outline-offset:-2px}.pdx-shell-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--pdx-shell-title-color, inherit)}.pdx-shell-title mat-icon{color:var(--pdx-shell-icon-color, currentColor)}.pdx-shell-text{min-width:0}.pdx-shell-title-text{font-weight:var(--pdx-shell-title-weight, 600);font-size:var(--pdx-shell-title-size, 13px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-subtitle{font-size:var(--pdx-shell-subtitle-size, 11px);opacity:.75;color:var(--pdx-shell-subtitle-color, currentColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-actions,.pdx-shell-window-actions{display:flex;align-items:center;gap:4px}.pdx-shell-window-actions{margin-left:auto}.pdx-action-outlined{border:1px solid var(--md-sys-color-outline-variant);border-radius:999px;padding:0 10px}.pdx-action-text{padding:0 8px}.pdx-action-label{font-size:12px;font-weight:500}.pdx-shell-body{flex:1;min-height:0;padding:var(--pdx-shell-body-padding, 8px 10px 10px 10px);background:var(--pdx-shell-body-bg, transparent);color:var(--pdx-shell-body-color, inherit)}.pdx-shell.no-shell .pdx-shell-body{padding:0}.pdx-shell-body.hidden{display:none}.pdx-shell.collapsed{height:auto}.pdx-shell.collapsed .pdx-shell-header{border-bottom-color:transparent}.pdx-shell.body-fill .pdx-shell-body,.pdx-shell.body-scroll .pdx-shell-body,.pdx-shell.expanded .pdx-shell-body,.pdx-shell.fullscreen .pdx-shell-body{overflow:auto;display:flex;flex-direction:column;min-height:0}.pdx-shell.collapsed .pdx-shell-body{display:none}.pdx-shell.body-fill .pdx-shell-body{overflow:hidden}.pdx-shell.body-scroll .pdx-shell-body{overflow:auto}.pdx-shell.body-fill .pdx-shell-body>*,.pdx-shell.body-scroll .pdx-shell-body>*,.pdx-shell.expanded .pdx-shell-body>*,.pdx-shell.fullscreen .pdx-shell-body>*{flex:1 1 auto;min-height:0;width:100%}.pdx-shell.expanded{position:fixed;top:10vh;left:50%;width:min(920px,92vw);height:min(640px,82vh);transform:translate(-50%);z-index:var(--praxis-layer-widget-shell-expanded, 1290);box-shadow:var(--mat-elevation-level8)}.pdx-shell.fullscreen{position:fixed;top:50%;left:50%;width:95vw;height:95vh;transform:translate(-50%,-50%);z-index:var(--praxis-layer-widget-shell-fullscreen, 1291);box-shadow:var(--mat-elevation-level8)}.pdx-shell-backdrop{position:fixed;inset:0;z-index:var(--praxis-layer-widget-shell-backdrop, 1280);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
20546
20632
|
}
|
|
20547
20633
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: WidgetShellComponent, decorators: [{
|
|
20548
20634
|
type: Component,
|
|
@@ -20680,8 +20766,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
20680
20766
|
@if (expanded || fullscreen) {
|
|
20681
20767
|
<div class="pdx-shell-backdrop" (click)="closeOverlay()"></div>
|
|
20682
20768
|
}
|
|
20683
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;height:100%}.pdx-shell{position:relative;height:100%;display:flex;flex-direction:column}.pdx-shell.no-shell{background:transparent;border:none;border-radius:0;box-shadow:none}.pdx-shell.dashboard{background:var(--pdx-shell-card-bg, var(--pdx-dashboard-card-bg, var(--md-sys-color-surface-container-low)));border:1px solid var(--pdx-shell-card-border, var(--pdx-dashboard-card-border, var(--md-sys-color-outline-variant)));border-radius:var(--pdx-shell-card-radius, 12px);box-shadow:var(--pdx-shell-card-shadow, 0 4px 12px rgba(15, 23, 42, .06));overflow:hidden}.pdx-shell-header{display:flex;align-items:center;gap:10px;padding:8px 10px 7px;border-bottom:1px solid var(--pdx-shell-header-border, var(--md-sys-color-outline-variant));background:var(--pdx-shell-header-bg, var(--md-sys-color-surface-container))}.pdx-shell-header--drag-enabled{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.pdx-shell-header--drag-enabled:active{cursor:grabbing}.pdx-shell-header--drag-enabled:focus-visible{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary) 72%,white 28%);outline-offset:-2px}.pdx-shell-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--pdx-shell-title-color, inherit)}.pdx-shell-title mat-icon{color:var(--pdx-shell-icon-color, currentColor)}.pdx-shell-text{min-width:0}.pdx-shell-title-text{font-weight:var(--pdx-shell-title-weight, 600);font-size:var(--pdx-shell-title-size, 13px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-subtitle{font-size:var(--pdx-shell-subtitle-size, 11px);opacity:.75;color:var(--pdx-shell-subtitle-color, currentColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-actions,.pdx-shell-window-actions{display:flex;align-items:center;gap:4px}.pdx-shell-window-actions{margin-left:auto}.pdx-action-outlined{border:1px solid var(--md-sys-color-outline-variant);border-radius:999px;padding:0 10px}.pdx-action-text{padding:0 8px}.pdx-action-label{font-size:12px;font-weight:500}.pdx-shell-body{flex:1;min-height:0;padding:var(--pdx-shell-body-padding, 8px 10px 10px 10px);background:var(--pdx-shell-body-bg, transparent);color:var(--pdx-shell-body-color, inherit)}.pdx-shell.no-shell .pdx-shell-body{padding:0}.pdx-shell-body.hidden{display:none}.pdx-shell.collapsed .pdx-shell-header{border-bottom-color:transparent}.pdx-shell.body-fill .pdx-shell-body,.pdx-shell.body-scroll .pdx-shell-body,.pdx-shell.expanded .pdx-shell-body,.pdx-shell.fullscreen .pdx-shell-body{overflow:auto;display:flex;flex-direction:column;min-height:0}.pdx-shell.body-fill .pdx-shell-body{overflow:hidden}.pdx-shell.body-scroll .pdx-shell-body{overflow:auto}.pdx-shell.body-fill .pdx-shell-body>*,.pdx-shell.body-scroll .pdx-shell-body>*,.pdx-shell.expanded .pdx-shell-body>*,.pdx-shell.fullscreen .pdx-shell-body>*{flex:1 1 auto;min-height:0;width:100%}.pdx-shell.expanded{position:fixed;top:10vh;left:50%;width:min(920px,92vw);height:min(640px,82vh);transform:translate(-50%);z-index:var(--praxis-layer-widget-shell-expanded, 1290);box-shadow:var(--mat-elevation-level8)}.pdx-shell.fullscreen{position:fixed;top:50%;left:50%;width:95vw;height:95vh;transform:translate(-50%,-50%);z-index:var(--praxis-layer-widget-shell-fullscreen, 1291);box-shadow:var(--mat-elevation-level8)}.pdx-shell-backdrop{position:fixed;inset:0;z-index:var(--praxis-layer-widget-shell-backdrop, 1280);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}\n"] }]
|
|
20684
|
-
}], propDecorators: {
|
|
20769
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;height:100%}:host(.pdx-widget-shell-collapsed){height:auto}.pdx-shell{position:relative;height:100%;display:flex;flex-direction:column}.pdx-shell.no-shell{background:transparent;border:none;border-radius:0;box-shadow:none}.pdx-shell.dashboard{background:var(--pdx-shell-card-bg, var(--pdx-dashboard-card-bg, var(--md-sys-color-surface-container-low)));border:1px solid var(--pdx-shell-card-border, var(--pdx-dashboard-card-border, var(--md-sys-color-outline-variant)));border-radius:var(--pdx-shell-card-radius, 12px);box-shadow:var(--pdx-shell-card-shadow, 0 4px 12px rgba(15, 23, 42, .06));overflow:hidden}.pdx-shell-header{display:flex;align-items:center;gap:10px;padding:8px 10px 7px;border-bottom:1px solid var(--pdx-shell-header-border, var(--md-sys-color-outline-variant));background:var(--pdx-shell-header-bg, var(--md-sys-color-surface-container))}.pdx-shell-header--drag-enabled{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.pdx-shell-header--drag-enabled:active{cursor:grabbing}.pdx-shell-header--drag-enabled:focus-visible{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary) 72%,white 28%);outline-offset:-2px}.pdx-shell-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--pdx-shell-title-color, inherit)}.pdx-shell-title mat-icon{color:var(--pdx-shell-icon-color, currentColor)}.pdx-shell-text{min-width:0}.pdx-shell-title-text{font-weight:var(--pdx-shell-title-weight, 600);font-size:var(--pdx-shell-title-size, 13px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-subtitle{font-size:var(--pdx-shell-subtitle-size, 11px);opacity:.75;color:var(--pdx-shell-subtitle-color, currentColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-actions,.pdx-shell-window-actions{display:flex;align-items:center;gap:4px}.pdx-shell-window-actions{margin-left:auto}.pdx-action-outlined{border:1px solid var(--md-sys-color-outline-variant);border-radius:999px;padding:0 10px}.pdx-action-text{padding:0 8px}.pdx-action-label{font-size:12px;font-weight:500}.pdx-shell-body{flex:1;min-height:0;padding:var(--pdx-shell-body-padding, 8px 10px 10px 10px);background:var(--pdx-shell-body-bg, transparent);color:var(--pdx-shell-body-color, inherit)}.pdx-shell.no-shell .pdx-shell-body{padding:0}.pdx-shell-body.hidden{display:none}.pdx-shell.collapsed{height:auto}.pdx-shell.collapsed .pdx-shell-header{border-bottom-color:transparent}.pdx-shell.body-fill .pdx-shell-body,.pdx-shell.body-scroll .pdx-shell-body,.pdx-shell.expanded .pdx-shell-body,.pdx-shell.fullscreen .pdx-shell-body{overflow:auto;display:flex;flex-direction:column;min-height:0}.pdx-shell.collapsed .pdx-shell-body{display:none}.pdx-shell.body-fill .pdx-shell-body{overflow:hidden}.pdx-shell.body-scroll .pdx-shell-body{overflow:auto}.pdx-shell.body-fill .pdx-shell-body>*,.pdx-shell.body-scroll .pdx-shell-body>*,.pdx-shell.expanded .pdx-shell-body>*,.pdx-shell.fullscreen .pdx-shell-body>*{flex:1 1 auto;min-height:0;width:100%}.pdx-shell.expanded{position:fixed;top:10vh;left:50%;width:min(920px,92vw);height:min(640px,82vh);transform:translate(-50%);z-index:var(--praxis-layer-widget-shell-expanded, 1290);box-shadow:var(--mat-elevation-level8)}.pdx-shell.fullscreen{position:fixed;top:50%;left:50%;width:95vw;height:95vh;transform:translate(-50%,-50%);z-index:var(--praxis-layer-widget-shell-fullscreen, 1291);box-shadow:var(--mat-elevation-level8)}.pdx-shell-backdrop{position:fixed;inset:0;z-index:var(--praxis-layer-widget-shell-backdrop, 1280);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}\n"] }]
|
|
20770
|
+
}], propDecorators: { hostCollapsed: [{
|
|
20771
|
+
type: HostBinding,
|
|
20772
|
+
args: ['class.pdx-widget-shell-collapsed']
|
|
20773
|
+
}], shell: [{
|
|
20685
20774
|
type: Input
|
|
20686
20775
|
}], context: [{
|
|
20687
20776
|
type: Input
|
|
@@ -23828,6 +23917,7 @@ class DynamicWidgetPageComponent {
|
|
|
23828
23917
|
/** Optional instance key for pages rendered multiple times. */
|
|
23829
23918
|
componentInstanceId;
|
|
23830
23919
|
pageChange = new EventEmitter();
|
|
23920
|
+
widgetEvent = new EventEmitter();
|
|
23831
23921
|
widgetDiagnosticsChange = new EventEmitter();
|
|
23832
23922
|
widgets = signal([], ...(ngDevMode ? [{ debugName: "widgets" }] : []));
|
|
23833
23923
|
renderedGroups = signal([], ...(ngDevMode ? [{ debugName: "renderedGroups" }] : []));
|
|
@@ -23948,6 +24038,10 @@ class DynamicWidgetPageComponent {
|
|
|
23948
24038
|
}
|
|
23949
24039
|
}
|
|
23950
24040
|
onWidgetEvent(fromKey, evt) {
|
|
24041
|
+
this.widgetEvent.emit({
|
|
24042
|
+
...evt,
|
|
24043
|
+
ownerWidgetKey: evt.ownerWidgetKey || fromKey,
|
|
24044
|
+
});
|
|
23951
24045
|
if (evt?.output && this.maybeExecuteMappedAction(fromKey, evt)) {
|
|
23952
24046
|
return;
|
|
23953
24047
|
}
|
|
@@ -25779,7 +25873,7 @@ class DynamicWidgetPageComponent {
|
|
|
25779
25873
|
throw new Error('DynamicWidgetPageComponent no longer accepts `page.connections`. Use `composition.links` only.');
|
|
25780
25874
|
}
|
|
25781
25875
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: DynamicWidgetPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25782
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.17", type: DynamicWidgetPageComponent, isStandalone: true, selector: "praxis-dynamic-page", inputs: { page: "page", context: "context", strictValidation: "strictValidation", enableCustomization: "enableCustomization", showPageSettingsButton: "showPageSettingsButton", shellEditorComponent: "shellEditorComponent", pageEditorComponent: "pageEditorComponent", autoPersist: "autoPersist", pageIdentity: "pageIdentity", componentInstanceId: "componentInstanceId" }, outputs: { pageChange: "pageChange", widgetDiagnosticsChange: "widgetDiagnosticsChange" }, host: { listeners: { "window:resize": "onWindowResize()", "window:pointermove": "onCanvasPointerMove($event)", "window:pointerup": "onCanvasPointerUp($event)", "window:pointercancel": "onCanvasPointerCancel($event)" } }, providers: [providePraxisI18nConfig(DYNAMIC_WIDGET_PAGE_I18N_CONFIG)], viewQueries: [{ propertyName: "pageCanvasHost", first: true, predicate: ["pageCanvasHost"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
25876
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.17", type: DynamicWidgetPageComponent, isStandalone: true, selector: "praxis-dynamic-page", inputs: { page: "page", context: "context", strictValidation: "strictValidation", enableCustomization: "enableCustomization", showPageSettingsButton: "showPageSettingsButton", shellEditorComponent: "shellEditorComponent", pageEditorComponent: "pageEditorComponent", autoPersist: "autoPersist", pageIdentity: "pageIdentity", componentInstanceId: "componentInstanceId" }, outputs: { pageChange: "pageChange", widgetEvent: "widgetEvent", widgetDiagnosticsChange: "widgetDiagnosticsChange" }, host: { listeners: { "window:resize": "onWindowResize()", "window:pointermove": "onCanvasPointerMove($event)", "window:pointerup": "onCanvasPointerUp($event)", "window:pointercancel": "onCanvasPointerCancel($event)" } }, providers: [providePraxisI18nConfig(DYNAMIC_WIDGET_PAGE_I18N_CONFIG)], viewQueries: [{ propertyName: "pageCanvasHost", first: true, predicate: ["pageCanvasHost"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
25783
25877
|
<div class="pdx-page-wrapper" [class.editing]="enableCustomization">
|
|
25784
25878
|
@if (enableCustomization && showPageSettingsButton) {
|
|
25785
25879
|
<button
|
|
@@ -26276,6 +26370,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
|
|
|
26276
26370
|
type: Input
|
|
26277
26371
|
}], pageChange: [{
|
|
26278
26372
|
type: Output
|
|
26373
|
+
}], widgetEvent: [{
|
|
26374
|
+
type: Output
|
|
26279
26375
|
}], widgetDiagnosticsChange: [{
|
|
26280
26376
|
type: Output
|
|
26281
26377
|
}], onWindowResize: [{
|
|
@@ -26314,6 +26410,7 @@ const PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA = {
|
|
|
26314
26410
|
],
|
|
26315
26411
|
outputs: [
|
|
26316
26412
|
{ name: 'pageChange', type: 'WidgetPageDefinition', description: 'Emitido ao alterar a definicao da pagina.' },
|
|
26413
|
+
{ name: 'widgetEvent', type: 'WidgetEventEnvelope', description: 'Reemite eventos dos widgets filhos com ownerWidgetKey para integracoes do host.' },
|
|
26317
26414
|
{ name: 'widgetDiagnosticsChange', type: 'Record<string, WidgetResolutionDiagnostic>', description: 'Emitido quando o runtime detecta widgets resolvidos ou falhos durante o carregamento dinamico.' },
|
|
26318
26415
|
],
|
|
26319
26416
|
tags: ['widget', 'page', 'dynamic', 'layout'],
|
|
@@ -27250,12 +27347,18 @@ function buildBaseFormField(def) {
|
|
|
27250
27347
|
}
|
|
27251
27348
|
function applyLocalCustomizations$1(base, local) {
|
|
27252
27349
|
const typeChanged = (base.controlType || '') !== (local.controlType || '');
|
|
27350
|
+
const serverBackedLocal = stripLocalSubmitSemantics(local);
|
|
27253
27351
|
// Server authority on identity/core props
|
|
27254
27352
|
const authoritative = {
|
|
27255
27353
|
name: base.name,
|
|
27256
27354
|
label: base.label,
|
|
27257
27355
|
controlType: base.controlType,
|
|
27258
27356
|
required: base.required,
|
|
27357
|
+
endpoint: base.endpoint,
|
|
27358
|
+
resourcePath: base.resourcePath,
|
|
27359
|
+
optionSource: base.optionSource,
|
|
27360
|
+
optionLabelKey: base.optionLabelKey,
|
|
27361
|
+
optionValueKey: base.optionValueKey,
|
|
27259
27362
|
// Validators: server overrides conflicting keys; keep local extras
|
|
27260
27363
|
validators: {
|
|
27261
27364
|
...local?.validators,
|
|
@@ -27278,24 +27381,32 @@ function applyLocalCustomizations$1(base, local) {
|
|
|
27278
27381
|
...local.materialDesign,
|
|
27279
27382
|
...base.materialDesign,
|
|
27280
27383
|
},
|
|
27281
|
-
//
|
|
27384
|
+
// Static option lists can be local UI customization. Remote option source
|
|
27385
|
+
// semantics are owned by the server schema for server-backed fields.
|
|
27282
27386
|
options: local.options !== undefined
|
|
27283
27387
|
? local.options
|
|
27284
27388
|
: base.options,
|
|
27285
|
-
|
|
27286
|
-
?
|
|
27287
|
-
: base.endpoint,
|
|
27288
|
-
queryParams: local.queryParams !== undefined
|
|
27289
|
-
? local.queryParams
|
|
27389
|
+
queryParams: serverBackedLocal.queryParams !== undefined
|
|
27390
|
+
? serverBackedLocal.queryParams
|
|
27290
27391
|
: base.queryParams,
|
|
27291
27392
|
};
|
|
27292
27393
|
return {
|
|
27293
27394
|
...base,
|
|
27294
|
-
...
|
|
27395
|
+
...serverBackedLocal,
|
|
27295
27396
|
...authoritative,
|
|
27296
27397
|
...preserved,
|
|
27297
27398
|
};
|
|
27298
27399
|
}
|
|
27400
|
+
function stripLocalSubmitSemantics(field) {
|
|
27401
|
+
const { source, transient, submitPolicy, ...rest } = field;
|
|
27402
|
+
void source;
|
|
27403
|
+
void transient;
|
|
27404
|
+
void submitPolicy;
|
|
27405
|
+
return rest;
|
|
27406
|
+
}
|
|
27407
|
+
function isLocalField(field) {
|
|
27408
|
+
return field.source === 'local';
|
|
27409
|
+
}
|
|
27299
27410
|
function reconcileFormConfig(layout, serverDefs) {
|
|
27300
27411
|
const serverMetas = mapFieldDefinitionsToMetadata(serverDefs);
|
|
27301
27412
|
const localMetas = (layout.fieldMetadata || []);
|
|
@@ -27313,11 +27424,13 @@ function reconcileFormConfig(layout, serverDefs) {
|
|
|
27313
27424
|
merged.push(buildBaseFormField(serverField));
|
|
27314
27425
|
}
|
|
27315
27426
|
}
|
|
27316
|
-
// Orphans:
|
|
27427
|
+
// Orphans: preserve explicit local fields; hide legacy schema fields that no
|
|
27428
|
+
// longer exist on the server.
|
|
27317
27429
|
for (const [name, localField] of localByName) {
|
|
27318
27430
|
if (!serverByName.has(name)) {
|
|
27319
|
-
|
|
27320
|
-
|
|
27431
|
+
merged.push(isLocalField(localField)
|
|
27432
|
+
? localField
|
|
27433
|
+
: { ...localField, formHidden: true });
|
|
27321
27434
|
}
|
|
27322
27435
|
}
|
|
27323
27436
|
// Preserve layout (sections/rows/columns) order, only affect fieldMetadata
|
package/index.d.ts
CHANGED
|
@@ -2673,6 +2673,8 @@ interface MaterialDesignConfig {
|
|
|
2673
2673
|
* };
|
|
2674
2674
|
* ```
|
|
2675
2675
|
*/
|
|
2676
|
+
type FieldSource = 'schema' | 'local';
|
|
2677
|
+
type FieldSubmitPolicy = 'include' | 'omit' | 'includeWhenDirty';
|
|
2676
2678
|
interface FieldMetadata extends ComponentMetadata {
|
|
2677
2679
|
/** Unique field identifier (required) */
|
|
2678
2680
|
name: string;
|
|
@@ -2701,6 +2703,29 @@ interface FieldMetadata extends ComponentMetadata {
|
|
|
2701
2703
|
group?: string;
|
|
2702
2704
|
/** Detailed description for tooltips */
|
|
2703
2705
|
description?: string;
|
|
2706
|
+
/**
|
|
2707
|
+
* Field origin for metadata-driven forms.
|
|
2708
|
+
*
|
|
2709
|
+
* Defaults to `schema` when omitted. Use `local` for host-authored fields that
|
|
2710
|
+
* support the form UX but do not belong to the backend DTO/schema.
|
|
2711
|
+
*/
|
|
2712
|
+
source?: FieldSource;
|
|
2713
|
+
/**
|
|
2714
|
+
* Marks a field as form-local/transient.
|
|
2715
|
+
*
|
|
2716
|
+
* Transient fields participate in validation, rules, visibility, and value
|
|
2717
|
+
* changes, but are omitted from submit payloads unless `submitPolicy` is
|
|
2718
|
+
* explicitly set to `include`.
|
|
2719
|
+
*/
|
|
2720
|
+
transient?: boolean;
|
|
2721
|
+
/**
|
|
2722
|
+
* Submit behavior for the field.
|
|
2723
|
+
*
|
|
2724
|
+
* Defaults to `omit` for local/transient fields and `include` for schema
|
|
2725
|
+
* fields. When provided, this value has priority over `source` and
|
|
2726
|
+
* `transient`.
|
|
2727
|
+
*/
|
|
2728
|
+
submitPolicy?: FieldSubmitPolicy;
|
|
2704
2729
|
/** Field is required */
|
|
2705
2730
|
required?: boolean;
|
|
2706
2731
|
/** Field is disabled */
|
|
@@ -4181,6 +4206,8 @@ declare const CONFIG_STORAGE: InjectionToken<ConfigStorage>;
|
|
|
4181
4206
|
*/
|
|
4182
4207
|
interface ApiConfigStorageOptions {
|
|
4183
4208
|
baseUrl?: string;
|
|
4209
|
+
/** Optional ui_user_config scope query param, e.g. "user" for user-owned configs. */
|
|
4210
|
+
scope?: string;
|
|
4184
4211
|
/** Factory to supply headers (tenant/user/env/updatedBy) per request. */
|
|
4185
4212
|
headersFactory?: () => Record<string, string | undefined>;
|
|
4186
4213
|
/** Default headers applied when the headersFactory omits them. */
|
|
@@ -4199,6 +4226,7 @@ declare class ApiConfigStorage implements AsyncConfigStorage {
|
|
|
4199
4226
|
private readonly http;
|
|
4200
4227
|
private readonly opts;
|
|
4201
4228
|
private readonly baseUrl;
|
|
4229
|
+
private readonly scope;
|
|
4202
4230
|
private readonly headersFactory;
|
|
4203
4231
|
private readonly defaultHeaders;
|
|
4204
4232
|
private readonly componentTypeResolver;
|
|
@@ -7330,6 +7358,7 @@ declare class CrudOperationResolutionService {
|
|
|
7330
7358
|
private defaultScope;
|
|
7331
7359
|
private defaultMethod;
|
|
7332
7360
|
private normalizeResourcePath;
|
|
7361
|
+
private resolveSchemaResourcePath;
|
|
7333
7362
|
private resolveCanonicalResourcePath;
|
|
7334
7363
|
private toDiscoveryOptions;
|
|
7335
7364
|
static ɵfac: i0.ɵɵFactoryDeclaration<CrudOperationResolutionService, never>;
|
|
@@ -7339,8 +7368,8 @@ declare class CrudOperationResolutionService {
|
|
|
7339
7368
|
type AnalyticsIntent = 'ranking' | 'trend' | 'distribution' | 'composition' | 'comparison' | 'correlation';
|
|
7340
7369
|
type AnalyticsSourceKind = 'praxis.stats';
|
|
7341
7370
|
type AnalyticsStatsOperation = 'group-by' | 'timeseries' | 'distribution';
|
|
7342
|
-
type AnalyticsStatsGranularity = '
|
|
7343
|
-
type AnalyticsStatsMetricOperation = 'COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX';
|
|
7371
|
+
type AnalyticsStatsGranularity = 'day' | 'week' | 'month';
|
|
7372
|
+
type AnalyticsStatsMetricOperation = 'COUNT' | 'DISTINCT_COUNT' | 'SUM' | 'AVG' | 'MIN' | 'MAX';
|
|
7344
7373
|
type AnalyticsStatsOrderBy = 'KEY_ASC' | 'KEY_DESC' | 'VALUE_ASC' | 'VALUE_DESC';
|
|
7345
7374
|
type AnalyticsPresentationFamily = 'chart' | 'analytic-table' | 'kpi' | 'summary-list';
|
|
7346
7375
|
interface PraxisXUiAnalytics {
|
|
@@ -7916,7 +7945,7 @@ declare function providePraxisGlobalConfigBootstrap(options?: PraxisGlobalConfig
|
|
|
7916
7945
|
declare const PRAXIS_I18N_CONFIG: InjectionToken<Partial<PraxisI18nConfig>>;
|
|
7917
7946
|
declare const PRAXIS_I18N_TRANSLATOR: InjectionToken<PraxisI18nTranslator>;
|
|
7918
7947
|
|
|
7919
|
-
declare function providePraxisI18nConfig(config: Partial<PraxisI18nConfig>): Provider;
|
|
7948
|
+
declare function providePraxisI18nConfig(config: Partial<PraxisI18nConfig>): Provider[];
|
|
7920
7949
|
declare const providePraxisI18n: typeof providePraxisI18nConfig;
|
|
7921
7950
|
declare function providePraxisI18nTranslator(translator: PraxisI18nTranslator): Provider;
|
|
7922
7951
|
|
|
@@ -9060,7 +9089,15 @@ interface ValidationError {
|
|
|
9060
9089
|
}
|
|
9061
9090
|
interface FormSubmitEvent {
|
|
9062
9091
|
stage: 'before' | 'after' | 'error';
|
|
9092
|
+
/** Payload that will be submitted to the backend. */
|
|
9063
9093
|
formData: any;
|
|
9094
|
+
/**
|
|
9095
|
+
* Full form value before submit filtering.
|
|
9096
|
+
*
|
|
9097
|
+
* Includes local/transient fields for hosts that need UI context while
|
|
9098
|
+
* keeping `formData` aligned with the persistence payload.
|
|
9099
|
+
*/
|
|
9100
|
+
rawFormData?: any;
|
|
9064
9101
|
isValid: boolean;
|
|
9065
9102
|
validationErrors?: ValidationError[];
|
|
9066
9103
|
entityId?: string | number;
|
|
@@ -10924,6 +10961,7 @@ type Appearance = WidgetShellConfig['appearance'];
|
|
|
10924
10961
|
declare const BUILTIN_SHELL_PRESETS: Record<string, NonNullable<Appearance>>;
|
|
10925
10962
|
declare class WidgetShellComponent implements OnChanges {
|
|
10926
10963
|
private readonly i18n;
|
|
10964
|
+
get hostCollapsed(): boolean;
|
|
10927
10965
|
shell?: WidgetShellConfig | null;
|
|
10928
10966
|
context?: Record<string, any> | null;
|
|
10929
10967
|
dragSurfaceEnabled: boolean;
|
|
@@ -11293,6 +11331,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
|
|
|
11293
11331
|
/** Optional instance key for pages rendered multiple times. */
|
|
11294
11332
|
componentInstanceId?: string;
|
|
11295
11333
|
pageChange: EventEmitter<WidgetPageDefinition>;
|
|
11334
|
+
widgetEvent: EventEmitter<WidgetEventEnvelope>;
|
|
11296
11335
|
widgetDiagnosticsChange: EventEmitter<Record<string, WidgetResolutionDiagnostic>>;
|
|
11297
11336
|
widgets: i0.WritableSignal<WidgetInstance[]>;
|
|
11298
11337
|
renderedGroups: i0.WritableSignal<RenderedWidgetGroup[]>;
|
|
@@ -11466,7 +11505,7 @@ declare class DynamicWidgetPageComponent implements OnChanges, OnDestroy {
|
|
|
11466
11505
|
private sanitizeSegment;
|
|
11467
11506
|
private assertNoLegacyConnections;
|
|
11468
11507
|
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicWidgetPageComponent, never>;
|
|
11469
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicWidgetPageComponent, "praxis-dynamic-page", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showPageSettingsButton": { "alias": "showPageSettingsButton"; "required": false; }; "shellEditorComponent": { "alias": "shellEditorComponent"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; }, { "pageChange": "pageChange"; "widgetDiagnosticsChange": "widgetDiagnosticsChange"; }, never, never, true, never>;
|
|
11508
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicWidgetPageComponent, "praxis-dynamic-page", never, { "page": { "alias": "page"; "required": false; }; "context": { "alias": "context"; "required": false; }; "strictValidation": { "alias": "strictValidation"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showPageSettingsButton": { "alias": "showPageSettingsButton"; "required": false; }; "shellEditorComponent": { "alias": "shellEditorComponent"; "required": false; }; "pageEditorComponent": { "alias": "pageEditorComponent"; "required": false; }; "autoPersist": { "alias": "autoPersist"; "required": false; }; "pageIdentity": { "alias": "pageIdentity"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; }, { "pageChange": "pageChange"; "widgetEvent": "widgetEvent"; "widgetDiagnosticsChange": "widgetDiagnosticsChange"; }, never, never, true, never>;
|
|
11470
11509
|
}
|
|
11471
11510
|
|
|
11472
11511
|
/** Metadata for Praxis Dynamic Page component */
|
|
@@ -11865,4 +11904,4 @@ declare function provideFormHookPresets(presets: Array<FormHookPreset>): Provide
|
|
|
11865
11904
|
declare function provideHookWhitelist(allowed: Array<string | RegExp>): Provider[];
|
|
11866
11905
|
|
|
11867
11906
|
export { API_CONFIG_STORAGE_OPTIONS, API_URL, ASYNC_CONFIG_STORAGE, AllowedFileTypes, AnalyticsPresentationResolver, AnalyticsSchemaContractService, AnalyticsStatsRequestBuilderService, ApiConfigStorage, ApiEndpoint, BUILTIN_PAGE_LAYOUT_PRESETS, BUILTIN_PAGE_THEME_PRESETS, BUILTIN_SHELL_PRESETS, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentKeyService, ComponentMetadataRegistry, CompositionRuntimeFacade, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_TABLE_CONFIG, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG$1 as GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_CATALOG as GLOBAL_ACTION_SPEC_CATALOG, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_SURFACE_SERVICE, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_TOKEN_TO_CONTROL_TYPE, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_FOOTER_LINKS_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_HERO_BANNER_METADATA, PRAXIS_I18N_CONFIG, PRAXIS_I18N_TRANSLATOR, PRAXIS_JSON_LOGIC_OPERATORS, PRAXIS_LAYER_SCALE_DEFAULTS, PRAXIS_LAYER_SCALE_VARS, PRAXIS_LEGAL_NOTICE_METADATA, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_RICH_TEXT_BLOCK_METADATA, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisI18nService, PraxisIconDirective, PraxisIconPickerComponent, PraxisJsonLogicError, PraxisJsonLogicService, PraxisLayerScaleStyleService, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRichTextBlockComponent, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, RESOURCE_DISCOVERY_I18N_CONFIG, RESOURCE_DISCOVERY_I18N_NAMESPACE, RULE_PROPERTY_SCHEMA, RemoteConfigStorage, ResourceActionOpenAdapterService, ResourceDiscoveryService, ResourceQuickConnectComponent, ResourceSurfaceOpenAdapterService, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_DRAWER_BRIDGE, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, SurfaceOpenActionEditorComponent, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$1 as applyLocalCustomizations, applyLocalCustomizations as applyLocalFormCustomizations, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildPraxisLayerScaleCss, buildSchemaId, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createEmptyRichContentDocument, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getGlobalActionCatalog, getGlobalActionUiSchema, getReferencedFieldMetadata, getTextTransformer, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isInlineFilterControlType, isRangeValidForFilter, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldConstraints, normalizeFormConfig, normalizeFormMetadata, normalizePath, normalizePraxisDataQueryContext, normalizeResourceAvailabilityReasonCode, normalizeStart, normalizeUnknownError, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisDynamicPageMetadata, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisIconDefaults, providePraxisJsonLogicOperator, providePraxisJsonLogicOperatorOverride, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRichTextBlockMetadata, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, removeDiacritics, reportTelemetryHookFactory, requiredCheckedValidator, resolveBuiltinPresets, resolveControlTypeAlias, resolveDefaultValuePresentationFormat, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisFilterCriteria, resolveResourceAvailabilityReasonKey, resolveSpan, resolveValuePresentation, resolveValuePresentationLocale, slugify, stripMasksHook, supportsImplicitValuePresentation, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, translateResourceAvailabilityReason, translateResourceDiscoveryText, translateUnavailableWorkflowMessage, trim, uniqueAsyncValidator, urlValidator, withMessage, withPraxisHttpLoading };
|
|
11868
|
-
export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnalyticsIntent, AnalyticsPresentationDecision, AnalyticsPresentationFamily, AnalyticsPresentationResolverOptions, AnalyticsSchemaContractRequest, AnalyticsSourceKind, AnalyticsStatsGranularity, AnalyticsStatsMetricOperation, AnalyticsStatsOperation, AnalyticsStatsOrderBy, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AsyncConfigStorage, BackConfig, BaseMaterialInputMetadata, BatchDeleteOptions, BatchDeleteProgress, BatchDeleteResult, BorderConfig, Breakpoint, BuiltValidators, BulkAction, BulkActionsConfig, CacheAdapter, CacheConfig, CacheEntry, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, ComponentActionParam, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentEditorialResolveOptions, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ComponentMetadataEditorialBindingDescriptor, ComponentMetadataEditorialDescriptor, ComponentPortEndpointRef, CompositionLink, CompositionRuntimeFacadeOptions, ConditionalValidationRule, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CorePresetDescriptor, CorePresetDiscoveryRegistry, CorePresetKind, CorePresetRef, CrudConfigureOptions, CrudOperationOptions, CrudOperationResolutionContext, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DiagnosticPhase, DiagnosticRecord, DiagnosticSeverity, DiagnosticSource, DiagnosticSubjectKind, DiagnosticSubjectRef, DraggingConfig, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, EditorialBlock, EditorialBlockBase, EditorialBlockKind, EditorialBlockOverride, EditorialBlockSurface, EditorialBlockTone, EditorialBlockVisibilityRule, EditorialCompliancePreset, EditorialComponentDocMeta, EditorialConnectorStyle, EditorialContentFormat, EditorialContextFieldContract, EditorialContextSummaryBlock, EditorialCustomWidgetBlock, EditorialDataCollectionBlock, EditorialDensity, EditorialFaqAccordionBlock, EditorialFaqItem, EditorialFormCompliancePreset, EditorialFormShellPreset, EditorialFormTemplate, EditorialFormTemplateBuildOptions, EditorialFormTemplateContextField, EditorialFormTemplateDefaults, EditorialFormTemplateLayoutPreset, EditorialFormTemplateMetadata, EditorialFormTemplateReference, EditorialHeroBlock, EditorialIconSpec, EditorialInfoCardItem, EditorialInfoCardsBlock, EditorialIntroHeroBlock, EditorialIntroHeroHighlightItem, EditorialJourney, EditorialJourneyOverride, EditorialJourneyStep, EditorialLayoutConfig, EditorialLayoutSpacing, EditorialLinkDefinition, EditorialLinkItem, EditorialMetaItem, EditorialMotionConfig, EditorialOrientation, EditorialPolicyItem, EditorialPolicyListBlock, EditorialPresentationShellVariant, EditorialPresentationalAction, EditorialPresentationalVisibilityRule, EditorialProblemType, EditorialResponsiveLayoutConfig, EditorialReviewField, EditorialReviewSection, EditorialReviewSectionField, EditorialReviewSectionsBlock, EditorialReviewSummaryBlock, EditorialRichTextBlock, EditorialSelectionCardItem, EditorialSelectionCardsBlock, EditorialShellVariant, EditorialSolutionDefinition, EditorialSolutionPreset, EditorialStepKind, EditorialStepVisualConfig, EditorialStepVisualVariant, EditorialStepperConfig, EditorialStepperVariant, EditorialSuccessPanelBlock, EditorialSurfaceVariant, EditorialTemplateInstance, EditorialTemplateInstanceOverrides, EditorialTemplateRef, EditorialTemplateSource, EditorialThemeBorderWidthTokens, EditorialThemeColorTokens, EditorialThemePreset, EditorialThemeRadiusTokens, EditorialThemeShadowTokens, EditorialThemeTokens, EditorialThemeTypographyTokens, EditorialTimelineStep, EditorialTimelineStepsBlock, EditorialWidgetAppearance, EditorialWidgetDefinition, EditorialWidgetInputs, EditorialWizardPresentation, ElevationConfig, EmptyAction, EmptyStateConfig, EndpointConfig, EndpointRef, EnhancedValidationConfig, ExcelExportConfig, ExcelStylingConfig, ExplicitCrudResolutionContract, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldSelectorRegistryMap, FieldsetLayout, FilterOptions, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormCustomActionEvent, FormEntityEvent, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormInitializationError, FormLayout, FormLayoutRule, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormReadyEvent, FormRow, FormRowLayout, FormRuleTargetType, FormSection, FormSectionHeaderAction, FormSectionHeaderConfig, FormSectionHeaderEmptyState, FormSectionHeaderMode, FormSectionHeaderSize, FormSubmitEvent, FormValidationEvent, FormValueChangeEvent, FormattingLocaleConfig, GeneralExportConfig, GetSchemaParams, GlobalActionCatalogEntry, GlobalActionContext, GlobalActionField, GlobalActionFieldOption, GlobalActionFieldType, GlobalActionHandler, GlobalActionHandlerEntry, GlobalActionId, GlobalActionParam, GlobalActionResult, GlobalActionSpec, GlobalActionUiSchema, GlobalAiConfig, GlobalAiEmbeddingConfig, GlobalAiProvider, GlobalAnalyticsService, GlobalApiClient, GlobalCacheConfig, GlobalConfig, GlobalCrudActionDefaults, GlobalCrudConfig, GlobalCrudDefaults, GlobalDialogAction, GlobalDialogAnimation, GlobalDialogAriaRole, GlobalDialogConfig, GlobalDialogConfigEntry, GlobalDialogPosition, GlobalDialogService, GlobalDialogStyles, GlobalDynamicFieldsAsyncSelectConfig, GlobalDynamicFieldsCascadeConfig, GlobalDynamicFieldsConfig, GlobalI18nConfig, GlobalRouteGuardResolver, GlobalSurfaceService, GlobalTableConfig, GlobalToastService, HateoasLink, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HookResolver, InlineFilterControlType, InlineMonthRangeMetadata, InlinePeriodRangeFiscalCalendar, InlinePeriodRangeGranularity, InlinePeriodRangeMetadata, InlinePeriodRangePreset, InlineRangeDistributionBin, InlineRangeDistributionConfig, InlineYearRangeMetadata, InteractionConfig, JsonExportConfig, JsonLogicArguments, JsonLogicArray, JsonLogicDataRecord, JsonLogicDerivedValueExpression, JsonLogicExpression, JsonLogicOperationExpression, JsonLogicPrimitive, JsonLogicRecord, JsonLogicValue, JsonLogicVarExpression, JsonLogicVarReference, KeyboardAccessibilityConfig, LazyLoadingConfig, LegacyCompositionLinkInput, LegacyLinkCondition, LegacyLinkMetaPolicy, LegacyTableConfig, LegalNoticeAppearance, LegalNoticeSeverity, LinkIntent, LinkMetadata, LinkPolicy, LoadingConfig, LoadingContext, LoadingPhase$1 as LoadingPhase, LoadingScope, LoadingState, LoadingPhase as LoadingStatePhase, LocalizationConfig, LocateRequest, LoggerConfig, LoggerContext, LoggerEvent, LoggerLevel, LoggerLogOptions, LoggerNormalizedError, LoggerPIIConfig, LoggerSink, LoggerTelemetryPayload, LoggerThrottleConfig, MarginConfig, MaterialAutocompleteMetadata, MaterialButtonMetadata, MaterialButtonToggleMetadata, MaterialCheckboxMetadata, MaterialChipsMetadata, MaterialColorInputMetadata, MaterialColorPickerMetadata, MaterialCpfCnpjMetadata, MaterialCurrencyMetadata, MaterialDateInputMetadata, MaterialDateRangeMetadata, MaterialDatepickerMetadata, MaterialDatetimeLocalInputMetadata, MaterialDesignConfig, MaterialEmailInputMetadata, MaterialEmailMetadata, MaterialInputMetadata, MaterialMonthInputMetadata, MaterialMultiSelectTreeMetadata, MaterialNumericMetadata, MaterialPasswordMetadata, MaterialPhoneMetadata, MaterialPriceRangeMetadata, MaterialRadioMetadata, MaterialRangeSliderMetadata, MaterialRatingMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, MaterialSelectionListMetadata, MaterialSliderMetadata, MaterialTextareaMetadata, MaterialTimeInputMetadata, MaterialTimeRangeMetadata, MaterialTimeTrackShift, MaterialTimepickerMetadata, MaterialToggleMetadata, MaterialTransferListMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialYearInputMetadata, MemoryConfig, MessageTemplate, MessagesConfig, NestedFieldsetLayout, NormalizedError, NumberLocaleConfig, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceMetadata, OptionSourceRequestOptions, OverlayDecider, OverlayDecision, OverlayDecisionContext, OverlayDecisionMatrix, OverlayPattern, OverlayRange, OverlayRule, OverlayRuleMatch, OverlayThresholds, Page, PageIdentity, PageableRequest, PaginationConfig, PartialFieldMetadata, PdfExportConfig, PerformanceConfig, PersistedPageConfig, PersistedPageDefinitionWithIds, PersistedWidgetInstance, PlainObject, PluginConfig, PollingConfig, PortCardinality, PortCompatibilityRuleSet, PortContract, PortDirection, PortExposure, PortSchemaKind, PortSchemaMode, PortSchemaRef, PortSemanticKind, PraxisAnalyticsBindings, PraxisAnalyticsDefaults, PraxisAnalyticsDimensionBinding, PraxisAnalyticsDistributionStatsRequest, PraxisAnalyticsExecutionMetric, PraxisAnalyticsGroupByStatsRequest, PraxisAnalyticsInteractions, PraxisAnalyticsMetricBinding, PraxisAnalyticsOptions, PraxisAnalyticsPresentationHints, PraxisAnalyticsProjection, PraxisAnalyticsSortRule, PraxisAnalyticsSource, PraxisAnalyticsStatsExecutionPlan, PraxisAnalyticsStatsMetricRequest, PraxisAnalyticsStatsRequest, PraxisAnalyticsTimeSeriesStatsRequest, PraxisAuthContext, PraxisBuiltinCustomRuleOperator, PraxisConditionalRule, PraxisConditionalRuleMatchInput, PraxisCustomRuleOperator, PraxisDataQueryContext, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHostRuleOperator, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisIconDefaultsOptions, PraxisJsonLogicEvaluationContext, PraxisJsonLogicEvaluationOptions, PraxisJsonLogicEvaluationResult, PraxisJsonLogicIssueCode, PraxisJsonLogicOperatorDefinition, PraxisJsonLogicOperatorDescriptor, PraxisJsonLogicOperatorHelpers, PraxisJsonLogicOperatorMetadata, PraxisJsonLogicOperatorPurity, PraxisJsonLogicOperatorReturnType, PraxisJsonLogicOperatorSource, PraxisJsonLogicRuntimeValue, PraxisJsonLogicValidationIssue, PraxisJsonLogicValidationOptions, PraxisJsonLogicValidationResult, PraxisLayerScale, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisNativeJsonLogicOperator, PraxisRuleContextDescriptor, PraxisRuleOperator, PraxisTextValue, PraxisToastOptions, PraxisTranslationParams, PraxisXUiAnalytics, PriceRangeValue, RangeSliderInlineTexts, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderValue, RenderingConfig, ResizingConfig, ResolveCrudOperationRequest, ResolvePresetOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedCrudOperation, ResolvedCrudOperationSource, ResolvedValuePresentation, ResourceActionCatalogItem, ResourceActionCatalogResponse, ResourceActionOpenAdapterOptions, ResourceActionScope, ResourceAvailabilityDecision, ResourceCapabilityOperation, ResourceCapabilitySnapshot, ResourceCrudOperationId, ResourceDiscoveryRel, ResourceDiscoveryRequestOptions, ResourceLinkSource, ResourceSurfaceCatalogItem, ResourceSurfaceCatalogResponse, ResourceSurfaceKind, ResourceSurfaceOpenAdapterOptions, ResourceSurfaceScope, ResponsiveConfig, RestApiLinks, RestApiResponse, RichAvatarNode, RichBadgeNode, RichBlockBaseNode, RichBlockContextConfig, RichBlockContextScope, RichBlockHostCapabilities, RichBlockNode, RichBlockRuleSet, RichCardNode, RichComposeNode, RichContentDocument, RichIconNode, RichImageNode, RichMediaBlockNode, RichMetricNode, RichPresenterNode, RichPresetReferenceNode, RichPrimitiveNode, RichProgressNode, RichTextAppearance, RichTextNode, RichTextVariant, RichTimelineItem, RichTimelineNode, RowAction, RowActionsConfig, RuleContextRoot, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, RuntimeLinkSnapshot, RuntimeLinkStatus, RuntimePayloadSummary, RuntimeSnapshot, RuntimeSnapshotStatus, RuntimeStateSnapshot, RuntimeTraceEntry, RuntimeTracePhase, SchemaIdParams, SchemaMetaInfo, SchemaViewerContext, SelectionConfig, SerializableFieldMetadata, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateEndpointRef, StateMessagesConfig, SurfaceBinding, SurfaceBindingMode, SurfaceDrawerBridge, SurfaceDrawerOpenContent, SurfaceDrawerOpenOptions, SurfaceDrawerRef, SurfaceDrawerResult, SurfaceDrawerWidthPreset, SurfaceOpenPayload, SurfaceOpenPreset, SurfacePresentation, SurfaceSizeConfig, SyncConfig, SyncResult, TableActionsConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableDetailActionBarAction, TableDetailActionBarNode, TableDetailActionNode, TableDetailAllowedNode, TableDetailBaseNode, TableDetailCardGridCardNode, TableDetailCardGridNode, TableDetailCardNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, TableDetailEmbedBaseNode, TableDetailInlineSchemaDocument, TableDetailLayoutNode, TableDetailListItemAction, TableDetailListItemContextConfig, TableDetailListItemSchema, TableDetailListNode, TableDetailMediaBlockNode, TableDetailRefNode, TableDetailRichListNode, TableDetailRichTextNode, TableDetailSchemaNode, TableDetailTabNode, TableDetailTabsNode, TableDetailTemplateRefNode, TableDetailTimelineItemSchema, TableDetailTimelineNode, TableDetailTimelineStaticItem, TableDetailValueNode, TableExpansionConfig, TableLocalDataModeConfig, TelemetryEvent, TelemetryLoggerSinkOptions, TelemetryTransport, TextTransformApply, TextTransformName, ThemeConfig, ToolbarAction, ToolbarConfig, ToolbarFilterConfig, ToolbarLayoutConfig, ToolbarSettingsConfig, TransformBinding, TransformBindingSource, TransformCatalogCategory, TransformCatalogEntry, TransformKind, TransformLegacyReplacement, TransformOutputHint, TransformPhase, TransformPipeline, TransformSemanticKind, TransformStep, TypographyConfig, UserContextSource, UserContextSummaryAppearance, UserContextSummaryField, ValidationContext, ValidationError, ValidationMessagesConfig, ValidationResult, ValidationRule, ValidatorFunction, ValidatorOptions, ValueKind$1 as ValueKind, ValuePresentationConfig, ValuePresentationResolutionContext, ValuePresentationStyle, ValuePresentationType, VirtualizationConfig, WidgetDefinition, WidgetDerivedStateNode, WidgetEventEnvelope, WidgetEventPathSegment, WidgetInstance, WidgetPageCanvasCollisionPolicy, WidgetPageCanvasConstraints, WidgetPageCanvasItem, WidgetPageCanvasItemOverride, WidgetPageCanvasLayout, WidgetPageCanvasLayoutVariant, WidgetPageCompositionDefinition, WidgetPageDefinition, WidgetPageDeviceKind, WidgetPageDeviceLayouts, WidgetPageDevicePolicy, WidgetPageGroupingDefinition, WidgetPageGroupingOverride, WidgetPageGroupingTabDefinition, WidgetPageLayout, WidgetPageLayoutPresetDefinition, WidgetPageLayoutVariant, WidgetPageOrientation, WidgetPageSlotAssignments, WidgetPageSlotDefinition, WidgetPageStateDefinition, WidgetPageStateInput, WidgetPageStateRuntimeSnapshot, WidgetPageThemePresetDefinition, WidgetPageWidgetLayoutOverride, WidgetPageWidgetSuggestion, WidgetResolutionDiagnostic, WidgetResolutionPhase, WidgetShellAction, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellBodyLayout, WidgetShellConfig, WidgetShellWindowActions, WidgetStateNode };
|
|
11907
|
+
export type { AccessibilityConfig, ActionDefinition, ActionMessagesConfig, AiCapability, AiCapabilityCatalog, AiCapabilityCategory, AiCapabilityCategoryMap, AiConcept, AiConceptPack, AiValueKind, AnalyticsIntent, AnalyticsPresentationDecision, AnalyticsPresentationFamily, AnalyticsPresentationResolverOptions, AnalyticsSchemaContractRequest, AnalyticsSourceKind, AnalyticsStatsGranularity, AnalyticsStatsMetricOperation, AnalyticsStatsOperation, AnalyticsStatsOrderBy, AnimationConfig, AnnouncementConfig, ApiConfigStorageOptions, ApiUrlConfig, ApiUrlEntry, AsyncConfigStorage, BackConfig, BaseMaterialInputMetadata, BatchDeleteOptions, BatchDeleteProgress, BatchDeleteResult, BorderConfig, Breakpoint, BuiltValidators, BulkAction, BulkActionsConfig, CacheAdapter, CacheConfig, CacheEntry, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColorConfig, ColumnAlign, ColumnDefinition, ColumnHidden, ColumnOffset, ColumnOrder, ColumnSpan, ComponentActionParam, ComponentContextAction, ComponentContextOption, ComponentContextOptionMode, ComponentContextOptionsByPathEntry, ComponentContextPack, ComponentDocMeta, ComponentEditorialResolveOptions, ComponentKeyParams, ComponentMergePatch, ComponentMetadata, ComponentMetadataEditorialBindingDescriptor, ComponentMetadataEditorialDescriptor, ComponentPortEndpointRef, CompositionLink, CompositionRuntimeFacadeOptions, ConditionalValidationRule, ConfigMetadata, ConfigStorage, ConfirmationConfig, ConnectionConfigV1, ConnectionStorage, ContextAction, ContextActionsConfig, BackConfig as CoreBackConfig, CoreFieldMetadata, CorePresetDescriptor, CorePresetDiscoveryRegistry, CorePresetKind, CorePresetRef, CrudConfigureOptions, CrudOperationOptions, CrudOperationResolutionContext, CsvExportConfig, CurrencyLocaleConfig, CursorPage, CursorRequest, CustomizationLog, DataConfig, DataTransformation, DataValidationConfig, DateRangePreset, DateRangeValue, DateTimeLocaleConfig, DebounceConfig, DeviceKind, DiagnosticPhase, DiagnosticRecord, DiagnosticSeverity, DiagnosticSource, DiagnosticSubjectKind, DiagnosticSubjectRef, DraggingConfig, Capability as DynamicPageCapability, CapabilityCatalog as DynamicPageCapabilityCatalog, CapabilityCategory as DynamicPageCapabilityCategory, ValueKind as DynamicPageValueKind, EditorialBlock, EditorialBlockBase, EditorialBlockKind, EditorialBlockOverride, EditorialBlockSurface, EditorialBlockTone, EditorialBlockVisibilityRule, EditorialCompliancePreset, EditorialComponentDocMeta, EditorialConnectorStyle, EditorialContentFormat, EditorialContextFieldContract, EditorialContextSummaryBlock, EditorialCustomWidgetBlock, EditorialDataCollectionBlock, EditorialDensity, EditorialFaqAccordionBlock, EditorialFaqItem, EditorialFormCompliancePreset, EditorialFormShellPreset, EditorialFormTemplate, EditorialFormTemplateBuildOptions, EditorialFormTemplateContextField, EditorialFormTemplateDefaults, EditorialFormTemplateLayoutPreset, EditorialFormTemplateMetadata, EditorialFormTemplateReference, EditorialHeroBlock, EditorialIconSpec, EditorialInfoCardItem, EditorialInfoCardsBlock, EditorialIntroHeroBlock, EditorialIntroHeroHighlightItem, EditorialJourney, EditorialJourneyOverride, EditorialJourneyStep, EditorialLayoutConfig, EditorialLayoutSpacing, EditorialLinkDefinition, EditorialLinkItem, EditorialMetaItem, EditorialMotionConfig, EditorialOrientation, EditorialPolicyItem, EditorialPolicyListBlock, EditorialPresentationShellVariant, EditorialPresentationalAction, EditorialPresentationalVisibilityRule, EditorialProblemType, EditorialResponsiveLayoutConfig, EditorialReviewField, EditorialReviewSection, EditorialReviewSectionField, EditorialReviewSectionsBlock, EditorialReviewSummaryBlock, EditorialRichTextBlock, EditorialSelectionCardItem, EditorialSelectionCardsBlock, EditorialShellVariant, EditorialSolutionDefinition, EditorialSolutionPreset, EditorialStepKind, EditorialStepVisualConfig, EditorialStepVisualVariant, EditorialStepperConfig, EditorialStepperVariant, EditorialSuccessPanelBlock, EditorialSurfaceVariant, EditorialTemplateInstance, EditorialTemplateInstanceOverrides, EditorialTemplateRef, EditorialTemplateSource, EditorialThemeBorderWidthTokens, EditorialThemeColorTokens, EditorialThemePreset, EditorialThemeRadiusTokens, EditorialThemeShadowTokens, EditorialThemeTokens, EditorialThemeTypographyTokens, EditorialTimelineStep, EditorialTimelineStepsBlock, EditorialWidgetAppearance, EditorialWidgetDefinition, EditorialWidgetInputs, EditorialWizardPresentation, ElevationConfig, EmptyAction, EmptyStateConfig, EndpointConfig, EndpointRef, EnhancedValidationConfig, ExcelExportConfig, ExcelStylingConfig, ExplicitCrudResolutionContract, ExportConfig, ExportFormat, ExportMessagesConfig, ExportTemplate, FetchWithEtagParams, FetchWithEtagResult, FieldConflict, FieldDefinition, FieldMetadata, FieldModification, FieldOption, FieldSelectorRegistryMap, FieldSource, FieldSubmitPolicy, FieldsetLayout, FilterOptions, FilteringConfig, FooterLinksAppearance, FooterLinksLayout, FormActionButton, FormActionConfirmationEvent, FormActionsLayout, FormApiLayout, FormBehaviorLayout, FormColumn, FormConfig, FormConfigMetadata, FormConfigState, FormCustomActionEvent, FormEntityEvent, FormHook, FormHookContext, FormHookDeclaration, FormHookDeclarationLite, FormHookOutcome, FormHookPreset, FormHookPresetMatch, FormHookStage, FormHookStatus, FormHooksLayout, FormInitializationError, FormLayout, FormLayoutRule, FormMessagesLayout, FormMetadataLayout, FormModeHints, FormOpenMode, FormReadyEvent, FormRow, FormRowLayout, FormRuleTargetType, FormSection, FormSectionHeaderAction, FormSectionHeaderConfig, FormSectionHeaderEmptyState, FormSectionHeaderMode, FormSectionHeaderSize, FormSubmitEvent, FormValidationEvent, FormValueChangeEvent, FormattingLocaleConfig, GeneralExportConfig, GetSchemaParams, GlobalActionCatalogEntry, GlobalActionContext, GlobalActionField, GlobalActionFieldOption, GlobalActionFieldType, GlobalActionHandler, GlobalActionHandlerEntry, GlobalActionId, GlobalActionParam, GlobalActionResult, GlobalActionSpec, GlobalActionUiSchema, GlobalAiConfig, GlobalAiEmbeddingConfig, GlobalAiProvider, GlobalAnalyticsService, GlobalApiClient, GlobalCacheConfig, GlobalConfig, GlobalCrudActionDefaults, GlobalCrudConfig, GlobalCrudDefaults, GlobalDialogAction, GlobalDialogAnimation, GlobalDialogAriaRole, GlobalDialogConfig, GlobalDialogConfigEntry, GlobalDialogPosition, GlobalDialogService, GlobalDialogStyles, GlobalDynamicFieldsAsyncSelectConfig, GlobalDynamicFieldsCascadeConfig, GlobalDynamicFieldsConfig, GlobalI18nConfig, GlobalRouteGuardResolver, GlobalSurfaceService, GlobalTableConfig, GlobalToastService, HateoasLink, HeroBadge, HeroBadgeTone, HeroBannerAppearance, HeroBannerVariant, HeroMetaItem, HookResolver, InlineFilterControlType, InlineMonthRangeMetadata, InlinePeriodRangeFiscalCalendar, InlinePeriodRangeGranularity, InlinePeriodRangeMetadata, InlinePeriodRangePreset, InlineRangeDistributionBin, InlineRangeDistributionConfig, InlineYearRangeMetadata, InteractionConfig, JsonExportConfig, JsonLogicArguments, JsonLogicArray, JsonLogicDataRecord, JsonLogicDerivedValueExpression, JsonLogicExpression, JsonLogicOperationExpression, JsonLogicPrimitive, JsonLogicRecord, JsonLogicValue, JsonLogicVarExpression, JsonLogicVarReference, KeyboardAccessibilityConfig, LazyLoadingConfig, LegacyCompositionLinkInput, LegacyLinkCondition, LegacyLinkMetaPolicy, LegacyTableConfig, LegalNoticeAppearance, LegalNoticeSeverity, LinkIntent, LinkMetadata, LinkPolicy, LoadingConfig, LoadingContext, LoadingPhase$1 as LoadingPhase, LoadingScope, LoadingState, LoadingPhase as LoadingStatePhase, LocalizationConfig, LocateRequest, LoggerConfig, LoggerContext, LoggerEvent, LoggerLevel, LoggerLogOptions, LoggerNormalizedError, LoggerPIIConfig, LoggerSink, LoggerTelemetryPayload, LoggerThrottleConfig, MarginConfig, MaterialAutocompleteMetadata, MaterialButtonMetadata, MaterialButtonToggleMetadata, MaterialCheckboxMetadata, MaterialChipsMetadata, MaterialColorInputMetadata, MaterialColorPickerMetadata, MaterialCpfCnpjMetadata, MaterialCurrencyMetadata, MaterialDateInputMetadata, MaterialDateRangeMetadata, MaterialDatepickerMetadata, MaterialDatetimeLocalInputMetadata, MaterialDesignConfig, MaterialEmailInputMetadata, MaterialEmailMetadata, MaterialInputMetadata, MaterialMonthInputMetadata, MaterialMultiSelectTreeMetadata, MaterialNumericMetadata, MaterialPasswordMetadata, MaterialPhoneMetadata, MaterialPriceRangeMetadata, MaterialRadioMetadata, MaterialRangeSliderMetadata, MaterialRatingMetadata, MaterialSearchInputMetadata, MaterialSelectMetadata, MaterialSelectionListMetadata, MaterialSliderMetadata, MaterialTextareaMetadata, MaterialTimeInputMetadata, MaterialTimeRangeMetadata, MaterialTimeTrackShift, MaterialTimepickerMetadata, MaterialToggleMetadata, MaterialTransferListMetadata, MaterialTreeNode, MaterialTreeSelectMetadata, MaterialUrlInputMetadata, MaterialWeekInputMetadata, MaterialYearInputMetadata, MemoryConfig, MessageTemplate, MessagesConfig, NestedFieldsetLayout, NormalizedError, NumberLocaleConfig, ObservabilityAlert, ObservabilityAlertGroupBy, ObservabilityAlertRule, ObservabilityAlertSeverity, ObservabilityCountBucket, ObservabilityDashboardOptions, ObservabilityIngestInput, ObservabilityMetricsSnapshot, OptionDTO, OptionSourceMetadata, OptionSourceRequestOptions, OverlayDecider, OverlayDecision, OverlayDecisionContext, OverlayDecisionMatrix, OverlayPattern, OverlayRange, OverlayRule, OverlayRuleMatch, OverlayThresholds, Page, PageIdentity, PageableRequest, PaginationConfig, PartialFieldMetadata, PdfExportConfig, PerformanceConfig, PersistedPageConfig, PersistedPageDefinitionWithIds, PersistedWidgetInstance, PlainObject, PluginConfig, PollingConfig, PortCardinality, PortCompatibilityRuleSet, PortContract, PortDirection, PortExposure, PortSchemaKind, PortSchemaMode, PortSchemaRef, PortSemanticKind, PraxisAnalyticsBindings, PraxisAnalyticsDefaults, PraxisAnalyticsDimensionBinding, PraxisAnalyticsDistributionStatsRequest, PraxisAnalyticsExecutionMetric, PraxisAnalyticsGroupByStatsRequest, PraxisAnalyticsInteractions, PraxisAnalyticsMetricBinding, PraxisAnalyticsOptions, PraxisAnalyticsPresentationHints, PraxisAnalyticsProjection, PraxisAnalyticsSortRule, PraxisAnalyticsSource, PraxisAnalyticsStatsExecutionPlan, PraxisAnalyticsStatsMetricRequest, PraxisAnalyticsStatsRequest, PraxisAnalyticsTimeSeriesStatsRequest, PraxisAuthContext, PraxisBuiltinCustomRuleOperator, PraxisConditionalRule, PraxisConditionalRuleMatchInput, PraxisCustomRuleOperator, PraxisDataQueryContext, PraxisGlobalActionsOptions, PraxisGlobalConfigBootstrapOptions, PraxisHostRuleOperator, PraxisHttpLoadingOptions, PraxisI18nConfig, PraxisI18nDictionary, PraxisI18nMessageDescriptor, PraxisI18nNamespaceConfig, PraxisI18nNamespaceDictionary, PraxisI18nTranslator, PraxisIconDefaultsOptions, PraxisJsonLogicEvaluationContext, PraxisJsonLogicEvaluationOptions, PraxisJsonLogicEvaluationResult, PraxisJsonLogicIssueCode, PraxisJsonLogicOperatorDefinition, PraxisJsonLogicOperatorDescriptor, PraxisJsonLogicOperatorHelpers, PraxisJsonLogicOperatorMetadata, PraxisJsonLogicOperatorPurity, PraxisJsonLogicOperatorReturnType, PraxisJsonLogicOperatorSource, PraxisJsonLogicRuntimeValue, PraxisJsonLogicValidationIssue, PraxisJsonLogicValidationOptions, PraxisJsonLogicValidationResult, PraxisLayerScale, PraxisLoadingRenderer, PraxisLocale, PraxisLoggingEnvironment, PraxisLoggingOptions, PraxisNativeJsonLogicOperator, PraxisRuleContextDescriptor, PraxisRuleOperator, PraxisTextValue, PraxisToastOptions, PraxisTranslationParams, PraxisXUiAnalytics, PriceRangeValue, RangeSliderInlineTexts, RangeSliderQuickPreset, RangeSliderQuickPresetLabels, RangeSliderValue, RenderingConfig, ResizingConfig, ResolveCrudOperationRequest, ResolvePresetOptions, ResolvedComponentMetadataEditorialBinding, ResolvedComponentMetadataEditorialMeta, ResolvedCrudOperation, ResolvedCrudOperationSource, ResolvedValuePresentation, ResourceActionCatalogItem, ResourceActionCatalogResponse, ResourceActionOpenAdapterOptions, ResourceActionScope, ResourceAvailabilityDecision, ResourceCapabilityOperation, ResourceCapabilitySnapshot, ResourceCrudOperationId, ResourceDiscoveryRel, ResourceDiscoveryRequestOptions, ResourceLinkSource, ResourceSurfaceCatalogItem, ResourceSurfaceCatalogResponse, ResourceSurfaceKind, ResourceSurfaceOpenAdapterOptions, ResourceSurfaceScope, ResponsiveConfig, RestApiLinks, RestApiResponse, RichAvatarNode, RichBadgeNode, RichBlockBaseNode, RichBlockContextConfig, RichBlockContextScope, RichBlockHostCapabilities, RichBlockNode, RichBlockRuleSet, RichCardNode, RichComposeNode, RichContentDocument, RichIconNode, RichImageNode, RichMediaBlockNode, RichMetricNode, RichPresenterNode, RichPresetReferenceNode, RichPrimitiveNode, RichProgressNode, RichTextAppearance, RichTextNode, RichTextVariant, RichTimelineItem, RichTimelineNode, RowAction, RowActionsConfig, RuleContextRoot, RulePropertyDefinition, RulePropertySchema, RulePropertyType, RunHooksResult, RuntimeLinkSnapshot, RuntimeLinkStatus, RuntimePayloadSummary, RuntimeSnapshot, RuntimeSnapshotStatus, RuntimeStateSnapshot, RuntimeTraceEntry, RuntimeTracePhase, SchemaIdParams, SchemaMetaInfo, SchemaViewerContext, SelectionConfig, SerializableFieldMetadata, SettingsPanelBridge, SettingsPanelOpenContent, SettingsPanelOpenOptions, SettingsPanelRef, SettingsValueProvider, SortingConfig, SpacingConfig, StateEndpointRef, StateMessagesConfig, SurfaceBinding, SurfaceBindingMode, SurfaceDrawerBridge, SurfaceDrawerOpenContent, SurfaceDrawerOpenOptions, SurfaceDrawerRef, SurfaceDrawerResult, SurfaceDrawerWidthPreset, SurfaceOpenPayload, SurfaceOpenPreset, SurfacePresentation, SurfaceSizeConfig, SyncConfig, SyncResult, TableActionsConfig, TableAppearanceConfig, TableBehaviorConfig, TableConfig, TableConfigV2 as TableConfigModern, TableConfigState, TableConfigV2, TableDetailActionBarAction, TableDetailActionBarNode, TableDetailActionNode, TableDetailAllowedNode, TableDetailBaseNode, TableDetailCardGridCardNode, TableDetailCardGridNode, TableDetailCardNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, TableDetailEmbedBaseNode, TableDetailInlineSchemaDocument, TableDetailLayoutNode, TableDetailListItemAction, TableDetailListItemContextConfig, TableDetailListItemSchema, TableDetailListNode, TableDetailMediaBlockNode, TableDetailRefNode, TableDetailRichListNode, TableDetailRichTextNode, TableDetailSchemaNode, TableDetailTabNode, TableDetailTabsNode, TableDetailTemplateRefNode, TableDetailTimelineItemSchema, TableDetailTimelineNode, TableDetailTimelineStaticItem, TableDetailValueNode, TableExpansionConfig, TableLocalDataModeConfig, TelemetryEvent, TelemetryLoggerSinkOptions, TelemetryTransport, TextTransformApply, TextTransformName, ThemeConfig, ToolbarAction, ToolbarConfig, ToolbarFilterConfig, ToolbarLayoutConfig, ToolbarSettingsConfig, TransformBinding, TransformBindingSource, TransformCatalogCategory, TransformCatalogEntry, TransformKind, TransformLegacyReplacement, TransformOutputHint, TransformPhase, TransformPipeline, TransformSemanticKind, TransformStep, TypographyConfig, UserContextSource, UserContextSummaryAppearance, UserContextSummaryField, ValidationContext, ValidationError, ValidationMessagesConfig, ValidationResult, ValidationRule, ValidatorFunction, ValidatorOptions, ValueKind$1 as ValueKind, ValuePresentationConfig, ValuePresentationResolutionContext, ValuePresentationStyle, ValuePresentationType, VirtualizationConfig, WidgetDefinition, WidgetDerivedStateNode, WidgetEventEnvelope, WidgetEventPathSegment, WidgetInstance, WidgetPageCanvasCollisionPolicy, WidgetPageCanvasConstraints, WidgetPageCanvasItem, WidgetPageCanvasItemOverride, WidgetPageCanvasLayout, WidgetPageCanvasLayoutVariant, WidgetPageCompositionDefinition, WidgetPageDefinition, WidgetPageDeviceKind, WidgetPageDeviceLayouts, WidgetPageDevicePolicy, WidgetPageGroupingDefinition, WidgetPageGroupingOverride, WidgetPageGroupingTabDefinition, WidgetPageLayout, WidgetPageLayoutPresetDefinition, WidgetPageLayoutVariant, WidgetPageOrientation, WidgetPageSlotAssignments, WidgetPageSlotDefinition, WidgetPageStateDefinition, WidgetPageStateInput, WidgetPageStateRuntimeSnapshot, WidgetPageThemePresetDefinition, WidgetPageWidgetLayoutOverride, WidgetPageWidgetSuggestion, WidgetResolutionDiagnostic, WidgetResolutionPhase, WidgetShellAction, WidgetShellActionEvent, WidgetShellActionPlacement, WidgetShellBodyLayout, WidgetShellConfig, WidgetShellWindowActions, WidgetStateNode };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/core",
|
|
3
|
-
"version": "8.0.0-beta.
|
|
3
|
+
"version": "8.0.0-beta.2",
|
|
4
4
|
"description": "Core library for Praxis UI Workspace: types, tokens, services and utilities shared across @praxisui/* packages.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^20.0.0",
|
package/theme-bridge.css
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Praxis UI host theme bridge.
|
|
3
|
+
*
|
|
4
|
+
* Import this file after the Angular Material theme and the CDK overlay CSS.
|
|
5
|
+
* The bridge assumes Material Symbols and, when mi:* ligatures are used,
|
|
6
|
+
* Material Icons classic are loaded by the host HTML.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
:root {
|
|
10
|
+
--md-sys-color-primary: var(--mat-sys-primary, #006a6a);
|
|
11
|
+
--md-sys-color-on-primary: var(--mat-sys-on-primary, #ffffff);
|
|
12
|
+
--md-sys-color-primary-container: var(--mat-sys-primary-container, #9cf1ef);
|
|
13
|
+
--md-sys-color-on-primary-container: var(--mat-sys-on-primary-container, #002020);
|
|
14
|
+
--md-sys-color-secondary: var(--mat-sys-secondary, #4a6363);
|
|
15
|
+
--md-sys-color-on-secondary: var(--mat-sys-on-secondary, #ffffff);
|
|
16
|
+
--md-sys-color-secondary-container: var(--mat-sys-secondary-container, #cce8e7);
|
|
17
|
+
--md-sys-color-on-secondary-container: var(--mat-sys-on-secondary-container, #051f20);
|
|
18
|
+
--md-sys-color-tertiary: var(--mat-sys-tertiary, #4b607c);
|
|
19
|
+
--md-sys-color-on-tertiary: var(--mat-sys-on-tertiary, #ffffff);
|
|
20
|
+
--md-sys-color-tertiary-container: var(--mat-sys-tertiary-container, #d3e4ff);
|
|
21
|
+
--md-sys-color-on-tertiary-container: var(--mat-sys-on-tertiary-container, #041c35);
|
|
22
|
+
--md-sys-color-error: var(--mat-sys-error, #ba1a1a);
|
|
23
|
+
--md-sys-color-on-error: var(--mat-sys-on-error, #ffffff);
|
|
24
|
+
--md-sys-color-error-container: var(--mat-sys-error-container, #ffdad6);
|
|
25
|
+
--md-sys-color-on-error-container: var(--mat-sys-on-error-container, #410002);
|
|
26
|
+
--md-sys-color-surface: var(--mat-sys-surface, #fbfcfc);
|
|
27
|
+
--md-sys-color-surface-container-lowest: var(--mat-sys-surface-container-lowest, #ffffff);
|
|
28
|
+
--md-sys-color-surface-container-low: var(--mat-sys-surface-container-low, #f2f6f5);
|
|
29
|
+
--md-sys-color-surface-container: var(--mat-sys-surface-container, #ecefed);
|
|
30
|
+
--md-sys-color-surface-container-high: var(--mat-sys-surface-container-high, #e6e9e8);
|
|
31
|
+
--md-sys-color-surface-container-highest: var(--mat-sys-surface-container-highest, #e0e3e2);
|
|
32
|
+
--md-sys-color-surface-variant: var(--mat-sys-surface-variant, #dae5e3);
|
|
33
|
+
--md-sys-color-on-surface: var(--mat-sys-on-surface, #191c1c);
|
|
34
|
+
--md-sys-color-on-surface-variant: var(--mat-sys-on-surface-variant, #3f4948);
|
|
35
|
+
--md-sys-color-outline: var(--mat-sys-outline, #6f7978);
|
|
36
|
+
--md-sys-color-outline-variant: var(--mat-sys-outline-variant, #bec9c7);
|
|
37
|
+
--md-sys-color-shadow: var(--mat-sys-shadow, #000000);
|
|
38
|
+
--md-sys-color-scrim: var(--mat-sys-scrim, #000000);
|
|
39
|
+
--md-sys-elevation-level1: var(--mat-app-elevation-shadow-level1, 0 1px 2px rgba(0, 0, 0, 0.14));
|
|
40
|
+
--md-sys-elevation-level2: var(--mat-app-elevation-shadow-level2, 0 2px 6px rgba(0, 0, 0, 0.16));
|
|
41
|
+
--md-sys-elevation-level3: var(--mat-app-elevation-shadow-level3, 0 4px 12px rgba(0, 0, 0, 0.18));
|
|
42
|
+
|
|
43
|
+
--pdx-material-surface: var(--md-sys-color-surface-container);
|
|
44
|
+
--pdx-material-surface-high: var(--md-sys-color-surface-container-high);
|
|
45
|
+
--pdx-material-on-surface: var(--md-sys-color-on-surface);
|
|
46
|
+
--pdx-material-on-surface-muted: var(--md-sys-color-on-surface-variant);
|
|
47
|
+
--pdx-material-outline: var(--md-sys-color-outline-variant);
|
|
48
|
+
--pdx-material-focus-outline: var(--md-sys-color-primary);
|
|
49
|
+
--pdx-overlay-surface: var(--pdx-material-surface);
|
|
50
|
+
--pdx-overlay-on-surface: var(--pdx-material-on-surface);
|
|
51
|
+
--pdx-overlay-on-surface-muted: var(--pdx-material-on-surface-muted);
|
|
52
|
+
--pdx-overlay-state-layer: var(--md-sys-color-surface-container-high);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.material-icons,
|
|
56
|
+
mat-icon.material-icons {
|
|
57
|
+
direction: ltr;
|
|
58
|
+
display: inline-block;
|
|
59
|
+
font-family: "Material Icons";
|
|
60
|
+
font-feature-settings: "liga";
|
|
61
|
+
font-size: 24px;
|
|
62
|
+
font-style: normal;
|
|
63
|
+
font-weight: normal;
|
|
64
|
+
letter-spacing: normal;
|
|
65
|
+
line-height: 1;
|
|
66
|
+
text-transform: none;
|
|
67
|
+
white-space: nowrap;
|
|
68
|
+
word-wrap: normal;
|
|
69
|
+
-webkit-font-feature-settings: "liga";
|
|
70
|
+
-webkit-font-smoothing: antialiased;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.material-symbols-outlined,
|
|
74
|
+
.material-symbols-rounded,
|
|
75
|
+
.material-symbols-sharp,
|
|
76
|
+
mat-icon.material-symbols-outlined,
|
|
77
|
+
mat-icon.material-symbols-rounded,
|
|
78
|
+
mat-icon.material-symbols-sharp {
|
|
79
|
+
direction: ltr;
|
|
80
|
+
display: inline-block;
|
|
81
|
+
font-feature-settings: "liga";
|
|
82
|
+
font-size: 24px;
|
|
83
|
+
font-style: normal;
|
|
84
|
+
font-weight: normal;
|
|
85
|
+
letter-spacing: normal;
|
|
86
|
+
line-height: 1;
|
|
87
|
+
text-transform: none;
|
|
88
|
+
white-space: nowrap;
|
|
89
|
+
word-wrap: normal;
|
|
90
|
+
-webkit-font-feature-settings: "liga";
|
|
91
|
+
-webkit-font-smoothing: antialiased;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.material-symbols-outlined,
|
|
95
|
+
mat-icon.material-symbols-outlined {
|
|
96
|
+
font-family: "Material Symbols Outlined";
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.material-symbols-rounded,
|
|
100
|
+
mat-icon.material-symbols-rounded {
|
|
101
|
+
font-family: "Material Symbols Rounded";
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.material-symbols-sharp,
|
|
105
|
+
mat-icon.material-symbols-sharp {
|
|
106
|
+
font-family: "Material Symbols Sharp";
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.cdk-overlay-container {
|
|
110
|
+
color: var(--pdx-overlay-on-surface);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.cdk-overlay-container .mat-mdc-dialog-container {
|
|
114
|
+
--mdc-dialog-container-color: var(--pdx-overlay-surface);
|
|
115
|
+
--mdc-dialog-subhead-color: var(--pdx-overlay-on-surface);
|
|
116
|
+
--mdc-dialog-supporting-text-color: var(--pdx-overlay-on-surface-muted);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.cdk-overlay-container .mat-mdc-select-panel,
|
|
120
|
+
.cdk-overlay-container .mat-mdc-autocomplete-panel,
|
|
121
|
+
.cdk-overlay-container .mat-mdc-menu-panel {
|
|
122
|
+
background: var(--pdx-overlay-surface);
|
|
123
|
+
border: 1px solid var(--pdx-material-outline);
|
|
124
|
+
box-shadow: var(--md-sys-elevation-level2);
|
|
125
|
+
color: var(--pdx-overlay-on-surface);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.cdk-overlay-container .mat-mdc-option,
|
|
129
|
+
.cdk-overlay-container .mat-mdc-menu-item {
|
|
130
|
+
color: var(--pdx-overlay-on-surface);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.cdk-overlay-container .mat-mdc-option.mdc-list-item--selected,
|
|
134
|
+
.cdk-overlay-container .mat-mdc-option.mat-mdc-option-active,
|
|
135
|
+
.cdk-overlay-container .mat-mdc-menu-item:hover,
|
|
136
|
+
.cdk-overlay-container .mat-mdc-menu-item.cdk-program-focused,
|
|
137
|
+
.cdk-overlay-container .mat-mdc-menu-item.cdk-keyboard-focused {
|
|
138
|
+
background: var(--pdx-overlay-state-layer);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.cdk-overlay-container .mat-mdc-tooltip .mdc-tooltip__surface {
|
|
142
|
+
background: var(--md-sys-color-inverse-surface, #2d3131);
|
|
143
|
+
color: var(--md-sys-color-inverse-on-surface, #eff1f0);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.mat-mdc-form-field {
|
|
147
|
+
--mdc-filled-text-field-container-color: var(--md-sys-color-surface-container-low);
|
|
148
|
+
--mdc-filled-text-field-input-text-color: var(--pdx-material-on-surface);
|
|
149
|
+
--mdc-filled-text-field-label-text-color: var(--pdx-material-on-surface-muted);
|
|
150
|
+
--mdc-filled-text-field-focus-label-text-color: var(--pdx-material-focus-outline);
|
|
151
|
+
--mdc-filled-text-field-active-indicator-color: var(--pdx-material-outline);
|
|
152
|
+
--mdc-filled-text-field-focus-active-indicator-color: var(--pdx-material-focus-outline);
|
|
153
|
+
--mdc-outlined-text-field-input-text-color: var(--pdx-material-on-surface);
|
|
154
|
+
--mdc-outlined-text-field-label-text-color: var(--pdx-material-on-surface-muted);
|
|
155
|
+
--mdc-outlined-text-field-focus-label-text-color: var(--pdx-material-focus-outline);
|
|
156
|
+
--mdc-outlined-text-field-outline-color: var(--pdx-material-outline);
|
|
157
|
+
--mdc-outlined-text-field-hover-outline-color: var(--md-sys-color-outline);
|
|
158
|
+
--mdc-outlined-text-field-focus-outline-color: var(--pdx-material-focus-outline);
|
|
159
|
+
--mat-select-enabled-trigger-text-color: var(--pdx-material-on-surface);
|
|
160
|
+
--mat-select-panel-background-color: var(--pdx-material-surface);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.mat-mdc-button,
|
|
164
|
+
.mat-mdc-outlined-button,
|
|
165
|
+
.mat-mdc-raised-button,
|
|
166
|
+
.mat-mdc-unelevated-button {
|
|
167
|
+
--mdc-text-button-label-text-color: var(--md-sys-color-primary);
|
|
168
|
+
--mdc-outlined-button-label-text-color: var(--md-sys-color-primary);
|
|
169
|
+
--mdc-outlined-button-outline-color: var(--pdx-material-outline);
|
|
170
|
+
--mdc-protected-button-container-color: var(--md-sys-color-surface-container-low);
|
|
171
|
+
--mdc-protected-button-label-text-color: var(--md-sys-color-primary);
|
|
172
|
+
--mdc-filled-button-container-color: var(--md-sys-color-primary);
|
|
173
|
+
--mdc-filled-button-label-text-color: var(--md-sys-color-on-primary);
|
|
174
|
+
}
|