@praxisui/core 9.0.61 → 9.0.63
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 +2 -0
- package/ai/component-registry.json +486 -88
- package/fesm2022/praxisui-core.mjs +406 -137
- package/package.json +1 -1
- package/types/praxisui-core.d.ts +111 -8
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, InjectionToken, Injectable, inject, Inject, Optional, SkipSelf, makeEnvironmentProviders, APP_INITIALIZER, signal, computed, DestroyRef, ENVIRONMENT_INITIALIZER, ErrorHandler, Input, Directive, input, booleanAttribute, ChangeDetectionStrategy, EventEmitter, Output, SecurityContext, ViewContainerRef, isSignal, SimpleChange,
|
|
2
|
+
import { Component, InjectionToken, Injectable, inject, Inject, Optional, SkipSelf, makeEnvironmentProviders, APP_INITIALIZER, signal, computed, DestroyRef, ENVIRONMENT_INITIALIZER, ErrorHandler, Input, Directive, input, booleanAttribute, ChangeDetectionStrategy, EventEmitter, Output, SecurityContext, ViewContainerRef, Injector, isSignal, effect, SimpleChange, contentChild, HostBinding, output, ElementRef, ChangeDetectorRef, afterNextRender, HostListener, ViewChildren, ViewChild } 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, finalize as finalize$1, shareReplay as shareReplay$1, map as map$1, switchMap as switchMap$1, catchError as catchError$1, forkJoin } from 'rxjs';
|
|
6
|
-
import { switchMap,
|
|
6
|
+
import { switchMap, map, take, catchError, concatMap, tap, shareReplay, takeUntil, toArray, finalize } from 'rxjs/operators';
|
|
7
7
|
import * as i1$3 from '@angular/common';
|
|
8
8
|
import { Location, DOCUMENT, CommonModule } from '@angular/common';
|
|
9
9
|
import { Router, ActivatedRoute } from '@angular/router';
|
|
@@ -3419,6 +3419,9 @@ function provideGlobalConfig(partial) {
|
|
|
3419
3419
|
return { provide: GLOBAL_CONFIG, useValue: partial, multi: true };
|
|
3420
3420
|
}
|
|
3421
3421
|
|
|
3422
|
+
function supportsConfigDocuments(storage) {
|
|
3423
|
+
return typeof storage.loadConfigDocument === 'function';
|
|
3424
|
+
}
|
|
3422
3425
|
class LocalStorageConfigService {
|
|
3423
3426
|
loadConfig(key) {
|
|
3424
3427
|
try {
|
|
@@ -3522,6 +3525,14 @@ class DeferredAsyncConfigStorage {
|
|
|
3522
3525
|
return this.delegate.clearConfig(key);
|
|
3523
3526
|
return defer(() => from(this.gate()).pipe(switchMap(() => this.delegate.clearConfig(key))));
|
|
3524
3527
|
}
|
|
3528
|
+
loadConfigDocument(key) {
|
|
3529
|
+
const load = () => supportsConfigDocuments(this.delegate)
|
|
3530
|
+
? this.delegate.loadConfigDocument(key)
|
|
3531
|
+
: this.delegate.loadConfig(key).pipe(map((payload) => payload == null ? null : { payload }));
|
|
3532
|
+
if (!this.gate)
|
|
3533
|
+
return load();
|
|
3534
|
+
return defer(() => from(this.gate()).pipe(switchMap(load)));
|
|
3535
|
+
}
|
|
3525
3536
|
}
|
|
3526
3537
|
const ASYNC_CONFIG_STORAGE = new InjectionToken('ASYNC_CONFIG_STORAGE', {
|
|
3527
3538
|
providedIn: 'root',
|
|
@@ -3670,6 +3681,29 @@ class ApiConfigStorage {
|
|
|
3670
3681
|
}
|
|
3671
3682
|
return this.executeLoadConfigRequest(key, true);
|
|
3672
3683
|
}
|
|
3684
|
+
loadConfigDocument(key) {
|
|
3685
|
+
const cached = this.cache.get(key);
|
|
3686
|
+
const etag = cached?.readEtag ?? cached?.writeEtag;
|
|
3687
|
+
const { type, id } = this.resolveKey(key);
|
|
3688
|
+
const params = this.buildParams(type, id, cached?.scope);
|
|
3689
|
+
const headers = this.buildHeaders(etag ? { 'If-None-Match': this.formatEtag(etag) } : {});
|
|
3690
|
+
return this.http
|
|
3691
|
+
.get(this.baseUrl, { observe: 'response', headers, params })
|
|
3692
|
+
.pipe(map((resp) => this.cacheResponseDocument(key, resp.body, resp.headers.get('ETag'))), catchError((err) => {
|
|
3693
|
+
if (err.status === 304 && cached?.document) {
|
|
3694
|
+
return of(cached.document);
|
|
3695
|
+
}
|
|
3696
|
+
if (err.status === 404) {
|
|
3697
|
+
return of(null);
|
|
3698
|
+
}
|
|
3699
|
+
if (this.shouldLogLoadError(key, err)) {
|
|
3700
|
+
console.warn('[ApiConfigStorage] document load error', err);
|
|
3701
|
+
}
|
|
3702
|
+
return this.shouldPropagateLoadError(key, err)
|
|
3703
|
+
? throwError(() => err)
|
|
3704
|
+
: of(null);
|
|
3705
|
+
}));
|
|
3706
|
+
}
|
|
3673
3707
|
executeLoadConfigRequest(key, establishAvailability) {
|
|
3674
3708
|
const cached = this.cache.get(key);
|
|
3675
3709
|
const etag = cached?.readEtag ?? cached?.writeEtag;
|
|
@@ -3700,11 +3734,13 @@ class ApiConfigStorage {
|
|
|
3700
3734
|
const readEtag = this.resolveReadEtag(responseEtag, body?.etag);
|
|
3701
3735
|
const writeEtag = this.resolveWriteEtag(responseEtag, body?.etag);
|
|
3702
3736
|
if (readEtag || writeEtag) {
|
|
3737
|
+
const document = this.toConfigDocument(body, responseEtag);
|
|
3703
3738
|
this.cache.set(key, {
|
|
3704
3739
|
readEtag,
|
|
3705
3740
|
writeEtag,
|
|
3706
3741
|
payload: body?.payload,
|
|
3707
3742
|
scope: this.resolveResponseScope(body?.scope),
|
|
3743
|
+
document,
|
|
3708
3744
|
});
|
|
3709
3745
|
}
|
|
3710
3746
|
releaseProbe?.();
|
|
@@ -3735,11 +3771,13 @@ class ApiConfigStorage {
|
|
|
3735
3771
|
const readEtag = this.resolveReadEtag(responseEtag, body?.etag);
|
|
3736
3772
|
const writeEtag = this.resolveWriteEtag(responseEtag, body?.etag);
|
|
3737
3773
|
if (readEtag || writeEtag) {
|
|
3774
|
+
const document = this.toConfigDocument(body, responseEtag);
|
|
3738
3775
|
this.cache.set(key, {
|
|
3739
3776
|
readEtag,
|
|
3740
3777
|
writeEtag,
|
|
3741
3778
|
payload: body?.payload,
|
|
3742
3779
|
scope: this.resolveResponseScope(body?.scope),
|
|
3780
|
+
document,
|
|
3743
3781
|
});
|
|
3744
3782
|
}
|
|
3745
3783
|
return body?.payload ?? null;
|
|
@@ -3778,6 +3816,7 @@ class ApiConfigStorage {
|
|
|
3778
3816
|
writeEtag: this.resolveWriteEtag(responseEtag, body?.etag),
|
|
3779
3817
|
payload,
|
|
3780
3818
|
scope: this.resolveResponseScope(body?.scope) ?? cached?.scope,
|
|
3819
|
+
document: this.toConfigDocument({ ...body, payload }, responseEtag),
|
|
3781
3820
|
});
|
|
3782
3821
|
}), catchError((err) => {
|
|
3783
3822
|
if (this.shouldLogSaveError(key, err)) {
|
|
@@ -3859,6 +3898,36 @@ class ApiConfigStorage {
|
|
|
3859
3898
|
}
|
|
3860
3899
|
return new HttpHeaders(merged);
|
|
3861
3900
|
}
|
|
3901
|
+
cacheResponseDocument(key, body, responseEtag) {
|
|
3902
|
+
const document = this.toConfigDocument(body, responseEtag);
|
|
3903
|
+
this.cache.set(key, {
|
|
3904
|
+
readEtag: this.resolveReadEtag(responseEtag, body?.etag),
|
|
3905
|
+
writeEtag: this.resolveWriteEtag(responseEtag, body?.etag),
|
|
3906
|
+
payload: document.payload,
|
|
3907
|
+
scope: this.resolveResponseScope(document.scope),
|
|
3908
|
+
document,
|
|
3909
|
+
});
|
|
3910
|
+
return document;
|
|
3911
|
+
}
|
|
3912
|
+
toConfigDocument(body, responseEtag) {
|
|
3913
|
+
const strongEtag = this.resolveWriteEtag(responseEtag, body?.etag);
|
|
3914
|
+
return {
|
|
3915
|
+
...(typeof body?.componentType === 'string' ? { componentType: body.componentType } : {}),
|
|
3916
|
+
...(typeof body?.componentId === 'string' ? { componentId: body.componentId } : {}),
|
|
3917
|
+
...(typeof body?.environment === 'string' ? { environment: body.environment } : {}),
|
|
3918
|
+
...(typeof body?.scope === 'string' ? { scope: body.scope } : {}),
|
|
3919
|
+
...(typeof body?.version === 'number' ? { version: body.version } : {}),
|
|
3920
|
+
...(strongEtag ? { etag: strongEtag } : {}),
|
|
3921
|
+
payload: body?.payload,
|
|
3922
|
+
authoringSource: this.isRecord(body?.authoringSource)
|
|
3923
|
+
? body.authoringSource
|
|
3924
|
+
: null,
|
|
3925
|
+
tags: this.isRecord(body?.tags) ? body.tags : null,
|
|
3926
|
+
};
|
|
3927
|
+
}
|
|
3928
|
+
isRecord(value) {
|
|
3929
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
3930
|
+
}
|
|
3862
3931
|
buildParams(componentType, componentId, resolvedScope) {
|
|
3863
3932
|
const params = {
|
|
3864
3933
|
componentType,
|
|
@@ -6239,6 +6308,19 @@ function createDefaultTableConfig() {
|
|
|
6239
6308
|
// enabled: false
|
|
6240
6309
|
// } // Property doesn't exist in InteractionConfig
|
|
6241
6310
|
},
|
|
6311
|
+
loading: {
|
|
6312
|
+
type: 'skeleton',
|
|
6313
|
+
position: 'replace',
|
|
6314
|
+
text: 'Carregando dados...',
|
|
6315
|
+
showForQuickOperations: false,
|
|
6316
|
+
delay: 0,
|
|
6317
|
+
requestTimeoutMs: 30000,
|
|
6318
|
+
allowCancel: true,
|
|
6319
|
+
skeleton: {
|
|
6320
|
+
rows: 3,
|
|
6321
|
+
animated: true,
|
|
6322
|
+
},
|
|
6323
|
+
},
|
|
6242
6324
|
resizing: {
|
|
6243
6325
|
enabled: false,
|
|
6244
6326
|
autoFit: true,
|
|
@@ -7159,6 +7241,152 @@ function isTextualControlType(value) {
|
|
|
7159
7241
|
].includes(value);
|
|
7160
7242
|
}
|
|
7161
7243
|
|
|
7244
|
+
/**
|
|
7245
|
+
* Produces the same structural canonical form used by praxis-config-starter:
|
|
7246
|
+
* object keys are sorted, object properties with null/undefined values are
|
|
7247
|
+
* omitted, and array order is preserved.
|
|
7248
|
+
*/
|
|
7249
|
+
function canonicalJsonStringify(value) {
|
|
7250
|
+
return JSON.stringify(canonicalizeJson(value));
|
|
7251
|
+
}
|
|
7252
|
+
function canonicalJsonSha256(value) {
|
|
7253
|
+
return textSha256(canonicalJsonStringify(value));
|
|
7254
|
+
}
|
|
7255
|
+
function textSha256(value) {
|
|
7256
|
+
return sha256Hex(encodeUtf8(value));
|
|
7257
|
+
}
|
|
7258
|
+
function canonicalizeJson(value) {
|
|
7259
|
+
if (Array.isArray(value)) {
|
|
7260
|
+
return value.map((item) => item === undefined ? null : canonicalizeJson(item));
|
|
7261
|
+
}
|
|
7262
|
+
if (value && typeof value === 'object') {
|
|
7263
|
+
return Object.keys(value)
|
|
7264
|
+
.sort()
|
|
7265
|
+
.reduce((result, key) => {
|
|
7266
|
+
const item = value[key];
|
|
7267
|
+
if (item !== null && item !== undefined) {
|
|
7268
|
+
result[key] = canonicalizeJson(item);
|
|
7269
|
+
}
|
|
7270
|
+
return result;
|
|
7271
|
+
}, {});
|
|
7272
|
+
}
|
|
7273
|
+
if (typeof value === 'number' && !Number.isFinite(value)) {
|
|
7274
|
+
throw new TypeError('Canonical JSON does not support non-finite numbers.');
|
|
7275
|
+
}
|
|
7276
|
+
return value;
|
|
7277
|
+
}
|
|
7278
|
+
function encodeUtf8(value) {
|
|
7279
|
+
if (typeof TextEncoder !== 'undefined') {
|
|
7280
|
+
return new TextEncoder().encode(value);
|
|
7281
|
+
}
|
|
7282
|
+
const bytes = [];
|
|
7283
|
+
for (const symbol of value) {
|
|
7284
|
+
const codePoint = symbol.codePointAt(0);
|
|
7285
|
+
if (codePoint <= 0x7f)
|
|
7286
|
+
bytes.push(codePoint);
|
|
7287
|
+
else if (codePoint <= 0x7ff) {
|
|
7288
|
+
bytes.push(0xc0 | (codePoint >> 6), 0x80 | (codePoint & 0x3f));
|
|
7289
|
+
}
|
|
7290
|
+
else if (codePoint <= 0xffff) {
|
|
7291
|
+
bytes.push(0xe0 | (codePoint >> 12), 0x80 | ((codePoint >> 6) & 0x3f), 0x80 | (codePoint & 0x3f));
|
|
7292
|
+
}
|
|
7293
|
+
else {
|
|
7294
|
+
bytes.push(0xf0 | (codePoint >> 18), 0x80 | ((codePoint >> 12) & 0x3f), 0x80 | ((codePoint >> 6) & 0x3f), 0x80 | (codePoint & 0x3f));
|
|
7295
|
+
}
|
|
7296
|
+
}
|
|
7297
|
+
return Uint8Array.from(bytes);
|
|
7298
|
+
}
|
|
7299
|
+
function sha256Hex(message) {
|
|
7300
|
+
const constants = [
|
|
7301
|
+
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
|
|
7302
|
+
0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
7303
|
+
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
|
|
7304
|
+
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
7305
|
+
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
|
|
7306
|
+
0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
7307
|
+
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
|
|
7308
|
+
0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
7309
|
+
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
|
|
7310
|
+
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
7311
|
+
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
|
|
7312
|
+
0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
7313
|
+
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
|
|
7314
|
+
0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
7315
|
+
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
|
|
7316
|
+
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
|
|
7317
|
+
];
|
|
7318
|
+
const hash = [
|
|
7319
|
+
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
|
|
7320
|
+
0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
|
|
7321
|
+
];
|
|
7322
|
+
const length = message.length;
|
|
7323
|
+
const bitLenHi = Math.floor((length * 8) / 0x100000000);
|
|
7324
|
+
const bitLenLo = (length * 8) >>> 0;
|
|
7325
|
+
const withOne = length + 1;
|
|
7326
|
+
const mod = withOne % 64;
|
|
7327
|
+
const padLen = mod <= 56 ? 56 - mod : 56 + 64 - mod;
|
|
7328
|
+
const total = length + 1 + padLen + 8;
|
|
7329
|
+
const padded = new Uint8Array(total);
|
|
7330
|
+
padded.set(message);
|
|
7331
|
+
padded[length] = 0x80;
|
|
7332
|
+
padded[total - 8] = (bitLenHi >>> 24) & 0xff;
|
|
7333
|
+
padded[total - 7] = (bitLenHi >>> 16) & 0xff;
|
|
7334
|
+
padded[total - 6] = (bitLenHi >>> 8) & 0xff;
|
|
7335
|
+
padded[total - 5] = bitLenHi & 0xff;
|
|
7336
|
+
padded[total - 4] = (bitLenLo >>> 24) & 0xff;
|
|
7337
|
+
padded[total - 3] = (bitLenLo >>> 16) & 0xff;
|
|
7338
|
+
padded[total - 2] = (bitLenLo >>> 8) & 0xff;
|
|
7339
|
+
padded[total - 1] = bitLenLo & 0xff;
|
|
7340
|
+
const words = new Array(64);
|
|
7341
|
+
for (let offset = 0; offset < total; offset += 64) {
|
|
7342
|
+
for (let i = 0; i < 16; i += 1) {
|
|
7343
|
+
const index = offset + i * 4;
|
|
7344
|
+
words[i] = ((padded[index] << 24)
|
|
7345
|
+
| (padded[index + 1] << 16)
|
|
7346
|
+
| (padded[index + 2] << 8)
|
|
7347
|
+
| padded[index + 3]) >>> 0;
|
|
7348
|
+
}
|
|
7349
|
+
for (let i = 16; i < 64; i += 1) {
|
|
7350
|
+
const s0 = rotateRight(words[i - 15], 7)
|
|
7351
|
+
^ rotateRight(words[i - 15], 18)
|
|
7352
|
+
^ (words[i - 15] >>> 3);
|
|
7353
|
+
const s1 = rotateRight(words[i - 2], 17)
|
|
7354
|
+
^ rotateRight(words[i - 2], 19)
|
|
7355
|
+
^ (words[i - 2] >>> 10);
|
|
7356
|
+
words[i] = (words[i - 16] + s0 + words[i - 7] + s1) >>> 0;
|
|
7357
|
+
}
|
|
7358
|
+
let [a, b, c, d, e, f, g, h] = hash;
|
|
7359
|
+
for (let i = 0; i < 64; i += 1) {
|
|
7360
|
+
const s1 = rotateRight(e, 6) ^ rotateRight(e, 11) ^ rotateRight(e, 25);
|
|
7361
|
+
const choice = (e & f) ^ (~e & g);
|
|
7362
|
+
const temp1 = (h + s1 + choice + constants[i] + words[i]) >>> 0;
|
|
7363
|
+
const s0 = rotateRight(a, 2) ^ rotateRight(a, 13) ^ rotateRight(a, 22);
|
|
7364
|
+
const majority = (a & b) ^ (a & c) ^ (b & c);
|
|
7365
|
+
const temp2 = (s0 + majority) >>> 0;
|
|
7366
|
+
h = g;
|
|
7367
|
+
g = f;
|
|
7368
|
+
f = e;
|
|
7369
|
+
e = (d + temp1) >>> 0;
|
|
7370
|
+
d = c;
|
|
7371
|
+
c = b;
|
|
7372
|
+
b = a;
|
|
7373
|
+
a = (temp1 + temp2) >>> 0;
|
|
7374
|
+
}
|
|
7375
|
+
hash[0] = (hash[0] + a) >>> 0;
|
|
7376
|
+
hash[1] = (hash[1] + b) >>> 0;
|
|
7377
|
+
hash[2] = (hash[2] + c) >>> 0;
|
|
7378
|
+
hash[3] = (hash[3] + d) >>> 0;
|
|
7379
|
+
hash[4] = (hash[4] + e) >>> 0;
|
|
7380
|
+
hash[5] = (hash[5] + f) >>> 0;
|
|
7381
|
+
hash[6] = (hash[6] + g) >>> 0;
|
|
7382
|
+
hash[7] = (hash[7] + h) >>> 0;
|
|
7383
|
+
}
|
|
7384
|
+
return hash.map((part) => part.toString(16).padStart(8, '0')).join('');
|
|
7385
|
+
}
|
|
7386
|
+
function rotateRight(value, amount) {
|
|
7387
|
+
return (value >>> amount) | (value << (32 - amount));
|
|
7388
|
+
}
|
|
7389
|
+
|
|
7162
7390
|
const PRAXIS_I18N_CONFIG = new InjectionToken('PRAXIS_I18N_CONFIG', {
|
|
7163
7391
|
factory: () => ({}),
|
|
7164
7392
|
});
|
|
@@ -12753,7 +12981,7 @@ class ComponentKeyService {
|
|
|
12753
12981
|
hashIfNeeded(base, readable) {
|
|
12754
12982
|
if (base.length <= 255)
|
|
12755
12983
|
return base;
|
|
12756
|
-
const hash =
|
|
12984
|
+
const hash = textSha256(base);
|
|
12757
12985
|
const rk = this.shortSegment(readable.routeKey);
|
|
12758
12986
|
const ct = this.shortSegment(readable.componentType);
|
|
12759
12987
|
const id = this.shortSegment(readable.componentId);
|
|
@@ -12778,111 +13006,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
12778
13006
|
type: Injectable,
|
|
12779
13007
|
args: [{ providedIn: 'root' }]
|
|
12780
13008
|
}] });
|
|
12781
|
-
function encodeUtf8(value) {
|
|
12782
|
-
if (typeof TextEncoder !== 'undefined') {
|
|
12783
|
-
return new TextEncoder().encode(value);
|
|
12784
|
-
}
|
|
12785
|
-
const out = new Uint8Array(value.length);
|
|
12786
|
-
for (let i = 0; i < value.length; i += 1) {
|
|
12787
|
-
out[i] = value.charCodeAt(i) & 0xff;
|
|
12788
|
-
}
|
|
12789
|
-
return out;
|
|
12790
|
-
}
|
|
12791
|
-
function sha256Hex(message) {
|
|
12792
|
-
const K = [
|
|
12793
|
-
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
|
|
12794
|
-
0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
|
|
12795
|
-
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
|
|
12796
|
-
0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
|
|
12797
|
-
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
|
|
12798
|
-
0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
|
|
12799
|
-
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
|
|
12800
|
-
0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
|
|
12801
|
-
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
|
|
12802
|
-
0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
|
|
12803
|
-
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
|
|
12804
|
-
0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
|
|
12805
|
-
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
|
|
12806
|
-
0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
|
|
12807
|
-
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
|
|
12808
|
-
0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
|
|
12809
|
-
];
|
|
12810
|
-
const H = [
|
|
12811
|
-
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
|
|
12812
|
-
0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
|
|
12813
|
-
];
|
|
12814
|
-
const length = message.length;
|
|
12815
|
-
const bitLenHi = Math.floor((length * 8) / 0x100000000);
|
|
12816
|
-
const bitLenLo = (length * 8) >>> 0;
|
|
12817
|
-
const withOne = length + 1;
|
|
12818
|
-
const mod = withOne % 64;
|
|
12819
|
-
const padLen = mod <= 56 ? 56 - mod : 56 + 64 - mod;
|
|
12820
|
-
const total = length + 1 + padLen + 8;
|
|
12821
|
-
const padded = new Uint8Array(total);
|
|
12822
|
-
padded.set(message);
|
|
12823
|
-
padded[length] = 0x80;
|
|
12824
|
-
padded[total - 8] = (bitLenHi >>> 24) & 0xff;
|
|
12825
|
-
padded[total - 7] = (bitLenHi >>> 16) & 0xff;
|
|
12826
|
-
padded[total - 6] = (bitLenHi >>> 8) & 0xff;
|
|
12827
|
-
padded[total - 5] = bitLenHi & 0xff;
|
|
12828
|
-
padded[total - 4] = (bitLenLo >>> 24) & 0xff;
|
|
12829
|
-
padded[total - 3] = (bitLenLo >>> 16) & 0xff;
|
|
12830
|
-
padded[total - 2] = (bitLenLo >>> 8) & 0xff;
|
|
12831
|
-
padded[total - 1] = bitLenLo & 0xff;
|
|
12832
|
-
const w = new Array(64);
|
|
12833
|
-
for (let offset = 0; offset < total; offset += 64) {
|
|
12834
|
-
for (let i = 0; i < 16; i += 1) {
|
|
12835
|
-
const j = offset + i * 4;
|
|
12836
|
-
w[i] =
|
|
12837
|
-
((padded[j] << 24) | (padded[j + 1] << 16) | (padded[j + 2] << 8) | padded[j + 3]) >>> 0;
|
|
12838
|
-
}
|
|
12839
|
-
for (let i = 16; i < 64; i += 1) {
|
|
12840
|
-
const s0 = rotr(w[i - 15], 7) ^ rotr(w[i - 15], 18) ^ (w[i - 15] >>> 3);
|
|
12841
|
-
const s1 = rotr(w[i - 2], 17) ^ rotr(w[i - 2], 19) ^ (w[i - 2] >>> 10);
|
|
12842
|
-
w[i] = (w[i - 16] + s0 + w[i - 7] + s1) >>> 0;
|
|
12843
|
-
}
|
|
12844
|
-
let a = H[0];
|
|
12845
|
-
let b = H[1];
|
|
12846
|
-
let c = H[2];
|
|
12847
|
-
let d = H[3];
|
|
12848
|
-
let e = H[4];
|
|
12849
|
-
let f = H[5];
|
|
12850
|
-
let g = H[6];
|
|
12851
|
-
let h = H[7];
|
|
12852
|
-
for (let i = 0; i < 64; i += 1) {
|
|
12853
|
-
const s1 = rotr(e, 6) ^ rotr(e, 11) ^ rotr(e, 25);
|
|
12854
|
-
const ch = (e & f) ^ (~e & g);
|
|
12855
|
-
const temp1 = (h + s1 + ch + K[i] + w[i]) >>> 0;
|
|
12856
|
-
const s0 = rotr(a, 2) ^ rotr(a, 13) ^ rotr(a, 22);
|
|
12857
|
-
const maj = (a & b) ^ (a & c) ^ (b & c);
|
|
12858
|
-
const temp2 = (s0 + maj) >>> 0;
|
|
12859
|
-
h = g;
|
|
12860
|
-
g = f;
|
|
12861
|
-
f = e;
|
|
12862
|
-
e = (d + temp1) >>> 0;
|
|
12863
|
-
d = c;
|
|
12864
|
-
c = b;
|
|
12865
|
-
b = a;
|
|
12866
|
-
a = (temp1 + temp2) >>> 0;
|
|
12867
|
-
}
|
|
12868
|
-
H[0] = (H[0] + a) >>> 0;
|
|
12869
|
-
H[1] = (H[1] + b) >>> 0;
|
|
12870
|
-
H[2] = (H[2] + c) >>> 0;
|
|
12871
|
-
H[3] = (H[3] + d) >>> 0;
|
|
12872
|
-
H[4] = (H[4] + e) >>> 0;
|
|
12873
|
-
H[5] = (H[5] + f) >>> 0;
|
|
12874
|
-
H[6] = (H[6] + g) >>> 0;
|
|
12875
|
-
H[7] = (H[7] + h) >>> 0;
|
|
12876
|
-
}
|
|
12877
|
-
let hex = '';
|
|
12878
|
-
for (const h of H) {
|
|
12879
|
-
hex += h.toString(16).padStart(8, '0');
|
|
12880
|
-
}
|
|
12881
|
-
return hex;
|
|
12882
|
-
}
|
|
12883
|
-
function rotr(value, amount) {
|
|
12884
|
-
return (value >>> amount) | (value << (32 - amount));
|
|
12885
|
-
}
|
|
12886
13009
|
|
|
12887
13010
|
function defaultTelemetryTransport() {
|
|
12888
13011
|
return {
|
|
@@ -14617,8 +14740,8 @@ const RELATED_RESOURCE_OUTLET_I18N_CONFIG = {
|
|
|
14617
14740
|
namespaces: {
|
|
14618
14741
|
[RELATED_RESOURCE_OUTLET_I18N_NAMESPACE]: {
|
|
14619
14742
|
'pt-BR': {
|
|
14620
|
-
'state.idle.title': '
|
|
14621
|
-
'state.idle.description': '
|
|
14743
|
+
'state.idle.title': 'Selecione um registro',
|
|
14744
|
+
'state.idle.description': 'Escolha um registro principal para carregar os dados relacionados.',
|
|
14622
14745
|
'state.resolving.title': 'Resolvendo recurso relacionado',
|
|
14623
14746
|
'state.resolving.description': 'Validando metadados e permissões da relação.',
|
|
14624
14747
|
'state.loading.title': 'Carregando recurso relacionado',
|
|
@@ -14688,8 +14811,8 @@ const RELATED_RESOURCE_OUTLET_I18N_CONFIG = {
|
|
|
14688
14811
|
'editor.boundary.description': 'Paths de recursos, vínculos com o pai, operações, filtros e a configuração da tabela filha permanecem com seus donos canônicos.',
|
|
14689
14812
|
},
|
|
14690
14813
|
'en-US': {
|
|
14691
|
-
'state.idle.title': '
|
|
14692
|
-
'state.idle.description': '
|
|
14814
|
+
'state.idle.title': 'Select a record',
|
|
14815
|
+
'state.idle.description': 'Choose a primary record to load its related data.',
|
|
14693
14816
|
'state.resolving.title': 'Resolving related resource',
|
|
14694
14817
|
'state.resolving.description': 'Validating relation metadata and permissions.',
|
|
14695
14818
|
'state.loading.title': 'Loading related resource',
|
|
@@ -14798,7 +14921,7 @@ class RelatedResourceSurfaceResolverService {
|
|
|
14798
14921
|
const parentResourceId = this.resolveParentResourceId(request, relatedResource);
|
|
14799
14922
|
if (parentResourceId == null || parentResourceId === '') {
|
|
14800
14923
|
return {
|
|
14801
|
-
state: 'not-found',
|
|
14924
|
+
state: request.parentRecord ? 'not-found' : 'idle',
|
|
14802
14925
|
reason: 'parent-resource-id-not-resolved',
|
|
14803
14926
|
surface,
|
|
14804
14927
|
relatedResource,
|
|
@@ -16300,6 +16423,7 @@ class ResourceActionOpenAdapterService {
|
|
|
16300
16423
|
payload.widget.inputs['initialValue'] = this.clone(options.initialValue);
|
|
16301
16424
|
}
|
|
16302
16425
|
this.applyInteractionPresentation(payload, action);
|
|
16426
|
+
this.applyActionPresentation(payload, action);
|
|
16303
16427
|
if (action.scope === 'ITEM') {
|
|
16304
16428
|
if (options.resourceId != null) {
|
|
16305
16429
|
payload.widget.inputs['resourceId'] = options.resourceId;
|
|
@@ -16317,6 +16441,28 @@ class ResourceActionOpenAdapterService {
|
|
|
16317
16441
|
this.applyExecutionInputs(payload, action, options);
|
|
16318
16442
|
return payload;
|
|
16319
16443
|
}
|
|
16444
|
+
applyActionPresentation(payload, action) {
|
|
16445
|
+
const submitLabel = String(action.title ?? '').trim();
|
|
16446
|
+
if (!submitLabel) {
|
|
16447
|
+
return;
|
|
16448
|
+
}
|
|
16449
|
+
const inputs = payload.widget.inputs || (payload.widget.inputs = {});
|
|
16450
|
+
inputs['actions'] = {
|
|
16451
|
+
showSaveButton: true,
|
|
16452
|
+
showCancelButton: false,
|
|
16453
|
+
showResetButton: false,
|
|
16454
|
+
submit: {
|
|
16455
|
+
id: 'submit',
|
|
16456
|
+
type: 'submit',
|
|
16457
|
+
visible: true,
|
|
16458
|
+
label: submitLabel,
|
|
16459
|
+
},
|
|
16460
|
+
};
|
|
16461
|
+
const bindingOrder = Array.isArray(payload.widget.bindingOrder)
|
|
16462
|
+
? payload.widget.bindingOrder.filter((input) => input !== 'actions')
|
|
16463
|
+
: [];
|
|
16464
|
+
payload.widget.bindingOrder = [...bindingOrder, 'actions'];
|
|
16465
|
+
}
|
|
16320
16466
|
applyInteractionPresentation(payload, action) {
|
|
16321
16467
|
const requiresFormConfirmation = action.execution?.interaction.mode === 'FORM'
|
|
16322
16468
|
&& action.execution.interaction.confirmationRequired;
|
|
@@ -16915,6 +17061,7 @@ class SurfaceOpenMaterializerService {
|
|
|
16915
17061
|
return Object.fromEntries(Object.entries(inputs).filter(([key]) => supported.has(key)));
|
|
16916
17062
|
}
|
|
16917
17063
|
buildLocalTableConfig(fields, data, payload, childOperations = this.resolveRelatedChildOperations(payload)) {
|
|
17064
|
+
const previousConfig = this.objectRecord(payload.widget?.inputs?.['config']);
|
|
16918
17065
|
const schemaColumns = fields
|
|
16919
17066
|
.filter((field) => !field.hidden && !field.tableHidden && !!field.name)
|
|
16920
17067
|
.map((field) => ({
|
|
@@ -16924,11 +17071,11 @@ class SurfaceOpenMaterializerService {
|
|
|
16924
17071
|
sortable: field.sortable !== false,
|
|
16925
17072
|
type: field.type,
|
|
16926
17073
|
}));
|
|
17074
|
+
const projectedSchemaColumns = this.materializeSchemaColumnProjection(schemaColumns, previousConfig['columnProjection']);
|
|
16927
17075
|
const fallbackColumns = schemaColumns.length
|
|
16928
17076
|
? []
|
|
16929
17077
|
: this.inferColumnsFromData(data);
|
|
16930
17078
|
const relatedActions = this.buildRelatedCrudActions(payload, childOperations);
|
|
16931
|
-
const previousConfig = this.objectRecord(payload.widget?.inputs?.['config']);
|
|
16932
17079
|
const previousToolbar = this.objectRecord(previousConfig['toolbar']);
|
|
16933
17080
|
const relatedActionIds = new Set(relatedActions.map((action) => String(action['id'])));
|
|
16934
17081
|
const previousToolbarActions = Array.isArray(previousToolbar['actions'])
|
|
@@ -16951,11 +17098,13 @@ class SurfaceOpenMaterializerService {
|
|
|
16951
17098
|
const previousColumns = Array.isArray(previousConfig['columns'])
|
|
16952
17099
|
? previousConfig['columns']
|
|
16953
17100
|
: [];
|
|
17101
|
+
const materializedBaseConfig = { ...previousConfig };
|
|
17102
|
+
delete materializedBaseConfig['columnProjection'];
|
|
16954
17103
|
const generatedConfig = {
|
|
16955
17104
|
columns: previousColumns.length
|
|
16956
17105
|
? previousColumns
|
|
16957
|
-
:
|
|
16958
|
-
?
|
|
17106
|
+
: projectedSchemaColumns.length
|
|
17107
|
+
? projectedSchemaColumns
|
|
16959
17108
|
: fallbackColumns,
|
|
16960
17109
|
toolbar: toolbarActions.length
|
|
16961
17110
|
? {
|
|
@@ -16982,7 +17131,7 @@ class SurfaceOpenMaterializerService {
|
|
|
16982
17131
|
},
|
|
16983
17132
|
};
|
|
16984
17133
|
return {
|
|
16985
|
-
...
|
|
17134
|
+
...materializedBaseConfig,
|
|
16986
17135
|
...generatedConfig,
|
|
16987
17136
|
behavior: {
|
|
16988
17137
|
...generatedConfig.behavior,
|
|
@@ -16999,6 +17148,36 @@ class SurfaceOpenMaterializerService {
|
|
|
16999
17148
|
},
|
|
17000
17149
|
};
|
|
17001
17150
|
}
|
|
17151
|
+
/**
|
|
17152
|
+
* Consumes the remote schema projection before an item surface becomes a local-data table.
|
|
17153
|
+
* The transient materialized table must not retain `columnProjection`: that contract belongs to
|
|
17154
|
+
* remote schema resolution and has already been reduced here to concrete columns.
|
|
17155
|
+
*/
|
|
17156
|
+
materializeSchemaColumnProjection(schemaColumns, rawProjection) {
|
|
17157
|
+
const projection = this.objectRecord(rawProjection);
|
|
17158
|
+
if (projection['source'] !== 'schema') {
|
|
17159
|
+
return schemaColumns;
|
|
17160
|
+
}
|
|
17161
|
+
const byField = new Map(schemaColumns.map((column) => [String(column['field'] || ''), column]));
|
|
17162
|
+
const include = Array.isArray(projection['include'])
|
|
17163
|
+
? projection['include'].filter((field) => (typeof field === 'string' && byField.has(field)))
|
|
17164
|
+
: schemaColumns.map((column) => String(column['field'] || ''));
|
|
17165
|
+
const overrides = this.objectRecord(projection['overrides']);
|
|
17166
|
+
const projected = include.map((field) => ({
|
|
17167
|
+
...byField.get(field),
|
|
17168
|
+
...this.objectRecord(overrides[field]),
|
|
17169
|
+
field,
|
|
17170
|
+
}));
|
|
17171
|
+
const additions = Array.isArray(projection['additions'])
|
|
17172
|
+
? projection['additions']
|
|
17173
|
+
.filter((column) => {
|
|
17174
|
+
const candidate = this.objectRecord(column);
|
|
17175
|
+
return typeof candidate['field'] === 'string' && !!candidate['field'];
|
|
17176
|
+
})
|
|
17177
|
+
.map((column) => ({ ...this.objectRecord(column) }))
|
|
17178
|
+
: [];
|
|
17179
|
+
return [...projected, ...additions];
|
|
17180
|
+
}
|
|
17002
17181
|
objectRecord(value) {
|
|
17003
17182
|
return value && typeof value === 'object' && !Array.isArray(value)
|
|
17004
17183
|
? value
|
|
@@ -25472,7 +25651,8 @@ function groupFields(fields) {
|
|
|
25472
25651
|
}
|
|
25473
25652
|
function createSection(groupKey, groupFields, sectionIndex, policy, options) {
|
|
25474
25653
|
const title = groupKey === 'default'
|
|
25475
|
-
? options.defaultSectionTitle
|
|
25654
|
+
? options.defaultSectionTitle
|
|
25655
|
+
?? (policy.preset === 'groupedCommand' ? '' : 'Informacoes')
|
|
25476
25656
|
: groupKey;
|
|
25477
25657
|
const sectionId = stableSectionId(groupKey);
|
|
25478
25658
|
const presentationRole = resolvePresentationRole(groupKey, groupFields, options.presentationRoleMap);
|
|
@@ -32186,6 +32366,7 @@ const MUTABLE_INITIAL_BINDING_INPUTS = new Set(['enableCustomization']);
|
|
|
32186
32366
|
class DynamicWidgetLoaderDirective {
|
|
32187
32367
|
vcRef = inject(ViewContainerRef);
|
|
32188
32368
|
registry = inject(ComponentMetadataRegistry);
|
|
32369
|
+
injector = inject(Injector);
|
|
32189
32370
|
widget;
|
|
32190
32371
|
ownerWidgetKey = null;
|
|
32191
32372
|
context = null;
|
|
@@ -32195,12 +32376,16 @@ class DynamicWidgetLoaderDirective {
|
|
|
32195
32376
|
autoWireOutputs = false;
|
|
32196
32377
|
widgetEvent = new EventEmitter();
|
|
32197
32378
|
widgetDiagnostic = new EventEmitter();
|
|
32379
|
+
/** Transient actions contributed by the live child component to its shell. */
|
|
32380
|
+
contributedShellActions = signal([], ...(ngDevMode ? [{ debugName: "contributedShellActions" }] : /* istanbul ignore next */ []));
|
|
32198
32381
|
compRef;
|
|
32199
32382
|
currentId;
|
|
32200
32383
|
currentUsesInitialBindings = false;
|
|
32201
32384
|
currentInitialBindingSignature = null;
|
|
32202
32385
|
boundInputValues = {};
|
|
32203
32386
|
outputSubs = [];
|
|
32387
|
+
shellActionContributionEffect;
|
|
32388
|
+
shellActionContributor;
|
|
32204
32389
|
destroyed = false;
|
|
32205
32390
|
/** Dispatch a shell action to the inner widget instance when supported. */
|
|
32206
32391
|
dispatchAction(action) {
|
|
@@ -32371,6 +32556,7 @@ class DynamicWidgetLoaderDirective {
|
|
|
32371
32556
|
this.vcRef.clear();
|
|
32372
32557
|
try {
|
|
32373
32558
|
this.compRef = this.vcRef.createComponent(cmp);
|
|
32559
|
+
this.bindShellActionContributor(this.compRef.instance);
|
|
32374
32560
|
if (useInitialBindings) {
|
|
32375
32561
|
this.bindInputs(this.compRef, id, inputs, bindingOrder, metaForInputs);
|
|
32376
32562
|
}
|
|
@@ -32388,6 +32574,7 @@ class DynamicWidgetLoaderDirective {
|
|
|
32388
32574
|
}
|
|
32389
32575
|
}
|
|
32390
32576
|
destroyCurrent() {
|
|
32577
|
+
this.releaseShellActionContributor();
|
|
32391
32578
|
this.outputSubs.forEach((u) => u());
|
|
32392
32579
|
this.outputSubs = [];
|
|
32393
32580
|
if (this.compRef) {
|
|
@@ -32400,6 +32587,27 @@ class DynamicWidgetLoaderDirective {
|
|
|
32400
32587
|
}
|
|
32401
32588
|
this.vcRef.clear();
|
|
32402
32589
|
}
|
|
32590
|
+
bindShellActionContributor(instance) {
|
|
32591
|
+
const candidate = instance;
|
|
32592
|
+
if (!candidate || typeof candidate.widgetShellActions !== 'function') {
|
|
32593
|
+
this.contributedShellActions.set([]);
|
|
32594
|
+
return;
|
|
32595
|
+
}
|
|
32596
|
+
const contributor = candidate;
|
|
32597
|
+
this.shellActionContributor = contributor;
|
|
32598
|
+
contributor.setWidgetShellActionHostActive?.(true);
|
|
32599
|
+
this.shellActionContributionEffect = effect(() => {
|
|
32600
|
+
const actions = contributor.widgetShellActions();
|
|
32601
|
+
this.contributedShellActions.set(Array.isArray(actions) ? actions.map((action) => ({ ...action })) : []);
|
|
32602
|
+
}, { ...(ngDevMode ? { debugName: "shellActionContributionEffect" } : /* istanbul ignore next */ {}), injector: this.injector });
|
|
32603
|
+
}
|
|
32604
|
+
releaseShellActionContributor() {
|
|
32605
|
+
this.shellActionContributionEffect?.destroy();
|
|
32606
|
+
this.shellActionContributionEffect = undefined;
|
|
32607
|
+
this.shellActionContributor?.setWidgetShellActionHostActive?.(false);
|
|
32608
|
+
this.shellActionContributor = undefined;
|
|
32609
|
+
this.contributedShellActions.set([]);
|
|
32610
|
+
}
|
|
32403
32611
|
cloneValue(value) {
|
|
32404
32612
|
if (value == null || typeof value !== 'object') {
|
|
32405
32613
|
return value;
|
|
@@ -33131,7 +33339,7 @@ class WidgetShellComponent {
|
|
|
33131
33339
|
action = new EventEmitter();
|
|
33132
33340
|
dragSurfacePointerDown = new EventEmitter();
|
|
33133
33341
|
dragSurfaceKeydown = new EventEmitter();
|
|
33134
|
-
loader;
|
|
33342
|
+
loader = contentChild(DynamicWidgetLoaderDirective, ...(ngDevMode ? [{ debugName: "loader" }] : /* istanbul ignore next */ []));
|
|
33135
33343
|
shellText(value, fallback = '') {
|
|
33136
33344
|
return this.i18n.resolve(value, fallback);
|
|
33137
33345
|
}
|
|
@@ -33180,7 +33388,7 @@ class WidgetShellComponent {
|
|
|
33180
33388
|
this.windowActions.length);
|
|
33181
33389
|
}
|
|
33182
33390
|
get headerActions() {
|
|
33183
|
-
return
|
|
33391
|
+
return this.mergedActions.filter((a) => this.isVisible(a) && (a.placement || 'header') === 'header');
|
|
33184
33392
|
}
|
|
33185
33393
|
get visibleHeaderActions() {
|
|
33186
33394
|
const max = this.maxHeaderActions;
|
|
@@ -33194,7 +33402,7 @@ class WidgetShellComponent {
|
|
|
33194
33402
|
return 3;
|
|
33195
33403
|
}
|
|
33196
33404
|
get windowActions() {
|
|
33197
|
-
const custom =
|
|
33405
|
+
const custom = this.mergedActions.filter((a) => this.isVisible(a) && (a.placement || 'header') === 'window');
|
|
33198
33406
|
const builtins = this.buildWindowActions(custom);
|
|
33199
33407
|
return [...builtins, ...custom];
|
|
33200
33408
|
}
|
|
@@ -33221,8 +33429,34 @@ class WidgetShellComponent {
|
|
|
33221
33429
|
pressed: action.pressed,
|
|
33222
33430
|
action,
|
|
33223
33431
|
};
|
|
33224
|
-
this.loader
|
|
33225
|
-
|
|
33432
|
+
const loader = this.loader();
|
|
33433
|
+
const runtimeContributed = loader
|
|
33434
|
+
?.contributedShellActions()
|
|
33435
|
+
.some((candidate) => candidate.id === action.id) ?? false;
|
|
33436
|
+
const handledByWidget = loader?.dispatchAction(event) ?? false;
|
|
33437
|
+
// Runtime-contributed controls are presentation affordances owned by the
|
|
33438
|
+
// live widget. Once handled there, they must not escape as authored page
|
|
33439
|
+
// actions or enter the composition event/persistence pipeline.
|
|
33440
|
+
if (!runtimeContributed || !handledByWidget) {
|
|
33441
|
+
this.action.emit(event);
|
|
33442
|
+
}
|
|
33443
|
+
}
|
|
33444
|
+
get mergedActions() {
|
|
33445
|
+
const authored = this.shell?.actions || [];
|
|
33446
|
+
const contributed = this.loader()?.contributedShellActions() || [];
|
|
33447
|
+
if (!contributed.length) {
|
|
33448
|
+
return authored;
|
|
33449
|
+
}
|
|
33450
|
+
const contributedById = new Map(contributed.map((action) => [action.id, action]));
|
|
33451
|
+
const merged = authored.map((action) => {
|
|
33452
|
+
const runtimeAction = contributedById.get(action.id);
|
|
33453
|
+
if (!runtimeAction) {
|
|
33454
|
+
return action;
|
|
33455
|
+
}
|
|
33456
|
+
contributedById.delete(action.id);
|
|
33457
|
+
return { ...action, ...runtimeAction };
|
|
33458
|
+
});
|
|
33459
|
+
return [...merged, ...contributedById.values()];
|
|
33226
33460
|
}
|
|
33227
33461
|
onHeaderPointerDown(event) {
|
|
33228
33462
|
if (!this.dragSurfaceInteractive ||
|
|
@@ -33356,7 +33590,7 @@ class WidgetShellComponent {
|
|
|
33356
33590
|
return this.i18n.t(key, undefined, fallback, WIDGET_SHELL_I18N_NAMESPACE);
|
|
33357
33591
|
}
|
|
33358
33592
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: WidgetShellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33359
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", 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: `
|
|
33593
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", 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, isSignal: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
33360
33594
|
<section
|
|
33361
33595
|
class="pdx-shell"
|
|
33362
33596
|
[class.no-shell]="!shellEnabled"
|
|
@@ -33416,7 +33650,7 @@ class WidgetShellComponent {
|
|
|
33416
33650
|
</div>
|
|
33417
33651
|
</div>
|
|
33418
33652
|
<div class="pdx-shell-actions">
|
|
33419
|
-
@if (!expanded
|
|
33653
|
+
@if (!collapsed || expanded || fullscreen) {
|
|
33420
33654
|
@for (action of visibleHeaderActions; track action.id) {
|
|
33421
33655
|
<ng-container>
|
|
33422
33656
|
@if (action.variant !== 'icon') {
|
|
@@ -33437,6 +33671,10 @@ class WidgetShellComponent {
|
|
|
33437
33671
|
[attr.aria-pressed]="
|
|
33438
33672
|
action.pressed == null ? null : action.pressed
|
|
33439
33673
|
"
|
|
33674
|
+
[attr.aria-controls]="action.ariaControls || null"
|
|
33675
|
+
[attr.aria-expanded]="
|
|
33676
|
+
action.ariaExpanded == null ? null : action.ariaExpanded
|
|
33677
|
+
"
|
|
33440
33678
|
(click)="onAction(action, $event)"
|
|
33441
33679
|
>
|
|
33442
33680
|
@if (displayActionIcon(action); as actionIcon) {
|
|
@@ -33464,6 +33702,10 @@ class WidgetShellComponent {
|
|
|
33464
33702
|
actionText(action.tooltip, action.id)
|
|
33465
33703
|
)
|
|
33466
33704
|
"
|
|
33705
|
+
[attr.aria-controls]="action.ariaControls || null"
|
|
33706
|
+
[attr.aria-expanded]="
|
|
33707
|
+
action.ariaExpanded == null ? null : action.ariaExpanded
|
|
33708
|
+
"
|
|
33467
33709
|
type="button"
|
|
33468
33710
|
(click)="onAction(action, $event)"
|
|
33469
33711
|
></button>
|
|
@@ -33518,6 +33760,10 @@ class WidgetShellComponent {
|
|
|
33518
33760
|
[attr.aria-pressed]="
|
|
33519
33761
|
action.pressed == null ? null : action.pressed
|
|
33520
33762
|
"
|
|
33763
|
+
[attr.aria-controls]="action.ariaControls || null"
|
|
33764
|
+
[attr.aria-expanded]="
|
|
33765
|
+
action.ariaExpanded == null ? null : action.ariaExpanded
|
|
33766
|
+
"
|
|
33521
33767
|
(click)="onAction(action, $event)"
|
|
33522
33768
|
>
|
|
33523
33769
|
@if (displayActionIcon(action); as actionIcon) {
|
|
@@ -33608,7 +33854,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
33608
33854
|
</div>
|
|
33609
33855
|
</div>
|
|
33610
33856
|
<div class="pdx-shell-actions">
|
|
33611
|
-
@if (!expanded
|
|
33857
|
+
@if (!collapsed || expanded || fullscreen) {
|
|
33612
33858
|
@for (action of visibleHeaderActions; track action.id) {
|
|
33613
33859
|
<ng-container>
|
|
33614
33860
|
@if (action.variant !== 'icon') {
|
|
@@ -33629,6 +33875,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
33629
33875
|
[attr.aria-pressed]="
|
|
33630
33876
|
action.pressed == null ? null : action.pressed
|
|
33631
33877
|
"
|
|
33878
|
+
[attr.aria-controls]="action.ariaControls || null"
|
|
33879
|
+
[attr.aria-expanded]="
|
|
33880
|
+
action.ariaExpanded == null ? null : action.ariaExpanded
|
|
33881
|
+
"
|
|
33632
33882
|
(click)="onAction(action, $event)"
|
|
33633
33883
|
>
|
|
33634
33884
|
@if (displayActionIcon(action); as actionIcon) {
|
|
@@ -33656,6 +33906,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
33656
33906
|
actionText(action.tooltip, action.id)
|
|
33657
33907
|
)
|
|
33658
33908
|
"
|
|
33909
|
+
[attr.aria-controls]="action.ariaControls || null"
|
|
33910
|
+
[attr.aria-expanded]="
|
|
33911
|
+
action.ariaExpanded == null ? null : action.ariaExpanded
|
|
33912
|
+
"
|
|
33659
33913
|
type="button"
|
|
33660
33914
|
(click)="onAction(action, $event)"
|
|
33661
33915
|
></button>
|
|
@@ -33710,6 +33964,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
33710
33964
|
[attr.aria-pressed]="
|
|
33711
33965
|
action.pressed == null ? null : action.pressed
|
|
33712
33966
|
"
|
|
33967
|
+
[attr.aria-controls]="action.ariaControls || null"
|
|
33968
|
+
[attr.aria-expanded]="
|
|
33969
|
+
action.ariaExpanded == null ? null : action.ariaExpanded
|
|
33970
|
+
"
|
|
33713
33971
|
(click)="onAction(action, $event)"
|
|
33714
33972
|
>
|
|
33715
33973
|
@if (displayActionIcon(action); as actionIcon) {
|
|
@@ -33746,10 +34004,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
33746
34004
|
type: Output
|
|
33747
34005
|
}], dragSurfaceKeydown: [{
|
|
33748
34006
|
type: Output
|
|
33749
|
-
}], loader: [{
|
|
33750
|
-
type: ContentChild,
|
|
33751
|
-
args: [DynamicWidgetLoaderDirective]
|
|
33752
|
-
}] } });
|
|
34007
|
+
}], loader: [{ type: i0.ContentChild, args: [i0.forwardRef(() => DynamicWidgetLoaderDirective), { isSignal: true }] }] } });
|
|
33753
34008
|
|
|
33754
34009
|
class PraxisResourceIdentityComponent {
|
|
33755
34010
|
identity = null;
|
|
@@ -44171,6 +44426,7 @@ class PraxisRelatedResourceOutletComponent {
|
|
|
44171
44426
|
const surfaceId = this.surfaceId();
|
|
44172
44427
|
const catalog = this.surfaceCatalog();
|
|
44173
44428
|
const discoverySource = this.discoverySource() || this.parentLinks();
|
|
44429
|
+
const parentRecord = this.parentRecord();
|
|
44174
44430
|
const parentResourcePath = this.parentResourcePath();
|
|
44175
44431
|
const parentResourceId = this.parentResourceId();
|
|
44176
44432
|
const apiEndpointKey = this.apiEndpointKey();
|
|
@@ -44181,6 +44437,14 @@ class PraxisRelatedResourceOutletComponent {
|
|
|
44181
44437
|
this.resetDiscoveryState();
|
|
44182
44438
|
return;
|
|
44183
44439
|
}
|
|
44440
|
+
if (this.trim(parentResourcePath)
|
|
44441
|
+
&& (parentResourceId == null || parentResourceId === '')
|
|
44442
|
+
&& !parentRecord) {
|
|
44443
|
+
this.discoveredSurface.set(null);
|
|
44444
|
+
this.discoveryState.set('idle');
|
|
44445
|
+
this.discoveryStateReason.set('parent-resource-id-not-resolved');
|
|
44446
|
+
return;
|
|
44447
|
+
}
|
|
44184
44448
|
if (catalog) {
|
|
44185
44449
|
this.applyCatalogSurface(surfaceId, catalog);
|
|
44186
44450
|
return;
|
|
@@ -44229,6 +44493,14 @@ class PraxisRelatedResourceOutletComponent {
|
|
|
44229
44493
|
const resolution = this.resolution();
|
|
44230
44494
|
const payload = resolution.state === 'ready' ? resolution.payload : null;
|
|
44231
44495
|
const requestKey = this.buildMaterializationRequestKey(resolution);
|
|
44496
|
+
// Composition state updates can re-create structurally equal input objects.
|
|
44497
|
+
// Keep the mounted child widget when its effective materialization contract
|
|
44498
|
+
// did not change; destroying it here also destroys transient table state such
|
|
44499
|
+
// as the selection that may have triggered the composition update itself.
|
|
44500
|
+
if (requestKey === this.materializationRequestKey
|
|
44501
|
+
&& this.materializedPayload() != null) {
|
|
44502
|
+
return;
|
|
44503
|
+
}
|
|
44232
44504
|
this.materializationRequestKey = requestKey;
|
|
44233
44505
|
this.materializedPayload.set(null);
|
|
44234
44506
|
if (!payload) {
|
|
@@ -44357,10 +44629,7 @@ class PraxisRelatedResourceOutletComponent {
|
|
|
44357
44629
|
buildMaterializationRequestKey(resolution) {
|
|
44358
44630
|
return JSON.stringify({
|
|
44359
44631
|
state: resolution.state,
|
|
44360
|
-
|
|
44361
|
-
parentResourceId: resolution.parentResourceId ?? null,
|
|
44362
|
-
childResourcePath: resolution.childResourcePath ?? null,
|
|
44363
|
-
queryContext: resolution.queryContext ?? null,
|
|
44632
|
+
payload: resolution.payload ?? null,
|
|
44364
44633
|
mode: this.mode(),
|
|
44365
44634
|
});
|
|
44366
44635
|
}
|
|
@@ -46119,7 +46388,7 @@ class EmptyStateCardComponent {
|
|
|
46119
46388
|
</div>
|
|
46120
46389
|
</mat-card-content>
|
|
46121
46390
|
</mat-card>
|
|
46122
|
-
`, isInline: true, styles: [".empty-card{display:block;margin:var(--pdx-empty-state-margin, 12px);border-color:var(--pdx-empty-state-border-color, var(--md-sys-color-outline-variant));border-radius:var(--pdx-empty-state-radius, 8px);background:var(--pdx-empty-state-bg, var(--md-sys-color-surface));color:var(--pdx-empty-state-fg, var(--md-sys-color-on-surface));--empty-icon-color: var(--pdx-empty-state-icon-color, var(--md-sys-color-on-surface-variant))}.empty-card.empty-inline,.empty-card.variant-inline{margin:var(--pdx-empty-state-inline-margin, 8px 0)}.empty-card.variant-panel{margin:var(--pdx-empty-state-panel-margin, 0)}.empty-card.variant-transparent{margin:var(--pdx-empty-state-transparent-margin, 0);border-color:transparent;background:transparent;box-shadow:none}.content{display:flex;align-items:center;gap:var(--pdx-empty-state-gap, 12px)}.align-center .content{flex-direction:column;justify-content:center;text-align:center}.icon{display:inline-grid;place-items:center;flex:0 0 auto;font-size:var(--pdx-empty-state-icon-size, 32px);width:var(--pdx-empty-state-icon-box-size, 32px);height:var(--pdx-empty-state-icon-box-size, 32px);color:var(--empty-icon-color)}.icon-circle .icon,.icon-soft .icon{width:var(--pdx-empty-state-icon-container-size, 44px);height:var(--pdx-empty-state-icon-container-size, 44px);border-radius:var(--pdx-empty-state-icon-container-radius, 999px);font-size:var(--pdx-empty-state-icon-container-icon-size, 22px)}.icon-circle .icon{border:1px solid var(--pdx-empty-state-icon-container-border-color, color-mix(in srgb, var(--empty-icon-color) 24%, transparent));background:var(--pdx-empty-state-icon-container-bg, color-mix(in srgb, var(--empty-icon-color) 10%, transparent))}.icon-soft .icon{background:var(--pdx-empty-state-icon-container-bg, color-mix(in srgb, var(--empty-icon-color) 10%, transparent))}.texts{display:grid;gap:var(--pdx-empty-state-text-gap, 4px)}.align-center .texts{justify-items:center}.title{margin:0;font-family:var(--pdx-empty-state-title-font-family, var(--md-sys-typescale-title-small-font-family, inherit));font-size:var(--pdx-empty-state-title-font-size, 16px);font-weight:var(--pdx-empty-state-title-font-weight, 600);line-height:var(--pdx-empty-state-title-line-height, 1.3);color:var(--pdx-empty-state-title-color, var(--md-sys-color-on-surface))}.desc{margin:0;max-width:var(--pdx-empty-state-description-max-width, none);font-family:var(--pdx-empty-state-description-font-family, var(--md-sys-typescale-body-medium-font-family, inherit));font-size:var(--pdx-empty-state-description-font-size, inherit);line-height:var(--pdx-empty-state-description-line-height, 1.4);color:var(--pdx-empty-state-description-color, var(--md-sys-color-on-surface-variant))}.actions{display:flex;justify-content:var(--pdx-empty-state-actions-justify, flex-start);gap:var(--pdx-empty-state-actions-gap, 8px);margin-top:var(--pdx-empty-state-actions-margin-top, 12px);flex-wrap:wrap}.actions .mat-mdc-button-base{width:fit-content;max-width:100%;height:var(--pdx-empty-state-action-height, var(--praxis-action-control-height, 40px));min-height:var(--pdx-empty-state-action-height, var(--praxis-action-control-height, 40px));padding-inline:var(--pdx-empty-state-action-padding-inline, var(--praxis-action-control-padding-inline, 12px));border-radius:var(--pdx-empty-state-action-radius, var(--praxis-action-control-radius, 8px));gap:var(--pdx-empty-state-action-gap, var(--praxis-action-control-gap, 8px));font-size:var(--pdx-empty-state-action-font-size, var(--praxis-action-control-font-size, .875rem));font-weight:var(--pdx-empty-state-action-font-weight, var(--praxis-action-control-font-weight, 500));line-height:var(--pdx-empty-state-action-line-height, var(--praxis-action-control-line-height, 1.25rem));white-space:nowrap}.actions .mat-mdc-button-base mat-icon{width:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));height:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));margin:0;font-size:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));line-height:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px))}.actions .mat-mdc-button-base:focus-visible{outline:2px solid var(--pdx-empty-state-action-focus-ring, var(--praxis-action-control-focus-ring, var(--md-sys-color-primary)));outline-offset:2px}.actions .mat-mdc-button-base:disabled{opacity:var(--pdx-empty-state-action-disabled-opacity, var(--praxis-action-control-disabled-opacity, .62))}.align-center .actions{justify-content:var(--pdx-empty-state-actions-justify, center)}.density-compact .content{gap:var(--pdx-empty-state-compact-gap, 8px)}.density-compact .actions .mat-mdc-button-base{height:var(--pdx-empty-state-action-height, var(--praxis-action-control-compact-height, 36px));min-height:var(--pdx-empty-state-action-height, var(--praxis-action-control-compact-height, 36px))}.density-compact .icon{font-size:var(--pdx-empty-state-compact-icon-size, 24px);width:var(--pdx-empty-state-compact-icon-box-size, 24px);height:var(--pdx-empty-state-compact-icon-box-size, 24px)}.density-compact.icon-circle .icon,.density-compact.icon-soft .icon{width:var(--pdx-empty-state-compact-icon-container-size, 36px);height:var(--pdx-empty-state-compact-icon-container-size, 36px);font-size:var(--pdx-empty-state-compact-icon-container-icon-size, 20px)}.empty-card.tone-primary{--empty-icon-color: var(--md-sys-color-primary)}.empty-card.tone-secondary{--empty-icon-color: var(--md-sys-color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$1.MatCardContent, selector: "mat-card-content" }, { 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
46391
|
+
`, isInline: true, styles: [".empty-card{display:block;margin:var(--pdx-empty-state-margin, 12px);border-color:var(--pdx-empty-state-border-color, var(--md-sys-color-outline-variant));border-radius:var(--pdx-empty-state-radius, 8px);background:var(--pdx-empty-state-bg, var(--md-sys-color-surface));color:var(--pdx-empty-state-fg, var(--md-sys-color-on-surface));--empty-icon-color: var(--pdx-empty-state-icon-color, var(--md-sys-color-on-surface-variant))}.empty-card.empty-inline,.empty-card.variant-inline{margin:var(--pdx-empty-state-inline-margin, 8px 0)}.empty-card.variant-panel{margin:var(--pdx-empty-state-panel-margin, 0)}.empty-card.variant-transparent{margin:var(--pdx-empty-state-transparent-margin, 0);border-color:transparent;background:transparent;--mat-card-elevated-container-elevation: none;--mat-card-outlined-container-elevation: none;box-shadow:none!important}.content{display:flex;align-items:center;gap:var(--pdx-empty-state-gap, 12px)}.align-center .content{flex-direction:column;justify-content:center;text-align:center}.icon{display:inline-grid;place-items:center;flex:0 0 auto;font-size:var(--pdx-empty-state-icon-size, 32px);width:var(--pdx-empty-state-icon-box-size, 32px);height:var(--pdx-empty-state-icon-box-size, 32px);color:var(--empty-icon-color)}.icon-circle .icon,.icon-soft .icon{width:var(--pdx-empty-state-icon-container-size, 44px);height:var(--pdx-empty-state-icon-container-size, 44px);border-radius:var(--pdx-empty-state-icon-container-radius, 999px);font-size:var(--pdx-empty-state-icon-container-icon-size, 22px)}.icon-circle .icon{border:1px solid var(--pdx-empty-state-icon-container-border-color, color-mix(in srgb, var(--empty-icon-color) 24%, transparent));background:var(--pdx-empty-state-icon-container-bg, color-mix(in srgb, var(--empty-icon-color) 10%, transparent))}.icon-soft .icon{background:var(--pdx-empty-state-icon-container-bg, color-mix(in srgb, var(--empty-icon-color) 10%, transparent))}.texts{display:grid;gap:var(--pdx-empty-state-text-gap, 4px)}.align-center .texts{justify-items:center}.title{margin:0;font-family:var(--pdx-empty-state-title-font-family, var(--md-sys-typescale-title-small-font-family, inherit));font-size:var(--pdx-empty-state-title-font-size, 16px);font-weight:var(--pdx-empty-state-title-font-weight, 600);line-height:var(--pdx-empty-state-title-line-height, 1.3);color:var(--pdx-empty-state-title-color, var(--md-sys-color-on-surface))}.desc{margin:0;max-width:var(--pdx-empty-state-description-max-width, none);font-family:var(--pdx-empty-state-description-font-family, var(--md-sys-typescale-body-medium-font-family, inherit));font-size:var(--pdx-empty-state-description-font-size, inherit);line-height:var(--pdx-empty-state-description-line-height, 1.4);color:var(--pdx-empty-state-description-color, var(--md-sys-color-on-surface-variant))}.actions{display:flex;justify-content:var(--pdx-empty-state-actions-justify, flex-start);gap:var(--pdx-empty-state-actions-gap, 8px);margin-top:var(--pdx-empty-state-actions-margin-top, 12px);flex-wrap:wrap}.actions .mat-mdc-button-base{width:fit-content;max-width:100%;height:var(--pdx-empty-state-action-height, var(--praxis-action-control-height, 40px));min-height:var(--pdx-empty-state-action-height, var(--praxis-action-control-height, 40px));padding-inline:var(--pdx-empty-state-action-padding-inline, var(--praxis-action-control-padding-inline, 12px));border-radius:var(--pdx-empty-state-action-radius, var(--praxis-action-control-radius, 8px));gap:var(--pdx-empty-state-action-gap, var(--praxis-action-control-gap, 8px));font-size:var(--pdx-empty-state-action-font-size, var(--praxis-action-control-font-size, .875rem));font-weight:var(--pdx-empty-state-action-font-weight, var(--praxis-action-control-font-weight, 500));line-height:var(--pdx-empty-state-action-line-height, var(--praxis-action-control-line-height, 1.25rem));white-space:nowrap}.actions .mat-mdc-button-base mat-icon{width:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));height:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));margin:0;font-size:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));line-height:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px))}.actions .mat-mdc-button-base:focus-visible{outline:2px solid var(--pdx-empty-state-action-focus-ring, var(--praxis-action-control-focus-ring, var(--md-sys-color-primary)));outline-offset:2px}.actions .mat-mdc-button-base:disabled{opacity:var(--pdx-empty-state-action-disabled-opacity, var(--praxis-action-control-disabled-opacity, .62))}.align-center .actions{justify-content:var(--pdx-empty-state-actions-justify, center)}.density-compact .content{gap:var(--pdx-empty-state-compact-gap, 8px)}.density-compact .actions .mat-mdc-button-base{height:var(--pdx-empty-state-action-height, var(--praxis-action-control-compact-height, 36px));min-height:var(--pdx-empty-state-action-height, var(--praxis-action-control-compact-height, 36px))}.density-compact .icon{font-size:var(--pdx-empty-state-compact-icon-size, 24px);width:var(--pdx-empty-state-compact-icon-box-size, 24px);height:var(--pdx-empty-state-compact-icon-box-size, 24px)}.density-compact.icon-circle .icon,.density-compact.icon-soft .icon{width:var(--pdx-empty-state-compact-icon-container-size, 36px);height:var(--pdx-empty-state-compact-icon-container-size, 36px);font-size:var(--pdx-empty-state-compact-icon-container-icon-size, 20px)}.empty-card.tone-primary{--empty-icon-color: var(--md-sys-color-primary)}.empty-card.tone-secondary{--empty-icon-color: var(--md-sys-color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2$1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$1.MatCardContent, selector: "mat-card-content" }, { 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: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
46123
46392
|
}
|
|
46124
46393
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: EmptyStateCardComponent, decorators: [{
|
|
46125
46394
|
type: Component,
|
|
@@ -46170,7 +46439,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
46170
46439
|
</div>
|
|
46171
46440
|
</mat-card-content>
|
|
46172
46441
|
</mat-card>
|
|
46173
|
-
`, styles: [".empty-card{display:block;margin:var(--pdx-empty-state-margin, 12px);border-color:var(--pdx-empty-state-border-color, var(--md-sys-color-outline-variant));border-radius:var(--pdx-empty-state-radius, 8px);background:var(--pdx-empty-state-bg, var(--md-sys-color-surface));color:var(--pdx-empty-state-fg, var(--md-sys-color-on-surface));--empty-icon-color: var(--pdx-empty-state-icon-color, var(--md-sys-color-on-surface-variant))}.empty-card.empty-inline,.empty-card.variant-inline{margin:var(--pdx-empty-state-inline-margin, 8px 0)}.empty-card.variant-panel{margin:var(--pdx-empty-state-panel-margin, 0)}.empty-card.variant-transparent{margin:var(--pdx-empty-state-transparent-margin, 0);border-color:transparent;background:transparent;box-shadow:none}.content{display:flex;align-items:center;gap:var(--pdx-empty-state-gap, 12px)}.align-center .content{flex-direction:column;justify-content:center;text-align:center}.icon{display:inline-grid;place-items:center;flex:0 0 auto;font-size:var(--pdx-empty-state-icon-size, 32px);width:var(--pdx-empty-state-icon-box-size, 32px);height:var(--pdx-empty-state-icon-box-size, 32px);color:var(--empty-icon-color)}.icon-circle .icon,.icon-soft .icon{width:var(--pdx-empty-state-icon-container-size, 44px);height:var(--pdx-empty-state-icon-container-size, 44px);border-radius:var(--pdx-empty-state-icon-container-radius, 999px);font-size:var(--pdx-empty-state-icon-container-icon-size, 22px)}.icon-circle .icon{border:1px solid var(--pdx-empty-state-icon-container-border-color, color-mix(in srgb, var(--empty-icon-color) 24%, transparent));background:var(--pdx-empty-state-icon-container-bg, color-mix(in srgb, var(--empty-icon-color) 10%, transparent))}.icon-soft .icon{background:var(--pdx-empty-state-icon-container-bg, color-mix(in srgb, var(--empty-icon-color) 10%, transparent))}.texts{display:grid;gap:var(--pdx-empty-state-text-gap, 4px)}.align-center .texts{justify-items:center}.title{margin:0;font-family:var(--pdx-empty-state-title-font-family, var(--md-sys-typescale-title-small-font-family, inherit));font-size:var(--pdx-empty-state-title-font-size, 16px);font-weight:var(--pdx-empty-state-title-font-weight, 600);line-height:var(--pdx-empty-state-title-line-height, 1.3);color:var(--pdx-empty-state-title-color, var(--md-sys-color-on-surface))}.desc{margin:0;max-width:var(--pdx-empty-state-description-max-width, none);font-family:var(--pdx-empty-state-description-font-family, var(--md-sys-typescale-body-medium-font-family, inherit));font-size:var(--pdx-empty-state-description-font-size, inherit);line-height:var(--pdx-empty-state-description-line-height, 1.4);color:var(--pdx-empty-state-description-color, var(--md-sys-color-on-surface-variant))}.actions{display:flex;justify-content:var(--pdx-empty-state-actions-justify, flex-start);gap:var(--pdx-empty-state-actions-gap, 8px);margin-top:var(--pdx-empty-state-actions-margin-top, 12px);flex-wrap:wrap}.actions .mat-mdc-button-base{width:fit-content;max-width:100%;height:var(--pdx-empty-state-action-height, var(--praxis-action-control-height, 40px));min-height:var(--pdx-empty-state-action-height, var(--praxis-action-control-height, 40px));padding-inline:var(--pdx-empty-state-action-padding-inline, var(--praxis-action-control-padding-inline, 12px));border-radius:var(--pdx-empty-state-action-radius, var(--praxis-action-control-radius, 8px));gap:var(--pdx-empty-state-action-gap, var(--praxis-action-control-gap, 8px));font-size:var(--pdx-empty-state-action-font-size, var(--praxis-action-control-font-size, .875rem));font-weight:var(--pdx-empty-state-action-font-weight, var(--praxis-action-control-font-weight, 500));line-height:var(--pdx-empty-state-action-line-height, var(--praxis-action-control-line-height, 1.25rem));white-space:nowrap}.actions .mat-mdc-button-base mat-icon{width:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));height:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));margin:0;font-size:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));line-height:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px))}.actions .mat-mdc-button-base:focus-visible{outline:2px solid var(--pdx-empty-state-action-focus-ring, var(--praxis-action-control-focus-ring, var(--md-sys-color-primary)));outline-offset:2px}.actions .mat-mdc-button-base:disabled{opacity:var(--pdx-empty-state-action-disabled-opacity, var(--praxis-action-control-disabled-opacity, .62))}.align-center .actions{justify-content:var(--pdx-empty-state-actions-justify, center)}.density-compact .content{gap:var(--pdx-empty-state-compact-gap, 8px)}.density-compact .actions .mat-mdc-button-base{height:var(--pdx-empty-state-action-height, var(--praxis-action-control-compact-height, 36px));min-height:var(--pdx-empty-state-action-height, var(--praxis-action-control-compact-height, 36px))}.density-compact .icon{font-size:var(--pdx-empty-state-compact-icon-size, 24px);width:var(--pdx-empty-state-compact-icon-box-size, 24px);height:var(--pdx-empty-state-compact-icon-box-size, 24px)}.density-compact.icon-circle .icon,.density-compact.icon-soft .icon{width:var(--pdx-empty-state-compact-icon-container-size, 36px);height:var(--pdx-empty-state-compact-icon-container-size, 36px);font-size:var(--pdx-empty-state-compact-icon-container-icon-size, 20px)}.empty-card.tone-primary{--empty-icon-color: var(--md-sys-color-primary)}.empty-card.tone-secondary{--empty-icon-color: var(--md-sys-color-secondary)}\n"] }]
|
|
46442
|
+
`, styles: [".empty-card{display:block;margin:var(--pdx-empty-state-margin, 12px);border-color:var(--pdx-empty-state-border-color, var(--md-sys-color-outline-variant));border-radius:var(--pdx-empty-state-radius, 8px);background:var(--pdx-empty-state-bg, var(--md-sys-color-surface));color:var(--pdx-empty-state-fg, var(--md-sys-color-on-surface));--empty-icon-color: var(--pdx-empty-state-icon-color, var(--md-sys-color-on-surface-variant))}.empty-card.empty-inline,.empty-card.variant-inline{margin:var(--pdx-empty-state-inline-margin, 8px 0)}.empty-card.variant-panel{margin:var(--pdx-empty-state-panel-margin, 0)}.empty-card.variant-transparent{margin:var(--pdx-empty-state-transparent-margin, 0);border-color:transparent;background:transparent;--mat-card-elevated-container-elevation: none;--mat-card-outlined-container-elevation: none;box-shadow:none!important}.content{display:flex;align-items:center;gap:var(--pdx-empty-state-gap, 12px)}.align-center .content{flex-direction:column;justify-content:center;text-align:center}.icon{display:inline-grid;place-items:center;flex:0 0 auto;font-size:var(--pdx-empty-state-icon-size, 32px);width:var(--pdx-empty-state-icon-box-size, 32px);height:var(--pdx-empty-state-icon-box-size, 32px);color:var(--empty-icon-color)}.icon-circle .icon,.icon-soft .icon{width:var(--pdx-empty-state-icon-container-size, 44px);height:var(--pdx-empty-state-icon-container-size, 44px);border-radius:var(--pdx-empty-state-icon-container-radius, 999px);font-size:var(--pdx-empty-state-icon-container-icon-size, 22px)}.icon-circle .icon{border:1px solid var(--pdx-empty-state-icon-container-border-color, color-mix(in srgb, var(--empty-icon-color) 24%, transparent));background:var(--pdx-empty-state-icon-container-bg, color-mix(in srgb, var(--empty-icon-color) 10%, transparent))}.icon-soft .icon{background:var(--pdx-empty-state-icon-container-bg, color-mix(in srgb, var(--empty-icon-color) 10%, transparent))}.texts{display:grid;gap:var(--pdx-empty-state-text-gap, 4px)}.align-center .texts{justify-items:center}.title{margin:0;font-family:var(--pdx-empty-state-title-font-family, var(--md-sys-typescale-title-small-font-family, inherit));font-size:var(--pdx-empty-state-title-font-size, 16px);font-weight:var(--pdx-empty-state-title-font-weight, 600);line-height:var(--pdx-empty-state-title-line-height, 1.3);color:var(--pdx-empty-state-title-color, var(--md-sys-color-on-surface))}.desc{margin:0;max-width:var(--pdx-empty-state-description-max-width, none);font-family:var(--pdx-empty-state-description-font-family, var(--md-sys-typescale-body-medium-font-family, inherit));font-size:var(--pdx-empty-state-description-font-size, inherit);line-height:var(--pdx-empty-state-description-line-height, 1.4);color:var(--pdx-empty-state-description-color, var(--md-sys-color-on-surface-variant))}.actions{display:flex;justify-content:var(--pdx-empty-state-actions-justify, flex-start);gap:var(--pdx-empty-state-actions-gap, 8px);margin-top:var(--pdx-empty-state-actions-margin-top, 12px);flex-wrap:wrap}.actions .mat-mdc-button-base{width:fit-content;max-width:100%;height:var(--pdx-empty-state-action-height, var(--praxis-action-control-height, 40px));min-height:var(--pdx-empty-state-action-height, var(--praxis-action-control-height, 40px));padding-inline:var(--pdx-empty-state-action-padding-inline, var(--praxis-action-control-padding-inline, 12px));border-radius:var(--pdx-empty-state-action-radius, var(--praxis-action-control-radius, 8px));gap:var(--pdx-empty-state-action-gap, var(--praxis-action-control-gap, 8px));font-size:var(--pdx-empty-state-action-font-size, var(--praxis-action-control-font-size, .875rem));font-weight:var(--pdx-empty-state-action-font-weight, var(--praxis-action-control-font-weight, 500));line-height:var(--pdx-empty-state-action-line-height, var(--praxis-action-control-line-height, 1.25rem));white-space:nowrap}.actions .mat-mdc-button-base mat-icon{width:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));height:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));margin:0;font-size:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px));line-height:var(--pdx-empty-state-action-icon-size, var(--praxis-action-control-icon-size, 18px))}.actions .mat-mdc-button-base:focus-visible{outline:2px solid var(--pdx-empty-state-action-focus-ring, var(--praxis-action-control-focus-ring, var(--md-sys-color-primary)));outline-offset:2px}.actions .mat-mdc-button-base:disabled{opacity:var(--pdx-empty-state-action-disabled-opacity, var(--praxis-action-control-disabled-opacity, .62))}.align-center .actions{justify-content:var(--pdx-empty-state-actions-justify, center)}.density-compact .content{gap:var(--pdx-empty-state-compact-gap, 8px)}.density-compact .actions .mat-mdc-button-base{height:var(--pdx-empty-state-action-height, var(--praxis-action-control-compact-height, 36px));min-height:var(--pdx-empty-state-action-height, var(--praxis-action-control-compact-height, 36px))}.density-compact .icon{font-size:var(--pdx-empty-state-compact-icon-size, 24px);width:var(--pdx-empty-state-compact-icon-box-size, 24px);height:var(--pdx-empty-state-compact-icon-box-size, 24px)}.density-compact.icon-circle .icon,.density-compact.icon-soft .icon{width:var(--pdx-empty-state-compact-icon-container-size, 36px);height:var(--pdx-empty-state-compact-icon-container-size, 36px);font-size:var(--pdx-empty-state-compact-icon-container-icon-size, 20px)}.empty-card.tone-primary{--empty-icon-color: var(--md-sys-color-primary)}.empty-card.tone-secondary{--empty-icon-color: var(--md-sys-color-secondary)}\n"] }]
|
|
46174
46443
|
}], propDecorators: { icon: [{
|
|
46175
46444
|
type: Input
|
|
46176
46445
|
}], title: [{
|
|
@@ -47209,4 +47478,4 @@ function provideHookWhitelist(allowed) {
|
|
|
47209
47478
|
* Generated bundle index. Do not edit.
|
|
47210
47479
|
*/
|
|
47211
47480
|
|
|
47212
|
-
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, COMPONENT_METADATA_REGISTRY_I18N_CONFIG, COMPONENT_METADATA_REGISTRY_I18N_NAMESPACE, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentAuthoringManifestProjectionError, ComponentKeyService, ComponentMetadataRegistry, ComponentRuntimeProfileService, CompositionRuntimeFacade, CompositionValidatorService, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_TABLE_CONFIG, DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK, DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DomainCatalogService, DomainKnowledgeService, DomainRuleService, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, EnterpriseRuntimeContextService, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_SURFACE_SERVICE, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_TOKEN_TO_CONTROL_TYPE, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NestedPortCatalogService, NestedWidgetConfigAccessor, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_ACTION_CONTROL_DEFAULTS, PRAXIS_ACTION_CONTROL_VARS, PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS, PRAXIS_COLLECTION_EXPORT_PROVIDER, PRAXIS_COLLECTION_SEARCH_DEFAULTS, PRAXIS_COLLECTION_SEARCH_VARS, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_EXPORT_SECURITY_POLICY, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_ENTERPRISE_RUNTIME_CONTEXT_OPTIONS, PRAXIS_ENTERPRISE_RUNTIME_CONTEXT_READY, PRAXIS_EXPORT_FORMULA_PREFIXES, PRAXIS_EXPORT_SECURITY_POLICY, PRAXIS_FOOTER_LINKS_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_HERO_BANNER_METADATA, PRAXIS_I18N_CONFIG, PRAXIS_I18N_TRANSLATOR, PRAXIS_JSON_LOGIC_OPERATORS, PRAXIS_LAYER_SCALE_DEFAULTS, PRAXIS_LAYER_SCALE_VARS, PRAXIS_LEGAL_NOTICE_METADATA, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION, PRAXIS_RELATED_RESOURCE_OUTLET_AUTHORING_MANIFEST, PRAXIS_RELATED_RESOURCE_OUTLET_COMPONENT_METADATA, PRAXIS_RELATED_RESOURCE_OUTLET_PORTS, PRAXIS_RICH_TEXT_BLOCK_METADATA, PRAXIS_TABLE_DETAIL_INLINE_NODE_RESOLVERS, PRAXIS_TABLE_DETAIL_INLINE_RENDERERS, PRAXIS_TABLE_DETAIL_RESOURCE_RESOLVER, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_THEME_SURFACE_DEFAULTS, PRAXIS_THEME_SURFACE_VARS, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisCollectionExportService, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisHttpCollectionExportProvider, PraxisI18nService, PraxisIconButtonComponent, PraxisIconDirective, PraxisIconPickerComponent, PraxisJsonLogicError, PraxisJsonLogicService, PraxisLayerScaleStyleService, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRelatedResourceOutletComponent, PraxisRelatedResourceOutletConfigEditorComponent, PraxisResourceIdentityComponent, PraxisRichTextBlockComponent, PraxisRuntimeComponentObservationRegistryService, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, RESOURCE_DISCOVERY_I18N_CONFIG, RESOURCE_DISCOVERY_I18N_NAMESPACE, RULE_PROPERTY_SCHEMA, RelatedResourceSurfaceResolverService, RemoteConfigStorage, ResourceActionOpenAdapterService, ResourceDiscoveryService, ResourceQuickConnectComponent, ResourceRecordOpenError, ResourceRecordOpenService, ResourceSurfaceOpenAdapterService, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_DRAWER_BRIDGE, SURFACE_DRAWER_CONTENT_DATA, SURFACE_DRAWER_REF, SURFACE_NAVIGATION_I18N_CONFIG, SURFACE_NAVIGATION_I18N_NAMESPACE, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, SurfaceNavigationError, SurfaceOpenActionEditorComponent, SurfaceOpenMaterializerService, SurfaceOutletRegistryService, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetPageCompositionFactory, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$2 as applyLocalCustomizations, applyLocalCustomizations$1 as applyLocalFormCustomizations, assertPraxisCollectionExportArtifact, assertPraxisRuntimeComponentObservationSerializable, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildPraxisActionControlCss, buildPraxisCollectionSearchCss, buildPraxisEffectDistinctKey, buildPraxisLayerScaleCss, buildPraxisThemeSurfaceCss, buildSchemaId, buildSchemaIdStorageKeySegment, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, clampRange, classifyEntityLookupResult, clonePraxisRuntimeComponentObservation, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createEmptyRichContentDocument, createFieldLayoutItem, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, domainKnowledgeTimelineToRichContentDocument, domainRuleTimelineToRichContentDocument, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, escapePraxisExportCell, evaluateFieldAccess, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getFormColumnFieldNames, getFormLayoutFieldNames, getGlobalActionCatalog, getGlobalActionPayloadActualType, getGlobalActionPayloadTypeIssue, getGlobalActionProviderEvidence, getGlobalActionUiSchema, getMissingGlobalActionPayloadKeys, getPraxisTableCellVisualizationConstraint, getPraxisTableCellVisualizationGuidance, getReferencedFieldMetadata, getRequiredGlobalActionPayloadKeys, getTextTransformer, hasMeaningfulGlobalActionPayloadValue, hasPraxisCollectionExportArtifact, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isDomainRuleSnapshotProblemResponse, isEditorialComponentMeta, isEntityLookupMultiplePayloadMode, isEntityLookupPayloadMode, isEntityLookupPayloadModeCompatible, isEntityLookupResultSelectable, isEntityLookupSinglePayloadMode, isFormLayoutItem, isGlobalActionProviderOperational, isGlobalActionRef, isInlineFilterControlType, isLookupDialogSize, isLookupFilterFieldType, isLookupFilterOperator, isPraxisI18nMessageDescriptor, isPraxisPresentationVisualizationTableSafe, isPraxisRuntimeGlobalActionEffect, isProgrammaticDateRangePreset, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isStaticDateRangePreset, isSurfaceNavigationError, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, markGlobalActionProviderOperational, matchFieldValidator, materializeFormLayoutFromMetadata, materializeResourceIdentity, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, nestedPortPathIdentity, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldAccessMetadata, normalizeFieldConstraints, normalizeFieldPresentation, normalizeFormConfig, normalizeFormLayoutItems, normalizeFormMetadata, normalizeGlobalActionRef$1 as normalizeGlobalActionRef, normalizeLayoutPolicy, normalizeLookupFilterRequest, normalizePath, normalizePraxisDataQueryContext, normalizePraxisEffectPolicy, normalizePraxisPresentationVisualization, normalizePraxisQueryFilterExpression, normalizePraxisQueryFilterNode, normalizeReactiveDeterminations, normalizeResourceAvailabilityReasonCode, normalizeResourceIdentityContract, normalizeStart, normalizeSurfaceOperationContext, normalizeUnknownError, normalizeWidgetEventPath, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, projectComponentAuthoringManifest, projectGroupedCommandPartialRows, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisCollectionExportProvider, providePraxisDynamicPageMetadata, providePraxisEnterpriseRuntimeContext, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpCollectionExportProvider, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisIconDefaults, providePraxisJsonLogicOperator, providePraxisJsonLogicOperatorOverride, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRelatedResourceOutletMetadata, providePraxisRichTextBlockMetadata, providePraxisTelemetry, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, readPraxisExportValue, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, registerPraxisRuntimeComponentObservation, removeDiacritics, renderPraxisPresentationVisualizationHtml, reportTelemetryHookFactory, requiredCheckedValidator, requiredPresenceValidator, resolveBuiltinPresets, resolveColumnTypeFromFieldDefinition, resolveControlTypeAlias, resolveDateRangeShortcutPreset, resolveDateRangeShortcutPresets, resolveDefaultValuePresentationFormat, resolveEntityLookupPayloadMode, resolveFieldPresentation, resolveGroupedCommandPartialRowSpans, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisCollectionExportItems, resolvePraxisExportFields, resolvePraxisExportScope, resolvePraxisFilterCriteria, resolvePraxisI18nDocument, resolveResourceAvailabilityReasonKey, resolveResourceIdentityContract, resolveSpan, resolveTextMaskFormat, resolveTextMaskFormatFromFieldDefinition, resolveValuePresentation, resolveValuePresentationLocale, serializeEntityLookupValueForPayload, serializeOptionSourceFilterRequest, serializePraxisCollectionToCsv, serializePraxisCollectionToExcel, serializePraxisCollectionToJson, slugify, staticDateRangePresetToPreset, stripMasksHook, supportsImplicitValuePresentation, syncWithServerMetadata, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, translateResourceAvailabilityReason, translateResourceDiscoveryText, translateSurfaceNavigationRejected, translateUnavailableWorkflowMessage, trim, uniqueAsyncValidator, urlValidator, validateGlobalActionRef, validateGlobalActionRefs, withFormConfigSections, withMessage, withPraxisHttpLoading };
|
|
47481
|
+
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, COMPONENT_METADATA_REGISTRY_I18N_CONFIG, COMPONENT_METADATA_REGISTRY_I18N_NAMESPACE, CONFIG_STORAGE, CONNECTION_STORAGE, ComponentAuthoringManifestProjectionError, ComponentKeyService, ComponentMetadataRegistry, ComponentRuntimeProfileService, CompositionRuntimeFacade, CompositionValidatorService, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_TABLE_CONFIG, DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK, DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DomainCatalogService, DomainKnowledgeService, DomainRuleService, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, EnterpriseRuntimeContextService, ErrorMessageService, FIELD_METADATA_CAPABILITIES, FIELD_SELECTOR_REGISTRY_BASE, FIELD_SELECTOR_REGISTRY_DISABLE_DEFAULTS, FIELD_SELECTOR_REGISTRY_OVERRIDES, FORM_HOOKS, FORM_HOOKS_PRESETS, FORM_HOOKS_WHITELIST, FORM_HOOK_RESOLVERS, FieldControlType, FieldDataType, FieldSelectorRegistry, FormHooksRegistry, GLOBAL_ACTION_CATALOG, GLOBAL_ACTION_HANDLERS, GLOBAL_ACTION_UI_SCHEMAS, GLOBAL_ANALYTICS_SERVICE, GLOBAL_API_CLIENT, GLOBAL_CONFIG, GLOBAL_DIALOG_SERVICE, GLOBAL_ROUTE_GUARD_RESOLVER, GLOBAL_SURFACE_SERVICE, GLOBAL_TOAST_SERVICE, GenericCrudService, GlobalActionService, GlobalConfigService, INLINE_FILTER_ALIAS_TOKENS, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_SET, INLINE_FILTER_CONTROL_TYPE_VALUES, INLINE_FILTER_TOKEN_TO_BASE_CONTROL_TYPE, INLINE_FILTER_TOKEN_TO_CONTROL_TYPE, IconPickerService, IconPosition, IconSize, LOGGER_LEVEL_BY_ENV, LOGGER_LEVEL_PRIORITY, LoadingOrchestrator, LocalConnectionStorage, LocalStorageAsyncAdapter, LocalStorageCacheAdapter, LocalStorageConfigService, LoggerService, LoggerThrottleTracker, LoggerWarnOnceTracker, MemoryCacheAdapter, NestedPortCatalogService, NestedWidgetConfigAccessor, NumericFormat, OVERLAY_DECIDER_DEBUG, OVERLAY_DECISION_MATRIX, ObservabilityDashboardService, OverlayDeciderService, PRAXIS_ACTION_CONTROL_DEFAULTS, PRAXIS_ACTION_CONTROL_VARS, PRAXIS_COLLECTION_EXPORT_HTTP_OPTIONS, PRAXIS_COLLECTION_EXPORT_PROVIDER, PRAXIS_COLLECTION_SEARCH_DEFAULTS, PRAXIS_COLLECTION_SEARCH_VARS, PRAXIS_CORPORATE_SENSITIVE_KEYS, PRAXIS_DEFAULT_EXPORT_SECURITY_POLICY, PRAXIS_DEFAULT_OBSERVABILITY_ALERT_RULES, PRAXIS_DYNAMIC_PAGE_COMPONENT_METADATA, PRAXIS_ENTERPRISE_RUNTIME_CONTEXT_OPTIONS, PRAXIS_ENTERPRISE_RUNTIME_CONTEXT_READY, PRAXIS_EXPORT_FORMULA_PREFIXES, PRAXIS_EXPORT_SECURITY_POLICY, PRAXIS_FOOTER_LINKS_METADATA, PRAXIS_GLOBAL_ACTION_CATALOG, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_OPTIONS, PRAXIS_GLOBAL_CONFIG_BOOTSTRAP_READY, PRAXIS_GLOBAL_CONFIG_TENANT_RESOLVER, PRAXIS_HERO_BANNER_METADATA, PRAXIS_I18N_CONFIG, PRAXIS_I18N_TRANSLATOR, PRAXIS_JSON_LOGIC_OPERATORS, PRAXIS_LAYER_SCALE_DEFAULTS, PRAXIS_LAYER_SCALE_VARS, PRAXIS_LEGAL_NOTICE_METADATA, PRAXIS_LOADING_CTX, PRAXIS_LOADING_RENDERER, PRAXIS_LOGGER_CONFIG, PRAXIS_LOGGER_SINKS, PRAXIS_OBSERVABILITY_DASHBOARD_OPTIONS, PRAXIS_QUERY_FILTER_EXPRESSION_SCHEMA_VERSION, PRAXIS_RELATED_RESOURCE_OUTLET_AUTHORING_MANIFEST, PRAXIS_RELATED_RESOURCE_OUTLET_COMPONENT_METADATA, PRAXIS_RELATED_RESOURCE_OUTLET_PORTS, PRAXIS_RICH_TEXT_BLOCK_METADATA, PRAXIS_TABLE_DETAIL_INLINE_NODE_RESOLVERS, PRAXIS_TABLE_DETAIL_INLINE_RENDERERS, PRAXIS_TABLE_DETAIL_RESOURCE_RESOLVER, PRAXIS_TELEMETRY_TRANSPORT, PRAXIS_THEME_SURFACE_DEFAULTS, PRAXIS_THEME_SURFACE_VARS, PRAXIS_USER_CONTEXT_SUMMARY_METADATA, PRIVACY_CONSENT_EDITORIAL_SOLUTION, PRIVACY_CONSENT_EDITORIAL_TEMPLATE, PraxisCollectionExportService, PraxisCore, PraxisFooterLinksComponent, PraxisGlobalErrorHandler, PraxisHeroBannerComponent, PraxisHttpCollectionExportProvider, PraxisI18nService, PraxisIconButtonComponent, PraxisIconDirective, PraxisIconPickerComponent, PraxisJsonLogicError, PraxisJsonLogicService, PraxisLayerScaleStyleService, PraxisLegalNoticeComponent, PraxisLoadingInterceptor, PraxisRelatedResourceOutletComponent, PraxisRelatedResourceOutletConfigEditorComponent, PraxisResourceIdentityComponent, PraxisRichTextBlockComponent, PraxisRuntimeComponentObservationRegistryService, PraxisSurfaceHostComponent, PraxisUserContextSummaryComponent, RESOURCE_DISCOVERY_I18N_CONFIG, RESOURCE_DISCOVERY_I18N_NAMESPACE, RULE_PROPERTY_SCHEMA, RelatedResourceSurfaceResolverService, RemoteConfigStorage, ResourceActionOpenAdapterService, ResourceDiscoveryService, ResourceQuickConnectComponent, ResourceRecordOpenError, ResourceRecordOpenService, ResourceSurfaceOpenAdapterService, SCHEMA_VIEWER_CONTEXT, SETTINGS_PANEL_BRIDGE, SETTINGS_PANEL_DATA, STEPPER_CONFIG_EDITOR, SURFACE_DRAWER_BRIDGE, SURFACE_DRAWER_CONTENT_DATA, SURFACE_DRAWER_REF, SURFACE_NAVIGATION_I18N_CONFIG, SURFACE_NAVIGATION_I18N_NAMESPACE, SURFACE_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, SurfaceNavigationError, SurfaceOpenActionEditorComponent, SurfaceOpenMaterializerService, SurfaceOutletRegistryService, TABLE_CONFIG_EDITOR, TableConfigService, TelemetryLoggerSink, TelemetryService, ValidationPattern, WidgetPageCompositionFactory, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$2 as applyLocalCustomizations, applyLocalCustomizations$1 as applyLocalFormCustomizations, assertPraxisCollectionExportArtifact, assertPraxisRuntimeComponentObservationSerializable, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, buildPraxisActionControlCss, buildPraxisCollectionSearchCss, buildPraxisEffectDistinctKey, buildPraxisLayerScaleCss, buildPraxisThemeSurfaceCss, buildSchemaId, buildSchemaIdStorageKeySegment, buildValidatorsFromValidatorOptions, cancelIfCpfInvalidHook, canonicalJsonSha256, canonicalJsonStringify, clampRange, classifyEntityLookupResult, clonePraxisRuntimeComponentObservation, cloneTableConfig, cnpjAlphaValidator, collapseWhitespace, composeHeadersWithVersion, conditionalAsyncValidator, convertFormLayoutToConfig, createCorporateLoggerConfig, createCorporateObservabilityOptions, createCpfCnpjValidator, createDefaultFormConfig, createDefaultTableConfig, createEmptyFormConfig, createEmptyRichContentDocument, createFieldLayoutItem, createPersistedPage, customAsyncValidatorFn, customValidatorFn, debounceAsyncValidator, deepMerge, domainKnowledgeTimelineToRichContentDocument, domainRuleTimelineToRichContentDocument, ensureIds, ensureNoConflictsHookFactory, ensurePageIds, escapePraxisExportCell, evaluateFieldAccess, extractNormalizedError, fetchWithETag, fileTypeValidator, fillUndefined, generateId, getDefaultFormHints, getEditorialCompliancePresetById, getEditorialFormTemplateById, getEditorialFormTemplateCatalog, getEditorialSolutionById, getEditorialSolutionCatalog, getEditorialSolutionPresetById, getEditorialThemePresetById, getEssentialConfig, getFieldMetadataCapabilities, getFormColumnFieldNames, getFormLayoutFieldNames, getGlobalActionCatalog, getGlobalActionPayloadActualType, getGlobalActionPayloadTypeIssue, getGlobalActionProviderEvidence, getGlobalActionUiSchema, getMissingGlobalActionPayloadKeys, getPraxisTableCellVisualizationConstraint, getPraxisTableCellVisualizationGuidance, getReferencedFieldMetadata, getRequiredGlobalActionPayloadKeys, getTextTransformer, hasMeaningfulGlobalActionPayloadValue, hasPraxisCollectionExportArtifact, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isDomainRuleSnapshotProblemResponse, isEditorialComponentMeta, isEntityLookupMultiplePayloadMode, isEntityLookupPayloadMode, isEntityLookupPayloadModeCompatible, isEntityLookupResultSelectable, isEntityLookupSinglePayloadMode, isFormLayoutItem, isGlobalActionProviderOperational, isGlobalActionRef, isInlineFilterControlType, isLookupDialogSize, isLookupFilterFieldType, isLookupFilterOperator, isPraxisI18nMessageDescriptor, isPraxisPresentationVisualizationTableSafe, isPraxisRuntimeGlobalActionEffect, isProgrammaticDateRangePreset, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isStaticDateRangePreset, isSurfaceNavigationError, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, markGlobalActionProviderOperational, matchFieldValidator, materializeFormLayoutFromMetadata, materializeResourceIdentity, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, nestedPortPathIdentity, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldAccessMetadata, normalizeFieldConstraints, normalizeFieldPresentation, normalizeFormConfig, normalizeFormLayoutItems, normalizeFormMetadata, normalizeGlobalActionRef$1 as normalizeGlobalActionRef, normalizeLayoutPolicy, normalizeLookupFilterRequest, normalizePath, normalizePraxisDataQueryContext, normalizePraxisEffectPolicy, normalizePraxisPresentationVisualization, normalizePraxisQueryFilterExpression, normalizePraxisQueryFilterNode, normalizeReactiveDeterminations, normalizeResourceAvailabilityReasonCode, normalizeResourceIdentityContract, normalizeStart, normalizeSurfaceOperationContext, normalizeUnknownError, normalizeWidgetEventPath, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, projectComponentAuthoringManifest, projectGroupedCommandPartialRows, provideDefaultFormHooks, provideFieldSelectorRegistryBase, provideFieldSelectorRegistryOverride, provideFieldSelectorRegistryRuntime, provideFormHookPresets, provideFormHooks, provideGlobalActionCatalog, provideGlobalActionHandler, provideGlobalConfig, provideGlobalConfigReady, provideGlobalConfigSeed, provideGlobalConfigTenant, provideHookResolvers, provideHookWhitelist, provideOverlayDecisionMatrix, providePraxisAnalyticsGlobalActions, providePraxisCollectionExportProvider, providePraxisDynamicPageMetadata, providePraxisEnterpriseRuntimeContext, providePraxisFooterLinksMetadata, providePraxisGlobalActionCatalog, providePraxisGlobalActions, providePraxisGlobalConfigBootstrap, providePraxisHeroBannerMetadata, providePraxisHttpCollectionExportProvider, providePraxisHttpLoading, providePraxisI18n, providePraxisI18nConfig, providePraxisI18nTranslator, providePraxisIconDefaults, providePraxisJsonLogicOperator, providePraxisJsonLogicOperatorOverride, providePraxisLegalNoticeMetadata, providePraxisLoadingDefaults, providePraxisLogging, providePraxisRelatedResourceOutletMetadata, providePraxisRichTextBlockMetadata, providePraxisTelemetry, providePraxisToastGlobalActions, providePraxisUserContextSummaryMetadata, provideRemoteGlobalConfig, readPraxisExportValue, reconcileFilterConfig, reconcileFormConfig, reconcileTableConfig, registerPraxisRuntimeComponentObservation, removeDiacritics, renderPraxisPresentationVisualizationHtml, reportTelemetryHookFactory, requiredCheckedValidator, requiredPresenceValidator, resolveBuiltinPresets, resolveColumnTypeFromFieldDefinition, resolveControlTypeAlias, resolveDateRangeShortcutPreset, resolveDateRangeShortcutPresets, resolveDefaultValuePresentationFormat, resolveEntityLookupPayloadMode, resolveFieldPresentation, resolveGroupedCommandPartialRowSpans, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisCollectionExportItems, resolvePraxisExportFields, resolvePraxisExportScope, resolvePraxisFilterCriteria, resolvePraxisI18nDocument, resolveResourceAvailabilityReasonKey, resolveResourceIdentityContract, resolveSpan, resolveTextMaskFormat, resolveTextMaskFormatFromFieldDefinition, resolveValuePresentation, resolveValuePresentationLocale, serializeEntityLookupValueForPayload, serializeOptionSourceFilterRequest, serializePraxisCollectionToCsv, serializePraxisCollectionToExcel, serializePraxisCollectionToJson, slugify, staticDateRangePresetToPreset, stripMasksHook, supportsConfigDocuments, supportsImplicitValuePresentation, syncWithServerMetadata, textSha256, toCamel, toCapitalize, toKebab, toPascal, toSentenceCase, toSnake, toTitleCase, translateResourceAvailabilityReason, translateResourceDiscoveryText, translateSurfaceNavigationRejected, translateUnavailableWorkflowMessage, trim, uniqueAsyncValidator, urlValidator, validateGlobalActionRef, validateGlobalActionRefs, withFormConfigSections, withMessage, withPraxisHttpLoading };
|