import React, { ReactNode } from "react"; export interface HeadingProps { /** * O conteúdo deve ser passado para o componente como um elemento filho. * * Inicialmente, o componente aceitava texto e link, por isso, seu tipo foi definido como ReactNode. Após novas definições de uso, o componente passou a aceitar somente texto, por isso, é importante que, ao implementar, o desenvolvedor siga essa nova orientação, para evitar quebra futura. */ children: ReactNode; /** * Habilita o estilo inverse do componente. */ inverse?: boolean; /** * Define o estilo do componente, assim como sua importância em relação ao conteúdo da página. Cada tipo também correspode à um tipo de HTML heading, o que deve ser observado, para que a implementação esteja de acordo com as especificações de SEO: * * huge = h1, large = h2, medium = h3, small = h4, tiny = h5 * * Inicialmente o tipo do componente estava definido como string, sem a lista de tipos possíveis. Caso fosse difinido qualquer valor, diferente dos possíveis, o componente carregaria como h1, mas sem um tamanho especificado. É importante que, ao implementar, o desenvolvedor escolha entre uma das opções de valores (huge, large, medium, small ou tiny), para evitar quebra futura. */ type: "huge" | "large" | "medium" | "small" | "tiny" | string; } declare const Heading: React.FC; export default Heading;