@softize/opus 12.11.0 → 13.0.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 +29 -0
- package/bin/lib/check.mjs +2 -7
- package/bin/lib/copy.mjs +1 -5
- package/docs/adr/0005-structural-surfaces-share-an-explicit-anatomy.md +93 -10
- package/docs/adr/0007-toast-actions-form-an-ordered-collection.md +63 -0
- package/docs/adr/0008-hierarchical-navigation-is-composed-at-the-consumer-boundary.md +71 -0
- package/docs/radius-scale.md +1 -1
- package/package.json +1 -1
- package/registry/skills/maintain-opus-docs/SKILL.md +83 -0
- package/registry/skills/maintain-opus-docs/agents/openai.yaml +4 -0
- package/registry/skills/maintain-opus-docs/references/editorial-standard.md +85 -0
- package/registry/skills/maintain-opus-docs/references/evaluations.md +34 -0
- package/registry/skills/maintain-opus-docs/scripts/audit-docs.mjs +81 -0
- package/src/ui/components/patterns/confirm.tsx +140 -40
- package/src/ui/components/patterns/list.tsx +35 -40
- package/src/ui/components/patterns/page-state.tsx +2 -2
- package/src/ui/components/patterns/sidebar.tsx +26 -26
- package/src/ui/components/patterns/trigger.tsx +25 -22
- package/src/ui/components/primitives/alert.tsx +3 -3
- package/src/ui/components/primitives/dialog.tsx +196 -39
- package/src/ui/components/primitives/drawer.tsx +8 -5
- package/src/ui/components/primitives/empty.tsx +3 -3
- package/src/ui/components/primitives/item.tsx +3 -3
- package/src/ui/components/primitives/sonner.tsx +187 -8
- package/src/ui/docs/DocBrowser.tsx +102 -23
- package/src/ui/docs/content/accordion.md +22 -16
- package/src/ui/docs/content/action-form-card.md +8 -8
- package/src/ui/docs/content/action-form-dialog.md +9 -9
- package/src/ui/docs/content/action-form.md +28 -34
- package/src/ui/docs/content/action-list-dialog.md +11 -6
- package/src/ui/docs/content/action-list.md +64 -39
- package/src/ui/docs/content/action-trigger.md +21 -14
- package/src/ui/docs/content/action-view.md +8 -8
- package/src/ui/docs/content/actions.md +9 -9
- package/src/ui/docs/content/ai.md +3 -3
- package/src/ui/docs/content/alert.md +14 -12
- package/src/ui/docs/content/aspect-ratio.md +4 -4
- package/src/ui/docs/content/audit.md +2 -2
- package/src/ui/docs/content/auth.md +3 -3
- package/src/ui/docs/content/avatar.md +34 -14
- package/src/ui/docs/content/badge.md +3 -3
- package/src/ui/docs/content/breadcrumb.md +13 -8
- package/src/ui/docs/content/button.md +81 -6
- package/src/ui/docs/content/calendar.md +5 -5
- package/src/ui/docs/content/card.md +1 -1
- package/src/ui/docs/content/carousel.md +16 -11
- package/src/ui/docs/content/chat.md +3 -3
- package/src/ui/docs/content/checkbox.md +7 -7
- package/src/ui/docs/content/cli.md +5 -5
- package/src/ui/docs/content/collapsible.md +8 -8
- package/src/ui/docs/content/command.md +16 -8
- package/src/ui/docs/content/composer.md +2 -2
- package/src/ui/docs/content/content.md +2 -2
- package/src/ui/docs/content/copyable.md +4 -3
- package/src/ui/docs/content/customization.md +5 -5
- package/src/ui/docs/content/cycle.md +3 -3
- package/src/ui/docs/content/data-state.md +11 -12
- package/src/ui/docs/content/data.md +26 -33
- package/src/ui/docs/content/detail.md +3 -3
- package/src/ui/docs/content/dialog.md +339 -31
- package/src/ui/docs/content/dictionary-value.md +8 -8
- package/src/ui/docs/content/dock.md +3 -3
- package/src/ui/docs/content/drawer.md +27 -14
- package/src/ui/docs/content/empty-value.md +2 -2
- package/src/ui/docs/content/empty.md +19 -12
- package/src/ui/docs/content/events.md +4 -4
- package/src/ui/docs/content/field.md +34 -12
- package/src/ui/docs/content/getting-started.md +1 -1
- package/src/ui/docs/content/icon-picker.md +8 -4
- package/src/ui/docs/content/input-otp.md +20 -12
- package/src/ui/docs/content/input.md +121 -9
- package/src/ui/docs/content/item.md +27 -13
- package/src/ui/docs/content/kbd.md +19 -11
- package/src/ui/docs/content/label.md +5 -3
- package/src/ui/docs/content/log.md +4 -4
- package/src/ui/docs/content/markdown.md +7 -6
- package/src/ui/docs/content/mcp.md +13 -15
- package/src/ui/docs/content/menu.md +34 -16
- package/src/ui/docs/content/observability.md +2 -2
- package/src/ui/docs/content/page.md +51 -6
- package/src/ui/docs/content/pagination.md +22 -17
- package/src/ui/docs/content/popover.md +16 -8
- package/src/ui/docs/content/progress.md +7 -5
- package/src/ui/docs/content/queue.md +5 -5
- package/src/ui/docs/content/radio-group.md +20 -12
- package/src/ui/docs/content/router.md +11 -6
- package/src/ui/docs/content/scheduler.md +4 -5
- package/src/ui/docs/content/scroll-area.md +12 -7
- package/src/ui/docs/content/select.md +42 -29
- package/src/ui/docs/content/separator.md +5 -5
- package/src/ui/docs/content/sidebar.md +323 -54
- package/src/ui/docs/content/skeleton.md +3 -2
- package/src/ui/docs/content/slider.md +8 -7
- package/src/ui/docs/content/spinner.md +8 -8
- package/src/ui/docs/content/split.md +8 -5
- package/src/ui/docs/content/storage.md +6 -8
- package/src/ui/docs/content/switch.md +8 -7
- package/src/ui/docs/content/table.md +13 -3
- package/src/ui/docs/content/tabs.md +28 -14
- package/src/ui/docs/content/testing.md +9 -11
- package/src/ui/docs/content/textarea.md +5 -4
- package/src/ui/docs/content/toast.md +47 -13
- package/src/ui/docs/content/toggle.md +75 -7
- package/src/ui/docs/content/tokens.md +3 -3
- package/src/ui/docs/content/tooltip.md +19 -11
- package/src/ui/docs/content/truncate.md +7 -8
- package/src/ui/docs/content/ui.md +10 -9
- package/src/ui/docs/content/upgrading.md +7 -8
- package/src/ui/docs/registry.tsx +20 -37
- package/src/ui/meta.ts +64 -94
- package/src/ui/react.tsx +15 -16
- package/src/ui/theme.css +50 -0
- package/src/ui/components/primitives/alert-dialog.tsx +0 -192
- package/src/ui/docs/content/alert-dialog.md +0 -73
- package/src/ui/docs/content/button-group.md +0 -71
- package/src/ui/docs/content/confirm.md +0 -120
- package/src/ui/docs/content/input-group.md +0 -79
- package/src/ui/docs/content/page-state.md +0 -45
- package/src/ui/docs/content/toggle-group.md +0 -81
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Informação complementar
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Use `Tooltip` para informação curta e complementar. Como a dica não está disponível em todas as
|
|
4
|
+
formas de interação, ela não pode conter informação essencial. Botões somente com ícone continuam
|
|
5
|
+
precisando de `aria-label`.
|
|
4
6
|
|
|
5
7
|
```tsx preview
|
|
6
8
|
<Tooltip>
|
|
@@ -13,7 +15,7 @@ Texto auxiliar, nunca essencial — quem navega por toque não vê tooltip. Em b
|
|
|
13
15
|
|
|
14
16
|
## Lados
|
|
15
17
|
|
|
16
|
-
side
|
|
18
|
+
`side` define o lado preferido; o Radix reposiciona a dica quando não há espaço.
|
|
17
19
|
|
|
18
20
|
```tsx preview
|
|
19
21
|
<Tooltip>
|
|
@@ -30,9 +32,10 @@ side escolhe o lado preferido; o Radix inverte sozinho quando falta espaço.
|
|
|
30
32
|
</Tooltip>
|
|
31
33
|
```
|
|
32
34
|
|
|
33
|
-
## Provider
|
|
35
|
+
## Provider na raiz
|
|
34
36
|
|
|
35
|
-
|
|
37
|
+
Monte um único `TooltipProvider` na raiz para compartilhar o atraso de exibição. Cada `Tooltip` não
|
|
38
|
+
precisa de um provider próprio.
|
|
36
39
|
|
|
37
40
|
```tsx
|
|
38
41
|
/* main.tsx do app — uma vez, no root. */
|
|
@@ -54,11 +57,16 @@ default nos formulários.
|
|
|
54
57
|
</Tooltip>
|
|
55
58
|
```
|
|
56
59
|
|
|
57
|
-
##
|
|
60
|
+
## Propriedades de TooltipProvider
|
|
58
61
|
|
|
59
|
-
|
|
|
62
|
+
| Propriedade | Tipo | Padrão | Descrição |
|
|
60
63
|
|---|---|---|---|
|
|
61
|
-
| `
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
| `delayDuration` | `number` | `0` | Atraso antes da exibição, compartilhado pelos tooltips do aplicativo. |
|
|
65
|
+
|
|
66
|
+
## Propriedades de TooltipContent
|
|
67
|
+
|
|
68
|
+
| Propriedade | Tipo | Padrão | Descrição |
|
|
69
|
+
|---|---|---|---|
|
|
70
|
+
| `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | `'top'` | Lado preferido; o Radix reposiciona a dica quando não há espaço. |
|
|
71
|
+
| `sideOffset` | `number` | `0` | Distância entre o gatilho e a dica. |
|
|
72
|
+
| `className` | `string` | `max-w-sm text-pretty` | Classes para ajustar o limite e a distribuição do texto. |
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Truncar somente quando necessário
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
sempre presente, que vira ruído.
|
|
3
|
+
Use `Truncate` para limitar um texto a uma linha e mostrar a dica somente quando houver transbordo.
|
|
4
|
+
O componente mede novamente o conteúdo quando o tamanho muda. Se o texto couber, não cria tooltip.
|
|
6
5
|
|
|
7
6
|
```tsx preview
|
|
8
7
|
<div className="w-48 rounded-md border p-2">
|
|
@@ -10,9 +9,9 @@ sempre presente, que vira ruído.
|
|
|
10
9
|
</div>
|
|
11
10
|
```
|
|
12
11
|
|
|
13
|
-
##
|
|
12
|
+
## Texto sem transbordo
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
Quando há espaço suficiente, o componente mantém apenas o texto visível.
|
|
16
15
|
|
|
17
16
|
```tsx preview
|
|
18
17
|
<div className="w-96 rounded-md border p-2">
|
|
@@ -48,8 +47,8 @@ const { ref, overflowing } = useOverflowing<HTMLSpanElement>(label)
|
|
|
48
47
|
|
|
49
48
|
## Conteúdo da dica
|
|
50
49
|
|
|
51
|
-
`tooltip`
|
|
52
|
-
quando
|
|
50
|
+
`tooltip` substitui o conteúdo da dica, cujo padrão são os próprios `children`. Use essa propriedade
|
|
51
|
+
quando o texto completo ainda não oferecer contexto suficiente.
|
|
53
52
|
|
|
54
53
|
```tsx preview
|
|
55
54
|
<div className="w-48 rounded-md border p-2">
|
|
@@ -4,21 +4,22 @@ title: Como consumir
|
|
|
4
4
|
|
|
5
5
|
# Como consumir a UI
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
Esta documentação é a referência visual e de uso de `@softize/opus/ui`. Os exemplos são renderizados
|
|
8
|
+
com o tema e o contrato entregues aos aplicativos.
|
|
9
9
|
|
|
10
10
|
## Por que esta doc existe
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
O catálogo do shadcn documenta seu próprio código e pode mostrar composições que não fazem parte do
|
|
13
|
+
Opus. Consulte estas páginas para conhecer os componentes, as variações e os comportamentos
|
|
14
|
+
suportados pelo pacote.
|
|
14
15
|
|
|
15
|
-
Cada página
|
|
16
|
-
|
|
17
|
-
componente (o `meta` co-localizado na fonte) — a doc deriva, não duplica.
|
|
16
|
+
Cada página combina exemplos vivos, código e uma referência de propriedades por componente. A
|
|
17
|
+
orientação inicial vem de `componentMeta`, a mesma fonte usada pelo catálogo e pelas ferramentas.
|
|
18
18
|
|
|
19
19
|
## Como consumir
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Importe componentes e hooks de `@softize/opus/ui/react` e o tema por CSS. Não copie a implementação
|
|
22
|
+
para o aplicativo quando a API pública já atender ao caso.
|
|
22
23
|
|
|
23
24
|
```tsx
|
|
24
25
|
// Componentes e hooks — tudo do mesmo barrel.
|
|
@@ -36,5 +37,5 @@ import { Button, Dialog, useAction } from '@softize/opus/ui/react'
|
|
|
36
37
|
- **Origem shadcn** — port curado do shadcn (Radix + cmdk). Toda divergência do upstream é
|
|
37
38
|
DECLARADA no componente ou no tema — o que diverge sem declaração é drift e deve ser
|
|
38
39
|
sincronizado (skill `build-opus-ui`).
|
|
39
|
-
- **Nativo do Opus** — nasceu aqui (os patterns de action). Não tem upstream
|
|
40
|
+
- **Nativo do Opus** — nasceu aqui (os patterns de action). Não tem upstream para acompanhar; a
|
|
40
41
|
referência é esta doc.
|
|
@@ -4,11 +4,10 @@ title: Atualizar o Opus
|
|
|
4
4
|
|
|
5
5
|
# Atualizar o Opus
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
cada etapa está documentada ou é verificada por um gate que informa o que precisa ser corrigido.
|
|
7
|
+
Use este fluxo para atualizar o Opus por uma ou várias versões. O changelog explica as mudanças e os
|
|
8
|
+
gates apontam as adaptações necessárias no projeto.
|
|
10
9
|
|
|
11
|
-
## 1.
|
|
10
|
+
## 1. Identificar a versão disponível
|
|
12
11
|
|
|
13
12
|
O **Maestro** compara o pin (`opus.json`) com a versão instalada e com a fonte a cada
|
|
14
13
|
sessão — o alerta no rodapé diz a distância (`v2.9.0 → v2.15.2`) e o **Atualizar** faz
|
|
@@ -16,7 +15,7 @@ a parte mecânica: bump da dependência, re-materialização da camada de IA (sk
|
|
|
16
15
|
hooks, agentes) e re-sync do bloco gerenciado do CLAUDE.md. Fora do Maestro:
|
|
17
16
|
`pnpm outdated @softize/opus`.
|
|
18
17
|
|
|
19
|
-
## 2.
|
|
18
|
+
## 2. Ler as mudanças acumuladas
|
|
20
19
|
|
|
21
20
|
O changelog **viaja no pacote** — depois do bump, está em
|
|
22
21
|
`node_modules/@softize/opus/CHANGELOG.md`. Uma entrada por versão; quando quebra,
|
|
@@ -26,7 +25,7 @@ A esteira de release **recusa** publicar versão sem entrada — o arquivo não
|
|
|
26
25
|
- **minor** (2.9 → 2.10): compatível; leia por curiosidade.
|
|
27
26
|
- **major** (2.x → 3.0): pare nas seções Breaking de cada versão pulada, na ordem.
|
|
28
27
|
|
|
29
|
-
## 3.
|
|
28
|
+
## 3. Executar as verificações
|
|
30
29
|
|
|
31
30
|
O Opus ship source: o que quebrou aparece com arquivo e linha. Rode, na ordem:
|
|
32
31
|
|
|
@@ -38,8 +37,8 @@ pnpm manifest:check # a spec projetada ficou fresca?
|
|
|
38
37
|
opus db migrate # schema em dia (drift-check embutido)
|
|
39
38
|
```
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
Com todas as verificações verdes, revise a atualização como qualquer outra mudança de código antes
|
|
41
|
+
de entregá-la.
|
|
43
42
|
|
|
44
43
|
## Pulou muitas versões?
|
|
45
44
|
|
package/src/ui/docs/registry.tsx
CHANGED
|
@@ -27,6 +27,7 @@ import authMd from "./content/auth.md?raw";
|
|
|
27
27
|
import auditMd from "./content/audit.md?raw";
|
|
28
28
|
import eventsMd from "./content/events.md?raw";
|
|
29
29
|
import logMd from "./content/log.md?raw";
|
|
30
|
+
import observabilityMd from "./content/observability.md?raw";
|
|
30
31
|
import queueMd from "./content/queue.md?raw";
|
|
31
32
|
import schedulerMd from "./content/scheduler.md?raw";
|
|
32
33
|
import actionsMd from "./content/actions.md?raw";
|
|
@@ -46,8 +47,6 @@ import customizationMd from "./content/customization.md?raw";
|
|
|
46
47
|
// — Componentes —
|
|
47
48
|
import accordionMd from "./content/accordion.md?raw";
|
|
48
49
|
import alertMd from "./content/alert.md?raw";
|
|
49
|
-
import alertDialogMd from "./content/alert-dialog.md?raw";
|
|
50
|
-
import confirmMd from "./content/confirm.md?raw";
|
|
51
50
|
import aspectRatioMd from "./content/aspect-ratio.md?raw";
|
|
52
51
|
import avatarMd from "./content/avatar.md?raw";
|
|
53
52
|
import badgeMd from "./content/badge.md?raw";
|
|
@@ -55,7 +54,6 @@ import dotMd from "./content/dot.md?raw";
|
|
|
55
54
|
import dockMd from "./content/dock.md?raw";
|
|
56
55
|
import breadcrumbMd from "./content/breadcrumb.md?raw";
|
|
57
56
|
import buttonMd from "./content/button.md?raw";
|
|
58
|
-
import buttonGroupMd from "./content/button-group.md?raw";
|
|
59
57
|
import calendarMd from "./content/calendar.md?raw";
|
|
60
58
|
import cardMd from "./content/card.md?raw";
|
|
61
59
|
import metricCardMd from "./content/metric-card.md?raw";
|
|
@@ -77,7 +75,6 @@ import menuMd from "./content/menu.md?raw";
|
|
|
77
75
|
import emptyMd from "./content/empty.md?raw";
|
|
78
76
|
import fieldMd from "./content/field.md?raw";
|
|
79
77
|
import inputMd from "./content/input.md?raw";
|
|
80
|
-
import inputGroupMd from "./content/input-group.md?raw";
|
|
81
78
|
import inputOtpMd from "./content/input-otp.md?raw";
|
|
82
79
|
import itemMd from "./content/item.md?raw";
|
|
83
80
|
import kbdMd from "./content/kbd.md?raw";
|
|
@@ -99,7 +96,6 @@ import tabsMd from "./content/tabs.md?raw";
|
|
|
99
96
|
import textareaMd from "./content/textarea.md?raw";
|
|
100
97
|
import toastMd from "./content/toast.md?raw";
|
|
101
98
|
import toggleMd from "./content/toggle.md?raw";
|
|
102
|
-
import toggleGroupMd from "./content/toggle-group.md?raw";
|
|
103
99
|
import tooltipMd from "./content/tooltip.md?raw";
|
|
104
100
|
import truncateMd from "./content/truncate.md?raw";
|
|
105
101
|
|
|
@@ -122,7 +118,6 @@ import actionTriggerMd from "./content/action-trigger.md?raw";
|
|
|
122
118
|
import actionSearchDialogMd from "./content/action-list-dialog.md?raw";
|
|
123
119
|
import pageMd from "./content/page.md?raw";
|
|
124
120
|
import contentMd from "./content/content.md?raw";
|
|
125
|
-
import pageStateMd from "./content/page-state.md?raw";
|
|
126
121
|
import sidebarMd from "./content/sidebar.md?raw";
|
|
127
122
|
import splitMd from "./content/split.md?raw";
|
|
128
123
|
import routerMd from "./content/router.md?raw";
|
|
@@ -139,6 +134,8 @@ export interface DocEntry {
|
|
|
139
134
|
export interface DocGroup {
|
|
140
135
|
/** Sub-rótulo opcional dentro da seção (ex.: Primitivos). Ausente = páginas direto na seção. */
|
|
141
136
|
label?: string;
|
|
137
|
+
/** Ícone opcional apresentado no nó expansível do grupo. */
|
|
138
|
+
icon?: React.ReactNode;
|
|
142
139
|
pages: DocEntry[];
|
|
143
140
|
}
|
|
144
141
|
|
|
@@ -178,7 +175,7 @@ const comp =
|
|
|
178
175
|
</DocPage>
|
|
179
176
|
);
|
|
180
177
|
|
|
181
|
-
/** O palco dos patterns no scope dos previews: ícones
|
|
178
|
+
/** O palco dos patterns no scope dos previews: ícones, cliente simulado e contratos de exemplo. */
|
|
182
179
|
const patternScope = {
|
|
183
180
|
...iconScope,
|
|
184
181
|
DocBrowserActionProvider,
|
|
@@ -291,6 +288,12 @@ export const PROTOCOL_SECTIONS: DocSection[] = [
|
|
|
291
288
|
render: doc(eventsMd),
|
|
292
289
|
},
|
|
293
290
|
{ slug: "log", title: "Log", badge: "log", render: doc(logMd) },
|
|
291
|
+
{
|
|
292
|
+
slug: "observability",
|
|
293
|
+
title: "Observabilidade",
|
|
294
|
+
badge: "observability",
|
|
295
|
+
render: doc(observabilityMd),
|
|
296
|
+
},
|
|
294
297
|
{
|
|
295
298
|
slug: "queue",
|
|
296
299
|
title: "Filas",
|
|
@@ -371,6 +374,7 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
371
374
|
groups: [
|
|
372
375
|
{
|
|
373
376
|
label: "Fundamentos",
|
|
377
|
+
icon: <lucideIcons.Blocks className="size-4" />,
|
|
374
378
|
pages: [
|
|
375
379
|
{
|
|
376
380
|
slug: "router",
|
|
@@ -381,6 +385,7 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
381
385
|
},
|
|
382
386
|
{
|
|
383
387
|
label: "Layout",
|
|
388
|
+
icon: <lucideIcons.PanelsTopLeft className="size-4" />,
|
|
384
389
|
pages: [
|
|
385
390
|
{
|
|
386
391
|
slug: "split",
|
|
@@ -402,11 +407,6 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
402
407
|
title: "Content",
|
|
403
408
|
render: pattern("Content", "content", contentMd),
|
|
404
409
|
},
|
|
405
|
-
{
|
|
406
|
-
slug: "page-state",
|
|
407
|
-
title: "Page State",
|
|
408
|
-
render: pattern("Page State", "page-state", pageStateMd),
|
|
409
|
-
},
|
|
410
410
|
{
|
|
411
411
|
slug: "accordion",
|
|
412
412
|
title: "Accordion",
|
|
@@ -442,6 +442,7 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
442
442
|
},
|
|
443
443
|
{
|
|
444
444
|
label: "Actions",
|
|
445
|
+
icon: <lucideIcons.Zap className="size-4" />,
|
|
445
446
|
pages: [
|
|
446
447
|
{
|
|
447
448
|
slug: "action-form",
|
|
@@ -498,6 +499,7 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
498
499
|
},
|
|
499
500
|
{
|
|
500
501
|
label: "IA",
|
|
502
|
+
icon: <lucideIcons.Sparkles className="size-4" />,
|
|
501
503
|
pages: [
|
|
502
504
|
{ slug: "ask", title: "Ask", render: comp("Ask", "ask", askMd) },
|
|
503
505
|
{ slug: "chat", title: "Chat", render: comp("Chat", "chat", chatMd) },
|
|
@@ -510,6 +512,7 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
510
512
|
},
|
|
511
513
|
{
|
|
512
514
|
label: "Formulário",
|
|
515
|
+
icon: <lucideIcons.TextCursorInput className="size-4" />,
|
|
513
516
|
pages: [
|
|
514
517
|
{
|
|
515
518
|
slug: "calendar",
|
|
@@ -536,11 +539,6 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
536
539
|
title: "Input",
|
|
537
540
|
render: comp("Input", "input", inputMd),
|
|
538
541
|
},
|
|
539
|
-
{
|
|
540
|
-
slug: "input-group",
|
|
541
|
-
title: "Input Group",
|
|
542
|
-
render: comp("Input Group", "input-group", inputGroupMd),
|
|
543
|
-
},
|
|
544
542
|
{
|
|
545
543
|
slug: "input-otp",
|
|
546
544
|
title: "Input OTP",
|
|
@@ -580,31 +578,23 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
580
578
|
},
|
|
581
579
|
{
|
|
582
580
|
label: "Botões",
|
|
581
|
+
icon: <lucideIcons.MousePointerClick className="size-4" />,
|
|
583
582
|
pages: [
|
|
584
583
|
{
|
|
585
584
|
slug: "button",
|
|
586
585
|
title: "Button",
|
|
587
586
|
render: comp("Button", "button", buttonMd),
|
|
588
587
|
},
|
|
589
|
-
{
|
|
590
|
-
slug: "button-group",
|
|
591
|
-
title: "Button Group",
|
|
592
|
-
render: comp("Button Group", "button-group", buttonGroupMd),
|
|
593
|
-
},
|
|
594
588
|
{
|
|
595
589
|
slug: "toggle",
|
|
596
590
|
title: "Toggle",
|
|
597
591
|
render: comp("Toggle", "toggle", toggleMd),
|
|
598
592
|
},
|
|
599
|
-
{
|
|
600
|
-
slug: "toggle-group",
|
|
601
|
-
title: "Toggle Group",
|
|
602
|
-
render: comp("Toggle Group", "toggle-group", toggleGroupMd),
|
|
603
|
-
},
|
|
604
593
|
],
|
|
605
594
|
},
|
|
606
595
|
{
|
|
607
596
|
label: "Navegação",
|
|
597
|
+
icon: <lucideIcons.Compass className="size-4" />,
|
|
608
598
|
pages: [
|
|
609
599
|
{
|
|
610
600
|
slug: "breadcrumb",
|
|
@@ -626,6 +616,7 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
626
616
|
},
|
|
627
617
|
{
|
|
628
618
|
label: "Exibição",
|
|
619
|
+
icon: <lucideIcons.Eye className="size-4" />,
|
|
629
620
|
pages: [
|
|
630
621
|
{
|
|
631
622
|
slug: "avatar",
|
|
@@ -689,17 +680,13 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
689
680
|
},
|
|
690
681
|
{
|
|
691
682
|
label: "Feedback",
|
|
683
|
+
icon: <lucideIcons.MessageCircleWarning className="size-4" />,
|
|
692
684
|
pages: [
|
|
693
685
|
{
|
|
694
686
|
slug: "alert",
|
|
695
687
|
title: "Alert",
|
|
696
688
|
render: comp("Alert", "alert", alertMd),
|
|
697
689
|
},
|
|
698
|
-
{
|
|
699
|
-
slug: "confirm",
|
|
700
|
-
title: "Dialog (imperativo)",
|
|
701
|
-
render: comp("Dialog (imperativo)", "confirm", confirmMd),
|
|
702
|
-
},
|
|
703
690
|
{
|
|
704
691
|
slug: "data-state",
|
|
705
692
|
title: "Data State",
|
|
@@ -734,12 +721,8 @@ export const UI_SECTIONS: DocSection[] = [
|
|
|
734
721
|
},
|
|
735
722
|
{
|
|
736
723
|
label: "Sobreposição",
|
|
724
|
+
icon: <lucideIcons.Layers className="size-4" />,
|
|
737
725
|
pages: [
|
|
738
|
-
{
|
|
739
|
-
slug: "alert-dialog",
|
|
740
|
-
title: "Alert Dialog",
|
|
741
|
-
render: comp("Alert Dialog", "alert-dialog", alertDialogMd),
|
|
742
|
-
},
|
|
743
726
|
{
|
|
744
727
|
slug: "dialog",
|
|
745
728
|
title: "Dialog",
|