@praxisui/core 9.0.4-rc.1 → 9.0.4-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 +3 -1
- package/ai/component-registry.json +394 -83
- package/fesm2022/praxisui-core.mjs +271 -56
- package/package.json +1 -1
- package/types/praxisui-core.d.ts +90 -4
|
@@ -8600,6 +8600,14 @@ class GlobalActionService {
|
|
|
8600
8600
|
runtime.emitResult(this.toSurfaceResult(payload, 'result'));
|
|
8601
8601
|
return { success: true };
|
|
8602
8602
|
});
|
|
8603
|
+
this.register('surface.complete', async (payload, context) => {
|
|
8604
|
+
const runtime = this.resolveSurfaceRuntime(context);
|
|
8605
|
+
if (typeof runtime?.complete !== 'function') {
|
|
8606
|
+
return { success: false, error: 'Surface completion runtime not available' };
|
|
8607
|
+
}
|
|
8608
|
+
runtime.complete(this.toSurfaceOutcome(payload));
|
|
8609
|
+
return { success: true };
|
|
8610
|
+
});
|
|
8603
8611
|
this.register('dynamicPage.composition.dispatch', async (payload, context) => this.handleCompositionDispatch(payload, context));
|
|
8604
8612
|
this.register('toast.success', async (payload) => {
|
|
8605
8613
|
const message = payload?.message || payload;
|
|
@@ -8885,6 +8893,21 @@ class GlobalActionService {
|
|
|
8885
8893
|
});
|
|
8886
8894
|
});
|
|
8887
8895
|
}
|
|
8896
|
+
toSurfaceOutcome(payload) {
|
|
8897
|
+
const result = this.toSurfaceResult(payload, 'completed');
|
|
8898
|
+
const record = payload && typeof payload === 'object'
|
|
8899
|
+
? payload
|
|
8900
|
+
: {};
|
|
8901
|
+
const requestedKind = String(record['kind'] || 'completed');
|
|
8902
|
+
const kind = requestedKind === 'notification' || requestedKind === 'dismissed' || requestedKind === 'failed'
|
|
8903
|
+
? requestedKind
|
|
8904
|
+
: 'completed';
|
|
8905
|
+
return {
|
|
8906
|
+
...result,
|
|
8907
|
+
kind,
|
|
8908
|
+
type: String(record['type'] || 'completed'),
|
|
8909
|
+
};
|
|
8910
|
+
}
|
|
8888
8911
|
toSurfaceResult(payload, fallbackType) {
|
|
8889
8912
|
if (payload && typeof payload === 'object' && ('type' in payload || 'data' in payload)) {
|
|
8890
8913
|
return {
|
|
@@ -13884,6 +13907,36 @@ const SURFACE_OPEN_PRESETS = [
|
|
|
13884
13907
|
description: 'Abre um formulário dinâmico com resourcePath, formId e resourceId.',
|
|
13885
13908
|
payload: {
|
|
13886
13909
|
presentation: 'drawer',
|
|
13910
|
+
lifecycle: {
|
|
13911
|
+
outcomes: [
|
|
13912
|
+
{
|
|
13913
|
+
output: 'formSubmit',
|
|
13914
|
+
when: [{ path: 'stage', equals: 'after' }],
|
|
13915
|
+
outcome: { kind: 'completed', type: 'save', dataPath: 'result' },
|
|
13916
|
+
},
|
|
13917
|
+
{
|
|
13918
|
+
output: 'formSubmit',
|
|
13919
|
+
when: [{ path: 'stage', equals: 'error' }],
|
|
13920
|
+
outcome: { kind: 'failed', type: 'submit-error', errorPath: 'error' },
|
|
13921
|
+
},
|
|
13922
|
+
{
|
|
13923
|
+
output: 'formCancel',
|
|
13924
|
+
outcome: { kind: 'dismissed', type: 'cancel' },
|
|
13925
|
+
},
|
|
13926
|
+
{
|
|
13927
|
+
output: 'formReset',
|
|
13928
|
+
outcome: { kind: 'notification', type: 'reset' },
|
|
13929
|
+
},
|
|
13930
|
+
{
|
|
13931
|
+
output: 'customAction',
|
|
13932
|
+
outcome: { kind: 'notification', type: 'custom-action' },
|
|
13933
|
+
},
|
|
13934
|
+
{
|
|
13935
|
+
output: 'initializationError',
|
|
13936
|
+
outcome: { kind: 'failed', type: 'initialization-error', errorPath: 'error' },
|
|
13937
|
+
},
|
|
13938
|
+
],
|
|
13939
|
+
},
|
|
13887
13940
|
widget: {
|
|
13888
13941
|
id: 'praxis-dynamic-form',
|
|
13889
13942
|
bindingOrder: [
|
|
@@ -14975,6 +15028,7 @@ class ResourceActionOpenAdapterService {
|
|
|
14975
15028
|
availability: action.availability,
|
|
14976
15029
|
successMessage: action.successMessage ?? null,
|
|
14977
15030
|
tags: action.tags,
|
|
15031
|
+
execution: action.execution ?? null,
|
|
14978
15032
|
},
|
|
14979
15033
|
};
|
|
14980
15034
|
payload.widget.inputs = {
|
|
@@ -14989,6 +15043,9 @@ class ResourceActionOpenAdapterService {
|
|
|
14989
15043
|
submitUrl: resolvedSubmitUrl,
|
|
14990
15044
|
responseSchemaUrl: resolvedResponseSchemaUrl,
|
|
14991
15045
|
};
|
|
15046
|
+
if (options.initialValue) {
|
|
15047
|
+
payload.widget.inputs['initialValue'] = this.clone(options.initialValue);
|
|
15048
|
+
}
|
|
14992
15049
|
if (action.scope === 'ITEM') {
|
|
14993
15050
|
if (options.resourceId != null) {
|
|
14994
15051
|
payload.widget.inputs['resourceId'] = options.resourceId;
|
|
@@ -15003,6 +15060,7 @@ class ResourceActionOpenAdapterService {
|
|
|
15003
15060
|
throw new Error(`ResourceActionOpenAdapterService requires resourceId or idBindingPath for item action "${action.id}".`);
|
|
15004
15061
|
}
|
|
15005
15062
|
}
|
|
15063
|
+
this.applyExecutionInputs(payload, action, options);
|
|
15006
15064
|
return payload;
|
|
15007
15065
|
}
|
|
15008
15066
|
resolveDynamicFormPreset() {
|
|
@@ -15015,6 +15073,49 @@ class ResourceActionOpenAdapterService {
|
|
|
15015
15073
|
buildStableInstanceId(action) {
|
|
15016
15074
|
return `${action.resourceKey}.action.${action.id}`.replace(/[^a-zA-Z0-9._-]+/g, '-');
|
|
15017
15075
|
}
|
|
15076
|
+
applyExecutionInputs(payload, action, options) {
|
|
15077
|
+
const execution = action.execution;
|
|
15078
|
+
if (!execution) {
|
|
15079
|
+
payload.widget.inputs['submitIdempotencyKey'] = this.createCommandIdentity('idempotency');
|
|
15080
|
+
return;
|
|
15081
|
+
}
|
|
15082
|
+
const inputs = payload.widget.inputs;
|
|
15083
|
+
if (execution.preconditions.idempotencyKey !== 'NONE') {
|
|
15084
|
+
inputs['submitIdempotencyKey'] = this.createCommandIdentity('idempotency');
|
|
15085
|
+
}
|
|
15086
|
+
if (execution.preconditions.correlationId !== 'NONE') {
|
|
15087
|
+
inputs['submitCorrelationId'] =
|
|
15088
|
+
String(options.correlationId ?? '').trim() || this.createCommandIdentity('correlation');
|
|
15089
|
+
}
|
|
15090
|
+
if (execution.preconditions.resourceVersionTransport !== 'IF_MATCH') {
|
|
15091
|
+
return;
|
|
15092
|
+
}
|
|
15093
|
+
if (options.resourceVersion != null && String(options.resourceVersion).trim()) {
|
|
15094
|
+
inputs['submitResourceVersion'] = options.resourceVersion;
|
|
15095
|
+
return;
|
|
15096
|
+
}
|
|
15097
|
+
if (options.resourceVersionBindingPath) {
|
|
15098
|
+
payload.bindings = [
|
|
15099
|
+
...(payload.bindings || []),
|
|
15100
|
+
{
|
|
15101
|
+
from: options.resourceVersionBindingPath,
|
|
15102
|
+
to: 'widget.inputs.submitResourceVersion',
|
|
15103
|
+
mode: 'path',
|
|
15104
|
+
},
|
|
15105
|
+
];
|
|
15106
|
+
return;
|
|
15107
|
+
}
|
|
15108
|
+
if (execution.preconditions.resourceVersion === 'REQUIRED') {
|
|
15109
|
+
throw new Error(`ResourceActionOpenAdapterService requires resourceVersion or resourceVersionBindingPath for action "${action.id}".`);
|
|
15110
|
+
}
|
|
15111
|
+
}
|
|
15112
|
+
createIdempotencyKey() {
|
|
15113
|
+
const randomUuid = globalThis.crypto?.randomUUID?.bind(globalThis.crypto);
|
|
15114
|
+
return randomUuid ? randomUuid() : `praxis-action-${Date.now()}-${Math.random().toString(16).slice(2)}`;
|
|
15115
|
+
}
|
|
15116
|
+
createCommandIdentity(kind) {
|
|
15117
|
+
return `${kind}-${this.createIdempotencyKey()}`;
|
|
15118
|
+
}
|
|
15018
15119
|
normalizeResourcePath(resourcePath) {
|
|
15019
15120
|
return String(resourcePath || '').trim().replace(/^\/+/, '').replace(/\/+$/, '');
|
|
15020
15121
|
}
|
|
@@ -15860,8 +15961,15 @@ class SurfaceOpenMaterializerService {
|
|
|
15860
15961
|
const previousAi = this.objectRecord(previousConfig['ai']);
|
|
15861
15962
|
const previousAssistant = this.objectRecord(previousAi['assistant']);
|
|
15862
15963
|
const previousBehavior = this.objectRecord(previousConfig['behavior']);
|
|
15964
|
+
const previousColumns = Array.isArray(previousConfig['columns'])
|
|
15965
|
+
? previousConfig['columns']
|
|
15966
|
+
: [];
|
|
15863
15967
|
const generatedConfig = {
|
|
15864
|
-
columns:
|
|
15968
|
+
columns: previousColumns.length
|
|
15969
|
+
? previousColumns
|
|
15970
|
+
: schemaColumns.length
|
|
15971
|
+
? schemaColumns
|
|
15972
|
+
: fallbackColumns,
|
|
15865
15973
|
toolbar: toolbarActions.length
|
|
15866
15974
|
? {
|
|
15867
15975
|
...previousToolbar,
|
|
@@ -18821,6 +18929,10 @@ const PRAXIS_GLOBAL_ACTION_CATALOG = [
|
|
|
18821
18929
|
type: 'object',
|
|
18822
18930
|
description: 'Ação estruturada executada quando a surface emite um resultado semântico via surface.result.',
|
|
18823
18931
|
},
|
|
18932
|
+
lifecycle: {
|
|
18933
|
+
type: 'object',
|
|
18934
|
+
description: 'Política declarativa que converte outputs públicos do widget em outcomes de notificação, conclusão, cancelamento ou falha.',
|
|
18935
|
+
},
|
|
18824
18936
|
},
|
|
18825
18937
|
required: ['presentation', 'widget'],
|
|
18826
18938
|
example: {
|
|
@@ -18869,6 +18981,22 @@ const PRAXIS_GLOBAL_ACTION_CATALOG = [
|
|
|
18869
18981
|
example: { type: 'selection', data: { id: 42 } },
|
|
18870
18982
|
},
|
|
18871
18983
|
},
|
|
18984
|
+
{
|
|
18985
|
+
id: 'surface.complete',
|
|
18986
|
+
label: 'Concluir Surface',
|
|
18987
|
+
icon: 'task_alt',
|
|
18988
|
+
description: 'Publica um resultado terminal e fecha a surface atual atomicamente, garantindo uma única conclusão.',
|
|
18989
|
+
payloadSchema: {
|
|
18990
|
+
type: 'object',
|
|
18991
|
+
properties: {
|
|
18992
|
+
kind: { type: 'string', description: 'Tipo de outcome terminal; normalmente completed.' },
|
|
18993
|
+
type: { type: 'string', description: 'Tipo semântico da conclusão.' },
|
|
18994
|
+
data: { type: 'object', description: 'Dados devolvidos ao owner da surface.' },
|
|
18995
|
+
},
|
|
18996
|
+
required: ['type'],
|
|
18997
|
+
example: { kind: 'completed', type: 'save', data: { id: 42 } },
|
|
18998
|
+
},
|
|
18999
|
+
},
|
|
18872
19000
|
{
|
|
18873
19001
|
id: 'dynamicPage.composition.dispatch',
|
|
18874
19002
|
label: 'Despachar Evento de Composição',
|
|
@@ -30455,7 +30583,7 @@ class WidgetShellComponent {
|
|
|
30455
30583
|
@if (expanded || fullscreen) {
|
|
30456
30584
|
<div class="pdx-shell-backdrop" (click)="closeOverlay()"></div>
|
|
30457
30585
|
}
|
|
30458
|
-
`, isInline: true, styles: [":host{display:block;height:100%}:host(.pdx-widget-shell-collapsed){height:auto}.pdx-shell{position:relative;height:100%;display:flex;flex-direction:column}.pdx-shell.no-shell{background:transparent;border:none;border-radius:0;box-shadow:none}.pdx-shell.dashboard{background:var(--pdx-shell-card-bg, var(--pdx-dashboard-card-bg, var(--md-sys-color-surface-container-low)));border:1px solid var(--pdx-shell-card-border, var(--pdx-dashboard-card-border, var(--md-sys-color-outline-variant)));border-radius:var(--pdx-shell-card-radius, 12px);box-shadow:var(--pdx-shell-card-shadow, 0 4px 12px rgba(15, 23, 42, .06));overflow:hidden}.pdx-shell-header{display:flex;align-items:center;gap:10px;padding:8px 10px 7px;border-bottom:1px solid var(--pdx-shell-header-border, var(--md-sys-color-outline-variant));background:var(--pdx-shell-header-bg, var(--md-sys-color-surface-container))}.pdx-shell-header--drag-enabled{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.pdx-shell-header--drag-enabled:active{cursor:grabbing}.pdx-shell-header--drag-enabled:focus-visible{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary) 72%,white 28%);outline-offset:-2px}.pdx-shell-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--pdx-shell-title-color, inherit)}.pdx-shell-title mat-icon{color:var(--pdx-shell-icon-color, currentColor)}.pdx-shell-text{min-width:0}.pdx-shell-title-text{font-weight:var(--pdx-shell-title-weight, 600);font-size:var(--pdx-shell-title-size, 13px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-subtitle{font-size:var(--pdx-shell-subtitle-size, 11px);opacity:.75;color:var(--pdx-shell-subtitle-color, currentColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-actions,.pdx-shell-window-actions{display:flex;align-items:center;gap:4px}.pdx-shell-window-actions{margin-left:auto}.pdx-action-outlined{border:1px solid var(--md-sys-color-outline-variant);border-radius:999px;padding:0 10px}.pdx-action-text{padding:0 8px}.pdx-shell-action--pressed:not(.praxis-icon-button){color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent)}.pdx-action-label{font-size:12px;font-weight:500}.pdx-shell-body{flex:1;min-height:0;padding:var(--pdx-shell-body-padding, 8px 10px 10px 10px);background:var(--pdx-shell-body-bg, transparent);color:var(--pdx-shell-body-color, inherit)}.pdx-shell.no-shell .pdx-shell-body{padding:0}.pdx-shell-body.hidden{display:none}.pdx-shell.collapsed{height:auto}.pdx-shell.collapsed .pdx-shell-header{border-bottom-color:transparent}.pdx-shell.body-fill .pdx-shell-body,.pdx-shell.body-scroll .pdx-shell-body,.pdx-shell.expanded .pdx-shell-body,.pdx-shell.fullscreen .pdx-shell-body{overflow:auto;display:flex;flex-direction:column;min-height:0}.pdx-shell.collapsed .pdx-shell-body{display:none}.pdx-shell.body-fill .pdx-shell-body{overflow:hidden}.pdx-shell.body-scroll .pdx-shell-body{overflow:auto}.pdx-shell.body-fill .pdx-shell-body>*,.pdx-shell.body-scroll .pdx-shell-body>*,.pdx-shell.expanded .pdx-shell-body>*,.pdx-shell.fullscreen .pdx-shell-body>*{flex:1 1 auto;min-height:0;width:100%}.pdx-shell.expanded{position:fixed;top:10vh;left:50%;width:min(920px,92vw);height:min(640px,82vh);transform:translate(-50%);z-index:var(--praxis-layer-widget-shell-expanded, 1290);box-shadow:var(--mat-elevation-level8)}.pdx-shell.fullscreen{position:fixed;inset:0;width:auto;height:auto;transform:none;border-radius:0;z-index:var(--praxis-layer-widget-shell-fullscreen, 1291);box-shadow:var(--mat-elevation-level8)}.pdx-shell-backdrop{position:fixed;inset:0;z-index:var(--praxis-layer-widget-shell-backdrop, 1280);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30586
|
+
`, isInline: true, styles: [":host{display:block;height:100%}:host(.pdx-widget-shell-collapsed){height:auto}.pdx-shell{position:relative;height:100%;display:flex;flex-direction:column}.pdx-shell.no-shell{background:transparent;border:none;border-radius:0;box-shadow:none}.pdx-shell.dashboard{background:var(--pdx-shell-card-bg, var(--pdx-dashboard-card-bg, var(--md-sys-color-surface-container-low)));border:1px solid var(--pdx-shell-card-border, var(--pdx-dashboard-card-border, var(--md-sys-color-outline-variant)));border-radius:var(--pdx-shell-card-radius, 12px);box-shadow:var(--pdx-shell-card-shadow, 0 4px 12px rgba(15, 23, 42, .06));overflow:hidden}.pdx-shell-header{display:flex;align-items:center;gap:10px;padding:8px 10px 7px;border-bottom:1px solid var(--pdx-shell-header-border, var(--md-sys-color-outline-variant));background:var(--pdx-shell-header-bg, var(--md-sys-color-surface-container))}.pdx-shell-header--drag-enabled{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.pdx-shell-header--drag-enabled:active{cursor:grabbing}.pdx-shell-header--drag-enabled:focus-visible{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary) 72%,white 28%);outline-offset:-2px}.pdx-shell-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--pdx-shell-title-color, inherit)}.pdx-shell-title mat-icon{color:var(--pdx-shell-icon-color, currentColor)}.pdx-shell-text{min-width:0}.pdx-shell-title-text{font-weight:var(--pdx-shell-title-weight, 600);font-size:var(--pdx-shell-title-size, 13px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-subtitle{font-size:var(--pdx-shell-subtitle-size, 11px);opacity:.75;color:var(--pdx-shell-subtitle-color, currentColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-actions,.pdx-shell-window-actions{display:flex;align-items:center;gap:4px}.pdx-shell-window-actions{margin-left:auto}@media(max-width:640px){.pdx-shell-header,.pdx-shell-title{align-items:flex-start}.pdx-shell-text{display:grid;gap:2px}.pdx-shell-title-text,.pdx-shell-subtitle{display:-webkit-box;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical}.pdx-shell-title-text,.pdx-shell-subtitle{-webkit-line-clamp:2}.pdx-shell-actions{flex:0 0 auto}}.pdx-action-outlined{border:1px solid var(--md-sys-color-outline-variant);border-radius:999px;padding:0 10px}.pdx-action-text{padding:0 8px}.pdx-shell-action--pressed:not(.praxis-icon-button){color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent)}.pdx-action-label{font-size:12px;font-weight:500}.pdx-shell-body{flex:1;min-height:0;padding:var(--pdx-shell-body-padding, 8px 10px 10px 10px);background:var(--pdx-shell-body-bg, transparent);color:var(--pdx-shell-body-color, inherit)}.pdx-shell.no-shell .pdx-shell-body{padding:0}.pdx-shell-body.hidden{display:none}.pdx-shell.collapsed{height:auto}.pdx-shell.collapsed .pdx-shell-header{border-bottom-color:transparent}.pdx-shell.body-fill .pdx-shell-body,.pdx-shell.body-scroll .pdx-shell-body,.pdx-shell.expanded .pdx-shell-body,.pdx-shell.fullscreen .pdx-shell-body{overflow:auto;display:flex;flex-direction:column;min-height:0}.pdx-shell.collapsed .pdx-shell-body{display:none}.pdx-shell.body-fill .pdx-shell-body{overflow:hidden}.pdx-shell.body-scroll .pdx-shell-body{overflow:auto}.pdx-shell.body-fill .pdx-shell-body>*,.pdx-shell.body-scroll .pdx-shell-body>*,.pdx-shell.expanded .pdx-shell-body>*,.pdx-shell.fullscreen .pdx-shell-body>*{flex:1 1 auto;min-height:0;width:100%}.pdx-shell.expanded{position:fixed;top:10vh;left:50%;width:min(920px,92vw);height:min(640px,82vh);transform:translate(-50%);z-index:var(--praxis-layer-widget-shell-expanded, 1290);box-shadow:var(--mat-elevation-level8)}.pdx-shell.fullscreen{position:fixed;inset:0;width:auto;height:auto;transform:none;border-radius:0;z-index:var(--praxis-layer-widget-shell-fullscreen, 1291);box-shadow:var(--mat-elevation-level8)}.pdx-shell-backdrop{position:fixed;inset:0;z-index:var(--praxis-layer-widget-shell-backdrop, 1280);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
30459
30587
|
}
|
|
30460
30588
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: WidgetShellComponent, decorators: [{
|
|
30461
30589
|
type: Component,
|
|
@@ -30601,7 +30729,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
30601
30729
|
@if (expanded || fullscreen) {
|
|
30602
30730
|
<div class="pdx-shell-backdrop" (click)="closeOverlay()"></div>
|
|
30603
30731
|
}
|
|
30604
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;height:100%}:host(.pdx-widget-shell-collapsed){height:auto}.pdx-shell{position:relative;height:100%;display:flex;flex-direction:column}.pdx-shell.no-shell{background:transparent;border:none;border-radius:0;box-shadow:none}.pdx-shell.dashboard{background:var(--pdx-shell-card-bg, var(--pdx-dashboard-card-bg, var(--md-sys-color-surface-container-low)));border:1px solid var(--pdx-shell-card-border, var(--pdx-dashboard-card-border, var(--md-sys-color-outline-variant)));border-radius:var(--pdx-shell-card-radius, 12px);box-shadow:var(--pdx-shell-card-shadow, 0 4px 12px rgba(15, 23, 42, .06));overflow:hidden}.pdx-shell-header{display:flex;align-items:center;gap:10px;padding:8px 10px 7px;border-bottom:1px solid var(--pdx-shell-header-border, var(--md-sys-color-outline-variant));background:var(--pdx-shell-header-bg, var(--md-sys-color-surface-container))}.pdx-shell-header--drag-enabled{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.pdx-shell-header--drag-enabled:active{cursor:grabbing}.pdx-shell-header--drag-enabled:focus-visible{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary) 72%,white 28%);outline-offset:-2px}.pdx-shell-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--pdx-shell-title-color, inherit)}.pdx-shell-title mat-icon{color:var(--pdx-shell-icon-color, currentColor)}.pdx-shell-text{min-width:0}.pdx-shell-title-text{font-weight:var(--pdx-shell-title-weight, 600);font-size:var(--pdx-shell-title-size, 13px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-subtitle{font-size:var(--pdx-shell-subtitle-size, 11px);opacity:.75;color:var(--pdx-shell-subtitle-color, currentColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-actions,.pdx-shell-window-actions{display:flex;align-items:center;gap:4px}.pdx-shell-window-actions{margin-left:auto}.pdx-action-outlined{border:1px solid var(--md-sys-color-outline-variant);border-radius:999px;padding:0 10px}.pdx-action-text{padding:0 8px}.pdx-shell-action--pressed:not(.praxis-icon-button){color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent)}.pdx-action-label{font-size:12px;font-weight:500}.pdx-shell-body{flex:1;min-height:0;padding:var(--pdx-shell-body-padding, 8px 10px 10px 10px);background:var(--pdx-shell-body-bg, transparent);color:var(--pdx-shell-body-color, inherit)}.pdx-shell.no-shell .pdx-shell-body{padding:0}.pdx-shell-body.hidden{display:none}.pdx-shell.collapsed{height:auto}.pdx-shell.collapsed .pdx-shell-header{border-bottom-color:transparent}.pdx-shell.body-fill .pdx-shell-body,.pdx-shell.body-scroll .pdx-shell-body,.pdx-shell.expanded .pdx-shell-body,.pdx-shell.fullscreen .pdx-shell-body{overflow:auto;display:flex;flex-direction:column;min-height:0}.pdx-shell.collapsed .pdx-shell-body{display:none}.pdx-shell.body-fill .pdx-shell-body{overflow:hidden}.pdx-shell.body-scroll .pdx-shell-body{overflow:auto}.pdx-shell.body-fill .pdx-shell-body>*,.pdx-shell.body-scroll .pdx-shell-body>*,.pdx-shell.expanded .pdx-shell-body>*,.pdx-shell.fullscreen .pdx-shell-body>*{flex:1 1 auto;min-height:0;width:100%}.pdx-shell.expanded{position:fixed;top:10vh;left:50%;width:min(920px,92vw);height:min(640px,82vh);transform:translate(-50%);z-index:var(--praxis-layer-widget-shell-expanded, 1290);box-shadow:var(--mat-elevation-level8)}.pdx-shell.fullscreen{position:fixed;inset:0;width:auto;height:auto;transform:none;border-radius:0;z-index:var(--praxis-layer-widget-shell-fullscreen, 1291);box-shadow:var(--mat-elevation-level8)}.pdx-shell-backdrop{position:fixed;inset:0;z-index:var(--praxis-layer-widget-shell-backdrop, 1280);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}\n"] }]
|
|
30732
|
+
`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;height:100%}:host(.pdx-widget-shell-collapsed){height:auto}.pdx-shell{position:relative;height:100%;display:flex;flex-direction:column}.pdx-shell.no-shell{background:transparent;border:none;border-radius:0;box-shadow:none}.pdx-shell.dashboard{background:var(--pdx-shell-card-bg, var(--pdx-dashboard-card-bg, var(--md-sys-color-surface-container-low)));border:1px solid var(--pdx-shell-card-border, var(--pdx-dashboard-card-border, var(--md-sys-color-outline-variant)));border-radius:var(--pdx-shell-card-radius, 12px);box-shadow:var(--pdx-shell-card-shadow, 0 4px 12px rgba(15, 23, 42, .06));overflow:hidden}.pdx-shell-header{display:flex;align-items:center;gap:10px;padding:8px 10px 7px;border-bottom:1px solid var(--pdx-shell-header-border, var(--md-sys-color-outline-variant));background:var(--pdx-shell-header-bg, var(--md-sys-color-surface-container))}.pdx-shell-header--drag-enabled{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.pdx-shell-header--drag-enabled:active{cursor:grabbing}.pdx-shell-header--drag-enabled:focus-visible{outline:2px solid color-mix(in srgb,var(--md-sys-color-primary) 72%,white 28%);outline-offset:-2px}.pdx-shell-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1;color:var(--pdx-shell-title-color, inherit)}.pdx-shell-title mat-icon{color:var(--pdx-shell-icon-color, currentColor)}.pdx-shell-text{min-width:0}.pdx-shell-title-text{font-weight:var(--pdx-shell-title-weight, 600);font-size:var(--pdx-shell-title-size, 13px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-subtitle{font-size:var(--pdx-shell-subtitle-size, 11px);opacity:.75;color:var(--pdx-shell-subtitle-color, currentColor);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdx-shell-actions,.pdx-shell-window-actions{display:flex;align-items:center;gap:4px}.pdx-shell-window-actions{margin-left:auto}@media(max-width:640px){.pdx-shell-header,.pdx-shell-title{align-items:flex-start}.pdx-shell-text{display:grid;gap:2px}.pdx-shell-title-text,.pdx-shell-subtitle{display:-webkit-box;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical}.pdx-shell-title-text,.pdx-shell-subtitle{-webkit-line-clamp:2}.pdx-shell-actions{flex:0 0 auto}}.pdx-action-outlined{border:1px solid var(--md-sys-color-outline-variant);border-radius:999px;padding:0 10px}.pdx-action-text{padding:0 8px}.pdx-shell-action--pressed:not(.praxis-icon-button){color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent)}.pdx-action-label{font-size:12px;font-weight:500}.pdx-shell-body{flex:1;min-height:0;padding:var(--pdx-shell-body-padding, 8px 10px 10px 10px);background:var(--pdx-shell-body-bg, transparent);color:var(--pdx-shell-body-color, inherit)}.pdx-shell.no-shell .pdx-shell-body{padding:0}.pdx-shell-body.hidden{display:none}.pdx-shell.collapsed{height:auto}.pdx-shell.collapsed .pdx-shell-header{border-bottom-color:transparent}.pdx-shell.body-fill .pdx-shell-body,.pdx-shell.body-scroll .pdx-shell-body,.pdx-shell.expanded .pdx-shell-body,.pdx-shell.fullscreen .pdx-shell-body{overflow:auto;display:flex;flex-direction:column;min-height:0}.pdx-shell.collapsed .pdx-shell-body{display:none}.pdx-shell.body-fill .pdx-shell-body{overflow:hidden}.pdx-shell.body-scroll .pdx-shell-body{overflow:auto}.pdx-shell.body-fill .pdx-shell-body>*,.pdx-shell.body-scroll .pdx-shell-body>*,.pdx-shell.expanded .pdx-shell-body>*,.pdx-shell.fullscreen .pdx-shell-body>*{flex:1 1 auto;min-height:0;width:100%}.pdx-shell.expanded{position:fixed;top:10vh;left:50%;width:min(920px,92vw);height:min(640px,82vh);transform:translate(-50%);z-index:var(--praxis-layer-widget-shell-expanded, 1290);box-shadow:var(--mat-elevation-level8)}.pdx-shell.fullscreen{position:fixed;inset:0;width:auto;height:auto;transform:none;border-radius:0;z-index:var(--praxis-layer-widget-shell-fullscreen, 1291);box-shadow:var(--mat-elevation-level8)}.pdx-shell-backdrop{position:fixed;inset:0;z-index:var(--praxis-layer-widget-shell-backdrop, 1280);background:#0000008c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}\n"] }]
|
|
30605
30733
|
}], propDecorators: { hostCollapsed: [{
|
|
30606
30734
|
type: HostBinding,
|
|
30607
30735
|
args: ['class.pdx-widget-shell-collapsed']
|
|
@@ -36307,7 +36435,6 @@ class DynamicWidgetPageComponent {
|
|
|
36307
36435
|
}
|
|
36308
36436
|
shouldRenderWidgetContextOverlay(widget) {
|
|
36309
36437
|
return (this.enableCustomization &&
|
|
36310
|
-
this.isWidgetSelected(widget.key) &&
|
|
36311
36438
|
!this.hasVisibleWidgetShellHeader(widget));
|
|
36312
36439
|
}
|
|
36313
36440
|
widgetShellForRender(widget) {
|
|
@@ -36351,7 +36478,6 @@ class DynamicWidgetPageComponent {
|
|
|
36351
36478
|
}
|
|
36352
36479
|
shouldProjectWidgetHeaderActions(widget) {
|
|
36353
36480
|
return (this.enableCustomization &&
|
|
36354
|
-
this.isWidgetSelected(widget.key) &&
|
|
36355
36481
|
this.hasVisibleWidgetShellHeader(widget));
|
|
36356
36482
|
}
|
|
36357
36483
|
hasVisibleWidgetShellHeader(widget) {
|
|
@@ -37425,15 +37551,10 @@ class DynamicWidgetPageComponent {
|
|
|
37425
37551
|
}
|
|
37426
37552
|
}
|
|
37427
37553
|
selectWidgetFromHostEvent(widgetKey, event) {
|
|
37428
|
-
if (this.shouldPreserveInnerWidgetInteraction(event)) {
|
|
37429
|
-
return;
|
|
37430
|
-
}
|
|
37431
37554
|
if (event.type === 'focusin') {
|
|
37432
|
-
|
|
37433
|
-
|
|
37434
|
-
|
|
37435
|
-
}
|
|
37436
|
-
}, 0);
|
|
37555
|
+
if (event.target === event.currentTarget) {
|
|
37556
|
+
this.selectWidget(widgetKey);
|
|
37557
|
+
}
|
|
37437
37558
|
return;
|
|
37438
37559
|
}
|
|
37439
37560
|
this.selectWidget(widgetKey);
|
|
@@ -37444,47 +37565,6 @@ class DynamicWidgetPageComponent {
|
|
|
37444
37565
|
isWidgetSelected(widgetKey) {
|
|
37445
37566
|
return this.selectedWidgetKeyState() === widgetKey;
|
|
37446
37567
|
}
|
|
37447
|
-
shouldPreserveInnerWidgetInteraction(event) {
|
|
37448
|
-
if (!this.enableCustomization)
|
|
37449
|
-
return false;
|
|
37450
|
-
const target = event.target;
|
|
37451
|
-
const currentTarget = event.currentTarget;
|
|
37452
|
-
if (!(target instanceof HTMLElement) || !(currentTarget instanceof HTMLElement)) {
|
|
37453
|
-
return false;
|
|
37454
|
-
}
|
|
37455
|
-
if (target === currentTarget) {
|
|
37456
|
-
return false;
|
|
37457
|
-
}
|
|
37458
|
-
if (event.type === 'focusin') {
|
|
37459
|
-
return true;
|
|
37460
|
-
}
|
|
37461
|
-
const shellHeader = target.closest('.pdx-shell-header');
|
|
37462
|
-
if (shellHeader && currentTarget.contains(shellHeader)) {
|
|
37463
|
-
return false;
|
|
37464
|
-
}
|
|
37465
|
-
return !!target.closest([
|
|
37466
|
-
'button',
|
|
37467
|
-
'a',
|
|
37468
|
-
'input',
|
|
37469
|
-
'select',
|
|
37470
|
-
'textarea',
|
|
37471
|
-
'[contenteditable="true"]',
|
|
37472
|
-
'[role="button"]',
|
|
37473
|
-
'[role="tab"]',
|
|
37474
|
-
'[role="menuitem"]',
|
|
37475
|
-
'[role="option"]',
|
|
37476
|
-
'[role="checkbox"]',
|
|
37477
|
-
'[role="radio"]',
|
|
37478
|
-
'[role="row"]',
|
|
37479
|
-
'[role="gridcell"]',
|
|
37480
|
-
'[mat-menu-trigger-for]',
|
|
37481
|
-
'.mat-mdc-row',
|
|
37482
|
-
'.mat-mdc-cell',
|
|
37483
|
-
'.mat-mdc-header-cell',
|
|
37484
|
-
'.pdx-widget-context-toolbar',
|
|
37485
|
-
'.pdx-canvas-resize',
|
|
37486
|
-
].join(','));
|
|
37487
|
-
}
|
|
37488
37568
|
selectCanvasWidget(widgetKey) {
|
|
37489
37569
|
this.selectWidget(widgetKey);
|
|
37490
37570
|
}
|
|
@@ -38434,6 +38514,7 @@ class DynamicWidgetPageComponent {
|
|
|
38434
38514
|
[style.gridColumn]="widgetGridColumn(w)"
|
|
38435
38515
|
[style.gridRow]="widgetGridRow(w)"
|
|
38436
38516
|
[style.zIndex]="widgetZIndex(w)"
|
|
38517
|
+
(pointerdown)="selectWidget(w.key)"
|
|
38437
38518
|
(click)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38438
38519
|
(focusin)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38439
38520
|
>
|
|
@@ -38564,6 +38645,7 @@ class DynamicWidgetPageComponent {
|
|
|
38564
38645
|
"
|
|
38565
38646
|
[class]="w.renderClassName || w.className || ''"
|
|
38566
38647
|
[style.gridColumn]="widgetGridColumn(w)"
|
|
38648
|
+
(pointerdown)="selectWidget(w.key)"
|
|
38567
38649
|
(click)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38568
38650
|
(focusin)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38569
38651
|
>
|
|
@@ -38630,6 +38712,7 @@ class DynamicWidgetPageComponent {
|
|
|
38630
38712
|
"
|
|
38631
38713
|
[class]="widgetClassName(w)"
|
|
38632
38714
|
[style.gridColumn]="widgetGridColumn(w)"
|
|
38715
|
+
(pointerdown)="selectWidget(w.key)"
|
|
38633
38716
|
(click)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38634
38717
|
(focusin)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38635
38718
|
>
|
|
@@ -38688,6 +38771,7 @@ class DynamicWidgetPageComponent {
|
|
|
38688
38771
|
"
|
|
38689
38772
|
[class]="widgetClassName(w)"
|
|
38690
38773
|
[style.gridColumn]="widgetGridColumn(w)"
|
|
38774
|
+
(pointerdown)="selectWidget(w.key)"
|
|
38691
38775
|
(click)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38692
38776
|
(focusin)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38693
38777
|
>
|
|
@@ -38799,6 +38883,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
38799
38883
|
[style.gridColumn]="widgetGridColumn(w)"
|
|
38800
38884
|
[style.gridRow]="widgetGridRow(w)"
|
|
38801
38885
|
[style.zIndex]="widgetZIndex(w)"
|
|
38886
|
+
(pointerdown)="selectWidget(w.key)"
|
|
38802
38887
|
(click)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38803
38888
|
(focusin)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38804
38889
|
>
|
|
@@ -38929,6 +39014,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
38929
39014
|
"
|
|
38930
39015
|
[class]="w.renderClassName || w.className || ''"
|
|
38931
39016
|
[style.gridColumn]="widgetGridColumn(w)"
|
|
39017
|
+
(pointerdown)="selectWidget(w.key)"
|
|
38932
39018
|
(click)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38933
39019
|
(focusin)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38934
39020
|
>
|
|
@@ -38995,6 +39081,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
38995
39081
|
"
|
|
38996
39082
|
[class]="widgetClassName(w)"
|
|
38997
39083
|
[style.gridColumn]="widgetGridColumn(w)"
|
|
39084
|
+
(pointerdown)="selectWidget(w.key)"
|
|
38998
39085
|
(click)="selectWidgetFromHostEvent(w.key, $event)"
|
|
38999
39086
|
(focusin)="selectWidgetFromHostEvent(w.key, $event)"
|
|
39000
39087
|
>
|
|
@@ -39053,6 +39140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
39053
39140
|
"
|
|
39054
39141
|
[class]="widgetClassName(w)"
|
|
39055
39142
|
[style.gridColumn]="widgetGridColumn(w)"
|
|
39143
|
+
(pointerdown)="selectWidget(w.key)"
|
|
39056
39144
|
(click)="selectWidgetFromHostEvent(w.key, $event)"
|
|
39057
39145
|
(focusin)="selectWidgetFromHostEvent(w.key, $event)"
|
|
39058
39146
|
>
|
|
@@ -39208,6 +39296,7 @@ class PraxisSurfaceHostComponent {
|
|
|
39208
39296
|
widget;
|
|
39209
39297
|
afterWidget;
|
|
39210
39298
|
context = null;
|
|
39299
|
+
lifecycle;
|
|
39211
39300
|
strictValidation = true;
|
|
39212
39301
|
/**
|
|
39213
39302
|
* Keep disabled by default to avoid duplicating the title already shown by
|
|
@@ -39331,6 +39420,7 @@ class PraxisSurfaceHostComponent {
|
|
|
39331
39420
|
}
|
|
39332
39421
|
}
|
|
39333
39422
|
onSlotWidgetEvent(ownerWidgetKey, event) {
|
|
39423
|
+
this.materializeSurfaceOutcome(event);
|
|
39334
39424
|
const resourceEvent = event.resourceEvent ?? this.toResourceEvent(ownerWidgetKey, event);
|
|
39335
39425
|
if (event.output === 'rowClick') {
|
|
39336
39426
|
this.rowClick.emit(event.payload);
|
|
@@ -39347,6 +39437,51 @@ class PraxisSurfaceHostComponent {
|
|
|
39347
39437
|
ownerWidgetKey: event.ownerWidgetKey || ownerWidgetKey,
|
|
39348
39438
|
});
|
|
39349
39439
|
}
|
|
39440
|
+
materializeSurfaceOutcome(event) {
|
|
39441
|
+
const binding = this.lifecycle?.outcomes.find((candidate) => candidate.output === event.output && this.matchesLifecycleConditions(candidate, event.payload));
|
|
39442
|
+
if (!binding)
|
|
39443
|
+
return;
|
|
39444
|
+
const runtime = this.context?.['surfaceRuntime'];
|
|
39445
|
+
if (!runtime)
|
|
39446
|
+
return;
|
|
39447
|
+
const outcome = this.buildSurfaceOutcome(binding, event);
|
|
39448
|
+
if (outcome.kind === 'completed') {
|
|
39449
|
+
runtime.complete?.(outcome);
|
|
39450
|
+
return;
|
|
39451
|
+
}
|
|
39452
|
+
if (outcome.kind === 'dismissed') {
|
|
39453
|
+
runtime.close?.(outcome);
|
|
39454
|
+
return;
|
|
39455
|
+
}
|
|
39456
|
+
runtime.emitResult?.(outcome);
|
|
39457
|
+
}
|
|
39458
|
+
matchesLifecycleConditions(binding, payload) {
|
|
39459
|
+
return (binding.when || []).every((condition) => Object.is(this.readPath(payload, condition.path), condition.equals));
|
|
39460
|
+
}
|
|
39461
|
+
buildSurfaceOutcome(binding, event) {
|
|
39462
|
+
const data = binding.outcome.dataPath
|
|
39463
|
+
? this.readPath(event.payload, binding.outcome.dataPath)
|
|
39464
|
+
: event.payload;
|
|
39465
|
+
const error = binding.outcome.errorPath
|
|
39466
|
+
? this.readPath(event.payload, binding.outcome.errorPath)
|
|
39467
|
+
: undefined;
|
|
39468
|
+
return {
|
|
39469
|
+
kind: binding.outcome.kind,
|
|
39470
|
+
type: binding.outcome.type,
|
|
39471
|
+
...(data !== undefined ? { data } : {}),
|
|
39472
|
+
...(error !== undefined ? { error } : {}),
|
|
39473
|
+
output: event.output,
|
|
39474
|
+
payload: event.payload,
|
|
39475
|
+
};
|
|
39476
|
+
}
|
|
39477
|
+
readPath(value, path) {
|
|
39478
|
+
return String(path || '')
|
|
39479
|
+
.split('.')
|
|
39480
|
+
.filter(Boolean)
|
|
39481
|
+
.reduce((current, key) => current && typeof current === 'object'
|
|
39482
|
+
? current[key]
|
|
39483
|
+
: undefined, value);
|
|
39484
|
+
}
|
|
39350
39485
|
toResourceEvent(ownerWidgetKey, event) {
|
|
39351
39486
|
const sourceOutput = String(event.output || '').trim();
|
|
39352
39487
|
if (!sourceOutput) {
|
|
@@ -39427,7 +39562,7 @@ class PraxisSurfaceHostComponent {
|
|
|
39427
39562
|
};
|
|
39428
39563
|
}
|
|
39429
39564
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisSurfaceHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39430
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: PraxisSurfaceHostComponent, isStandalone: true, selector: "praxis-surface-host", inputs: { title: "title", subtitle: "subtitle", icon: "icon", beforeWidget: "beforeWidget", widget: "widget", afterWidget: "afterWidget", context: "context", strictValidation: "strictValidation", renderTitleInsideBody: "renderTitleInsideBody" }, outputs: { widgetEvent: "widgetEvent", rowClick: "rowClick", selectionChange: "selectionChange", resourceEvent: "resourceEvent" }, viewQueries: [{ propertyName: "beforeWidgetLoader", first: true, predicate: ["beforeWidgetLoader"], descendants: true, read: DynamicWidgetLoaderDirective }, { propertyName: "mainWidgetLoader", first: true, predicate: ["mainWidgetLoader"], descendants: true, read: DynamicWidgetLoaderDirective }, { propertyName: "afterWidgetLoader", first: true, predicate: ["afterWidgetLoader"], descendants: true, read: DynamicWidgetLoaderDirective }], usesOnChanges: true, ngImport: i0, template: `
|
|
39565
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: PraxisSurfaceHostComponent, isStandalone: true, selector: "praxis-surface-host", inputs: { title: "title", subtitle: "subtitle", icon: "icon", beforeWidget: "beforeWidget", widget: "widget", afterWidget: "afterWidget", context: "context", lifecycle: "lifecycle", strictValidation: "strictValidation", renderTitleInsideBody: "renderTitleInsideBody" }, outputs: { widgetEvent: "widgetEvent", rowClick: "rowClick", selectionChange: "selectionChange", resourceEvent: "resourceEvent" }, viewQueries: [{ propertyName: "beforeWidgetLoader", first: true, predicate: ["beforeWidgetLoader"], descendants: true, read: DynamicWidgetLoaderDirective }, { propertyName: "mainWidgetLoader", first: true, predicate: ["mainWidgetLoader"], descendants: true, read: DynamicWidgetLoaderDirective }, { propertyName: "afterWidgetLoader", first: true, predicate: ["afterWidgetLoader"], descendants: true, read: DynamicWidgetLoaderDirective }], usesOnChanges: true, ngImport: i0, template: `
|
|
39431
39566
|
<div class="pdx-surface-host">
|
|
39432
39567
|
@if (subtitle || (title && renderTitleInsideBody)) {
|
|
39433
39568
|
<header class="pdx-surface-host__header">
|
|
@@ -39566,6 +39701,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
39566
39701
|
type: Input
|
|
39567
39702
|
}], context: [{
|
|
39568
39703
|
type: Input
|
|
39704
|
+
}], lifecycle: [{
|
|
39705
|
+
type: Input
|
|
39569
39706
|
}], strictValidation: [{
|
|
39570
39707
|
type: Input
|
|
39571
39708
|
}], renderTitleInsideBody: [{
|
|
@@ -39992,6 +40129,76 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
39992
40129
|
`, styles: [":host{display:block;min-width:0}.pdx-related-outlet{display:block;min-width:0;color:var(--md-sys-color-on-surface, currentColor)}.pdx-related-outlet__state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--pdx-related-outlet-gap, 12px);min-height:var(--pdx-related-outlet-min-height, 64px);padding:var(--pdx-related-outlet-padding, 12px);border:1px solid var(--md-sys-color-outline-variant, rgba(0, 0, 0, .16));border-radius:var(--pdx-related-outlet-radius, 8px);background:var(--md-sys-color-surface-container-low, var(--md-sys-color-surface, transparent))}.pdx-related-outlet--compact .pdx-related-outlet__state{min-height:var(--pdx-related-outlet-compact-min-height, 48px);padding:var(--pdx-related-outlet-compact-padding, 8px 10px)}.pdx-related-outlet__state--ready{border-color:var(--md-sys-color-primary, currentColor)}.pdx-related-outlet__icon{display:inline-grid;place-items:center;width:32px;height:32px;color:var(--md-sys-color-primary, currentColor)}.pdx-related-outlet__state--busy .pdx-related-outlet__icon{color:var(--md-sys-color-secondary, currentColor)}.pdx-related-outlet__copy{display:grid;gap:2px;min-width:0}.pdx-related-outlet__copy h3,.pdx-related-outlet__copy p{margin:0}.pdx-related-outlet__copy h3{font:var(--md-sys-typescale-title-small, 600 .95rem/1.25rem system-ui);color:var(--md-sys-color-on-surface, currentColor)}.pdx-related-outlet__copy p{font:var(--md-sys-typescale-body-small, 400 .82rem/1.15rem system-ui);color:var(--md-sys-color-on-surface-variant, currentColor)}@media(max-width:600px){.pdx-related-outlet__state{grid-template-columns:auto minmax(0,1fr)}.pdx-related-outlet__state button{grid-column:1 / -1;justify-self:start}}\n"] }]
|
|
39993
40130
|
}], ctorParameters: () => [], propDecorators: { surface: [{ type: i0.Input, args: [{ isSignal: true, alias: "surface", required: false }] }], surfaceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "surfaceId", required: false }] }], surfaceCatalog: [{ type: i0.Input, args: [{ isSignal: true, alias: "surfaceCatalog", required: false }] }], discoverySource: [{ type: i0.Input, args: [{ isSignal: true, alias: "discoverySource", required: false }] }], parentLinks: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentLinks", required: false }] }], apiEndpointKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "apiEndpointKey", required: false }] }], apiUrlEntry: [{ type: i0.Input, args: [{ isSignal: true, alias: "apiUrlEntry", required: false }] }], parentRecord: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentRecord", required: false }] }], parentResourceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentResourceId", required: false }] }], parentResourcePath: [{ type: i0.Input, args: [{ isSignal: true, alias: "parentResourcePath", required: false }] }], presentation: [{ type: i0.Input, args: [{ isSignal: true, alias: "presentation", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], tableId: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableId", required: false }] }], tableConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableConfig", required: false }] }], enableCustomization: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableCustomization", required: false }] }], authoringCapability: [{ type: i0.Input, args: [{ isSignal: true, alias: "authoringCapability", required: false }] }], emptyState: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyState", required: false }] }], queryContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "queryContext", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }], stateReason: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateReason", required: false }] }], compact: [{ type: i0.Input, args: [{ isSignal: true, alias: "compact", required: false }] }], strictValidation: [{ type: i0.Input, args: [{ isSignal: true, alias: "strictValidation", required: false }] }], ownerWidgetKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "ownerWidgetKey", required: false }] }], surfaceOpen: [{ type: i0.Output, args: ["surfaceOpen"] }], widgetEvent: [{ type: i0.Output, args: ["widgetEvent"] }], resourceEvent: [{ type: i0.Output, args: ["resourceEvent"] }] } });
|
|
39994
40131
|
|
|
40132
|
+
const PRAXIS_RELATED_RESOURCE_OUTLET_PORTS = [
|
|
40133
|
+
{
|
|
40134
|
+
id: 'parentResourceId',
|
|
40135
|
+
label: 'Identificador do recurso pai',
|
|
40136
|
+
direction: 'input',
|
|
40137
|
+
semanticKind: 'value',
|
|
40138
|
+
schema: {
|
|
40139
|
+
id: 'string | number | null',
|
|
40140
|
+
kind: 'ts-type',
|
|
40141
|
+
ref: 'string | number | null',
|
|
40142
|
+
},
|
|
40143
|
+
description: 'Seleção canônica que governa a resolução da coleção filha.',
|
|
40144
|
+
exposure: { public: true, group: 'context' },
|
|
40145
|
+
},
|
|
40146
|
+
{
|
|
40147
|
+
id: 'queryContext',
|
|
40148
|
+
label: 'Contexto de consulta',
|
|
40149
|
+
direction: 'input',
|
|
40150
|
+
semanticKind: 'query-context',
|
|
40151
|
+
schema: {
|
|
40152
|
+
id: 'RelatedResourceQueryContext',
|
|
40153
|
+
kind: 'ts-type',
|
|
40154
|
+
ref: 'RelatedResourceQueryContext',
|
|
40155
|
+
},
|
|
40156
|
+
description: 'Contexto adicional mesclado ao filtro pai-filho publicado pela surface.',
|
|
40157
|
+
exposure: { public: true, advanced: true, group: 'context' },
|
|
40158
|
+
},
|
|
40159
|
+
{
|
|
40160
|
+
id: 'surfaceOpen',
|
|
40161
|
+
label: 'Abertura da superfície relacionada',
|
|
40162
|
+
direction: 'output',
|
|
40163
|
+
semanticKind: 'event',
|
|
40164
|
+
schema: {
|
|
40165
|
+
id: 'SurfaceOpenPayload',
|
|
40166
|
+
kind: 'ts-type',
|
|
40167
|
+
ref: 'SurfaceOpenPayload',
|
|
40168
|
+
},
|
|
40169
|
+
cardinality: 'stream',
|
|
40170
|
+
description: 'Solicita ao host a abertura mediada da superfície no modo open-action.',
|
|
40171
|
+
exposure: { public: true, group: 'events' },
|
|
40172
|
+
},
|
|
40173
|
+
{
|
|
40174
|
+
id: 'widgetEvent',
|
|
40175
|
+
label: 'Evento do widget relacionado',
|
|
40176
|
+
direction: 'output',
|
|
40177
|
+
semanticKind: 'event',
|
|
40178
|
+
schema: {
|
|
40179
|
+
id: 'WidgetEventEnvelope',
|
|
40180
|
+
kind: 'ts-type',
|
|
40181
|
+
ref: 'WidgetEventEnvelope',
|
|
40182
|
+
},
|
|
40183
|
+
cardinality: 'stream',
|
|
40184
|
+
description: 'Reemite eventos do widget filho com identidade de ownership.',
|
|
40185
|
+
exposure: { public: true, advanced: true, group: 'events' },
|
|
40186
|
+
},
|
|
40187
|
+
{
|
|
40188
|
+
id: 'resourceEvent',
|
|
40189
|
+
label: 'Evento canônico do recurso relacionado',
|
|
40190
|
+
direction: 'output',
|
|
40191
|
+
semanticKind: 'event',
|
|
40192
|
+
schema: {
|
|
40193
|
+
id: 'PraxisResourceEvent',
|
|
40194
|
+
kind: 'ts-type',
|
|
40195
|
+
ref: 'PraxisResourceEvent',
|
|
40196
|
+
},
|
|
40197
|
+
cardinality: 'stream',
|
|
40198
|
+
description: 'Promove seleção, mutação e lifecycle do recurso filho para a composição.',
|
|
40199
|
+
exposure: { public: true, group: 'events' },
|
|
40200
|
+
},
|
|
40201
|
+
];
|
|
39995
40202
|
const PRAXIS_RELATED_RESOURCE_OUTLET_COMPONENT_METADATA = {
|
|
39996
40203
|
id: 'praxis-related-resource-outlet',
|
|
39997
40204
|
selector: 'praxis-related-resource-outlet',
|
|
@@ -40010,21 +40217,29 @@ const PRAXIS_RELATED_RESOURCE_OUTLET_COMPONENT_METADATA = {
|
|
|
40010
40217
|
{ name: 'parentRecord', type: 'Record<string, unknown> | null', description: 'Registro pai usado para resolver parentIdPathVariable.' },
|
|
40011
40218
|
{ name: 'parentResourceId', type: 'string | number | null', description: 'Identificador explícito do registro pai quando não vem do record.' },
|
|
40012
40219
|
{ name: 'parentResourcePath', type: 'string | null', description: 'ResourcePath do recurso pai para contexto da surface.' },
|
|
40220
|
+
{ name: 'presentation', type: 'SurfacePresentation', description: 'Apresentação usada no payload de abertura host-mediated.', default: 'drawer' },
|
|
40221
|
+
{ name: 'title', type: 'string | null', description: 'Título opcional que substitui o título publicado pela surface.' },
|
|
40222
|
+
{ name: 'subtitle', type: 'string | null', description: 'Subtítulo opcional que substitui a descrição publicada pela surface.' },
|
|
40223
|
+
{ name: 'icon', type: 'string | null', description: 'Ícone opcional da superfície relacionada.' },
|
|
40013
40224
|
{ name: 'queryContext', type: 'RelatedResourceQueryContext | null', description: 'QueryContext base mesclado com o filtro canônico da relação filha.' },
|
|
40225
|
+
{ name: 'tableId', type: 'string | null', description: 'Identidade estável da tabela filha para persistência, observabilidade e testes.' },
|
|
40014
40226
|
{ name: 'tableConfig', type: 'Record<string, unknown> | null', description: 'Configuracao parcial da tabela filha materializada, mesclada ao preset canonico.' },
|
|
40015
40227
|
{ name: 'emptyState', type: 'Record<string, unknown> | null', description: 'Override opcional para behavior.emptyState da tabela filha. Quando omitido, o outlet deriva texto, icone, layout e ação create a partir de surface.relatedResource e dos metadados da surface.' },
|
|
40016
40228
|
{ name: 'enableCustomization', type: 'boolean', description: 'Opt-in explicito para authoring governado da tabela filha.', default: false },
|
|
40017
40229
|
{ name: 'authoringCapability', type: 'string | null', description: 'Capability publica do EnterpriseRuntimeContext exigida quando o authoring da tabela filha estiver habilitado.' },
|
|
40018
40230
|
{ name: 'mode', type: "'inline' | 'open-action'", description: 'Renderiza a tabela filha inline ou emite payload para abertura host-mediated.', default: 'inline' },
|
|
40019
40231
|
{ name: 'state', type: 'RelatedResourceResolutionState | null', description: 'Override de estado para hosts/outlets que estejam carregando discovery remoto.' },
|
|
40232
|
+
{ name: 'stateReason', type: 'string | null', description: 'Motivo governado associado ao override de estado.' },
|
|
40020
40233
|
{ name: 'compact', type: 'boolean', description: 'Reduz densidade visual dos estados não materializados.', default: false },
|
|
40021
40234
|
{ name: 'strictValidation', type: 'boolean', description: 'Validação estrita do widget materializado pelo DynamicWidgetLoader.', default: false },
|
|
40235
|
+
{ name: 'ownerWidgetKey', type: 'string', description: 'Identidade do owner usada para correlacionar eventos do widget filho.', default: 'related-resource.outlet' },
|
|
40022
40236
|
],
|
|
40023
40237
|
outputs: [
|
|
40024
40238
|
{ name: 'surfaceOpen', type: 'SurfaceOpenPayload', description: 'Emitido em modo open-action com o payload pronto de surface.open.' },
|
|
40025
40239
|
{ name: 'widgetEvent', type: 'WidgetEventEnvelope', description: 'Reemite eventos do widget filho materializado.' },
|
|
40026
40240
|
{ name: 'resourceEvent', type: 'PraxisResourceEvent', description: 'Promove eventos canonicos emitidos pelo widget filho materializado.' },
|
|
40027
40241
|
],
|
|
40242
|
+
ports: PRAXIS_RELATED_RESOURCE_OUTLET_PORTS,
|
|
40028
40243
|
tags: ['resource', 'surface', 'related-resource', 'runtime', 'metadata-driven'],
|
|
40029
40244
|
lib: '@praxisui/core',
|
|
40030
40245
|
};
|
|
@@ -41535,4 +41750,4 @@ function provideHookWhitelist(allowed) {
|
|
|
41535
41750
|
* Generated bundle index. Do not edit.
|
|
41536
41751
|
*/
|
|
41537
41752
|
|
|
41538
|
-
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_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_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_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, 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, 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, isPraxisPresentationVisualizationTableSafe, isPraxisRuntimeGlobalActionEffect, isProgrammaticDateRangePreset, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isStaticDateRangePreset, 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, 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, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisCollectionExportItems, resolvePraxisExportFields, resolvePraxisExportScope, resolvePraxisFilterCriteria, 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, translateUnavailableWorkflowMessage, trim, uniqueAsyncValidator, urlValidator, validateGlobalActionRef, validateGlobalActionRefs, withFormConfigSections, withMessage, withPraxisHttpLoading };
|
|
41753
|
+
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_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_OPEN_I18N_CONFIG, SURFACE_OPEN_I18N_NAMESPACE, SURFACE_OPEN_PRESETS, SchemaMetadataClient, SchemaNormalizerService, SchemaViewerComponent, SurfaceBindingRuntimeService, 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, 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, isPraxisPresentationVisualizationTableSafe, isPraxisRuntimeGlobalActionEffect, isProgrammaticDateRangePreset, isRangeValidForFilter, isRequiredGlobalActionParamPayloadMissing, isRequiredGlobalActionPayloadMissing, isStaticDateRangePreset, 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, 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, resolveHidden, resolveInlineFilterControlType, resolveInlineFilterControlTypeToBaseControlType, resolveLoggerConfig, resolveObservabilityOptions, resolveOffset, resolveOrder, resolvePraxisCollectionExportItems, resolvePraxisExportFields, resolvePraxisExportScope, resolvePraxisFilterCriteria, 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, translateUnavailableWorkflowMessage, trim, uniqueAsyncValidator, urlValidator, validateGlobalActionRef, validateGlobalActionRefs, withFormConfigSections, withMessage, withPraxisHttpLoading };
|