@cosmicdrift/kumiko-renderer 0.140.0 → 0.142.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 +3 -3
- package/src/primitives.tsx +13 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cosmicdrift/kumiko-renderer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.142.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.
|
|
19
|
-
"@cosmicdrift/kumiko-headless": "0.
|
|
18
|
+
"@cosmicdrift/kumiko-framework": "0.142.0",
|
|
19
|
+
"@cosmicdrift/kumiko-headless": "0.142.0",
|
|
20
20
|
"react": "^19.2.6"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
package/src/primitives.tsx
CHANGED
|
@@ -75,8 +75,10 @@ export type ButtonProps = {
|
|
|
75
75
|
/** Barrierefreies Label — Pflicht bei icon-only-Buttons (children ist nur
|
|
76
76
|
* ein Icon/Zeichen), sonst hat der Button keinen zugänglichen Namen. */
|
|
77
77
|
readonly ariaLabel?: string;
|
|
78
|
-
/**
|
|
79
|
-
|
|
78
|
+
/** Breite — default="auto" (inhaltsbreit). "full" streckt CTA-Buttons auf
|
|
79
|
+
* die Container-Breite (Karten/Panels). Andere Breiten sind Layout-Sache
|
|
80
|
+
* des Containers, kein Button-Prop (Kit hält arbiträres Sizing draußen). */
|
|
81
|
+
readonly width?: "full" | "auto";
|
|
80
82
|
readonly children: ReactNode;
|
|
81
83
|
readonly testId?: string;
|
|
82
84
|
};
|
|
@@ -150,6 +152,12 @@ export type InputProps =
|
|
|
150
152
|
/** Browser-Autofill / Native-Keyboard-Hint. Web setzt das auf
|
|
151
153
|
* `<input autocomplete=...>`, Native auf `textContentType`. */
|
|
152
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;
|
|
153
161
|
}
|
|
154
162
|
| {
|
|
155
163
|
readonly kind: "email";
|
|
@@ -164,6 +172,7 @@ export type InputProps =
|
|
|
164
172
|
/** Default "email". Apps die "username" wollen (Login-Form mit
|
|
165
173
|
* Username-or-Email) reichen das durch. */
|
|
166
174
|
readonly autoComplete?: string;
|
|
175
|
+
readonly testId?: string;
|
|
167
176
|
}
|
|
168
177
|
| {
|
|
169
178
|
readonly kind: "password";
|
|
@@ -178,6 +187,7 @@ export type InputProps =
|
|
|
178
187
|
* Browser-Password-Manager nutzen das für die Speicherentscheidung.
|
|
179
188
|
* Native: textContentType="password" / "newPassword". */
|
|
180
189
|
readonly autoComplete?: "current-password" | "new-password";
|
|
190
|
+
readonly testId?: string;
|
|
181
191
|
}
|
|
182
192
|
| {
|
|
183
193
|
readonly kind: "number";
|
|
@@ -188,6 +198,7 @@ export type InputProps =
|
|
|
188
198
|
readonly disabled?: boolean;
|
|
189
199
|
readonly required?: boolean;
|
|
190
200
|
readonly hasError?: boolean;
|
|
201
|
+
readonly testId?: string;
|
|
191
202
|
}
|
|
192
203
|
| {
|
|
193
204
|
readonly kind: "range";
|