@cosmicdrift/kumiko-renderer 0.138.0 → 0.140.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.
Files changed (2) hide show
  1. package/package.json +3 -3
  2. package/src/primitives.tsx +21 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-renderer",
3
- "version": "0.138.0",
3
+ "version": "0.140.0",
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>",
@@ -15,8 +15,8 @@
15
15
  }
16
16
  },
17
17
  "dependencies": {
18
- "@cosmicdrift/kumiko-framework": "0.138.0",
19
- "@cosmicdrift/kumiko-headless": "0.138.0",
18
+ "@cosmicdrift/kumiko-framework": "0.140.0",
19
+ "@cosmicdrift/kumiko-headless": "0.140.0",
20
20
  "react": "^19.2.6"
21
21
  },
22
22
  "devDependencies": {
@@ -69,6 +69,14 @@ export type ButtonProps = {
69
69
  * Save, "danger" für Delete, "secondary" für Confirm-State,
70
70
  * "link" für Inline-Aktionen im Fließtext (kein BG, underline). */
71
71
  readonly variant?: "primary" | "secondary" | "danger" | "link";
72
+ /** Größe — default="md". "sm" für kompakte Inline-Aktionen (Toolbar,
73
+ * Listen-Zeilen), "icon" für quadratische Icon-only-Buttons. */
74
+ readonly size?: "sm" | "md" | "icon";
75
+ /** Barrierefreies Label — Pflicht bei icon-only-Buttons (children ist nur
76
+ * ein Icon/Zeichen), sonst hat der Button keinen zugänglichen Namen. */
77
+ readonly ariaLabel?: string;
78
+ /** Volle Breite des Containers — für CTA-Buttons in Karten/Panels. */
79
+ readonly fullWidth?: boolean;
72
80
  readonly children: ReactNode;
73
81
  readonly testId?: string;
74
82
  };
@@ -181,6 +189,19 @@ export type InputProps =
181
189
  readonly required?: boolean;
182
190
  readonly hasError?: boolean;
183
191
  }
192
+ | {
193
+ readonly kind: "range";
194
+ readonly id: string;
195
+ readonly name: string;
196
+ readonly value: number;
197
+ readonly onChange: (v: number) => void;
198
+ readonly min: number;
199
+ readonly max: number;
200
+ readonly step?: number;
201
+ readonly disabled?: boolean;
202
+ readonly required?: boolean;
203
+ readonly hasError?: boolean;
204
+ }
184
205
  | {
185
206
  readonly kind: "boolean";
186
207
  readonly id: string;