@esperanca-ui/componentes 2.8.2 → 2.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/COMPONENTS.md +95 -1
- package/dist/componentes-esperanca.es.js +6264 -5750
- package/dist/componentes-esperanca.es.js.map +1 -1
- package/dist/componentes-esperanca.umd.js +39 -39
- package/dist/componentes-esperanca.umd.js.map +1 -1
- package/dist/components/GanttChart/GanttChart.d.ts +64 -0
- package/dist/components/Tabs/Tabs.d.ts +27 -0
- package/dist/index.d.ts +4 -0
- package/dist/style.css +1 -1
- package/package.json +2 -2
package/COMPONENTS.md
CHANGED
|
@@ -31,6 +31,95 @@ export function Example() {
|
|
|
31
31
|
}
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
+
## Shell Utilities Publicas
|
|
35
|
+
|
|
36
|
+
O pacote publico tambem entrega classes `esp-shell-*` para o layout base de aplicacoes com `Sidebar`, `PageHeader` e area principal.
|
|
37
|
+
|
|
38
|
+
Classes disponiveis:
|
|
39
|
+
|
|
40
|
+
- `esp-shell`: wrapper horizontal principal
|
|
41
|
+
- `esp-shell-main`: coluna principal ao lado da sidebar
|
|
42
|
+
- `esp-shell-header`: padding lateral padrao para `PageHeader`
|
|
43
|
+
- `esp-shell-actions`: alinhamento padrao das acoes do topo
|
|
44
|
+
- `esp-shell-content`: area principal abaixo do header
|
|
45
|
+
- `esp-shell-container`: container centralizado com largura maxima
|
|
46
|
+
- `esp-shell-density-compact`: reduz o espacamento geral do shell
|
|
47
|
+
- `esp-shell-density-comfortable`: densidade equilibrada para dashboard
|
|
48
|
+
- `esp-shell-density-spacious`: aumenta o respiro geral do shell
|
|
49
|
+
|
|
50
|
+
Exemplo:
|
|
51
|
+
|
|
52
|
+
```tsx
|
|
53
|
+
import { Background, Button, PageHeader, Sidebar } from '@esperanca-ui/componentes';
|
|
54
|
+
import '@esperanca-ui/componentes/style.css';
|
|
55
|
+
import { FiBell, FiHome, FiPlus, FiSearch, FiSettings, FiUsers } from 'react-icons/fi';
|
|
56
|
+
|
|
57
|
+
const sections = [
|
|
58
|
+
{
|
|
59
|
+
heading: 'Workspace',
|
|
60
|
+
items: [
|
|
61
|
+
{ label: 'Dashboard', icon: <FiHome />, path: '/dashboard' },
|
|
62
|
+
{ label: 'Members', icon: <FiUsers />, path: '/members' },
|
|
63
|
+
{ label: 'Settings', icon: <FiSettings />, path: '/settings' },
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
];
|
|
67
|
+
|
|
68
|
+
export function WorkspaceShell() {
|
|
69
|
+
return (
|
|
70
|
+
<Background pattern="dots">
|
|
71
|
+
<div className="esp-shell esp-shell-density-comfortable">
|
|
72
|
+
<Sidebar
|
|
73
|
+
surface="glass"
|
|
74
|
+
pinned
|
|
75
|
+
brandText="Ops Hub"
|
|
76
|
+
userName="Ana Costa"
|
|
77
|
+
userEmail="ana@example.com"
|
|
78
|
+
sections={sections}
|
|
79
|
+
activePath="/dashboard"
|
|
80
|
+
/>
|
|
81
|
+
|
|
82
|
+
<div className="esp-shell-main">
|
|
83
|
+
<PageHeader
|
|
84
|
+
sticky
|
|
85
|
+
title=""
|
|
86
|
+
className="esp-shell-header"
|
|
87
|
+
actions={
|
|
88
|
+
<div className="esp-shell-actions">
|
|
89
|
+
<Button variant="ghost" size="sm" className="esp-quick-action esp-quick-action-expand" aria-label="Buscar">
|
|
90
|
+
<FiSearch />
|
|
91
|
+
<span className="esp-quick-action-text">Buscar</span>
|
|
92
|
+
</Button>
|
|
93
|
+
<Button variant="ghost" size="sm" className="esp-quick-action esp-quick-action-expand" aria-label="Novo projeto">
|
|
94
|
+
<FiPlus />
|
|
95
|
+
<span className="esp-quick-action-text">Novo projeto</span>
|
|
96
|
+
</Button>
|
|
97
|
+
<Button variant="ghost" size="sm" className="esp-quick-action esp-quick-action-expand esp-quick-action-soft" aria-label="Notificacoes">
|
|
98
|
+
<FiBell />
|
|
99
|
+
<span className="esp-quick-action-text">Notificacoes</span>
|
|
100
|
+
</Button>
|
|
101
|
+
</div>
|
|
102
|
+
}
|
|
103
|
+
/>
|
|
104
|
+
|
|
105
|
+
<main className="esp-shell-content">
|
|
106
|
+
<div className="esp-shell-container">
|
|
107
|
+
{/* conteudo da pagina */}
|
|
108
|
+
</div>
|
|
109
|
+
</main>
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
</Background>
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Se o app for mais denso, principalmente com tabela, agenda ou lista operacional, prefira:
|
|
118
|
+
|
|
119
|
+
```tsx
|
|
120
|
+
<div className="esp-shell esp-shell-density-compact">...</div>
|
|
121
|
+
```
|
|
122
|
+
|
|
34
123
|
## Quick Actions Publicas
|
|
35
124
|
|
|
36
125
|
O pacote publico tambem entrega classes `esp-*` para acoes rapidas de topo usando `Button`.
|
|
@@ -44,7 +133,7 @@ Classes disponiveis:
|
|
|
44
133
|
- `esp-quick-action-glass`: variacao translúcida
|
|
45
134
|
- `esp-quick-action-text`: texto que participa da expansao no hover
|
|
46
135
|
|
|
47
|
-
Essas classes cuidam do visual do botao.
|
|
136
|
+
Essas classes cuidam do visual do botao. Para o layout do topo, prefira usar as classes publicas `esp-shell-actions` e `esp-shell-header`.
|
|
48
137
|
|
|
49
138
|
Exemplo:
|
|
50
139
|
|
|
@@ -77,11 +166,14 @@ export function TopQuickActions() {
|
|
|
77
166
|
|
|
78
167
|
- `Background` entrega a superficie e os patterns. Blobs borrados, cards glass e outros adornos dos exemplos continuam sendo estilos da aplicacao consumidora.
|
|
79
168
|
- `PageHeader` aceita qualquer `actions`, mas o layout do grupo de acoes continua sendo responsabilidade do app.
|
|
169
|
+
- `Tabs` foi pensado para dois niveis: navegacao contextual (`Resumo`, `Timeline`, `Gantt`, `Calendario`) e troca de modo (`Dia`, `Semana`, `Mes`).
|
|
80
170
|
- `Sidebar` agora expõe `surface="default" | "soft" | "glass"` como API publica para definir a superficie do menu lateral.
|
|
171
|
+
- No desktop, o `Sidebar` se comporta como lateral fixa real; a docs aplica um override local so para manter os previews contidos na vitrine.
|
|
81
172
|
- `TaskStatusBadge` e `TaskPriorityBadge` foram pensados como blocos base para agenda, cards de tarefa, timeline e Gantt.
|
|
82
173
|
- Ambos aceitam presets prontos e tambem `name` + `colors` para cenarios customizados sem criar outro componente.
|
|
83
174
|
- `TaskCard` e um wrapper de alto nivel sobre `Card`, herdando as mesmas variantes (`elevated`, `outlined`, `filled`, `glass`) e props visuais como `interactive`, `glassOpacity` e `glassBlur`.
|
|
84
175
|
- `TaskCalendar` usa o mesmo contrato visual do `Card` e agora suporta `month`, `week` e `day`. No mes as tarefas ficam pequenas como badges; em semana e dia o padrao vira card com mais contexto.
|
|
176
|
+
- `GanttChart` fecha a visao horizontal de planejamento e usa `groups` como primeiro nivel. Assim, o mesmo componente serve para agrupar por projeto ou por responsavel.
|
|
85
177
|
|
|
86
178
|
## Componentes Publicos
|
|
87
179
|
|
|
@@ -100,6 +192,7 @@ export function TopQuickActions() {
|
|
|
100
192
|
| `Loading` | `import { Loading } from '@esperanca-ui/componentes'` | `<Loading variant="spinner" />` |
|
|
101
193
|
| `Modal` | `import { Modal } from '@esperanca-ui/componentes'` | `<Modal isOpen={open} onClose={...}>...</Modal>` |
|
|
102
194
|
| `PageHeader` | `import { PageHeader } from '@esperanca-ui/componentes'` | `<PageHeader title="Clientes" />` |
|
|
195
|
+
| `Tabs` | `import { Tabs } from '@esperanca-ui/componentes'` | `<Tabs items={items} variant="underline" />` |
|
|
103
196
|
| `Portal` | `import { Portal } from '@esperanca-ui/componentes'` | `<Portal><div>Overlay</div></Portal>` |
|
|
104
197
|
| `Radio` | `import { Radio } from '@esperanca-ui/componentes'` | `<Radio label="Opcao A" />` |
|
|
105
198
|
| `RadioGroup` | `import { RadioGroup } from '@esperanca-ui/componentes'` | `<RadioGroup name="status" options={[...]} />` |
|
|
@@ -108,6 +201,7 @@ export function TopQuickActions() {
|
|
|
108
201
|
| `TaskPriorityBadge` | `import { TaskPriorityBadge } from '@esperanca-ui/componentes'` | `<TaskPriorityBadge priority="high" />` |
|
|
109
202
|
| `TaskCard` | `import { TaskCard } from '@esperanca-ui/componentes'` | `<TaskCard title="Revisar agenda" status="in_progress" />` |
|
|
110
203
|
| `TaskCalendar` | `import { TaskCalendar } from '@esperanca-ui/componentes'` | `<TaskCalendar tasks={tasks} defaultDate="2026-03-01" showViewSwitcher />` |
|
|
204
|
+
| `GanttChart` | `import { GanttChart } from '@esperanca-ui/componentes'` | `<GanttChart groups={groups} defaultView="month" />` |
|
|
111
205
|
| `DataTable` | `import { DataTable } from '@esperanca-ui/componentes'` | `<DataTable columns={columns} data={data} />` |
|
|
112
206
|
| `Textarea` | `import { Textarea } from '@esperanca-ui/componentes'` | `<Textarea label="Descricao" />` |
|
|
113
207
|
| `ThemeProvider` | `import { ThemeProvider } from '@esperanca-ui/componentes'` | `<ThemeProvider defaultTheme="system"><App /></ThemeProvider>` |
|