Skip to content

Releases: eduzz/houston

v1.4.0

09 Jan 15:23
Compare
Choose a tag to compare

Breakchanges

Removido os tokens para os novos projetos. Caso precise basta importar do compat:

- import '@eduzz/houston/ThemeProvider';
+ import '@eduzz/houston/ThemeProvider/compat';

- import '@eduzz/houston/ThemeProvider/createTheme';
+ import '@eduzz/houston/ThemeProvider/compat/createTheme';

v1.2 - AntD5 e Dark Mode Beta

23 Nov 12:59
8c8e83d
Compare
Choose a tag to compare

Nova versão do AntD para a v5 removeu a dependência do less, facilitando assim a customização do css.

Para facilitar, adicionamos os tokens do AntD no theme utilize eles sempre possível respeitando o propósito de cada um.

import styled from '@eduzz/houston-ui/styled';

styled.div`
    background-color: ${theme.antd.colorBgElevated}
`

Dark Mode

⚠️ Ainda em Beta

WhatsApp.Video.2022-11-18.at.12.59.27.mp4

Basta configurar no ThemeProvider a prop mode.

<ThemeProvider theme={theme} mode='dark'>
  ...
</ThemeProvider>

Break Changes

Apenas remova a referencia de qualquer css, pois o AntD5 não utiliza mais o less.

- import '@eduzz/houston-ui/ThemeProvider/theme.css';

What's Changed

Full Changelog: v1.1.4...v1.2.0

v1 - Finalmente!

13 Oct 18:20
Compare
Choose a tag to compare

Conforme conversado durante nosso comitê de front, vamos utilizar o AntD como base para as nossas aplicações. O Houston não deixar de existir apenas será focado em componentes mais complexos e/ou específicos da Eduzz™.

Break Changes

Não houve break changes significativos, apenas marcamos como @deprecated componentes que não devem mais ser usado. O único componente que ficou foi o Layout e seus filhos.

Quando ver componentes marcados procure migrar para seu equivalente do AntD:
image

Packages que foram descontinuados:

  • @eduzz/houston-styles ~> utilizar o @emotion diretamente, para mais detalhes veja aqui
    • Como o AntD não possui uma style-engine, decidimos manter o emotion, e vamos adicionar algumas props no Theme dele (ex: primaryColor, spacing e etc).
  • @eduzz/houston-icons ~> utilizar o @ant-design/icons
  • @eduzz/houston-tokens

A documentação nova já esta no ar, mas caso necessite da documentação antiga:
http://eduzz-houston-deprecated-docs.s3-website-us-east-1.amazonaws.com

Como migrar

Acesse aqui o migrar

v0.64.0

14 Sep 19:09
c9df950
Compare
Choose a tag to compare

Geral

Novo padrão de classes, adicionado ID nos componentes para dar suporte aos testes e atualização nos componentes.

className

Recentemente tivemos um probleminha chato com sobrescrita de CSS em nossas classes por elas serem "muito genéricas" e utilizarem o padrão BEM (em alguns casos). Isso acabou quebrando os estilos dos componentes em algumas aplicações.

Alguns casos bem comuns que nos prejudicaram: --isActive, __container, & > .__wrapper, etc...

Nós começamos a inserir o prefixo hst- no começo de cada classe dos nossos componentes, mas não foi o suficiente e gera muita dúvida de como escrever as classes internas, por exemplo:

  • hst-dialog .hst-dialog__header .hst-dialog-header__icon ou hst-dialog .hst-dialog__header .hst-dialog__header-icon?
  • hst-dialog-footer-logo ou hst-dialog-footer__logo?

Enfim, são vários casos que estávamos nos perdendo e cada um escrevendo de uma forma. Para reduzir as margens de "erros" e despadronização vamos definir um padrão mais simples, apenas com hífens (-) para separar os níveis. Por exemplo:

  • hst-dialog-header,
  • hst-dialog-header-icon,
  • hst-dialog-footer-logo
  • hst-dialog-header.hst-dialog-header-variant-outline.

(Composto por prefixo: hst-, nome do componente: footer, filho/seção/elemento/modificador: logo = hst-footer-logo).

Isto inclui os "modificadores" também (.hst-button-variant-outline).

Em resumo não precisamos mais gastar esforços pensando em como escrever nome de classes. A nova versão padroniza TODAS as classes para este novo formato.

Obrigado @miguelaugl pela sugestão e pelos questionamentos.

Pull request

Novos colaboradores

Full Changelog: v0.63.4...v0.64.0

v0.63.0

06 Sep 13:49
457aae1
Compare
Choose a tag to compare

Geral

Novos componentes adicionados em nossa lib de UI.

Novos componentes

Pull request

Full Changelog: v0.62.0...v0.63.0

v0.62.0

31 Aug 20:27
2e51157
Compare
Choose a tag to compare

Geral

Componente atualizado de acordo com os tokens para uma nova proposta de design.

Componente atualizado

Pull Request

Full Changelog: v0.61.2...v0.62.0

v0.61.0

26 Aug 12:55
593268b
Compare
Choose a tag to compare

Geral

Novos componentes, novos tokens e correção de bugs.

Novos componentes

Componentes atualizados

Pull Request

Full Changelog: v0.60.3...v0.61.0

v0.59.0

17 Aug 21:59
2dfa9f5
Compare
Choose a tag to compare

Geral

Melhorias no Radio, Checkbox e remoção do MUI dos componentes Tabs e Progress. 🚀

Componentes atualizados

Break changes

Progress

Não há mais dois tipos (Line e Round), agora existe apenas um tipo (Line).

- import ProgressLine from '@eduzz/houston-ui/Progress/Line';
- import ProgressRound from '@eduzz/houston-ui/Progress/Round';
+ import Progress from '@eduzz/houston-ui/Progress';

- interface ProgressLine { ... }
- interface ProgressRound { ... }

+ interface ProgressProps { ... }
+ type ProgressFormat { ... }
+ type ProgressInfoPosition { ... }
+ type ProgressSize { ... }

A implementação ficou mais simples e mais "contextualizada":

<Progress value={value} />
<Progress value={value} min={10} max={50} />

image

Confira todas as props disponíveis na documentação do componente.

Radio e Checkbox

Foi criado um componente (Group) para simplificar a implementação quando há mais de uma opção. Os componentes podem ser utilizados normalmente fora do contexto de Group.

// dentro do <Form />
<Checkbox.Group name="checkbox">
  <Checkbox value={1} label="Valor 1" />
  <Checkbox value={2} label="Valor 2" />
  <Checkbox value={3} label="Valor 3" />
</Checkbox.Group>

// fora do <Form />
<Checkbox.Group value={...} onChange={...}>
  <Checkbox value={1} label="Valor 1" />
  <Checkbox value={2} label="Valor 2" />
  <Checkbox value={3} label="Valor 3" />
</Checkbox.Group>

// dentro do <Form />
<Radio.Group name="radio">
  <Radio.Item value={1} label="Opção 1" />
  <Radio.Item value={2} label="Opção 2" />
</Radio.Group>

// fora do <Form />
<Radio.Group value={...} onChange={...}>
  <Radio.Item value={1} label="Opção 1" />
  <Radio.Item value={2} label="Opção 2" />
</Radio.Group>

Tabs

Removemos o MUI do componente. No entanto as props principais (value e onChange) não foram afetadas. Foi adicionado também a TabVertical.

- import Tabs from '@eduzz/houston-ui/Tabs';

- <Tabs>
-   <Tabs.Content label='Título 1'>
-     <div>Conteúdo 1</div>
-   </Tabs.Content>
-   <Tabs.Content label='Título 2'>
-     <div>Conteúdo 2</div>
-  </Tabs.Content>
- </Tabs>

+ import Tabs from '@eduzz/houston-ui/Tabs';
+ const { Tab } = Tabs;

+ <Tabs>
+   <Tab label='Label 1'>Conteúdo 1</Tab>
+   <Tab label='Label 2'>Conteúdo 2</Tab>
+ </Tabs>

+ <Tabs.Vertical>
+   <Tab label="Label 1">Conteúdo 1</Tab>
+   <Tab label="Label 2">Conteúdo 2</Tab>
+ </Tabs.Vertical>

image

Confira todas as props disponíveis na documentação do componente.

Pull Request

Full Changelog: v0.58.11...v0.59.0

v0.58.11

12 Aug 13:04
8297d2c
Compare
Choose a tag to compare

Geral

Refatoração de componentes e implementações de novos recursos.

Componentes atualizados

Pull Request

Full Changelog: v0.58.10...v0.58.11

v0.58.0

04 Aug 13:50
Compare
Choose a tag to compare

Break Change

Datepicker

Uma nova implementação do datepicker foi feita. Embora nao teve grandes alterações na implementação, visualmente mudou.

Table

O sort foi quebrado em duas props sortField e sortDirection para facilitar o consumo do lado da api, que dificulta o uso de json dentro de um param no get.

As configurações do sort foram movidas para o TableHeader afim de manter o melhor contexto.

- <Table sort={sort} onSort={onSort}>
+ <Table.Header sortField={params.sortField} sortDirection={params.sortDirection} onSort={handleSort}>