@tangle-network/ui 11.16.1 → 11.16.3
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @tangle-network/ui
|
|
2
2
|
|
|
3
|
+
## 11.16.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0132f5c: Terminal blocks wrap a long command, stdout and stderr at spaces first and break inside a token only when the token is longer than the line. `break-all` split `factory-playground` and `git` mid-word on a phone.
|
|
8
|
+
- a95c717: Each scrollable terminal output region carries `role="region"`, so its `aria-label` (stdout, stderr, error) names a landmark screen readers announce. A label on a bare `<pre>` is prohibited ARIA, and axe flagged it on the platform run page.
|
|
9
|
+
|
|
10
|
+
## 11.16.2
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 74e6dfb: `CommandPreview` output regions are keyboard-focusable and labelled (stdout, stderr, error), so a long output that scrolls inside the block can be scrolled without a pointer (WCAG 2.1.1; axe `scrollable-region-focusable`).
|
|
15
|
+
|
|
3
16
|
## 11.16.1
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -138,7 +138,7 @@ const CommandPreview = memo(({ part, defaultExpanded = false, className }) => {
|
|
|
138
138
|
children: "$"
|
|
139
139
|
}),
|
|
140
140
|
/* @__PURE__ */ jsx("code", {
|
|
141
|
-
className: cn("min-w-0 flex-1 whitespace-pre-wrap
|
|
141
|
+
className: cn("min-w-0 flex-1 whitespace-pre-wrap [overflow-wrap:anywhere]", expanded ? "" : "line-clamp-2"),
|
|
142
142
|
children: command
|
|
143
143
|
}),
|
|
144
144
|
/* @__PURE__ */ jsx(ExitBadge, {
|
|
@@ -171,16 +171,24 @@ const CommandPreview = memo(({ part, defaultExpanded = false, className }) => {
|
|
|
171
171
|
className: "border-t border-white/10",
|
|
172
172
|
children: [
|
|
173
173
|
output.stdout ? /* @__PURE__ */ jsx("pre", {
|
|
174
|
-
|
|
174
|
+
tabIndex: 0,
|
|
175
|
+
role: "region",
|
|
176
|
+
"aria-label": "stdout",
|
|
177
|
+
className: cn("max-h-80 overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere] px-3 py-2 leading-relaxed", focusRing),
|
|
175
178
|
children: output.stdout
|
|
176
179
|
}) : null,
|
|
177
180
|
output.stderr ? /* @__PURE__ */ jsx("pre", {
|
|
181
|
+
tabIndex: 0,
|
|
182
|
+
role: "region",
|
|
178
183
|
"aria-label": "stderr",
|
|
179
|
-
className: "max-h-80 overflow-auto whitespace-pre-wrap
|
|
184
|
+
className: cn("max-h-80 overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere] border-t border-white/10 px-3 py-2 leading-relaxed text-[var(--surface-danger-text)]", focusRing),
|
|
180
185
|
children: output.stderr
|
|
181
186
|
}) : null,
|
|
182
187
|
errorText ? /* @__PURE__ */ jsx("pre", {
|
|
183
|
-
|
|
188
|
+
tabIndex: 0,
|
|
189
|
+
role: "region",
|
|
190
|
+
"aria-label": "error",
|
|
191
|
+
className: cn("max-h-80 overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere] border-t border-white/10 px-3 py-2 leading-relaxed text-[var(--surface-danger-text)]", focusRing),
|
|
184
192
|
children: errorText
|
|
185
193
|
}) : null
|
|
186
194
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/ui",
|
|
3
|
-
"version": "11.16.
|
|
3
|
+
"version": "11.16.3",
|
|
4
4
|
"description": "Generic React UI components for Tangle products — primitives, chat, run, files, editor, markdown.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"peerDependencies": {
|
|
143
143
|
"@hocuspocus/provider": ">=2.15.0 <5.0.0",
|
|
144
144
|
"@nanostores/react": ">=0.8.4 <3.0.0",
|
|
145
|
-
"@tangle-network/brand": "^1.10.
|
|
145
|
+
"@tangle-network/brand": "^1.10.1",
|
|
146
146
|
"@tiptap/core": ">=3.20.4 <4.0.0",
|
|
147
147
|
"@tiptap/extension-collaboration": ">=3.20.4 <4.0.0",
|
|
148
148
|
"@tiptap/extension-collaboration-caret": ">=3.7.0 <4.0.0",
|
|
@@ -191,7 +191,7 @@ export const CommandPreview = memo(
|
|
|
191
191
|
</span>
|
|
192
192
|
<code
|
|
193
193
|
className={cn(
|
|
194
|
-
"min-w-0 flex-1 whitespace-pre-wrap
|
|
194
|
+
"min-w-0 flex-1 whitespace-pre-wrap [overflow-wrap:anywhere]",
|
|
195
195
|
expanded ? "" : "line-clamp-2",
|
|
196
196
|
)}
|
|
197
197
|
>
|
|
@@ -235,20 +235,41 @@ export const CommandPreview = memo(
|
|
|
235
235
|
{expanded && hasBody ? (
|
|
236
236
|
<div id={bodyId} className="border-t border-white/10">
|
|
237
237
|
{output.stdout ? (
|
|
238
|
-
<pre
|
|
238
|
+
<pre
|
|
239
|
+
tabIndex={0}
|
|
240
|
+
role="region"
|
|
241
|
+
aria-label="stdout"
|
|
242
|
+
className={cn(
|
|
243
|
+
"max-h-80 overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere] px-3 py-2 leading-relaxed",
|
|
244
|
+
focusRing,
|
|
245
|
+
)}
|
|
246
|
+
>
|
|
239
247
|
{output.stdout}
|
|
240
248
|
</pre>
|
|
241
249
|
) : null}
|
|
242
250
|
{output.stderr ? (
|
|
243
251
|
<pre
|
|
252
|
+
tabIndex={0}
|
|
253
|
+
role="region"
|
|
244
254
|
aria-label="stderr"
|
|
245
|
-
className=
|
|
255
|
+
className={cn(
|
|
256
|
+
"max-h-80 overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere] border-t border-white/10 px-3 py-2 leading-relaxed text-[var(--surface-danger-text)]",
|
|
257
|
+
focusRing,
|
|
258
|
+
)}
|
|
246
259
|
>
|
|
247
260
|
{output.stderr}
|
|
248
261
|
</pre>
|
|
249
262
|
) : null}
|
|
250
263
|
{errorText ? (
|
|
251
|
-
<pre
|
|
264
|
+
<pre
|
|
265
|
+
tabIndex={0}
|
|
266
|
+
role="region"
|
|
267
|
+
aria-label="error"
|
|
268
|
+
className={cn(
|
|
269
|
+
"max-h-80 overflow-auto whitespace-pre-wrap [overflow-wrap:anywhere] border-t border-white/10 px-3 py-2 leading-relaxed text-[var(--surface-danger-text)]",
|
|
270
|
+
focusRing,
|
|
271
|
+
)}
|
|
272
|
+
>
|
|
252
273
|
{errorText}
|
|
253
274
|
</pre>
|
|
254
275
|
) : null}
|