Usando (Vite + ReactJS + Tailwind CSS v3 + HeroUI)
Se aplicássemos isHeaderSticky
prop em uma tabela HeroUI, ele adicionaria outro estilo, como algum tipo de sombra, contorno ou talvez algum tipo de borda. Como podemos remover isso?
Meu código para produzir a imagem acima é:
<Table
removeWrapper
isHeaderSticky
classNames={{
th: ["!rounded-none", "!shadow-none", "!border-none"],
}}
>
<TableHeader>
<TableColumn key="name">NAME</TableColumn>
<TableColumn key="role">ROLE</TableColumn>
<TableColumn key="status">STATUS</TableColumn>
</TableHeader>
<TableBody items={items} emptyContent={"No permits found"}>
</TableBody>
</Table>
Tentei adicionar isto:
classNames={{
th: ["!border-none", "!rounded-none", "!shadow-none"],
}}
mas não está funcionando, então alguma ideia, por favor?
Verifiquei o
isHeaderSticky
exemplo na documentação do HeroUI, que é uma reprodução funcional. Isso me permitiu ver como o HeroUI estilizou othead
.Então, os primeiros tr filhos no
thead
recebem ashadow-small
classe. O primeirotr
em si não recebe umoutline
, apenas no modo de foco. Então, eu só preciso remover oshadow
dothead
elemento.Vamos ver como posso implementar classes no
thead
. O<Table>
componente, como você mencionou na pergunta, tem umclassNames
atributo que aceita um array com a chavethead
ao lado deth
.Vamos passar:
O
shadow-none
passado para otr
poderia funcionar, mas para oth
(como você mencionou na pergunta), definitivamente não é adequado, porque a sombra é aplicada athead > tr:first
.A solução mais precisa seria dizer que
thead
o primeiro tr dentro dele não deveria receber sombra.Alternativamente, aplicar
first:shadow-none
aotr
pode funcionar, mas isso não só removeria a sombra dethead > tr:first
, mas também de, por exemplo,tbody > tr:first
.