@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 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