Spaces:
Sleeping
Sleeping
File size: 1,064 Bytes
1d89fc8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import React, { useEffect, useState } from 'react'
export default function ModeloObservacaoCard({
text,
title = 'OBSERVAÇÃO',
defaultOpen = true,
className = '',
}) {
const content = String(text || '').trim()
const [open, setOpen] = useState(defaultOpen)
useEffect(() => {
setOpen(defaultOpen)
}, [content, defaultOpen])
if (!content) return null
const classes = [
'elaborador-badge',
'modelo-observacao-card',
open ? 'is-open' : '',
className,
].filter(Boolean).join(' ')
return (
<div className={classes}>
<button
type="button"
className="modelo-observacao-toggle"
onClick={() => setOpen((prev) => !prev)}
aria-expanded={open}
title={open ? 'Recolher observação' : 'Expandir observação'}
>
<span className="elaborador-badge-title">{title}</span>
<span className="modelo-observacao-toggle-icon" aria-hidden="true">▾</span>
</button>
{open ? <div className="modelo-observacao-text">{content}</div> : null}
</div>
)
}
|