@praxisui/core 9.0.6 → 9.0.8
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/ai/component-registry.json +2 -2
- package/fesm2022/praxisui-core.mjs +135 -19
- package/package.json +1 -1
- package/types/praxisui-core.d.ts +5 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-08-
|
|
3
|
+
"generatedAt": "2026-08-20T18:11:26.392Z",
|
|
4
4
|
"packageName": "@praxisui/core",
|
|
5
|
-
"packageVersion": "9.0.
|
|
5
|
+
"packageVersion": "9.0.8",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 4,
|
|
@@ -41705,8 +41705,25 @@ function providePraxisDynamicPageMetadata() {
|
|
|
41705
41705
|
};
|
|
41706
41706
|
}
|
|
41707
41707
|
|
|
41708
|
+
const SURFACE_HOST_I18N_NAMESPACE = 'surfaceHost';
|
|
41709
|
+
const SURFACE_HOST_I18N_CONFIG = {
|
|
41710
|
+
namespaces: {
|
|
41711
|
+
[SURFACE_HOST_I18N_NAMESPACE]: {
|
|
41712
|
+
'pt-BR': {
|
|
41713
|
+
'widget.error.title': 'Não foi possível carregar este conteúdo',
|
|
41714
|
+
'widget.error.description': 'Este conteúdo está indisponível. Tente novamente. Se o problema continuar, informe o responsável pela plataforma.',
|
|
41715
|
+
},
|
|
41716
|
+
'en-US': {
|
|
41717
|
+
'widget.error.title': 'This content could not be loaded',
|
|
41718
|
+
'widget.error.description': 'This content is unavailable. Try again. If the problem continues, contact the platform owner.',
|
|
41719
|
+
},
|
|
41720
|
+
},
|
|
41721
|
+
},
|
|
41722
|
+
};
|
|
41723
|
+
|
|
41708
41724
|
class PraxisSurfaceHostComponent {
|
|
41709
41725
|
globalActions = inject(GlobalActionService);
|
|
41726
|
+
i18n = inject(PraxisI18nService);
|
|
41710
41727
|
title;
|
|
41711
41728
|
subtitle;
|
|
41712
41729
|
icon;
|
|
@@ -41729,25 +41746,43 @@ class PraxisSurfaceHostComponent {
|
|
|
41729
41746
|
mainWidgetLoader;
|
|
41730
41747
|
afterWidgetLoader;
|
|
41731
41748
|
renderQueued = false;
|
|
41749
|
+
widgetDiagnostics = signal({}, ...(ngDevMode ? [{ debugName: "widgetDiagnostics" }] : /* istanbul ignore next */ []));
|
|
41732
41750
|
beforeWidgetKey = 'surface.before';
|
|
41733
41751
|
mainWidgetKey = 'surface.main';
|
|
41734
41752
|
afterWidgetKey = 'surface.after';
|
|
41735
41753
|
operationIdentity() {
|
|
41736
41754
|
const operation = normalizeSurfaceOperationContext(this.context?.['operation']);
|
|
41737
|
-
return operation?.subject?.identity ?? operation?.taskScope?.identity ?? null;
|
|
41755
|
+
return (operation?.subject?.identity ?? operation?.taskScope?.identity ?? null);
|
|
41738
41756
|
}
|
|
41739
41757
|
ngAfterViewInit() {
|
|
41740
41758
|
this.scheduleWidgetRender();
|
|
41741
41759
|
}
|
|
41742
41760
|
ngOnChanges(changes) {
|
|
41743
|
-
if (changes['widget']
|
|
41744
|
-
|
|
41745
|
-
|
|
41746
|
-
|
|
41747
|
-
|
|
41761
|
+
if (changes['widget'] ||
|
|
41762
|
+
changes['beforeWidget'] ||
|
|
41763
|
+
changes['afterWidget'] ||
|
|
41764
|
+
changes['context'] ||
|
|
41765
|
+
changes['strictValidation']) {
|
|
41766
|
+
if (changes['widget'] ||
|
|
41767
|
+
changes['beforeWidget'] ||
|
|
41768
|
+
changes['afterWidget']) {
|
|
41769
|
+
this.widgetDiagnostics.set({});
|
|
41770
|
+
}
|
|
41748
41771
|
this.scheduleWidgetRender();
|
|
41749
41772
|
}
|
|
41750
41773
|
}
|
|
41774
|
+
t(key, fallback) {
|
|
41775
|
+
return this.i18n.t(key, undefined, fallback, SURFACE_HOST_I18N_NAMESPACE);
|
|
41776
|
+
}
|
|
41777
|
+
hasWidgetError() {
|
|
41778
|
+
return Object.values(this.widgetDiagnostics()).some((diagnostic) => diagnostic.phase !== 'ready');
|
|
41779
|
+
}
|
|
41780
|
+
onWidgetDiagnostic(widgetKey, diagnostic) {
|
|
41781
|
+
this.widgetDiagnostics.update((current) => ({
|
|
41782
|
+
...current,
|
|
41783
|
+
[widgetKey]: diagnostic,
|
|
41784
|
+
}));
|
|
41785
|
+
}
|
|
41751
41786
|
scheduleWidgetRender() {
|
|
41752
41787
|
if (this.renderQueued)
|
|
41753
41788
|
return;
|
|
@@ -41860,7 +41895,8 @@ class PraxisSurfaceHostComponent {
|
|
|
41860
41895
|
});
|
|
41861
41896
|
}
|
|
41862
41897
|
materializeSurfaceOutcome(event) {
|
|
41863
|
-
const binding = this.lifecycle?.outcomes.find((candidate) => candidate.output === event.output &&
|
|
41898
|
+
const binding = this.lifecycle?.outcomes.find((candidate) => candidate.output === event.output &&
|
|
41899
|
+
this.matchesLifecycleConditions(candidate, event.payload));
|
|
41864
41900
|
if (!binding)
|
|
41865
41901
|
return;
|
|
41866
41902
|
const runtime = this.context?.['surfaceRuntime'];
|
|
@@ -41945,7 +41981,9 @@ class PraxisSurfaceHostComponent {
|
|
|
41945
41981
|
return text || null;
|
|
41946
41982
|
}
|
|
41947
41983
|
resourceIdOrNull(value) {
|
|
41948
|
-
return typeof value === 'string' || typeof value === 'number'
|
|
41984
|
+
return typeof value === 'string' || typeof value === 'number'
|
|
41985
|
+
? value
|
|
41986
|
+
: null;
|
|
41949
41987
|
}
|
|
41950
41988
|
toResourceSurface(surface, resource) {
|
|
41951
41989
|
const availability = this.readRecord(surface?.['availability']);
|
|
@@ -41953,14 +41991,20 @@ class PraxisSurfaceHostComponent {
|
|
|
41953
41991
|
return null;
|
|
41954
41992
|
}
|
|
41955
41993
|
const id = this.stringOrNull(surface['id']);
|
|
41956
|
-
const resourceKey = this.stringOrNull(surface['resourceKey'])
|
|
41957
|
-
|
|
41994
|
+
const resourceKey = this.stringOrNull(surface['resourceKey']) ||
|
|
41995
|
+
this.stringOrNull(resource?.['resourceKey']);
|
|
41958
41996
|
const operationId = this.stringOrNull(surface['operationId']);
|
|
41959
41997
|
const path = this.stringOrNull(surface['path']);
|
|
41960
41998
|
const method = this.stringOrNull(surface['method']);
|
|
41961
41999
|
const schemaId = this.stringOrNull(surface['schemaId']);
|
|
41962
42000
|
const schemaUrl = this.stringOrNull(surface['schemaUrl']);
|
|
41963
|
-
if (!id ||
|
|
42001
|
+
if (!id ||
|
|
42002
|
+
!resourceKey ||
|
|
42003
|
+
!operationId ||
|
|
42004
|
+
!path ||
|
|
42005
|
+
!method ||
|
|
42006
|
+
!schemaId ||
|
|
42007
|
+
!schemaUrl) {
|
|
41964
42008
|
return null;
|
|
41965
42009
|
}
|
|
41966
42010
|
return {
|
|
@@ -41984,12 +42028,16 @@ class PraxisSurfaceHostComponent {
|
|
|
41984
42028
|
};
|
|
41985
42029
|
}
|
|
41986
42030
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisSurfaceHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41987
|
-
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: `
|
|
42031
|
+
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" }, providers: [providePraxisI18nConfig(SURFACE_HOST_I18N_CONFIG)], 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: `
|
|
41988
42032
|
<div class="pdx-surface-host">
|
|
41989
42033
|
@if (subtitle || (title && renderTitleInsideBody)) {
|
|
41990
42034
|
<header class="pdx-surface-host__header">
|
|
41991
42035
|
@if (icon) {
|
|
41992
|
-
<span
|
|
42036
|
+
<span
|
|
42037
|
+
class="material-icons pdx-surface-host__icon"
|
|
42038
|
+
aria-hidden="true"
|
|
42039
|
+
>{{ icon }}</span
|
|
42040
|
+
>
|
|
41993
42041
|
}
|
|
41994
42042
|
<div class="pdx-surface-host__copy">
|
|
41995
42043
|
@if (title && renderTitleInsideBody) {
|
|
@@ -42004,7 +42052,10 @@ class PraxisSurfaceHostComponent {
|
|
|
42004
42052
|
|
|
42005
42053
|
<section class="pdx-surface-host__body">
|
|
42006
42054
|
@if (operationIdentity(); as identity) {
|
|
42007
|
-
<div
|
|
42055
|
+
<div
|
|
42056
|
+
class="pdx-surface-host__operation-context"
|
|
42057
|
+
data-testid="surface-operation-identity"
|
|
42058
|
+
>
|
|
42008
42059
|
<praxis-resource-identity
|
|
42009
42060
|
[identity]="identity"
|
|
42010
42061
|
density="compact"
|
|
@@ -42013,6 +42064,32 @@ class PraxisSurfaceHostComponent {
|
|
|
42013
42064
|
</div>
|
|
42014
42065
|
}
|
|
42015
42066
|
|
|
42067
|
+
@if (hasWidgetError()) {
|
|
42068
|
+
<div
|
|
42069
|
+
class="pdx-surface-host__error"
|
|
42070
|
+
role="alert"
|
|
42071
|
+
aria-live="assertive"
|
|
42072
|
+
data-testid="surface-widget-error"
|
|
42073
|
+
>
|
|
42074
|
+
<span class="material-icons" aria-hidden="true">error_outline</span>
|
|
42075
|
+
<div>
|
|
42076
|
+
<h3>
|
|
42077
|
+
{{
|
|
42078
|
+
t('widget.error.title', 'This content could not be loaded')
|
|
42079
|
+
}}
|
|
42080
|
+
</h3>
|
|
42081
|
+
<p>
|
|
42082
|
+
{{
|
|
42083
|
+
t(
|
|
42084
|
+
'widget.error.description',
|
|
42085
|
+
'This content is unavailable. Try again.'
|
|
42086
|
+
)
|
|
42087
|
+
}}
|
|
42088
|
+
</p>
|
|
42089
|
+
</div>
|
|
42090
|
+
</div>
|
|
42091
|
+
}
|
|
42092
|
+
|
|
42016
42093
|
@if (beforeWidget) {
|
|
42017
42094
|
<div class="pdx-surface-host__slot pdx-surface-host__slot--before">
|
|
42018
42095
|
<ng-container
|
|
@@ -42023,6 +42100,7 @@ class PraxisSurfaceHostComponent {
|
|
|
42023
42100
|
[strictValidation]="strictValidation"
|
|
42024
42101
|
[autoWireOutputs]="true"
|
|
42025
42102
|
(widgetEvent)="onSlotWidgetEvent(beforeWidgetKey, $event)"
|
|
42103
|
+
(widgetDiagnostic)="onWidgetDiagnostic(beforeWidgetKey, $event)"
|
|
42026
42104
|
></ng-container>
|
|
42027
42105
|
</div>
|
|
42028
42106
|
}
|
|
@@ -42036,6 +42114,7 @@ class PraxisSurfaceHostComponent {
|
|
|
42036
42114
|
[strictValidation]="strictValidation"
|
|
42037
42115
|
[autoWireOutputs]="true"
|
|
42038
42116
|
(widgetEvent)="onSlotWidgetEvent(mainWidgetKey, $event)"
|
|
42117
|
+
(widgetDiagnostic)="onWidgetDiagnostic(mainWidgetKey, $event)"
|
|
42039
42118
|
></ng-container>
|
|
42040
42119
|
}
|
|
42041
42120
|
|
|
@@ -42049,21 +42128,26 @@ class PraxisSurfaceHostComponent {
|
|
|
42049
42128
|
[strictValidation]="strictValidation"
|
|
42050
42129
|
[autoWireOutputs]="true"
|
|
42051
42130
|
(widgetEvent)="onSlotWidgetEvent(afterWidgetKey, $event)"
|
|
42131
|
+
(widgetDiagnostic)="onWidgetDiagnostic(afterWidgetKey, $event)"
|
|
42052
42132
|
></ng-container>
|
|
42053
42133
|
</div>
|
|
42054
42134
|
}
|
|
42055
42135
|
</section>
|
|
42056
42136
|
</div>
|
|
42057
|
-
`, isInline: true, styles: [":host{display:block;min-width:0}.pdx-surface-host{display:grid;gap:16px;min-width:0}.pdx-surface-host__header{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.pdx-surface-host__icon{font-size:20px;line-height:20px;color:var(--md-sys-color-primary, currentColor)}.pdx-surface-host__copy{display:grid;gap:4px;min-width:0}.pdx-surface-host__title,.pdx-surface-host__subtitle{margin:0}.pdx-surface-host__title{font-size:1rem;font-weight:600}.pdx-surface-host__subtitle{color:var(--md-sys-color-on-surface-variant, rgba(0, 0, 0, .64));font-size:.9375rem}.pdx-surface-host__body{display:grid;gap:16px;min-width:0}.pdx-surface-host__operation-context{min-width:0;padding:12px 14px;border-inline-start:3px solid var(--md-sys-color-primary, currentColor);border-radius:0 10px 10px 0;background:var(--md-sys-color-surface-container-low, transparent)}.pdx-surface-host__slot{min-width:0}\n"], dependencies: [{ kind: "directive", type: DynamicWidgetLoaderDirective, selector: "[dynamicWidgetLoader]", inputs: ["dynamicWidgetLoader", "ownerWidgetKey", "context", "strictValidation", "autoWireOutputs"], outputs: ["widgetEvent", "widgetDiagnostic"], exportAs: ["dynamicWidgetLoader"] }, { kind: "component", type: PraxisResourceIdentityComponent, selector: "praxis-resource-identity", inputs: ["identity", "emptyTitle", "density", "showMetadataLabels", "showKey", "showKeyLabel", "ariaLabel"] }] });
|
|
42137
|
+
`, isInline: true, styles: [":host{display:block;min-width:0}.pdx-surface-host{display:grid;gap:16px;min-width:0}.pdx-surface-host__header{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.pdx-surface-host__icon{font-size:20px;line-height:20px;color:var(--md-sys-color-primary, currentColor)}.pdx-surface-host__copy{display:grid;gap:4px;min-width:0}.pdx-surface-host__title,.pdx-surface-host__subtitle{margin:0}.pdx-surface-host__title{font-size:1rem;font-weight:600}.pdx-surface-host__subtitle{color:var(--md-sys-color-on-surface-variant, rgba(0, 0, 0, .64));font-size:.9375rem}.pdx-surface-host__body{display:grid;gap:16px;min-width:0}.pdx-surface-host__operation-context{min-width:0;padding:12px 14px;border-inline-start:3px solid var(--md-sys-color-primary, currentColor);border-radius:0 10px 10px 0;background:var(--md-sys-color-surface-container-low, transparent)}.pdx-surface-host__error{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:14px;border:1px solid var(--md-sys-color-error, #ba1a1a);border-radius:10px;color:var(--md-sys-color-on-error-container, #410002);background:var(--md-sys-color-error-container, #ffdad6)}.pdx-surface-host__error h3,.pdx-surface-host__error p{margin:0}.pdx-surface-host__error h3{font-size:.95rem;font-weight:700}.pdx-surface-host__error p{margin-top:3px;font-size:.875rem;line-height:1.4}.pdx-surface-host__slot{min-width:0}\n"], dependencies: [{ kind: "directive", type: DynamicWidgetLoaderDirective, selector: "[dynamicWidgetLoader]", inputs: ["dynamicWidgetLoader", "ownerWidgetKey", "context", "strictValidation", "autoWireOutputs"], outputs: ["widgetEvent", "widgetDiagnostic"], exportAs: ["dynamicWidgetLoader"] }, { kind: "component", type: PraxisResourceIdentityComponent, selector: "praxis-resource-identity", inputs: ["identity", "emptyTitle", "density", "showMetadataLabels", "showKey", "showKeyLabel", "ariaLabel"] }] });
|
|
42058
42138
|
}
|
|
42059
42139
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisSurfaceHostComponent, decorators: [{
|
|
42060
42140
|
type: Component,
|
|
42061
|
-
args: [{ selector: 'praxis-surface-host', standalone: true, imports: [DynamicWidgetLoaderDirective, PraxisResourceIdentityComponent], template: `
|
|
42141
|
+
args: [{ selector: 'praxis-surface-host', standalone: true, imports: [DynamicWidgetLoaderDirective, PraxisResourceIdentityComponent], providers: [providePraxisI18nConfig(SURFACE_HOST_I18N_CONFIG)], template: `
|
|
42062
42142
|
<div class="pdx-surface-host">
|
|
42063
42143
|
@if (subtitle || (title && renderTitleInsideBody)) {
|
|
42064
42144
|
<header class="pdx-surface-host__header">
|
|
42065
42145
|
@if (icon) {
|
|
42066
|
-
<span
|
|
42146
|
+
<span
|
|
42147
|
+
class="material-icons pdx-surface-host__icon"
|
|
42148
|
+
aria-hidden="true"
|
|
42149
|
+
>{{ icon }}</span
|
|
42150
|
+
>
|
|
42067
42151
|
}
|
|
42068
42152
|
<div class="pdx-surface-host__copy">
|
|
42069
42153
|
@if (title && renderTitleInsideBody) {
|
|
@@ -42078,7 +42162,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
42078
42162
|
|
|
42079
42163
|
<section class="pdx-surface-host__body">
|
|
42080
42164
|
@if (operationIdentity(); as identity) {
|
|
42081
|
-
<div
|
|
42165
|
+
<div
|
|
42166
|
+
class="pdx-surface-host__operation-context"
|
|
42167
|
+
data-testid="surface-operation-identity"
|
|
42168
|
+
>
|
|
42082
42169
|
<praxis-resource-identity
|
|
42083
42170
|
[identity]="identity"
|
|
42084
42171
|
density="compact"
|
|
@@ -42087,6 +42174,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
42087
42174
|
</div>
|
|
42088
42175
|
}
|
|
42089
42176
|
|
|
42177
|
+
@if (hasWidgetError()) {
|
|
42178
|
+
<div
|
|
42179
|
+
class="pdx-surface-host__error"
|
|
42180
|
+
role="alert"
|
|
42181
|
+
aria-live="assertive"
|
|
42182
|
+
data-testid="surface-widget-error"
|
|
42183
|
+
>
|
|
42184
|
+
<span class="material-icons" aria-hidden="true">error_outline</span>
|
|
42185
|
+
<div>
|
|
42186
|
+
<h3>
|
|
42187
|
+
{{
|
|
42188
|
+
t('widget.error.title', 'This content could not be loaded')
|
|
42189
|
+
}}
|
|
42190
|
+
</h3>
|
|
42191
|
+
<p>
|
|
42192
|
+
{{
|
|
42193
|
+
t(
|
|
42194
|
+
'widget.error.description',
|
|
42195
|
+
'This content is unavailable. Try again.'
|
|
42196
|
+
)
|
|
42197
|
+
}}
|
|
42198
|
+
</p>
|
|
42199
|
+
</div>
|
|
42200
|
+
</div>
|
|
42201
|
+
}
|
|
42202
|
+
|
|
42090
42203
|
@if (beforeWidget) {
|
|
42091
42204
|
<div class="pdx-surface-host__slot pdx-surface-host__slot--before">
|
|
42092
42205
|
<ng-container
|
|
@@ -42097,6 +42210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
42097
42210
|
[strictValidation]="strictValidation"
|
|
42098
42211
|
[autoWireOutputs]="true"
|
|
42099
42212
|
(widgetEvent)="onSlotWidgetEvent(beforeWidgetKey, $event)"
|
|
42213
|
+
(widgetDiagnostic)="onWidgetDiagnostic(beforeWidgetKey, $event)"
|
|
42100
42214
|
></ng-container>
|
|
42101
42215
|
</div>
|
|
42102
42216
|
}
|
|
@@ -42110,6 +42224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
42110
42224
|
[strictValidation]="strictValidation"
|
|
42111
42225
|
[autoWireOutputs]="true"
|
|
42112
42226
|
(widgetEvent)="onSlotWidgetEvent(mainWidgetKey, $event)"
|
|
42227
|
+
(widgetDiagnostic)="onWidgetDiagnostic(mainWidgetKey, $event)"
|
|
42113
42228
|
></ng-container>
|
|
42114
42229
|
}
|
|
42115
42230
|
|
|
@@ -42123,12 +42238,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
42123
42238
|
[strictValidation]="strictValidation"
|
|
42124
42239
|
[autoWireOutputs]="true"
|
|
42125
42240
|
(widgetEvent)="onSlotWidgetEvent(afterWidgetKey, $event)"
|
|
42241
|
+
(widgetDiagnostic)="onWidgetDiagnostic(afterWidgetKey, $event)"
|
|
42126
42242
|
></ng-container>
|
|
42127
42243
|
</div>
|
|
42128
42244
|
}
|
|
42129
42245
|
</section>
|
|
42130
42246
|
</div>
|
|
42131
|
-
`, styles: [":host{display:block;min-width:0}.pdx-surface-host{display:grid;gap:16px;min-width:0}.pdx-surface-host__header{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.pdx-surface-host__icon{font-size:20px;line-height:20px;color:var(--md-sys-color-primary, currentColor)}.pdx-surface-host__copy{display:grid;gap:4px;min-width:0}.pdx-surface-host__title,.pdx-surface-host__subtitle{margin:0}.pdx-surface-host__title{font-size:1rem;font-weight:600}.pdx-surface-host__subtitle{color:var(--md-sys-color-on-surface-variant, rgba(0, 0, 0, .64));font-size:.9375rem}.pdx-surface-host__body{display:grid;gap:16px;min-width:0}.pdx-surface-host__operation-context{min-width:0;padding:12px 14px;border-inline-start:3px solid var(--md-sys-color-primary, currentColor);border-radius:0 10px 10px 0;background:var(--md-sys-color-surface-container-low, transparent)}.pdx-surface-host__slot{min-width:0}\n"] }]
|
|
42247
|
+
`, styles: [":host{display:block;min-width:0}.pdx-surface-host{display:grid;gap:16px;min-width:0}.pdx-surface-host__header{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.pdx-surface-host__icon{font-size:20px;line-height:20px;color:var(--md-sys-color-primary, currentColor)}.pdx-surface-host__copy{display:grid;gap:4px;min-width:0}.pdx-surface-host__title,.pdx-surface-host__subtitle{margin:0}.pdx-surface-host__title{font-size:1rem;font-weight:600}.pdx-surface-host__subtitle{color:var(--md-sys-color-on-surface-variant, rgba(0, 0, 0, .64));font-size:.9375rem}.pdx-surface-host__body{display:grid;gap:16px;min-width:0}.pdx-surface-host__operation-context{min-width:0;padding:12px 14px;border-inline-start:3px solid var(--md-sys-color-primary, currentColor);border-radius:0 10px 10px 0;background:var(--md-sys-color-surface-container-low, transparent)}.pdx-surface-host__error{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;min-width:0;padding:14px;border:1px solid var(--md-sys-color-error, #ba1a1a);border-radius:10px;color:var(--md-sys-color-on-error-container, #410002);background:var(--md-sys-color-error-container, #ffdad6)}.pdx-surface-host__error h3,.pdx-surface-host__error p{margin:0}.pdx-surface-host__error h3{font-size:.95rem;font-weight:700}.pdx-surface-host__error p{margin-top:3px;font-size:.875rem;line-height:1.4}.pdx-surface-host__slot{min-width:0}\n"] }]
|
|
42132
42248
|
}], propDecorators: { title: [{
|
|
42133
42249
|
type: Input
|
|
42134
42250
|
}], subtitle: [{
|
package/package.json
CHANGED
package/types/praxisui-core.d.ts
CHANGED
|
@@ -16570,6 +16570,7 @@ declare function providePraxisDynamicPageMetadata(): Provider;
|
|
|
16570
16570
|
|
|
16571
16571
|
declare class PraxisSurfaceHostComponent implements AfterViewInit, OnChanges {
|
|
16572
16572
|
private readonly globalActions;
|
|
16573
|
+
private readonly i18n;
|
|
16573
16574
|
title?: string;
|
|
16574
16575
|
subtitle?: string;
|
|
16575
16576
|
icon?: string;
|
|
@@ -16592,12 +16593,16 @@ declare class PraxisSurfaceHostComponent implements AfterViewInit, OnChanges {
|
|
|
16592
16593
|
private mainWidgetLoader?;
|
|
16593
16594
|
private afterWidgetLoader?;
|
|
16594
16595
|
private renderQueued;
|
|
16596
|
+
private readonly widgetDiagnostics;
|
|
16595
16597
|
readonly beforeWidgetKey = "surface.before";
|
|
16596
16598
|
readonly mainWidgetKey = "surface.main";
|
|
16597
16599
|
readonly afterWidgetKey = "surface.after";
|
|
16598
16600
|
protected operationIdentity(): MaterializedResourceIdentity | null;
|
|
16599
16601
|
ngAfterViewInit(): void;
|
|
16600
16602
|
ngOnChanges(changes: SimpleChanges): void;
|
|
16603
|
+
protected t(key: string, fallback: string): string;
|
|
16604
|
+
protected hasWidgetError(): boolean;
|
|
16605
|
+
onWidgetDiagnostic(widgetKey: string, diagnostic: WidgetResolutionDiagnostic): void;
|
|
16601
16606
|
private scheduleWidgetRender;
|
|
16602
16607
|
private renderLoader;
|
|
16603
16608
|
private enrichWidget;
|