Olha achei aqui uma solução.
o erro acontece por conta da linha:
styleSheet: { focus, hover, srOnly, ...styleSheet },
Isso só funciona se styleSheet
estiver definido. E embora você tenha colocado um Box.defaultProps = { styleSheet: {} }
, esse default não é aplicado no momento da desestruturação.
Como corrigir
Você pode corrigir de forma segura e sem afetar a lógica do componente com valor padrão na desestruturação da styleSheet
:
Substitua:
export function Box({
as,
styleSheet: { focus, hover, srOnly, ...styleSheet },
...props
}) {
Por:
export function Box({
as,
styleSheet = {}, // valor padrão aqui
...props
}) {
const { focus, hover, srOnly, ...restStyleSheet } = styleSheet;
E depois substitua styleSheet
por restStyleSheet
nas chamadas do renderCSS
.
Por que isso funciona?
Porque styleSheet = {}
garante que o objeto sempre vai existir — mesmo que undefined
tenha sido passado. Assim, focus
, hover
, srOnly
e o restante não quebram durante a desestruturação.
Código completo aqui nesse link pq ele tá muito grande https://www.invertexto.com/mbfh16
Ah lembrando que mudei dentro da pasta theme > components.jsx