@cosmicdrift/kumiko-headless 0.244.0 → 0.245.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-headless",
3
- "version": "0.244.0",
3
+ "version": "0.245.0",
4
4
  "description": "Headless UI logic for Kumiko — Dispatcher contract, Form-Controller, View-Model, Nav-Resolver. Plattform- und React-frei; jeder Renderer (renderer, renderer-web, renderer-native, …) komponiert darauf.",
5
5
  "license": "BUSL-1.1",
6
6
  "author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
@@ -36,7 +36,7 @@
36
36
  }
37
37
  },
38
38
  "dependencies": {
39
- "@cosmicdrift/kumiko-framework": "0.244.0",
39
+ "@cosmicdrift/kumiko-framework": "0.245.0",
40
40
  "temporal-polyfill": "^0.3.2",
41
41
  "zod": "^4.4.3"
42
42
  },
@@ -203,9 +203,13 @@ export function computeEditViewModel<
203
203
  options,
204
204
  )
205
205
  : undefined;
206
- // Checkbox-grid rendering hints for `type: "multiSelect"` — pass
207
- // through unchanged so the renderer can pick the grid layout.
208
- const display = fieldDef.type === "multiSelect" ? fieldDef.display : undefined;
206
+ // Checkbox-grid rendering hint for `type: "multiSelect"` and the
207
+ // radio-vs-dropdown hint for `type: "select"` — pass through unchanged
208
+ // so the renderer can skip its own layout heuristic.
209
+ const display =
210
+ fieldDef.type === "multiSelect" || fieldDef.type === "select"
211
+ ? fieldDef.display
212
+ : undefined;
209
213
  const columns = fieldDef.type === "multiSelect" ? fieldDef.columns : undefined;
210
214
  const maxRows = fieldDef.type === "multiSelect" ? fieldDef.maxRows : undefined;
211
215
  // Multiline hint for `type: "text"` — the renderer then switches to a
@@ -145,8 +145,10 @@ export type EditFieldViewModel = {
145
145
  readonly optionLabels?: Readonly<Record<string, string>>;
146
146
  /** Set for `type: "multiSelect"` when MultiSelectFieldDef.display is
147
147
  * "checkboxes" — the renderer shows a checkbox grid with a select-all
148
- * toggle instead of the default combobox dropdown. */
149
- readonly display?: "checkboxes" | "dropdown";
148
+ * toggle instead of the default combobox dropdown. Set for
149
+ * `type: "select"` when SelectFieldDef.display is "radio" or "dropdown" —
150
+ * the renderer then skips its own radio-vs-dropdown heuristic. */
151
+ readonly display?: "checkboxes" | "dropdown" | "radio";
150
152
  /** Set for `type: "multiSelect"` when MultiSelectFieldDef.columns is
151
153
  * defined — column count for the checkbox grid at the widest breakpoint.
152
154
  * Ignored unless `display` is "checkboxes". */