@praxisui/core 9.0.5-rc.1 → 9.0.5-rc.11
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 +270 -27
- package/package.json +1 -1
- package/types/praxisui-core.d.ts +152 -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
|
|
|
@@ -2556,15 +2556,22 @@ class SchemaNormalizerService {
|
|
|
2556
2556
|
const key = String(raw.key ?? '').trim();
|
|
2557
2557
|
const kind = String(raw.kind ?? '').trim();
|
|
2558
2558
|
const minSearchChars = Number(raw.minSearchChars);
|
|
2559
|
+
const inputFormat = String(raw.inputFormat ?? 'text').trim();
|
|
2559
2560
|
if (!key ||
|
|
2560
2561
|
seenKeys.has(key) ||
|
|
2561
2562
|
!LOOKUP_SEARCH_STRATEGY_KINDS.has(kind) ||
|
|
2563
|
+
!['text', 'digits'].includes(inputFormat) ||
|
|
2562
2564
|
!Number.isInteger(minSearchChars) ||
|
|
2563
2565
|
minSearchChars < 1) {
|
|
2564
2566
|
return undefined;
|
|
2565
2567
|
}
|
|
2566
2568
|
seenKeys.add(key);
|
|
2567
|
-
return {
|
|
2569
|
+
return {
|
|
2570
|
+
key,
|
|
2571
|
+
kind,
|
|
2572
|
+
minSearchChars,
|
|
2573
|
+
...(inputFormat === 'digits' ? { inputFormat } : {}),
|
|
2574
|
+
};
|
|
2568
2575
|
})
|
|
2569
2576
|
.filter((item) => !!item);
|
|
2570
2577
|
if (searchStrategies.length) {
|
|
@@ -13805,6 +13812,7 @@ class ResourceDiscoveryService {
|
|
|
13805
13812
|
http = inject(HttpClient);
|
|
13806
13813
|
schemaNormalizer = inject(SchemaNormalizerService);
|
|
13807
13814
|
apiUrlConfig = inject(API_URL);
|
|
13815
|
+
surfaceCatalogInFlightByHref = new Map();
|
|
13808
13816
|
getLinks(source, rel) {
|
|
13809
13817
|
const candidate = this.extractLinks(source)?.[rel];
|
|
13810
13818
|
if (!candidate) {
|
|
@@ -13826,7 +13834,19 @@ class ResourceDiscoveryService {
|
|
|
13826
13834
|
return this.fetchJson(this.requireLinkHref(source, rel, options), options);
|
|
13827
13835
|
}
|
|
13828
13836
|
getSurfaces(source, options) {
|
|
13829
|
-
|
|
13837
|
+
const href = this.requireLinkHref(source, 'surfaces', options);
|
|
13838
|
+
const existing = this.surfaceCatalogInFlightByHref.get(href);
|
|
13839
|
+
if (existing) {
|
|
13840
|
+
return existing;
|
|
13841
|
+
}
|
|
13842
|
+
let request;
|
|
13843
|
+
request = this.fetchJson(href, options).pipe(finalize$1(() => {
|
|
13844
|
+
if (this.surfaceCatalogInFlightByHref.get(href) === request) {
|
|
13845
|
+
this.surfaceCatalogInFlightByHref.delete(href);
|
|
13846
|
+
}
|
|
13847
|
+
}), shareReplay$1({ bufferSize: 1, refCount: true }));
|
|
13848
|
+
this.surfaceCatalogInFlightByHref.set(href, request);
|
|
13849
|
+
return request;
|
|
13830
13850
|
}
|
|
13831
13851
|
getActions(source, options) {
|
|
13832
13852
|
return this.followLink(source, 'actions', options);
|
|
@@ -14149,7 +14169,7 @@ const SURFACE_OPEN_PRESETS = [
|
|
|
14149
14169
|
* Invalid roles are omitted and a completely empty context resolves to `null`.
|
|
14150
14170
|
*/
|
|
14151
14171
|
function normalizeSurfaceOperationContext(value) {
|
|
14152
|
-
if (!isRecord$
|
|
14172
|
+
if (!isRecord$3(value))
|
|
14153
14173
|
return null;
|
|
14154
14174
|
const taskScope = normalizeResourceRef(value['taskScope']);
|
|
14155
14175
|
const subject = normalizeResourceRef(value['subject']);
|
|
@@ -14163,7 +14183,7 @@ function normalizeSurfaceOperationContext(value) {
|
|
|
14163
14183
|
};
|
|
14164
14184
|
}
|
|
14165
14185
|
function normalizeResourceRef(value) {
|
|
14166
|
-
if (!isRecord$
|
|
14186
|
+
if (!isRecord$3(value))
|
|
14167
14187
|
return undefined;
|
|
14168
14188
|
const resourceKey = normalizeText(value['resourceKey']);
|
|
14169
14189
|
const resourceId = normalizeResourceId(value['resourceId']);
|
|
@@ -14177,7 +14197,7 @@ function normalizeResourceRef(value) {
|
|
|
14177
14197
|
};
|
|
14178
14198
|
}
|
|
14179
14199
|
function normalizeRelationship(value) {
|
|
14180
|
-
if (!isRecord$
|
|
14200
|
+
if (!isRecord$3(value))
|
|
14181
14201
|
return undefined;
|
|
14182
14202
|
const surfaceId = normalizeText(value['surfaceId']);
|
|
14183
14203
|
const childResourceKey = normalizeText(value['childResourceKey']);
|
|
@@ -14191,7 +14211,7 @@ function normalizeRelationship(value) {
|
|
|
14191
14211
|
};
|
|
14192
14212
|
}
|
|
14193
14213
|
function normalizeIdentity(value) {
|
|
14194
|
-
if (!isRecord$
|
|
14214
|
+
if (!isRecord$3(value) || !Array.isArray(value['metadata']))
|
|
14195
14215
|
return undefined;
|
|
14196
14216
|
const key = normalizeIdentityPart(value['key']);
|
|
14197
14217
|
const title = normalizeIdentityPart(value['title']);
|
|
@@ -14214,7 +14234,7 @@ function normalizeIdentity(value) {
|
|
|
14214
14234
|
};
|
|
14215
14235
|
}
|
|
14216
14236
|
function normalizeIdentityPart(value) {
|
|
14217
|
-
if (!isRecord$
|
|
14237
|
+
if (!isRecord$3(value))
|
|
14218
14238
|
return undefined;
|
|
14219
14239
|
const field = normalizeText(value['field']);
|
|
14220
14240
|
const partValue = normalizeDisplayValue(value['value']);
|
|
@@ -14237,11 +14257,11 @@ function normalizeDisplayValue(value) {
|
|
|
14237
14257
|
return typeof value === 'boolean' ? value : undefined;
|
|
14238
14258
|
}
|
|
14239
14259
|
function cloneJsonRecord(value) {
|
|
14240
|
-
if (!isRecord$
|
|
14260
|
+
if (!isRecord$3(value))
|
|
14241
14261
|
return undefined;
|
|
14242
14262
|
try {
|
|
14243
14263
|
const cloned = JSON.parse(JSON.stringify(value));
|
|
14244
|
-
return isRecord$
|
|
14264
|
+
return isRecord$3(cloned) ? cloned : undefined;
|
|
14245
14265
|
}
|
|
14246
14266
|
catch {
|
|
14247
14267
|
return undefined;
|
|
@@ -14261,7 +14281,7 @@ function normalizeText(value) {
|
|
|
14261
14281
|
const normalized = value.trim();
|
|
14262
14282
|
return normalized || undefined;
|
|
14263
14283
|
}
|
|
14264
|
-
function isRecord$
|
|
14284
|
+
function isRecord$3(value) {
|
|
14265
14285
|
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
14266
14286
|
}
|
|
14267
14287
|
|
|
@@ -15222,6 +15242,7 @@ const INTAKE_HREF = '/api/praxis/config/domain-rules/intake';
|
|
|
15222
15242
|
const SIMULATIONS_HREF = '/api/praxis/config/domain-rules/simulations';
|
|
15223
15243
|
const PUBLICATIONS_HREF = '/api/praxis/config/domain-rules/publications';
|
|
15224
15244
|
const MATERIALIZATIONS_HREF = '/api/praxis/config/domain-rules/materializations';
|
|
15245
|
+
const SNAPSHOTS_HREF = '/api/praxis/config/domain-rules/snapshots';
|
|
15225
15246
|
class DomainRuleService {
|
|
15226
15247
|
http = inject(HttpClient);
|
|
15227
15248
|
discovery = inject(ResourceDiscoveryService);
|
|
@@ -15261,6 +15282,47 @@ class DomainRuleService {
|
|
|
15261
15282
|
transitionMaterializationStatus(materializationId, request, options = {}) {
|
|
15262
15283
|
return this.http.patch(this.discovery.resolveHref(`${MATERIALIZATIONS_HREF}/${encodeURIComponent(materializationId)}/status`, options), request, { headers: this.resolveHeaders(options) });
|
|
15263
15284
|
}
|
|
15285
|
+
listSnapshotVersions(ruleSetKey, limit = 50, options = {}) {
|
|
15286
|
+
return this.http.get(this.discovery.resolveHref(SNAPSHOTS_HREF, options), {
|
|
15287
|
+
params: new HttpParams()
|
|
15288
|
+
.set('ruleSetKey', ruleSetKey)
|
|
15289
|
+
.set('limit', String(limit)),
|
|
15290
|
+
headers: this.resolveHeaders(options),
|
|
15291
|
+
});
|
|
15292
|
+
}
|
|
15293
|
+
getSnapshotHeadStatus(ruleSetKey, options = {}) {
|
|
15294
|
+
return this.http.get(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/head/status`, options), {
|
|
15295
|
+
params: new HttpParams().set('ruleSetKey', ruleSetKey),
|
|
15296
|
+
headers: this.resolveHeaders(options),
|
|
15297
|
+
});
|
|
15298
|
+
}
|
|
15299
|
+
getSnapshotHead(ruleSetKey, options = {}) {
|
|
15300
|
+
return this.http.get(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/head`, options), {
|
|
15301
|
+
params: new HttpParams().set('ruleSetKey', ruleSetKey),
|
|
15302
|
+
headers: this.resolveHeaders(options),
|
|
15303
|
+
});
|
|
15304
|
+
}
|
|
15305
|
+
prepareSnapshotComposition(request, options = {}) {
|
|
15306
|
+
return this.http.post(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/composition-manifest`, options), request, { headers: this.resolveHeaders(options) });
|
|
15307
|
+
}
|
|
15308
|
+
approveSnapshotComposition(request, options = {}) {
|
|
15309
|
+
return this.http.post(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/composition-approvals`, options), request, { headers: this.resolveHeaders(options) });
|
|
15310
|
+
}
|
|
15311
|
+
publishSnapshot(request, currentHeadEtag, options = {}) {
|
|
15312
|
+
let headers = this.resolveHeaders(options) ?? new HttpHeaders();
|
|
15313
|
+
headers = currentHeadEtag
|
|
15314
|
+
? headers.set('If-Match', this.strongEntityTag(currentHeadEtag))
|
|
15315
|
+
: headers.set('If-None-Match', '*');
|
|
15316
|
+
return this.http.post(this.discovery.resolveHref(SNAPSHOTS_HREF, options), request, { headers });
|
|
15317
|
+
}
|
|
15318
|
+
activateSnapshot(snapshotKey, headEtag, options = {}) {
|
|
15319
|
+
const resolved = this.resolveHeaders(options) ?? new HttpHeaders();
|
|
15320
|
+
return this.http.post(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/${encodeURIComponent(snapshotKey)}/activate`, options), null, { headers: resolved.set('If-Match', this.strongEntityTag(headEtag)) });
|
|
15321
|
+
}
|
|
15322
|
+
rollbackSnapshot(snapshotKey, headEtag, options = {}) {
|
|
15323
|
+
const resolved = this.resolveHeaders(options) ?? new HttpHeaders();
|
|
15324
|
+
return this.http.post(this.discovery.resolveHref(`${SNAPSHOTS_HREF}/${encodeURIComponent(snapshotKey)}/rollback`, options), null, { headers: resolved.set('If-Match', this.strongEntityTag(headEtag)) });
|
|
15325
|
+
}
|
|
15264
15326
|
buildParams(filters) {
|
|
15265
15327
|
let params = new HttpParams();
|
|
15266
15328
|
Object.entries(filters).forEach(([key, value]) => {
|
|
@@ -15270,6 +15332,15 @@ class DomainRuleService {
|
|
|
15270
15332
|
});
|
|
15271
15333
|
return params;
|
|
15272
15334
|
}
|
|
15335
|
+
strongEntityTag(value) {
|
|
15336
|
+
const trimmed = value.trim();
|
|
15337
|
+
if (/^"[^"\r\n]*"$/.test(trimmed))
|
|
15338
|
+
return trimmed;
|
|
15339
|
+
if (!trimmed || /["\r\n,]/.test(trimmed) || /^W\//i.test(trimmed)) {
|
|
15340
|
+
throw new Error('The mutable-head ETag is not a valid strong entity tag.');
|
|
15341
|
+
}
|
|
15342
|
+
return `"${trimmed}"`;
|
|
15343
|
+
}
|
|
15273
15344
|
resolveHeaders(options) {
|
|
15274
15345
|
if (options.headers instanceof HttpHeaders) {
|
|
15275
15346
|
return options.headers;
|
|
@@ -17840,7 +17911,7 @@ function normalizeUnknownError(rawError) {
|
|
|
17840
17911
|
if (typeof candidate === 'string') {
|
|
17841
17912
|
return normalizeFromParts('Error', candidate);
|
|
17842
17913
|
}
|
|
17843
|
-
if (isRecord$
|
|
17914
|
+
if (isRecord$2(candidate)) {
|
|
17844
17915
|
const name = toText(candidate['name'], 'Error');
|
|
17845
17916
|
const message = toText(candidate['message'], safeStringify(candidate));
|
|
17846
17917
|
const stack = toStack(candidate['stack']);
|
|
@@ -17859,7 +17930,7 @@ function extractErrorCandidate(data) {
|
|
|
17859
17930
|
if (data instanceof Error || typeof data === 'string') {
|
|
17860
17931
|
return data;
|
|
17861
17932
|
}
|
|
17862
|
-
if (!isRecord$
|
|
17933
|
+
if (!isRecord$2(data)) {
|
|
17863
17934
|
return undefined;
|
|
17864
17935
|
}
|
|
17865
17936
|
if ('error' in data) {
|
|
@@ -17877,7 +17948,7 @@ function extractErrorCandidate(data) {
|
|
|
17877
17948
|
return undefined;
|
|
17878
17949
|
}
|
|
17879
17950
|
function unwrapRejection(error) {
|
|
17880
|
-
if (!isRecord$
|
|
17951
|
+
if (!isRecord$2(error)) {
|
|
17881
17952
|
return error;
|
|
17882
17953
|
}
|
|
17883
17954
|
if ('rejection' in error) {
|
|
@@ -17937,7 +18008,7 @@ function safeStringify(value) {
|
|
|
17937
18008
|
return UNKNOWN_ERROR_MESSAGE;
|
|
17938
18009
|
}
|
|
17939
18010
|
}
|
|
17940
|
-
function isRecord$
|
|
18011
|
+
function isRecord$2(value) {
|
|
17941
18012
|
return !!value && typeof value === 'object';
|
|
17942
18013
|
}
|
|
17943
18014
|
|
|
@@ -20864,6 +20935,127 @@ function convertFormLayoutToConfig(formLayout) {
|
|
|
20864
20935
|
return ensureIds({ sections });
|
|
20865
20936
|
}
|
|
20866
20937
|
|
|
20938
|
+
/** Strictly normalizes the closed x-ui.formEffects payload. Invalid entries are ignored. */
|
|
20939
|
+
function normalizeFormEffects(value) {
|
|
20940
|
+
if (!Array.isArray(value)) {
|
|
20941
|
+
return [];
|
|
20942
|
+
}
|
|
20943
|
+
return value
|
|
20944
|
+
.map((candidate) => normalizeFormEffect(candidate))
|
|
20945
|
+
.filter((candidate) => candidate !== null);
|
|
20946
|
+
}
|
|
20947
|
+
function normalizeFormEffect(value) {
|
|
20948
|
+
if (!isRecord$1(value) || !hasOnlyKeys(value, ['id', 'trigger', 'operation', 'inputs', 'outputs'])) {
|
|
20949
|
+
return null;
|
|
20950
|
+
}
|
|
20951
|
+
const id = nonBlank(value['id']);
|
|
20952
|
+
const trigger = normalizeTrigger(value['trigger']);
|
|
20953
|
+
const operation = normalizeOperation(value['operation']);
|
|
20954
|
+
const inputs = normalizeInputs(value['inputs']);
|
|
20955
|
+
const outputs = normalizeOutputs(value['outputs']);
|
|
20956
|
+
if (!id || !trigger || !operation || !inputs.length || !outputs.length) {
|
|
20957
|
+
return null;
|
|
20958
|
+
}
|
|
20959
|
+
return { id, trigger, operation, inputs, outputs };
|
|
20960
|
+
}
|
|
20961
|
+
function normalizeTrigger(value) {
|
|
20962
|
+
if (!isRecord$1(value) || !hasOnlyKeys(value, ['event', 'fields', 'debounceMs', 'requiresValidSources'])) {
|
|
20963
|
+
return null;
|
|
20964
|
+
}
|
|
20965
|
+
const fields = stringArray(value['fields']);
|
|
20966
|
+
const debounceMs = value['debounceMs'];
|
|
20967
|
+
if (value['event'] !== 'value-change' ||
|
|
20968
|
+
!fields.length ||
|
|
20969
|
+
typeof debounceMs !== 'number' ||
|
|
20970
|
+
!Number.isInteger(debounceMs) ||
|
|
20971
|
+
debounceMs < 0 ||
|
|
20972
|
+
debounceMs > 60_000 ||
|
|
20973
|
+
typeof value['requiresValidSources'] !== 'boolean') {
|
|
20974
|
+
return null;
|
|
20975
|
+
}
|
|
20976
|
+
return {
|
|
20977
|
+
event: 'value-change',
|
|
20978
|
+
fields,
|
|
20979
|
+
debounceMs,
|
|
20980
|
+
requiresValidSources: value['requiresValidSources'],
|
|
20981
|
+
};
|
|
20982
|
+
}
|
|
20983
|
+
function normalizeOperation(value) {
|
|
20984
|
+
if (!isRecord$1(value) ||
|
|
20985
|
+
!hasOnlyKeys(value, ['operationId', 'path', 'method', 'requestSchemaUrl', 'responseSchemaUrl'])) {
|
|
20986
|
+
return null;
|
|
20987
|
+
}
|
|
20988
|
+
const operationId = nonBlank(value['operationId']);
|
|
20989
|
+
const path = nonBlank(value['path']);
|
|
20990
|
+
const requestSchemaUrl = nonBlank(value['requestSchemaUrl']);
|
|
20991
|
+
const responseSchemaUrl = nonBlank(value['responseSchemaUrl']);
|
|
20992
|
+
if (!operationId ||
|
|
20993
|
+
!path?.startsWith('/') ||
|
|
20994
|
+
value['method'] !== 'POST' ||
|
|
20995
|
+
!requestSchemaUrl?.startsWith('/schemas/filtered?') ||
|
|
20996
|
+
!responseSchemaUrl?.startsWith('/schemas/filtered?')) {
|
|
20997
|
+
return null;
|
|
20998
|
+
}
|
|
20999
|
+
return { operationId, path, method: 'POST', requestSchemaUrl, responseSchemaUrl };
|
|
21000
|
+
}
|
|
21001
|
+
function normalizeInputs(value) {
|
|
21002
|
+
if (!Array.isArray(value))
|
|
21003
|
+
return [];
|
|
21004
|
+
const result = [];
|
|
21005
|
+
const operationFields = new Set();
|
|
21006
|
+
for (const item of value) {
|
|
21007
|
+
if (!isRecord$1(item) || !hasOnlyKeys(item, ['formField', 'operationField']))
|
|
21008
|
+
return [];
|
|
21009
|
+
const formField = nonBlank(item['formField']);
|
|
21010
|
+
const operationField = nonBlank(item['operationField']);
|
|
21011
|
+
if (!formField || !operationField || operationFields.has(operationField))
|
|
21012
|
+
return [];
|
|
21013
|
+
operationFields.add(operationField);
|
|
21014
|
+
result.push({ formField, operationField });
|
|
21015
|
+
}
|
|
21016
|
+
return result;
|
|
21017
|
+
}
|
|
21018
|
+
function normalizeOutputs(value) {
|
|
21019
|
+
if (!Array.isArray(value))
|
|
21020
|
+
return [];
|
|
21021
|
+
const result = [];
|
|
21022
|
+
const formFields = new Set();
|
|
21023
|
+
for (const item of value) {
|
|
21024
|
+
if (!isRecord$1(item) || !hasOnlyKeys(item, ['operationField', 'formField', 'writePolicy']))
|
|
21025
|
+
return [];
|
|
21026
|
+
const operationField = nonBlank(item['operationField']);
|
|
21027
|
+
const formField = nonBlank(item['formField']);
|
|
21028
|
+
const writePolicy = item['writePolicy'];
|
|
21029
|
+
if (!operationField ||
|
|
21030
|
+
!formField ||
|
|
21031
|
+
formFields.has(formField) ||
|
|
21032
|
+
(writePolicy !== 'if-pristine' && writePolicy !== 'if-empty' && writePolicy !== 'replace')) {
|
|
21033
|
+
return [];
|
|
21034
|
+
}
|
|
21035
|
+
formFields.add(formField);
|
|
21036
|
+
result.push({ operationField, formField, writePolicy });
|
|
21037
|
+
}
|
|
21038
|
+
return result;
|
|
21039
|
+
}
|
|
21040
|
+
function stringArray(value) {
|
|
21041
|
+
if (!Array.isArray(value))
|
|
21042
|
+
return [];
|
|
21043
|
+
const values = value.map(nonBlank);
|
|
21044
|
+
if (values.some((item) => !item))
|
|
21045
|
+
return [];
|
|
21046
|
+
return [...new Set(values)];
|
|
21047
|
+
}
|
|
21048
|
+
function nonBlank(value) {
|
|
21049
|
+
return typeof value === 'string' && value.trim() ? value.trim() : null;
|
|
21050
|
+
}
|
|
21051
|
+
function isRecord$1(value) {
|
|
21052
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
21053
|
+
}
|
|
21054
|
+
function hasOnlyKeys(value, allowed) {
|
|
21055
|
+
const allowedSet = new Set(allowed);
|
|
21056
|
+
return Object.keys(value).every((key) => allowedSet.has(key));
|
|
21057
|
+
}
|
|
21058
|
+
|
|
20867
21059
|
/**
|
|
20868
21060
|
* Materializes a concrete FormConfig from a reusable editorial template.
|
|
20869
21061
|
*
|
|
@@ -24284,14 +24476,62 @@ const GROUPED_COMMAND_FIXED_CONTROLS = new Set([
|
|
|
24284
24476
|
]);
|
|
24285
24477
|
const KNOWN_FIELD_CONTROL_TYPES = new Set(Object.values(FieldControlType));
|
|
24286
24478
|
/**
|
|
24287
|
-
*
|
|
24288
|
-
* inventing arbitrary spans.
|
|
24289
|
-
*
|
|
24479
|
+
* Projects every visual row produced by responsive wrapping and distributes
|
|
24480
|
+
* its remainder without inventing arbitrary spans. Effective CSS `order` is
|
|
24481
|
+
* respected and the input order is the deterministic tie-breaker. Unknown,
|
|
24482
|
+
* compact, upload and action controls remain unchanged.
|
|
24290
24483
|
*/
|
|
24484
|
+
function projectGroupedCommandPartialRows(candidates, strategy = 'preserve') {
|
|
24485
|
+
const visualCandidates = candidates
|
|
24486
|
+
.map((candidate, index) => ({
|
|
24487
|
+
candidate,
|
|
24488
|
+
index,
|
|
24489
|
+
span: clampGridSpan(candidate.span),
|
|
24490
|
+
order: normalizeCandidateOrder(candidate.order),
|
|
24491
|
+
}))
|
|
24492
|
+
.sort((left, right) => left.order - right.order || left.index - right.index);
|
|
24493
|
+
const projected = candidates.map((candidate) => clampGridSpan(candidate.span));
|
|
24494
|
+
const visualRows = [];
|
|
24495
|
+
let visualRowStart = 0;
|
|
24496
|
+
let visualRowSpan = 0;
|
|
24497
|
+
const projectVisualRow = (endExclusive) => {
|
|
24498
|
+
const row = visualCandidates.slice(visualRowStart, endExclusive);
|
|
24499
|
+
if (!row.length)
|
|
24500
|
+
return;
|
|
24501
|
+
const rowCandidates = row.map((entry) => entry.candidate);
|
|
24502
|
+
const rowSpans = row.map((entry) => entry.span);
|
|
24503
|
+
const rowProjection = strategy === 'fill-compatible' && candidates.length >= 2
|
|
24504
|
+
? fillGroupedCommandVisualRow(rowCandidates, rowSpans)
|
|
24505
|
+
: [...rowSpans];
|
|
24506
|
+
rowProjection.forEach((span, rowIndex) => {
|
|
24507
|
+
projected[row[rowIndex].index] = span;
|
|
24508
|
+
});
|
|
24509
|
+
visualRows.push({
|
|
24510
|
+
candidateIndexes: row.map((entry) => entry.index),
|
|
24511
|
+
canonicalSpans: rowSpans,
|
|
24512
|
+
projectedSpans: rowProjection,
|
|
24513
|
+
});
|
|
24514
|
+
};
|
|
24515
|
+
for (let index = 0; index < visualCandidates.length; index += 1) {
|
|
24516
|
+
const span = visualCandidates[index].span;
|
|
24517
|
+
if (visualRowSpan > 0 && visualRowSpan + span > 12) {
|
|
24518
|
+
projectVisualRow(index);
|
|
24519
|
+
visualRowStart = index;
|
|
24520
|
+
visualRowSpan = 0;
|
|
24521
|
+
}
|
|
24522
|
+
visualRowSpan += span;
|
|
24523
|
+
}
|
|
24524
|
+
projectVisualRow(visualCandidates.length);
|
|
24525
|
+
return { spans: projected, visualRows };
|
|
24526
|
+
}
|
|
24291
24527
|
function resolveGroupedCommandPartialRowSpans(candidates, strategy = 'preserve') {
|
|
24292
|
-
|
|
24293
|
-
|
|
24294
|
-
|
|
24528
|
+
return projectGroupedCommandPartialRows(candidates, strategy).spans;
|
|
24529
|
+
}
|
|
24530
|
+
function fillGroupedCommandVisualRow(candidates, rowSpans) {
|
|
24531
|
+
const resolved = [...rowSpans];
|
|
24532
|
+
if (resolved.length === 1) {
|
|
24533
|
+
return [isGroupedCommandExpansionEligible(candidates[0]) ? 12 : resolved[0]];
|
|
24534
|
+
}
|
|
24295
24535
|
let remaining = 12 - resolved.reduce((total, span) => total + span, 0);
|
|
24296
24536
|
if (remaining <= 0)
|
|
24297
24537
|
return resolved;
|
|
@@ -24319,6 +24559,9 @@ function clampGridSpan(value) {
|
|
|
24319
24559
|
return 12;
|
|
24320
24560
|
return Math.max(1, Math.min(12, Math.round(value)));
|
|
24321
24561
|
}
|
|
24562
|
+
function normalizeCandidateOrder(value) {
|
|
24563
|
+
return typeof value === 'number' && Number.isFinite(value) ? Math.round(value) : 0;
|
|
24564
|
+
}
|
|
24322
24565
|
function nextCanonicalGroupedCommandSpan(span) {
|
|
24323
24566
|
return GROUPED_COMMAND_CANONICAL_SPANS.find((candidate) => candidate > span) ?? null;
|
|
24324
24567
|
}
|
|
@@ -41673,7 +41916,7 @@ class PraxisRelatedResourceOutletComponent {
|
|
|
41673
41916
|
const discovery = this.injector.get(ResourceDiscoveryService);
|
|
41674
41917
|
const catalog$ = discoverySource
|
|
41675
41918
|
? discovery.getSurfaces(discoverySource, options)
|
|
41676
|
-
: discovery.
|
|
41919
|
+
: discovery.getSurfaces({ surfaces: { href: href } }, options);
|
|
41677
41920
|
this.discoverySubscription = catalog$.subscribe({
|
|
41678
41921
|
next: (response) => {
|
|
41679
41922
|
if (this.discoveryRequestKey !== requestKey) {
|
|
@@ -43585,4 +43828,4 @@ function provideHookWhitelist(allowed) {
|
|
|
43585
43828
|
* Generated bundle index. Do not edit.
|
|
43586
43829
|
*/
|
|
43587
43830
|
|
|
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 };
|
|
43831
|
+
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/core",
|
|
3
|
-
"version": "9.0.5-rc.
|
|
3
|
+
"version": "9.0.5-rc.11",
|
|
4
4
|
"description": "Core library for Praxis UI Workspace: types, tokens, services and utilities shared across @praxisui/* packages.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|