@esperanca-ui/componentes 2.14.23 → 2.15.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 +11 -14
- package/README.md +2 -3
- package/dist/componentes-esperanca.es.js +6704 -7229
- package/dist/componentes-esperanca.es.js.map +1 -1
- package/dist/componentes-esperanca.umd.js +55 -55
- package/dist/componentes-esperanca.umd.js.map +1 -1
- package/dist/components/Background/Background.d.ts +1 -2
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Charts/ChartPreferencesMenu.d.ts +0 -1
- package/dist/components/Charts/chartTypes.d.ts +0 -1
- package/dist/components/GanttChart/GanttChart.d.ts +0 -10
- package/dist/components/PageHeader/PageHeader.d.ts +1 -2
- package/dist/components/Table/DataTable.d.ts +8 -1
- package/dist/components/TaskCalendar/TaskCalendar.d.ts +0 -17
- package/dist/index.d.ts +3 -7
- package/dist/style.css +1 -1
- package/package.json +4 -4
- package/dist/components/LoginForm/LoginForm.d.ts +0 -31
- package/dist/components/LoginScreen/LoginScreen.d.ts +0 -66
- package/dist/hooks/useHorizontalDragScroll.d.ts +0 -17
package/COMPONENTS.md
CHANGED
|
@@ -67,7 +67,7 @@ const sections = [
|
|
|
67
67
|
|
|
68
68
|
export function WorkspaceShell() {
|
|
69
69
|
return (
|
|
70
|
-
<Background
|
|
70
|
+
<Background pattern="dots">
|
|
71
71
|
<div className="esp-shell esp-shell-density-comfortable">
|
|
72
72
|
<Sidebar
|
|
73
73
|
surface="glass"
|
|
@@ -134,7 +134,6 @@ Classes disponiveis:
|
|
|
134
134
|
- `esp-quick-action-text`: texto que participa da expansao no hover
|
|
135
135
|
|
|
136
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`.
|
|
137
|
-
Para headers mais densos, `Button size="xs"` reduz quick actions e botoes de texto sem criar outra variante de componente.
|
|
138
137
|
|
|
139
138
|
Exemplo:
|
|
140
139
|
|
|
@@ -146,16 +145,16 @@ import { FiBell, FiPlus, FiSearch } from 'react-icons/fi';
|
|
|
146
145
|
export function TopQuickActions() {
|
|
147
146
|
return (
|
|
148
147
|
<div style={{ display: 'flex', justifyContent: 'flex-end', gap: 8 }}>
|
|
149
|
-
<Button variant="ghost" size="
|
|
148
|
+
<Button variant="ghost" size="sm" className="esp-quick-action esp-quick-action-expand" aria-label="Buscar">
|
|
150
149
|
<FiSearch />
|
|
151
150
|
<span className="esp-quick-action-text">Buscar</span>
|
|
152
151
|
</Button>
|
|
153
152
|
|
|
154
|
-
<Button variant="ghost" size="
|
|
153
|
+
<Button variant="ghost" size="sm" className="esp-quick-action esp-quick-action-outline" aria-label="Novo projeto">
|
|
155
154
|
<FiPlus />
|
|
156
155
|
</Button>
|
|
157
156
|
|
|
158
|
-
<Button variant="ghost" size="
|
|
157
|
+
<Button variant="ghost" size="sm" className="esp-quick-action esp-quick-action-soft" aria-label="Notificacoes">
|
|
159
158
|
<FiBell />
|
|
160
159
|
</Button>
|
|
161
160
|
</div>
|
|
@@ -165,9 +164,8 @@ export function TopQuickActions() {
|
|
|
165
164
|
|
|
166
165
|
## Notas de Integracao
|
|
167
166
|
|
|
168
|
-
- `Background` entrega a superficie e os patterns.
|
|
167
|
+
- `Background` entrega a superficie e os patterns. Blobs borrados, cards glass e outros adornos dos exemplos continuam sendo estilos da aplicacao consumidora.
|
|
169
168
|
- `PageHeader` aceita qualquer `actions`, mas o layout do grupo de acoes continua sendo responsabilidade do app.
|
|
170
|
-
- `PageHeader` agora aceita `variant="page" | "section"` para trocar a escala do titulo e da descricao sem criar outro componente para subtitulos de area.
|
|
171
169
|
- `Tabs` foi pensado para dois niveis: navegacao contextual (`Resumo`, `Timeline`, `Gantt`, `Calendario`) e troca de modo (`Dia`, `Semana`, `Mes`).
|
|
172
170
|
- `Sidebar` agora expõe `surface="default" | "soft" | "glass"` como API publica para definir a superficie do menu lateral.
|
|
173
171
|
- Itens do `Sidebar` aceitam `children` para submenu nativo. Em desktop o grupo abre no hover; em mobile o mesmo item funciona como toggle por clique.
|
|
@@ -180,16 +178,17 @@ export function TopQuickActions() {
|
|
|
180
178
|
- Para ajustar dashboards mais densos sem CSS manual, os charts tambem aceitam `axisFontSize`, `axisTitleFontSize`, `legendFontSize`, `valueLabelFontSize`, `valueLabelFontWeight` e `fontFamily`; no `LineChart`, `lineWidth` controla a espessura da linha.
|
|
181
179
|
- No `LineChart`, os labels de valor acompanham a ordem vertical das series em cada ponto: linha mais alta com valor acima, linha mais baixa com valor abaixo; quando cruzam, o lado do rotulo troca junto.
|
|
182
180
|
- Quando `enableUserPreferences` estiver ativo, o proprio usuario pode ajustar itens como titulo, legenda, nomes dos eixos, valores sobre os dados e orientacao do eixo X. Se `preferencesStorageKey` for informado, isso fica salvo em `localStorage`.
|
|
183
|
-
- `TaskCalendar` usa o mesmo contrato visual do `Card` e agora suporta `month`, `week` e `day`. No mes
|
|
184
|
-
- `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.
|
|
181
|
+
- `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.
|
|
182
|
+
- `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.
|
|
185
183
|
- `LineChart` e `StepLineChart` aceitam `yStartAtZero` para forcar o eixo Y a comecar em 0, `yMin` e `yMax` para definir limites customizados do eixo Y. Se nenhum for informado, o eixo e calculado automaticamente.
|
|
186
184
|
- `DataTable` agora suporta ordenacao por coluna. Colunas com `sortable: true` exibem indicador de ordenacao clicavel (none → asc → desc → none). Dois modos: **local** (sem `onSortChange`, ordena os dados automaticamente) e **controlado/server-side** (com `onSortChange`, o consumidor controla a ordenacao via API). Props: `sortKey`, `sortDirection`, `onSortChange`. Tipo `SortDirection` exportado como `'asc' | 'desc'`.
|
|
185
|
+
- `DataTable` agora suporta densidade de linhas. O botao na toolbar alterna entre `compact`, `comfortable` e `spacious` — mesma escala de `esp-shell-density-*` — reduzindo/aumentando o padding das celulas (e dos cards no mobile). Padrao: `comfortable`. Sem a prop `density` o componente controla e persiste sozinho no `localStorage`; com ela, o consumidor controla via `onDensityChange`. Props: `density`, `onDensityChange`, `densityStorageKey`. Tipo `TableDensity` exportado como `'compact' | 'comfortable' | 'spacious'`.
|
|
187
186
|
|
|
188
187
|
## Componentes Publicos
|
|
189
188
|
|
|
190
189
|
| Componente | Import | Uso minimo |
|
|
191
190
|
| --- | --- | --- |
|
|
192
|
-
| `Background` | `import { Background } from '@esperanca-ui/componentes'` | `<Background
|
|
191
|
+
| `Background` | `import { Background } from '@esperanca-ui/componentes'` | `<Background pattern="dots" />` |
|
|
193
192
|
| `Button` | `import { Button } from '@esperanca-ui/componentes'` | `<Button>Salvar</Button>` |
|
|
194
193
|
| `Card` | `import { Card } from '@esperanca-ui/componentes'` | `<Card><Card.Body>Conteudo</Card.Body></Card>` |
|
|
195
194
|
| `MetricCard` | `import { MetricCard } from '@esperanca-ui/componentes'` | `<MetricCard value="42" title="Ativos" />` |
|
|
@@ -200,13 +199,11 @@ export function TopQuickActions() {
|
|
|
200
199
|
| `FormSidebar` | `import { FormSidebar } from '@esperanca-ui/componentes'` | `<FormSidebar isOpen={open} onClose={...}>...</FormSidebar>` |
|
|
201
200
|
| `Grid` | `import { Grid } from '@esperanca-ui/componentes'` | `<Grid columns={{ base: 1, md: 2 }} gap={4}>...</Grid>` |
|
|
202
201
|
| `Input` | `import { Input } from '@esperanca-ui/componentes'` | `<Input label="Email" placeholder="Digite" />` |
|
|
203
|
-
| `LoginForm` | `import { LoginForm } from '@esperanca-ui/componentes'` | `<LoginForm emailValue={email} onEmailChange={setEmail} passwordValue={password} onPasswordChange={setPassword} onSubmit={...} />` |
|
|
204
|
-
| `LoginScreen` | `import { LoginScreen } from '@esperanca-ui/componentes'` | `<LoginScreen step="credentials" onSubmit={...} />` |
|
|
205
202
|
| `LineChart` | `import { LineChart } from '@esperanca-ui/componentes'` | `<LineChart data={data} series={series} lineWidth={2.5} axisFontSize={11} valueLabelFontSize={10} valueLabelFontWeight={600} legendPosition="top" showValueLabels enableUserPreferences preferencesStorageKey="receita-board" />` |
|
|
206
203
|
| `BarChart` | `import { BarChart } from '@esperanca-ui/componentes'` | `<BarChart data={data} series={series} xAxisLabel="Mes" yAxisLabel="Valor" yAxisTickWidth={112} axisFontSize={11} valueLabelFontSize={10} valueLabelFontWeight={600} showValueLabels enableUserPreferences />` |
|
|
207
204
|
| `Loading` | `import { Loading } from '@esperanca-ui/componentes'` | `<Loading variant="spinner" />` ou `<Loading fullScreen text="Validando acesso" />` |
|
|
208
205
|
| `Modal` | `import { Modal } from '@esperanca-ui/componentes'` | `<Modal isOpen={open} onClose={...}>...</Modal>` |
|
|
209
|
-
| `PageHeader` | `import { PageHeader } from '@esperanca-ui/componentes'` | `<PageHeader title="Clientes" />`
|
|
206
|
+
| `PageHeader` | `import { PageHeader } from '@esperanca-ui/componentes'` | `<PageHeader title="Clientes" />` |
|
|
210
207
|
| `Tabs` | `import { Tabs } from '@esperanca-ui/componentes'` | `<Tabs items={items} variant="underline" />` |
|
|
211
208
|
| `Portal` | `import { Portal } from '@esperanca-ui/componentes'` | `<Portal><div>Overlay</div></Portal>` |
|
|
212
209
|
| `Radio` | `import { Radio } from '@esperanca-ui/componentes'` | `<Radio label="Opcao A" />` |
|
|
@@ -217,7 +214,7 @@ export function TopQuickActions() {
|
|
|
217
214
|
| `TaskCard` | `import { TaskCard } from '@esperanca-ui/componentes'` | `<TaskCard title="Revisar agenda" status="in_progress" />` |
|
|
218
215
|
| `TaskCalendar` | `import { TaskCalendar } from '@esperanca-ui/componentes'` | `<TaskCalendar tasks={tasks} defaultDate="2026-03-01" showViewSwitcher />` |
|
|
219
216
|
| `GanttChart` | `import { GanttChart } from '@esperanca-ui/componentes'` | `<GanttChart groups={groups} defaultView="month" />` |
|
|
220
|
-
| `DataTable` | `import { DataTable } from '@esperanca-ui/componentes'` | `<DataTable columns={columns} data={data} layoutMode="scroll" dragToScroll />` |
|
|
217
|
+
| `DataTable` | `import { DataTable } from '@esperanca-ui/componentes'` | `<DataTable columns={columns} data={data} density="compact" layoutMode="scroll" dragToScroll />` |
|
|
221
218
|
| `Textarea` | `import { Textarea } from '@esperanca-ui/componentes'` | `<Textarea label="Descricao" />` |
|
|
222
219
|
| `ThemeProvider` | `import { ThemeProvider } from '@esperanca-ui/componentes'` | `<ThemeProvider defaultTheme="system"><App /></ThemeProvider>` |
|
|
223
220
|
| `ToastProvider` + `useToast` | `import { ToastProvider, useToast } from '@esperanca-ui/componentes'` | `<ToastProvider><App /></ToastProvider>` |
|
package/README.md
CHANGED
|
@@ -26,12 +26,11 @@ Biblioteca de componentes React com estilos em CSS puro, build com Vite e um sit
|
|
|
26
26
|
├── docs-site/ # app de documentacao
|
|
27
27
|
├── docker/ # imagens e configuracao nginx
|
|
28
28
|
├── docs/ # guias de uso/publicacao
|
|
29
|
-
├── scripts/ # wrappers Node para tarefas locais das docs
|
|
30
29
|
├── src/ # biblioteca publicada
|
|
31
30
|
├── .gitlab-ci.yml # validacao + publicacao
|
|
32
31
|
├── package.json # scripts e metadados do pacote
|
|
33
|
-
├── vite.config.ts
|
|
34
|
-
└── vite.config.docs.
|
|
32
|
+
├── vite.config.ts # build da biblioteca
|
|
33
|
+
└── vite.config.docs.ts # build das docs
|
|
35
34
|
```
|
|
36
35
|
|
|
37
36
|
## Configuracao (.env)
|