Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

[Dúvida] Diferença de conteúdo apresentado em vídeo X código corrente

[ OBS: a sequência de vídeos está CORRETA, não há nenhuma falta de aula anterior....deixarei a mensagem inicial na íntegra para caso alguém passar pelo mesmo problema e ser possível aplicar a SOLUÇÃO conforme indicado ao final desse tópico ]

Boa noite

Na aula: https://cursos.alura.com.br/course/react-evolua-design-system-tailwindcss/task/133351 ao final do vídeo é apresentado o stortybook em relação as propriedades no componente de Tiypography, porém, todas aquelas propridades que aparecem no vídeo no navegador, não estão contidas ou não foram demonstradas em aulas anteriores a inclusão das mesmas. No entanto, ao consultar na branch da aula 1 e até a 2, não há também nenhuma inclusão dessas propriedaes. A exemplo, como até na proprieade element, apareceu as opções possíveis automaticamente, então gostaria de confirmar se realmente essas propriedades deveriam aparecer sem alterar o código, até porque o que achei estranho, é que se não estamos utilizando a criação de tags para definição das propriedades no storybook automaticamente, então deveria ser definido explicitamente no arquivo: typography.mdx, assim como feito em outros componentes do curso anterior.

Repare no print retirado durante o vídeo da aula, uma das propriedades: element, está até definida com valores possíveis: "symbol, abbr, object" e isso acredito que está sendo obtido da própria tipagem do componente, mas não entendi, como está sendo exibido no storybook, sem termos feito a declaração explícita. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Obrigado.

Felipe D.R

5 respostas

Olá!

Valeu por compartilhar!

Imagina,

Gostaria de ter essa confirmação da equipe, se deveria ter uma aula antes para a configuração que apareceu no vídeo conforme indicado acima

Obrigado.

Bom dia

Por gentileza, algum retorno da Alura?, precisava de confirmar para prosseguir com as próximas aulas.

Obrigado.

Olá! Tudo bem?

Essas propriedades que aparecem no Storybook são uma inferência do próprio Storybook. Acontece que o storybook identifica o tipo do elemento e a partir daí ele automaticamente faz essa dedução de que aquele elemento ou componente pode receber esses tipos como. No curso que vem na sequência desse vamos explorar mais o storybook, descobrir como melhorar nossa documentação e como usar plugins para melhorar ainda mais a organização da nossa biblioteca de componentes.

O curso em questão é este aqui: React: eleve o nível da sua documentação no Storybook

Espero ter ajudado! Bons estudos.

solução!

Boa noite, tudo bem?

Obrigado pelo retorno

Gostaria de compartilhar o motivo de não estar aparecendo as propriedades ao executar o storybook. Inclusive não é devido a não ter o indicativo no vídeo não (está correto a sequência dos vídeos, irei atualizar o descritivo do problema acima também), até porque todas as propriedades são carregadas automaticamente usando da técnica do CVA e não mais sendo necessário definir cada uma, conforme modelo anterior apresentado no primeiro curso da formação para demonstrativo / preparativo.

Anteriormente estava exportando o componente Typography como Default

// Componente Typography

const Typography = ({
  children,
  element = 'p',
  className,
  ...rest
}: TypographyProps) => {
  const Element = element as any;

  return (
    <Element className={`${textVariants(rest)} ${className}`} {...rest}>
      {children}
    </Element>
  );
};

Export default Typography
// Arquivo stories do Typography

import Typography, {TypographyProps } from './typography';

Por algum motivo, utilizando a exportação como Default, não funcionou no arquivo stories no momento da importação e assim as propriedades do componente no storybook não eram geradas dinamicamente e gerando um erro. Ao consultar pela mensagem, localizei no Google um indicativo de problema semelhante, mas em um outro contexto de projeto e a solução foi ajustar a importação retirando o default (embora nos outros componentes o uso do default funcionou normalmente)

// Componente Typography

export const Typography = ({
  children,
  element = 'p',
  className,
  ...rest
}: TypographyProps) => {
  const Element = element as any;

  return (
    <Element className={`${textVariants(rest)} ${className}`} {...rest}>
      {children}
    </Element>
  );
};
// Arquivo stories do Typography

import { Typography, TypographyProps } from './typography';

Obrigado

Felipe D. R