@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 break-all", expanded ? "" : "line-clamp-2"),
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
- className: "max-h-80 overflow-auto whitespace-pre-wrap break-all px-3 py-2 leading-relaxed",
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 break-all border-t border-white/10 px-3 py-2 leading-relaxed text-[var(--surface-danger-text)]",
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
- className: "max-h-80 overflow-auto whitespace-pre-wrap break-all border-t border-white/10 px-3 py-2 leading-relaxed text-[var(--surface-danger-text)]",
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.1",
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.0",
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 break-all",
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 className="max-h-80 overflow-auto whitespace-pre-wrap break-all px-3 py-2 leading-relaxed">
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="max-h-80 overflow-auto whitespace-pre-wrap break-all border-t border-white/10 px-3 py-2 leading-relaxed text-[var(--surface-danger-text)]"
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 className="max-h-80 overflow-auto whitespace-pre-wrap break-all border-t border-white/10 px-3 py-2 leading-relaxed text-[var(--surface-danger-text)]">
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}