@ffid-br/tailor-ui 0.4.0 → 0.6.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/README.md +65 -1
- package/dist/index.es.js +881 -402
- package/dist/index.umd.js +1 -1
- package/dist/style.css +111 -0
- package/dist/types/components/AgenteMascote.d.ts +30 -6
- package/dist/types/components/EquipeDock.d.ts +5 -3
- package/dist/types/components/MascoteVetor.d.ts +188 -0
- package/dist/types/components/TailorMarca.d.ts +86 -0
- package/dist/types/components/TailorPageHeader.d.ts +47 -0
- package/dist/types/index.d.ts +6 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -88,6 +88,24 @@ Lockup: wordmark com 21px de arte e o nome do produto em 18px semibold (tailor-i
|
|
|
88
88
|
|
|
89
89
|
Personagem 8x8 de cada agente (`desk`, `pergunte`, `pm`, `diretor`), com um único ponto verde. `estado`: `analisando`, `esperando`, `feito` (padrão), `subiu`, `desligado`. O estado vai no rótulo acessível e, com `mostrarEstado`, aparece como ponto quadrado + texto. `celula` é o lado de cada quadradinho em px (padrão 4). Anima em degraus; com menos movimento, para.
|
|
90
90
|
|
|
91
|
+
#### Estilo vetor
|
|
92
|
+
|
|
93
|
+
```tsx
|
|
94
|
+
<AgenteMascote agente="desk" nome="Alfred" estilo="vetor" estado="parado" tamanho={96} />
|
|
95
|
+
<AgenteMascote agente="sdr" nome="SDR" estado="falando" fala="Achei 3 leads quentes." tamanho={96} />
|
|
96
|
+
<AgenteMascote agente="pm" nome="PM" estilo="vetor" estado="parado" expressao="bravo" />
|
|
97
|
+
<AgenteMascote agente="pilot" nome="Pilot" estado="analisando" tema="natal" />
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
O companheiro animado: olha o cursor, pisca e muda de movimento por estado. Expressão só nos olhos, sem boca nem braços.
|
|
101
|
+
|
|
102
|
+
- Agentes: `desk`, `pergunte`, `pm`, `diretor` (também em pixel) e `sdr`, `cred`, `score`, `pilot`, `flow`, `bi`, `rh` (só vetor: saem em vetor mesmo sem `estilo`).
|
|
103
|
+
- Estados: os cinco do pixel e mais `parado`, `cumprimentando`, `falando`, `erro`. No vetor, `analisando` pensa, `feito` fala, `subiu` comemora, `desligado` dorme.
|
|
104
|
+
- `expressao`: `neutro`, `feliz`, `piscando`, `surpreso`, `bravo`, `triste`, `desconfiado`, `sonolento`, `tonto`. Sem ela, vale o olhar do estado.
|
|
105
|
+
- `tema` veste acessório + objeto: `natal`, `pascoa`, `aniversario`, `halloween`, `copa`, `galaxia`, `premiacao`. Ou solto: `acessorio` (`gorro`, `orelhas`, `festa`, `bruxa`, `bone`, `capacete`, `coroa`) e `objeto` (`presente`, `ovo`, `bolo`, `abobora`, `bola`, `sabre`, `trofeu`).
|
|
106
|
+
- `fala` aparece num balão preto (a partir de 48px) e entra no rótulo acessível.
|
|
107
|
+
- `tamanho` é a largura em px (padrão `celula * 8`). `superficie`: `auto` segue o `dark:` do app; `clara`/`escura` travam.
|
|
108
|
+
|
|
91
109
|
### `EquipeDock`
|
|
92
110
|
|
|
93
111
|
```tsx
|
|
@@ -97,7 +115,9 @@ Personagem 8x8 de cada agente (`desk`, `pergunte`, `pm`, `diretor`), com um úni
|
|
|
97
115
|
]} />
|
|
98
116
|
```
|
|
99
117
|
|
|
100
|
-
Botão fixo no canto com o mascote do primeiro agente e a soma dos selos. Abre um painel com uma aba por agente.
|
|
118
|
+
Botão fixo no canto com o mascote do primeiro agente e a soma dos selos. Abre um painel com uma aba por agente. `estilo="vetor"` vale para todos os mascotes do dock.
|
|
119
|
+
|
|
120
|
+
Equipe trabalhando: quem está na ativa (`analisando`, `falando`, `esperando`, `erro`) aparece no botão ao lado do principal, até três e depois `+N`. Ex.: o assistente do CRM como primeiro agente e os especialistas que ele acionou.
|
|
101
121
|
|
|
102
122
|
### `TailorSidebar`
|
|
103
123
|
|
|
@@ -186,6 +206,38 @@ Notas para quem migra:
|
|
|
186
206
|
- Sem `onRecolher`, o botão de recolher não aparece.
|
|
187
207
|
- As classes novas estão no `dist`, então o `@source` da configuração já as cobre.
|
|
188
208
|
|
|
209
|
+
### `TailorPageHeader` e a marca do cliente
|
|
210
|
+
|
|
211
|
+
```tsx
|
|
212
|
+
import { TailorMarca, TailorPageHeader, temaDoWhitelabel } from '@ffid-br/tailor-ui';
|
|
213
|
+
|
|
214
|
+
const { tema, escuro } = temaDoWhitelabel(cliente.account_info?.whitelabel);
|
|
215
|
+
|
|
216
|
+
<TailorMarca tema={tema} escuro={escuro}>
|
|
217
|
+
<TailorPageHeader
|
|
218
|
+
sobretitulo="Comercial"
|
|
219
|
+
titulo="Leads"
|
|
220
|
+
descricao="Quem chegou esta semana e o que falta para cada um avançar."
|
|
221
|
+
trilha={[{ rotulo: 'Início', href: '/' }, { rotulo: 'Leads' }]}
|
|
222
|
+
voltar={{ rotulo: 'Voltar', onClick: () => navigate(-1) }}
|
|
223
|
+
etiqueta={<Badge>Beta</Badge>}
|
|
224
|
+
indicadores={[{ rotulo: 'novos', valor: 128 }]}
|
|
225
|
+
acoes={<Botao>Novo lead</Botao>}
|
|
226
|
+
renderLink={({ href, ...p }) => <NavLink to={href} {...p} />}
|
|
227
|
+
>
|
|
228
|
+
<Abas /> {/* abaixo, na largura toda */}
|
|
229
|
+
</TailorPageHeader>
|
|
230
|
+
</TailorMarca>
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
O visual vem só de variáveis CSS. Sem tema, vale o padrão Tailor; com tema, o cabeçalho veste a marca do cliente.
|
|
234
|
+
|
|
235
|
+
- `--tailor-marca-*` (todas as peças que aceitam marca): `primaria`, `primaria-texto`, `texto`, `texto-suave`, `borda`, `fundo`, `fonte-titulo`, `fonte-texto`, `peso-titulo`, `caixa-titulo`, `raio`. Os padrões ficam em `:where()`, então qualquer CSS do app sobrescreve.
|
|
236
|
+
- `--tailor-cabecalho-*` (só o cabeçalho): `fundo`, `padding`, `regua`, `tamanho-titulo`.
|
|
237
|
+
- `TailorMarca` aplica um `TailorTema` (e o `escuro`, sob `.dark` ou `[data-theme="dark"]`) sem mexer no layout.
|
|
238
|
+
- `temaDoWhitelabel` traduz `account_info.whitelabel` do Mongo. Ignora o azul padrão do cadastro (`#007bff`, que 107 clientes têm sem ter escolhido) e o que não for hex. A primária só vira cor de texto com contraste AA sobre o fundo. Lê também os campos propostos `colors.text_muted`, `colors.border`, `colors.dark.*`, `fonts.heading/body/heading_weight/heading_case` e `shape.radius`.
|
|
239
|
+
- A fonte do cliente é carregada pelo app (ex.: link do Google Fonts).
|
|
240
|
+
|
|
189
241
|
## Receita: transição login → app
|
|
190
242
|
|
|
191
243
|
1. **No login**: marque a entrada ao enviar, desmarque se der erro e mostre o preto crescendo do botão.
|
|
@@ -247,12 +299,24 @@ Cores só por tokens nomeados (`tailor-green`, `tailor-ink`, `black`, `white`, `
|
|
|
247
299
|
```bash
|
|
248
300
|
npm install
|
|
249
301
|
npm test # vitest + testing-library
|
|
302
|
+
npm run exemplos # página com todos os componentes ao vivo + código (exemplos/)
|
|
250
303
|
npm run build # dist/: index.es.js, index.umd.js, types/, style.css, theme.css, logos
|
|
251
304
|
```
|
|
252
305
|
|
|
306
|
+
Página pública: https://ffid-br.github.io/tailor-ui/ (publicada pelo workflow `exemplos.yml` a cada push na `main`).
|
|
307
|
+
|
|
253
308
|
|
|
254
309
|
## Mudanças
|
|
255
310
|
|
|
311
|
+
### 0.6.0
|
|
312
|
+
- `TailorPageHeader`, `TailorMarca`, `temaDoWhitelabel`: cabeçalho de página que veste a marca do cliente por variáveis CSS. Segue `--color-tailor-green`/`-ink` do app quando definidos.
|
|
313
|
+
- Simulador de mascotes na página de exemplos (`#simulador`).
|
|
314
|
+
|
|
315
|
+
### 0.5.0
|
|
316
|
+
- `AgenteMascote` `estilo="vetor"`: 11 agentes, olhar que segue o cursor, 9 expressões nos olhos, temas de datas, acessórios, objetos e balão de fala. Estados novos: `parado`, `cumprimentando`, `falando`, `erro`.
|
|
317
|
+
- `EquipeDock`: prop `estilo` e equipe trabalhando no botão.
|
|
318
|
+
- Página de exemplos publicada em https://ffid-br.github.io/tailor-ui/.
|
|
319
|
+
|
|
256
320
|
### 0.4.0
|
|
257
321
|
- `AgenteMascote` e `EquipeDock`: mascotes 8x8 dos agentes e o painel da equipe (QD-0426).
|
|
258
322
|
|