@cosmicdrift/kumiko-renderer 0.55.0 → 0.55.1
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/package.json +1 -1
- package/src/app/kumiko-screen.tsx +2 -21
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-renderer",
|
|
3
|
-
"version": "0.55.
|
|
3
|
+
"version": "0.55.1",
|
|
4
4
|
"description": "Platform-agnostic React renderer for Kumiko screens. Contains the shared logic — primitives-contract, hooks, KumikoScreen, navigation & SSE abstractions — that any platform-specific renderer (web, native) composes. No DOM, no EventSource, no react-dom.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConfigCascade
|
|
1
|
+
import type { ConfigCascade } from "@cosmicdrift/kumiko-framework/engine";
|
|
2
2
|
import type {
|
|
3
3
|
ActionFormScreenDefinition,
|
|
4
4
|
ConfigEditScreenDefinition,
|
|
@@ -1032,7 +1032,7 @@ function ConfigEditBody({
|
|
|
1032
1032
|
readonly screen: ConfigEditScreenDefinition;
|
|
1033
1033
|
readonly translate?: Translate;
|
|
1034
1034
|
}): ReactNode {
|
|
1035
|
-
const { Banner,
|
|
1035
|
+
const { Banner, ConfigCascadeView } = usePrimitives();
|
|
1036
1036
|
const dispatcher = useDispatcher();
|
|
1037
1037
|
|
|
1038
1038
|
// Detail-Load: config:query:values returnt ALLE Keys des Tenants.
|
|
@@ -1081,19 +1081,6 @@ function ConfigEditBody({
|
|
|
1081
1081
|
return out as FormValues;
|
|
1082
1082
|
}, [valuesQuery.data, screen.fields, screen.configKeys]);
|
|
1083
1083
|
|
|
1084
|
-
// Sources-Lookup: qualifiedKey → ConfigValueSource für das
|
|
1085
|
-
// ConfigSourceBadge. Wird via labelAppendix an RenderEdit
|
|
1086
|
-
// durchgereicht.
|
|
1087
|
-
const sources = useMemo<Record<string, ConfigValueSource>>(() => {
|
|
1088
|
-
if (valuesQuery.data === null) return {};
|
|
1089
|
-
const out: Record<string, ConfigValueSource> = {};
|
|
1090
|
-
for (const [shortName, qualified] of Object.entries(screen.configKeys)) {
|
|
1091
|
-
const source = valuesQuery.data[qualified]?.source as ConfigValueSource | undefined; // @cast-boundary engine-payload
|
|
1092
|
-
if (source !== undefined) out[shortName] = source;
|
|
1093
|
-
}
|
|
1094
|
-
return out;
|
|
1095
|
-
}, [valuesQuery.data, screen.configKeys]);
|
|
1096
|
-
|
|
1097
1084
|
// Cascade-Lookup: qualifiedKey → ConfigCascade für die
|
|
1098
1085
|
// Cascade-Anzeige unter jedem Feld. Defensive `levels`-Shape-Check
|
|
1099
1086
|
// damit fremde Query-Mocks (z.B. configEdit-Unit-Tests die nur
|
|
@@ -1172,12 +1159,6 @@ function ConfigEditBody({
|
|
|
1172
1159
|
customSubmit={customSubmit}
|
|
1173
1160
|
{...(screen.submitLabel !== undefined && { submitLabel: screen.submitLabel })}
|
|
1174
1161
|
{...(translate !== undefined && { translate })}
|
|
1175
|
-
labelAppendix={(fieldName: string) => {
|
|
1176
|
-
const source = sources[fieldName];
|
|
1177
|
-
return source ? (
|
|
1178
|
-
<ConfigSourceBadge source={source} screenScope={screen.scope} />
|
|
1179
|
-
) : undefined;
|
|
1180
|
-
}}
|
|
1181
1162
|
fieldAppendix={(fieldName: string) => {
|
|
1182
1163
|
const cascade = cascades[fieldName];
|
|
1183
1164
|
if (cascade === undefined) return undefined;
|