@softize/opus 12.10.0 → 12.11.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/CHANGELOG.md +27 -0
- package/bin/lib/check.mjs +1103 -310
- package/bin/lib/copy.mjs +11 -0
- package/docs/adr/0003-dictionary-presentation-is-declared.md +3 -0
- package/docs/adr/0004-page-content-state-is-composed.md +65 -0
- package/docs/adr/0005-structural-surfaces-share-an-explicit-anatomy.md +97 -0
- package/docs/adr/0006-semantic-context-precedes-visual-variant.md +182 -0
- package/package.json +1 -1
- package/registry/instructions/opus.md +5 -0
- package/registry/skills/build-opus-ui/SKILL.md +27 -16
- package/registry/skills/build-opus-ui/references/evaluations.md +16 -5
- package/registry/skills/build-opus-ui/references/ui-patterns.md +38 -15
- package/registry/skills/model-opus-dictionary/SKILL.md +4 -2
- package/registry/skills/model-opus-dictionary/references/evaluations.md +4 -3
- package/registry/templates/app/src/App.tsx +1 -1
- package/src/core/dictionary.ts +52 -14
- package/src/core/index.ts +10 -0
- package/src/core/ui-context.ts +29 -0
- package/src/schema/drivers/zod.ts +17 -8
- package/src/ui/components/patterns/action-form-card.tsx +18 -12
- package/src/ui/components/patterns/confirm.tsx +26 -3
- package/src/ui/components/patterns/content-header.tsx +335 -61
- package/src/ui/components/patterns/data-state.tsx +23 -10
- package/src/ui/components/patterns/list.tsx +1096 -777
- package/src/ui/components/patterns/page-state.tsx +115 -0
- package/src/ui/components/patterns/page.tsx +231 -41
- package/src/ui/components/patterns/sidebar.tsx +354 -80
- package/src/ui/components/patterns/trigger.tsx +13 -9
- package/src/ui/components/patterns/view.tsx +7 -11
- package/src/ui/components/primitives/alert-dialog.tsx +7 -5
- package/src/ui/components/primitives/alert.tsx +298 -110
- package/src/ui/components/primitives/ask.tsx +2 -1
- package/src/ui/components/primitives/badge.tsx +91 -30
- package/src/ui/components/primitives/button.tsx +99 -60
- package/src/ui/components/primitives/calendar.tsx +39 -39
- package/src/ui/components/primitives/card.tsx +96 -23
- package/src/ui/components/primitives/detail.tsx +2 -2
- package/src/ui/components/primitives/dictionary-value.tsx +9 -14
- package/src/ui/components/primitives/dot.tsx +74 -21
- package/src/ui/components/primitives/drawer.tsx +33 -20
- package/src/ui/components/primitives/item.tsx +137 -81
- package/src/ui/components/primitives/menu.tsx +11 -3
- package/src/ui/components/primitives/metric-card.tsx +133 -0
- package/src/ui/components/primitives/table.tsx +2 -2
- package/src/ui/docs/DocBrowser.tsx +3 -3
- package/src/ui/docs/changelog.tsx +1 -1
- package/src/ui/docs/content/action-form-card.md +1 -1
- package/src/ui/docs/content/alert-dialog.md +8 -8
- package/src/ui/docs/content/alert.md +49 -25
- package/src/ui/docs/content/badge.md +18 -19
- package/src/ui/docs/content/button.md +12 -9
- package/src/ui/docs/content/card.md +5 -5
- package/src/ui/docs/content/content.md +44 -0
- package/src/ui/docs/content/customization.md +2 -2
- package/src/ui/docs/content/detail.md +5 -2
- package/src/ui/docs/content/dialog.md +2 -2
- package/src/ui/docs/content/dictionary-value.md +11 -10
- package/src/ui/docs/content/dot.md +7 -7
- package/src/ui/docs/content/drawer.md +6 -3
- package/src/ui/docs/content/input-group.md +3 -2
- package/src/ui/docs/content/item.md +47 -21
- package/src/ui/docs/content/menu.md +5 -4
- package/src/ui/docs/content/metric-card.md +41 -0
- package/src/ui/docs/content/page-state.md +45 -0
- package/src/ui/docs/content/page.md +48 -10
- package/src/ui/docs/content/semantic-context.md +63 -0
- package/src/ui/docs/content/sidebar.md +4 -4
- package/src/ui/docs/content/skeleton.md +2 -2
- package/src/ui/docs/content/table.md +3 -3
- package/src/ui/docs/content/tokens.md +28 -0
- package/src/ui/docs/doc-client.tsx +2 -2
- package/src/ui/docs/registry.tsx +596 -228
- package/src/ui/lib/semantic-context.ts +30 -0
- package/src/ui/meta.ts +292 -270
- package/src/ui/react.tsx +378 -111
- package/src/ui/theme.css +66 -0
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,33 @@ 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.11.0 — 2026-09-04
|
|
11
|
+
|
|
12
|
+
A UI passa a separar intenção semântica de tratamento visual. `context` aceita `neutral`,
|
|
13
|
+
`primary`, `info`, `success`, `warning` e `danger`; `variant` fica restrita a `solid`, `subtle`,
|
|
14
|
+
`outline`, `ghost` e `link`. `tone` e as variantes semânticas anteriores continuam aceitos para
|
|
15
|
+
migração, mas novos componentes e dicionários devem declarar `context`. Actions destrutivas
|
|
16
|
+
continuam usando `destructive`, projetado visualmente como `danger`.
|
|
17
|
+
Durante a migração, use o alias antigo sozinho: combiná-lo com `context` é ambíguo e agora falha
|
|
18
|
+
explicitamente em vez de descartar uma das intenções.
|
|
19
|
+
|
|
20
|
+
Páginas, conteúdos e estados assíncronos ganham anatomia compartilhada. `PageState` cobre vazio e
|
|
21
|
+
erro no enquadramento da página; `Content` organiza título, descrição e ações; `MetricCard` evita
|
|
22
|
+
cards de indicador montados manualmente. `Page`, sidebars, alerts, itens, cards, drawers e tabelas
|
|
23
|
+
expõem slots estruturais consistentes, documentados e verificados por `opus check`.
|
|
24
|
+
As composições públicas anteriores de `ContentHeader`, `Alert` e `ItemHeader` permanecem
|
|
25
|
+
funcionais como adaptadores durante a série 12, enquanto o gate orienta código novo à anatomia.
|
|
26
|
+
|
|
27
|
+
Controles de tamanho normal passam a compartilhar a mesma altura relativa, e `Detail` alinha os
|
|
28
|
+
rótulos sem depender do comprimento de cada atributo. A documentação do catálogo inclui os novos
|
|
29
|
+
padrões, tokens e exemplos, e o verificador aceita slots válidos envolvidos por condicionais JSX.
|
|
30
|
+
|
|
31
|
+
**Migração:** troque intenção semântica declarada em `variant` ou `tone` por `context`, mantendo em
|
|
32
|
+
`variant` apenas a aparência. Em dicionários de status ou estágio, substitua `tone` por `context`.
|
|
33
|
+
Use `PageState`, `Content` e os slots estruturais em vez de reproduzir vazio, erro, cabeçalho ou
|
|
34
|
+
ações com composição local. O gate informa os locais que ainda usam a forma antiga ou uma anatomia
|
|
35
|
+
incompleta.
|
|
36
|
+
|
|
10
37
|
## 12.10.0 — 2026-09-03
|
|
11
38
|
|
|
12
39
|
`Alert` ganha a variante aditiva `warning` e passa a oferecer realce tonal nativo ao redor do
|