@cosmicdrift/kumiko-renderer 0.141.0 → 0.143.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-renderer",
3
- "version": "0.141.0",
3
+ "version": "0.143.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.141.0",
19
- "@cosmicdrift/kumiko-headless": "0.141.0",
18
+ "@cosmicdrift/kumiko-framework": "0.143.0",
19
+ "@cosmicdrift/kumiko-headless": "0.143.0",
20
20
  "react": "^19.2.6"
21
21
  },
22
22
  "devDependencies": {
@@ -152,6 +152,12 @@ export type InputProps =
152
152
  /** Browser-Autofill / Native-Keyboard-Hint. Web setzt das auf
153
153
  * `<input autocomplete=...>`, Native auf `textContentType`. */
154
154
  readonly autoComplete?: string;
155
+ /** `data-testid` aufs echte `<input>` — App-Tests adressieren das
156
+ * Element direkt (getByTestId + readOnly/disabled-Assertions). */
157
+ readonly testId?: string;
158
+ /** Read-only Input (z.B. gewürfelter Free-Tier-Slug). Nicht `disabled`
159
+ * — bleibt fokussier-/kopierbar. */
160
+ readonly readOnly?: boolean;
155
161
  }
156
162
  | {
157
163
  readonly kind: "email";
@@ -166,6 +172,7 @@ export type InputProps =
166
172
  /** Default "email". Apps die "username" wollen (Login-Form mit
167
173
  * Username-or-Email) reichen das durch. */
168
174
  readonly autoComplete?: string;
175
+ readonly testId?: string;
169
176
  }
170
177
  | {
171
178
  readonly kind: "password";
@@ -180,6 +187,7 @@ export type InputProps =
180
187
  * Browser-Password-Manager nutzen das für die Speicherentscheidung.
181
188
  * Native: textContentType="password" / "newPassword". */
182
189
  readonly autoComplete?: "current-password" | "new-password";
190
+ readonly testId?: string;
183
191
  }
184
192
  | {
185
193
  readonly kind: "number";
@@ -190,6 +198,7 @@ export type InputProps =
190
198
  readonly disabled?: boolean;
191
199
  readonly required?: boolean;
192
200
  readonly hasError?: boolean;
201
+ readonly testId?: string;
193
202
  }
194
203
  | {
195
204
  readonly kind: "range";