@praxisui/core 9.0.4 → 9.0.5-rc.10
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 +1 -1
- package/ai/component-registry.json +308 -114
- package/fesm2022/praxisui-core.mjs +262 -26
- package/package.json +1 -1
- package/types/praxisui-core.d.ts +146 -9
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Component, InjectionToken, Injectable, inject, Inject, Optional, makeEnvironmentProviders, APP_INITIALIZER, signal, computed, DestroyRef, ENVIRONMENT_INITIALIZER, ErrorHandler, Input, Directive, input, booleanAttribute, ChangeDetectionStrategy, EventEmitter, Output, SecurityContext, ViewContainerRef, SimpleChange, ContentChild, HostBinding, HostListener, ViewChildren, ViewChild, Injector, output, effect } 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
|
-
import { of, defer, throwError, from, EMPTY, BehaviorSubject, firstValueFrom, Subject, map as map$1, switchMap as switchMap$1, catchError as catchError$1 } from 'rxjs';
|
|
5
|
+
import { of, defer, throwError, from, EMPTY, BehaviorSubject, firstValueFrom, Subject, finalize as finalize$1, shareReplay as shareReplay$1, map as map$1, switchMap as switchMap$1, catchError as catchError$1 } from 'rxjs';
|
|
6
6
|
import { switchMap, take, map, 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';
|
|
@@ -807,7 +807,7 @@ function resolveControlTypeAlias(value, fallback = FieldControlType.INPUT) {
|
|
|
807
807
|
}
|
|
808
808
|
|
|
809
809
|
function normalizeResourceIdentityContract(value) {
|
|
810
|
-
if (!isRecord$
|
|
810
|
+
if (!isRecord$4(value))
|
|
811
811
|
return null;
|
|
812
812
|
const keyField = normalizeText$3(value['keyField']);
|
|
813
813
|
const titleField = normalizeText$3(value['titleField']);
|
|
@@ -835,7 +835,7 @@ function normalizeResourceIdentityContract(value) {
|
|
|
835
835
|
function resolveResourceIdentityContract(options) {
|
|
836
836
|
const diagnostics = [];
|
|
837
837
|
const explicit = normalizeResourceIdentityContract(options.explicitIdentity);
|
|
838
|
-
const hasExplicitDeclaration = isRecord$
|
|
838
|
+
const hasExplicitDeclaration = isRecord$4(options.explicitIdentity);
|
|
839
839
|
if (explicit && explicit.valid !== false) {
|
|
840
840
|
return {
|
|
841
841
|
contract: { ...explicit, source: 'explicit' },
|
|
@@ -963,7 +963,7 @@ function normalizeResourceIdentityDiagnostics(value) {
|
|
|
963
963
|
if (!Array.isArray(value))
|
|
964
964
|
return [];
|
|
965
965
|
return value.filter((item) => {
|
|
966
|
-
return isRecord$
|
|
966
|
+
return isRecord$4(item)
|
|
967
967
|
&& isResourceIdentityDiagnosticCode(item['code'])
|
|
968
968
|
&& (item['severity'] === 'info' || item['severity'] === 'warning')
|
|
969
969
|
&& typeof item['message'] === 'string';
|
|
@@ -992,7 +992,7 @@ function normalizeStringList(value) {
|
|
|
992
992
|
return [];
|
|
993
993
|
return [...new Set(value.map(normalizeText$3).filter((item) => !!item))];
|
|
994
994
|
}
|
|
995
|
-
function isRecord$
|
|
995
|
+
function isRecord$4(value) {
|
|
996
996
|
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
997
997
|
}
|
|
998
998
|
|
|
@@ -13805,6 +13805,7 @@ class ResourceDiscoveryService {
|
|
|
13805
13805
|
http = inject(HttpClient);
|
|
13806
13806
|
schemaNormalizer = inject(SchemaNormalizerService);
|
|
13807
13807
|
apiUrlConfig = inject(API_URL);
|
|
13808
|
+
surfaceCatalogInFlightByHref = new Map();
|
|
13808
13809
|
getLinks(source, rel) {
|
|
13809
13810
|
const candidate = this.extractLinks(source)?.[rel];
|
|
13810
13811
|
if (!candidate) {
|
|
@@ -13826,7 +13827,19 @@ class ResourceDiscoveryService {
|
|
|
13826
13827
|
return this.fetchJson(this.requireLinkHref(source, rel, options), options);
|
|
13827
13828
|
}
|
|
13828
13829
|
getSurfaces(source, options) {
|
|
13829
|
-
|
|
13830
|
+
const href = this.requireLinkHref(source, 'surfaces', options);
|
|
13831
|
+
const existing = this.surfaceCatalogInFlightByHref.get(href);
|
|
13832
|
+
if (existing) {
|
|
13833
|
+
return existing;
|
|
13834
|
+
}
|
|
13835
|
+
let request;
|
|
13836
|
+
request = this.fetchJson(href, options).pipe(finalize$1(() => {
|
|
13837
|
+
if (this.surfaceCatalogInFlightByHref.get(href) === request) {
|
|
13838
|
+
this.surfaceCatalogInFlightByHref.delete(href);
|
|
13839
|
+
}
|
|
13840
|
+
}), shareReplay$1({ bufferSize: 1, refCount: true }));
|
|
13841
|
+
this.surfaceCatalogInFlightByHref.set(href, request);
|
|
13842
|
+
return request;
|
|
13830
13843
|
}
|
|
13831
13844
|
getActions(source, options) {
|
|
13832
13845
|
return this.followLink(source, 'actions', options);
|
|
@@ -14149,7 +14162,7 @@ const SURFACE_OPEN_PRESETS = [
|
|
|
14149
14162
|
* Invalid roles are omitted and a completely empty context resolves to `null`.
|
|
14150
14163
|
*/
|
|
14151
14164
|
function normalizeSurfaceOperationContext(value) {
|
|
14152
|
-
if (!isRecord$
|
|
14165
|
+
if (!isRecord$3(value))
|
|
14153
14166
|
return null;
|
|
14154
14167
|
const taskScope = normalizeResourceRef(value['taskScope']);
|
|
14155
14168
|
const subject = normalizeResourceRef(value['subject']);
|
|
@@ -14163,7 +14176,7 @@ function normalizeSurfaceOperationContext(value) {
|
|
|
14163
14176
|
};
|
|
14164
14177
|
}
|
|
14165
14178
|
function normalizeResourceRef(value) {
|
|
14166
|
-
if (!isRecord$
|
|
14179
|
+
if (!isRecord$3(value))
|
|
14167
14180
|
return undefined;
|
|
14168
14181
|
const resourceKey = normalizeText(value['resourceKey']);
|
|
14169
14182
|
const resourceId = normalizeResourceId(value['resourceId']);
|
|
@@ -14177,7 +14190,7 @@ function normalizeResourceRef(value) {
|
|
|
14177
14190
|
};
|
|
14178
14191
|
}
|
|
14179
14192
|
function normalizeRelationship(value) {
|
|
14180
|
-
if (!isRecord$
|
|
14193
|
+
if (!isRecord$3(value))
|
|
14181
14194
|
return undefined;
|
|
14182
14195
|
const surfaceId = normalizeText(value['surfaceId']);
|
|
14183
14196
|
const childResourceKey = normalizeText(value['childResourceKey']);
|
|
@@ -14191,7 +14204,7 @@ function normalizeRelationship(value) {
|
|
|
14191
14204
|
};
|
|
14192
14205
|
}
|
|
14193
14206
|
function normalizeIdentity(value) {
|
|
14194
|
-
if (!isRecord$
|
|
14207
|
+
if (!isRecord$3(value) || !Array.isArray(value['metadata']))
|
|
14195
14208
|
return undefined;
|
|
14196
14209
|
const key = normalizeIdentityPart(value['key']);
|
|
14197
14210
|
const title = normalizeIdentityPart(value['title']);
|
|
@@ -14214,7 +14227,7 @@ function normalizeIdentity(value) {
|
|
|
14214
14227
|
};
|
|
14215
14228
|
}
|
|
14216
14229
|
function normalizeIdentityPart(value) {
|
|
14217
|
-
if (!isRecord$
|
|
14230
|
+
if (!isRecord$3(value))
|
|
14218
14231
|
return undefined;
|
|
14219
14232
|
const field = normalizeText(value['field']);
|
|
14220
14233
|
const partValue = normalizeDisplayValue(value['value']);
|
|
@@ -14237,11 +14250,11 @@ function normalizeDisplayValue(value) {
|
|
|
14237
14250
|
return typeof value === 'boolean' ? value : undefined;
|
|
14238
14251
|
}
|
|
14239
14252
|
function cloneJsonRecord(value) {
|
|
14240
|
-
if (!isRecord$
|
|
14253
|
+
if (!isRecord$3(value))
|
|
14241
14254
|
return undefined;
|
|
14242
14255
|
try {
|
|
14243
14256
|
const cloned = JSON.parse(JSON.stringify(value));
|
|
14244
|
-
return isRecord$
|
|
14257
|
+
return isRecord$3(cloned) ? cloned : undefined;
|
|
14245
14258
|
}
|
|
14246
14259
|
catch {
|
|
14247
14260
|
return undefined;
|
|
@@ -14261,7 +14274,7 @@ function normalizeText(value) {
|
|
|
14261
14274
|
const normalized = value.trim();
|
|
14262
14275
|
return normalized || undefined;
|
|
14263
14276
|
}
|
|
14264
|
-
function isRecord$
|
|
14277
|
+
function isRecord$3(value) {
|
|
14265
14278
|
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
14266
14279
|
}
|
|
14267
14280
|
|
|
@@ -15222,6 +15235,7 @@ const INTAKE_HREF = '/api/praxis/config/domain-rules/intake';
|
|
|
15222
15235
|
const SIMULATIONS_HREF = '/api/praxis/config/domain-rules/simulations';
|
|
15223
15236
|
const PUBLICATIONS_HREF = '/api/praxis/config/domain-rules/publications';
|
|
15224
15237
|
const MATERIALIZATIONS_HREF = '/api/praxis/config/domain-rules/materializations';
|
|
15238
|
+
const SNAPSHOTS_HREF = '/api/praxis/config/domain-rules/snapshots';
|
|
15225
15239
|
class DomainRuleService {
|
|
15226
15240
|
http = inject(HttpClient);
|
|
15227
15241
|
discovery = inject(ResourceDiscoveryService);
|
|
@@ -15261,6 +15275,47 @@ class DomainRuleService {
|
|
|
15261
15275
|
transitionMaterializationStatus(materializationId, request, options = {}) {
|
|
15262
15276
|
return this.http.patch(this.discovery.resolveHref(`${MATERIALIZATIONS_HREF}/${encodeURIComponent(materializationId)}/status`, options), request, { headers: this.resolveHeaders(options) });
|
|
15263
15277
|
}
|
|
15278
|
+
listSnapshotVersions(ruleSetKey, limit = 50, options = {}) {
|
|
15279
|
+
return this.http.get(this.discovery.resolveHref(SNAPSHOTS_HREF, options), {
|
|
15280
|
+
params: new HttpParams()
|
|
15281
|
+
.set('ruleSetKey', ruleSetKey)
|
|
15282
|
+
.set('limit', String(limit)),
|
|
15283
|
+
headers: this.resolveHeaders(options),
|
|
15284
|
+
});
|
|
15285
|
+
}
|
|
15286
|
+
getSnapshotHeadStatus(ruleSetKey, options = {}) {
|
|
15287
|
+
return this.http.get(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/head/status`, options), {
|
|
15288
|
+
params: new HttpParams().set('ruleSetKey', ruleSetKey),
|
|
15289
|
+
headers: this.resolveHeaders(options),
|
|
15290
|
+
});
|
|
15291
|
+
}
|
|
15292
|
+
getSnapshotHead(ruleSetKey, options = {}) {
|
|
15293
|
+
return this.http.get(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/head`, options), {
|
|
15294
|
+
params: new HttpParams().set('ruleSetKey', ruleSetKey),
|
|
15295
|
+
headers: this.resolveHeaders(options),
|
|
15296
|
+
});
|
|
15297
|
+
}
|
|
15298
|
+
prepareSnapshotComposition(request, options = {}) {
|
|
15299
|
+
return this.http.post(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/composition-manifest`, options), request, { headers: this.resolveHeaders(options) });
|
|
15300
|
+
}
|
|
15301
|
+
approveSnapshotComposition(request, options = {}) {
|
|
15302
|
+
return this.http.post(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/composition-approvals`, options), request, { headers: this.resolveHeaders(options) });
|
|
15303
|
+
}
|
|
15304
|
+
publishSnapshot(request, currentHeadEtag, options = {}) {
|
|
15305
|
+
let headers = this.resolveHeaders(options) ?? new HttpHeaders();
|
|
15306
|
+
headers = currentHeadEtag
|
|
15307
|
+
? headers.set('If-Match', this.strongEntityTag(currentHeadEtag))
|
|
15308
|
+
: headers.set('If-None-Match', '*');
|
|
15309
|
+
return this.http.post(this.discovery.resolveHref(SNAPSHOTS_HREF, options), request, { headers });
|
|
15310
|
+
}
|
|
15311
|
+
activateSnapshot(snapshotKey, headEtag, options = {}) {
|
|
15312
|
+
const resolved = this.resolveHeaders(options) ?? new HttpHeaders();
|
|
15313
|
+
return this.http.post(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/${encodeURIComponent(snapshotKey)}/activate`, options), null, { headers: resolved.set('If-Match', this.strongEntityTag(headEtag)) });
|
|
15314
|
+
}
|
|
15315
|
+
rollbackSnapshot(snapshotKey, headEtag, options = {}) {
|
|
15316
|
+
const resolved = this.resolveHeaders(options) ?? new HttpHeaders();
|
|
15317
|
+
return this.http.post(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/${encodeURIComponent(snapshotKey)}/rollback`, options), null, { headers: resolved.set('If-Match', this.strongEntityTag(headEtag)) });
|
|
15318
|
+
}
|
|
15264
15319
|
buildParams(filters) {
|
|
15265
15320
|
let params = new HttpParams();
|
|
15266
15321
|
Object.entries(filters).forEach(([key, value]) => {
|
|
@@ -15270,6 +15325,15 @@ class DomainRuleService {
|
|
|
15270
15325
|
});
|
|
15271
15326
|
return params;
|
|
15272
15327
|
}
|
|
15328
|
+
strongEntityTag(value) {
|
|
15329
|
+
const trimmed = value.trim();
|
|
15330
|
+
if (/^"[^"\r\n]*"$/.test(trimmed))
|
|
15331
|
+
return trimmed;
|
|
15332
|
+
if (!trimmed || /["\r\n,]/.test(trimmed) || /^W\//i.test(trimmed)) {
|
|
15333
|
+
throw new Error('The mutable-head ETag is not a valid strong entity tag.');
|
|
15334
|
+
}
|
|
15335
|
+
return `"${trimmed}"`;
|
|
15336
|
+
}
|
|
15273
15337
|
resolveHeaders(options) {
|
|
15274
15338
|
if (options.headers instanceof HttpHeaders) {
|
|
15275
15339
|
return options.headers;
|
|
@@ -17840,7 +17904,7 @@ function normalizeUnknownError(rawError) {
|
|
|
17840
17904
|
if (typeof candidate === 'string') {
|
|
17841
17905
|
return normalizeFromParts('Error', candidate);
|
|
17842
17906
|
}
|
|
17843
|
-
if (isRecord$
|
|
17907
|
+
if (isRecord$2(candidate)) {
|
|
17844
17908
|
const name = toText(candidate['name'], 'Error');
|
|
17845
17909
|
const message = toText(candidate['message'], safeStringify(candidate));
|
|
17846
17910
|
const stack = toStack(candidate['stack']);
|
|
@@ -17859,7 +17923,7 @@ function extractErrorCandidate(data) {
|
|
|
17859
17923
|
if (data instanceof Error || typeof data === 'string') {
|
|
17860
17924
|
return data;
|
|
17861
17925
|
}
|
|
17862
|
-
if (!isRecord$
|
|
17926
|
+
if (!isRecord$2(data)) {
|
|
17863
17927
|
return undefined;
|
|
17864
17928
|
}
|
|
17865
17929
|
if ('error' in data) {
|
|
@@ -17877,7 +17941,7 @@ function extractErrorCandidate(data) {
|
|
|
17877
17941
|
return undefined;
|
|
17878
17942
|
}
|
|
17879
17943
|
function unwrapRejection(error) {
|
|
17880
|
-
if (!isRecord$
|
|
17944
|
+
if (!isRecord$2(error)) {
|
|
17881
17945
|
return error;
|
|
17882
17946
|
}
|
|
17883
17947
|
if ('rejection' in error) {
|
|
@@ -17937,7 +18001,7 @@ function safeStringify(value) {
|
|
|
17937
18001
|
return UNKNOWN_ERROR_MESSAGE;
|
|
17938
18002
|
}
|
|
17939
18003
|
}
|
|
17940
|
-
function isRecord$
|
|
18004
|
+
function isRecord$2(value) {
|
|
17941
18005
|
return !!value && typeof value === 'object';
|
|
17942
18006
|
}
|
|
17943
18007
|
|
|
@@ -20864,6 +20928,127 @@ function convertFormLayoutToConfig(formLayout) {
|
|
|
20864
20928
|
return ensureIds({ sections });
|
|
20865
20929
|
}
|
|
20866
20930
|
|
|
20931
|
+
/** Strictly normalizes the closed x-ui.formEffects payload. Invalid entries are ignored. */
|
|
20932
|
+
function normalizeFormEffects(value) {
|
|
20933
|
+
if (!Array.isArray(value)) {
|
|
20934
|
+
return [];
|
|
20935
|
+
}
|
|
20936
|
+
return value
|
|
20937
|
+
.map((candidate) => normalizeFormEffect(candidate))
|
|
20938
|
+
.filter((candidate) => candidate !== null);
|
|
20939
|
+
}
|
|
20940
|
+
function normalizeFormEffect(value) {
|
|
20941
|
+
if (!isRecord$1(value) || !hasOnlyKeys(value, ['id', 'trigger', 'operation', 'inputs', 'outputs'])) {
|
|
20942
|
+
return null;
|
|
20943
|
+
}
|
|
20944
|
+
const id = nonBlank(value['id']);
|
|
20945
|
+
const trigger = normalizeTrigger(value['trigger']);
|
|
20946
|
+
const operation = normalizeOperation(value['operation']);
|
|
20947
|
+
const inputs = normalizeInputs(value['inputs']);
|
|
20948
|
+
const outputs = normalizeOutputs(value['outputs']);
|
|
20949
|
+
if (!id || !trigger || !operation || !inputs.length || !outputs.length) {
|
|
20950
|
+
return null;
|
|
20951
|
+
}
|
|
20952
|
+
return { id, trigger, operation, inputs, outputs };
|
|
20953
|
+
}
|
|
20954
|
+
function normalizeTrigger(value) {
|
|
20955
|
+
if (!isRecord$1(value) || !hasOnlyKeys(value, ['event', 'fields', 'debounceMs', 'requiresValidSources'])) {
|
|
20956
|
+
return null;
|
|
20957
|
+
}
|
|
20958
|
+
const fields = stringArray(value['fields']);
|
|
20959
|
+
const debounceMs = value['debounceMs'];
|
|
20960
|
+
if (value['event'] !== 'value-change' ||
|
|
20961
|
+
!fields.length ||
|
|
20962
|
+
typeof debounceMs !== 'number' ||
|
|
20963
|
+
!Number.isInteger(debounceMs) ||
|
|
20964
|
+
debounceMs < 0 ||
|
|
20965
|
+
debounceMs > 60_000 ||
|
|
20966
|
+
typeof value['requiresValidSources'] !== 'boolean') {
|
|
20967
|
+
return null;
|
|
20968
|
+
}
|
|
20969
|
+
return {
|
|
20970
|
+
event: 'value-change',
|
|
20971
|
+
fields,
|
|
20972
|
+
debounceMs,
|
|
20973
|
+
requiresValidSources: value['requiresValidSources'],
|
|
20974
|
+
};
|
|
20975
|
+
}
|
|
20976
|
+
function normalizeOperation(value) {
|
|
20977
|
+
if (!isRecord$1(value) ||
|
|
20978
|
+
!hasOnlyKeys(value, ['operationId', 'path', 'method', 'requestSchemaUrl', 'responseSchemaUrl'])) {
|
|
20979
|
+
return null;
|
|
20980
|
+
}
|
|
20981
|
+
const operationId = nonBlank(value['operationId']);
|
|
20982
|
+
const path = nonBlank(value['path']);
|
|
20983
|
+
const requestSchemaUrl = nonBlank(value['requestSchemaUrl']);
|
|
20984
|
+
const responseSchemaUrl = nonBlank(value['responseSchemaUrl']);
|
|
20985
|
+
if (!operationId ||
|
|
20986
|
+
!path?.startsWith('/') ||
|
|
20987
|
+
value['method'] !== 'POST' ||
|
|
20988
|
+
!requestSchemaUrl?.startsWith('/schemas/filtered?') ||
|
|
20989
|
+
!responseSchemaUrl?.startsWith('/schemas/filtered?')) {
|
|
20990
|
+
return null;
|
|
20991
|
+
}
|
|
20992
|
+
return { operationId, path, method: 'POST', requestSchemaUrl, responseSchemaUrl };
|
|
20993
|
+
}
|
|
20994
|
+
function normalizeInputs(value) {
|
|
20995
|
+
if (!Array.isArray(value))
|
|
20996
|
+
return [];
|
|
20997
|
+
const result = [];
|
|
20998
|
+
const operationFields = new Set();
|
|
20999
|
+
for (const item of value) {
|
|
21000
|
+
if (!isRecord$1(item) || !hasOnlyKeys(item, ['formField', 'operationField']))
|
|
21001
|
+
return [];
|
|
21002
|
+
const formField = nonBlank(item['formField']);
|
|
21003
|
+
const operationField = nonBlank(item['operationField']);
|
|
21004
|
+
if (!formField || !operationField || operationFields.has(operationField))
|
|
21005
|
+
return [];
|
|
21006
|
+
operationFields.add(operationField);
|
|
21007
|
+
result.push({ formField, operationField });
|
|
21008
|
+
}
|
|
21009
|
+
return result;
|
|
21010
|
+
}
|
|
21011
|
+
function normalizeOutputs(value) {
|
|
21012
|
+
if (!Array.isArray(value))
|
|
21013
|
+
return [];
|
|
21014
|
+
const result = [];
|
|
21015
|
+
const formFields = new Set();
|
|
21016
|
+
for (const item of value) {
|
|
21017
|
+
if (!isRecord$1(item) || !hasOnlyKeys(item, ['operationField', 'formField', 'writePolicy']))
|
|
21018
|
+
return [];
|
|
21019
|
+
const operationField = nonBlank(item['operationField']);
|
|
21020
|
+
const formField = nonBlank(item['formField']);
|
|
21021
|
+
const writePolicy = item['writePolicy'];
|
|
21022
|
+
if (!operationField ||
|
|
21023
|
+
!formField ||
|
|
21024
|
+
formFields.has(formField) ||
|
|
21025
|
+
(writePolicy !== 'if-pristine' && writePolicy !== 'if-empty' && writePolicy !== 'replace')) {
|
|
21026
|
+
return [];
|
|
21027
|
+
}
|
|
21028
|
+
formFields.add(formField);
|
|
21029
|
+
result.push({ operationField, formField, writePolicy });
|
|
21030
|
+
}
|
|
21031
|
+
return result;
|
|
21032
|
+
}
|
|
21033
|
+
function stringArray(value) {
|
|
21034
|
+
if (!Array.isArray(value))
|
|
21035
|
+
return [];
|
|
21036
|
+
const values = value.map(nonBlank);
|
|
21037
|
+
if (values.some((item) => !item))
|
|
21038
|
+
return [];
|
|
21039
|
+
return [...new Set(values)];
|
|
21040
|
+
}
|
|
21041
|
+
function nonBlank(value) {
|
|
21042
|
+
return typeof value === 'string' && value.trim() ? value.trim() : null;
|
|
21043
|
+
}
|
|
21044
|
+
function isRecord$1(value) {
|
|
21045
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
21046
|
+
}
|
|
21047
|
+
function hasOnlyKeys(value, allowed) {
|
|
21048
|
+
const allowedSet = new Set(allowed);
|
|
21049
|
+
return Object.keys(value).every((key) => allowedSet.has(key));
|
|
21050
|
+
}
|
|
21051
|
+
|
|
20867
21052
|
/**
|
|
20868
21053
|
* Materializes a concrete FormConfig from a reusable editorial template.
|
|
20869
21054
|
*
|
|
@@ -24284,14 +24469,62 @@ const GROUPED_COMMAND_FIXED_CONTROLS = new Set([
|
|
|
24284
24469
|
]);
|
|
24285
24470
|
const KNOWN_FIELD_CONTROL_TYPES = new Set(Object.values(FieldControlType));
|
|
24286
24471
|
/**
|
|
24287
|
-
*
|
|
24288
|
-
* inventing arbitrary spans.
|
|
24289
|
-
*
|
|
24472
|
+
* Projects every visual row produced by responsive wrapping and distributes
|
|
24473
|
+
* its remainder without inventing arbitrary spans. Effective CSS `order` is
|
|
24474
|
+
* respected and the input order is the deterministic tie-breaker. Unknown,
|
|
24475
|
+
* compact, upload and action controls remain unchanged.
|
|
24290
24476
|
*/
|
|
24477
|
+
function projectGroupedCommandPartialRows(candidates, strategy = 'preserve') {
|
|
24478
|
+
const visualCandidates = candidates
|
|
24479
|
+
.map((candidate, index) => ({
|
|
24480
|
+
candidate,
|
|
24481
|
+
index,
|
|
24482
|
+
span: clampGridSpan(candidate.span),
|
|
24483
|
+
order: normalizeCandidateOrder(candidate.order),
|
|
24484
|
+
}))
|
|
24485
|
+
.sort((left, right) => left.order - right.order || left.index - right.index);
|
|
24486
|
+
const projected = candidates.map((candidate) => clampGridSpan(candidate.span));
|
|
24487
|
+
const visualRows = [];
|
|
24488
|
+
let visualRowStart = 0;
|
|
24489
|
+
let visualRowSpan = 0;
|
|
24490
|
+
const projectVisualRow = (endExclusive) => {
|
|
24491
|
+
const row = visualCandidates.slice(visualRowStart, endExclusive);
|
|
24492
|
+
if (!row.length)
|
|
24493
|
+
return;
|
|
24494
|
+
const rowCandidates = row.map((entry) => entry.candidate);
|
|
24495
|
+
const rowSpans = row.map((entry) => entry.span);
|
|
24496
|
+
const rowProjection = strategy === 'fill-compatible' && candidates.length >= 2
|
|
24497
|
+
? fillGroupedCommandVisualRow(rowCandidates, rowSpans)
|
|
24498
|
+
: [...rowSpans];
|
|
24499
|
+
rowProjection.forEach((span, rowIndex) => {
|
|
24500
|
+
projected[row[rowIndex].index] = span;
|
|
24501
|
+
});
|
|
24502
|
+
visualRows.push({
|
|
24503
|
+
candidateIndexes: row.map((entry) => entry.index),
|
|
24504
|
+
canonicalSpans: rowSpans,
|
|
24505
|
+
projectedSpans: rowProjection,
|
|
24506
|
+
});
|
|
24507
|
+
};
|
|
24508
|
+
for (let index = 0; index < visualCandidates.length; index += 1) {
|
|
24509
|
+
const span = visualCandidates[index].span;
|
|
24510
|
+
if (visualRowSpan > 0 && visualRowSpan + span > 12) {
|
|
24511
|
+
projectVisualRow(index);
|
|
24512
|
+
visualRowStart = index;
|
|
24513
|
+
visualRowSpan = 0;
|
|
24514
|
+
}
|
|
24515
|
+
visualRowSpan += span;
|
|
24516
|
+
}
|
|
24517
|
+
projectVisualRow(visualCandidates.length);
|
|
24518
|
+
return { spans: projected, visualRows };
|
|
24519
|
+
}
|
|
24291
24520
|
function resolveGroupedCommandPartialRowSpans(candidates, strategy = 'preserve') {
|
|
24292
|
-
|
|
24293
|
-
|
|
24294
|
-
|
|
24521
|
+
return projectGroupedCommandPartialRows(candidates, strategy).spans;
|
|
24522
|
+
}
|
|
24523
|
+
function fillGroupedCommandVisualRow(candidates, rowSpans) {
|
|
24524
|
+
const resolved = [...rowSpans];
|
|
24525
|
+
if (resolved.length === 1) {
|
|
24526
|
+
return [isGroupedCommandExpansionEligible(candidates[0]) ? 12 : resolved[0]];
|
|
24527
|
+
}
|
|
24295
24528
|
let remaining = 12 - resolved.reduce((total, span) => total + span, 0);
|
|
24296
24529
|
if (remaining <= 0)
|
|
24297
24530
|
return resolved;
|
|
@@ -24319,6 +24552,9 @@ function clampGridSpan(value) {
|
|
|
24319
24552
|
return 12;
|
|
24320
24553
|
return Math.max(1, Math.min(12, Math.round(value)));
|
|
24321
24554
|
}
|
|
24555
|
+
function normalizeCandidateOrder(value) {
|
|
24556
|
+
return typeof value === 'number' && Number.isFinite(value) ? Math.round(value) : 0;
|
|
24557
|
+
}
|
|
24322
24558
|
function nextCanonicalGroupedCommandSpan(span) {
|
|
24323
24559
|
return GROUPED_COMMAND_CANONICAL_SPANS.find((candidate) => candidate > span) ?? null;
|
|
24324
24560
|
}
|
|
@@ -41673,7 +41909,7 @@ class PraxisRelatedResourceOutletComponent {
|
|
|
41673
41909
|
const discovery = this.injector.get(ResourceDiscoveryService);
|
|
41674
41910
|
const catalog$ = discoverySource
|
|
41675
41911
|
? discovery.getSurfaces(discoverySource, options)
|
|
41676
|
-
: discovery.
|
|
41912
|
+
: discovery.getSurfaces({ surfaces: { href: href } }, options);
|
|
41677
41913
|
this.discoverySubscription = catalog$.subscribe({
|
|
41678
41914
|
next: (response) => {
|
|
41679
41915
|
if (this.discoveryRequestKey !== requestKey) {
|
|
@@ -43585,4 +43821,4 @@ function provideHookWhitelist(allowed) {
|
|
|
43585
43821
|
* Generated bundle index. Do not edit.
|
|
43586
43822
|
*/
|
|
43587
43823
|
|
|
43588
|
-
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, ComponentKeyService, ComponentMetadataRegistry, CompositionRuntimeFacade, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_TABLE_CONFIG, DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK, DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DomainCatalogService, DomainKnowledgeService, DomainRuleService, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, 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_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_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, 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, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$2 as applyLocalCustomizations, applyLocalCustomizations$1 as applyLocalFormCustomizations, assertPraxisCollectionExportArtifact, assertPraxisRuntimeComponentObservationSerializable, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, 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, getGlobalActionUiSchema, getMissingGlobalActionPayloadKeys, getPraxisTableCellVisualizationConstraint, getPraxisTableCellVisualizationGuidance, getReferencedFieldMetadata, getRequiredGlobalActionPayloadKeys, getTextTransformer, hasMeaningfulGlobalActionPayloadValue, hasPraxisCollectionExportArtifact, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isEntityLookupMultiplePayloadMode, isEntityLookupPayloadMode, isEntityLookupPayloadModeCompatible, isEntityLookupResultSelectable, isEntityLookupSinglePayloadMode, isFormLayoutItem, isGlobalActionRef, isInlineFilterControlType, isLookupDialogSize, isLookupFilterFieldType, isLookupFilterOperator, isPraxisI18nMessageDescriptor, isPraxisPresentationVisualizationTableSafe, isPraxisRuntimeGlobalActionEffect, isProgrammaticDateRangePreset, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isStaticDateRangePreset, isSurfaceNavigationError, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, materializeFormLayoutFromMetadata, materializeResourceIdentity, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldAccessMetadata, normalizeFieldConstraints, normalizeFieldPresentation, normalizeFormConfig, normalizeFormLayoutItems, normalizeFormMetadata, normalizeGlobalActionRef$1 as normalizeGlobalActionRef, normalizeLayoutPolicy, normalizeLookupFilterRequest, normalizePath, normalizePraxisDataQueryContext, normalizePraxisEffectPolicy, normalizePraxisPresentationVisualization, normalizePraxisQueryFilterExpression, normalizePraxisQueryFilterNode, normalizeResourceAvailabilityReasonCode, normalizeResourceIdentityContract, normalizeStart, normalizeSurfaceOperationContext, normalizeUnknownError, normalizeWidgetEventPath, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, 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, 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 };
|
|
43824
|
+
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, ComponentKeyService, ComponentMetadataRegistry, CompositionRuntimeFacade, ConsoleLoggerSink, CrudOperationResolutionService, DEFAULT_FIELD_SELECTOR_CONTROL_TYPE_MAP, DEFAULT_JSON_LOGIC_OPERATORS, DEFAULT_TABLE_CONFIG, DOMAIN_CATALOG_COMPONENT_CONTEXT_PACK, DOMAIN_CATALOG_CONTEXT_HINT_SCHEMA_VERSION, DYNAMIC_PAGE_AI_CAPABILITIES, DYNAMIC_PAGE_COMPONENT_CONTEXT_PACK, DYNAMIC_PAGE_CONFIG_EDITOR, DYNAMIC_PAGE_SHELL_EDITOR, DefaultLoadingRenderer, DeferredAsyncConfigStorage, DomainCatalogService, DomainKnowledgeService, DomainRuleService, DynamicFormService, DynamicWidgetLoaderDirective, DynamicWidgetPageComponent, EDITORIAL_ALLOWED_CONTENT_FORMATS, EDITORIAL_COMPLIANCE_PRESETS, EDITORIAL_EXTERNAL_LINK_REL, EDITORIAL_FORM_TEMPLATE_CATALOG, EDITORIAL_HTML_ENABLED, EDITORIAL_MARKDOWN_IMAGES_ENABLED, EDITORIAL_SOLUTION_CATALOG, EDITORIAL_SOLUTION_PRESETS, EDITORIAL_THEME_PRESETS, EDITORIAL_WIDGET_CONVENTION_INPUTS, EDITORIAL_WIDGET_TAG, EMPLOYEE_ONBOARDING_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_EDITORIAL_TEMPLATE, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_SOLUTION, EMPLOYEE_ONBOARDING_GUIDED_EDITORIAL_TEMPLATE, EVENT_REGISTRATION_EDITORIAL_SOLUTION, EVENT_REGISTRATION_EDITORIAL_TEMPLATE, EmptyStateCardComponent, 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_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_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, 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, WidgetPageStateRuntimeService, WidgetShellComponent, applyLocalCustomizations$2 as applyLocalCustomizations, applyLocalCustomizations$1 as applyLocalFormCustomizations, assertPraxisCollectionExportArtifact, assertPraxisRuntimeComponentObservationSerializable, buildAngularValidators, buildApiUrl, buildBaseColumnFromDef, buildBaseFormField, buildFormConfigFromEditorialTemplate, buildHeaders, buildPageKey, 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, getGlobalActionUiSchema, getMissingGlobalActionPayloadKeys, getPraxisTableCellVisualizationConstraint, getPraxisTableCellVisualizationGuidance, getReferencedFieldMetadata, getRequiredGlobalActionPayloadKeys, getTextTransformer, hasMeaningfulGlobalActionPayloadValue, hasPraxisCollectionExportArtifact, interpolatePraxisTranslation, isAllowedEditorialContentFormat, isAllowedEditorialHref, isCssTextTransform, isEditorialComponentMeta, isEntityLookupMultiplePayloadMode, isEntityLookupPayloadMode, isEntityLookupPayloadModeCompatible, isEntityLookupResultSelectable, isEntityLookupSinglePayloadMode, isFormLayoutItem, isGlobalActionRef, isInlineFilterControlType, isLookupDialogSize, isLookupFilterFieldType, isLookupFilterOperator, isPraxisI18nMessageDescriptor, isPraxisPresentationVisualizationTableSafe, isPraxisRuntimeGlobalActionEffect, isProgrammaticDateRangePreset, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isStaticDateRangePreset, isSurfaceNavigationError, isTableConfigV2, isValidFormConfig, isValidTableConfig, legacyCnpjValidator, legacyCpfValidator, logOnErrorHook, mapFieldDefinitionToMetadata, mapFieldDefinitionsToMetadata, matchFieldValidator, materializeFormLayoutFromMetadata, materializeResourceIdentity, maxFileSizeValidator, mergeFieldMetadata, mergePraxisI18nConfigs, mergeTableConfigs, migrateFormLayoutRule, migrateLegacyCompositionLink, migrateLegacyCompositionLinks, minWordsValidator, normalizeControlTypeKey, normalizeControlTypeToken, normalizeEditorialLink, normalizeEnd, normalizeFieldAccessMetadata, normalizeFieldConstraints, normalizeFieldPresentation, normalizeFormConfig, normalizeFormEffects, normalizeFormLayoutItems, normalizeFormMetadata, normalizeGlobalActionRef$1 as normalizeGlobalActionRef, normalizeLayoutPolicy, normalizeLookupFilterRequest, normalizePath, normalizePraxisDataQueryContext, normalizePraxisEffectPolicy, normalizePraxisPresentationVisualization, normalizePraxisQueryFilterExpression, normalizePraxisQueryFilterNode, normalizeResourceAvailabilityReasonCode, normalizeResourceIdentityContract, normalizeStart, normalizeSurfaceOperationContext, normalizeUnknownError, normalizeWidgetEventPath, notifySuccessHook, parseJsonResponseOrEmpty, praxisLoadingInterceptorFn, prefillFromContextHook, 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, 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 };
|
package/package.json
CHANGED