@softize/opus 12.5.2 → 12.5.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
@@ -7,6 +7,12 @@ Depois de qualquer bump, rode os gates (`typecheck` · `test` · `opus check` ·
7
7
  `opus copy --check` · `base copy check` · `manifest:check`) — eles apontam o que a
8
8
  mudança cobra do seu código.
9
9
 
10
+ ## 12.5.3 — 2026-08-24
11
+
12
+ O roving tabindex da `Dock` sobrevive ao re-render do consumidor. Antes o efeito devolvia o ponto
13
+ de entrada ao primeiro ícone a cada render da tela em volta, tirando do Tab justamente o botão em
14
+ foco — a barra prometia um ponto de entrada e entregava outro assim que qualquer estado mudava.
15
+
10
16
  ## 12.5.2 — 2026-08-24
11
17
 
12
18
  `SidebarItem` aplica `className` sempre na linha, recolhida ou aberta. Antes a prop mudava de alvo
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softize/opus",
3
- "version": "12.5.2",
3
+ "version": "12.5.3",
4
4
  "description": "End-to-end action protocol for TypeScript. Single package with subpath exports (core + adapters).",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -45,7 +45,10 @@ export function Dock({ position = 'bottom', label, className, children }: DockPr
45
45
  }, [])
46
46
 
47
47
  React.useEffect(() => {
48
- roving()
48
+ // Passa o foco corrente: sem isto, todo re-render do consumidor devolvia o ponto de entrada
49
+ // ao primeiro ícone e tirava do Tab quem estava focado.
50
+ const ativo = document.activeElement
51
+ roving(ativo instanceof HTMLElement ? ativo : undefined)
49
52
  })
50
53
 
51
54
  // Navegação de toolbar: as setas andam entre as ações, e Home/End vão às pontas. Sem isso