@cosmicdrift/kumiko-types 0.237.1 → 0.238.0
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/screen.ts +26 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.238.0",
|
|
4
4
|
"description": "Framework-Type-Definitions für Kumiko — FeatureDefinition, BootCheck-Types und die reinen Engine-Types. Erlaubt Downstream-Konsumenten, gegen die Type-Contracts zu bauen, ohne das ganze Framework-Package zu importieren. Enthaelt keine identitaets-sensitiven Runtime-Werte mehr (Error-Klassen leben seit #1629 in kumiko-framework, Brand-Symbole nutzen Symbol.for) und ist deshalb eine plain dependency, keine peerDependency.",
|
|
5
5
|
"license": "BUSL-1.1",
|
|
6
6
|
"author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
|
package/src/screen.ts
CHANGED
|
@@ -117,6 +117,17 @@ export type ListColumnSpec =
|
|
|
117
117
|
* label; without one it is rejected at boot as an unknown field. `field`
|
|
118
118
|
* is then just a stable column key (pick any unique slug). */
|
|
119
119
|
readonly label?: string;
|
|
120
|
+
/** Marks this column as a reference lookup instead of a plain value —
|
|
121
|
+
* for projectionList/relatedList columns, which have no
|
|
122
|
+
* `EntityDefinition` to carry a real `reference` field type. Same
|
|
123
|
+
* target convention as `parseRefTarget`: an entity name (same
|
|
124
|
+
* feature) or `feature:entity` (cross-feature). Ignored on
|
|
125
|
+
* `entityList` columns, where the field's own declared type always
|
|
126
|
+
* wins. */
|
|
127
|
+
readonly refEntity?: string;
|
|
128
|
+
/** Row field on the referenced entity shown as the label (default
|
|
129
|
+
* "id"). Only meaningful together with `refEntity`. */
|
|
130
|
+
readonly refLabelField?: string;
|
|
120
131
|
};
|
|
121
132
|
|
|
122
133
|
// Pagination-Modi für entityList:
|
|
@@ -665,6 +676,17 @@ export type EditFieldSpec =
|
|
|
665
676
|
* `multiline` routes to a textarea (no icon slot), and other input
|
|
666
677
|
* kinds (select, combobox, date, …) silently ignore the key. */
|
|
667
678
|
readonly icon?: FieldIconKey;
|
|
679
|
+
/** Marks this field as a reference lookup instead of a plain value —
|
|
680
|
+
* for projectionDetail fields, which have no `EntityDefinition` to
|
|
681
|
+
* carry a real `reference` field type. Same target convention as
|
|
682
|
+
* `parseRefTarget` (and `ListColumnSpec.refEntity`): an entity name
|
|
683
|
+
* (same feature) or `feature:entity` (cross-feature). Ignored on
|
|
684
|
+
* `entityEdit` fields, where the field's own declared type always
|
|
685
|
+
* wins. */
|
|
686
|
+
readonly refEntity?: string;
|
|
687
|
+
/** Row field on the referenced entity shown as the label (default
|
|
688
|
+
* "id"). Only meaningful together with `refEntity`. */
|
|
689
|
+
readonly refLabelField?: string;
|
|
668
690
|
};
|
|
669
691
|
|
|
670
692
|
// A section is a normal field-grid (default — `kind` omitted keeps every
|
|
@@ -751,8 +773,10 @@ export type FormWidth = "3xl" | "4xl" | "full";
|
|
|
751
773
|
|
|
752
774
|
export type EditLayout = {
|
|
753
775
|
readonly sections: readonly EditSectionSpec[];
|
|
754
|
-
/** Default "
|
|
755
|
-
*
|
|
776
|
+
/** Default "4xl" (a centered column, narrower than list chrome), unless
|
|
777
|
+
* the app overrides it via `createKumikoApp({ screenWidth })`. Override
|
|
778
|
+
* per-screen to "3xl" for a narrower column or "full" to match list
|
|
779
|
+
* chrome. */
|
|
756
780
|
readonly width?: FormWidth;
|
|
757
781
|
/** Default "single". "wizard" renders one section per step (with
|
|
758
782
|
* progress + per-step validation) instead of all sections at once —
|